Files
edgeever/apps/ios/EditorBundle/index.html
T

6842 lines
6.9 MiB
Plaintext
Vendored
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
/>
<title>EdgeEver Editor</title>
<script type="module" crossorigin>var wJe=Object.defineProperty;var TJe=(t,e,r)=>e in t?wJe(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var wr=(t,e,r)=>TJe(t,typeof e!="symbol"?e+"":e,r);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const s of a.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=r(i);fetch(i.href,a)}})();const CJe=`# Note image typography and textures
Card typography uses Alibaba PuHuiTi 3.0 Regular (Alibaba / Hanyi), MiSans Regular (Xiaomi / Hanyi), Source Han Serif CN SemiBold (Adobe), Huiwen Mingchao (天王帝廷), Long Cang (LongCang project authors), and Geist Mono (Vercel).
The WOFF2 subsets are byte-for-byte copies of the public reference resources; their original copyright metadata and Unicode ranges are preserved in each \`SOURCE.css\`. The application only loads subsets covering the card's text. It does not modify the font outlines. MiSans is used in the memo card template.
Sources and notices:
- Alibaba: https://www.alibabafonts.com/ — original declaration https://www.yuque.com/yiguang-wkqc2/puhuiti/nus9wiinq4aeiegy ; a reproduced declaration is retained in \`puhui/LICENSE.md\` with its source attribution.
- MiSans: https://hyperos.mi.com/font/ — agreement retained in \`misans/LICENSE.pdf\`.
- Source Han Serif: https://github.com/adobe-fonts/source-han-serif — \`song/LICENSE.txt\` (SIL OFL).
- Huiwen Mingchao: author introduction https://zhuanlan.zhihu.com/p/344103391 ; the original font's Public Domain metadata is retained in \`mincho/SOURCE.css\`.
- Long Cang: https://github.com/googlefonts/longcang — \`longcang/OFL.txt\`.
- Geist Mono: https://github.com/google/fonts/tree/main/ofl/geistmono — \`geist/OFL.txt\`.
- Reference typography subsets: https://fireflycard.shushiai.com/font/ (Alibaba-PuHuiTi-Regular, misansRegular, sourceHanSerifSemiBold, huiwenmingchao, longCang).
- Paper layers: https://fireflycard.shushiai.com/_nuxt/abrazine-back.Cn8TMtqS.png and https://fireflycard.shushiai.com/_nuxt/write-text.BDxN5rcD.png . These are reference paper assets, not generated noise.
Keep these notices with distributed application resources. Font and reference brand ownership remain with their respective owners.
/* Generated By cn-font-split@5.2.1 https://www.npmjs.com/package/cn-font-split
CreateTime: Mon, 16 Dec 2024 14:32:37 GMT;
Origin File Name Table:
copyright: Copyright © 2020-2023 Alibaba (China) Co., Ltd. All rights reserved.
fontFamily: Alibaba-PuHuiTi-Regular
fontSubfamily: Regular
uniqueID: Hanyi Alibaba-PuHuiTi-3-55-Regular v3.01
fullName: Alibaba PuHuiTi 3 55 Regular
version: Version 3.01
postScriptName: AlibabaPuHuiTi_3_55_Regular
trademark: Alibaba is a trademark of Alibaba Group Holding Limited.
manufacturer: Alibaba Design;Hanyi Fonts
description: GB18030-2022 Level2
preferredFamily: Alibaba PuHuiTi 3.0
preferredSubfamily: 55 Regular
*/
/* Generated By cn-font-split@5.2.1 https://www.npmjs.com/package/cn-font-split
CreateTime: Fri, 11 Oct 2024 09:46:14 GMT;
Origin File Name Table:
256: 数字用圆标点
257: 单位小上标
258: 单位小下标
259: 汉字等高数字
260: 小米logo
261: MIUI logo
262: 英文式标点
263: 拨号键盘场景
264: 小字面数字
copyright: Copyright © 2020-2023 Beijing Xiaomi Mobile Software Co.,Ltd. All Rights Reserved.
fontFamily: MiSans
fontSubfamily: Regular
uniqueID: 4.003;HNYI;MiSans-Regular
fullName: MiSans
version: Version 4.003
postScriptName: MiSans-Regular
manufacturer: Hanyi Fonts
designer: Beijing Xiaomi Mobile Software Co.,Ltd & Hanyi Fonts
manufacturerURL: https://www.hanyi.com.cn/
*/
/* Generated By cn-font-split@5.2.1 https://www.npmjs.com/package/cn-font-split
CreateTime: Sat, 24 Aug 2024 09:13:21 GMT;
Origin File Name Table:
copyright: © 2017-2022 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'.
fontFamily: SourceHanSerifCN_SemiBold
fontSubfamily: Regular
uniqueID: 2.001;ADBO;SourceHanSerifCN-SemiBold;ADOBE
fullName: SourceHanSerifCN_SemiBold
version: Version 2.001;hotconv 1.1.0;makeotfexe 2.6.0
postScriptName: SourceHanSerifCN-SemiBold
trademark: Source is a trademark of Adobe in the United States and/or other countries.
manufacturer: Adobe
designer: Ryoko NISHIZUKA 西塚涼子 (kana & ideographs); Frank Grießhammer (Latin, Greek & Cyrillic); Wenlong ZHANG 张文龙 (bopomofo); Sandoll Communications 산돌커뮤니케이션, Soohyun PARK 박수현, Yejin WE 위예진 & Donghoon HAN 한동훈 (hangul elements, letters & syllables)
description: Dr. Ken Lunde (project architect, glyph set definition & overall production); Masataka HATTORI 服部正貴 (production & ideograph elements); Zachary Quinn Scheuren (variable font & overall production)
manufacturerURL: http://www.adobe.com/type/
license: This Font Software is licensed under the SIL Open Font License, Version 1.1. This Font Software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the SIL Open Font License for the specific language, permissions and limitations governing your use of this Font Software.
licenseURL: http://scripts.sil.org/OFL
preferredFamily: Source Han Serif CN
preferredSubfamily: SemiBold
*/
/* Generated By cn-font-split@5.2.1 https://www.npmjs.com/package/cn-font-split
CreateTime: Sat, 24 Aug 2024 09:23:45 GMT;
Origin File Name Table:
copyright: Public Domain
fontFamily: Huiwen_mingchao
fontSubfamily: Regular
uniqueID: Huiwen_mingchao:Version 1.00
fullName: Huiwen_mingchao
version: Version 1.00;January 14, 2021;FontCreator 12.0.0.2552 32-bit
postScriptName: Huiwen_mingchao
trademark: Huiwen_mingchao
*/
/* Generated By cn-font-split@5.2.1 https://www.npmjs.com/package/cn-font-split
CreateTime: Thu, 29 Aug 2024 13:55:05 GMT;
Origin File Name Table:
copyright: Copyright 2018 The LongCang Project Authors (https://github.com/googlefonts/longcang)
fontFamily: Long Cang
fontSubfamily: Regular
uniqueID: 2.001;ZYEC;LongCang-Regular
fullName: Long Cang Regular
version: Version 2.001
postScriptName: LongCang-Regular
trademark: Trademark of ZHONGQI Electronic Co., ShangHai
manufacturer: ZhongQi
designer: ZhongQi
manufacturerURL: http://www.zhongqifont.com/
designerURL: http://www.zhongqifont.com/
license: This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is available with a FAQ at: http://scripts.sil.org/OFL
licenseURL: http://scripts.sil.org/OFL
*/
# 阿里巴巴普惠体 3.0 版 法律声明
> **本文件为阿里巴巴官方声明的逐字转载,未经任何删改。**
> 依据该声明第 4 条第 2 款「不得删除、覆盖或修改阿里巴巴字体法律声明的全部或部分内容」,
> 本仓库在分发字体文件时完整保留原文。
>
> 官方出处:<https://www.alibabafonts.com>
> 声明原文(语雀):<https://www.yuque.com/yiguang-wkqc2/puhuiti/nus9wiinq4aeiegy>
---
《阿里巴巴普惠体3.0版》法律声明
1. 阿⾥巴巴普惠体3.0版,在2.0版的基础上,新增拓展了符合国标GB18030-2022规格的简体中文字库(指定7款字重)。现有简体中文(指定9款字重)、越南文和泰文字体(指定3款字重)、韩文字体(指定3款字重)、日文字体(指定3款字重)、繁体中文(Big5和HK分别指定4款字重),前述字体及包含该字体的字库软件,合称"阿⾥巴巴字体"。
2. 阿里巴巴字体的知识产权和相关权益归属于阿里巴巴(中国)有限公司(以下简称"阿里巴巴"),受《中华人民共和国著作权法》及其他适用法律法规、国际公约、条约的保护。
3. 阿里巴巴授权个人、企业等用户在遵守本声明相关条款的前提下,可以下载、安装和使用上述阿里巴巴字体,该授权是免费的普通许可,用户可基于合法目的用于商业用途或非商业用途,但不得以任何违反法律法规、政策、规章或公序良俗的方式使用。
4. 除本法律声明中明确授权之外,阿里巴巴未授予用户关于阿里巴巴字体的其他权利。未经阿里巴巴书面授权,任何人不得:
1. 对阿里巴巴字体进行仿制、转换、翻译、反编译、反向工程、拆分、破解、或以其他方式试图从该字库软件获取源代码;
2. 删除、覆盖或修改阿里巴巴字体法律声明的全部或部分内容;
3. 将阿里巴巴字体进行单独定价出售、出租、出借、转让、转授权、或采取其他未经阿里巴巴明确授权的行为;
4. 发布任何使外界误认其与阿里巴巴或其关联公司存在合作、赞助或背书等商业关联的不实信息。
5. 阿里巴巴授予用户的上述授权不附带任何明示或暗示的保证,不对任何人因从非阿里巴巴官方渠道或指定渠道下载、安装或使用阿里巴巴字体而引发的任何直接或间接损失承担责任。
6. 本声明的解释、履行与争议解决适用中华人民共和国的法律。用户与阿里巴巴就阿里巴巴字体的使用若发生争议,双方应友好协商,若协商不成,任一方有权向浙江省杭州市有管辖权的人民法院提起诉讼。
---
## 本项目的合规说明
本仓库(html-poster-to-psd)是一个**独立的第三方开源项目**,与阿里巴巴(中国)有限公司
**不存在任何合作、赞助、背书或商业关联**。此处分发字体文件仅为方便使用者开箱即用。
依据上述声明第 3 条,本项目免费提供、不收取任何费用,不做单独定价出售、出租、出借、
转让或转授权 —— 不落入第 4 条第 3 款列举的禁止情形。
依据第 4 条第 2 款,本文件完整保留官方声明原文,未作删改。
依据第 4 条第 4 款,本项目在 README 与本文件中明确否认与阿里巴巴的任何关联。
依据第 5 条,建议使用者优先从官方渠道 <https://www.alibabafonts.com> 获取字体文件;
本仓库提供的副本附 SHA256 校验值(见 \`SOURCES.md\`)以便核验完整性。
若你是阿里巴巴方面人员且认为此分发方式不妥,请在本仓库提 issue,我们会立即移除字体文件
并改为纯引导式下载。
Copyright 2017-2022 Adobe (http://www.adobe.com/), with Reserved Font
Name 'Source'. Source is a trademark of Adobe in the United States
and/or other countries.
This Font Software is licensed under the SIL Open Font License,
Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font
creation efforts of academic and linguistic communities, and to
provide a free and open framework in which fonts may be shared and
improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply to
any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software
components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to,
deleting, or substituting -- in part or in whole -- any of the
components of the Original Version, by changing formats or by porting
the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed,
modify, redistribute, and sell modified and unmodified copies of the
Font Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components, in
Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the
corresponding Copyright Holder. This restriction only applies to the
primary font name as presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created using
the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Copyright 2018 The Long Cang Project Authors (https://github.com/googlefonts/longcang)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font.git)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.
MiSans Font Intellectual Property License Agreement (original PDF): data:application/pdf;base64,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b2JqCjE4IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9Eb2N1bWVudCAvUCAxOSAwIFIgL0sgWyAyMCAwIFIgMjEgMCBSIDIyIDAgUiAyMyAwIFIKMjQgMCBSIDI1IDAgUiAyNiAwIFIgMjcgMCBSIDI4IDAgUiAyOSAwIFIgMzAgMCBSIDMxIDAgUiAzMiAwIFIgMzMgMCBSIDM0IDAgUgozNSAwIFIgMzYgMCBSIDM3IDAgUiAzOCAwIFIgMzkgMCBSIDQwIDAgUiA0MSAwIFIgNDIgMCBSIDQzIDAgUiA0NCAwIFIgNDUgMCBSCjQ2IDAgUiA0NyAwIFIgNDggMCBSIDQ5IDAgUiA1MCAwIFIgNTEgMCBSIDUyIDAgUiA1MyAwIFIgNTQgMCBSIDU1IDAgUiA1NiAwIFIKNTcgMCBSIDU4IDAgUiA1OSAwIFIgNjAgMCBSIDYxIDAgUiA2MiAwIFIgNjMgMCBSIDY0IDAgUiA2NSAwIFIgNjYgMCBSIDY3IDAgUgo2OCAwIFIgNjkgMCBSIDcwIDAgUiA3MSAwIFIgNzIgMCBSIDczIDAgUiA3NCAwIFIgNzUgMCBSIDc2IDAgUiA3NyAwIFIgNzggMCBSCjc5IDAgUiBdICA+PgplbmRvYmoKMjAgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyAxICA+PgplbmRvYmoKMjEgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyAyICA+PgplbmRvYmoKMjIgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyAzICA+PgplbmRvYmoKMjMgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyA0ICA+PgplbmRvYmoKMjQgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyA1ICA+PgplbmRvYmoKMjUgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyA2ICA+PgplbmRvYmoKMjYgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyA3ICA+PgplbmRvYmoKMjcgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyA4ICA+PgplbmRvYmoKMjggMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyA5ICA+PgplbmRvYmoKMjkgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyAxMCAgPj4KZW5kb2JqCjMwIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMSAwIFIgL0sgMTEgID4+CmVuZG9iagozMSAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEgMCBSIC9LIDEyICA+PgplbmRvYmoKMzIgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyAxMyAgPj4KZW5kb2JqCjMzIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMSAwIFIgL0sgMTQgID4+CmVuZG9iagozNCAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEgMCBSIC9LIDE1ICA+PgplbmRvYmoKMzUgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxIDAgUiAvSyAxNiAgPj4KZW5kb2JqCjM2IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgOSAwIFIgL0sgMTcgID4+CmVuZG9iagozNyAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDkgMCBSIC9LIDE4ICA+PgplbmRvYmoKMzggMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyA5IDAgUiAvSyAxOSAgPj4KZW5kb2JqCjM5IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgOSAwIFIgL0sgMjAgID4+CmVuZG9iago0MCAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDkgMCBSIC9LIDIxICA+PgplbmRvYmoKNDEgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyA5IDAgUiAvSyAyMiAgPj4KZW5kb2JqCjQyIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgOSAwIFIgL0sgMjMgID4+CmVuZG9iago0MyAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDkgMCBSIC9LIDI0ICA+PgplbmRvYmoKNDQgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyA5IDAgUiAvSyAyNSAgPj4KZW5kb2JqCjQ1IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgOSAwIFIgL0sgMjYgID4+CmVuZG9iago0NiAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDkgMCBSIC9LIDI3ICA+PgplbmRvYmoKNDcgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyA5IDAgUiAvSyAyOCAgPj4KZW5kb2JqCjQ4IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgOSAwIFIgL0sgMjkgID4+CmVuZG9iago0OSAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDkgMCBSIC9LIDMwICA+PgplbmRvYmoKNTAgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyA5IDAgUiAvSyAzMSAgPj4KZW5kb2JqCjUxIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgOSAwIFIgL0sgMzIgID4+CmVuZG9iago1MiAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEyIDAgUiAvSyAzMyAgPj4KZW5kb2JqCjUzIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTIgMCBSIC9LIDM0ICA+PgplbmRvYmoKNTQgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxMiAwIFIgL0sgMzUgID4+CmVuZG9iago1NSAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEyIDAgUiAvSyAzNiAgPj4KZW5kb2JqCjU2IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTIgMCBSIC9LIDM3ICA+PgplbmRvYmoKNTcgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxMiAwIFIgL0sgMzggID4+CmVuZG9iago1OCAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEyIDAgUiAvSyAzOSAgPj4KZW5kb2JqCjU5IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTIgMCBSIC9LIDQwICA+PgplbmRvYmoKNjAgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxMiAwIFIgL0sgNDEgID4+CmVuZG9iago2MSAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEyIDAgUiAvSyA0MiAgPj4KZW5kb2JqCjYyIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTIgMCBSIC9LIDQzICA+PgplbmRvYmoKNjMgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxMiAwIFIgL0sgNDQgID4+CmVuZG9iago2NCAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDEyIDAgUiAvSyA0NSAgPj4KZW5kb2JqCjY1IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTIgMCBSIC9LIDQ2ICA+PgplbmRvYmoKNjYgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxNSAwIFIgL0sgNDcgID4+CmVuZG9iago2NyAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDE1IDAgUiAvSyA0OCAgPj4KZW5kb2JqCjY4IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTUgMCBSIC9LIDQ5ICA+PgplbmRvYmoKNjkgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxNSAwIFIgL0sgNTAgID4+CmVuZG9iago3MCAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDE1IDAgUiAvSyA1MSAgPj4KZW5kb2JqCjcxIDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTUgMCBSIC9LIDUyICA+PgplbmRvYmoKNzIgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxNSAwIFIgL0sgNTMgID4+CmVuZG9iago3MyAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDE1IDAgUiAvSyA1NCAgPj4KZW5kb2JqCjc0IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTUgMCBSIC9LIDU1ICA+PgplbmRvYmoKNzUgMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxNSAwIFIgL0sgNTYgID4+CmVuZG9iago3NiAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDE1IDAgUiAvSyA1NyAgPj4KZW5kb2JqCjc3IDAgb2JqCjw8IC9UeXBlIC9TdHJ1Y3RFbGVtIC9TIC9QIC9QIDE4IDAgUiAvUGcgMTUgMCBSIC9LIDU4ICA+PgplbmRvYmoKNzggMCBvYmoKPDwgL1R5cGUgL1N0cnVjdEVsZW0gL1MgL1AgL1AgMTggMCBSIC9QZyAxNSAwIFIgL0sgNTkgID4+CmVuZG9iago3OSAwIG9iago8PCAvVHlwZSAvU3RydWN0RWxlbSAvUyAvUCAvUCAxOCAwIFIgL1BnIDE1IDAgUiAvSyA2MCAgPj4KZW5kb2JqCjIgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCA0IC9LaWRzIFsgMSAwIFIgOSAwIFIgMTIgMCBSCjE1IDAgUiBdID4+CmVuZG9iago4MCAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgL01hcmtJbmZvIDw8IC9NYXJrZWQgdHJ1ZSA+PiAvU3RydWN0VHJlZVJvb3QKMTkgMCBSID4+CmVuZG9iago3IDAgb2JqClsgMSAwIFIgIC9YWVogMCA3OTIgMCBdCmVuZG9iago2IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UeXBlMCAvRW5jb2RpbmcgL0lkZW50aXR5LUggL0Rlc2NlbmRhbnRGb250cyBbODEgMCBSXQovQmFzZUZvbnQgL0FBQUFBQitQaW5nRmFuZ1NDLVJlZ3VsYXIgL1RvVW5pY29kZSA4MiAwIFIgPj4KZW5kb2JqCjgyIDAgb2JqCjw8IC9MZW5ndGggMjY5MyAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAF9mduO3rYVhe/9FHPZXgQWJR4kYDBAkaKAL3pA3T6AJFLBAPV4MHYu/PZd69tqEqSAA+RL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cGUwIC9CYXNlRm9udCAvQUFBQUFCK1BpbmdGYW5nU0MtUmVndWxhcgovQ0lEU3lzdGVtSW5mbyA8PCAvUmVnaXN0cnkgKEFkb2JlKSAvT3JkZXJpbmcgKElkZW50aXR5KSAvU3VwcGxlbWVudCAwID4+Ci9XIDgzIDAgUiAvRFcgMTAwMCAvRm9udERlc2NyaXB0b3IgODQgMCBSID4+CmVuZG9iago4MyAwIG9iagpbIDMgMyAzMzMgMTEgMTIgMzMzIDE1IFsgMjY0IDYwNSAyNjQgNTAwIDYwMCA0MDEgNjAwIDYwMCA2MDAgNjAwIDYwMCA1NDcgNjAwCl0gMjkgMjkgMjY0IDM1IFsgODU4IDY1NyA2NzcgNzI4IDcwNiA2MzcgNTc3IDc0OCA3MjAgMjM3IDUxNyBdIDQ3IFsgNTg4IDg4Mgo3MTkgNzY3IDY0MiBdIDUzIFsgNjc2IDYzMiA2MTkgNzE0IF0gNTggWyA5MzAgNjM3IDY2MiBdIDY4IFsgNTU5IDU4NiA1NDcgNTg2CjU1NSAzNzMgNTkxIDU1NiAyNTYgMjY3IDUyOSAyMzUgODU1IDU1OSA1ODYgNTg2IDU4NiAzNjUgNTA1IDM1NSA1NjAgNDgyIDc1NQo1MDkgNDk2IDQ4NyBdIDMyNyAzMjcgMzQwIDMyOSAzMzAgNTM3IF0KZW5kb2JqCjg0IDAgb2JqCjw8IC9UeXBlIC9Gb250RGVzY3JpcHRvciAvRm9udE5hbWUgL0FBQUFBQitQaW5nRmFuZ1NDLVJlZ3VsYXIgL0ZsYWdzIDQgL0ZvbnRCQm94ClstOTIgLTIzMiAxMTQ2IDk3Ml0gL0l0YWxpY0FuZ2xlIDAgL0FzY2VudCAxMDYwIC9EZXNjZW50IC0zNDAgL0NhcEhlaWdodCA4NjAKL1N0ZW1WIDcwIC9YSGVpZ2h0IDYwMCAvU3RlbUggNjQgL0F2Z1dpZHRoIDEwMDAgL01heFdpZHRoIDEzMDAgL0ZvbnRGaWxlMwo4NSAwIFIgPj4KZW5kb2JqCjg1IDAgb2JqCjw8IC9TdWJ0eXBlIC9DSURGb250VHlwZTBDIC9MZW5ndGggNTI4ODkgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4Kc3RyZWFtCngB7LxnWFRJ1y7cKr33VhHj1m5RMGfFnBM5i0hOknMS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MFwwMDBk/1wwMTFcMDAwIFwwMDBRXDAwMHVcMDAwYVwwMDByXDAwMHRcMDAwelwwMDAgXDAwMFBcMDAwRFwwMDBGXDAwMENcMDAwb1wwMDBuXDAwMHRcMDAwZVwwMDB4XDAwMHQpCi9DcmVhdG9yICj+/1wwMDBQXDAwMGFcMDAwZ1wwMDBlXDAwMHNcMDAwIGWHej8pIC9DcmVhdGlvbkRhdGUgKEQ6MjAyMzEwMTkxMjE3MzFaMDAnMDAnKQovTW9kRGF0ZSAoRDoyMDIzMTAxOTEyMTczMVowMCcwMCcpID4+CmVuZG9iagp4cmVmCjAgODcKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAyOTA0IDAwMDAwIG4gCjAwMDAwMjAxOTQgMDAwMDAgbiAKMDAwMDAwMDAyMiAwMDAwMCBuIAowMDAwMDAzMDA4IDAwMDAwIG4gCjAwMDAwMDU4MTYgMDAwMDAgbiAKMDAwMDAyMDQzOCAwMDAwMCBuIAowMDAwMDIwMzk5IDAwMDAwIG4gCjAwMDAwMDMxMDQgMDAwMDAgbiAKMDAwMDAwOTQ2OCAwMDAwMCBuIAowMDAwMDA1ODUxIDAwMDAwIG4gCjAwMDAwMDk1NzQgMDAwMDAgbiAKMDAwMDAxMjc4MyAwMDAwMCBuIAowMDAwMDA5NjcxIDAwMDAwIG4gCjAwMDAwMTI4OTAgMDAwMDAgbiAKMDAwMDAxNTA0NiAwMDAwMCBuIAowMDAwMDEyOTg3IDAwMDAwIG4gCjAwMDAwMTUxNTMgMDAwMDAgbiAKMDAwMDAxNTMwNCAwMDAwMCBuIAowMDAwMDE1MjUwIDAwMDAwIG4gCjAwMDAwMTU3OTUgMDAwMDAgbiAKMDAwMDAxNTg2NyAwMDAwMCBuIAowMDAwMDE1OTM5IDAwMDAwIG4gCjAwMDAwMTYwMTEgMDAwMDAgbiAKMDAwMDAxNjA4MyAwMDAwMCBuIAowMDAwMDE2MTU1IDAwMDAwIG4gCjAwMDAwMTYyMjcgMDAwMDAgbiAKMDAwMDAxNjI5OSAwMDAwMCBuIAowMDAwMDE2MzcxIDAwMDAwIG4gCjAwMDAwMTY0NDMgMDAwMDAgbiAKMDAwMDAxNjUxNiAwMDAwMCBuIAowMDAwMDE2NTg5IDAwMDAwIG4gCjAwMDAwMTY2NjIgMDAwMDAgbiAKMDAwMDAxNjczNSAwMDAwMCBuIAowMDAwMDE2ODA4IDAwMDAwIG4gCjAwMDAwMTY4ODEgMDAwMDAgbiAKMDAwMDAxNjk1NCAwMDAwMCBuIAowMDAwMDE3MDI3IDAwMDAwIG4gCjAwMDAwMTcxMDAgMDAwMDAgbiAKMDAwMDAxNzE3MyAwMDAwMCBuIAowMDAwMDE3MjQ2IDAwMDAwIG4gCjAwMDAwMTczMTkgMDAwMDAgbiAKMDAwMDAxNzM5MiAwMDAwMCBuIAowMDAwMDE3NDY1IDAwMDAwIG4gCjAwMDAwMTc1MzggMDAwMDAgbiAKMDAwMDAxNzYxMSAwMDAwMCBuIAowMDAwMDE3Njg0IDAwMDAwIG4gCjAwMDAwMTc3NTcgMDAwMDAgbiAKMDAwMDAxNzgzMCAwMDAwMCBuIAowMDAwMDE3OTAzIDAwMDAwIG4gCjAwMDAwMTc5NzYgMDAwMDAgbiAKMDAwMDAxODA0OSAwMDAwMCBuIAowMDAwMDE4MTIyIDAwMDAwIG4gCjAwMDAwMTgxOTYgMDAwMDAgbiAKMDAwMDAxODI3MCAwMDAwMCBuIAowMDAwMDE4MzQ0IDAwMDAwIG4gCjAwMDAwMTg0MTggMDAwMDAgbiAKMDAwMDAxODQ5MiAwMDAwMCBuIAowMDAwMDE4NTY2IDAwMDAwIG4gCjAwMDAwMTg2NDAgMDAwMDAgbiAKMDAwMDAxODcxNCAwMDAwMCBuIAowMDAwMDE4Nzg4IDAwMDAwIG4gCjAwMDAwMTg4NjIgMDAwMDAgbiAKMDAwMDAxODkzNiAwMDAwMCBuIAowMDAwMDE5MDEwIDAwMDAwIG4gCjAwMDAwMTkwODQgMDAwMDAgbiAKMDAwMDAxOTE1OCAwMDAwMCBuIAowMDAwMDE5MjMyIDAwMDAwIG4gCjAwMDAwMTkzMDYgMDAwMDAgbiAKMDAwMDAxOTM4MCAwMDAwMCBuIAowMDAwMDE5NDU0IDAwMDAwIG4gCjAwMDAwMTk1MjggMDAwMDAgbiAKMDAwMDAxOTYwMiAwMDAwMCBuIAowMDAwMDE5Njc2IDAwMDAwIG4gCjAwMDAwMTk3NTAgMDAwMDAgbiAKMDAwMDAxOTgyNCAwMDAwMCBuIAowMDAwMDE5ODk4IDAwMDAwIG4gCjAwMDAwMTk5NzIgMDAwMDAgbiAKMDAwMDAyMDA0NiAwMDAwMCBuIAowMDAwMDIwMTIwIDAwMDAwIG4gCjAwMDAwMjAyOTcgMDAwMDAgbiAKMDAwMDAyMzM1NyAwMDAwMCBuIAowMDAwMDIwNTkwIDAwMDAwIG4gCjAwMDAwMjM1NjcgMDAwMDAgbiAKMDAwMDAyMzkyOSAwMDAwMCBuIAowMDAwMDI0MTg3IDAwMDAwIG4gCjAwMDAwNzcxNzUgMDAwMDAgbiAKdHJhaWxlcgo8PCAvU2l6ZSA4NyAvUm9vdCA4MCAwIFIgL0luZm8gODYgMCBSIC9JRCBbIDw4OWMzNjQxZjE4MjZlY2FhNDZiNjI1YjAwYjBlOWZlYT4KPDg5YzM2NDFmMTgyNmVjYWE0NmI2MjViMDBiMGU5ZmVhPiBdID4+CnN0YXJ0eHJlZgo3NzYzNgolJUVPRgo=`,SJe={puhui:[{asset:"puhui/e084fc75.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+9078-907c,U+907e,U+9081,U+9084-9087,U+9089-908a,U+908c-9090,U+9092,U+9094,U+9096,U+9098,U+909a,U+909c,U+909e-90a0,U+90a4-90a5,U+90a7-90a9,U+90ab,U+90ad,U+90b2,U+90b7,U+90bc-90bd,U+90bf-90c0,U+90c2-90c3,U+90c6,U+90c8-90c9,U+90cb-90cd,U+90d2,U+90d4-90d6,U+90d8-90da,U+90de-90e0,U+90e3-90e5,U+90e9-90ea,U+90ec,U+90ee,U+90f0-90f3,U+90f5-90f7,U+90f9-90fc,U+90ff-9101,U+9103,U+9105-9118,U+911a-911d,U+911f-9121,U+9124-912e,U+9130,U+9132-9138,U+913a-9142,U+9144-9145,U+9147-9148,U+9151,U+9153-9156,U+9158-9159,U+915b-915c,U+915f-9160,U+9166-9168,U+916b,U+916d,U+9173,U+917a-917c,U+9180-9184,U+9186,U+9188,U+918a,U+918e-918f,U+9193-9199,U+919c-91a1,U+91a4-91a9,U+91ab-91ac,U+91b0-91b3,U+91b6-91b9,U+91bb-91c6,U+91c8,U+91cb,U+91d0,U+91d2-91db,U+91dd-9273,U+9275-928d,U+928f-92ad,U+92af-92c7,U+92c9-933d,U+933f-9369,U+936b-938e,U+9390-93c9,U+93cb-93d5,U+93d7-943d,U+943f-946a,U+946c-9484,U+9491,U+9496,U+9498,U+94c7,U+94cf,U+94d3-94d4,U+94da,U+94e6,U+94fb,U+951c,U+9520,U+9527,U+9533,U+953d,U+9543,U+9548,U+954b,U+9555,U+955a,U+9560,U+956e,U+9574-9575,U+9577-957e,U+9580-95e7,U+95ec,U+95ff,U+9607,U+9613,U+9618,U+961b,U+961e,U+9620,U+9623-9629,U+962b-962d,U+962f-9630,U+9637-963a,U+963e,U+9641,U+9643,U+964a,U+964e-964f,U+9651-9653,U+9656-965a,U+965c-965e,U+9660,U+9663,U+9665-9666,U+966b,U+966d-9671,U+9673,U+9678-9684,U+9687,U+9689-968a,U+968c,U+968e,U+9691-9693,U+9695-9696,U+969a-969b,U+969d-96a6,U+96a8-96af,U+96b1-96b2,U+96b4-96b5,U+96b7-96b8,U+96ba-96bb,U+96bf,U+96c2-96c3,U+96c8,U+96ca-96cb,U+96d0-96d1,U+96d3-96d4,U+96d6-96df,U+96e1-96e7,U+96eb-96ee,U+96f0-96f2,U+96f4-96f5,U+96f8,U+96fa-96fd,U+96ff,U+9702-9703,U+9705,U+970a-970c,U+9710-9712,U+9714-9715,U+9717-971b,U+971d,U+971f-9729,U+972b-972c,U+972e-972f,U+9731,U+9733-9737,U+973a-973d,U+973f-9751,U+9754-9755,U+9757-9758,U+975a,U+975c-975d,U+975f,U+9763-9764,U+9766-9768,U+976a-9772,U+9775,U+9777-977b,U+977d-9784,U+9786-978a,U+978c,U+978e-9790,U+9793,U+9795-9797,U+9799-979f,U+97a1-97a2,U+97a4-97aa,U+97ac,U+97ae,U+97b0-97b1,U+97b3,U+97b5-97e5,U+97e8,U+97ee-97f2,U+97f4,U+97f7-9848",weight:"400"},{asset:"puhui/f1da1a83.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+2c7,U+2c9,U+2d8-2d9,U+2db,U+2dd,U+302,U+306-307,U+30a-30c,U+313,U+326-328,U+207f,U+2103,U+2105,U+2109,U+2117,U+2121,U+2126,U+212e,U+215b-215e,U+2160-216b,U+2170-2179,U+2190,U+2192,U+2196-2199,U+2202,U+2206,U+2208,U+220f,U+2211,U+2219-221a,U+221d-2220,U+2223,U+2225,U+2227-222b,U+222e,U+2234-2237,U+223d,U+2248,U+224c,U+2252,U+2260-2261,U+2264-2267,U+226e-226f,U+2295,U+2299,U+22a5,U+22bf,U+2312,U+2460-2469,U+2474-249b,U+2500-254b,U+2550-2573,U+2581-258f,U+2593-2595,U+25a0-25a1,U+25b2-25b3,U+25bc-25bd,U+25c6-25c7,U+25ca-25cb,U+25ce-25cf,U+25e2-25e5,U+2605-2606,U+2609,U+2640,U+2642,U+9e18-9e1e,U+9e24,U+9e27,U+9e2e,U+9e30,U+9e34,U+9e3b-9e3c,U+9e40,U+9e4d,U+9e50,U+9e52-9e54,U+9e56,U+9e59,U+9e5d,U+9e5f-9e62,U+9e65,U+9e6e-9e6f,U+9e72,U+9e74-9e7d,U+9e80-9e81,U+9e83-9e86,U+9e89-9e8a,U+9e8c-9e91,U+9e94-9e9c,U+9e9e,U+9ea0-9ea5,U+9ea7-9eb3,U+9eb5-9eb7,U+9eb9-9eba,U+9ebc,U+9ebf-9ec3,U+9ec5-9ec8,U+9eca-9ecc,U+9ed0,U+9ed2-9ed3,U+9ed5-9ed7,U+9ed9-9eda,U+9ede,U+9ee1,U+9ee3-9ee4,U+9ee6,U+9ee8,U+9eeb-9eee,U+9ef0-9ef8,U+9efa,U+9efd,U+9eff-9f0a,U+9f0c,U+9f0f,U+9f11-9f12,U+9f14-9f16,U+9f18,U+9f1a-9f1f,U+9f21,U+9f23-9f2b,U+9f2d-9f2e,U+9f30-9f36,U+9f38,U+9f3a,U+9f3c,U+9f3f-9f43,U+9f45-9f4f,U+9f52-9f7e,U+9f81-9f82,U+9f8d-9f98,U+9f9c-9f9e,U+9fa1-9fef,U+fa0e-fa0f,U+fa11,U+fa13-fa14,U+fa1f,U+fa21,U+fa23-fa24,U+fa27-fa29,U+fe49-fe4e,U+fe52,U+fe5f-fe66,U+fe68-fe6b,U+ff02-ff07,U+ff0a-ff0b,U+ff0d-ff19,U+ff1c-ff1e,U+ff20-ff3e,U+ff40-ff5a,U+ff5c,U+ff5e,U+ffe0-ffe5",weight:"400"},{asset:"puhui/06937cd9.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+9849-9874,U+988b,U+988e,U+9892,U+9895,U+9899,U+98a3,U+98a8-98cd,U+98cf-98d0,U+98d4,U+98d6-98d7,U+98db-98dd,U+98e0-98e6,U+98e9-990c,U+990e-990f,U+9911-992d,U+992f-9953,U+9956-9962,U+9964,U+9966,U+9973,U+9978-9979,U+997b,U+997e,U+9982-9983,U+9989,U+998c,U+998e,U+999a-99a4,U+99a6-99a7,U+99a9-9a6b,U+9a72,U+9a83,U+9a89,U+9a8d-9a8e,U+9a94-9a95,U+9a99,U+9aa6,U+9aa9-9aaf,U+9ab2-9ab5,U+9ab9,U+9abb,U+9abd-9abf,U+9ac3-9ac4,U+9ac6-9aca,U+9acd-9ad0,U+9ad2,U+9ad4-9ad7,U+9ad9-9ade,U+9ae0,U+9ae2-9ae5,U+9ae7-9aea,U+9aec,U+9aee,U+9af0-9af8,U+9afa,U+9afc-9b02,U+9b04-9b07,U+9b09-9b0e,U+9b10-9b12,U+9b14-9b1e,U+9b20-9b22,U+9b24-9b2e,U+9b30-9b31,U+9b33-9b3a,U+9b3d-9b40,U+9b46,U+9b4a-9b4c,U+9b4e,U+9b50,U+9b52-9b53,U+9b55-9c7b,U+9c7d-9c7e,U+9c80,U+9c83-9c84,U+9c89-9c8a,U+9c8c,U+9c8f,U+9c93,U+9c96-9c99,U+9c9d,U+9caa,U+9cac,U+9caf,U+9cb9,U+9cbe-9cc2,U+9cc8-9cc9,U+9cd1-9cd2,U+9cda-9cdb,U+9ce0-9ce1,U+9ce3-9e17",weight:"400"},{asset:"puhui/83ea2cba.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+6cff-6d00,U+6d02-6d03,U+6d05-6d06,U+6d08-6d0a,U+6d0d,U+6d0f-6d11,U+6d13-6d16,U+6d18,U+6d1c-6d1d,U+6d1f-6d24,U+6d26,U+6d28-6d29,U+6d2c-6d2d,U+6d2f-6d30,U+6d34,U+6d36-6d38,U+6d3a,U+6d3f-6d40,U+6d42,U+6d44,U+6d49,U+6d4c,U+6d50,U+6d55-6d58,U+6d5b,U+6d5d,U+6d5f,U+6d61-6d62,U+6d64-6d65,U+6d67-6d68,U+6d6b-6d6d,U+6d70-6d73,U+6d75-6d76,U+6d79-6d7b,U+6d7d-6d81,U+6d83-6d84,U+6d86-6d87,U+6d8a-6d8b,U+6d8d,U+6d8f-6d90,U+6d92,U+6d96-6d9a,U+6d9c,U+6da2,U+6da5,U+6dac-6dad,U+6db0-6db1,U+6db3-6db4,U+6db6-6db7,U+6db9-6dbe,U+6dc1-6dc3,U+6dc8-6dca,U+6dcd-6dd0,U+6dd2-6dd5,U+6dd7,U+6dda-6ddc,U+6ddf,U+6de2-6de3,U+6de5,U+6de7-6dea,U+6ded,U+6def-6df0,U+6df2,U+6df4-6df6,U+6df8,U+6dfa,U+6dfd-6e04,U+6e06-6e09,U+6e0b,U+6e0f,U+6e12-6e13,U+6e15,U+6e18-6e19,U+6e1b-6e1c,U+6e1e-6e1f,U+6e22,U+6e26-6e28,U+6e2a,U+6e2c,U+6e2e,U+6e30-6e31,U+6e33,U+6e35-6e37,U+6e39,U+6e3b-6e42,U+6e45-6e4c,U+6e4f-6e52,U+6e55,U+6e57,U+6e59-6e5a,U+6e5c-6e5e,U+6e60-6e6a,U+6e6c-6e6d,U+6e6f-6e7d,U+6e80-6e82,U+6e84,U+6e87-6e88,U+6e8a-6e8e,U+6e91-6e97,U+6e99-6e9b,U+6e9d-6e9e,U+6ea0-6ea1,U+6ea3-6ea4,U+6ea6,U+6ea8-6ea9,U+6eab-6eae,U+6eb0,U+6eb3,U+6eb5,U+6eb8-6eb9,U+6ebc,U+6ebe-6ec0,U+6ec3-6ec6,U+6ec8-6eca,U+6ecc-6ece,U+6ed0,U+6ed2,U+6ed6,U+6ed8-6ed9,U+6edb-6edd,U+6ee3,U+6ee7,U+6eea-6ef3,U+6ef5-6ef8,U+6efa-6f01,U+6f03-6f05,U+6f07-6f08,U+6f0a-6f0e,U+6f10-6f12,U+6f16-6f1f,U+6f21-6f23,U+6f25-6f28,U+6f2c,U+6f2e,U+6f30,U+6f32,U+6f34-6f35,U+6f37-6f3d,U+6f3f-6f45,U+6f48-6f4a,U+6f4c,U+6f4e-6f57,U+6f59-6f5b,U+6f5d,U+6f5f-6f61,U+6f63-6f65,U+6f67-6f6c,U+6f6f-6f71,U+6f73,U+6f75-6f77,U+6f79,U+6f7b,U+6f7d-6f83,U+6f85-6f87,U+6f8a-6f8b,U+6f8f-6f9b,U+6f9d-6fa0,U+6fa2-6fa6,U+6fa8-6fb2,U+6fb4-6fb5,U+6fb7-6fb8,U+6fba-6fbf,U+6fc1,U+6fc3-6fc8,U+6fca-6fd0,U+6fd3-6fdd,U+6fdf,U+6fe2-6fed,U+6ff0-7010,U+7012-7019,U+701c-7022,U+7024-7034,U+7036-7038,U+703a-704b,U+704d-704e,U+7050-705d,U+705f-706a,U+706e,U+7071-7074,U+7077,U+7079-707b,U+707d,U+7081-7084,U+7086-7088,U+708b-708d,U+708f-7091,U+7093,U+7097-7098,U+709a-709b,U+709e-70aa,U+70b0,U+70b2,U+70b4-70b6,U+70ba,U+70be-70bf,U+70c4-70c7,U+70c9,U+70cb-70d7,U+70da,U+70dc-70de,U+70e0-70e3,U+70e5,U+70ea,U+70ee,U+70f0-70f6,U+70f8,U+70fa-70fc,U+70fe-7108,U+710b-710f,U+7111-7112,U+7114,U+7117,U+711b-7125,U+7127-712e,U+7132-7135,U+7137-7144,U+7146-7149,U+714b,U+714d,U+714f-715b,U+715d,U+715f-7163,U+7165,U+7169-716d,U+716f-7171,U+7174-7177,U+7179,U+717b-717c,U+717e-7183,U+7185-7189,U+718b-718e,U+7190-7193,U+7195-7197,U+719a-719e,U+71a1-71a7,U+71a9-71ab,U+71ad-71b2,U+71b4,U+71b6-71b8,U+71ba-71c2,U+71c4-71cd,U+71cf-71d3,U+71d6-71df,U+71e1-71e4,U+71e6,U+71e8-71ed,U+71ef-71f8,U+71fa-7205,U+7207-721c,U+721e-7227,U+7229,U+722b,U+722d-722f,U+7232-7234,U+723a,U+723c,U+723e,U+7240-7246,U+7249-724b,U+724e-7251,U+7253-7255,U+7257-7258,U+725a,U+725c,U+725e,U+7260,U+7263-7265,U+7268,U+726a-726d,U+7270-7271,U+7273-7274,U+7276-7278,U+727b-727d,U+7282-7283,U+7285-7289,U+728c,U+728e,U+7290-7291,U+7293-729e,U+72a0-72ab,U+72ae,U+72b1-72b3,U+72b5,U+72ba-72c0,U+72c5-72c7,U+72c9-72cc,U+72cf,U+72d1,U+72d3-72d6,U+72d8,U+72da-72dd,U+72df,U+72e2-72e7,U+72ea-72eb,U+72f5-72f6,U+72f9,U+72fd-7300,U+7302,U+7304-7309,U+730b-730d,U+730f-7312,U+7314,U+7318-731a,U+731f-7320,U+7323-7324,U+7326-7328,U+732d,U+732f-7330,U+7332-7333,U+7335-7336,U+733a-733d,U+7340-734c,U+734e-734f,U+7351,U+7353-7356,U+7358-735f,U+7361-736b,U+736e,U+7370-737d,U+737f-7383,U+7385-7386,U+7388,U+738a,U+738c-738d,U+738f-7390,U+7392-7395,U+7397-739a,U+739c-739e,U+73a0-73a1,U+73a3-73a8,U+73aa,U+73ac-73ad,U+73b1,U+73b4-73b6,U+73b8-73b9,U+73bc-73bf,U+73c1,U+73c3-73c7,U+73cb-73cc,U+73ce,U+73d2-73d8,U+73da-73dd,U+73df,U+73e1-73e4,U+73e6,U+73e8,U+73ea-73ec,U+73ee-73f1,U+73f3-7402,U+7404,U+7407-7408,U+740b-740e,U+7411-7419,U+741c-7421,U+7423-7424,U+7427,U+7429,U+742b,U+742d,U+742f,U+7431-7432,U+7437-743b,U+743d-7440,U+7442-7454,U+7456,U+7458,U+745d,U+7460-746c,U+746e-746f,U+7471-7475,U+7478-747d,U+747f,U+7482,U+7484-7486,U+7488-748a,U+748c-748d,U+748f,U+7491-749b,U+749d,U+749f-74a6,U+74aa-74b9,U+74bb-74d1,U+74d3-74db,U+74dd,U+74df,U+74e1,U+74e5,U+74e7-74ed,U+74f0-74f3,U+74f5,U+74f8-74fe,U+7500-7503,U+7505-750c,U+750e,U+7510,U+7512,U+7514-7517,U+751b,U+751d-751e,U+7520-7524,U+7526-7527,U+752a,U+752e,U+7534,U+7536,U+7539,U+753c-753d,U+753f,U+7541-7544,U+7546-7547,U+7549-754a,U+754d,U+7550-7553,U+7555-7558,U+755d-7564,U+7567-7569,U+756b-7571,U+7573,U+7575-7577,U+757a-757e,U+7580-7582,U+7584-7585,U+7587-758a,U+758c-758e,U+7590,U+7593,U+7595,U+7598,U+759b-759c,U+759e,U+75a2,U+75a6-75aa,U+75ad,U+75b6-75b7,U+75ba-75bb,U+75bf-75c1,U+75c6,U+75cb-75cc,U+75ce-75d1,U+75d3,U+75d7,U+75d9-75da,U+75dc-75dd,U+75df-75e1,U+75e5,U+75e9,U+75ec-75ef,U+75f2-75f3,U+75f5-75f8,U+75fa-75fb,U+75fd-75fe,U+7602,U+7604,U+7606-7609,U+760b,U+760d-760f,U+7611-7614,U+7616,U+761a,U+761c-761e,U+7621,U+7623,U+7627-7628,U+762c,U+762e-762f,U+7631-7632,U+7636-7637,U+7639-763b,U+763d,U+7641-7642,U+7644-764b,U+764e-7653,U+7655,U+7657-765b,U+765d,U+765f",weight:"400"},{asset:"puhui/69aba650.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+4e47,U+4e5c,U+4e69,U+4e8d,U+4e93,U+4eb5,U+4ebb,U+4ec4,U+4edd-4edf,U+4ee1,U+4ee8,U+4eeb,U+4ef5,U+4f09,U+4f1b,U+4f22,U+4f25,U+4f27,U+4f32,U+4f43,U+4f57,U+4f5a,U+4f5d-4f5e,U+4f65,U+4f67,U+4f6f,U+4f76,U+4f7b,U+4f7e,U+4f89,U+4fa9-4faa,U+4fce,U+4fda,U+4fdc,U+4fe3,U+4fe6,U+4fea,U+4ff3,U+4ff8,U+4ffe,U+500c,U+500f,U+5025,U+5028,U+502c-502d,U+5048,U+504e,U+506c,U+507b,U+5080,U+5088,U+50a5,U+50a7,U+50e6,U+50ee,U+50f3,U+5106,U+5121,U+5196,U+51ab,U+51c7,U+51eb,U+51fc,U+5202,U+5208,U+520d-520e,U+5233,U+523d,U+523f-5241,U+5250,U+525c,U+5261,U+52a2,U+52ac-52ad,U+52be,U+52f0,U+530d,U+530f-5310,U+531a,U+5345,U+535f,U+5363,U+536e,U+538d,U+539d,U+53a9,U+53c1,U+53df,U+53f5,U+53fb-53fc,U+5412,U+5416,U+5420-5421,U+5432,U+5443,U+544b,U+5452-5454,U+5456-5457,U+5464,U+5466,U+5472,U+5476-5478,U+5482,U+5499,U+549b,U+549d,U+54a3,U+54a6-54a7,U+54ad,U+54bb,U+54bf,U+54c2,U+54cc,U+54cf-54d0,U+54d2-54d4,U+54dd-54de,U+54e7,U+550f,U+5514,U+551b,U+5527,U+5530,U+5533,U+5537,U+553f,U+5541,U+5544,U+5549,U+5550,U+5555-5556,U+555c,U+556d-556e,U+5575-5577,U+557e,U+5581,U+558b,U+558f,U+5591,U+5594,U+5599,U+559f,U+55b1,U+55b9,U+55bd,U+55c4,U+55cc,U+55d1,U+55d4,U+55d6,U+55dd,U+55df,U+55e4-55e5,U+55e8,U+55ea-55ec,U+55ef,U+55f2-55f3,U+55f5,U+55fe,U+5601,U+560c,U+560f,U+561e,U+5623-5624,U+5627,U+562c-562d,U+564c,U+564e,U+5654,U+5657-5658,U+565c,U+5664,U+566b,U+5671,U+567b,U+5685,U+568f,U+56af,U+56d4,U+56d7,U+56dd,U+56df,U+56e1,U+56eb,U+56f5,U+56f9,U+5704,U+5709,U+571c,U+572c,U+572e,U+5739,U+575c,U+5769,U+576d,U+577c,U+5785,U+578c,U+5793,U+57a1,U+57a7,U+57a9,U+57ad,U+57b2,U+57b4,U+57cf,U+57d2,U+57d5,U+57d9-57da,U+57dd,U+57e4,U+57ed,U+57ef,U+57f8,U+5800,U+5807,U+580d,U+581e,U+584d,U+5880-5881,U+5889,U+589a,U+58c5,U+58ec,U+5914,U+5924,U+593c,U+5941-5942,U+5958,U+5981,U+5997,U+599e,U+59a3-59a4,U+59aa-59ab,U+59af,U+59b2,U+59be,U+59d8,U+59dd,U+59f9,U+5a06,U+5a09,U+5a0c,U+5a11,U+5a32,U+5a40,U+5a4a,U+5a55,U+5a62,U+5a67,U+5a75,U+5aaa,U+5ab8,U+5abe,U+5ad2,U+5ad4,U+5ad8,U+5ae1,U+5ae6,U+5aeb,U+5af1,U+5b34,U+5b40,U+5b51,U+5b53,U+5b5b,U+5b6a,U+5b6c,U+5b71,U+5b73,U+5b93,U+5ba5,U+5bee,U+5c15,U+5c25,U+5c3b,U+5c50,U+5c59,U+5c63,U+5c7a,U+5c98-5c99,U+5c9c,U+5ca2-5ca3,U+5cac,U+5cbf,U+5cc1,U+5cc4,U+5ccb,U+5cd2,U+5ce4,U+5d03,U+5d06,U+5d24,U+5d26-5d27,U+5d2e,U+5d47,U+5d4b,U+5d5b,U+5d5d,U+5d6b-5d6c,U+5d6f,U+5d74,U+5d99,U+5d9d,U+5db7,U+5def,U+5df3,U+5dfd,U+5e0f,U+5e11,U+5e14,U+5e19,U+5e42,U+5e54,U+5e5b,U+5e61,U+5e8b,U+5e91,U+5e96,U+5ea0,U+5eb3,U+5eb9,U+5ebe,U+5ed1-5ed2,U+5edb,U+5eea,U+5ef4,U+5f01,U+5f2d,U+5f40,U+5f58,U+5f73,U+5fad,U+5fb5,U+5fbc,U+5fcf,U+5fd2,U+5fdd,U+5fea,U+5ff8,U+5ffe,U+6002-6004,U+6006,U+600d,U+600f,U+6014,U+6019,U+601b,U+6029,U+603c,U+603f,U+6041-6042,U+605a,U+606b,U+6078-6079,U+607b,U+607d,U+607f,U+6083,U+608c,U+6092,U+609a,U+60ab,U+60ad,U+60b1,U+60c6,U+60da,U+60f4,U+60fa,U+6100,U+610e,U+6120,U+6126,U+6175,U+61b7,U+61d1,U+61ff,U+6206,U+6215,U+6217,U+621b,U+621f,U+6221-6222,U+622c,U+622e,U+623d-623e,U+624c,U+6266,U+626a,U+629f,U+62bb,U+62bf,U+62c8,U+62ca,U+6308,U+631b,U+631e,U+6332,U+6339,U+634b-634c,U+6369,U+636d,U+6371,U+6387,U+638a,U+638e,U+63ae,U+63b3-63b4,U+63b8,U+63bc,U+63c4,U+63c6,U+63cd,U+63d6,U+63e0,U+63f6,U+63ff,U+6410,U+6414,U+6421,U+6426,U+643d,U+6441,U+6448,U+646d,U+647a,U+6485,U+64b8,U+64ba,U+64c0,U+64d8,U+64e2,U+6535,U+6555,U+659b,U+65ab,U+65c3-65c4,U+65c6,U+65d2,U+65f0,U+6600,U+6619,U+661d,U+6635,U+6641,U+6657,U+6661,U+6677,U+668c,U+669d,U+66a7,U+66be,U+66db-66dc,U+66e9,U+66f7,U+670a,U+6710,U+6715,U+6748,U+6753,U+6769,U+6772,U+6775,U+678b,U+6798,U+679e,U+67a5,U+67a7,U+67ad,U+67b0,U+67b3,U+67b7,U+67c1,U+67c3,U+67d2,U+67e2,U+67f0,U+67fd,U+6800,U+680c,U+680e,U+6832,U+6840-6841,U+6849,U+6855,U+6860-6861,U+6867,U+686b,U+6874,U+6877,U+688f,U+68c2,U+68f0,U+68f9,U+68fc,U+6901,U+690b,U+6910,U+691f,U+6924,U+6934,U+6939,U+6954,U+695d,U+6966,U+696b,U+696e,U+6978,U+6980,U+6987,U+6989,U+698d,U+6998,U+699b,U+69a7,U+69ab,U+69c1,U+69ca,U+69ce,U+69e0,U+69ed,U+69f2,U+69ff,U+6a17-6a18,U+6a28,U+6a2f,U+6a3d-6a3e,U+6a47,U+6a50,U+6a58,U+6a5b,U+6a79,U+6a7c,U+6a84,U+6a97,U+6aa9,U+6aab,U+6b24,U+6b39,U+6b46,U+6b81-6b82,U+6b84,U+6b87,U+6b8d,U+6b92-6b93,U+6baa,U+6bb3,U+6bc2,U+6bd6,U+6bf3,U+6bf9,U+6bfd,U+6c05-6c07,U+6c0d,U+6c10,U+6c16,U+6c18-6c1a,U+6c21,U+6c24,U+6c29,U+6c32,U+6c35,U+6c3d,U+6c4a,U+6c54,U+6c68,U+6c86,U+6c8f,U+6c94,U+6ca3-6ca4,U+6ca9,U+6cb2,U+6cc5,U+6cd4,U+6cd6,U+6ceb,U+6cee,U+6cf6-6cf7,U+6cfa,U+6d04,U+6d07,U+6d0c,U+6d1a,U+6d27,U+6d2b,U+6d2e,U+6d33,U+6d35,U+6d39,U+6d4d,U+6d60,U+6d63,U+6d6f,U+6d91,U+6d94,U+6d9e,U+6da0,U+6dab,U+6dd9,U+6ddd,U+6de0,U+6dec,U+6e0c,U+6e11,U+6e16,U+6e4e,U+6e53-6e54,U+6e6b,U+6e86,U+6e8f,U+6e98,U+6eb1,U+6ebb,U+6ebd,U+6ec2,U+6ecf,U+6ed3,U+6ed7,U+6edf,U+6ee2,U+6f09,U+6f4b,U+6f66,U+6f74,U+6f8d,U+6fb6,U+6fb9,U+6fc9,U+6fd1,U+6fde,U+6fe0,U+6fef,U+7023,U+705e,U+7080,U+7085,U+7094,U+709d,U+70b7,U+70bb,U+70ca,U+70e9,U+7110,U+7116,U+7119,U+712f,U+7145,U+7168,U+7178,U+7198,U+71b3,U+71b5,U+71e7,U+71f9,U+7230,U+723b,U+723f,U+7256,U+725d,U+726e-726f,U+727e,U+7284,U+728d,U+7292,U+729f,U+72ad,U+72b0,U+72b4,U+72b8,U+72c8,U+72cd-72ce,U+72d2,U+72d9,U+72de,U+72f0,U+72f2,U+72f7,U+72fa-72fb,U+7301,U+7313,U+731e,U+7322,U+7325,U+732c,U+7350,U+7352,U+7360,U+737e,U+738e,U+7391,U+739f,U+73a2,U+73b3,U+73c8-73c9,U+73d0,U+73d9,U+73de,U+73e5,U+740a,U+741a,U+7430,U+7441,U+7457,U+7477,U+7481,U+748e,U+74ba,U+74d2,U+74e4,U+74ff,U+750f,U+7511,U+753e,U+7540,U+7548,U+754b,U+755a-755b,U+7566,U+7579,U+757f,U+7583,U+758b,U+7594,U+7596,U+759d,U+75a0,U+75a3,U+75a5,U+75ac,U+75b1,U+75b3-75b4,U+75b8,U+75bd,U+75c2,U+75c8-75c9,U+75cd,U+75d6,U+75d8,U+75e2-75e4,U+75e7-75e8,U+75f1,U+75fc,U+75ff,U+760c,U+7610,U+7615,U+7617-7619,U+7622,U+762a,U+7630,U+7633-7635,U+763f-7640,U+7654,U+765e,U+766f,U+7688,U+7699,U+76a4,U+76b2,U+76b4,U+76c5,U+76e5,U+76f1,U+7708,U+7719-771a,U+7726,U+772d,U+7751,U+775a,U+7765,U+7768,U+777e,U+778c,U+7791,U+779f,U+77b3,U+77bd,U+77dc,U+77ec,U+7800,U+7812,U+7817-7818,U+781c-781d,U+781f,U+7823,U+7826-7827,U+7829,U+782c-782d,U+7830,U+783b-783c,U+784c,U+7850,U+7856,U+7877,U+7887,U+7889,U+7893,U+789a-789c,U+78a1,U+78a3,U+78b2,U+78d4,U+78d9,U+78ec,U+78f4,U+7905,U+7913,U+7949,U+7957,U+795c,U+7980,U+79b3,U+79d5,U+79e3,U+79eb,U+7a14,U+7a17,U+7a23,U+7a39,U+7a51,U+7a70,U+7a86,U+7a88,U+7a95,U+7aa0,U+7aa8,U+7ae6,U+7afd,U+7b04,U+7b08,U+7b0f,U+7b15,U+7b1e,U+7b24-7b25,U+7b2a-7b2b,U+7b2e,U+7b31,U+7b33,U+7b38,U+7b3e,U+7b47,U+7b5a,U+7b62,U+7b6e,U+7b72,U+7b85,U+7b90,U+7b95,U+7b9c,U+7ba6-7ba7,U+7baa,U+7bac,U+7bb8,U+7bc1,U+7bcc,U+7bd1,U+7bd9,U+7be6,U+7bea,U+7bfe,U+7c0b-7c0c,U+7c1f,U+7c26,U+7c2a,U+7c41,U+7c74,U+7c91,U+7c9c-7c9e,U+7cb2,U+7cc1,U+7cc5,U+7ccc-7ccd,U+7ce8,U+7da6,U+7dae,U+7e47,U+7e9b,U+7e9f,U+7ea3,U+7ea5,U+7ea8,U+7eb0,U+7ebe,U+7ec0,U+7ec2,U+7ecb-7ecc,U+7ed0,U+7ed4,U+7ed7,U+7ee0-7ee1,U+7ee6,U+7ee8,U+7eeb,U+7eef,U+7ef1,U+7efa-7efb,U+7efe,U+7f01,U+7f03-7f04,U+7f08,U+7f0d,U+7f11,U+7f17,U+7f1b,U+7f1f,U+7f21-7f22,U+7f25-7f27,U+7f2c,U+7f31,U+7f35-7f36,U+7f45,U+7f58,U+7f5f,U+7f61,U+7f71,U+7f74,U+7f7e,U+7f9f,U+7fa7,U+7faf-7fb0,U+7fb8,U+7fbc,U+7fbf,U+7fca,U+7fd5,U+7fe5-7fe6,U+7fee,U+7ff3,U+8006,U+8012,U+8016,U+801c,U+8026-8027,U+802a,U+8031,U+8037,U+8043,U+8052,U+8069,U+8071,U+807f,U+8084,U+8093,U+809f,U+80ab,U+80b1,U+80bc-80bd,U+80cd,U+80d7,U+80db,U+80dd,U+80e4,U+80ea,U+80ed,U+80ef,U+80f4,U+80fc,U+8112,U+8114,U+8118,U+8132,U+814b,U+8153,U+815a,U+8160,U+8167,U+8169,U+816d,U+8171,U+8174,U+8188,U+8191,U+8198,U+81a6,U+81bb,U+81c1,U+81ca,U+81cc,U+81ec,U+8200,U+8202,U+8210,U+8214,U+821b,U+8222,U+8228,U+8234,U+823e,U+8244,U+8249,U+824f,U+825f,U+826e,U+8279,U+828a,U+828d-828e,U+8297-8298,U+829f,U+82a1,U+82a4,U+82a8-82a9,U+82ab,U+82b4,U+82be,U+82c1,U+82c4,U+82ca-82cc,U+82d2,U+82d5,U+82d8,U+82dc,U+82e1,U+82e3-82e4,U+82eb,U+82f4,U+82f7,U+82fb,U+8306,U+8308,U+830c,U+8314-8315,U+831a,U+832d,U+8331,U+8333-8334,U+833a,U+834f,U+8351,U+835a,U+835c,U+8360,U+8366,U+8368-8369,U+836c,U+8378,U+839c,U+83a8,U+83aa,U+83b3-83b4,U+83b6,U+83b8,U+83bc,U+83c0,U+83c5,U+83d4,U+83d6,U+83d8,U+83df,U+83e1,U+83ea,U+83f0,U+83f8,U+83fd,U+8401,U+840b,U+8411,U+8418,U+841c,U+8438,U+843c,U+8451,U+845a,U+846d,U+8473,U+8476,U+8478,U+847a,U+8489,U+848c,U+8497,U+84a1,U+84ba,U+84bd,U+84c1,U+84ca,U+84d1,U+84d6,U+84e0,U+84e5,U+84fc,U+84ff,U+851f,U+852b,U+8537-8538,U+853b,U+8548,U+8556,U+855e,U+8564,U+8572,U+857b,U+8585,U+858f,U+859c,U+85a4,U+85ae,U+85c1,U+85d0,U+85d3,U+85ff,U+8605,U+8616,U+8627,U+8629,U+8662,U+866c,U+866e,U+8671,U+867a-867b,U+868b,U+868d,U+8693,U+869d,U+86a3-86a4,U+86a7-86aa,U+86ac,U+86af,U+86b1,U+86b4-86b6,U+86c6,U+86c9-86ca,U+86cf-86d0,U+86d4,U+86e9,U+86ed,U+86f0,U+86f3-86f4,U+86f8-86f9,U+8703,U+8707-870a,U+870d,U+8722,U+8725,U+872e,U+8731,U+8734,U+8737,U+873b,U+8748,U+874c,U+8759,U+8760,U+8763,U+8765,U+876e,U+877b-877d,U+8782,U+8785,U+879f,U+87a8,U+87ab,U+87af,U+87b3,U+87c6,U+87ca,U+87d1-87d2,U+87e0,U+87e5,U+87ea,U+87ee,U+8813,U+8815-8816,U+8832,U+8839,U+8864,U+8869,U+886e,U+8872,U+887d-887e,U+8888,U+88a2,U+88b7,U+88c6,U+88c9,U+88ce,U+88df,U+88e2-88e3,U+88e5,U+88fe,U+890a,U+8913,U+8919,U+891b,U+8921,U+892b,U+8934,U+8936,U+8941,U+897b,U+89c7,U+89ca-89cb,U+89ce,U+89d0,U+89da,U+89de,U+89e5,U+89ef,U+89f3,U+8a07,U+8a3e,U+8a8a,U+8b07,U+8ba3,U+8ba6-8ba7,U+8baa-8bab,U+8bb5,U+8bc2-8bc3,U+8bc5,U+8bcb-8bcc,U+8bce-8bcf,U+8bd2-8bd3,U+8bd6,U+8bdb,U+8bdf,U+8be4,U+8be8,U+8bee,U+8bf0,U+8bf3,U+8bf9,U+8bfc,U+8c00,U+8c04,U+8c07,U+8c0c,U+8c0f,U+8c11,U+8c14-8c18,U+8c1d,U+8c20-8c21,U+8c25,U+8c29-8c2a,U+8c2f-8c30,U+8c32,U+8c35-8c36,U+8c47,U+8c49,U+8c4c,U+8c55,U+8c62,U+8c73,U+8c78,U+8c7a,U+8c89,U+8d30,U+8d36,U+8d3d,U+8d40,U+8d45-8d46,U+8d49,U+8d4d,U+8d59,U+8d5c,U+8d67,U+8d6d,U+8d73,U+8d84,U+8d91,U+8d94,U+8db5,U+8db8,U+8dba,U+8dbf,U+8dc4,U+8dc6,U+8dce,U+8dd7,U+8ddb,U+8dde,U+8deb-8dec,U+8df8-8dfa,U+8dfd,U+8e05,U+8e09,U+8e14,U+8e1d,U+8e1f,U+8e2e-8e2f,U+8e31,U+8e39-8e3a,U+8e3d,U+8e41-8e42,U+8e47,U+8e49,U+8e4b,U+8e51,U+8e59,U+8e69,U+8e6d,U+8e70,U+8e76,U+8e7f,U+8e85,U+8e8f,U+8f6b,U+8f6d,U+8f71-8f73,U+8f75,U+8f78,U+8f7e,U+8f87,U+8f8b,U+8f8e-8f8f,U+8f94,U+8f9a,U+8fb6,U+8fd3,U+8fe8,U+8ff3,U+9004-9005,U+900b,U+9011,U+9016,U+9021,U+9026,U+902f,U+9036,U+9041,U+9044,U+9051,U+9062,U+907d,U+9082,U+9088,U+908b,U+9097,U+9099,U+909b,U+90b0,U+90b4,U+90ba,U+90be,U+90c4,U+90c7,U+90cf-90d0,U+90d3,U+90d7,U+90dc,U+90e2,U+90e6,U+90eb,U+90ef,U+90fe,U+9104,U+9123,U+9143,U+9146,U+914a,U+9150,U+915e,U+9161-9162,U+9169,U+9172,U+9179,U+917d-917e,U+9185,U+918c-918d,U+9190,U+919a,U+91a3,U+91aa,U+91ae,U+91b4,U+91ba,U+92c8,U+933e,U+938f,U+93ca,U+9485-9487,U+948c-948d,U+948f-9490,U+9495,U+9497,U+949c,U+94a3-94a4,U+94aa-94ad,U+94af,U+94b2,U+94b9-94ba,U+94bd,U+94bf,U+94c8,U+94ca-94cd,U+94d1-94d2,U+94d5-94d7,U+94d9,U+94db,U+94df-94e1,U+94e5,U+94e7,U+94e9-94ea,U+94ef-94f0,U+94f3,U+94f7,U+94fc-94fd,U+9503,U+9506-9507,U+9509,U+950f,U+9512,U+9515,U+951b,U+951d,U+951f,U+9528,U+952a,U+952c,U+9531,U+9534,U+953a,U+9542,U+9545-9546,U+9549-954a,U+954f,U+9552-9554,U+9557-9559,U+955d-955e,U+9562-9563,U+9565-9568,U+956a-956b,U+9571-9573,U+95e9,U+95f1,U+95f3,U+95fe,U+9604,U+9606,U+9608-960b,U+960f,U+9612,U+9615,U+9617,U+961a,U+961d,U+9649,U+965f,U+9697,U+96b0,U+96b9,U+96bc,U+96c9,U+96ce,U+96d2,U+96e0,U+96e9,U+96f3,U+9701,U+9708,U+970e,U+972a,U+972d,U+9730,U+9739,U+973e,U+975b,U+9765,U+977c,U+9785,U+9791,U+9798,U+97a3,U+97af,U+97b4,U+97ea-97eb,U+9878,U+987c,U+9880,U+9883,U+9889,U+988c,U+988f,U+9894,U+989a-989b,U+989e-989f,U+98a2,U+98a6-98a7,U+98d1-98d3,U+98d5,U+98d9,U+98e7,U+990d,U+992e,U+9954-9955,U+9963,U+9967-9968,U+996c,U+996f,U+9974,U+9977,U+997d,U+9980,U+9984,U+998a,U+9990-9991,U+9993-9995,U+9997,U+9a78,U+9a7d,U+9a88,U+9a90,U+9a93,U+9a9b-9a9d,U+9aa0,U+9aa2-9aa3,U+9aa7,U+9ab0,U+9ab6-9ab7,U+9ac0-9ac2,U+9ac5,U+9acb-9acc,U+9ae1,U+9aeb,U+9aed,U+9aef,U+9af9,U+9afb,U+9b1f,U+9b23,U+9b32,U+9b3b,U+9b47,U+9b49,U+9b4d,U+9b51,U+9c82,U+9c86-9c88,U+9c8b,U+9c90-9c91,U+9c9b,U+9c9e,U+9ca0-9ca3,U+9ca5,U+9ca7,U+9ca9,U+9cad-9cae,U+9cb1-9cb3,U+9cb5-9cb7,U+9cc3,U+9cc5,U+9cc7,U+9cca,U+9ccd-9ccf,U+9cd3,U+9cd5,U+9cd9,U+9cdc,U+9cdf,U+9ce2,U+9e20,U+9e22,U+9e28-9e2a,U+9e2c,U+9e37,U+9e39,U+9e41-9e42,U+9e46-9e49,U+9e4c,U+9e51,U+9e57-9e58,U+9e5a,U+9e5e,U+9e66-9e67,U+9e6a-9e6c,U+9e73,U+9e82,U+9e87,U+9eb8,U+9ecd,U+9ecf,U+9edc,U+9edf-9ee0,U+9ee2,U+9ee7,U+9ee9,U+9efe,U+9f0b,U+9f17,U+9f19,U+9f22,U+9f2c,U+9f2f,U+9f39,U+9f3e,U+9f80,U+9f83,U+9f85,U+9f87-9f8a,U+9f8c,U+9f9b",weight:"400"},{asset:"puhui/f692aa37.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+7660-7662,U+7664-766a,U+766c-766e,U+7670-7677,U+7679-767a,U+767c,U+767f-7681,U+7683,U+7685,U+7689-768a,U+768c-768d,U+768f-7690,U+7692,U+7694-7695,U+7697-7698,U+769a-76a3,U+76a5-76ad,U+76af-76b0,U+76b3,U+76b5-76be,U+76c0-76c1,U+76c3-76c4,U+76c7,U+76c9,U+76cb-76cc,U+76d3,U+76d5,U+76d9-76da,U+76dc-76de,U+76e0-76e4,U+76e6-76ed,U+76f0,U+76f3,U+76f5-76f7,U+76fa-76fb,U+76fd,U+76ff-7703,U+7705-7706,U+770a,U+770c,U+770e-7718,U+771b-771e,U+7721,U+7723-7725,U+7727,U+772a-772c,U+772e,U+7730-7734,U+7739,U+773b,U+773d-773f,U+7742,U+7744-7746,U+7748-774f,U+7752-7759,U+775c-7760,U+7764,U+7767,U+7769-776a,U+776d-7778,U+777a-777c,U+7781-7783,U+7786-778b,U+778f-7790,U+7793-779e,U+77a1,U+77a3-77a4,U+77a6,U+77a8,U+77ab,U+77ad-77af,U+77b1-77b2,U+77b4,U+77b6-77ba,U+77bc,U+77be,U+77c0-77cc,U+77ce-77d6,U+77d8-77da,U+77dd-77e1,U+77e4,U+77e6,U+77e8,U+77ea,U+77ef-77f2,U+77f4-77f5,U+77f7,U+77f9-77fc,U+7803-7808,U+780a-780b,U+780e-7810,U+7813,U+7815,U+7819,U+781b,U+781e,U+7820-7822,U+7824,U+7828,U+782a-782b,U+782e-782f,U+7831-7833,U+7835-7836,U+783d,U+783f,U+7841-7844,U+7846,U+7848-784b,U+784d,U+784f,U+7851,U+7853-7854,U+7858-785c,U+785e-7869,U+786f-7876,U+7878-787b,U+787d-7886,U+7888,U+788a-788b,U+788f-7890,U+7892,U+7894-7896,U+7899,U+789d-789e,U+78a0,U+78a2,U+78a4,U+78a6,U+78a8-78af,U+78b5-78b8,U+78ba-78bd,U+78bf-78c0,U+78c2-78c4,U+78c6-78c8,U+78cc-78cf,U+78d1-78d3,U+78d6-78d8,U+78da-78e7,U+78e9-78eb,U+78ed-78f1,U+78f3,U+78f5-78f6,U+78f8-78f9,U+78fb-7900,U+7902-7904,U+7906-7912,U+7914-791d,U+791f-7923,U+7925-7933,U+7935-7939,U+793d,U+793f,U+7942-7945,U+7947,U+794a-7952,U+7954-7955,U+7958-7959,U+7961,U+7963-7964,U+7966,U+7969-796c,U+796e,U+7970-7976,U+7979,U+797b-797f,U+7982-7983,U+7986-7989,U+798b-798e,U+7990-7999,U+799b-79a6,U+79a8-79b2,U+79b4-79b8,U+79bc,U+79bf,U+79c2,U+79c4-79c5,U+79c7-79c8,U+79ca,U+79cc,U+79ce-79d0,U+79d3-79d4,U+79d6-79d7,U+79d9-79de,U+79e0-79e2,U+79e5,U+79e8,U+79ea,U+79ec,U+79ee,U+79f1-79f7,U+79f9-79fa,U+79fc,U+79fe-79ff,U+7a01,U+7a04-7a05,U+7a07-7a0a,U+7a0c,U+7a0f-7a13,U+7a15-7a16,U+7a18-7a19,U+7a1b-7a1d,U+7a1f,U+7a21-7a22,U+7a24-7a32,U+7a34-7a36,U+7a38,U+7a3a,U+7a3e,U+7a40-7a45,U+7a47-7a50,U+7a52-7a56,U+7a58-7a6f,U+7a71-7a73,U+7a75,U+7a7b-7a7e,U+7a82,U+7a85,U+7a87,U+7a89-7a8c,U+7a8e-7a90,U+7a93-7a94,U+7a99-7a9b,U+7a9e,U+7aa1-7aa4,U+7aa7,U+7aa9-7aab,U+7aae-7ab2,U+7ab4-7abe,U+7ac0-7aca,U+7acc-7ad5,U+7ad7-7ad8,U+7ada-7add,U+7ae1-7ae2,U+7ae4,U+7ae7-7aec,U+7aee,U+7af0-7af8,U+7afb-7afc,U+7afe,U+7b00-7b02,U+7b05,U+7b07,U+7b09,U+7b0c-7b0e,U+7b10,U+7b12-7b13,U+7b16-7b18,U+7b1a,U+7b1c-7b1d,U+7b1f,U+7b21-7b23,U+7b27,U+7b29,U+7b2d,U+7b2f-7b30,U+7b32,U+7b34-7b37,U+7b39,U+7b3b,U+7b3d,U+7b3f-7b44,U+7b46,U+7b48,U+7b4a,U+7b4d-7b4e,U+7b53,U+7b55,U+7b57,U+7b59,U+7b5c,U+7b5e-7b5f,U+7b61,U+7b63-7b6d,U+7b6f-7b70,U+7b73-7b74,U+7b76,U+7b78,U+7b7a,U+7b7c-7b7d,U+7b7f,U+7b81-7b84,U+7b86-7b8c,U+7b8e-7b8f,U+7b91-7b93,U+7b96,U+7b98-7b9b,U+7b9e-7ba0,U+7ba3-7ba5,U+7bae-7bb0,U+7bb2-7bb3,U+7bb5-7bb7,U+7bb9-7bc0,U+7bc2-7bc5,U+7bc8-7bcb,U+7bcd-7bd0,U+7bd2,U+7bd4-7bd8,U+7bdb-7bdc,U+7bde-7be0,U+7be2-7be4,U+7be7-7be9,U+7beb-7bed,U+7bef-7bf0,U+7bf2-7bf6,U+7bf8-7bfb,U+7bfd,U+7bff-7c06,U+7c08-7c0a,U+7c0d-7c0e,U+7c10-7c15,U+7c17-7c1e,U+7c20-7c25,U+7c28-7c29,U+7c2b-7c37,U+7c39-7c3e,U+7c42-7c4c,U+7c4e-7c72,U+7c75-7c7a,U+7c7e-7c88,U+7c8a-7c90,U+7c93-7c94,U+7c96,U+7c99-7c9b,U+7ca0-7ca1,U+7ca3,U+7ca6-7ca9,U+7cab-7cad,U+7caf-7cb0,U+7cb4-7cb8,U+7cba-7cbb,U+7cbf-7cc0,U+7cc2-7cc4,U+7cc6,U+7cc9,U+7ccb,U+7cce-7cd4,U+7cd8,U+7cda-7cdb,U+7cdd-7cde,U+7ce1-7ce7,U+7ce9-7cee,U+7cf0-7cf7,U+7cf9-7cfa,U+7cfc-7d09,U+7d0b-7d1f,U+7d21,U+7d23-7d26,U+7d28-7d2a,U+7d2c-7d2e,U+7d30-7d6d,U+7d6f-7d76,U+7d78-7da5,U+7da7-7dad,U+7daf-7e3a,U+7e3c-7e40,U+7e42-7e46,U+7e48-7e6d",weight:"400"},{asset:"puhui/79088b33.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+7e6e-7e81,U+7e83-7e9a,U+7e9c-7e9e,U+7eae,U+7eb4,U+7ebb-7ebc,U+7ed6,U+7ee4,U+7eec,U+7ef9,U+7f0a,U+7f10,U+7f1e,U+7f37,U+7f39,U+7f3b-7f41,U+7f43,U+7f46-7f4f,U+7f52-7f53,U+7f56,U+7f59,U+7f5b-7f5e,U+7f60,U+7f63-7f67,U+7f6b-7f6d,U+7f6f-7f70,U+7f73,U+7f75-7f78,U+7f7a-7f7d,U+7f7f-7f80,U+7f82-7f89,U+7f8b,U+7f8d,U+7f8f-7f93,U+7f95-7f99,U+7f9b-7f9c,U+7fa0,U+7fa2-7fa3,U+7fa5-7fa6,U+7fa8-7fae,U+7fb1,U+7fb3-7fb7,U+7fba-7fbb,U+7fbe,U+7fc0,U+7fc2-7fc4,U+7fc6-7fc9,U+7fcb,U+7fcd,U+7fcf-7fd3,U+7fd6-7fd7,U+7fd9-7fde,U+7fe2-7fe4,U+7fe7-7fe8,U+7fea-7fed,U+7fef,U+7ff2,U+7ff4-7ffa,U+7ffd-7fff,U+8002,U+8007-800a,U+800e-800f,U+8011,U+8013,U+801a-801b,U+801d-801f,U+8021,U+8023-8024,U+802b-8030,U+8032,U+8034,U+8039-803a,U+803c,U+803e,U+8040-8041,U+8044-8045,U+8047-8049,U+804e-8051,U+8053,U+8055-8057,U+8059,U+805b-8068,U+806b-8070,U+8072-807e,U+8081-8082,U+8085,U+8088,U+808a,U+808d-8092,U+8094-8095,U+8097,U+8099,U+809e,U+80a3,U+80a6-80a8,U+80ac,U+80b0,U+80b3,U+80b5-80b6,U+80b8-80b9,U+80bb,U+80c5,U+80c7-80cb,U+80cf-80d5,U+80d8,U+80df-80e0,U+80e2-80e3,U+80e6,U+80ee,U+80f5,U+80f7,U+80f9,U+80fb,U+80fe-8101,U+8103-8105,U+8107-8108,U+810b-810c,U+8115,U+8117,U+8119,U+811b-811d,U+811f-812b,U+812d-812e,U+8130,U+8133-8135,U+8137,U+8139-813d,U+813f-8145,U+8147,U+8149,U+814d-814f,U+8152,U+8156-8158,U+815b-815f,U+8161-8164,U+8166,U+8168,U+816a-816c,U+816f,U+8172-8173,U+8175-8178,U+8181,U+8183-8187,U+8189,U+818b-818e,U+8190,U+8192-8197,U+8199-819a,U+819e-81a2,U+81a4-81a5,U+81a7,U+81a9,U+81ab-81b2,U+81b4-81b9,U+81bc-81bf,U+81c4-81c5,U+81c7-81c9,U+81cb,U+81cd-81e2,U+81e4-81e6,U+81e8-81e9,U+81eb,U+81ee-81f2,U+81f5-81fa,U+81fd,U+81ff,U+8203,U+8207-820b,U+820e-820f,U+8211,U+8213,U+8215-821a,U+821d,U+8220,U+8224-8227,U+8229,U+822e,U+8232,U+823a,U+823c-823d,U+823f-8243,U+8245-8246,U+8248,U+824a,U+824c-824e,U+8250-8257,U+8259,U+825b-825e,U+8260-8267,U+8269-826d,U+8271,U+8275-8278,U+827b-827c,U+8280-8281,U+8283,U+8285-8287,U+8289,U+828c,U+8290,U+8293-8296,U+829a-829b,U+829e,U+82a0,U+82a2-82a3,U+82a7,U+82b2,U+82b5-82b6,U+82ba-82bc,U+82bf-82c0,U+82c2-82c3,U+82c5-82c6,U+82c9,U+82d0,U+82d6,U+82d9-82da,U+82dd,U+82e2,U+82e7-82ea,U+82ec-82ee,U+82f0,U+82f2-82f3,U+82f5-82f6,U+82f8,U+82fa,U+82fc-8300,U+830a-830b,U+830d,U+8310,U+8312-8313,U+8316,U+8318-8319,U+831d-8326,U+8329-832a,U+832e,U+8330,U+8332,U+8337,U+833b,U+833d-833f,U+8341-8342,U+8344-8345,U+8348,U+834a-834e,U+8353,U+8355-8359,U+835d,U+8362,U+8370-8376,U+8379-837a,U+837e-8384,U+8387-8388,U+838a-838d,U+838f-8391,U+8394-8397,U+8399-839a,U+839d,U+839f,U+83a1-83a7,U+83ac-83af,U+83b5,U+83bb,U+83be-83bf,U+83c2-83c4,U+83c6,U+83c8-83c9,U+83cb,U+83cd-83ce,U+83d0-83d3,U+83d5,U+83d7,U+83d9-83db,U+83de,U+83e2-83e4,U+83e6-83e8,U+83eb-83ef,U+83f3-83f7,U+83fa-83fc,U+83fe-8400,U+8402,U+8405,U+8407-840a,U+8410,U+8412-8417,U+8419-841b,U+841e-8423,U+8429-8430,U+8432-8437,U+8439-843b,U+843e-8445,U+8447-8450,U+8452-8456,U+8458,U+845d-8460,U+8462,U+8464-8468,U+846a,U+846e-8470,U+8472,U+8474,U+8477,U+8479,U+847b-8481,U+8483-8486,U+848a,U+848d,U+848f-8496,U+8498,U+849a-849b,U+849d-84a0,U+84a2-84ae,U+84b0-84b1,U+84b3,U+84b5-84b7,U+84bb-84bc,U+84be,U+84c0,U+84c2-84c3,U+84c5-84c8,U+84cb-84cc,U+84ce-84cf,U+84d2,U+84d4-84d5,U+84d7-84dc,U+84de,U+84e1-84e2,U+84e4,U+84e7-84eb,U+84ed-84ef,U+84f1-84fb,U+84fd-84fe,U+8500-850b,U+850d-8510,U+8512,U+8514-8516,U+8518-8519,U+851b-851e,U+8520,U+8522-852a,U+852d-8536,U+853e-8542,U+8544-8547,U+854b-8555,U+8557-8558,U+855a-855d,U+855f-8563,U+8565-8567,U+8569-8571,U+8573,U+8575-8578,U+857c-857d,U+857f-8583,U+8586,U+8588-858e,U+8590-859a,U+859d-85a3,U+85a5-85a7,U+85a9,U+85ab-85ad,U+85b1-85b6,U+85b8,U+85ba-85c0,U+85c2-85c8,U+85ca-85ce,U+85d1-85d2,U+85d4,U+85d6-85db,U+85dd-85e3,U+85e5-85e8,U+85ea-85fa,U+85fc-85fe,U+8600-8604,U+8606-8610,U+8612-8615,U+8617-8626,U+8628,U+862a-8637,U+8639-863b,U+863d-864c,U+8652-8653,U+8655-8659,U+865b-865d,U+865f-8661,U+8663-866a,U+866d,U+866f-8670,U+8672-8678,U+8683-8689,U+868e-8692,U+8694,U+8696-869b,U+869e-86a2,U+86a5-86a6,U+86ab,U+86ad-86ae,U+86b2-86b3,U+86b7-86b9,U+86bb-86bf,U+86c1-86c3,U+86c5,U+86c8,U+86cc-86cd,U+86d2-86d3,U+86d5-86d7,U+86da,U+86dc-86dd,U+86e0-86e3,U+86e5-86e8,U+86ea-86ec,U+86ef,U+86f5-86f7,U+86fa-86fd,U+86ff,U+8701,U+8704-8706,U+870b-870c,U+870e-8711,U+8714,U+8716,U+8719,U+871b,U+871d,U+871f-8720,U+8724,U+8726-8728,U+872a-872d,U+872f-8730,U+8732-8733,U+8735-8736,U+8738-873a,U+873c-873d,U+8740-8746,U+874a-874b,U+874d,U+874f-8752,U+8754-8756,U+8758,U+875a-875f,U+8761-8762,U+8766-876d,U+876f,U+8771-8773,U+8775,U+8777-877a,U+877f-8781,U+8784,U+8786-8787,U+8789-878a,U+878c,U+878e-8792,U+8794-8796,U+8798-879e,U+87a0-87a7,U+87a9-87aa,U+87ae,U+87b0-87b2,U+87b4,U+87b6-87b9,U+87bb-87bc,U+87be-87bf,U+87c1-87c5,U+87c7-87c9,U+87cc-87d0,U+87d4-87da,U+87dc-87df,U+87e1-87e4,U+87e6-87e9,U+87eb-87ed,U+87ef-87f8,U+87fa-87fd,U+87ff-8802,U+8804-8809,U+880b-8812,U+8814,U+8817-881a,U+881c-8820,U+8823-8824",weight:"400"},{asset:"puhui/dcb1ff4a.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+2e81,U+2e84,U+2e88,U+2e8b-2e8c,U+2e97,U+2ea7,U+2eaa,U+2eae,U+2eb3,U+2eb6-2eb7,U+2ebb,U+2eca,U+2ff0-2ffb,U+3000,U+3003,U+3007,U+3012-3013,U+301d-301e,U+3021-3029,U+303e,U+3041-3096,U+309b-309e,U+30a1-30fa,U+30fc-30fe,U+3105-3129,U+3220-3229,U+3231,U+32a3,U+338e-338f,U+339c-339e,U+33a1,U+33c4,U+33ce,U+33d1-33d2,U+33d5,U+3400-3b10,U+20087,U+20089,U+200cc,U+20164,U+20676,U+20cd0,U+2139a,U+21413,U+215d7,U+2298f,U+235cb,U+23c97-23c98,U+23e23,U+241fe,U+249db,U+24a7d,U+24ac9",weight:"400"},{asset:"puhui/67a3cdde.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+4e0c,U+4e28,U+4e2c,U+4e36,U+4e3f,U+4ea0,U+4ec2,U+4ef3,U+4f74,U+4f91,U+4f94,U+4fc5,U+502e,U+507e,U+50ba,U+50d6,U+50ec-50ed,U+5107,U+5155,U+5181-5182,U+51b1,U+51f5,U+5216,U+522d,U+525e,U+5281-5282,U+5290,U+5293,U+52d6,U+52f9,U+5326,U+5369,U+537a,U+53a3,U+53b6,U+5423,U+5459,U+54a9,U+54b4,U+54d5,U+54d9-54da,U+54dc,U+54f3,U+54ff,U+5523,U+552a,U+553c,U+5588,U+55b5,U+55be,U+55c9,U+55cd,U+564d,U+5686,U+570a,U+572f,U+574c,U+576b,U+5776,U+5786,U+57a4,U+57d8,U+57f4,U+57fd,U+580b,U+5819,U+5820,U+5844,U+5865,U+58bc,U+5902,U+5925,U+59d2,U+5a08,U+5ab5,U+5adc,U+5ae0,U+5b16,U+5b32,U+5b37,U+5b65,U+5b80,U+5b84,U+5be4,U+5c1c,U+5c22,U+5c66,U+5c6e,U+5c88,U+5c8d,U+5cb5,U+5cbd,U+5d1e,U+5d3e,U+5ddb,U+5e31,U+5e3b,U+5e5e,U+5e80,U+5ee8,U+5efe,U+5f11,U+5f2a,U+5f50,U+5f56,U+5f61,U+5f82,U+5f8c,U+5fc4,U+5fc9,U+5fe4,U+5fed-5fee,U+600a,U+602b,U+605d,U+6067,U+609b,U+609d,U+60dd,U+6106,U+610d,U+614a,U+615d,U+619d,U+61d4,U+620b,U+6224-6225,U+6243,U+62f6,U+6322,U+6343,U+63ad,U+63be,U+63ce,U+63de,U+63f2,U+63f8,U+640b-640c,U+641b,U+6420,U+6434,U+643f,U+6445,U+6484,U+6496,U+6499,U+64d0,U+64d7,U+64e4,U+6509,U+652e,U+6534,U+6549,U+656b,U+6603,U+6634,U+674c,U+676a,U+67a8,U+67b5,U+67d9,U+67dd,U+680a,U+681d,U+6833,U+6844,U+684a,U+6864,U+6883,U+6920,U+6957,U+6971,U+69b1,U+69d4,U+6a65,U+6a8e,U+6a91,U+6aa0,U+6b37,U+6b43,U+6b9b,U+6bea,U+6bf5,U+6c15,U+6c2a,U+6c46,U+6c5c,U+6cd0,U+6d0e,U+6d48,U+6d5e,U+6d7c,U+6e2b,U+6eb2,U+6eb7,U+6ee0,U+6f24,U+6f2d,U+6f36,U+6f46,U+6f72,U+6f89,U+6f8c,U+7035,U+7039,U+706c,U+70b1,U+70c0,U+7113,U+7173,U+717a,U+71d4,U+71e0,U+721d,U+7228,U+727f,U+728b,U+728f,U+72c1,U+72c3,U+72e8,U+72ef,U+72f3-72f4,U+7303,U+730a,U+7321,U+7331,U+7338-7339,U+734d,U+736c,U+736f,U+73e7,U+746d,U+74a9,U+74de,U+74e0,U+750d,U+7513,U+752f,U+754e,U+7592,U+75b0,U+75c3-75c4,U+75e6,U+7603,U+7605,U+760a,U+761b,U+7625,U+762d,U+763c,U+7643,U+764d,U+76cd,U+7704,U+7707,U+770d,U+7722,U+7735,U+7743,U+7747,U+7780,U+778d,U+77a2,U+77b5,U+77e7,U+7809,U+7811,U+7839,U+7847,U+784e,U+7857,U+786a,U+786d,U+78a5,U+78b9,U+78c9,U+78f2,U+791e,U+7924,U+793b,U+7946,U+7953,U+7962,U+7967,U+798a,U+799a,U+7a02-7a03,U+7a06,U+7a78,U+7a80,U+7aac-7aad,U+7ab3,U+7b0a,U+7b45,U+7b4c,U+7b58,U+7b7b,U+7b9d,U+7ba2,U+7ba8,U+7bda,U+7be5,U+7bfc,U+7c0f,U+7c16,U+7c40,U+7ca2,U+7cc7-7cc8,U+7cd7,U+7cf8,U+7d77,U+7e3b,U+7ea1,U+7ea9,U+7ec1,U+7ef2,U+7f02,U+7f07,U+7f0b-7f0c,U+7f0f,U+7f12,U+7f23,U+7f2f,U+7f32-7f33,U+7f68,U+7f9d,U+8014,U+8020,U+8022,U+8025,U+8028-8029,U+8035,U+804d,U+8080,U+809c,U+80ad,U+80b7,U+80c2,U+80d9,U+80e8-80e9,U+80ec,U+80f2,U+810e,U+811e,U+812c,U+8136,U+8159,U+817d,U+8182,U+81a3,U+81aa,U+8201,U+8204,U+8221,U+8223,U+822d,U+822f,U+8233,U+823b,U+824b,U+825a,U+8268,U+8274,U+827d,U+827f,U+8284,U+8288,U+828f,U+8291,U+82b0,U+82c8,U+82e0,U+8307,U+8311,U+831b,U+833c,U+8347,U+835b,U+836d-836e,U+837d,U+839b,U+83a9,U+83b0,U+83dd,U+83e5,U+83f9,U+8406,U+840f,U+8459,U+845c,U+8487-8488,U+848e,U+84b4,U+84b9,U+84cd,U+84d0,U+84e3,U+84f0,U+850c,U+8539,U+8579-857a,U+85a8,U+85b7,U+863c,U+864d,U+867c,U+867f,U+86b0,U+86ba,U+86c4,U+86d1,U+86d8,U+86de,U+86f1-86f2,U+871e,U+8723,U+8729,U+873e,U+8753,U+8764,U+8770,U+877e,U+8788,U+878b,U+8793,U+8797,U+87ac-87ad,U+87b5,U+87bd,U+87d3,U+87db,U+8803,U+880a,U+881b,U+883c,U+8844,U+887f,U+88bc,U+88d2,U+88f0,U+88fc,U+8930,U+895e,U+8966,U+89cc,U+89cf,U+89d6,U+89dc,U+89eb,U+8a48,U+8b26,U+8ba0,U+8bd4,U+8bdc,U+8bf6,U+8c02,U+8c2b,U+8c2e,U+8c33,U+8c85,U+8c8a,U+8c94,U+8c98,U+8d33,U+8d47,U+8d55,U+8db1,U+8dbc,U+8dcf,U+8dd6,U+8de3,U+8e23,U+8e2c,U+8e40,U+8e6f,U+8e90,U+8e94,U+8e9c,U+8e9e,U+8ece,U+8f77,U+8f79-8f7a,U+8f81-8f82,U+8fd5,U+8fee,U+902d,U+9058,U+90b6,U+90db,U+9139,U+914e-914f,U+9164,U+9174,U+9191,U+91a2,U+91ad,U+91af,U+91b5,U+928e,U+936a,U+943e,U+948b,U+9494,U+94b6-94b8,U+94d8,U+94de,U+94eb,U+94f4,U+94f9,U+950a,U+950d-950e,U+9513-9514,U+9516,U+9518,U+951e,U+9529,U+952b,U+9538,U+953c,U+953e-953f,U+9544,U+954e,U+955f,U+9561,U+9564,U+9569,U+956c,U+95f6,U+95fc,U+9603,U+960c-960d,U+9622,U+963c-963d,U+9654,U+9667,U+966c,U+9674,U+9688,U+96b3,U+9792,U+9794,U+97ab,U+97b2,U+98a1,U+98a5,U+9969,U+996b,U+9987,U+9998,U+9a75,U+9a7a,U+9a80,U+9a92,U+9a96,U+9a98,U+9a9f,U+9ab1,U+9aba,U+9ad1,U+9adf,U+9b08,U+9b0f,U+9b2f,U+9b43,U+9b48,U+9c8e,U+9c92,U+9c94-9c95,U+9c9a,U+9ca6,U+9cb0,U+9cb4,U+9cba,U+9cbc-9cbd,U+9cc6,U+9ccb,U+9cd0,U+9cd4,U+9cd8,U+9e2b,U+9e31-9e32,U+9e36,U+9e38,U+9e3a,U+9e4b,U+9e4e,U+9e55,U+9e5b,U+9e63,U+9e68-9e69,U+9e71,U+9e7e,U+9e88,U+9eb4,U+9ebd,U+9ec9,U+9ee5,U+9eea,U+9ef9,U+9efb-9efc,U+9f0d,U+9f37,U+9f3d,U+9f44,U+9f51,U+9f86,U+9fa0",weight:"400"},{asset:"puhui/7efb8990.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+8825-8831,U+8833-8838,U+883a-883b,U+883d-883f,U+8841-8843,U+8846-884b,U+884e-8853,U+8855-8856,U+8858,U+885a-8860,U+8866-8867,U+886a,U+886d,U+886f,U+8871,U+8873-8876,U+8878-887c,U+8880,U+8883,U+8886-8887,U+8889-888a,U+888c,U+888e-8891,U+8893-8895,U+8897-889b,U+889d-88a1,U+88a3,U+88a5-88aa,U+88ac,U+88ae-88b0,U+88b2-88b6,U+88b8-88bb,U+88bd-88c0,U+88c3-88c4,U+88c7-88c8,U+88ca-88cd,U+88cf-88d1,U+88d3,U+88d6-88d7,U+88da-88de,U+88e0-88e1,U+88e6-88e7,U+88e9-88ef,U+88f2,U+88f5-88f7,U+88fa-88fb,U+88fd,U+88ff-8901,U+8903-8909,U+890b-890f,U+8911,U+8914-8918,U+891c-8920,U+8922-8924,U+8926-8929,U+892c-892f,U+8931-8933,U+8935,U+8937-8940,U+8942-8943,U+8945-895d,U+8960-8965,U+8967-897a,U+897c-897e,U+8980,U+8982,U+8984-8985,U+8987-89c0,U+89c3,U+89cd,U+89d3-89d5,U+89d7-89d9,U+89db,U+89dd,U+89df-89e2,U+89e4,U+89e7-89ea,U+89ec-89ee,U+89f0-89f2,U+89f4-89ff,U+8a01-8a06,U+8a08-8a3d,U+8a3f-8a47,U+8a49-8a78,U+8a7a-8a88,U+8a8b-8a92,U+8a94-8b06,U+8b08-8b25,U+8b27-8b65,U+8b67-8b6b,U+8b6d-8b9f,U+8bac,U+8bb1,U+8bbb,U+8bc7,U+8bd0,U+8bea,U+8c09,U+8c1e,U+8c38-8c40,U+8c42-8c45,U+8c48,U+8c4a-8c4b,U+8c4d-8c54,U+8c56-8c59,U+8c5b-8c60,U+8c63-8c69,U+8c6c-8c72,U+8c74-8c77,U+8c7b-8c81,U+8c83-8c84,U+8c86-8c88,U+8c8b,U+8c8d-8c93,U+8c95-8c97,U+8c99-8d1c,U+8d20,U+8d51-8d52,U+8d57,U+8d5f,U+8d65,U+8d68-8d6a,U+8d6c,U+8d6e-8d6f,U+8d71-8d72,U+8d78-8d80,U+8d82-8d83,U+8d86-8d89,U+8d8c-8d90,U+8d92-8d93,U+8d95-8d9e,U+8da0-8da2,U+8da4-8db0,U+8db2,U+8db6-8db7,U+8db9,U+8dbb,U+8dbd,U+8dc0-8dc2,U+8dc5,U+8dc7-8dca,U+8dcd,U+8dd0,U+8dd2-8dd5,U+8dd8-8dd9,U+8ddc,U+8de0-8de2,U+8de5-8de7,U+8de9,U+8ded-8dee,U+8df0-8df2,U+8df4,U+8df6,U+8dfc,U+8dfe-8e04,U+8e06-8e08,U+8e0b,U+8e0d-8e0e,U+8e10-8e13,U+8e15-8e1c,U+8e20-8e21,U+8e24-8e28,U+8e2b,U+8e2d,U+8e30,U+8e32-8e34,U+8e36-8e38,U+8e3b-8e3c,U+8e3e-8e3f,U+8e43,U+8e45-8e46,U+8e4c-8e50,U+8e53-8e58,U+8e5a-8e65,U+8e67-8e68,U+8e6a-8e6b,U+8e6e,U+8e71,U+8e73,U+8e75,U+8e77-8e7b,U+8e7d-8e7e,U+8e80,U+8e82-8e84,U+8e86,U+8e88-8e8e,U+8e91-8e93,U+8e95-8e9b,U+8e9d,U+8e9f-8eaa,U+8ead-8eae,U+8eb0-8eb1,U+8eb3-8eb9,U+8ebb-8ecd,U+8ecf-8f65,U+8f6a,U+8f80,U+8f8c,U+8f92,U+8f9d,U+8fa0-8fa2,U+8fa4-8fa7,U+8faa,U+8fac-8faf,U+8fb2-8fb5,U+8fb7-8fb8,U+8fba-8fbc,U+8fbf-8fc0,U+8fc3,U+8fc6,U+8fc9-8fcd,U+8fcf,U+8fd2,U+8fd6-8fd7,U+8fda,U+8fe0-8fe1,U+8fe3,U+8fe7,U+8fec,U+8fef,U+8ff1-8ff2,U+8ff4-8ff6,U+8ffa-8ffc,U+8ffe-8fff,U+9007-9008,U+900c,U+900e,U+9013,U+9015,U+9018-9019,U+901c,U+9023-9025,U+9027-902c,U+9030-9034,U+9037,U+9039-903a,U+903d,U+903f-9040,U+9043,U+9045-9046,U+9048-904c,U+904e,U+9054-9056,U+9059-905a,U+905c-9061,U+9064,U+9066-9067,U+9069-906c,U+906f-9073,U+9076-9077",weight:"400"},{asset:"puhui/668b1bf5.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+4e10,U+4e15,U+4e19,U+4e1e,U+4e2b,U+4e38,U+4e4d,U+4e56,U+4e5e,U+4e98,U+4ea2,U+4ea5,U+4ea8,U+4eb3,U+4ec3,U+4ec6-4ec7,U+4ec9,U+4ed1,U+4ed5,U+4f0e,U+4f1e,U+4f2b,U+4f36,U+4f3a,U+4f3d,U+4f51,U+4f58,U+4f5f,U+4f63-4f64,U+4f6c,U+4f70,U+4f7c,U+4f83-4f84,U+4f88,U+4f8d,U+4f8f,U+4f97,U+4fa0,U+4fa3,U+4fa5,U+4fac,U+4fae,U+4fd0-4fd1,U+4fd8,U+4fde-4fdf,U+4fe8,U+4fef,U+4ffa,U+5014,U+5018,U+501a,U+501c,U+5026,U+5029,U+5043,U+504c,U+5055,U+508d,U+50a3,U+50a9,U+50bb,U+50da,U+50e7,U+50f5,U+50fb,U+510b,U+5140,U+5154,U+5156,U+515c,U+5162,U+516e,U+517d,U+5189,U+5195,U+5197,U+51a2,U+51a4-51a5,U+51bc-51bd,U+51c4,U+51cb,U+51d1,U+51db,U+51f0,U+51f3,U+51f8-51f9,U+51ff,U+5201,U+5203,U+5220,U+5228,U+5239,U+5243,U+524c,U+5254,U+5256,U+527d,U+527f,U+5288,U+52c9,U+52d0,U+52fa,U+52ff-5300,U+5308,U+5315,U+5319,U+531d,U+5320-5321,U+5323,U+532a,U+532e,U+533e-533f,U+5351-5352,U+535c,U+535e,U+5364,U+5366,U+536f,U+5375,U+5384,U+538c,U+53a2,U+53a5,U+53ae,U+53db,U+53e0,U+53e8-53e9,U+53ed-53ee,U+53f1,U+53fd,U+5406,U+540f,U+5413,U+541d,U+541f,U+5429,U+542d-542e,U+5431,U+5435,U+543b-543c,U+5450,U+5455,U+545b-545c,U+5471,U+5475,U+547b,U+5480,U+5484,U+5486,U+548b,U+548e-5490,U+5492,U+5494-5496,U+549a,U+54a4,U+54aa-54ab,U+54af,U+54b3,U+54bd,U+54c4,U+54c6-54c7,U+54c9,U+54ce,U+54d1,U+54d7,U+54df,U+54e6,U+54e8-54e9,U+54ee,U+54fa,U+54fc-54fd,U+5501,U+5506-5507,U+5509,U+5511,U+5520,U+5522,U+552c,U+553e,U+5543,U+5561,U+5567,U+556a,U+556c,U+5578,U+557b-557c,U+5582-5583,U+5587,U+5589,U+5598,U+55a7,U+55b3,U+55c5,U+55d2-55d3,U+55dc,U+55e1,U+55e3,U+55e6,U+55f7,U+55fd,U+5600,U+5608,U+560e,U+5618,U+561b,U+561f,U+5631-5632,U+5636,U+5639,U+563b,U+563f,U+5659,U+5662,U+5669,U+566c,U+5676,U+567c,U+568e,U+5693,U+56a3,U+56b7,U+56bc,U+56da,U+56e4,U+56f1,U+56ff,U+5703,U+5729-572a,U+573b,U+5742,U+574d,U+575e-5760,U+5768,U+576f,U+5773,U+5777,U+577b,U+579b,U+57a0,U+57a2-57a3,U+57ae,U+57b8,U+57c2,U+57e0,U+5811,U+5815,U+5830,U+586c,U+587e,U+5885,U+5892,U+589f,U+58a9,U+58d1,U+58d5,U+58f6,U+58f9,U+5919,U+592d,U+592f,U+5937,U+5944,U+5955,U+595a,U+5962,U+5974,U+5978,U+5983-5984,U+598a,U+598d,U+5992-5993,U+5996,U+59a9,U+59ae,U+59ca,U+59d7,U+59e3,U+59e5,U+59e8,U+59ec,U+5a04-5a05,U+5a07,U+5a13,U+5a1f-5a20,U+5a23,U+5a25,U+5a29,U+5a34,U+5a36,U+5a3c,U+5a49,U+5a6a,U+5a76-5a77,U+5a7a,U+5a7f,U+5a9a-5a9b,U+5ab2-5ab3,U+5ac2,U+5ac9,U+5ad6,U+5ae3,U+5b09,U+5b17,U+5b5a,U+5b62,U+5b70,U+5b75,U+5b7a,U+5b7d,U+5b95,U+5b99,U+5b9b,U+5ba0,U+5ba6,U+5bb5,U+5bb8,U+5bc5,U+5bc7,U+5bd0,U+5bdd-5bde,U+5be1,U+5be5,U+5bf0,U+5c09,U+5c27,U+5c2c,U+5c34,U+5c38,U+5c41,U+5c49,U+5c4e,U+5c51,U+5c6f,U+5c79,U+5c7f,U+5c82,U+5c8c,U+5c90-5c91,U+5c94,U+5c96,U+5cab,U+5cb1,U+5cb7,U+5cd9,U+5ce5-5ce6,U+5ce8,U+5cea,U+5ced,U+5d02,U+5d0e,U+5d16,U+5d29,U+5d34,U+5d3d,U+5d4a,U+5d4c,U+5d58,U+5d69,U+5d82,U+5dc5,U+5dcd,U+5de2,U+5deb,U+5e16,U+5e18,U+5e1a-5e1b,U+5e27,U+5e37,U+5e3c,U+5e44,U+5e4c,U+5e7a,U+5e87,U+5e90,U+5e9a,U+5ea5,U+5eb5-5eb6,U+5ed3,U+5eff,U+5f08,U+5f0b,U+5f13,U+5f1b,U+5f26-5f27,U+5f29,U+5f3c,U+5f57,U+5f5d,U+5f64,U+5f6a,U+5f77,U+5f87,U+5f89-5f8a,U+5f95,U+5f98-5f99,U+5f9c,U+5fa8,U+5fcc,U+5fd0-5fd1,U+5fd6,U+5fe1,U+5ff1,U+5ffb,U+5fff,U+6005,U+6012,U+6016,U+601c,U+6020-6021,U+6026,U+602f,U+6035,U+6043,U+604d,U+6055,U+6059,U+6063-6064,U+6068,U+606a,U+606c-606d,U+607a,U+607c,U+608d,U+6094,U+6096,U+60af,U+60b4,U+60b8,U+60bb-60bc,U+60cb,U+60d5,U+60d8,U+60df,U+60e6-60e7,U+60eb-60ee,U+60f0,U+60f6,U+60f9,U+6115,U+611a,U+6123,U+612b,U+614c,U+6151,U+6177,U+618b,U+618e,U+6194,U+61a7-61a9,U+61ac,U+61ca-61cb,U+61d2,U+61e6,U+61f5,U+620a,U+620c-620e,U+621a,U+6233,U+6241,U+6248-6249,U+6252,U+6254,U+625b,U+626f,U+6273,U+627c,U+6284,U+6289,U+6292,U+6296,U+62a0-62a1,U+62a8,U+62b9,U+62c2,U+62c4,U+62c7,U+62cc,U+62ce,U+62d0,U+62d7,U+62d9,U+62e2-62e3,U+62e7,U+62ed-62ef,U+62f1,U+62f4,U+62f7,U+62fd-62fe,U+630e,U+631a,U+631d,U+631f-6320,U+6328,U+6342,U+6345-6346,U+634d-634f,U+6361,U+6363,U+6376,U+637a-637b,U+6382,U+6390,U+6396,U+63a0,U+63a3,U+63ac,U+63b0,U+63b7,U+63ba,U+63c9,U+63e3,U+63e9-63ea,U+6400-6402,U+6405,U+6413,U+642a,U+6452,U+6454,U+645e,U+6467,U+6479,U+6482,U+6487,U+6495,U+64a9,U+64ac,U+64ae,U+64b5,U+64b7,U+64bc,U+64c2,U+64ce,U+64d2,U+64de,U+6512,U+6518,U+6525,U+652b,U+6538,U+6556,U+655b,U+655d,U+6577,U+658b,U+6590,U+6593,U+659f,U+65a1,U+65a7,U+65a9,U+65bc,U+65cc,U+65ce,U+65d6,U+65ee-65ef,U+65f7,U+660a,U+6615,U+6627,U+6631,U+6636,U+663c,U+6643,U+664c,U+664f,U+6652,U+6654-6656,U+665f,U+6666,U+6674,U+667e,U+6684,U+6687,U+66ae,U+66b9,U+66d9,U+66dd,U+66e6,U+66f0,U+66f3,U+6714,U+6726,U+672d,U+673d,U+6749,U+6756,U+675e,U+6760,U+6773,U+6777,U+677c,U+6787,U+6789,U+6795,U+67ab,U+67af,U+67b8,U+67c4,U+67d1,U+67d8,U+67da,U+67de,U+67e0,U+67e9,U+67ff,U+6805,U+6808-6809,U+6813,U+6816-6817,U+6829,U+683e,U+6845,U+684e,U+6853-6854,U+6862,U+6866,U+6868-6869,U+6886,U+6893,U+6897,U+68a2,U+68a7-68a8,U+68ad,U+68b3,U+68b5,U+68cd,U+68d5,U+68d8,U+68e0,U+68e3,U+68f1,U+68f5,U+68fa,U+690e,U+6912,U+692d,U+6930,U+693d,U+693f,U+6942,U+695e,U+6960,U+6963,U+6977,U+6979,U+6984,U+6986,U+6988,U+6994-6995,U+69a8,U+69ad,U+69b4,U+69b7,U+69bb,U+69cc,U+69d0,U+69db,U+69df,U+69fd,U+6a1f,U+6a31,U+6a35,U+6a44,U+6a59,U+6a71,U+6a80,U+6a90,U+6aac,U+6b47,U+6b49,U+6b59,U+6b6a,U+6b7c,U+6b83,U+6b86,U+6b89,U+6b9a,U+6ba1,U+6bb4,U+6bcb,U+6bd3,U+6bd7,U+6bd9,U+6be1,U+6c13,U+6c1f,U+6c22,U+6c26,U+6c28,U+6c2e-6c30,U+6c40,U+6c50,U+6c5d-6c5e,U+6c69,U+6c72,U+6c74,U+6c76,U+6c79,U+6c7e,U+6c81,U+6c85,U+6c8c,U+6c90,U+6c93,U+6ca5-6ca6,U+6cab,U+6cad-6cae,U+6cb1,U+6cb8,U+6cbc-6cbe,U+6ccc,U+6cd3,U+6cd7,U+6cde,U+6ce0,U+6ce3,U+6cef,U+6cf1,U+6cf5,U+6cf8,U+6cfb,U+6cfe,U+6d19,U+6d31,U+6d3c,U+6d43,U+6d47,U+6d4a,U+6d4f,U+6d52,U+6d54,U+6d5a,U+6d5c,U+6d78,U+6d85,U+6d8e,U+6d93,U+6d95,U+6d9f,U+6da1,U+6da3,U+6da7,U+6da9-6daa,U+6dae,U+6db8,U+6dbf,U+6dc4-6dc7,U+6dcb-6dcc,U+6dd6,U+6dde,U+6de4,U+6de6,U+6df3,U+6dfc,U+6e0a,U+6e0d-6e0e,U+6e1a,U+6e1d,U+6e23,U+6e25,U+6e2d,U+6e32,U+6e3a,U+6e43-6e44,U+6e4d,U+6e5f,U+6e6e,U+6e83,U+6e85,U+6e9c,U+6e9f,U+6ea5,U+6ea7,U+6eaf,U+6eb4,U+6eb6,U+6eba,U+6ec1,U+6ec7,U+6ed4-6ed5,U+6ee4,U+6ee6,U+6ef9,U+6f13,U+6f15,U+6f29-6f2a,U+6f2f,U+6f31,U+6f33,U+6f3e,U+6f4d,U+6f5e,U+6f62,U+6f78,U+6f7a,U+6f7c,U+6f84,U+6f88,U+6f8e,U+6fa1,U+6fa7,U+6fc2,U+6fd2,U+6fe1,U+6fee,U+7011,U+701a-701b,U+704f,U+7076,U+7078,U+707c,U+708a,U+7095-7096,U+7099,U+709c,U+70ab-70ac,U+70af,U+70bd,U+70c1,U+70c3,U+70d8-70d9,U+70db,U+70e8,U+70eb-70ec,U+70f7,U+70f9,U+70fd,U+7109,U+7118,U+711a,U+7130-7131,U+714a,U+714e,U+715c,U+715e,U+7166,U+716e,U+7172,U+717d,U+7184,U+718f,U+7194,U+71a0,U+71a8,U+71ac,U+71b9,U+71ce,U+71e5,U+71ee,U+722a,U+7235,U+7239,U+724d,U+7252,U+7266,U+7280-7281,U+728a,U+72b7,U+72c4,U+72d0,U+72e1,U+72e9,U+72ed,U+72f8,U+72fc,U+7315-7317,U+731c-731d,U+7329,U+7334,U+7337,U+733e-733f,U+7357,U+736d,U+7384,U+7396,U+73ab,U+73ae,U+73b7,U+73ba,U+73c0,U+73c2,U+73ca,U+73cf,U+73d1,U+73e9,U+73f2,U+7405,U+7409,U+740f-7410,U+7422,U+7425-7426,U+7428,U+742a,U+742c,U+742e,U+7435-7436,U+7455,U+7459-745c,U+745f,U+7470,U+747e,U+7480,U+7487,U+748b,U+7490,U+749c,U+749e,U+74a7-74a8,U+74e2-74e3,U+74ee-74ef,U+74f4,U+7504,U+7519,U+7525,U+7529,U+752b-752d,U+753a,U+7572,U+7574,U+7578,U+7599-759a,U+759f,U+75a1,U+75a4,U+75ae-75af,U+75b5,U+75b9,U+75ca,U+75d2,U+75d4-75d5,U+75de,U+75ea-75eb,U+75f0,U+75f4,U+75f9,U+7600-7601,U+761f-7620,U+7629,U+762b,U+7638,U+763e,U+7656,U+765c,U+7663,U+766b,U+7678,U+7682,U+768b,U+768e,U+7691,U+7693,U+7696,U+76b1,U+76bf,U+76c2,U+76ce-76cf,U+76d4,U+76ef,U+76f9,U+7720,U+7728-7729,U+772f,U+7736-7738,U+773a,U+7741,U+7762,U+7766,U+776b-776c,U+777d,U+777f,U+7785,U+778e,U+7792,U+77a0,U+77a5,U+77a7,U+77aa,U+77ac,U+77b0,U+77bb,U+77bf,U+77cd,U+77d7,U+77e2-77e3,U+77e9,U+77eb,U+77ee,U+77f6,U+77f8,U+77fd-77fe,U+780c,U+781a,U+7825,U+7837-7838,U+783a,U+783e,U+7845,U+7852,U+785d,U+787c,U+788c,U+789f,U+78b4,U+78be,U+78c5,U+78ca,U+78d0,U+78d5,U+78fa,U+7901,U+7934,U+7940-7941,U+7948,U+795a-795b,U+795f-7960,U+796d,U+796f,U+7977,U+797a,U+7985,U+79a7,U+79b9-79ba,U+79be,U+79c3,U+79c6,U+79c9,U+79e4,U+79e7,U+79ed,U+79f8,U+79fd,U+7a1a,U+7a1e,U+7a20,U+7a37,U+7a3c-7a3d,U+7a57,U+7a74,U+7a79,U+7a84,U+7a8d,U+7a92,U+7a96,U+7a98,U+7a9c,U+7a9f,U+7aa5-7aa6,U+7abf,U+7ad6,U+7afa,U+7aff,U+7b03,U+7b06,U+7b0b,U+7b19,U+7b1b,U+7b20,U+7b28,U+7b3a,U+7b4f-7b50,U+7b52,U+7b5b,U+7b5d,U+7b60,U+7b71,U+7b75,U+7b77,U+7b8d,U+7b94,U+7ba9,U+7bab,U+7bb4,U+7bc6,U+7bd3,U+7bdd,U+7be1,U+7bf1,U+7bf7,U+7c07,U+7c27,U+7c38,U+7c3f,U+7c7c-7c7d,U+7c95,U+7c9f,U+7ca5,U+7caa,U+7cb1,U+7cb3,U+7cb9,U+7cbc-7cbd,U+7cd5,U+7cd9,U+7cdc,U+7cdf-7ce0,U+7cef,U+7d0a,U+7d6e,U+7e82,U+7eab-7ead,U+7eb6,U+7ec5,U+7ec9-7eca,U+7ece,U+7ed1,U+7eda-7edb,U+7ede,U+7ee2,U+7ee5,U+7eee,U+7ef0,U+7ef6-7ef7,U+7efd,U+7f00,U+7f09,U+7f0e,U+7f15,U+7f19-7f1a,U+7f1c,U+7f20,U+7f24,U+7f28,U+7f2a-7f2b,U+7f2d-7f2e,U+7f30,U+7f38,U+7f42,U+7f44,U+7f54,U+7f69,U+7f79,U+7f81,U+7f8c,U+7f94,U+7f9a,U+7f9e,U+7fa1,U+7fb2,U+7fb9,U+7fc5,U+7fcc,U+7fce,U+7fd8,U+7fdf,U+7fe1,U+7fe9,U+7ff1,U+8004,U+800b,U+800d,U+8018-8019,U+8038,U+803b,U+803d,U+803f,U+8046,U+804b,U+8086-8087,U+808b-808c,U+8098,U+809a-809b,U+80a2,U+80aa,U+80ae,U+80b4,U+80be,U+80c4,U+80d6,U+80da,U+80e5,U+80e7,U+80eb,U+80f0-80f1,U+80f3,U+80fa,U+810a,U+810d,U+8110,U+8113,U+8116,U+812f,U+813e,U+8146,U+8148,U+814c,U+8151,U+8155,U+8165,U+816e,U+817a-817c,U+8180,U+818a,U+818f,U+819b,U+819d,U+81b3,U+81ba,U+81c0,U+81c3,U+81c6,U+81e7,U+81ed,U+81fb-81fc,U+81fe,U+8205,U+820c,U+821c,U+822b,U+8231,U+8235,U+8237-8238,U+828b,U+8292,U+8299,U+829c,U+82a5-82a6,U+82aa,U+82ad-82af,U+82b7-82b9,U+82bd,U+82c7,U+82ce,U+82d1,U+82d3-82d4,U+82db,U+82de-82df,U+82ef,U+8301,U+8304,U+8309,U+830e-830f,U+8317,U+831c,U+8327,U+832c,U+832f,U+8335,U+8338-8339,U+8340,U+8343,U+8346,U+8354,U+835e-835f,U+8364-8365,U+8367,U+836a-836b,U+837b-837c,U+8385-8386,U+8392-8393,U+8398,U+839e,U+83a0,U+83b9-83ba,U+83bd,U+83c1,U+83c7,U+83cf,U+83e0,U+83e9,U+83f1,U+8403,U+840c,U+840e,U+841d,U+8424,U+8426,U+8431,U+8446,U+8469,U+846b,U+8471,U+8475,U+849c,U+84af,U+84b2,U+84bf,U+84c9,U+84d3,U+84df,U+84e6,U+8511,U+8513,U+8517,U+851a,U+853a,U+853c-853d,U+8543,U+8549-854a,U+8559,U+8568,U+8587,U+85af-85b0,U+85b9,U+85c9,U+85d5,U+85dc,U+85e4,U+85e9,U+85fb,U+8611,U+8638,U+864f-8650,U+8654,U+865e,U+8681-8682,U+868a,U+868c,U+869c,U+86c0,U+86ce,U+86d9,U+86db,U+86df,U+86e4,U+86ee,U+86fe,U+8700,U+8712-8713,U+8715,U+8717-8718,U+871a,U+871c,U+8721,U+873f,U+8747,U+8749,U+874e,U+8757,U+8774,U+8776,U+8783,U+87ba,U+87c0,U+87cb,U+87f9,U+87fe,U+8821-8822,U+8845,U+8859,U+8862,U+8882,U+8884-8885,U+888d,U+8892,U+889c,U+88a4,U+88d4,U+88d8-88d9,U+88e8,U+88f1,U+88f3-88f4,U+88f8-88f9,U+8902,U+8910,U+8912,U+891a,U+8925,U+892a,U+895f,U+8983,U+89c5,U+89d1,U+8a79,U+8a93,U+8b6c,U+8ba5,U+8bb3-8bb4,U+8bb6-8bb7,U+8bb9,U+8bbd,U+8bc0,U+8bd8-8bd9,U+8be0-8be1,U+8be3,U+8be7,U+8be9,U+8beb-8bec,U+8bf2,U+8bf5,U+8bfd,U+8bff,U+8c05-8c06,U+8c0d-8c0e,U+8c12,U+8c19-8c1c,U+8c1f,U+8c23-8c24,U+8c27,U+8c2c,U+8c34,U+8c41,U+8c5a,U+8c79,U+8c82,U+8d1e,U+8d26,U+8d2c,U+8d2e,U+8d31-8d32,U+8d3b-8d3c,U+8d43,U+8d48,U+8d4a,U+8d4e,U+8d50,U+8d53,U+8d58,U+8d5d,U+8d61,U+8d66,U+8d81,U+8d9f,U+8db4,U+8dbe,U+8dcb,U+8dda,U+8de4,U+8dea,U+8df7,U+8dfb,U+8e0a,U+8e0c,U+8e1e,U+8e22,U+8e29,U+8e35,U+8e44,U+8e4a,U+8e52,U+8e66,U+8e6c,U+8e72,U+8e74,U+8e7c,U+8e81,U+8e87,U+8eac,U+8eaf,U+8eb2,U+8eba,U+8f69,U+8f76,U+8f7c,U+8f84,U+8f8a,U+8f8d,U+8f95,U+8f97-8f99,U+8fa8,U+8fab,U+8fc2,U+8fe2,U+8fe4-8fe6,U+8fe9,U+8fed,U+8ff8,U+900a,U+900d,U+9017,U+901b,U+901e,U+902e,U+9035,U+9038,U+9042,U+9050,U+9052,U+905b,U+9068,U+906e,U+9074,U+9083,U+9091,U+9095,U+909d,U+90a1,U+90aa,U+90ac,U+90af,U+90b3,U+90b8,U+90c5,U+90dd,U+90e1,U+90e7,U+90f4,U+90f8,U+9102,U+9119,U+911e,U+9122,U+912f,U+9131,U+9149,U+914b-914c,U+9157,U+915a,U+915d,U+9163,U+9165,U+916a,U+916e-9171,U+9175-9176,U+9187,U+918b,U+919b,U+91c9,U+91dc,U+92ae,U+93d6,U+946b,U+9489-948a,U+948e,U+9492,U+9499-949b,U+949d,U+94a0-94a1,U+94a5,U+94a7-94a8,U+94ae,U+94b0,U+94b3-94b5,U+94bc,U+94be,U+94c0,U+94c2,U+94c4,U+94c6,U+94c9,U+94ce,U+94d0,U+94e2-94e4,U+94e8,U+94ec,U+94ee,U+94f1-94f2,U+94f5,U+94ff,U+9502,U+9504,U+9508,U+950c,U+9511,U+9517,U+951a,U+9522-9525,U+952d,U+952f-9530,U+9532,U+9535-9537,U+9539,U+9540-9541,U+954c-954d,U+9550-9551,U+9556,U+955b,U+956d,U+956f-9570,U+9576,U+95eb,U+95f0,U+95f5,U+95f7,U+95fa,U+9600,U+9602,U+9611,U+9616,U+9619,U+9621,U+962a,U+962e,U+9631,U+9640,U+9642,U+9647,U+964b-964c,U+965b,U+9661,U+9668,U+9672,U+9685,U+968b,U+968d,U+9698-9699,U+96b6,U+96bd,U+96c0-96c1,U+96cc-96cd,U+96cf,U+96ef,U+96f9,U+9704,U+9706,U+9709,U+970f,U+9713,U+9716,U+971c,U+9753,U+9756,U+9761,U+9773-9774,U+9776,U+97a0,U+97e7,U+97ec-97ed,U+97f6,U+9885,U+988a,U+988d,U+9890,U+9893,U+98a0,U+98a4,U+98da,U+98e8,U+9965,U+996a,U+9975-9976,U+997a,U+997f,U+9981,U+9985,U+9988,U+998b,U+998d,U+998f,U+9992,U+99a5,U+99a8,U+9a6d-9a6f,U+9a73-9a74,U+9a77,U+9a79,U+9a7c,U+9a7f,U+9a81-9a82,U+9a85-9a87,U+9a8a-9a8b,U+9a8f,U+9a9a,U+9a9e,U+9aa1,U+9aa5,U+9ab8,U+9abc,U+9ad3,U+9ae6,U+9b03,U+9b13,U+9b41,U+9c7f,U+9c85,U+9c9f,U+9ca4,U+9ca8,U+9cab,U+9cb8,U+9cbb,U+9cc4,U+9ccc,U+9cd6-9cd7,U+9cdd-9cde,U+9e25-9e26,U+9e2f,U+9e33,U+9e35,U+9e3d-9e3e,U+9e43-9e44,U+9e4a,U+9e5c,U+9e6d,U+9e8b,U+9e92-9e93,U+9e9d,U+9e9f,U+9ebe,U+9ed4,U+9edb,U+9edd,U+9eef,U+9f10,U+9f8b,U+9f9f",weight:"400"},{asset:"puhui/b50d627f.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+62f5,U+62f8-62fb,U+6300,U+6303-6306,U+630a-630d,U+630f-6310,U+6312-6315,U+6317-6319,U+631c,U+6326-6327,U+6329,U+632c-632e,U+6330-6331,U+6333-6338,U+633b-633c,U+633e-6341,U+6344,U+6347-6348,U+634a,U+6351-6354,U+6356-635d,U+6360,U+6364-6366,U+6368,U+636a-636c,U+636f-6370,U+6372-6375,U+6378-6379,U+637c-637f,U+6381,U+6383-6386,U+638b,U+638d,U+6391,U+6393-6395,U+6397,U+6399-639f,U+63a1,U+63a4,U+63a6,U+63ab,U+63af,U+63b1-63b2,U+63b5-63b6,U+63b9,U+63bb,U+63bd,U+63bf-63c3,U+63c5,U+63c7-63c8,U+63ca-63cc,U+63d1,U+63d3-63d5,U+63d7-63dd,U+63df,U+63e2,U+63e4-63e8,U+63eb-63ec,U+63ee-63f1,U+63f3,U+63f5,U+63f7,U+63f9-63fc,U+63fe,U+6403-6404,U+6406-640a,U+640d-640e,U+6411-6412,U+6415-641a,U+641d,U+641f,U+6422-6425,U+6427-6429,U+642b,U+642e-6433,U+6435-6439,U+643b-643c,U+643e,U+6440,U+6442-6443,U+6449,U+644b-6451,U+6453,U+6455-6457,U+6459-645d,U+645f-6466,U+6468,U+646a-646c,U+646e-6477,U+647b-6481,U+6483,U+6486,U+6488-6490,U+6493-6494,U+6497-6498,U+649a-649d,U+649f-64a3,U+64a5-64a8,U+64aa-64ab,U+64af,U+64b1-64b4,U+64b6,U+64b9,U+64bb,U+64bd-64bf,U+64c1,U+64c3-64c4,U+64c6-64cc,U+64cf,U+64d1,U+64d3-64d6,U+64d9-64dd,U+64df-64e1,U+64e3,U+64e5,U+64e7-64ff,U+6501-6508,U+650a-6511,U+6513-6517,U+6519-6524,U+6526-652a,U+652c-652d,U+6530-6533,U+6537,U+653a,U+653c-653d,U+6540-6544,U+6546-6547,U+654a-654b,U+654d-654e,U+6550,U+6552-6554,U+6557-6558,U+655a,U+655c,U+655f-6561,U+6564-6565,U+6567-656a,U+656d-656f,U+6571,U+6573,U+6575-6576,U+6578-6586,U+6588-658a,U+658d-658f,U+6592,U+6594-6596,U+6598,U+659a,U+659d-659e,U+65a0,U+65a2-65a3,U+65a6,U+65a8,U+65aa,U+65ac,U+65ae,U+65b1-65b8,U+65ba-65bb,U+65be-65c0,U+65c2,U+65c7-65ca,U+65cd,U+65d0-65d1,U+65d3-65d5,U+65d8-65df,U+65e1,U+65e3-65e4,U+65ea-65eb,U+65f2-65f5,U+65f8-65f9,U+65fb-65ff,U+6601,U+6604-6605,U+6607-6609,U+660b,U+660d,U+6610-6612,U+6616-6618,U+661a-661c,U+661e,U+6621-6624,U+6626,U+6629-662c,U+662e,U+6630,U+6632-6633,U+6637-663b,U+663d,U+663f-6640,U+6642,U+6644-664a,U+664d-664e,U+6650-6651,U+6658-6659,U+665b-665e,U+6660,U+6662-6663,U+6665,U+6667,U+6669-666d,U+6671-6673,U+6675,U+6678-6679,U+667b-667d,U+667f-6681,U+6683,U+6685-6686,U+6688-668b,U+668d-6690,U+6692-6695,U+6698-669c,U+669e-66a6,U+66a9-66ad,U+66af-66b3,U+66b5-66b8,U+66ba-66bd,U+66bf-66d8,U+66da,U+66de-66e5,U+66e7-66e8,U+66ea-66ef,U+66f1,U+66f5-66f6,U+66f8,U+66fa-66fb,U+66fd,U+6701-6707,U+670c,U+670e-670f,U+6711-6713,U+6716,U+6718-671a,U+671c,U+671e,U+6720-6725,U+6727,U+6729,U+672e,U+6730,U+6732-6733,U+6736-6739,U+673b-673c,U+673e-673f,U+6741,U+6744-6745,U+6747,U+674a-674b,U+674d,U+6752,U+6754-6755,U+6757-675b,U+675d,U+6762-6764,U+6766-6767,U+676b-676c,U+676e,U+6771,U+6774,U+6776,U+6778-677b,U+677d,U+6780,U+6782-6783,U+6785-6786,U+6788,U+678a,U+678c-678f,U+6791-6794,U+6796,U+6799,U+679b,U+679f-67a1,U+67a4,U+67a6,U+67a9,U+67ac,U+67ae,U+67b1-67b2,U+67b4,U+67b9-67c0,U+67c2,U+67c5-67ce,U+67d5-67d7,U+67db,U+67df,U+67e1,U+67e3-67e4,U+67e6-67e8,U+67ea-67eb,U+67ed-67ee,U+67f2,U+67f5-67fc,U+67fe,U+6801-6804,U+6806,U+680d,U+6810,U+6812,U+6814-6815,U+6818-681c,U+681e-6820,U+6822-6828,U+682b-6831,U+6834-6836,U+683a-683b,U+683f,U+6847,U+684b,U+684d,U+684f,U+6852,U+6856-685f,U+686a,U+686c-6873,U+6875,U+6878-6880,U+6882,U+6884,U+6887-688e,U+6890-6892,U+6894-6896,U+6898-68a1,U+68a3-68a5,U+68a9-68ac,U+68ae,U+68b1-68b2,U+68b4,U+68b6-68bf,U+68c1,U+68c3-68c8,U+68ca,U+68cc,U+68ce-68d1,U+68d3-68d4,U+68d6-68d7,U+68d9,U+68db-68df,U+68e1-68e2,U+68e4-68ed,U+68ef,U+68f2-68f4,U+68f6-68f8,U+68fb,U+68fd-6900,U+6902-6904,U+6906-690a,U+690c,U+690f,U+6911,U+6913-691e,U+6921-6923,U+6925-692c,U+692e-692f,U+6931-6933,U+6935-6938,U+693a-693c,U+693e,U+6940-6941,U+6943-6953,U+6955-6956,U+6958-6959,U+695b-695c,U+695f,U+6961-6962,U+6964-6965,U+6967-696a,U+696c-696d,U+696f-6970,U+6972-6976,U+697a-697b,U+697d-697f,U+6981,U+6983,U+6985,U+698a-698c,U+698e-6993,U+6996-6997,U+6999-699a,U+699d-69a6,U+69a9-69aa,U+69ac,U+69ae-69b0,U+69b2-69b3,U+69b5-69b6,U+69b8-69ba,U+69bc-69c0,U+69c2-69c9,U+69cb,U+69cd,U+69cf,U+69d1-69d3,U+69d5-69da,U+69dc-69de,U+69e1-69ec,U+69ee-69f1,U+69f3-69fc,U+69fe,U+6a00-6a09,U+6a0b-6a16,U+6a19-6a1e,U+6a20,U+6a22-6a27,U+6a29,U+6a2b-6a2e,U+6a30,U+6a32-6a34,U+6a36-6a3c,U+6a3f-6a43,U+6a45-6a46,U+6a48-6a4f,U+6a51-6a57,U+6a5a,U+6a5c-6a60,U+6a62-6a64,U+6a66-6a70,U+6a72-6a78,U+6a7a-6a7b,U+6a7d-6a7f,U+6a81-6a83,U+6a85-6a8d,U+6a8f,U+6a92-6a96,U+6a98-6a9f,U+6aa1-6aa8,U+6aaa,U+6aad-6b1f,U+6b25-6b26,U+6b28-6b31,U+6b33-6b36,U+6b38,U+6b3b-6b3d,U+6b3f-6b42,U+6b44-6b45,U+6b48,U+6b4a-6b4b,U+6b4d-6b58,U+6b5a-6b61,U+6b68-6b69,U+6b6b-6b78,U+6b7a,U+6b7d-6b80,U+6b85,U+6b88,U+6b8c,U+6b8e-6b91,U+6b94-6b95,U+6b97-6b99,U+6b9c-6ba0,U+6ba2-6ba9,U+6bab-6bb2,U+6bb6,U+6bb8-6bbe,U+6bc0,U+6bc3-6bc4,U+6bc6-6bca,U+6bcc,U+6bce,U+6bd0-6bd1,U+6bd8,U+6bda,U+6bdc-6be0,U+6be2-6be9,U+6bec-6bee,U+6bf0-6bf2,U+6bf4,U+6bf6-6bf8,U+6bfa-6bfc,U+6bfe-6c04,U+6c08-6c0c,U+6c0e,U+6c12,U+6c17,U+6c1c-6c1e,U+6c20,U+6c23,U+6c25,U+6c2b-6c2d,U+6c31,U+6c33,U+6c36-6c37,U+6c39-6c3c,U+6c3e-6c3f,U+6c43-6c45,U+6c48,U+6c4b-6c4f,U+6c51-6c53,U+6c56,U+6c58-6c5a,U+6c62-6c63,U+6c65-6c67,U+6c6b-6c6f,U+6c71,U+6c73,U+6c75,U+6c77-6c78,U+6c7a-6c7c,U+6c7f-6c80,U+6c84,U+6c87,U+6c8a-6c8b,U+6c8d-6c8e,U+6c91-6c92,U+6c95-6c98,U+6c9a,U+6c9c-6c9e,U+6ca0,U+6ca2,U+6ca8,U+6cac,U+6caf-6cb0,U+6cb4-6cb7,U+6cba,U+6cc0-6cc3,U+6cc6-6cc8,U+6ccb,U+6ccd-6ccf,U+6cd1-6cd2,U+6cd8-6cda,U+6cdc-6cdd,U+6cdf,U+6ce4,U+6ce6-6ce7,U+6ce9,U+6cec-6ced,U+6cf2,U+6cf4,U+6cf9",weight:"400"},{asset:"puhui/71b36260.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+4c6c-4db5,U+4e02,U+4e04-4e06,U+4e0f,U+4e12,U+4e17,U+4e1f-4e21,U+4e23,U+4e26,U+4e29,U+4e2e-4e2f,U+4e31,U+4e33,U+4e35,U+4e37,U+4e3c,U+4e40-4e42,U+4e44,U+4e46,U+4e4a,U+4e51,U+4e55,U+4e57,U+4e5a-4e5b,U+4e62-4e65,U+4e67-4e68,U+4e6a-4e6f,U+4e72,U+4e74-4e7d,U+4e7f-4e85,U+4e87,U+4e8a,U+4e90,U+4e96-4e97,U+4e99,U+4e9c-4e9e,U+4ea3,U+4eaa,U+4eaf-4eb1,U+4eb4,U+4eb6-4eb9,U+4ebc-4ebe,U+4ec8,U+4ecc,U+4ecf-4ed0,U+4ed2,U+4eda-4edc,U+4ee0,U+4ee2,U+4ee6-4ee7,U+4ee9,U+4eed-4eef,U+4ef1,U+4ef4,U+4ef8-4efa,U+4efc,U+4efe,U+4f00,U+4f02-4f08,U+4f0b-4f0c,U+4f12-4f16,U+4f1c-4f1d,U+4f21,U+4f23,U+4f28-4f29,U+4f2c-4f2e,U+4f31,U+4f33,U+4f35,U+4f37,U+4f39,U+4f3b,U+4f3e-4f42,U+4f44-4f45,U+4f47-4f4c,U+4f52,U+4f54,U+4f56,U+4f61-4f62,U+4f66,U+4f68,U+4f6a-4f6b,U+4f6d-4f6e,U+4f71-4f72,U+4f75,U+4f77-4f7a,U+4f7d,U+4f80-4f82,U+4f85-4f87,U+4f8a,U+4f8c,U+4f8e,U+4f90,U+4f92-4f93,U+4f95-4f96,U+4f98-4f9a,U+4f9c,U+4f9e-4f9f,U+4fa1-4fa2,U+4fa4,U+4fab,U+4fad,U+4fb0-4fb4,U+4fb6-4fbe,U+4fc0-4fc2,U+4fc6-4fc9,U+4fcb-4fcd,U+4fd2-4fd6,U+4fd9,U+4fdb,U+4fe0,U+4fe2,U+4fe4-4fe5,U+4fe7,U+4feb-4fec,U+4ff0,U+4ff2,U+4ff4-4ff7,U+4ff9,U+4ffb-4ffd,U+4fff-500b,U+500e,U+5010-5011,U+5013,U+5015-5017,U+501b,U+501d-501e,U+5020,U+5022-5024,U+5027,U+502b,U+502f-5039,U+503b,U+503d,U+503f-5042,U+5044-5046,U+5049-504b,U+504d,U+5050-5054,U+5056-5059,U+505b,U+505d-5064,U+5066-506b,U+506d-5075,U+5078-507a,U+507c-507d,U+5081-5084,U+5086-5087,U+5089-508c,U+508e-50a2,U+50a4,U+50a6,U+50aa-50ab,U+50ad-50b1,U+50b3-50b9,U+50bc-50ce,U+50d0-50d5,U+50d7-50d9,U+50db-50e5,U+50e8-50eb,U+50ef-50f2,U+50f4,U+50f6-50fa,U+50fc-5105,U+5108-510a,U+510c-5111,U+5113-5120,U+5122-513e,U+5142,U+5147,U+514a,U+514c,U+514e-5150,U+5152-5153,U+5157-5159,U+515b,U+515d-5161,U+5163-5164,U+5166-5167,U+5169-516a,U+516f,U+5172,U+517a,U+517e-517f,U+5183-5184,U+5186-5187,U+518a-518b,U+518e-5191,U+5193-5194,U+5198,U+519a,U+519d-519f,U+51a1,U+51a3,U+51a6-51aa,U+51ad-51ae,U+51b4,U+51b8-51ba,U+51be-51bf,U+51c1-51c3,U+51c5,U+51c8,U+51ca,U+51cd-51ce,U+51d0,U+51d2-51da,U+51dc,U+51de-51df,U+51e2-51e3,U+51e5-51ea,U+51ec,U+51ee,U+51f1-51f2,U+51f4,U+51f7,U+51fe,U+5204-5205,U+5209,U+520b-520c,U+520f-5210,U+5213-5215,U+521c,U+521e-521f,U+5221-5223,U+5225-5227,U+522a,U+522c,U+522f,U+5231-5232,U+5234-5235,U+523c,U+523e,U+5244-5249,U+524b,U+524e-524f,U+5252-5253,U+5255,U+5257-525b,U+525d,U+525f-5260,U+5262-5264,U+5266,U+5268,U+526b-526e,U+5270-5271,U+5273-527c,U+527e,U+5280,U+5283-5287,U+5289-528f,U+5291-5292,U+5294-529a,U+529c,U+52a4-52a7,U+52ae-52b0,U+52b4-52bd,U+52c0-52c2,U+52c4-52c6,U+52c8,U+52ca,U+52cc-52cf,U+52d1,U+52d3-52d5,U+52d7,U+52d9-52de,U+52e0-52e3,U+52e5-52ef,U+52f1-52f8,U+52fb-52fd,U+5301-5304,U+5307,U+5309-530c,U+530e,U+5311-5314,U+5318,U+531b-531c,U+531e-531f,U+5322,U+5324-5325,U+5327-5329,U+532b-532d,U+532f-5338,U+533c-533d,U+5340,U+5342,U+5344,U+5346,U+534b-534d,U+5350,U+5354,U+5358-5359,U+535b,U+535d,U+5365,U+5368,U+536a,U+536c-536d,U+5372,U+5376,U+5379,U+537b-537e,U+5380-5381,U+5383,U+5387-5388,U+538a,U+538e-5394,U+5396-5397,U+5399,U+539b-539c,U+539e,U+53a0-53a1,U+53a4,U+53a7,U+53aa-53ad,U+53af-53b5,U+53b7-53ba,U+53bc-53be,U+53c0,U+53c3-53c7,U+53ce-53d0,U+53d2-53d3,U+53d5,U+53da,U+53dc-53de,U+53e1-53e2,U+53e7,U+53f4,U+53fa,U+53fe-5400,U+5402,U+5405,U+5407,U+540b,U+5414,U+5418-541a,U+541c,U+5422,U+5424-5425,U+542a,U+5430,U+5433,U+5436-5437,U+543a,U+543d,U+543f,U+5441-5442,U+5444-5445,U+5447,U+5449,U+544c-544f,U+5451,U+545a,U+545d-5461,U+5463,U+5465,U+5467,U+5469-5470,U+5474,U+5479-547a,U+547e-547f,U+5481,U+5483,U+5485,U+5487-548a,U+548d,U+5491,U+5493,U+5497-5498,U+549c,U+549e-54a2,U+54a5,U+54ae,U+54b0,U+54b2,U+54b5-54b7,U+54b9-54ba,U+54bc,U+54be,U+54c3,U+54c5,U+54ca-54cb,U+54d6,U+54d8,U+54db,U+54e0-54e4,U+54eb-54ec,U+54ef-54f1,U+54f4-54f9,U+54fb,U+54fe,U+5500,U+5502-5505,U+5508,U+550a-550e,U+5512-5513,U+5515-551a,U+551c-551f,U+5521,U+5525-5526,U+5528-5529,U+552b,U+552d,U+5532,U+5534-5536,U+5538-553b,U+553d,U+5540,U+5542,U+5545,U+5547-5548,U+554b-554f,U+5551-5554,U+5557-555b,U+555d-5560,U+5562-5563,U+5568-5569,U+556b,U+556f-5574,U+5579-557a,U+557d,U+557f,U+5585-5586,U+558c-558e,U+5590,U+5592-5593,U+5595-5597,U+559a-559b,U+559e,U+55a0-55a6,U+55a8-55b0,U+55b2,U+55b4,U+55b6,U+55b8,U+55ba,U+55bc,U+55bf-55c3,U+55c6-55c8,U+55ca-55cb,U+55ce-55d0,U+55d5,U+55d7-55db,U+55de,U+55e0,U+55e2,U+55e7,U+55e9,U+55ed-55ee,U+55f0-55f1,U+55f4,U+55f6,U+55f8-55fc,U+55ff,U+5602-5607,U+560a-560b,U+560d,U+5610-5617,U+5619-561a,U+561c-561d,U+5620-5622,U+5625-5626,U+5628-562b,U+562e-5630,U+5633,U+5635,U+5637-5638,U+563a,U+563c-563e,U+5640-564b,U+564f-5653,U+5655-5656,U+565a-565b,U+565d-5661,U+5663,U+5665-5667,U+566d-5670,U+5672-5675,U+5677-567a,U+567d-5684,U+5687-568d,U+5690-5692,U+5694-56a2,U+56a4-56ae,U+56b0-56b6,U+56b8-56bb,U+56bd-56c9,U+56cb-56d3,U+56d5-56d6,U+56d8-56d9,U+56dc,U+56e3,U+56e5-56ea,U+56ec,U+56ee-56ef,U+56f2-56f3,U+56f6-56f8,U+56fb-56fc,U+5700-5702,U+5705,U+5707,U+570b-571b,U+571d-571e,U+5720-5722,U+5724-5727,U+572b,U+5731-5732,U+5734-5738,U+573c-573d,U+573f,U+5741,U+5743-5746,U+5748-5749,U+574b,U+5752-5756,U+5758-5759,U+5762-5763,U+5765,U+5767,U+576c,U+576e,U+5770-5772,U+5774-5775,U+5778-577a,U+577d-5781,U+5787-578a,U+578d-5791,U+5794-579a,U+579c-579f,U+57a5,U+57a8,U+57aa,U+57ac,U+57af-57b1,U+57b3,U+57b5-57b7,U+57b9-57c1,U+57c4-57ca,U+57cc-57cd,U+57d0-57d1,U+57d3,U+57d6-57d7,U+57db-57dc,U+57de,U+57e1-57e3,U+57e5-57ec,U+57ee,U+57f0-57f3,U+57f5-57f7,U+57fb-57fc,U+57fe-57ff,U+5801,U+5803-5805,U+5808-580a,U+580c,U+580e-5810,U+5812-5814,U+5816-5817",weight:"400"},{asset:"puhui/e776ebdb.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+5818,U+581a-581d,U+581f,U+5822-5823,U+5825-5829,U+582b-582f,U+5831-5834,U+5836-5843,U+5845-584b,U+584e-5850,U+5852-5853,U+5855-5857,U+5859-585d,U+585f-5864,U+5866-586a,U+586d-587d,U+587f,U+5882,U+5884,U+5886-5888,U+588a-5891,U+5894-5898,U+589b-589d,U+58a0-58a7,U+58aa-58bb,U+58bd-58c0,U+58c2-58c4,U+58c6-58d0,U+58d2-58d4,U+58d6-58e3,U+58e5-58ea,U+58ed,U+58ef,U+58f1-58f2,U+58f4-58f5,U+58f7-58f8,U+58fa-5901,U+5903,U+5905-5906,U+5908-590c,U+590e,U+5910-5913,U+5917-5918,U+591b,U+591d-591e,U+5920-5923,U+5926,U+5928,U+592c,U+5930,U+5932-5933,U+5935-5936,U+593b,U+593d-5940,U+5943,U+5945-5946,U+594a,U+594c-594d,U+5950,U+5952-5953,U+5959,U+595b-595f,U+5961,U+5963-5964,U+5966-5972,U+5975,U+5977,U+597a-597c,U+597e-5980,U+5985,U+5989,U+598b-598c,U+598e-5991,U+5994-5995,U+5998,U+599a-599d,U+599f-59a2,U+59a6-59a7,U+59ac-59ad,U+59b0-59b1,U+59b3-59b8,U+59ba,U+59bc-59bd,U+59bf-59c5,U+59c7-59c9,U+59cc-59cf,U+59d5-59d6,U+59d9,U+59db,U+59de-59e2,U+59e4,U+59e6-59e7,U+59e9-59eb,U+59ed-59f8,U+59fa,U+59fc-59fe,U+5a00,U+5a02,U+5a0a-5a0b,U+5a0d-5a10,U+5a12,U+5a14-5a17,U+5a19-5a1b,U+5a1d-5a1e,U+5a21-5a22,U+5a24,U+5a26-5a28,U+5a2a-5a30,U+5a33,U+5a35,U+5a37-5a3b,U+5a3d-5a3f,U+5a41-5a45,U+5a47-5a48,U+5a4b-5a54,U+5a56-5a59,U+5a5b-5a61,U+5a63-5a66,U+5a68-5a69,U+5a6b-5a73,U+5a78-5a79,U+5a7b-5a7e,U+5a80-5a91,U+5a93-5a99,U+5a9c-5aa9,U+5aab-5ab1,U+5ab4,U+5ab6-5ab7,U+5ab9-5abd,U+5abf-5ac0,U+5ac3-5ac8,U+5aca-5acb,U+5acd-5ad1,U+5ad3,U+5ad5,U+5ad7,U+5ad9-5adb,U+5add-5adf,U+5ae2,U+5ae4-5ae5,U+5ae7-5ae8,U+5aea,U+5aec-5af0,U+5af2-5b08,U+5b0a-5b15,U+5b18-5b31,U+5b33,U+5b35-5b36,U+5b38-5b3f,U+5b41-5b4f,U+5b52,U+5b56,U+5b5e,U+5b60-5b61,U+5b67-5b68,U+5b6b,U+5b6d-5b6f,U+5b72,U+5b74,U+5b76-5b79,U+5b7b-5b7c,U+5b7e-5b7f,U+5b82,U+5b86,U+5b8a,U+5b8d-5b8e,U+5b90-5b92,U+5b94,U+5b96,U+5b9f,U+5ba7-5ba9,U+5bac-5baf,U+5bb1-5bb2,U+5bb7,U+5bba-5bbc,U+5bc0-5bc1,U+5bc3,U+5bc8-5bcb,U+5bcd-5bcf,U+5bd1,U+5bd4-5bdc,U+5be0,U+5be2-5be3,U+5be6-5be7,U+5be9-5bed,U+5bef,U+5bf1-5bf7,U+5bfd-5bfe,U+5c00,U+5c02-5c03,U+5c05,U+5c07-5c08,U+5c0b-5c0e,U+5c10,U+5c12-5c13,U+5c17,U+5c19,U+5c1b,U+5c1e-5c21,U+5c23,U+5c26,U+5c28-5c2b,U+5c2d-5c30,U+5c32-5c33,U+5c35-5c37,U+5c43-5c44,U+5c46-5c47,U+5c4c-5c4d,U+5c52-5c54,U+5c56-5c58,U+5c5a-5c5d,U+5c5f,U+5c62,U+5c64,U+5c67-5c6d,U+5c70,U+5c72-5c78,U+5c7b-5c7e,U+5c80,U+5c83-5c87,U+5c89-5c8b,U+5c8e-5c8f,U+5c92-5c93,U+5c95,U+5c9d-5ca1,U+5ca4-5ca8,U+5caa,U+5cae-5cb0,U+5cb2,U+5cb4,U+5cb6,U+5cb9-5cbc,U+5cbe,U+5cc0,U+5cc2-5cc3,U+5cc5-5cca,U+5ccc-5cd1,U+5cd3-5cd8,U+5cda-5ce0,U+5ce2-5ce3,U+5ce7,U+5ce9,U+5ceb-5cec,U+5cee-5cef,U+5cf1-5cfa,U+5cfc-5d01,U+5d04-5d05,U+5d08-5d0d,U+5d0f-5d13,U+5d15,U+5d17-5d1a,U+5d1c-5d1d,U+5d1f-5d23,U+5d25,U+5d28,U+5d2a-5d2c,U+5d2f-5d33,U+5d35-5d3c,U+5d3f-5d46,U+5d48-5d49,U+5d4d-5d57,U+5d59-5d5a,U+5d5c,U+5d5e-5d68,U+5d6a,U+5d6d-5d6e,U+5d70-5d73,U+5d75-5d81,U+5d83-5d98,U+5d9a-5d9c,U+5d9e-5db6,U+5db8-5dc4,U+5dc6-5dcc,U+5dce-5dda,U+5ddc,U+5ddf-5de0,U+5de3-5de4,U+5dea,U+5dec-5ded,U+5df0,U+5df5-5df6,U+5df8-5dfc,U+5dff-5e00,U+5e04,U+5e07,U+5e09-5e0b,U+5e0d-5e0e,U+5e12-5e13,U+5e17,U+5e1e-5e25,U+5e28-5e2c,U+5e2f-5e30,U+5e32-5e36,U+5e39-5e3a,U+5e3e-5e41,U+5e43,U+5e46-5e4b,U+5e4d-5e53,U+5e56-5e5a,U+5e5c-5e5d,U+5e5f-5e60,U+5e63-5e71,U+5e75,U+5e77,U+5e79,U+5e7e,U+5e81-5e83,U+5e85,U+5e88-5e89,U+5e8c-5e8e,U+5e92,U+5e98,U+5e9b,U+5e9d,U+5ea1-5ea4,U+5ea8-5eac,U+5eae-5eb2,U+5eb4,U+5eba-5ebd,U+5ebf-5ec8,U+5ecb-5ed0,U+5ed4-5ed5,U+5ed7-5eda,U+5edc-5ee7,U+5ee9,U+5eeb-5ef3,U+5ef5,U+5ef8-5ef9,U+5efb-5efd,U+5f05-5f07,U+5f09,U+5f0c-5f0e,U+5f10,U+5f12,U+5f14,U+5f16,U+5f19-5f1a,U+5f1c-5f1e,U+5f21-5f24,U+5f28,U+5f2b-5f2c,U+5f2e,U+5f30,U+5f32-5f38,U+5f3b,U+5f3d-5f3f,U+5f41-5f4f,U+5f51,U+5f54,U+5f59-5f5c,U+5f5e-5f60,U+5f63,U+5f65,U+5f67-5f68,U+5f6b,U+5f6e-5f6f,U+5f72,U+5f74-5f76,U+5f78,U+5f7a,U+5f7d-5f7f,U+5f83,U+5f86,U+5f8d-5f8f,U+5f91,U+5f93-5f94,U+5f96,U+5f9a-5f9b,U+5f9d-5fa0,U+5fa2-5fa7,U+5fa9,U+5fab-5fac,U+5faf-5fb4,U+5fb6,U+5fb8-5fbb,U+5fbe-5fc2,U+5fc7-5fc8,U+5fca-5fcb,U+5fce,U+5fd3-5fd5,U+5fda-5fdc,U+5fde-5fdf,U+5fe2-5fe3,U+5fe5-5fe6,U+5fe8-5fe9,U+5fec,U+5fef-5ff0,U+5ff2-5ff4,U+5ff6-5ff7,U+5ff9-5ffa,U+5ffc,U+6007-6009,U+600b-600c,U+6010-6011,U+6013,U+6017-6018,U+601a,U+601e-601f,U+6022-6024,U+602c-602e,U+6030-6034,U+6036-603a,U+603d-603e,U+6040,U+6044-604a,U+604c,U+604e-604f,U+6051,U+6053-6054,U+6056-6058,U+605b-605c,U+605e-6061,U+6065-6066,U+606e,U+6071-6072,U+6074-6075,U+6077,U+607e,U+6080-6082,U+6085-6088,U+608a-608b,U+608e-6091,U+6093,U+6095,U+6097-6099,U+609c,U+609e,U+60a1-60a2,U+60a4-60a5,U+60a7,U+60a9-60aa,U+60ae,U+60b0,U+60b3,U+60b5-60b7,U+60b9-60ba,U+60bd-60c4,U+60c7-60c9,U+60cc-60d0,U+60d2-60d4,U+60d6-60d7,U+60d9,U+60db,U+60de,U+60e1-60e5,U+60ea,U+60f1-60f2,U+60f5,U+60f7-60f8,U+60fb-60ff,U+6102-6105,U+6107,U+610a-610c,U+6110-6114,U+6116-6119,U+611b-611e,U+6121-6122,U+6125,U+6128-612a,U+612c-613e,U+6140-6147,U+6149,U+614b,U+614d,U+614f-6150,U+6152-6154,U+6156-615c,U+615e-6161,U+6163-6166,U+6169-616f,U+6171-6174,U+6176,U+6178-618a,U+618c-618d,U+618f-6193,U+6195-619c,U+619e-61a6,U+61aa-61ab,U+61ad-61b6,U+61b8-61bd,U+61bf-61c1,U+61c3-61c7,U+61c9,U+61cc-61d0,U+61d3,U+61d5-61e5,U+61e7-61f4,U+61f6-61fe,U+6200-6205,U+6207,U+6209,U+6213-6214,U+6219,U+621c-621e,U+6220,U+6223,U+6226-6229,U+622b,U+622d,U+622f-6232,U+6235-6236,U+6238-623c,U+6242,U+6244-6246,U+624a,U+624f-6250,U+6255-6257,U+6259-625a,U+625c-6262,U+6264-6265,U+6268,U+6271-6272,U+6274-6275,U+6277-6278,U+627a-627b,U+627d,U+6281-6283,U+6285-6288,U+628b-6290,U+6294,U+6299,U+629c-629e,U+62a3,U+62a6-62a7,U+62a9-62aa,U+62ad-62b0,U+62b2-62b4,U+62b6-62b8,U+62ba,U+62be,U+62c0-62c1,U+62c3,U+62cb,U+62cf,U+62d1,U+62d5,U+62dd-62de,U+62e0-62e1,U+62e4,U+62ea-62eb,U+62f0,U+62f2",weight:"400"},{asset:"puhui/e16b3f49.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+3001-3002,U+3008-300b,U+3010-3011,U+3014-3017,U+4e00-4e01,U+4e03,U+4e07-4e0b,U+4e0d-4e0e,U+4e11,U+4e13-4e14,U+4e16,U+4e18,U+4e1a-4e1d,U+4e22,U+4e24-4e25,U+4e27,U+4e2a,U+4e2d,U+4e30,U+4e32,U+4e34,U+4e39-4e3b,U+4e3d-4e3e,U+4e43,U+4e45,U+4e48-4e49,U+4e4b-4e4c,U+4e4e-4e50,U+4e52-4e54,U+4e58-4e59,U+4e5d,U+4e5f-4e61,U+4e66,U+4e70-4e71,U+4e73,U+4e7e,U+4e86,U+4e88-4e89,U+4e8b-4e8c,U+4e8e-4e8f,U+4e91-4e92,U+4e94-4e95,U+4e9a-4e9b,U+4e9f,U+4ea1,U+4ea4,U+4ea6-4ea7,U+4ea9,U+4eab-4eae,U+4eb2,U+4eba,U+4ebf-4ec1,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed3-4ed4,U+4ed6-4ed9,U+4ee3-4ee5,U+4eea,U+4eec,U+4ef0,U+4ef2,U+4ef6-4ef7,U+4efb,U+4efd,U+4eff,U+4f01,U+4f0a,U+4f0d,U+4f0f-4f11,U+4f17-4f1a,U+4f1f-4f20,U+4f24,U+4f26,U+4f2a,U+4f2f-4f30,U+4f34,U+4f38,U+4f3c,U+4f46,U+4f4d-4f50,U+4f53,U+4f55,U+4f59,U+4f5b-4f5c,U+4f60,U+4f69,U+4f73,U+4f7f,U+4f8b,U+4f9b,U+4f9d,U+4fa6-4fa8,U+4faf,U+4fb5,U+4fbf,U+4fc3-4fc4,U+4fca,U+4fcf,U+4fd7,U+4fdd,U+4fe1,U+4fe9,U+4fed-4fee,U+4ff1,U+500d,U+5012,U+5019,U+501f,U+5021,U+502a,U+503a,U+503c,U+503e,U+5047,U+504f,U+505a,U+505c,U+5065,U+5076-5077,U+507f,U+5085,U+50a8,U+50ac,U+50b2,U+50cf,U+5112,U+513f,U+5141,U+5143-5146,U+5148-5149,U+514b,U+514d,U+5151,U+515a,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5179,U+517b-517c,U+5180,U+5185,U+5188,U+518c-518d,U+5192,U+5199,U+519b-519c,U+51a0,U+51ac,U+51af-51b0,U+51b2-51b3,U+51b5-51b7,U+51bb,U+51c0,U+51c6,U+51c9,U+51cc,U+51cf,U+51dd,U+51e0-51e1,U+51e4,U+51ed,U+51ef,U+51f6,U+51fa-51fb,U+51fd,U+5200,U+5206-5207,U+520a,U+5211-5212,U+5217-521b,U+521d,U+5224,U+5229,U+522b,U+522e,U+5230,U+5236-5238,U+523a-523b,U+5242,U+524a,U+524d,U+5251,U+5265,U+5267,U+5269-526a,U+526f,U+5272,U+529b,U+529d-52a1,U+52a3,U+52a8-52ab,U+52b1-52b3,U+52bf,U+52c3,U+52c7,U+52cb,U+52d2,U+52d8,U+52df,U+52e4,U+52fe,U+5305-5306,U+5316-5317,U+5339-533b,U+5341,U+5343,U+5347-534a,U+534e-534f,U+5353,U+5355-5357,U+535a,U+5360-5362,U+5367,U+536b,U+5370-5371,U+5373-5374,U+5377-5378,U+537f,U+5382,U+5385-5386,U+5389,U+538b,U+5395,U+5398,U+539a,U+539f,U+53a6,U+53a8,U+53bb,U+53bf,U+53c2,U+53c8-53cd,U+53d1,U+53d4,U+53d6-53d9,U+53e3-53e6,U+53ea-53ec,U+53ef-53f0,U+53f2-53f3,U+53f6-53f9,U+5401,U+5403-5404,U+5408-540a,U+540c-540e,U+5410-5411,U+5415,U+5417,U+541b,U+541e,U+5426-5428,U+542b-542c,U+542f,U+5434,U+5438-5439,U+543e,U+5440,U+5446,U+5448,U+544a,U+5458,U+5462,U+5468,U+5473,U+547c-547d,U+548c,U+54a8,U+54ac,U+54b1,U+54b8,U+54c0-54c1,U+54c8,U+54cd,U+54e5,U+54ea,U+54ed,U+54f2,U+5510,U+5524,U+552e-552f,U+5531,U+5546,U+554a,U+5564-5566,U+5580,U+5584,U+558a,U+559c-559d,U+55b7,U+55bb,U+5609,U+5634,U+5668,U+566a,U+56ca,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f0,U+56f4,U+56fa,U+56fd-56fe,U+5706,U+5708,U+571f,U+5723,U+5728,U+572d,U+5730,U+5733,U+573a,U+573e,U+5740,U+5747,U+574a,U+574e-5751,U+5757,U+575a-575b,U+575d,U+5761,U+5764,U+5766,U+576a,U+5782-5784,U+578b,U+5792,U+57a6,U+57ab,U+57c3,U+57cb,U+57ce,U+57d4,U+57df,U+57f9-57fa,U+5802,U+5806,U+5821,U+5824,U+582a,U+5835,U+584c,U+5851,U+5854,U+5858,U+585e,U+586b,U+5883,U+5893,U+5899,U+589e,U+58a8,U+58c1,U+58e4,U+58eb,U+58ee,U+58f0,U+58f3,U+5904,U+5907,U+590d,U+590f,U+5915-5916,U+591a,U+591c,U+591f,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+5938-593a,U+5947-5949,U+594b,U+594e-594f,U+5951,U+5954,U+5956-5957,U+5960,U+5965,U+5973,U+5976,U+5979,U+597d,U+5982,U+5986-5988,U+5999,U+59a5,U+59a8,U+59b9,U+59bb,U+59c6,U+59cb,U+59d0-59d1,U+59d3-59d4,U+59da,U+59dc,U+59fb,U+59ff,U+5a01,U+5a03,U+5a18,U+5a1c,U+5a31,U+5a46,U+5a5a,U+5a74,U+5a92,U+5ac1,U+5acc,U+5ae9,U+5b50,U+5b54-5b55,U+5b57-5b59,U+5b5c-5b5d,U+5b5f,U+5b63-5b64,U+5b66,U+5b69,U+5b81,U+5b83,U+5b85,U+5b87-5b89,U+5b8b-5b8c,U+5b8f,U+5b97-5b98,U+5b9a,U+5b9c-5b9e,U+5ba1-5ba4,U+5baa-5bab,U+5bb0,U+5bb3-5bb4,U+5bb6,U+5bb9,U+5bbd-5bbf,U+5bc2,U+5bc4,U+5bc6,U+5bcc,U+5bd2-5bd3,U+5bdf,U+5be8,U+5bf8-5bfc,U+5bff,U+5c01,U+5c04,U+5c06,U+5c0a,U+5c0f,U+5c11,U+5c14,U+5c16,U+5c18,U+5c1a,U+5c1d,U+5c24,U+5c31,U+5c39-5c3a,U+5c3c-5c40,U+5c42,U+5c45,U+5c48,U+5c4a-5c4b,U+5c4f,U+5c55,U+5c5e,U+5c60-5c61,U+5c65,U+5c71,U+5c81,U+5c97,U+5c9a-5c9b,U+5ca9,U+5cad,U+5cb3,U+5cb8,U+5ce1,U+5cf0,U+5cfb,U+5d07,U+5d14,U+5d1b,U+5d2d,U+5ddd-5dde,U+5de1,U+5de5-5de9,U+5dee,U+5df1-5df2,U+5df4,U+5df7,U+5dfe,U+5e01-5e03,U+5e05-5e06,U+5e08,U+5e0c,U+5e10,U+5e15,U+5e1c-5e1d,U+5e26,U+5e2d-5e2e,U+5e38,U+5e3d,U+5e45,U+5e55,U+5e62,U+5e72-5e74,U+5e76,U+5e78,U+5e7b-5e7d,U+5e7f,U+5e84,U+5e86,U+5e8a,U+5e8f,U+5e93-5e95,U+5e97,U+5e99,U+5e9c,U+5e9e-5e9f,U+5ea6-5ea7,U+5ead,U+5eb7-5eb8,U+5ec9-5eca,U+5ed6,U+5ef6-5ef7,U+5efa,U+5f00,U+5f02-5f04,U+5f0a,U+5f0f,U+5f15,U+5f17-5f18,U+5f1f-5f20,U+5f25,U+5f2f,U+5f31,U+5f39-5f3a,U+5f52-5f53,U+5f55,U+5f62,U+5f66,U+5f69,U+5f6c-5f6d,U+5f70-5f71,U+5f79,U+5f7b-5f7c,U+5f80-5f81,U+5f84-5f85,U+5f88,U+5f8b,U+5f90,U+5f92,U+5f97,U+5fa1,U+5faa,U+5fae,U+5fb7,U+5fbd,U+5fc3,U+5fc5-5fc6,U+5fcd,U+5fd7-5fd9,U+5fe0,U+5fe7,U+5feb,U+5ff5,U+5ffd,U+6000-6001,U+600e,U+6015,U+601d,U+6025,U+6027-6028,U+602a,U+603b,U+604b,U+6050,U+6052,U+6062,U+6069,U+606f-6070,U+6073,U+6076,U+6084,U+6089,U+609f-60a0,U+60a3,U+60a6,U+60a8,U+60ac,U+60b2,U+60c5,U+60ca,U+60d1,U+60dc,U+60e0,U+60e8-60e9,U+60ef,U+60f3,U+6101,U+6108-6109,U+610f,U+611f,U+6124,U+6127,U+613f,U+6148,U+614e,U+6155,U+6162,U+6167-6168,U+6170,U+61be,U+61c2,U+61c8,U+6208,U+620f-6212,U+6216,U+6218,U+622a,U+6234,U+6237,U+623f-6240,U+6247,U+624b,U+624d-624e,U+6251,U+6253,U+6258,U+6263,U+6267,U+6269,U+626b-626e,U+6270,U+6276,U+6279,U+627e-6280,U+628a,U+6291,U+6293,U+6295,U+6297-6298,U+629a-629b,U+62a2,U+62a4-62a5,U+62ab-62ac,U+62b1,U+62b5,U+62bc-62bd,U+62c5-62c6,U+62c9,U+62cd,U+62d2-62d4,U+62d6,U+62d8,U+62da-62dc,U+62df,U+62e5-62e6,U+62e8-62e9,U+62ec,U+62f3,U+62fc,U+62ff,U+6301-6302,U+6307,U+6309,U+6311,U+6316,U+6321,U+6323-6325,U+632a-632b,U+632f,U+633a,U+633d,U+6349,U+6350,U+6355,U+635e-635f,U+6362,U+6367,U+636e,U+6377,U+6380,U+6388-6389,U+638c,U+638f,U+6392,U+6398,U+63a2,U+63a5,U+63a7-63aa,U+63cf-63d0,U+63d2,U+63e1,U+63ed,U+63f4,U+63fd,U+640f,U+641c,U+641e,U+642c-642d,U+643a,U+6444,U+6446-6447,U+644a,U+6458,U+6469,U+6478,U+6491-6492,U+649e,U+64a4,U+64ad,U+64b0,U+64c5,U+64cd,U+64e6,U+6500,U+652f,U+6536,U+6539,U+653b,U+653e-653f,U+6545,U+6548,U+654c,U+654f,U+6551,U+6559,U+655e,U+6562-6563,U+6566,U+656c,U+6570,U+6572,U+6574,U+6587,U+658c,U+6591,U+6597,U+6599,U+659c,U+65a4-65a5,U+65ad,U+65af-65b0,U+65b9,U+65bd,U+65c1,U+65c5,U+65cb,U+65cf,U+65d7,U+65e0,U+65e2,U+65e5-65e9,U+65ec-65ed,U+65f1,U+65f6,U+65fa,U+6602,U+6606,U+660c,U+660e-660f,U+6613-6614,U+661f-6620,U+6625,U+6628,U+662d,U+662f,U+663e,U+664b,U+6653,U+665a,U+6664,U+6668,U+666e-6670,U+6676,U+667a,U+6682,U+6691,U+6696-6697,U+66a8,U+66b4,U+66f2,U+66f4,U+66f9,U+66fc,U+66fe-6700,U+6708-6709,U+670b,U+670d,U+6717,U+671b,U+671d,U+671f,U+6728,U+672a-672c,U+672f,U+6731,U+6734-6735,U+673a,U+6740,U+6742-6743,U+6746,U+674e-6751,U+675c,U+675f,U+6761,U+6765,U+6768,U+676d,U+676f-6770,U+677e-677f,U+6781,U+6784,U+6790,U+6797,U+679a,U+679c-679d,U+67a2-67a3,U+67aa,U+67b6,U+67cf-67d0,U+67d3-67d4,U+67dc,U+67e5,U+67ec,U+67ef,U+67f1,U+67f3-67f4,U+6807,U+680b,U+680f,U+6811,U+6821,U+682a,U+6837-6839,U+683c-683d,U+6842-6843,U+6846,U+6848,U+684c,U+6850-6851,U+6863,U+6865,U+6876,U+6881,U+6885,U+68a6,U+68af-68b0,U+68c0,U+68c9,U+68cb,U+68d2,U+68da,U+68ee,U+6905,U+690d,U+695a,U+697c,U+6982,U+699c,U+6a0a,U+6a21,U+6a2a,U+6a61,U+6b20-6b23,U+6b27,U+6b32,U+6b3a,U+6b3e,U+6b4c,U+6b62-6b67,U+6b79,U+6b7b,U+6b8a-6b8b,U+6b96,U+6bb5,U+6bb7,U+6bbf,U+6bc1,U+6bc5,U+6bcd,U+6bcf,U+6bd2,U+6bd4-6bd5,U+6bdb,U+6beb,U+6bef,U+6c0f,U+6c11,U+6c14,U+6c1b,U+6c27,U+6c34,U+6c38,U+6c41-6c42,U+6c47,U+6c49,U+6c55,U+6c57,U+6c5b,U+6c5f-6c61,U+6c64,U+6c6a,U+6c70,U+6c7d,U+6c82-6c83,U+6c88-6c89,U+6c99,U+6c9b,U+6c9f,U+6ca1,U+6ca7,U+6caa,U+6cb3,U+6cb9,U+6cbb,U+6cbf,U+6cc4,U+6cc9-6cca,U+6cd5,U+6cdb,U+6ce1-6ce2,U+6ce5,U+6ce8,U+6cea,U+6cf0,U+6cf3,U+6cfc-6cfd,U+6d01,U+6d0b,U+6d12,U+6d17,U+6d1b,U+6d1e,U+6d25,U+6d2a,U+6d32,U+6d3b,U+6d3d-6d3e,U+6d41,U+6d45-6d46,U+6d4b,U+6d4e,U+6d51,U+6d53,U+6d59,U+6d66,U+6d69-6d6a,U+6d6e,U+6d74,U+6d77,U+6d82,U+6d88-6d89,U+6d8c,U+6d9b,U+6d9d,U+6da4,U+6da6,U+6da8,U+6daf,U+6db2,U+6db5,U+6dc0,U+6dd1,U+6dd8,U+6de1,U+6deb,U+6dee,U+6df1,U+6df7,U+6df9,U+6dfb,U+6e05,U+6e10,U+6e14,U+6e17,U+6e20-6e21,U+6e24,U+6e29,U+6e2f,U+6e34,U+6e38,U+6e56,U+6e58,U+6e5b,U+6e7e-6e7f,U+6e89,U+6e90,U+6ea2,U+6eaa,U+6ecb,U+6ed1,U+6eda,U+6ede,U+6ee1,U+6ee5,U+6ee8-6ee9,U+6ef4,U+6f02,U+6f06,U+6f0f,U+6f14,U+6f20,U+6f2b,U+6f47,U+6f58,U+6f5c,U+6f6d-6f6e,U+6f9c,U+6fb3,U+6fc0,U+704c,U+706b,U+706d,U+706f-7070,U+7075,U+707e-707f,U+7089,U+708e,U+7092,U+70ad-70ae,U+70b3,U+70b8-70b9,U+70bc,U+70c2,U+70c8,U+70df,U+70e4,U+70e6-70e7,U+70ed,U+70ef,U+710a,U+7115,U+7126,U+7136,U+714c,U+7164,U+7167,U+718a,U+7199,U+719f,U+71c3,U+71d5,U+7206,U+722c,U+7231,U+7236-7238,U+723d,U+7247-7248,U+724c,U+7259,U+725b,U+725f,U+7261-7262,U+7267,U+7269,U+7272,U+7275,U+7279-727a,U+72ac,U+72af,U+72b6,U+72b9,U+72c2,U+72d7,U+72e0,U+72ec,U+72ee,U+72f1,U+730e,U+731b,U+732a-732b,U+732e,U+7387,U+7389,U+738b,U+739b,U+73a9,U+73af-73b0,U+73b2,U+73bb,U+73cd,U+73e0,U+73ed,U+7403,U+7406,U+741b,U+7433-7434,U+743c,U+745e,U+7476,U+7483,U+74dc,U+74e6,U+74f6-74f7,U+7518,U+751a,U+751c,U+751f,U+7528,U+7530-7533,U+7535,U+7537-7538,U+753b,U+7545,U+754c,U+754f,U+7554,U+7559,U+755c,U+7565,U+756a,U+7586,U+758f,U+7591,U+7597,U+75ab,U+75b2,U+75bc,U+75be,U+75c5,U+75c7,U+75db,U+7624,U+7626,U+764c,U+767b,U+767d-767e,U+7684,U+7686-7687,U+76ae,U+76c6,U+76c8,U+76ca,U+76d0-76d2,U+76d6-76d8,U+76db,U+76df,U+76ee,U+76f2,U+76f4,U+76f8,U+76fc,U+76fe,U+7709,U+770b,U+771f,U+773c,U+7740,U+7750,U+775b,U+7761,U+7763,U+7779,U+7784,U+77a9,U+77db,U+77e5,U+77ed,U+77f3,U+77ff,U+7801-7802,U+780d,U+7814,U+7816,U+7834,U+7840,U+7855,U+786b-786c,U+786e,U+788d-788e,U+7891,U+7897-7898,U+78a7,U+78b0-78b1,U+78b3,U+78c1,U+78cb,U+78e8,U+78f7,U+793a,U+793c,U+793e,U+7956,U+795d-795e,U+7965,U+7968,U+7978,U+7981,U+7984,U+798f,U+79bb,U+79bd,U+79c0-79c1,U+79cb,U+79cd,U+79d1-79d2,U+79d8,U+79df,U+79e6,U+79e9,U+79ef-79f0,U+79fb,U+7a00,U+7a0b,U+7a0d-7a0e,U+7a33,U+7a3b,U+7a3f,U+7a46,U+7a76-7a77,U+7a7a,U+7a7f,U+7a81,U+7a83,U+7a91,U+7a97,U+7a9d,U+7acb,U+7ad9,U+7ade-7ae0,U+7ae3,U+7ae5,U+7aed,U+7aef,U+7af9,U+7b11,U+7b14,U+7b26,U+7b2c,U+7b3c,U+7b49,U+7b4b,U+7b51,U+7b54,U+7b56,U+7b79,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bad,U+7bb1,U+7bc7,U+7bee,U+7c4d,U+7c73,U+7c7b,U+7c89,U+7c92,U+7c97-7c98,U+7ca4,U+7cae,U+7cbe,U+7cca,U+7cd6,U+7cfb,U+7d20,U+7d22,U+7d27,U+7d2b,U+7d2f,U+7e41,U+7ea0,U+7ea2,U+7ea4,U+7ea6-7ea7,U+7eaa,U+7eaf,U+7eb1-7eb3,U+7eb5,U+7eb7-7eba,U+7ebd,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed2-7ed3,U+7ed5,U+7ed8-7ed9,U+7edc-7edd,U+7edf,U+7ee3,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef3-7ef5,U+7ef8,U+7efc,U+7eff,U+7f05-7f06,U+7f13-7f14,U+7f16,U+7f18,U+7f1d,U+7f29,U+7f34,U+7f3a,U+7f50-7f51,U+7f55,U+7f57,U+7f5a,U+7f62,U+7f6a,U+7f6e,U+7f72,U+7f8a,U+7f8e,U+7fa4,U+7fbd,U+7fc1,U+7fd4,U+7fe0,U+7ff0,U+7ffb-7ffc,U+8000-8001,U+8003,U+8005,U+800c,U+8010,U+8015,U+8017,U+8033,U+8036,U+8042,U+804a,U+804c,U+8054,U+8058,U+805a,U+806a,U+8083,U+8089,U+8096,U+809d,U+80a0-80a1,U+80a4-80a5,U+80a9,U+80af,U+80b2,U+80ba,U+80bf-80c1,U+80c3,U+80c6,U+80cc,U+80ce,U+80dc,U+80de,U+80e1,U+80f6,U+80f8,U+80fd,U+8102,U+8106,U+8109,U+810f,U+8111,U+811a,U+8131,U+8138,U+814a,U+8150,U+8154,U+8170,U+8179,U+817e-817f,U+819c,U+81a8,U+81c2,U+81e3,U+81ea,U+81f3-81f4,U+8206,U+820d,U+8212,U+821e-821f,U+822a,U+822c,U+8230,U+8236,U+8239,U+8247,U+8258,U+826f-8270,U+8272-8273,U+827a,U+827e,U+8282,U+829d,U+82ac,U+82b1,U+82b3,U+82cd,U+82cf,U+82d7,U+82e5-82e6,U+82f1,U+82f9,U+8302-8303,U+8305,U+8328,U+832b,U+8336,U+8349,U+8350,U+8352,U+8361,U+8363,U+836f,U+8377,U+8389,U+838e,U+83ab,U+83b1-83b2,U+83b7,U+83ca,U+83cc,U+83dc,U+83f2,U+8404,U+840d,U+8425,U+8427-8428,U+843d,U+8457,U+845b,U+8461,U+8463,U+846c,U+8482,U+848b,U+8499,U+84b8,U+84c4,U+84dd,U+84ec,U+8521,U+852c,U+8574,U+857e,U+8584,U+859b,U+85aa,U+85cf,U+864e,U+8651,U+865a,U+866b,U+8679,U+867d-867e,U+8680,U+8695,U+86c7,U+86cb,U+8702,U+878d,U+8840,U+884c-884d,U+8854,U+8857,U+8861,U+8863,U+8865,U+8868,U+886b-886c,U+8870,U+8877,U+8881,U+888b,U+8896,U+88ab,U+88ad,U+88b1,U+88c1-88c2,U+88c5,U+88d5,U+88e4,U+8944,U+897f,U+8981,U+8986,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+89e6,U+8a00,U+8a89,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba8-8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbc,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc8-8bca,U+8bcd,U+8bd1,U+8bd5,U+8bd7,U+8bda,U+8bdd-8bde,U+8be2,U+8be5-8be6,U+8bed,U+8bef,U+8bf1,U+8bf4,U+8bf7-8bf8,U+8bfa-8bfb,U+8bfe,U+8c01,U+8c03,U+8c08,U+8c0a-8c0b,U+8c10,U+8c13,U+8c22,U+8c26,U+8c28,U+8c2d,U+8c31,U+8c37,U+8c46,U+8c61,U+8c6a-8c6b,U+8c8c,U+8d1d,U+8d1f,U+8d21-8d25,U+8d27-8d2b,U+8d2d,U+8d2f,U+8d34-8d35,U+8d37-8d3a,U+8d3e-8d3f,U+8d41-8d42,U+8d44,U+8d4b-8d4c,U+8d4f,U+8d54,U+8d56,U+8d5a-8d5b,U+8d5e,U+8d60,U+8d62-8d64,U+8d6b,U+8d70,U+8d74-8d77,U+8d85,U+8d8a-8d8b,U+8da3,U+8db3,U+8dc3,U+8dcc,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8df3,U+8df5,U+8e0f,U+8e2a,U+8e48,U+8eab,U+8f66-8f68,U+8f6c,U+8f6e-8f70,U+8f74,U+8f7b,U+8f7d,U+8f7f,U+8f83,U+8f85-8f86,U+8f88-8f89,U+8f90-8f91,U+8f93,U+8f96,U+8f9b-8f9c,U+8f9e-8f9f,U+8fa3,U+8fa9,U+8fb0-8fb1,U+8fb9,U+8fbd-8fbe,U+8fc1,U+8fc4-8fc5,U+8fc7-8fc8,U+8fce,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdf,U+8fea-8feb,U+8ff0,U+8ff7,U+8ff9,U+8ffd,U+9000-9003,U+9006,U+9009,U+900f-9010,U+9012,U+9014,U+901a,U+901d,U+901f-9020,U+9022,U+903b-903c,U+903e,U+9047,U+904d,U+904f,U+9053,U+9057,U+9063,U+9065,U+906d,U+9075,U+907f-9080,U+9093,U+90a2-90a3,U+90a6,U+90ae,U+90b1,U+90b5,U+90b9,U+90bb,U+90c1,U+90ca,U+90ce,U+90d1,U+90e8,U+90ed,U+90fd,U+914d,U+9152,U+916c,U+9177-9178,U+917f,U+9189,U+9192,U+91c7,U+91ca,U+91cc-91cf,U+91d1,U+9274,U+9488,U+9493,U+949e-949f,U+94a2,U+94a6,U+94a9,U+94b1,U+94bb,U+94c1,U+94c3,U+94c5,U+94dc-94dd,U+94ed,U+94f6,U+94f8,U+94fa,U+94fe,U+9500-9501,U+9505,U+950b,U+9510,U+9519,U+9521,U+9526,U+952e,U+953b,U+9547,U+955c,U+957f,U+95e8,U+95ea,U+95ed-95ef,U+95f2,U+95f4,U+95f8-95f9,U+95fb,U+95fd,U+9601,U+9605,U+960e,U+9610,U+9614,U+961c,U+961f,U+9632-9636,U+963b,U+963f,U+9644-9646,U+9648,U+964d,U+9650,U+9655,U+9662,U+9664,U+9669-966a,U+9675-9677,U+9686,U+968f-9690,U+9694,U+969c,U+96a7,U+96be,U+96c4-96c7,U+96d5,U+96e8,U+96ea,U+96f6-96f7,U+96fe,U+9700,U+9707,U+970d,U+971e,U+9732,U+9738,U+9752,U+9759,U+975e,U+9760,U+9762,U+9769,U+978b,U+978d,U+97ad,U+97e6,U+97e9,U+97f3,U+97f5,U+9875-9877,U+9879-987b,U+987d-987f,U+9881-9882,U+9884,U+9886-9888,U+9891,U+9896-9898,U+989c-989d,U+98ce,U+98d8,U+98de-98df,U+9910,U+996d-996e,U+9970-9972,U+997c,U+9986,U+9996,U+9999,U+9a6c,U+9a70-9a71,U+9a76,U+9a7b,U+9a7e,U+9a84,U+9a8c,U+9a91,U+9a97,U+9aa4,U+9aa8,U+9ad8,U+9b3c,U+9b42,U+9b44-9b45,U+9b4f,U+9b54,U+9c7c,U+9c81,U+9c8d,U+9c9c,U+9e1f,U+9e21,U+9e23,U+9e2d,U+9e3f,U+9e45,U+9e4f,U+9e64,U+9e70,U+9e7f,U+9ea6,U+9ebb,U+9ec4,U+9ece,U+9ed1,U+9ed8,U+9f0e,U+9f13,U+9f20,U+9f3b,U+9f50,U+9f7f,U+9f84,U+9f99-9f9a,U+fe10-fe18,U+fe33-fe40,U+fe4f-fe51,U+fe54-fe57,U+fe59-fe5e,U+ff01,U+ff08-ff09,U+ff0c,U+ff1a-ff1b,U+ff1f,U+ff3f,U+ff5b,U+ff5d",weight:"400"},{asset:"puhui/6880f229.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+4184-471e,U+29f7e,U+29f83,U+29f8c,U+2a7dd,U+2a8fb,U+2a917,U+2aa30,U+2aa36,U+2aa58,U+2afa2,U+2b127-2b128,U+2b137-2b138,U+2b1ed,U+2b300,U+2b363,U+2b36f,U+2b372,U+2b37d,U+2b404,U+2b410,U+2b413,U+2b461,U+2b4e7,U+2b4ef,U+2b4f6,U+2b4f9,U+2b50d-2b50e,U+2b536,U+2b5ae-2b5af,U+2b5b3,U+2b5e7,U+2b5f4,U+2b61c-2b61d,U+2b626-2b628,U+2b62a,U+2b62c,U+2b695-2b696,U+2b6ad,U+2b6ed,U+2b7a9,U+2b7c5,U+2b7e6,U+2b7f9,U+2b7fc,U+2b806,U+2b80a,U+2b81c,U+2b8b8,U+2bac7,U+2bb5f,U+2bb62,U+2bb7c,U+2bb83,U+2bc1b,U+2bd77,U+2bd87,U+2bdf7,U+2be29,U+2c029-2c02a,U+2c0a9,U+2c0ca,U+2c1d5,U+2c1d9,U+2c1f9,U+2c27c,U+2c288,U+2c2a4,U+2c317,U+2c35b,U+2c361,U+2c364,U+2c488,U+2c494,U+2c497,U+2c542,U+2c613,U+2c618,U+2c621,U+2c629,U+2c62b-2c62d,U+2c62f,U+2c642,U+2c64a-2c64b",weight:"400"},{asset:"puhui/562341ba.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+3b11-4183,U+25532,U+25562,U+255a8,U+25ed7,U+26221,U+2648d,U+26676,U+2677c,U+26b5c,U+26c21,U+27ff9,U+28408,U+28678,U+28695,U+287e0,U+28b49,U+28c47,U+28c4f,U+28c51,U+28c54,U+28e99",weight:"400"},{asset:"puhui/b04d2f05.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+471f-4c6b,U+2c72c,U+2c72f,U+2c79f,U+2c7c1,U+2c7fd,U+2c8d9,U+2c8de,U+2c8e1,U+2c8f3,U+2c907,U+2c90a,U+2c91d,U+2ca02,U+2ca0e,U+2ca7d,U+2caa9,U+2cb29,U+2cb2d-2cb2e,U+2cb31,U+2cb38-2cb39,U+2cb3b,U+2cb3f,U+2cb41,U+2cb4a,U+2cb4e,U+2cb5a-2cb5b,U+2cb64,U+2cb69,U+2cb6c,U+2cb6f,U+2cb73,U+2cb76,U+2cb78,U+2cb7c,U+2cbb1,U+2cbbf-2cbc0,U+2cbce,U+2cc56,U+2cc5f,U+2ccf5-2ccf6,U+2ccfd,U+2ccff,U+2cd02-2cd03,U+2cd0a,U+2cd8b,U+2cd8d,U+2cd8f-2cd90,U+2cd9f-2cda0,U+2cda8,U+2cdad-2cdae,U+2cdd5,U+2ce18,U+2ce1a,U+2ce23,U+2ce26,U+2ce2a,U+2ce7c,U+2ce88,U+2ce93",weight:"400"},{asset:"puhui/1be2c28b.woff2",family:"Alibaba-PuHuiTi-Regular",range:"U+d,U+20-7e,U+a0-17f,U+18f,U+192,U+1ce,U+1d0,U+1d2,U+1d4,U+1d6,U+1d8,U+1da,U+1dc,U+1fa-1ff,U+218-21b,U+237,U+259,U+2bc,U+2c6,U+2da,U+2dc,U+300-301,U+303-304,U+308,U+374-375,U+37e,U+384-38a,U+38c,U+38e-3a1,U+3a3-3ce,U+400-45f,U+490-493,U+496-497,U+49a-49d,U+4a2-4a3,U+4ae-4af,U+4b2-4b3,U+4b8-4bb,U+4c0,U+4cf,U+4d8-4d9,U+4e8-4e9,U+1e3f,U+1e80-1e85,U+1e9e,U+1ef2-1ef3,U+2010-2011,U+2013-201e,U+2020-2022,U+2025-2026,U+2030,U+2032-2037,U+2039-203e,U+2044,U+2070,U+2074-207e,U+2080-208e,U+2099,U+20a1-20bf,U+2113,U+2116,U+2122,U+2191,U+2193,U+2212,U+2215,U+300c-300f,U+fb00-fb04,U+fe19,U+fe30-fe31,U+fe41-fe44,U+feff",weight:"400"}],misans:[{asset:"misans/0b091a88.woff2",family:"MiSans",range:"U+933b-933d,U+933f-9369,U+936b-938e,U+9390-93c9,U+93cb-93d5,U+93d7-943d,U+943f-946a,U+946c-9484,U+9491,U+9496,U+9498,U+94c7,U+94cf,U+94d3-94d4,U+94da,U+94e6,U+94fb,U+951c,U+9520,U+9527,U+9533,U+953d,U+9543,U+9548,U+954b,U+9555,U+955a,U+9560,U+956e,U+9574-9575,U+9577-957e,U+9580-95e7,U+95ec,U+95ff,U+9607,U+9613,U+9618,U+961b,U+961e,U+9620,U+9623-9629,U+962b-962d,U+962f-9630,U+9637-963a,U+963e,U+9641,U+9643,U+964a,U+964e-964f,U+9651-9653,U+9656-965a,U+965c-965e,U+9660,U+9663,U+9665-9666,U+966b,U+966d-9671,U+9673,U+9678-9684,U+9687,U+9689-968a,U+968c,U+968e,U+9691-9693,U+9695-9696,U+969a-969b,U+969d-96a6,U+96a8-96af,U+96b1-96b2,U+96b4-96b5,U+96b7-96b8,U+96ba-96bb,U+96bf,U+96c2-96c3,U+96c8,U+96ca-96cb,U+96d0-96d1,U+96d3-96d4,U+96d6-96df,U+96e1-96e7,U+96eb-96ee,U+96f0-96f2,U+96f4-96f5,U+96f8,U+96fa-96fd,U+96ff,U+9702-9703,U+9705,U+970a-970c,U+9710-9712,U+9714-9715,U+9717-971b,U+971d,U+971f-9729,U+972b-972c,U+972e-972f,U+9731,U+9733-9737,U+973a-973d,U+973f-9751,U+9754-9755,U+9757-9758,U+975a,U+975c-975d,U+975f,U+9763-9764,U+9766-9768,U+976a-9772,U+9775,U+9777-977b,U+977d-9784,U+9786-978a,U+978c,U+978e-9790,U+9793,U+9795-9797,U+9799-979f,U+97a1-97a2,U+97a4-97aa,U+97ac,U+97ae,U+97b0-97b1,U+97b3,U+97b5-97e5,U+97e8,U+97ee-97f2,U+97f4,U+97f7-9874,U+988b,U+988e,U+9892,U+9895,U+9899,U+98a3,U+98a8-98cd,U+98cf-98d0,U+98d4,U+98d6-98d7,U+98db-98dd,U+98e0-98e6,U+98e9-990c,U+990e-990f,U+9911-992d,U+992f-9953,U+9956-9962,U+9964,U+9966,U+9973,U+9978-9979,U+997b,U+997e,U+9982-9983,U+9989,U+998c,U+998e,U+999a-99a4,U+99a6-99a7,U+99a9-9a6b,U+9a72,U+9a83,U+9a89,U+9a8d-9a8e,U+9a94-9a95,U+9a99,U+9aa6,U+9aa9-9aaf,U+9ab2-9ab5,U+9ab9,U+9abb,U+9abd-9abf,U+9ac3-9ac4,U+9ac6-9aca,U+9acd-9ad0,U+9ad2,U+9ad4-9ad7,U+9ad9-9ade,U+9ae0,U+9ae2-9ae5,U+9ae7-9aea,U+9aec,U+9aee,U+9af0-9af8,U+9afa,U+9afc-9b02,U+9b04-9b07,U+9b09-9b0e,U+9b10-9b12,U+9b14-9b1e,U+9b20-9b22,U+9b24-9b2e,U+9b30-9b31,U+9b33-9b3a,U+9b3d-9b40,U+9b46,U+9b4a-9b4c,U+9b4e,U+9b50,U+9b52-9b53,U+9b55-9b94",weight:"400"},{asset:"misans/4dd21d3a.woff2",family:"MiSans",range:"U+89dd,U+89df-89e2,U+89e4,U+89e7-89ea,U+89ec-89ee,U+89f0-89f2,U+89f4-89ff,U+8a01-8a06,U+8a08-8a3d,U+8a3f-8a47,U+8a49-8a78,U+8a7a-8a88,U+8a8b-8a92,U+8a94-8b06,U+8b08-8b25,U+8b27-8b65,U+8b67-8b6b,U+8b6d-8b9f,U+8bac,U+8bb1,U+8bbb,U+8bc7,U+8bd0,U+8bea,U+8c09,U+8c1e,U+8c38-8c40,U+8c42-8c45,U+8c48,U+8c4a-8c4b,U+8c4d-8c54,U+8c56-8c59,U+8c5b-8c60,U+8c63-8c69,U+8c6c-8c72,U+8c74-8c77,U+8c7b-8c81,U+8c83-8c84,U+8c86-8c88,U+8c8b,U+8c8d-8c93,U+8c95-8c97,U+8c99-8d1c,U+8d20,U+8d51-8d52,U+8d57,U+8d5f,U+8d65,U+8d68-8d6a,U+8d6c,U+8d6e-8d6f,U+8d71-8d72,U+8d78-8d80,U+8d82-8d83,U+8d86-8d89,U+8d8c-8d90,U+8d92-8d93,U+8d95-8d9e,U+8da0-8da2,U+8da4-8db0,U+8db2,U+8db6-8db7,U+8db9,U+8dbb,U+8dbd,U+8dc0-8dc2,U+8dc5,U+8dc7-8dca,U+8dcd,U+8dd0,U+8dd2-8dd5,U+8dd8-8dd9,U+8ddc,U+8de0-8de2,U+8de5-8de7,U+8de9,U+8ded-8dee,U+8df0-8df2,U+8df4,U+8df6,U+8dfc,U+8dfe-8e04,U+8e06-8e08,U+8e0b,U+8e0d-8e0e,U+8e10-8e13,U+8e15-8e1c,U+8e20-8e21,U+8e24-8e28,U+8e2b,U+8e2d,U+8e30,U+8e32-8e34,U+8e36-8e38,U+8e3b-8e3c,U+8e3e-8e3f,U+8e43,U+8e45-8e46,U+8e4c-8e50,U+8e53-8e58,U+8e5a-8e65,U+8e67-8e68,U+8e6a-8e6b,U+8e6e,U+8e71,U+8e73,U+8e75,U+8e77-8e7b,U+8e7d-8e7e,U+8e80,U+8e82-8e84,U+8e86,U+8e88-8e8e,U+8e91-8e93,U+8e95-8e9b,U+8e9d,U+8e9f-8eaa,U+8ead-8eae,U+8eb0-8eb1,U+8eb3-8eb9,U+8ebb-8ecd,U+8ecf-8f65,U+8f6a,U+8f80,U+8f8c,U+8f92,U+8f9d,U+8fa0-8fa2,U+8fa4-8fa7,U+8faa,U+8fac-8faf,U+8fb2-8fb5,U+8fb7-8fb8,U+8fba-8fbc,U+8fbf-8fc0,U+8fc3,U+8fc6,U+8fc9-8fcd,U+8fcf,U+8fd2,U+8fd6-8fd7,U+8fda,U+8fe0-8fe1,U+8fe3,U+8fe7,U+8fec,U+8fef,U+8ff1-8ff2,U+8ff4-8ff6,U+8ffa-8ffc,U+8ffe-8fff,U+9007-9008,U+900c,U+900e,U+9013,U+9015,U+9018-9019,U+901c,U+9023-9025,U+9027-902c,U+9030-9034,U+9037,U+9039-903a,U+903d,U+903f-9040,U+9043,U+9045-9046,U+9048-904c,U+904e,U+9054-9056,U+9059-905a,U+905c-9061,U+9064,U+9066-9067,U+9069-906c,U+906f-9073,U+9076-907c,U+907e,U+9081,U+9084-9087,U+9089-908a,U+908c-9090,U+9092,U+9094,U+9096,U+9098,U+909a,U+909c,U+909e-90a0,U+90a4-90a5,U+90a7-90a9,U+90ab,U+90ad,U+90b2,U+90b7,U+90bc-90bd,U+90bf-90c0,U+90c2-90c3,U+90c6,U+90c8-90c9,U+90cb-90cd,U+90d2,U+90d4-90d6,U+90d8-90da,U+90de-90e0,U+90e3-90e5,U+90e9-90ea,U+90ec,U+90ee,U+90f0-90f3,U+90f5-90f7,U+90f9-90fc,U+90ff-9101,U+9103,U+9105-9118,U+911a-911d,U+911f-9121,U+9124-912e,U+9130,U+9132-9138,U+913a-9142,U+9144-9145,U+9147-9148,U+9151,U+9153-9156,U+9158-9159,U+915b-915c,U+915f-9160,U+9166-9168,U+916b,U+916d,U+9173,U+917a-917c,U+9180-9184,U+9186,U+9188,U+918a,U+918e-918f,U+9193-9199,U+919c-91a1,U+91a4-91a9,U+91ab-91ac,U+91b0-91b3,U+91b6-91b9,U+91bb-91c6,U+91c8,U+91cb,U+91d0,U+91d2-91db,U+91dd-9273,U+9275-928d,U+928f-92ad,U+92af-92c7,U+92c9-933a",weight:"400"},{asset:"misans/227fd1ab.woff2",family:"MiSans",range:"U+2c7,U+2c9-2cb,U+2d8-2d9,U+2db,U+2dd,U+302,U+306-307,U+30a-30c,U+312,U+326-328,U+2103,U+2105,U+2109,U+2114,U+2117,U+211e,U+2120-2121,U+2126,U+212e,U+2153-2154,U+215b-215e,U+2160-2179,U+2180-2182,U+2190,U+2192,U+2196-2199,U+21c4,U+2202,U+2206,U+2208,U+220f,U+2211,U+221a,U+221d-2220,U+2223,U+2225,U+2227-222b,U+222e,U+2234-2237,U+223c-223d,U+2248,U+224c,U+2252,U+2260-2261,U+2264-2267,U+226e-226f,U+2295,U+2299,U+22a5,U+22bf,U+2312,U+2460-2469,U+2474-249b,U+2500-254b,U+2550-2573,U+2581-258f,U+2593-2595,U+25a0-25a1,U+25b2-25b3,U+25bc-25bd,U+25c6-25c7,U+25ca-25cb,U+25ce-25cf,U+25e2-25e5,U+2605-2606,U+2609,U+2640,U+2642,U+9b95-9c7b,U+9c7d-9c7e,U+9c80,U+9c83-9c84,U+9c89-9c8a,U+9c8c,U+9c8f,U+9c93,U+9c96-9c99,U+9c9d,U+9caa,U+9cac,U+9caf,U+9cb9,U+9cbe-9cc2,U+9cc8-9cc9,U+9cd1-9cd2,U+9cda-9cdb,U+9ce0-9ce1,U+9ce3-9e1e,U+9e24,U+9e27,U+9e2e,U+9e30,U+9e34,U+9e3b-9e3c,U+9e40,U+9e4d,U+9e50,U+9e52-9e54,U+9e56,U+9e59,U+9e5d,U+9e5f-9e62,U+9e65,U+9e6e-9e6f,U+9e72,U+9e74-9e7d,U+9e80-9e81,U+9e83-9e86,U+9e89-9e8a,U+9e8c-9e91,U+9e94-9e9c,U+9e9e,U+9ea0-9ea5,U+9ea7-9eb3,U+9eb5-9eb7,U+9eb9-9eba,U+9ebc,U+9ebf-9ec3,U+9ec5-9ec8,U+9eca-9ecc,U+9ed0,U+9ed2-9ed3,U+9ed5-9ed7,U+9ed9-9eda,U+9ede,U+9ee1,U+9ee3-9ee4,U+9ee6,U+9ee8,U+9eeb-9eee,U+9ef0-9ef8,U+9efa,U+9efd,U+9eff-9f0a,U+9f0c,U+9f0f,U+9f11-9f12,U+9f14-9f16,U+9f18,U+9f1a-9f1f,U+9f21,U+9f23-9f2b,U+9f2d-9f2e,U+9f30-9f36,U+9f38,U+9f3a,U+9f3c,U+9f3f-9f43,U+9f45-9f4f,U+9f52-9f7e,U+9f81-9f82,U+9f8d-9f98,U+9f9c-9f9e,U+9fa1-9fef,U+f92c,U+f979,U+f995,U+f9e7,U+f9f1,U+fa0c-fa0f,U+fa11,U+fa13-fa14,U+fa18,U+fa1f-fa21,U+fa23-fa24,U+fa27-fa29,U+fe49-fe4f",weight:"400"},{asset:"misans/6defc511.woff2",family:"MiSans",range:"U+75ed-75ef,U+75f2-75f3,U+75f5-75f8,U+75fa-75fb,U+75fd-75fe,U+7602,U+7604,U+7606-7609,U+760b,U+760d-760f,U+7611-7614,U+7616,U+761a,U+761c-761e,U+7621,U+7623,U+7627-7628,U+762c,U+762e-762f,U+7631-7632,U+7636-7637,U+7639-763b,U+763d,U+7641-7642,U+7644-764b,U+764e-7653,U+7655,U+7657-765b,U+765d,U+765f-7662,U+7664-766a,U+766c-766e,U+7670-7677,U+7679-767a,U+767c,U+767f-7681,U+7683,U+7685,U+7689-768a,U+768c-768d,U+768f-7690,U+7692,U+7694-7695,U+7697-7698,U+769a-76a3,U+76a5-76ad,U+76af-76b0,U+76b3,U+76b5-76be,U+76c0-76c1,U+76c3-76c4,U+76c7,U+76c9,U+76cb-76cc,U+76d3,U+76d5,U+76d9-76da,U+76dc-76de,U+76e0-76e4,U+76e6-76ed,U+76f0,U+76f3,U+76f5-76f7,U+76fa-76fb,U+76fd,U+76ff-7703,U+7705-7706,U+770a,U+770c,U+770e-7718,U+771b-771e,U+7721,U+7723-7725,U+7727,U+772a-772c,U+772e,U+7730-7734,U+7739,U+773b,U+773d-773f,U+7742,U+7744-7746,U+7748-774f,U+7752-7759,U+775c-7760,U+7764,U+7767,U+7769-776a,U+776d-7778,U+777a-777c,U+7781-7783,U+7786-778b,U+778f-7790,U+7793-779e,U+77a1,U+77a3-77a4,U+77a6,U+77a8,U+77ab,U+77ad-77af,U+77b1-77b2,U+77b4,U+77b6-77ba,U+77bc,U+77be,U+77c0-77cc,U+77ce-77d6,U+77d8-77da,U+77dd-77e1,U+77e4,U+77e6,U+77e8,U+77ea,U+77ef-77f2,U+77f4-77f5,U+77f7,U+77f9-77fc,U+7803-7808,U+780a-780b,U+780e-7810,U+7813,U+7815,U+7819,U+781b,U+781e,U+7820-7822,U+7824,U+7828,U+782a-782b,U+782e-782f,U+7831-7833,U+7835-7836,U+783d,U+783f,U+7841-7844,U+7846,U+7848-784b,U+784d,U+784f,U+7851,U+7853-7854,U+7858-785c,U+785e-7869,U+786f-7876,U+7878-787b,U+787d-7886,U+7888,U+788a-788b,U+788f-7890,U+7892,U+7894-7896,U+7899,U+789d-789e,U+78a0,U+78a2,U+78a4,U+78a6,U+78a8-78af,U+78b5-78b8,U+78ba-78bd,U+78bf-78c0,U+78c2-78c4,U+78c6-78c8,U+78cc-78cf,U+78d1-78d3,U+78d6-78d8,U+78da-78e7,U+78e9-78eb,U+78ed-78f1,U+78f3,U+78f5-78f6,U+78f8-78f9,U+78fb-7900,U+7902-7904,U+7906-7912,U+7914-791d,U+791f-7923,U+7925-7933,U+7935-7939,U+793d,U+793f,U+7942-7945,U+7947,U+794a-7952,U+7954-7955,U+7958-7959,U+7961,U+7963-7964,U+7966,U+7969-796c,U+796e,U+7970-7976,U+7979,U+797b-797f,U+7982-7983,U+7986-7989,U+798b-798e,U+7990-7999,U+799b-79a6,U+79a8-79b2,U+79b4-79b8,U+79bc,U+79bf,U+79c2,U+79c4-79c5,U+79c7-79c8,U+79ca,U+79cc,U+79ce-79d0,U+79d3-79d4,U+79d6-79d7,U+79d9-79de,U+79e0-79e2,U+79e5,U+79e8,U+79ea,U+79ec,U+79ee,U+79f1-79f7,U+79f9-79fa,U+79fc,U+79fe-79ff,U+7a01,U+7a04-7a05,U+7a07-7a0a,U+7a0c,U+7a0f-7a13,U+7a15-7a16,U+7a18-7a19,U+7a1b-7a1d,U+7a1f,U+7a21-7a22,U+7a24-7a32,U+7a34-7a36,U+7a38,U+7a3a,U+7a3e,U+7a40-7a45,U+7a47-7a50,U+7a52-7a56,U+7a58-7a6f,U+7a71-7a73,U+7a75,U+7a7b-7a7e,U+7a82,U+7a85,U+7a87,U+7a89-7a8c,U+7a8e-7a90,U+7a93-7a94,U+7a99-7a9b,U+7a9e,U+7aa1-7aa4,U+7aa7,U+7aa9-7aab,U+7aae-7ab2,U+7ab4-7abe,U+7ac0-7aca,U+7acc-7ad5,U+7ad7-7ad8,U+7ada-7add,U+7ae1-7ae2,U+7ae4,U+7ae7-7aec,U+7aee,U+7af0-7af8,U+7afb-7afc,U+7afe,U+7b00-7b02,U+7b05,U+7b07,U+7b09,U+7b0c-7b0e,U+7b10,U+7b12-7b13,U+7b16-7b18,U+7b1a,U+7b1c-7b1d,U+7b1f,U+7b21-7b23,U+7b27,U+7b29,U+7b2d,U+7b2f-7b30,U+7b32,U+7b34-7b37,U+7b39,U+7b3b,U+7b3d,U+7b3f-7b44,U+7b46,U+7b48,U+7b4a,U+7b4d-7b4e,U+7b53,U+7b55,U+7b57,U+7b59,U+7b5c,U+7b5e-7b5f,U+7b61,U+7b63-7b6d,U+7b6f-7b70,U+7b73-7b74,U+7b76,U+7b78,U+7b7a,U+7b7c-7b7d,U+7b7f,U+7b81-7b84,U+7b86-7b8c,U+7b8e-7b8f,U+7b91-7b93,U+7b96,U+7b98-7b9b,U+7b9e-7ba0,U+7ba3-7ba5,U+7bae-7bb0,U+7bb2-7bb3,U+7bb5-7bb7,U+7bb9-7bc0,U+7bc2-7bc5,U+7bc8-7bcb,U+7bcd-7bd0,U+7bd2,U+7bd4-7bd8,U+7bdb-7bdc,U+7bde-7be0,U+7be2-7be4,U+7be7-7be9,U+7beb-7bed,U+7bef-7bf0,U+7bf2-7bf6,U+7bf8-7bfb,U+7bfd,U+7bff-7c06,U+7c08-7c0a,U+7c0d-7c0e,U+7c10-7c15,U+7c17-7c1e,U+7c20-7c25,U+7c28-7c29,U+7c2b-7c37,U+7c39-7c3e,U+7c42-7c4c,U+7c4e-7c72,U+7c75-7c7a,U+7c7e-7c88,U+7c8a-7c90,U+7c93-7c94,U+7c96,U+7c99-7c9b,U+7ca0-7ca1,U+7ca3,U+7ca6-7ca9,U+7cab-7cad,U+7caf-7cb0,U+7cb4-7cb8,U+7cba-7cbb,U+7cbf-7cc0,U+7cc2-7cc4,U+7cc6,U+7cc9,U+7ccb,U+7cce-7cd4,U+7cd8,U+7cda-7cdb,U+7cdd-7cde,U+7ce1-7ce7,U+7ce9-7cee,U+7cf0-7cf7,U+7cf9-7cfa,U+7cfc-7d09,U+7d0b-7d1f,U+7d21,U+7d23-7d26,U+7d28-7d2a,U+7d2c-7d2e,U+7d30-7d6d,U+7d6f-7d76,U+7d78-7da5,U+7da7-7dad,U+7daf-7e3a,U+7e3c-7e40,U+7e42-7e46,U+7e48-7e81,U+7e83-7e9a,U+7e9c-7e9e,U+7eae,U+7eb4,U+7ebb-7ebc,U+7ed6,U+7ee4,U+7eec,U+7ef9,U+7f0a,U+7f10,U+7f1e,U+7f37,U+7f39,U+7f3b-7f41,U+7f43,U+7f46-7f4f,U+7f52-7f53,U+7f56,U+7f59,U+7f5b-7f5e,U+7f60,U+7f63-7f67,U+7f6b-7f6d,U+7f6f-7f70,U+7f73,U+7f75-7f78,U+7f7a-7f7d,U+7f7f-7f80,U+7f82-7f85",weight:"400"},{asset:"misans/41a1ce17.woff2",family:"MiSans",range:"U+7f86-7f89,U+7f8b,U+7f8d,U+7f8f-7f93,U+7f95-7f99,U+7f9b-7f9c,U+7fa0,U+7fa2-7fa3,U+7fa5-7fa6,U+7fa8-7fae,U+7fb1,U+7fb3-7fb7,U+7fba-7fbb,U+7fbe,U+7fc0,U+7fc2-7fc4,U+7fc6-7fc9,U+7fcb,U+7fcd,U+7fcf-7fd3,U+7fd6-7fd7,U+7fd9-7fde,U+7fe2-7fe4,U+7fe7-7fe8,U+7fea-7fed,U+7fef,U+7ff2,U+7ff4-7ffa,U+7ffd-7fff,U+8002,U+8007-800a,U+800e-800f,U+8011,U+8013,U+801a-801b,U+801d-801f,U+8021,U+8023-8024,U+802b-8030,U+8032,U+8034,U+8039-803a,U+803c,U+803e,U+8040-8041,U+8044-8045,U+8047-8049,U+804e-8051,U+8053,U+8055-8057,U+8059,U+805b-8068,U+806b-8070,U+8072-807e,U+8081-8082,U+8085,U+8088,U+808a,U+808d-8092,U+8094-8095,U+8097,U+8099,U+809e,U+80a3,U+80a6-80a8,U+80ac,U+80b0,U+80b3,U+80b5-80b6,U+80b8-80b9,U+80bb,U+80c5,U+80c7-80cb,U+80cf-80d5,U+80d8,U+80df-80e0,U+80e2-80e3,U+80e6,U+80ee,U+80f5,U+80f7,U+80f9,U+80fb,U+80fe-8101,U+8103-8105,U+8107-8108,U+810b-810c,U+8115,U+8117,U+8119,U+811b-811d,U+811f-812b,U+812d-812e,U+8130,U+8133-8135,U+8137,U+8139-813d,U+813f-8145,U+8147,U+8149,U+814d-814f,U+8152,U+8156-8158,U+815b-815f,U+8161-8164,U+8166,U+8168,U+816a-816c,U+816f,U+8172-8173,U+8175-8178,U+8181,U+8183-8187,U+8189,U+818b-818e,U+8190,U+8192-8197,U+8199-819a,U+819e-81a2,U+81a4-81a5,U+81a7,U+81a9,U+81ab-81b2,U+81b4-81b9,U+81bc-81bf,U+81c4-81c5,U+81c7-81c9,U+81cb,U+81cd-81e2,U+81e4-81e6,U+81e8-81e9,U+81eb,U+81ee-81f2,U+81f5-81fa,U+81fd,U+81ff,U+8203,U+8207-820b,U+820e-820f,U+8211,U+8213,U+8215-821a,U+821d,U+8220,U+8224-8227,U+8229,U+822e,U+8232,U+823a,U+823c-823d,U+823f-8243,U+8245-8246,U+8248,U+824a,U+824c-824e,U+8250-8257,U+8259,U+825b-825e,U+8260-8267,U+8269-826d,U+8271,U+8275-8278,U+827b-827c,U+8280-8281,U+8283,U+8285-8287,U+8289,U+828c,U+8290,U+8293-8296,U+829a-829b,U+829e,U+82a0,U+82a2-82a3,U+82a7,U+82b2,U+82b5-82b6,U+82ba-82bc,U+82bf-82c0,U+82c2-82c3,U+82c5-82c6,U+82c9,U+82d0,U+82d6,U+82d9-82da,U+82dd,U+82e2,U+82e7-82ea,U+82ec-82ee,U+82f0,U+82f2-82f3,U+82f5-82f6,U+82f8,U+82fa,U+82fc-8300,U+830a-830b,U+830d,U+8310,U+8312-8313,U+8316,U+8318-8319,U+831d-8326,U+8329-832a,U+832e,U+8330,U+8332,U+8337,U+833b,U+833d-833f,U+8341-8342,U+8344-8345,U+8348,U+834a-834e,U+8353,U+8355-8359,U+835d,U+8362,U+8370-8376,U+8379-837a,U+837e-8384,U+8387-8388,U+838a-838d,U+838f-8391,U+8394-8397,U+8399-839a,U+839d,U+839f,U+83a1-83a7,U+83ac-83af,U+83b5,U+83bb,U+83be-83bf,U+83c2-83c4,U+83c6,U+83c8-83c9,U+83cb,U+83cd-83ce,U+83d0-83d3,U+83d5,U+83d7,U+83d9-83db,U+83de,U+83e2-83e4,U+83e6-83e8,U+83eb-83ef,U+83f3-83f7,U+83fa-83fc,U+83fe-8400,U+8402,U+8405,U+8407-840a,U+8410,U+8412-8417,U+8419-841b,U+841e-8423,U+8429-8430,U+8432-8437,U+8439-843b,U+843e-8445,U+8447-8450,U+8452-8456,U+8458,U+845d-8460,U+8462,U+8464-8468,U+846a,U+846e-8470,U+8472,U+8474,U+8477,U+8479,U+847b-8481,U+8483-8486,U+848a,U+848d,U+848f-8496,U+8498,U+849a-849b,U+849d-84a0,U+84a2-84ae,U+84b0-84b1,U+84b3,U+84b5-84b7,U+84bb-84bc,U+84be,U+84c0,U+84c2-84c3,U+84c5-84c8,U+84cb-84cc,U+84ce-84cf,U+84d2,U+84d4-84d5,U+84d7-84dc,U+84de,U+84e1-84e2,U+84e4,U+84e7-84eb,U+84ed-84ef,U+84f1-84fb,U+84fd-84fe,U+8500-850b,U+850d-8510,U+8512,U+8514-8516,U+8518-8519,U+851b-851e,U+8520,U+8522-852a,U+852d-8536,U+853e-8542,U+8544-8547,U+854b-8555,U+8557-8558,U+855a-855d,U+855f-8563,U+8565-8567,U+8569-8571,U+8573,U+8575-8578,U+857c-857d,U+857f-8583,U+8586,U+8588-858e,U+8590-859a,U+859d-85a3,U+85a5-85a7,U+85a9,U+85ab-85ad,U+85b1-85b6,U+85b8,U+85ba-85c0,U+85c2-85c8,U+85ca-85ce,U+85d1-85d2,U+85d4,U+85d6-85db,U+85dd-85e3,U+85e5-85e8,U+85ea-85fa,U+85fc-85fe,U+8600-8604,U+8606-8610,U+8612-8615,U+8617-8626,U+8628,U+862a-8637,U+8639-863b,U+863d-864c,U+8652-8653,U+8655-8659,U+865b-865d,U+865f-8661,U+8663-866a,U+866d,U+866f-8670,U+8672-8678,U+8683-8689,U+868e-8692,U+8694,U+8696-869b,U+869e-86a2,U+86a5-86a6,U+86ab,U+86ad-86ae,U+86b2-86b3,U+86b7-86b9,U+86bb-86bf,U+86c1-86c3,U+86c5,U+86c8,U+86cc-86cd,U+86d2-86d3,U+86d5-86d7,U+86da,U+86dc-86dd,U+86e0-86e3,U+86e5-86e8,U+86ea-86ec,U+86ef,U+86f5-86f7,U+86fa-86fd,U+86ff,U+8701,U+8704-8706,U+870b-870c,U+870e-8711,U+8714,U+8716,U+8719,U+871b,U+871d,U+871f-8720,U+8724,U+8726-8728,U+872a-872d,U+872f-8730,U+8732-8733,U+8735-8736,U+8738-873a,U+873c-873d,U+8740-8746,U+874a-874b,U+874d,U+874f-8752,U+8754-8756,U+8758,U+875a-875f,U+8761-8762,U+8766-876d,U+876f,U+8771-8773,U+8775,U+8777-877a,U+877f-8781,U+8784,U+8786-8787,U+8789-878a,U+878c,U+878e-8792,U+8794-8796,U+8798-879e,U+87a0-87a7,U+87a9-87aa,U+87ae,U+87b0-87b2,U+87b4,U+87b6-87b9,U+87bb-87bc,U+87be-87bf,U+87c1-87c5,U+87c7-87c9,U+87cc-87d0,U+87d4-87da,U+87dc-87df,U+87e1-87e4,U+87e6-87e9,U+87eb-87ed,U+87ef-87f8,U+87fa-87fd,U+87ff-8802,U+8804-8809,U+880b-8812,U+8814,U+8817-881a,U+881c-8820,U+8823-8831,U+8833-8838,U+883a-883b,U+883d-883f,U+8841-8843,U+8846-884b,U+884e-8853,U+8855-8856,U+8858,U+885a-8860,U+8866-8867,U+886a,U+886d,U+886f,U+8871,U+8873-8876,U+8878-887c,U+8880,U+8883,U+8886-8887,U+8889-888a,U+888c,U+888e-8891,U+8893-8895,U+8897-889b,U+889d-88a1,U+88a3,U+88a5-88aa,U+88ac,U+88ae-88b0,U+88b2-88b6,U+88b8-88bb,U+88bd-88c0,U+88c3-88c4,U+88c7-88c8,U+88ca-88cd,U+88cf-88d1,U+88d3,U+88d6-88d7,U+88da-88de,U+88e0-88e1,U+88e6-88e7,U+88e9-88ef,U+88f2,U+88f5-88f7,U+88fa-88fb,U+88fd,U+88ff-8901,U+8903-8909,U+890b-890f,U+8911,U+8914-8918,U+891c-8920,U+8922-8924,U+8926-8929,U+892c-892f,U+8931-8933,U+8935,U+8937-8940,U+8942-8943,U+8945-895d,U+8960-8965,U+8967-897a,U+897c-897e,U+8980,U+8982,U+8984-8985,U+8987-89c0,U+89c3,U+89cd,U+89d3-89d5,U+89d7-89d9,U+89db",weight:"400"},{asset:"misans/eba750fc.woff2",family:"MiSans",range:"U+5efd,U+5f05-5f07,U+5f09,U+5f0c-5f0e,U+5f10,U+5f12,U+5f14,U+5f16,U+5f19-5f1a,U+5f1c-5f1e,U+5f21-5f24,U+5f28,U+5f2b-5f2c,U+5f2e,U+5f30,U+5f32-5f38,U+5f3b,U+5f3d-5f3f,U+5f41-5f4f,U+5f51,U+5f54,U+5f59-5f5c,U+5f5e-5f60,U+5f63,U+5f65,U+5f67-5f68,U+5f6b,U+5f6e-5f6f,U+5f72,U+5f74-5f76,U+5f78,U+5f7a,U+5f7d-5f7f,U+5f83,U+5f86,U+5f8d-5f8f,U+5f91,U+5f93-5f94,U+5f96,U+5f9a-5f9b,U+5f9d-5fa0,U+5fa2-5fa7,U+5fa9,U+5fab-5fac,U+5faf-5fb4,U+5fb6,U+5fb8-5fbb,U+5fbe-5fc2,U+5fc7-5fc8,U+5fca-5fcb,U+5fce,U+5fd3-5fd5,U+5fda-5fdc,U+5fde-5fdf,U+5fe2-5fe3,U+5fe5-5fe6,U+5fe8-5fe9,U+5fec,U+5fef-5ff0,U+5ff2-5ff4,U+5ff6-5ff7,U+5ff9-5ffa,U+5ffc,U+6007-6009,U+600b-600c,U+6010-6011,U+6013,U+6017-6018,U+601a,U+601e-601f,U+6022-6024,U+602c-602e,U+6030-6034,U+6036-603a,U+603d-603e,U+6040,U+6044-604a,U+604c,U+604e-604f,U+6051,U+6053-6054,U+6056-6058,U+605b-605c,U+605e-6061,U+6065-6066,U+606e,U+6071-6072,U+6074-6075,U+6077,U+607e,U+6080-6082,U+6085-6088,U+608a-608b,U+608e-6091,U+6093,U+6095,U+6097-6099,U+609c,U+609e,U+60a1-60a2,U+60a4-60a5,U+60a7,U+60a9-60aa,U+60ae,U+60b0,U+60b3,U+60b5-60b7,U+60b9-60ba,U+60bd-60c4,U+60c7-60c9,U+60cc-60d0,U+60d2-60d4,U+60d6-60d7,U+60d9,U+60db,U+60de,U+60e1-60e5,U+60ea,U+60f1-60f2,U+60f5,U+60f7-60f8,U+60fb-60ff,U+6102-6105,U+6107,U+610a-610c,U+6110-6114,U+6116-6119,U+611b-611e,U+6121-6122,U+6125,U+6128-612a,U+612c-613e,U+6140-6147,U+6149,U+614b,U+614d,U+614f-6150,U+6152-6154,U+6156-615c,U+615e-6161,U+6163-6166,U+6169-616f,U+6171-6174,U+6176,U+6178-618a,U+618c-618d,U+618f-6193,U+6195-619c,U+619e-61a6,U+61aa-61ab,U+61ad-61b6,U+61b8-61bd,U+61bf-61c1,U+61c3-61c7,U+61c9,U+61cc-61d0,U+61d3,U+61d5-61e5,U+61e7-61f4,U+61f6-61fe,U+6200-6205,U+6207,U+6209,U+6213-6214,U+6219,U+621c-621e,U+6220,U+6223,U+6226-6229,U+622b,U+622d,U+622f-6232,U+6235-6236,U+6238-623c,U+6242,U+6244-6246,U+624a,U+624f-6250,U+6255-6257,U+6259-625a,U+625c-6262,U+6264-6265,U+6268,U+6271-6272,U+6274-6275,U+6277-6278,U+627a-627b,U+627d,U+6281-6283,U+6285-6288,U+628b-6290,U+6294,U+6299,U+629c-629e,U+62a3,U+62a6-62a7,U+62a9-62aa,U+62ad-62b0,U+62b2-62b4,U+62b6-62b8,U+62ba,U+62be,U+62c0-62c1,U+62c3,U+62cb,U+62cf,U+62d1,U+62d5,U+62dd-62de,U+62e0-62e1,U+62e4,U+62ea-62eb,U+62f0,U+62f2,U+62f5,U+62f8-62fb,U+6300,U+6303-6306,U+630a-630d,U+630f-6310,U+6312-6315,U+6317-6319,U+631c,U+6326-6327,U+6329,U+632c-632e,U+6330-6331,U+6333-6338,U+633b-633c,U+633e-6341,U+6344,U+6347-6348,U+634a,U+6351-6354,U+6356-635d,U+6360,U+6364-6366,U+6368,U+636a-636c,U+636f-6370,U+6372-6375,U+6378-6379,U+637c-637f,U+6381,U+6383-6386,U+638b,U+638d,U+6391,U+6393-6395,U+6397,U+6399-639f,U+63a1,U+63a4,U+63a6,U+63ab,U+63af,U+63b1-63b2,U+63b5-63b6,U+63b9,U+63bb,U+63bd,U+63bf-63c3,U+63c5,U+63c7-63c8,U+63ca-63cc,U+63d1,U+63d3-63d5,U+63d7-63dd,U+63df,U+63e2,U+63e4-63e8,U+63eb-63ec,U+63ee-63f1,U+63f3,U+63f5,U+63f7,U+63f9-63fc,U+63fe,U+6403-6404,U+6406-640a,U+640d-640e,U+6411-6412,U+6415-641a,U+641d,U+641f,U+6422-6425,U+6427-6429,U+642b,U+642e-6433,U+6435-6439,U+643b-643c,U+643e,U+6440,U+6442-6443,U+6449,U+644b-6451,U+6453,U+6455-6457,U+6459-645d,U+645f-6466,U+6468,U+646a-646c,U+646e-6477,U+647b-6481,U+6483,U+6486,U+6488-6490,U+6493-6494,U+6497-6498,U+649a-649d,U+649f-64a3,U+64a5-64a8,U+64aa-64ab,U+64af,U+64b1-64b4,U+64b6,U+64b9,U+64bb,U+64bd-64bf,U+64c1,U+64c3-64c4,U+64c6-64cc,U+64cf,U+64d1,U+64d3-64d6,U+64d9-64dd,U+64df-64e1,U+64e3,U+64e5,U+64e7-64ff,U+6501-6508,U+650a-6511,U+6513-6517,U+6519-6524,U+6526-652a,U+652c-652d,U+6530-6533,U+6537,U+653a,U+653c-653d,U+6540-6544,U+6546-6547,U+654a-654b,U+654d-654e,U+6550,U+6552-6554,U+6557-6558,U+655a,U+655c,U+655f-6561,U+6564-6565,U+6567-656a,U+656d-656f,U+6571,U+6573,U+6575-6576,U+6578-6586,U+6588-658a,U+658d-658f,U+6592,U+6594-6596,U+6598,U+659a,U+659d-659e,U+65a0,U+65a2-65a3,U+65a6,U+65a8,U+65aa,U+65ac,U+65ae,U+65b1-65b8,U+65ba-65bb,U+65be-65c0,U+65c2,U+65c7-65ca,U+65cd,U+65d0-65d1,U+65d3-65d5,U+65d8-65df,U+65e1,U+65e3-65e4,U+65ea-65eb,U+65f2-65f5,U+65f8-65f9,U+65fb-65ff,U+6601,U+6604-6605,U+6607-6609,U+660b,U+660d,U+6610-6612,U+6616-6618,U+661a-661c,U+661e,U+6621-6624,U+6626,U+6629-662c,U+662e,U+6630,U+6632-6633,U+6637-663b,U+663d,U+663f-6640,U+6642,U+6644-664a,U+664d-664e,U+6650-6651,U+6658-6659,U+665b-665e,U+6660,U+6662-6663,U+6665,U+6667,U+6669-666d,U+6671-6673,U+6675,U+6678-6679,U+667b-667d,U+667f-6681,U+6683,U+6685-6686,U+6688-668b,U+668d-6690,U+6692-6695,U+6698-669c,U+669e-66a6,U+66a9-66ad,U+66af-66b3,U+66b5-66b8,U+66ba-66bd,U+66bf-66d8,U+66da,U+66de-66e5,U+66e7-66e8,U+66ea-66ef,U+66f1,U+66f5-66f6,U+66f8,U+66fa-66fb,U+66fd,U+6701-6707,U+670c,U+670e-670f,U+6711-6713,U+6716,U+6718-671a,U+671c,U+671e,U+6720-6725,U+6727,U+6729,U+672e,U+6730,U+6732-6733,U+6736-6739,U+673b-673c,U+673e-673f,U+6741,U+6744-6745,U+6747,U+674a-674b,U+674d,U+6752,U+6754-6755,U+6757-675b,U+675d,U+6762-6764,U+6766-6767,U+676b-676c,U+676e,U+6771,U+6774,U+6776,U+6778-677b,U+677d,U+6780,U+6782-6783,U+6785-6786,U+6788,U+678a,U+678c-678f,U+6791-6794,U+6796,U+6799,U+679b,U+679f-67a1,U+67a4,U+67a6,U+67a9,U+67ac,U+67ae,U+67b1-67b2,U+67b4,U+67b9-67c0,U+67c2,U+67c5-67ce,U+67d5-67d7,U+67db,U+67df,U+67e1,U+67e3-67e4,U+67e6-67e8,U+67ea-67eb,U+67ed-67ee,U+67f2,U+67f5-67fc,U+67fe,U+6801-6804,U+6806,U+680d,U+6810,U+6812,U+6814-6815,U+6818-681c,U+681e-6820,U+6822-6828,U+682b-6831,U+6834-6836,U+683a-683b,U+683f,U+6847,U+684b,U+684d,U+684f,U+6852,U+6856-685f,U+686a,U+686c-6873,U+6875,U+6878-6880,U+6882,U+6884,U+6887-688e,U+6890-6892,U+6894-6896,U+6898-68a1,U+68a3-68a5,U+68a9-68ac,U+68ae,U+68b1-68b2,U+68b4,U+68b6-68bf,U+68c1,U+68c3-68c8,U+68ca,U+68cc,U+68ce-68d1,U+68d3-68d4,U+68d6-68d7,U+68d9,U+68db-68df,U+68e1-68e2,U+68e4-68ed,U+68ef,U+68f2-68f4,U+68f6-68f8,U+68fb,U+68fd-6900,U+6902-6904,U+6906-690a,U+690c,U+690f,U+6911,U+6913-691e,U+6921-6923,U+6925-692c,U+692e-692f,U+6931-6933,U+6935-6938,U+693a-693c,U+693e,U+6940-6941,U+6943-6953,U+6955-6956,U+6958-6959,U+695b-695c,U+695f,U+6961-6962,U+6964-6965,U+6967-696a,U+696c-696d,U+696f-6970,U+6972-6976,U+697a-697b,U+697d-697f,U+6981,U+6983,U+6985,U+698a-698c,U+698e-6993,U+6996-6997,U+6999-699a,U+699d-69a6,U+69a9-69aa,U+69ac,U+69ae-69b0,U+69b2-69b3,U+69b5-69b6,U+69b8-69ba,U+69bc-69c0,U+69c2-69c9,U+69cb,U+69cd,U+69cf,U+69d1-69d3,U+69d5-69da,U+69dc-69de,U+69e1-69ec,U+69ee-69f1,U+69f3-69fc,U+69fe,U+6a00-6a09,U+6a0b-6a16,U+6a19-6a1e,U+6a20,U+6a22-6a27,U+6a29,U+6a2b-6a2e,U+6a30,U+6a32-6a34,U+6a36-6a3c,U+6a3f-6a43,U+6a45-6a46,U+6a48-6a4f,U+6a51-6a57,U+6a5a,U+6a5c-6a60,U+6a62-6a64,U+6a66-6a70,U+6a72-6a78,U+6a7a-6a7b,U+6a7d-6a7f,U+6a81-6a83,U+6a85-6a8d,U+6a8f,U+6a92-6a96,U+6a98-6a9f,U+6aa1-6aa8,U+6aaa,U+6aad-6af1",weight:"400"},{asset:"misans/874104a4.woff2",family:"MiSans",range:"U+51a9-51aa,U+51ad-51ae,U+51b4,U+51b8-51ba,U+51be-51bf,U+51c1-51c3,U+51c5,U+51c8,U+51ca,U+51cd-51ce,U+51d0,U+51d2-51da,U+51dc,U+51de-51df,U+51e2-51e3,U+51e5-51ea,U+51ec,U+51ee,U+51f1-51f2,U+51f4,U+51f7,U+51fe,U+5204-5205,U+5209,U+520b-520c,U+520f-5210,U+5213-5215,U+521c,U+521e-521f,U+5221-5223,U+5225-5227,U+522a,U+522c,U+522f,U+5231-5232,U+5234-5235,U+523c,U+523e,U+5244-5249,U+524b,U+524e-524f,U+5252-5253,U+5255,U+5257-525b,U+525d,U+525f-5260,U+5262-5264,U+5266,U+5268,U+526b-526e,U+5270-5271,U+5273-527c,U+527e,U+5280,U+5283-5287,U+5289-528f,U+5291-5292,U+5294-529a,U+529c,U+52a4-52a7,U+52ae-52b0,U+52b4-52bd,U+52c0-52c2,U+52c4-52c6,U+52c8,U+52ca,U+52cc-52cf,U+52d1,U+52d3-52d5,U+52d7,U+52d9-52de,U+52e0-52e3,U+52e5-52ef,U+52f1-52f8,U+52fb-52fd,U+5301-5304,U+5307,U+5309-530c,U+530e,U+5311-5314,U+5318,U+531b-531c,U+531e-531f,U+5322,U+5324-5325,U+5327-5329,U+532b-532d,U+532f-5338,U+533c-533d,U+5340,U+5342,U+5344,U+5346,U+534b-534d,U+5350,U+5354,U+5358-5359,U+535b,U+535d,U+5365,U+5368,U+536a,U+536c-536d,U+5372,U+5376,U+5379,U+537b-537e,U+5380-5381,U+5383,U+5387-5388,U+538a,U+538e-5394,U+5396-5397,U+5399,U+539b-539c,U+539e,U+53a0-53a1,U+53a4,U+53a7,U+53aa-53ad,U+53af-53b5,U+53b7-53ba,U+53bc-53be,U+53c0,U+53c3-53c7,U+53ce-53d0,U+53d2-53d3,U+53d5,U+53da,U+53dc-53de,U+53e1-53e2,U+53e7,U+53f4,U+53fa,U+53fe-5400,U+5402,U+5405,U+5407,U+540b,U+5414,U+5418-541a,U+541c,U+5422,U+5424-5425,U+542a,U+5430,U+5433,U+5436-5437,U+543a,U+543d,U+543f,U+5441-5442,U+5444-5445,U+5447,U+5449,U+544c-544f,U+5451,U+545a,U+545d-5461,U+5463,U+5465,U+5467,U+5469-5470,U+5474,U+5479-547a,U+547e-547f,U+5481,U+5483,U+5485,U+5487-548a,U+548d,U+5491,U+5493,U+5497-5498,U+549c,U+549e-54a2,U+54a5,U+54ae,U+54b0,U+54b2,U+54b5-54b7,U+54b9-54ba,U+54bc,U+54be,U+54c3,U+54c5,U+54ca-54cb,U+54d6,U+54d8,U+54db,U+54e0-54e4,U+54eb-54ec,U+54ef-54f1,U+54f4-54f9,U+54fb,U+54fe,U+5500,U+5502-5505,U+5508,U+550a-550e,U+5512-5513,U+5515-551a,U+551c-551f,U+5521,U+5525-5526,U+5528-5529,U+552b,U+552d,U+5532,U+5534-5536,U+5538-553b,U+553d,U+5540,U+5542,U+5545,U+5547-5548,U+554b-554f,U+5551-5554,U+5557-555b,U+555d-5560,U+5562-5563,U+5568-5569,U+556b,U+556f-5574,U+5579-557a,U+557d,U+557f,U+5585-5586,U+558c-558e,U+5590,U+5592-5593,U+5595-5597,U+559a-559b,U+559e,U+55a0-55a6,U+55a8-55b0,U+55b2,U+55b4,U+55b6,U+55b8,U+55ba,U+55bc,U+55bf-55c3,U+55c6-55c8,U+55ca-55cb,U+55ce-55d0,U+55d5,U+55d7-55db,U+55de,U+55e0,U+55e2,U+55e7,U+55e9,U+55ed-55ee,U+55f0-55f1,U+55f4,U+55f6,U+55f8-55fc,U+55ff,U+5602-5607,U+560a-560b,U+560d,U+5610-5617,U+5619-561a,U+561c-561d,U+5620-5622,U+5625-5626,U+5628-562b,U+562e-5630,U+5633,U+5635,U+5637-5638,U+563a,U+563c-563e,U+5640-564b,U+564f-5653,U+5655-5656,U+565a-565b,U+565d-5661,U+5663,U+5665-5667,U+566d-5670,U+5672-5675,U+5677-567a,U+567d-5684,U+5687-568d,U+5690-5692,U+5694-56a2,U+56a4-56ae,U+56b0-56b6,U+56b8-56bb,U+56bd-56c9,U+56cb-56d3,U+56d5-56d6,U+56d8-56d9,U+56dc,U+56e3,U+56e5-56ea,U+56ec,U+56ee-56ef,U+56f2-56f3,U+56f6-56f8,U+56fb-56fc,U+5700-5702,U+5705,U+5707,U+570b-571b,U+571d-571e,U+5720-5722,U+5724-5727,U+572b,U+5731-5732,U+5734-5738,U+573c-573d,U+573f,U+5741,U+5743-5746,U+5748-5749,U+574b,U+5752-5756,U+5758-5759,U+5762-5763,U+5765,U+5767,U+576c,U+576e,U+5770-5772,U+5774-5775,U+5778-577a,U+577d-5781,U+5787-578a,U+578d-5791,U+5794-579a,U+579c-579f,U+57a5,U+57a8,U+57aa,U+57ac,U+57af-57b1,U+57b3,U+57b5-57b7,U+57b9-57c1,U+57c4-57ca,U+57cc-57cd,U+57d0-57d1,U+57d3,U+57d6-57d7,U+57db-57dc,U+57de,U+57e1-57e3,U+57e5-57ec,U+57ee,U+57f0-57f3,U+57f5-57f7,U+57fb-57fc,U+57fe-57ff,U+5801,U+5803-5805,U+5808-580a,U+580c,U+580e-5810,U+5812-5814,U+5816-5818,U+581a-581d,U+581f,U+5822-5823,U+5825-5829,U+582b-582f,U+5831-5834,U+5836-5843,U+5845-584b,U+584e-5850,U+5852-5853,U+5855-5857,U+5859-585d,U+585f-5864,U+5866-586a,U+586d-587d,U+587f,U+5882,U+5884,U+5886-5888,U+588a-5891,U+5894-5898,U+589b-589d,U+58a0-58a7,U+58aa-58bb,U+58bd-58c0,U+58c2-58c4,U+58c6-58d0,U+58d2-58d4,U+58d6-58e3,U+58e5-58ea,U+58ed,U+58ef,U+58f1-58f2,U+58f4-58f5,U+58f7-58f8,U+58fa-5901,U+5903,U+5905-5906,U+5908-590c,U+590e,U+5910-5913,U+5917-5918,U+591b,U+591d-591e,U+5920-5923,U+5926,U+5928,U+592c,U+5930,U+5932-5933,U+5935-5936,U+593b,U+593d-5940,U+5943,U+5945-5946,U+594a,U+594c-594d,U+5950,U+5952-5953,U+5959,U+595b-595f,U+5961,U+5963-5964,U+5966-5972,U+5975,U+5977,U+597a-597c,U+597e-5980,U+5985,U+5989,U+598b-598c,U+598e-5991,U+5994-5995,U+5998,U+599a-599d,U+599f-59a2,U+59a6-59a7,U+59ac-59ad,U+59b0-59b1,U+59b3-59b8,U+59ba,U+59bc-59bd,U+59bf-59c5,U+59c7-59c9,U+59cc-59cf,U+59d5-59d6,U+59d9,U+59db,U+59de-59e2,U+59e4,U+59e6-59e7,U+59e9-59eb,U+59ed-59f8,U+59fa,U+59fc-59fe,U+5a00,U+5a02,U+5a0a-5a0b,U+5a0d-5a10,U+5a12,U+5a14-5a17,U+5a19-5a1b,U+5a1d-5a1e,U+5a21-5a22,U+5a24,U+5a26-5a28,U+5a2a-5a30,U+5a33,U+5a35,U+5a37-5a3b,U+5a3d-5a3f,U+5a41-5a45,U+5a47-5a48,U+5a4b-5a54,U+5a56-5a59,U+5a5b-5a61,U+5a63-5a66,U+5a68-5a69,U+5a6b-5a73,U+5a78-5a79,U+5a7b-5a7e,U+5a80-5a91,U+5a93-5a99,U+5a9c-5aa9,U+5aab-5ab1,U+5ab4,U+5ab6-5ab7,U+5ab9-5abd,U+5abf-5ac0,U+5ac3-5ac8,U+5aca-5acb,U+5acd-5ad1,U+5ad3,U+5ad5,U+5ad7,U+5ad9-5adb,U+5add-5adf,U+5ae2,U+5ae4-5ae5,U+5ae7-5ae8,U+5aea,U+5aec-5af0,U+5af2-5b08,U+5b0a-5b15,U+5b18-5b31,U+5b33,U+5b35-5b36,U+5b38-5b3f,U+5b41-5b4f,U+5b52,U+5b56,U+5b5e,U+5b60-5b61,U+5b67-5b68,U+5b6b,U+5b6d-5b6f,U+5b72,U+5b74,U+5b76-5b79,U+5b7b-5b7c,U+5b7e-5b7f,U+5b82,U+5b86,U+5b8a,U+5b8d-5b8e,U+5b90-5b92,U+5b94,U+5b96,U+5b9f,U+5ba7-5ba9,U+5bac-5baf,U+5bb1-5bb2,U+5bb7,U+5bba-5bbc,U+5bc0-5bc1,U+5bc3,U+5bc8-5bcb,U+5bcd-5bcf,U+5bd1,U+5bd4-5bdc,U+5be0,U+5be2-5be3,U+5be6-5be7,U+5be9-5bed,U+5bef,U+5bf1-5bf7,U+5bfd-5bfe,U+5c00,U+5c02-5c03,U+5c05,U+5c07-5c08,U+5c0b-5c0e,U+5c10,U+5c12-5c13,U+5c17,U+5c19,U+5c1b,U+5c1e-5c21,U+5c23,U+5c26,U+5c28-5c2b,U+5c2d-5c30,U+5c32-5c33,U+5c35-5c37,U+5c43-5c44,U+5c46-5c47,U+5c4c-5c4d,U+5c52-5c54,U+5c56-5c58,U+5c5a-5c5d,U+5c5f,U+5c62,U+5c64,U+5c67-5c6d,U+5c70,U+5c72-5c78,U+5c7b-5c7e,U+5c80,U+5c83-5c87,U+5c89-5c8b,U+5c8e-5c8f,U+5c92-5c93,U+5c95,U+5c9d-5ca1,U+5ca4-5ca8,U+5caa,U+5cae-5cb0,U+5cb2,U+5cb4,U+5cb6,U+5cb9-5cbc,U+5cbe,U+5cc0,U+5cc2-5cc3,U+5cc5-5cca,U+5ccc-5cd1,U+5cd3-5cd8,U+5cda-5ce0,U+5ce2-5ce3,U+5ce7,U+5ce9,U+5ceb-5cec,U+5cee-5cef,U+5cf1-5cfa,U+5cfc-5d01,U+5d04-5d05,U+5d08-5d0d,U+5d0f-5d13,U+5d15,U+5d17-5d1a,U+5d1c-5d1d,U+5d1f-5d23,U+5d25,U+5d28,U+5d2a-5d2c,U+5d2f-5d33,U+5d35-5d3c,U+5d3f-5d46,U+5d48-5d49,U+5d4d-5d57,U+5d59-5d5a,U+5d5c,U+5d5e-5d68,U+5d6a,U+5d6d-5d6e,U+5d70-5d73,U+5d75-5d81,U+5d83-5d98,U+5d9a-5d9c,U+5d9e-5db6,U+5db8-5dc4,U+5dc6-5dcc,U+5dce-5dda,U+5ddc,U+5ddf-5de0,U+5de3-5de4,U+5dea,U+5dec-5ded,U+5df0,U+5df5-5df6,U+5df8-5dfc,U+5dff-5e00,U+5e04,U+5e07,U+5e09-5e0b,U+5e0d-5e0e,U+5e12-5e13,U+5e17,U+5e1e-5e25,U+5e28-5e2c,U+5e2f-5e30,U+5e32-5e36,U+5e39-5e3a,U+5e3e-5e41,U+5e43,U+5e46-5e4b,U+5e4d-5e53,U+5e56-5e5a,U+5e5c-5e5d,U+5e5f-5e60,U+5e63-5e71,U+5e75,U+5e77,U+5e79,U+5e7e,U+5e81-5e83,U+5e85,U+5e88-5e89,U+5e8c-5e8e,U+5e92,U+5e98,U+5e9b,U+5e9d,U+5ea1-5ea4,U+5ea8-5eac,U+5eae-5eb2,U+5eb4,U+5eba-5ebd,U+5ebf-5ec8,U+5ecb-5ed0,U+5ed4-5ed5,U+5ed7-5eda,U+5edc-5ee7,U+5ee9,U+5eeb-5ef3,U+5ef5,U+5ef8-5ef9,U+5efb-5efc",weight:"400"},{asset:"misans/edbfaf60.woff2",family:"MiSans",range:"U+3bec-430e,U+25ed7,U+26221,U+2648d,U+26676,U+2677c,U+26b5c,U+26c21,U+27ff9,U+28408,U+28678,U+28695,U+287e0,U+28b49,U+28c47,U+28c4f,U+28c51,U+28c54,U+28e99",weight:"400"},{asset:"misans/4b5dd3c7.woff2",family:"MiSans",range:"U+4e0c,U+4e28,U+4e2c,U+4e36,U+4e3f,U+4e47,U+4e5c,U+4e69,U+4e8d,U+4e93,U+4ea0,U+4ebb,U+4ec2,U+4ec4,U+4edd-4edf,U+4ee1,U+4ef3,U+4ef5,U+4f1b,U+4f25,U+4f27,U+4f32,U+4f5e,U+4f65,U+4f67,U+4f74,U+4f76,U+4f7b,U+4f7e,U+4f89,U+4f91,U+4f94,U+4fa9-4faa,U+4fc5,U+4fdc,U+4fe3,U+4fe6,U+4ffe,U+5025,U+5028,U+502c,U+502e,U+5048,U+506c,U+507e,U+5080,U+50a5,U+50a7,U+50ba,U+50d6,U+50e6,U+50ec-50ee,U+5107,U+5121,U+5155,U+5181-5182,U+5196,U+51ab,U+51b1,U+51c7,U+51eb,U+51f5,U+51fc,U+5202,U+5208,U+520e,U+5216,U+522d,U+5233,U+523d,U+523f-5241,U+5250,U+525c,U+525e,U+5261,U+5281-5282,U+5290,U+5293,U+52a2,U+52ac,U+52d6,U+52f0,U+52f9,U+530f,U+531a,U+5326,U+535f,U+5363,U+5369,U+536e,U+537a,U+538d,U+539d,U+53a3,U+53b6,U+53c1,U+53f5,U+53fc,U+5412,U+5416,U+5423,U+5432,U+5443,U+5452-5454,U+5456,U+5459,U+5464,U+5466,U+5472,U+5476,U+5478,U+549d,U+54a3,U+54a6,U+54a9,U+54ad,U+54b4,U+54bb,U+54bf,U+54c2,U+54cf-54d0,U+54d3-54d5,U+54d9-54da,U+54dc-54de,U+54f3,U+54ff,U+5514,U+5523,U+5527,U+552a,U+5533,U+5537,U+553c,U+553f,U+5541,U+5549,U+5550,U+5556,U+555c,U+556d-556e,U+5575-5577,U+5581,U+5588,U+558f,U+5591,U+55b1,U+55b5,U+55b9,U+55be,U+55c9,U+55cc-55cd,U+55d4,U+55dd,U+55e5,U+55eb,U+55f2-55f3,U+55f5,U+55fe,U+5601,U+560c,U+560f,U+561e,U+5623-5624,U+5627,U+562c,U+564c-564d,U+5657-5658,U+5664,U+566b,U+5671,U+567b,U+5685-5686,U+568f,U+56af,U+56d4,U+56d7,U+56dd,U+56df,U+56e1,U+5709-570a,U+571c,U+572c,U+572e-572f,U+5739,U+574c,U+575c,U+5769,U+576b,U+5776,U+577c,U+5786,U+578c,U+5793,U+57a1,U+57a4,U+57a7,U+57b2,U+57b4,U+57cf,U+57d2,U+57d8-57da,U+57e4,U+57ef,U+57f4,U+57f8,U+57fd,U+5800,U+5807,U+580b,U+580d,U+5819,U+581e,U+5820,U+5844,U+5865,U+5881,U+5889,U+589a,U+58bc,U+58c5,U+5902,U+5924-5925,U+593c,U+5941-5942,U+5981,U+5997,U+59a3-59a4,U+59ab,U+59af,U+59b2,U+59d2,U+59d8,U+59dd,U+5a08-5a09,U+5a0c,U+5a4a,U+5a55,U+5a62,U+5a67,U+5a75,U+5aaa,U+5ab5,U+5ab8,U+5ad2,U+5ad4,U+5ad8,U+5adc,U+5ae0,U+5aeb,U+5af1,U+5b16,U+5b32,U+5b34,U+5b37,U+5b53,U+5b5b,U+5b65,U+5b6c,U+5b71,U+5b80,U+5b84,U+5ba5,U+5be4,U+5c1c,U+5c22,U+5c25,U+5c3b,U+5c50,U+5c59,U+5c63,U+5c66,U+5c6e,U+5c7a,U+5c88,U+5c8d,U+5c98,U+5ca2-5ca3,U+5cac,U+5cb5,U+5cbd,U+5d03,U+5d06,U+5d1e,U+5d24,U+5d26-5d27,U+5d3e,U+5d5b,U+5d5d,U+5d6b-5d6c,U+5d6f,U+5d74,U+5d9d,U+5db7,U+5ddb,U+5def,U+5df3,U+5dfd,U+5e0f,U+5e11,U+5e14,U+5e19,U+5e31,U+5e3b,U+5e42,U+5e5b,U+5e5e,U+5e80,U+5e8b,U+5e91,U+5ea0,U+5eb3,U+5eb9,U+5ebe,U+5ed1-5ed2,U+5edb,U+5ee8,U+5eea,U+5ef4,U+5efe,U+5f01,U+5f11,U+5f2a,U+5f2d,U+5f40,U+5f50,U+5f56,U+5f58,U+5f61,U+5f73,U+5f82,U+5f8c,U+5fad,U+5fb5,U+5fbc,U+5fc4,U+5fc9,U+5fd2,U+5fdd,U+5fe4,U+5fea,U+5fed-5fee,U+5ff8,U+5ffe,U+6003-6004,U+600a,U+600d,U+600f,U+6019,U+601b,U+6029,U+602b,U+603c,U+6041-6042,U+605a,U+605d,U+6067,U+606b,U+6079,U+6083,U+6092,U+609b,U+609d,U+60ab,U+60ad,U+60b1,U+60dd,U+6100,U+6106,U+610d-610e,U+6120,U+6126,U+614a,U+615d,U+6175,U+619d,U+61b7,U+61d4,U+6206,U+620b,U+6215,U+6217,U+6221-6222,U+6224-6225,U+622c,U+623d-623e,U+6243,U+624c,U+6266,U+629f,U+62bb,U+62bf,U+62ca,U+62f6,U+6308,U+6322,U+6332,U+6339,U+6343,U+634b-634c,U+6369,U+6387,U+638a,U+638e,U+63ad,U+63b3-63b4,U+63b8,U+63bc,U+63be,U+63c4,U+63c6,U+63ce,U+63de,U+63e0,U+63f2,U+63f6,U+63f8,U+640b-640c,U+641b,U+6420,U+6426,U+6434,U+643d,U+643f,U+6441,U+6445,U+646d,U+647a,U+6484-6485,U+6496,U+6499,U+64b8,U+64ba,U+64d0,U+64d7,U+64e2,U+64e4,U+6509,U+652e,U+6534-6535,U+6549,U+6555,U+656b,U+659b,U+65ab,U+65c3-65c4,U+65c6,U+65d2,U+65f0,U+6600,U+6603,U+6634,U+6661,U+6677,U+668c,U+669d,U+66a7,U+66be,U+66db,U+66e9,U+66f7,U+670a,U+6715,U+674c,U+6753,U+6769-676a,U+6775,U+678b,U+6798,U+679e,U+67a7-67a8,U+67b3,U+67b5,U+67c1,U+67c3,U+67d2,U+67d9,U+67dd,U+67e2,U+67f0,U+67fd,U+6800,U+680a,U+680c,U+681d,U+6832-6833,U+6840,U+6844,U+6849-684a,U+6855,U+6860-6861,U+6864,U+6867,U+686b,U+6874,U+6877,U+6883,U+68c2,U+68f0,U+68f9,U+68fc,U+6901,U+690b,U+6910,U+691f-6920,U+6924,U+6934,U+6939,U+6957,U+6966,U+696e,U+6971,U+6978,U+6980,U+6987,U+6989,U+698d,U+6998,U+699b,U+69a7,U+69b1,U+69c1,U+69ca,U+69ce,U+69d4,U+69e0,U+69ed,U+69f2,U+69ff,U+6a17-6a18,U+6a28,U+6a2f,U+6a3d-6a3e,U+6a50,U+6a5b,U+6a65,U+6a79,U+6a7c,U+6a84,U+6a8e,U+6a91,U+6a97,U+6aa0,U+6aa9,U+6aab,U+6b24,U+6b37,U+6b39,U+6b43,U+6b81-6b82,U+6b84,U+6b87,U+6b8d,U+6b92-6b93,U+6b9b,U+6baa,U+6bb3,U+6bc2,U+6bd6,U+6bea,U+6bf3,U+6bf5,U+6bf9,U+6bfd,U+6c05-6c07,U+6c0d,U+6c10,U+6c15-6c16,U+6c18-6c1a,U+6c21,U+6c24,U+6c29-6c2a,U+6c32,U+6c35,U+6c3d,U+6c46,U+6c54,U+6c5c,U+6c86,U+6ca9,U+6cb2,U+6cc5,U+6cd0,U+6cd4,U+6cd6,U+6ceb,U+6cee,U+6cf6-6cf7,U+6cfa,U+6d04,U+6d07,U+6d0c,U+6d0e,U+6d1a,U+6d27,U+6d2b,U+6d33,U+6d39,U+6d48,U+6d4d,U+6d5e,U+6d60,U+6d63,U+6d6f,U+6d7c,U+6d91,U+6da0,U+6dab,U+6ddd,U+6de0,U+6e0c,U+6e16,U+6e2b,U+6e53-6e54,U+6e6b,U+6e86,U+6e8f,U+6eb1-6eb2,U+6eb7,U+6ebb,U+6ebd,U+6ecf,U+6ed3,U+6ed7,U+6edf-6ee0,U+6f24,U+6f2d,U+6f36,U+6f46,U+6f4b,U+6f72,U+6f74,U+6f89,U+6f8c,U+6fb6,U+6fb9,U+6fd1,U+6fde,U+6fef,U+7023,U+7035,U+7039,U+706c,U+7080,U+7085,U+709d,U+70b1,U+70b7,U+70bb,U+70c0,U+70ca,U+7110,U+7113,U+712f,U+7145,U+7168,U+7173,U+7178,U+717a,U+7198,U+71b3,U+71b5,U+71d4,U+71e0,U+71f9,U+721d,U+7228,U+7230,U+723b,U+7256,U+725d,U+726e,U+727e-727f,U+7284,U+728b,U+728d,U+728f,U+7292,U+72ad,U+72b0,U+72b4,U+72b8,U+72c1,U+72c3,U+72ce,U+72d2,U+72d9,U+72e8,U+72ef,U+72f2-72f4,U+72f7,U+72fa-72fb,U+7301,U+7303,U+730a,U+7313,U+731e,U+7321-7322,U+732c,U+7331,U+7338-7339,U+734d,U+7350,U+7352,U+7360,U+736c,U+736f,U+737e,U+738e,U+7391,U+739f,U+73a2,U+73b3,U+73c8,U+73d0,U+73d9,U+73e5,U+73e7,U+740a,U+741a,U+7441,U+7457,U+746d,U+7477,U+7481,U+748e,U+74a9,U+74ba,U+74d2,U+74de,U+74e0,U+74ff,U+750d,U+750f,U+7511,U+7513,U+752f,U+7540,U+754b,U+754e,U+755a-755b,U+757f,U+7583,U+758b,U+7592,U+7594,U+7596,U+759d,U+75a0,U+75a3,U+75a5,U+75ac,U+75b0,U+75b3-75b4,U+75c3-75c4,U+75c8,U+75d6,U+75d8,U+75e3-75e4,U+75e6-75e8,U+75f1,U+75ff,U+7603,U+7605,U+760a,U+760c,U+7610,U+7615,U+7617,U+7619,U+761b,U+7622,U+7625,U+762d,U+7630,U+7633,U+7635,U+763c,U+763f-7640,U+7643,U+764d,U+7654,U+765e,U+7688,U+76a4,U+76b2,U+76b4,U+76cd,U+76e5,U+7704,U+7707,U+770d,U+771a,U+7722,U+7726,U+772d,U+7735,U+7743,U+7747,U+775a,U+7765,U+7768,U+7780,U+778d,U+779f,U+77a2,U+77b5,U+77bd,U+77e7,U+77ec,U+7809,U+7811-7812,U+7817-7818,U+781c,U+781f,U+7826,U+7829,U+782c,U+7839,U+7847,U+784c,U+784e,U+7850,U+7856-7857,U+786a,U+786d,U+7877,U+7887,U+789a-789b,U+78a1,U+78a5,U+78b2,U+78b9,U+78c9,U+78d4,U+78d9,U+78f2,U+78f4,U+7905,U+7913,U+791e,U+7924,U+793b,U+7946,U+7953,U+7957,U+7962,U+7967,U+798a,U+799a,U+79b3,U+79d5,U+79eb,U+7a02-7a03,U+7a06,U+7a17,U+7a39,U+7a51,U+7a70,U+7a78,U+7a80,U+7a86,U+7aa8,U+7aac-7aad,U+7ab3,U+7ae6,U+7b04,U+7b08,U+7b0a,U+7b0f,U+7b15,U+7b1e,U+7b24-7b25,U+7b2a-7b2b,U+7b2e,U+7b31,U+7b33,U+7b38,U+7b3e,U+7b45,U+7b47,U+7b4c,U+7b58,U+7b5a,U+7b62,U+7b6e,U+7b72,U+7b7b,U+7b85,U+7b9c-7b9d,U+7ba2,U+7ba6-7ba8,U+7baa,U+7bac,U+7bb8,U+7bc1,U+7bcc,U+7bd9-7bda,U+7be5,U+7bea,U+7bfc,U+7c0b,U+7c0f,U+7c16,U+7c1f,U+7c26,U+7c2a,U+7c40,U+7c74,U+7c9c-7c9e,U+7ca2,U+7cc1,U+7cc7-7cc8,U+7ccc-7ccd,U+7cd7,U+7ce8,U+7cf8,U+7d77,U+7dae,U+7e3b,U+7e47,U+7e9b,U+7e9f,U+7ea1,U+7ea3,U+7ea5,U+7ea8-7ea9,U+7eb0,U+7ec0-7ec1,U+7ecb,U+7ed0,U+7ed4,U+7ed7,U+7ee0-7ee1,U+7ee6,U+7ee8,U+7ef1-7ef2,U+7efa-7efb,U+7efe,U+7f01-7f02,U+7f07,U+7f0b-7f0d,U+7f0f,U+7f11-7f12,U+7f17,U+7f1b,U+7f1f,U+7f21-7f23,U+7f26-7f27,U+7f2f,U+7f31-7f33,U+7f35-7f36,U+7f45,U+7f5f,U+7f68,U+7f71,U+7f74,U+7f7e,U+7f9d,U+7fa7,U+7faf-7fb0,U+7fbc,U+7fbf,U+7fd5,U+7fe5-7fe6,U+7fee,U+7ff3,U+8012,U+8014,U+8016,U+801c,U+8020,U+8022,U+8025,U+8027-802a,U+8031,U+8035,U+8043,U+804d,U+8052,U+8071,U+8080,U+8084,U+8093,U+809c,U+809f,U+80ab,U+80ad,U+80b1,U+80b7,U+80bc,U+80c2,U+80cd,U+80d7,U+80d9,U+80db,U+80dd,U+80e4,U+80e8-80ea,U+80ec,U+80ef,U+80f2,U+80f4,U+80fc,U+810e,U+8112,U+8114,U+8118,U+811e,U+812c,U+8132,U+8136,U+8159-815a,U+8160,U+8167,U+8169,U+816d,U+8171,U+817d,U+8182,U+8188,U+81a3,U+81a6,U+81aa,U+81bb,U+81c1,U+81ca,U+81cc,U+81ec,U+8201-8202,U+8204,U+8210,U+8221,U+8223,U+8228,U+822d,U+822f,U+8233-8234,U+823b,U+823e,U+8244,U+8249,U+824b,U+824f,U+825a,U+825f,U+8268,U+8274,U+8279,U+827d,U+827f,U+8284,U+8288,U+828a,U+828e-828f,U+8291,U+8297-8298,U+829f,U+82a1,U+82a4,U+82a8-82a9,U+82ab,U+82b0,U+82b4,U+82be,U+82c1,U+82c8,U+82ca,U+82cc,U+82d8,U+82e0-82e1,U+82e3-82e4,U+82f4,U+82fb,U+8306-8308,U+830c,U+8311,U+8315,U+831a-831b,U+8331,U+8333,U+833a,U+833c,U+8347,U+8351,U+835b-835c,U+8366,U+8368-8369,U+836c-836e,U+8378,U+837d,U+839b-839c,U+83a8-83aa,U+83b0,U+83b3-83b4,U+83b6,U+83b8,U+83bc,U+83c0,U+83c5,U+83d4,U+83d6,U+83d8,U+83dd,U+83df,U+83e1,U+83e5,U+83ea,U+83f0,U+83f8-83f9,U+83fd,U+8401,U+8406,U+840f,U+8411,U+841c,U+843c,U+8451,U+8459-845a,U+845c,U+846d,U+8473,U+8476,U+8478,U+8487-8489,U+848c,U+848e,U+8497,U+84a1,U+84b4,U+84b9-84ba,U+84bd,U+84c1,U+84ca,U+84cd,U+84d0-84d1,U+84e0,U+84e3,U+84f0,U+84fc,U+850c,U+851f,U+8538-8539,U+853b,U+8548,U+8556,U+855e,U+8564,U+8572,U+8579-857b,U+8585,U+858f,U+859c,U+85a4,U+85a8,U+85ae,U+85b7,U+85c1,U+85d3,U+85ff,U+8605,U+8627,U+8629,U+863c,U+864d,U+8662,U+866e,U+867a-867c,U+867f,U+868b,U+868d,U+86a3,U+86a8-86aa,U+86b0-86b1,U+86b4-86b5,U+86ba,U+86c4,U+86c6,U+86c9,U+86cf,U+86d1,U+86d4,U+86d8,U+86de,U+86e9,U+86ed,U+86f1-86f4,U+86f8,U+8708-870a,U+871e,U+8722-8723,U+8725,U+8729,U+872e,U+8731,U+8734,U+873e,U+8748,U+874c,U+8753,U+8763-8765,U+876e,U+8770,U+877b-877e,U+8785,U+8788,U+878b,U+8793,U+8797,U+879f,U+87ab-87ad,U+87b3,U+87b5,U+87bd,U+87ca,U+87d3,U+87db,U+87e5,U+87ea,U+87ee,U+8803,U+880a,U+8813,U+8816,U+881b,U+8832,U+883c,U+8844,U+8864,U+8869,U+886e,U+8872,U+887d-887f,U+8888,U+88a2,U+88b7,U+88bc,U+88c9,U+88ce,U+88d2,U+88df,U+88e2-88e3,U+88e5,U+88f0,U+88fc,U+88fe,U+890a,U+8919,U+8921,U+892b,U+8930,U+895e,U+8966,U+897b,U+89c7,U+89cb-89cc,U+89cf,U+89d6,U+89da,U+89dc,U+89de,U+89e5,U+89eb,U+89ef,U+89f3,U+8a3e,U+8a48,U+8a8a,U+8b26,U+8ba0,U+8ba6-8ba7,U+8bb5,U+8bc2,U+8bcc,U+8bce,U+8bd3-8bd4,U+8bd6,U+8bdc,U+8bdf,U+8be8,U+8bee,U+8bf3,U+8bf6,U+8bf9,U+8bfc,U+8c00,U+8c02,U+8c04,U+8c07,U+8c14,U+8c16-8c18,U+8c1d,U+8c20-8c21,U+8c25,U+8c2b,U+8c2e-8c30,U+8c33,U+8c35-8c36,U+8c47,U+8c49,U+8c55,U+8c62,U+8c73,U+8c78,U+8c7a,U+8c85,U+8c89-8c8a,U+8c94,U+8c98,U+8d30,U+8d33,U+8d36,U+8d3d,U+8d40,U+8d46-8d47,U+8d49,U+8d4d,U+8d55,U+8d59,U+8d5c,U+8d67,U+8d91,U+8d94,U+8db1,U+8db5,U+8dba,U+8dbc,U+8dbf,U+8dcf,U+8dd6-8dd7,U+8dde,U+8de3,U+8deb-8dec,U+8df8-8df9,U+8dfd,U+8e05,U+8e14,U+8e1f,U+8e23,U+8e2c,U+8e2e-8e2f,U+8e3a,U+8e40-8e41,U+8e51,U+8e59,U+8e69,U+8e6f-8e70,U+8e7f,U+8e85,U+8e90,U+8e94,U+8e9c,U+8e9e,U+8ece,U+8f6b,U+8f6d,U+8f73,U+8f75,U+8f77-8f7a,U+8f7e,U+8f81-8f82,U+8f87,U+8f8b,U+8f8e-8f8f,U+8f94,U+8f9a,U+8fb6,U+8fd3,U+8fd5,U+8fe8,U+8fee,U+8ff3,U+9005,U+900b,U+9011,U+9016,U+9021,U+9026,U+902d,U+902f,U+9044,U+9058,U+9062,U+907d,U+9082,U+908b,U+9099,U+909b,U+90b0,U+90b4,U+90b6,U+90ba,U+90be,U+90c4,U+90c7,U+90cf-90d0,U+90db,U+90eb,U+90fe,U+9123,U+9139,U+9143,U+9146,U+914a,U+914e-914f,U+915e,U+9161-9162,U+9164,U+9172,U+9174,U+9179,U+917d-917e,U+9185,U+918c-918d,U+9190-9191,U+91a2-91a3,U+91aa,U+91ad-91af,U+91b5,U+91ba,U+928e,U+92c8,U+933e,U+936a,U+93ca,U+943e,U+9486-9487,U+948b-948d,U+948f-9490,U+9494-9495,U+94a3-94a4,U+94aa-94ad,U+94af,U+94b2,U+94b6-94ba,U+94bd,U+94bf,U+94c8,U+94ca-94cd,U+94d1-94d2,U+94d5-94d9,U+94de-94df,U+94e1,U+94e5,U+94e9-94eb,U+94ef-94f0,U+94f3-94f4,U+94f7,U+94f9,U+94fc-94fd,U+9507,U+950a,U+950d-950e,U+9512-9516,U+9518,U+951b,U+951d-951e,U+9529-952c,U+9531,U+9538,U+953a,U+953c,U+953e-953f,U+9544-9546,U+954a,U+954e-954f,U+9553-9554,U+9558-9559,U+955d-955f,U+9561,U+9564-956c,U+9571-9572,U+95e9,U+95f1,U+95f3,U+95f6,U+95fc,U+9603-9604,U+9608-960d,U+960f,U+9612,U+9615,U+9617,U+961d,U+9622,U+963c-963d,U+9654,U+9667,U+966c,U+9674,U+9688,U+9697,U+96b3,U+96b9,U+96bc,U+96ce,U+96d2,U+96e0,U+96e9,U+9708,U+972a,U+9730,U+975b,U+9765,U+977c,U+9785,U+9792,U+9794,U+97ab,U+97af,U+97b2,U+97b4,U+97ea,U+9878,U+987c,U+9880,U+9883,U+988f,U+989a-989b,U+989e-989f,U+98a1-98a2,U+98a5,U+98a7,U+98d1,U+98d5,U+98e7,U+990d,U+992e,U+9954-9955,U+9963,U+9967,U+9969,U+996b-996c,U+9980,U+9987,U+998a,U+9991,U+9993-9995,U+9998,U+9a75,U+9a78,U+9a7a,U+9a7d,U+9a80,U+9a88,U+9a92-9a93,U+9a96,U+9a98,U+9a9b,U+9a9f-9aa0,U+9aa2-9aa3,U+9ab0-9ab1,U+9ab6-9ab7,U+9aba,U+9ac0-9ac2,U+9ac5,U+9acc,U+9ad1,U+9adf,U+9ae1,U+9aeb,U+9aed,U+9af9,U+9afb,U+9b08,U+9b0f,U+9b1f,U+9b23,U+9b2f,U+9b32,U+9b3b,U+9b43,U+9b47-9b49,U+9b4d,U+9b51,U+9c82,U+9c86-9c87,U+9c8b,U+9c8e,U+9c90-9c92,U+9c94-9c95,U+9c9a-9c9b,U+9c9e,U+9ca0-9ca1,U+9ca3,U+9ca5-9ca7,U+9ca9,U+9cad-9cae,U+9cb0-9cb1,U+9cb3-9cb5,U+9cb7,U+9cba,U+9cbc-9cbd,U+9cc3,U+9cc6-9cc7,U+9cca-9ccb,U+9cce-9cd0,U+9cd3-9cd5,U+9cd8-9cd9,U+9ce2,U+9e28-9e29,U+9e2b-9e2c,U+9e31-9e32,U+9e36-9e3a,U+9e41-9e42,U+9e46-9e48,U+9e4b,U+9e4e,U+9e55,U+9e58,U+9e5a-9e5b,U+9e5e,U+9e63,U+9e68-9e6a,U+9e6c,U+9e71,U+9e7e,U+9e87-9e88,U+9eb4,U+9ebd,U+9ec9,U+9ecd,U+9ecf,U+9edc,U+9edf-9ee0,U+9ee2,U+9ee5,U+9ee7,U+9ee9-9eea,U+9ef9,U+9efb-9efc,U+9efe,U+9f0b,U+9f0d,U+9f17,U+9f19,U+9f22,U+9f2c,U+9f2f,U+9f37,U+9f39,U+9f3d,U+9f44,U+9f51,U+9f80,U+9f83,U+9f85-9f8a,U+9f8c,U+9fa0",weight:"400"},{asset:"misans/8609d775.woff2",family:"MiSans",range:"U+6af2-6b1f,U+6b25-6b26,U+6b28-6b31,U+6b33-6b36,U+6b38,U+6b3b-6b3d,U+6b3f-6b42,U+6b44-6b45,U+6b48,U+6b4a-6b4b,U+6b4d-6b58,U+6b5a-6b61,U+6b68-6b69,U+6b6b-6b78,U+6b7a,U+6b7d-6b80,U+6b85,U+6b88,U+6b8c,U+6b8e-6b91,U+6b94-6b95,U+6b97-6b99,U+6b9c-6ba0,U+6ba2-6ba9,U+6bab-6bb2,U+6bb6,U+6bb8-6bbe,U+6bc0,U+6bc3-6bc4,U+6bc6-6bca,U+6bcc,U+6bce,U+6bd0-6bd1,U+6bd8,U+6bda,U+6bdc-6be0,U+6be2-6be9,U+6bec-6bee,U+6bf0-6bf2,U+6bf4,U+6bf6-6bf8,U+6bfa-6bfc,U+6bfe-6c04,U+6c08-6c0c,U+6c0e,U+6c12,U+6c17,U+6c1c-6c1e,U+6c20,U+6c23,U+6c25,U+6c2b-6c2d,U+6c31,U+6c33,U+6c36-6c37,U+6c39-6c3c,U+6c3e-6c3f,U+6c43-6c45,U+6c48,U+6c4b-6c4f,U+6c51-6c53,U+6c56,U+6c58-6c5a,U+6c62-6c63,U+6c65-6c67,U+6c6b-6c6f,U+6c71,U+6c73,U+6c75,U+6c77-6c78,U+6c7a-6c7c,U+6c7f-6c80,U+6c84,U+6c87,U+6c8a-6c8b,U+6c8d-6c8e,U+6c91-6c92,U+6c95-6c98,U+6c9a,U+6c9c-6c9e,U+6ca0,U+6ca2,U+6ca8,U+6cac,U+6caf-6cb0,U+6cb4-6cb7,U+6cba,U+6cc0-6cc3,U+6cc6-6cc8,U+6ccb,U+6ccd-6ccf,U+6cd1-6cd2,U+6cd8-6cda,U+6cdc-6cdd,U+6cdf,U+6ce4,U+6ce6-6ce7,U+6ce9,U+6cec-6ced,U+6cf2,U+6cf4,U+6cf9,U+6cff-6d00,U+6d02-6d03,U+6d05-6d06,U+6d08-6d0a,U+6d0d,U+6d0f-6d11,U+6d13-6d16,U+6d18,U+6d1c-6d1d,U+6d1f-6d24,U+6d26,U+6d28-6d29,U+6d2c-6d2d,U+6d2f-6d30,U+6d34,U+6d36-6d38,U+6d3a,U+6d3f-6d40,U+6d42,U+6d44,U+6d49,U+6d4c,U+6d50,U+6d55-6d58,U+6d5b,U+6d5d,U+6d5f,U+6d61-6d62,U+6d64-6d65,U+6d67-6d68,U+6d6b-6d6d,U+6d70-6d73,U+6d75-6d76,U+6d79-6d7b,U+6d7d-6d81,U+6d83-6d84,U+6d86-6d87,U+6d8a-6d8b,U+6d8d,U+6d8f-6d90,U+6d92,U+6d96-6d9a,U+6d9c,U+6da2,U+6da5,U+6dac-6dad,U+6db0-6db1,U+6db3-6db4,U+6db6-6db7,U+6db9-6dbe,U+6dc1-6dc3,U+6dc8-6dca,U+6dcd-6dd0,U+6dd2-6dd5,U+6dd7,U+6dda-6ddc,U+6ddf,U+6de2-6de3,U+6de5,U+6de7-6dea,U+6ded,U+6def-6df0,U+6df2,U+6df4-6df6,U+6df8,U+6dfa,U+6dfd-6e04,U+6e06-6e09,U+6e0b,U+6e0f,U+6e12-6e13,U+6e15,U+6e18-6e19,U+6e1b-6e1c,U+6e1e-6e1f,U+6e22,U+6e26-6e28,U+6e2a,U+6e2c,U+6e2e,U+6e30-6e31,U+6e33,U+6e35-6e37,U+6e39,U+6e3b-6e42,U+6e45-6e4c,U+6e4f-6e52,U+6e55,U+6e57,U+6e59-6e5a,U+6e5c-6e5e,U+6e60-6e6a,U+6e6c-6e6d,U+6e6f-6e7d,U+6e80-6e82,U+6e84,U+6e87-6e88,U+6e8a-6e8e,U+6e91-6e97,U+6e99-6e9b,U+6e9d-6e9e,U+6ea0-6ea1,U+6ea3-6ea4,U+6ea6,U+6ea8-6ea9,U+6eab-6eae,U+6eb0,U+6eb3,U+6eb5,U+6eb8-6eb9,U+6ebc,U+6ebe-6ec0,U+6ec3-6ec6,U+6ec8-6eca,U+6ecc-6ece,U+6ed0,U+6ed2,U+6ed6,U+6ed8-6ed9,U+6edb-6edd,U+6ee3,U+6ee7,U+6eea-6ef3,U+6ef5-6ef8,U+6efa-6f01,U+6f03-6f05,U+6f07-6f08,U+6f0a-6f0e,U+6f10-6f12,U+6f16-6f1f,U+6f21-6f23,U+6f25-6f28,U+6f2c,U+6f2e,U+6f30,U+6f32,U+6f34-6f35,U+6f37-6f3d,U+6f3f-6f45,U+6f48-6f4a,U+6f4c,U+6f4e-6f57,U+6f59-6f5b,U+6f5d,U+6f5f-6f61,U+6f63-6f65,U+6f67-6f6c,U+6f6f-6f71,U+6f73,U+6f75-6f77,U+6f79,U+6f7b,U+6f7d-6f83,U+6f85-6f87,U+6f8a-6f8b,U+6f8f-6f9b,U+6f9d-6fa0,U+6fa2-6fa6,U+6fa8-6fb2,U+6fb4-6fb5,U+6fb7-6fb8,U+6fba-6fbf,U+6fc1,U+6fc3-6fc8,U+6fca-6fd0,U+6fd3-6fdd,U+6fdf,U+6fe2-6fed,U+6ff0-7010,U+7012-7019,U+701c-7022,U+7024-7034,U+7036-7038,U+703a-704b,U+704d-704e,U+7050-705d,U+705f-706a,U+706e,U+7071-7074,U+7077,U+7079-707b,U+707d,U+7081-7084,U+7086-7088,U+708b-708d,U+708f-7091,U+7093,U+7097-7098,U+709a-709b,U+709e-70aa,U+70b0,U+70b2,U+70b4-70b6,U+70ba,U+70be-70bf,U+70c4-70c7,U+70c9,U+70cb-70d7,U+70da,U+70dc-70de,U+70e0-70e3,U+70e5,U+70ea,U+70ee,U+70f0-70f6,U+70f8,U+70fa-70fc,U+70fe-7108,U+710b-710f,U+7111-7112,U+7114,U+7117,U+711b-7125,U+7127-712e,U+7132-7135,U+7137-7144,U+7146-7149,U+714b,U+714d,U+714f-715b,U+715d,U+715f-7163,U+7165,U+7169-716d,U+716f-7171,U+7174-7177,U+7179,U+717b-717c,U+717e-7183,U+7185-7189,U+718b-718e,U+7190-7193,U+7195-7197,U+719a-719e,U+71a1-71a7,U+71a9-71ab,U+71ad-71b2,U+71b4,U+71b6-71b8,U+71ba-71c2,U+71c4-71cd,U+71cf-71d3,U+71d6-71df,U+71e1-71e4,U+71e6,U+71e8-71ed,U+71ef-71f8,U+71fa-7205,U+7207-721c,U+721e-7227,U+7229,U+722b,U+722d-722f,U+7232-7234,U+723a,U+723c,U+723e,U+7240-7246,U+7249-724b,U+724e-7251,U+7253-7255,U+7257-7258,U+725a,U+725c,U+725e,U+7260,U+7263-7265,U+7268,U+726a-726d,U+7270-7271,U+7273-7274,U+7276-7278,U+727b-727d,U+7282-7283,U+7285-7289,U+728c,U+728e,U+7290-7291,U+7293-729e,U+72a0-72ab,U+72ae,U+72b1-72b3,U+72b5,U+72ba-72c0,U+72c5-72c7,U+72c9-72cc,U+72cf,U+72d1,U+72d3-72d6,U+72d8,U+72da-72dd,U+72df,U+72e2-72e7,U+72ea-72eb,U+72f5-72f6,U+72f9,U+72fd-7300,U+7302,U+7304-7309,U+730b-730d,U+730f-7312,U+7314,U+7318-731a,U+731f-7320,U+7323-7324,U+7326-7328,U+732d,U+732f-7330,U+7332-7333,U+7335-7336,U+733a-733d,U+7340-734c,U+734e-734f,U+7351,U+7353-7356,U+7358-735f,U+7361-736b,U+736e,U+7370-737d,U+737f-7383,U+7385-7386,U+7388,U+738a,U+738c-738d,U+738f-7390,U+7392-7395,U+7397-739a,U+739c-739e,U+73a0-73a1,U+73a3-73a8,U+73aa,U+73ac-73ad,U+73b1,U+73b4-73b6,U+73b8-73b9,U+73bc-73bf,U+73c1,U+73c3-73c7,U+73cb-73cc,U+73ce,U+73d2-73d8,U+73da-73dd,U+73df,U+73e1-73e4,U+73e6,U+73e8,U+73ea-73ec,U+73ee-73f1,U+73f3-7402,U+7404,U+7407-7408,U+740b-740e,U+7411-7419,U+741c-7421,U+7423-7424,U+7427,U+7429,U+742b,U+742d,U+742f,U+7431-7432,U+7437-743b,U+743d-7440,U+7442-7454,U+7456,U+7458,U+745d,U+7460-746c,U+746e-746f,U+7471-7475,U+7478-747d,U+747f,U+7482,U+7484-7486,U+7488-748a,U+748c-748d,U+748f,U+7491-749b,U+749d,U+749f-74a6,U+74aa-74b9,U+74bb-74d1,U+74d3-74db,U+74dd,U+74df,U+74e1,U+74e5,U+74e7-74ed,U+74f0-74f3,U+74f5,U+74f8-74fe,U+7500-7503,U+7505-750c,U+750e,U+7510,U+7512,U+7514-7517,U+751b,U+751d-751e,U+7520-7524,U+7526-7527,U+752a,U+752e,U+7534,U+7536,U+7539,U+753c-753d,U+753f,U+7541-7544,U+7546-7547,U+7549-754a,U+754d,U+7550-7553,U+7555-7558,U+755d-7564,U+7567-7569,U+756b-7571,U+7573,U+7575-7577,U+757a-757e,U+7580-7582,U+7584-7585,U+7587-758a,U+758c-758e,U+7590,U+7593,U+7595,U+7598,U+759b-759c,U+759e,U+75a2,U+75a6-75aa,U+75ad,U+75b6-75b7,U+75ba-75bb,U+75bf-75c1,U+75c6,U+75cb-75cc,U+75ce-75d1,U+75d3,U+75d7,U+75d9-75da,U+75dc-75dd,U+75df-75e1,U+75e5,U+75e9,U+75ec",weight:"400"},{asset:"misans/7639be88.woff2",family:"MiSans",range:"U+2713,U+2715,U+275b-275e,U+2780-2793,U+2e81,U+2e84,U+2e88,U+2e8b-2e8c,U+2e97,U+2ea7,U+2eaa,U+2eae,U+2eb3,U+2eb6-2eb7,U+2ebb,U+2eca,U+2ff0-2ffb,U+3000,U+3003,U+3005-3007,U+3012-3013,U+301d-301e,U+3021-3029,U+303e,U+3041-3094,U+3099-309e,U+30a1-30fa,U+30fc-30fe,U+3105-3129,U+3220-3229,U+3231,U+32a3,U+338e-338f,U+339c-339e,U+33a1,U+33c4,U+33ce,U+33d1-33d2,U+33d5,U+3400-3beb,U+20087,U+20089,U+200cc,U+20164,U+20676,U+20cd0,U+2139a,U+21413,U+215d7,U+2298f,U+235cb,U+23c97-23c98,U+23e23,U+241fe,U+249db,U+24a7d,U+24ac9,U+25532,U+25562,U+255a8",weight:"400"},{asset:"misans/db53347f.woff2",family:"MiSans",range:"U+3001-3002,U+3008-300b,U+3010-3011,U+3014-3017,U+4e00-4e01,U+4e03,U+4e07-4e0b,U+4e0d-4e0e,U+4e11,U+4e13-4e14,U+4e16,U+4e18-4e1d,U+4e22,U+4e24-4e25,U+4e27,U+4e2a,U+4e2d,U+4e30,U+4e32,U+4e34,U+4e38-4e3b,U+4e3d-4e3e,U+4e43,U+4e45,U+4e48-4e49,U+4e4b-4e4c,U+4e4e-4e50,U+4e52-4e54,U+4e58-4e59,U+4e5d,U+4e5f-4e61,U+4e66,U+4e70-4e71,U+4e73,U+4e7e,U+4e86,U+4e88-4e89,U+4e8b-4e8c,U+4e8e-4e8f,U+4e91-4e92,U+4e94-4e95,U+4e9a-4e9b,U+4e9f,U+4ea1,U+4ea4,U+4ea6-4ea9,U+4eab-4eae,U+4eb2,U+4eba,U+4ebf-4ec1,U+4ec5-4ec6,U+4eca-4ecb,U+4ecd-4ece,U+4ed1,U+4ed3-4ed4,U+4ed6-4ed9,U+4ee3-4ee5,U+4eea,U+4eec,U+4ef0,U+4ef2,U+4ef6-4ef7,U+4efb,U+4efd,U+4eff,U+4f01,U+4f0a,U+4f0d,U+4f0f-4f11,U+4f17-4f1a,U+4f1e-4f20,U+4f24,U+4f26,U+4f2a,U+4f2f-4f30,U+4f34,U+4f38,U+4f3c,U+4f46,U+4f4d-4f50,U+4f53,U+4f55,U+4f59,U+4f5b-4f5c,U+4f60,U+4f69,U+4f73,U+4f7c,U+4f7f,U+4f83,U+4f8b,U+4f9b,U+4f9d,U+4fa6-4fa8,U+4faf,U+4fb5,U+4fbf,U+4fc3-4fc4,U+4fca,U+4fcf,U+4fd1,U+4fd7,U+4fdd-4fde,U+4fe1,U+4fe9,U+4fed-4fee,U+4ff1,U+4ffa,U+500d,U+5012,U+5019,U+501f,U+5021,U+502a,U+503a,U+503c,U+503e,U+5047,U+504f,U+505a,U+505c,U+5065,U+5076-5077,U+507f,U+5085,U+50a8,U+50ac,U+50b2,U+50bb,U+50cf,U+50f5,U+50fb,U+5112,U+513f,U+5141,U+5143-5146,U+5148-5149,U+514b,U+514d,U+5151,U+5154,U+515a,U+5162,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5179,U+517b-517d,U+5180,U+5185,U+5188,U+518c-518d,U+5192,U+5199,U+519b-519c,U+51a0,U+51ac,U+51af-51b0,U+51b2-51b3,U+51b5-51b7,U+51bb,U+51c0,U+51c6,U+51c9,U+51cc,U+51cf,U+51d1,U+51dd,U+51e0-51e1,U+51e4,U+51ed,U+51ef-51f0,U+51f6,U+51fa-51fb,U+51fd,U+5200,U+5206-5207,U+520a,U+5211-5212,U+5217-521b,U+521d,U+5224,U+5229,U+522b,U+522e,U+5230,U+5236-523b,U+5242,U+524a,U+524d,U+5251,U+5256,U+5265,U+5267,U+5269-526a,U+526f,U+5272,U+529b,U+529d-52a1,U+52a3,U+52a8-52ab,U+52b1-52b3,U+52bf,U+52c3,U+52c7,U+52c9,U+52cb,U+52d2,U+52d8,U+52df,U+52e4,U+52fe,U+5305-5306,U+5308,U+5316-5317,U+5319,U+5320,U+532a,U+5339-533b,U+5341,U+5343,U+5347-534a,U+534e-534f,U+5353,U+5355-5357,U+535a,U+535c,U+5360-5362,U+5367,U+536b,U+5370-5371,U+5373-5374,U+5377-5378,U+537f,U+5382,U+5384-5386,U+5389,U+538b-538c,U+5395,U+5398,U+539a,U+539f,U+53a2,U+53a6,U+53a8,U+53bb,U+53bf,U+53c2,U+53c8-53cd,U+53d1,U+53d4,U+53d6-53d9,U+53e0,U+53e3-53e6,U+53ea-53ec,U+53ef-53f0,U+53f2-53f3,U+53f6-53f9,U+5401,U+5403-5404,U+5408-540a,U+540c-540e,U+5410-5411,U+5413,U+5415,U+5417,U+541b,U+541e,U+5426-5428,U+542b-542c,U+542f,U+5434,U+5438-5439,U+543e,U+5440,U+5446,U+5448,U+544a,U+5458,U+5462,U+5468,U+5473,U+5475,U+547c-547d,U+548c,U+5496,U+54a8,U+54ac,U+54b1,U+54b8,U+54bd,U+54c0-54c1,U+54c4,U+54c8,U+54cd,U+54d1,U+54e5,U+54e8,U+54ea,U+54ed,U+54f2,U+5510,U+5524,U+552e-552f,U+5531,U+5546,U+554a,U+5561,U+5564-5566,U+5580,U+5582,U+5584,U+558a,U+559c-559d,U+55b7,U+55bb,U+5609,U+561b,U+5631,U+5634,U+5668,U+566a,U+56ca,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f0,U+56f4,U+56fa,U+56fd-56fe,U+5706,U+5708,U+571f,U+5723,U+5728,U+572d,U+5730,U+5733,U+573a,U+573e,U+5740,U+5747,U+574a,U+574e-5751,U+5757,U+575a-575b,U+575d,U+5761,U+5764,U+5766,U+576a,U+5782-5784,U+578b,U+5792,U+57a6,U+57ab,U+57c3,U+57cb,U+57ce,U+57d4,U+57df-57e0,U+57f9-57fa,U+5802,U+5806,U+5821,U+5824,U+582a,U+5835,U+584c,U+5851,U+5854,U+5858,U+585e,U+586b,U+5883,U+5885,U+5893,U+5899,U+589e,U+58a8,U+58c1,U+58e4,U+58eb,U+58ee,U+58f0,U+58f3,U+58f6,U+5904,U+5907,U+590d,U+590f,U+5915-5916,U+591a,U+591c,U+591f,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+5938-593a,U+5947-5949,U+594b,U+594e-594f,U+5951,U+5954,U+5956-5957,U+5960,U+5965,U+5973-5974,U+5976,U+5979,U+597d,U+5982,U+5986-5988,U+5999,U+59a5,U+59a8,U+59ae,U+59b9,U+59bb,U+59c6,U+59cb,U+59d0-59d1,U+59d3-59d4,U+59da,U+59dc,U+59fb,U+59ff,U+5a01,U+5a03,U+5a18,U+5a1c,U+5a1f,U+5a31,U+5a46,U+5a5a,U+5a74,U+5a92,U+5ab3,U+5ac1,U+5acc,U+5ae9,U+5b50,U+5b54-5b55,U+5b57-5b59,U+5b5c-5b5d,U+5b5f,U+5b63-5b64,U+5b66,U+5b69,U+5b81,U+5b83,U+5b85,U+5b87-5b89,U+5b8b-5b8c,U+5b8f,U+5b97-5b9e,U+5ba0-5ba4,U+5baa-5bab,U+5bb0,U+5bb3-5bb4,U+5bb6,U+5bb9,U+5bbd-5bbf,U+5bc2,U+5bc4,U+5bc6,U+5bcc,U+5bd2-5bd3,U+5bdf,U+5be5,U+5be8,U+5bf8-5bfc,U+5bff,U+5c01,U+5c04,U+5c06,U+5c0a,U+5c0f,U+5c11,U+5c14,U+5c16,U+5c18,U+5c1a,U+5c1d,U+5c24,U+5c27,U+5c31,U+5c38-5c3a,U+5c3c-5c40,U+5c42,U+5c45,U+5c48,U+5c4a-5c4b,U+5c4f,U+5c55,U+5c5e,U+5c60-5c61,U+5c65,U+5c6f,U+5c71,U+5c81-5c82,U+5c90,U+5c97,U+5c9a-5c9b,U+5ca9,U+5cad,U+5cb3,U+5cb8,U+5ce1,U+5cf0,U+5cfb,U+5d07,U+5d14,U+5d16,U+5d1b,U+5d2d,U+5dcd,U+5ddd-5dde,U+5de1-5de2,U+5de5-5de9,U+5dee,U+5df1-5df2,U+5df4,U+5df7,U+5dfe,U+5e01-5e03,U+5e05-5e06,U+5e08,U+5e0c,U+5e10,U+5e15,U+5e1c-5e1d,U+5e26,U+5e2d-5e2e,U+5e37-5e38,U+5e3d,U+5e45,U+5e55,U+5e62,U+5e72-5e74,U+5e76,U+5e78,U+5e7b-5e7d,U+5e7f,U+5e84,U+5e86,U+5e8a,U+5e8f-5e90,U+5e93-5e95,U+5e97,U+5e99-5e9a,U+5e9c,U+5e9e-5e9f,U+5ea6-5ea7,U+5ead,U+5eb7-5eb8,U+5ec9-5eca,U+5ed6,U+5ef6-5ef7,U+5efa,U+5f00,U+5f02-5f04,U+5f0a,U+5f0f,U+5f15,U+5f17-5f18,U+5f1f-5f20,U+5f25-5f26,U+5f2f,U+5f31,U+5f39-5f3a,U+5f52-5f53,U+5f55,U+5f62,U+5f66,U+5f69-5f6a,U+5f6c-5f6d,U+5f70-5f71,U+5f79,U+5f7b-5f7c,U+5f80-5f81,U+5f84-5f85,U+5f88,U+5f8a-5f8b,U+5f90,U+5f92,U+5f97-5f98,U+5fa1,U+5faa,U+5fae,U+5fb7,U+5fbd,U+5fc3,U+5fc5-5fc6,U+5fcc-5fcd,U+5fd7-5fd9,U+5fe0,U+5fe7,U+5feb,U+5ff5,U+5ffd,U+6000-6001,U+600e,U+6012,U+6015,U+601d,U+6025,U+6027-6028,U+602a,U+603b,U+604b,U+6050,U+6052,U+6062,U+6068-6069,U+606f-6070,U+6073,U+6076,U+607c,U+6084,U+6089,U+6094,U+609f-60a0,U+60a3,U+60a6,U+60a8,U+60ac,U+60b2,U+60bc,U+60c5,U+60ca,U+60d1,U+60d5,U+60dc,U+60e0,U+60e8-60e9,U+60ef,U+60f3,U+6101,U+6108-6109,U+610f,U+611a,U+611f,U+6124,U+6127,U+613f,U+6148,U+614e,U+6155,U+6162,U+6167-6168,U+6170,U+61be,U+61c2,U+61c8,U+6208,U+620f-6212,U+6216,U+6218,U+621a,U+622a,U+6234,U+6237,U+623f-6240,U+6247,U+624b,U+624d-624e,U+6251,U+6253-6254,U+6258,U+6263,U+6267,U+6269,U+626b-6270,U+6276,U+6279,U+627e-6280,U+6284,U+628a,U+6291-6293,U+6295,U+6297-6298,U+629a-629b,U+62a2,U+62a4-62a5,U+62ab-62ac,U+62b1,U+62b5,U+62b9,U+62bc-62bd,U+62c5-62c6,U+62c9,U+62cd,U+62d0,U+62d2-62d4,U+62d6,U+62d8,U+62da-62dc,U+62df,U+62e2,U+62e5-62e6,U+62e8-62e9,U+62ec,U+62f3,U+62fc,U+62fe-62ff,U+6301-6302,U+6307,U+6309,U+6311,U+6316,U+631a,U+6320-6321,U+6323-6325,U+6328,U+632a-632b,U+632f,U+633a,U+633d,U+6346,U+6349,U+6350,U+6355,U+635e-635f,U+6362,U+6367,U+636e,U+6377,U+6380,U+6388-6389,U+638c,U+638f,U+6392,U+6398,U+63a2,U+63a5,U+63a7-63aa,U+63ba,U+63cf-63d0,U+63d2,U+63e1,U+63ed,U+63f4,U+63fd,U+640f,U+641c,U+641e,U+642c-642d,U+643a,U+6444,U+6446-6447,U+644a,U+6454,U+6458,U+6469,U+6478,U+6491-6492,U+649e,U+64a4,U+64ad,U+64b0,U+64c5,U+64cd,U+64e6,U+6500,U+652f,U+6536,U+6539,U+653b,U+653e-653f,U+6545,U+6548,U+654c,U+654f,U+6551,U+6559,U+655e,U+6562-6563,U+6566,U+656c,U+6570,U+6572,U+6574,U+6587,U+658b-658c,U+6591,U+6597,U+6599,U+659c,U+65a4-65a5,U+65ad,U+65af-65b0,U+65b9,U+65bd,U+65c1,U+65c5,U+65cb,U+65cf,U+65d7,U+65e0,U+65e2,U+65e5-65e9,U+65ec-65ed,U+65f1,U+65f6,U+65fa,U+6602,U+6606,U+660c,U+660e-660f,U+6613-6614,U+661f-6620,U+6625,U+6628,U+662d,U+662f,U+663c,U+663e,U+664b,U+6652-6653,U+665a,U+6664,U+6668,U+666e-6670,U+6674,U+6676,U+667a,U+6682,U+6691,U+6696-6697,U+66a8,U+66b4,U+66d9,U+66f0,U+66f2,U+66f4,U+66f9,U+66fc,U+66fe-6700,U+6708-6709,U+670b,U+670d,U+6717,U+671b,U+671d,U+671f,U+6728,U+672a-672c,U+672f,U+6731,U+6734-6735,U+673a,U+673d,U+6740,U+6742-6743,U+6746,U+6749,U+674e-6751,U+675c,U+675f-6761,U+6765,U+6768,U+676d,U+676f-6770,U+677e-677f,U+6781,U+6784,U+6790,U+6797,U+679a,U+679c-679d,U+67a2-67a3,U+67aa-67ab,U+67af,U+67b6,U+67cf-67d0,U+67d3-67d4,U+67dc,U+67e5,U+67ec,U+67ef,U+67f1,U+67f3-67f4,U+6807,U+680b,U+680f,U+6811,U+6817,U+6821,U+682a,U+6837-6839,U+683c-683d,U+6842-6843,U+6846,U+6848,U+684c,U+6850-6851,U+6854,U+6863,U+6865,U+6869,U+6876,U+6881,U+6885,U+68a6-68a8,U+68af-68b0,U+68c0,U+68c9,U+68cb,U+68d2,U+68da,U+68ee,U+68f5,U+6905,U+690d,U+6912,U+695a,U+697c,U+6982,U+6986,U+699c,U+69fd,U+6a0a,U+6a21,U+6a2a,U+6a61,U+6b20-6b23,U+6b27,U+6b32,U+6b3a,U+6b3e,U+6b47,U+6b49,U+6b4c,U+6b62-6b67,U+6b6a,U+6b79,U+6b7b,U+6b8a-6b8b,U+6b96,U+6bb5,U+6bb7,U+6bbf,U+6bc1,U+6bc5,U+6bcd,U+6bcf,U+6bd2,U+6bd4-6bd5,U+6bdb,U+6beb,U+6bef,U+6c0f,U+6c11,U+6c14,U+6c1b,U+6c1f,U+6c27-6c28,U+6c34,U+6c38,U+6c41-6c42,U+6c47,U+6c49,U+6c55,U+6c57,U+6c5b,U+6c5d,U+6c5f-6c61,U+6c64,U+6c6a,U+6c70,U+6c7d,U+6c82-6c83,U+6c88-6c89,U+6c99,U+6c9b,U+6c9f,U+6ca1,U+6ca7,U+6caa-6cab,U+6cb3,U+6cb8-6cb9,U+6cbb,U+6cbe-6cbf,U+6cc4,U+6cc9-6cca,U+6cd5,U+6cdb,U+6ce1-6ce2,U+6ce5,U+6ce8,U+6cea,U+6cf0,U+6cf3,U+6cf5,U+6cfc-6cfd,U+6d01,U+6d0b,U+6d12,U+6d17,U+6d1b,U+6d1e,U+6d25,U+6d2a,U+6d32,U+6d3b,U+6d3d-6d3e,U+6d41,U+6d45-6d47,U+6d4b,U+6d4e,U+6d51,U+6d53,U+6d59,U+6d66,U+6d69-6d6a,U+6d6e,U+6d74,U+6d77-6d78,U+6d82,U+6d88-6d89,U+6d8c,U+6d9b,U+6d9d,U+6da4,U+6da6,U+6da8,U+6daf,U+6db2,U+6db5,U+6dc0,U+6dc4,U+6dcb,U+6dd1,U+6dd8,U+6de1,U+6deb,U+6dee,U+6df1,U+6df7,U+6df9,U+6dfb,U+6e05,U+6e0a,U+6e10,U+6e14,U+6e17,U+6e20-6e21,U+6e23-6e24,U+6e29,U+6e2f,U+6e34,U+6e38,U+6e56,U+6e58,U+6e5b,U+6e7e-6e7f,U+6e89,U+6e90,U+6e9c,U+6ea2,U+6eaa,U+6eb6,U+6ecb,U+6ed1,U+6ed4,U+6eda,U+6ede,U+6ee1,U+6ee5,U+6ee8-6ee9,U+6ef4,U+6f02,U+6f06,U+6f0f,U+6f14,U+6f20,U+6f2b,U+6f47,U+6f4d,U+6f58,U+6f5c,U+6f6d-6f6e,U+6f84,U+6f9c,U+6fb3,U+6fc0,U+6fd2,U+704c,U+706b,U+706d,U+706f-7070,U+7075-7076,U+707e-707f,U+7089,U+708e,U+7092,U+70ac-70ae,U+70b3,U+70b8-70b9,U+70bc,U+70c2,U+70c8,U+70df,U+70e4,U+70e6-70e7,U+70ed,U+70ef,U+710a,U+7115,U+7126,U+7136,U+714c,U+7164,U+7167,U+718a,U+718f,U+7199,U+719f,U+71c3,U+71d5,U+7206,U+722c,U+7231,U+7236-7238,U+723d,U+7247-7248,U+724c,U+7259,U+725b,U+725f,U+7261-7262,U+7267,U+7269,U+7272,U+7275,U+7279-727a,U+72ac,U+72af,U+72b6,U+72b9,U+72c2,U+72d7,U+72e0,U+72ec-72ee,U+72f1,U+72fc,U+730e,U+731b-731c,U+732a-732b,U+732e,U+7334,U+7387,U+7389,U+738b,U+739b,U+73a9,U+73af-73b0,U+73b2,U+73bb,U+73cd,U+73e0,U+73ed,U+7403,U+7406,U+741b,U+7433-7434,U+743c,U+745e,U+7470,U+7476,U+7483,U+74dc,U+74e6,U+74f6-74f7,U+7518,U+751a,U+751c,U+751f,U+7528-7529,U+752b,U+7530-7533,U+7535,U+7537-7538,U+753b,U+7545,U+754c,U+754f,U+7554,U+7559,U+755c,U+7565,U+756a,U+7586,U+758f,U+7591,U+7597,U+75ab,U+75b2,U+75bc,U+75be,U+75c5,U+75c7,U+75d5,U+75db,U+75f4,U+7624,U+7626,U+762b,U+764c,U+767b,U+767d-767e,U+7684,U+7686-7687,U+7696,U+76ae,U+76c6,U+76c8,U+76ca,U+76d0-76d2,U+76d6-76d8,U+76db,U+76df,U+76ee-76ef,U+76f2,U+76f4,U+76f8,U+76fc,U+76fe,U+7709,U+770b,U+771f-7720,U+7737,U+773c,U+7740,U+7750,U+775b,U+7761,U+7763,U+7766,U+7779,U+7784,U+77a9,U+77ac,U+77db,U+77e5,U+77ed,U+77f3,U+77ff,U+7801-7802,U+780d,U+7814,U+7816,U+7834,U+7838,U+7840,U+7845,U+7855,U+786b-786c,U+786e,U+788c-788e,U+7891,U+7897-7898,U+78a7,U+78b0-78b1,U+78b3,U+78c1,U+78ca-78cb,U+78e8,U+78f7,U+7901,U+793a,U+793c,U+793e,U+7956,U+795d-795e,U+7965,U+7968,U+796d,U+7978,U+7981,U+7984,U+798f,U+79b9,U+79bb,U+79bd,U+79c0-79c1,U+79c9,U+79cb,U+79cd,U+79d1-79d2,U+79d8,U+79df,U+79e6-79e7,U+79e9,U+79ef-79f0,U+79fb,U+7a00,U+7a0b,U+7a0d-7a0e,U+7a33,U+7a3b-7a3d,U+7a3f,U+7a46,U+7a57,U+7a74,U+7a76-7a77,U+7a7a,U+7a7f,U+7a81,U+7a83-7a84,U+7a91,U+7a97,U+7a9d,U+7a9f,U+7acb,U+7ad9,U+7ade-7ae0,U+7ae3,U+7ae5,U+7aed,U+7aef,U+7af9,U+7b0b,U+7b11,U+7b14,U+7b26,U+7b2c,U+7b3c,U+7b49,U+7b4b,U+7b51-7b52,U+7b54,U+7b56,U+7b5b,U+7b79,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bad,U+7bb1,U+7bc7,U+7bee,U+7c4d,U+7c73,U+7c7b,U+7c7d,U+7c89,U+7c92,U+7c97-7c98,U+7ca4,U+7caa,U+7cae,U+7cbe,U+7cca,U+7cd5-7cd6,U+7cfb,U+7d20,U+7d22,U+7d27,U+7d2b,U+7d2f,U+7e41,U+7ea0,U+7ea2,U+7ea4,U+7ea6-7ea7,U+7eaa,U+7eac,U+7eaf,U+7eb1-7eb3,U+7eb5-7eba,U+7ebd,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed2-7ed3,U+7ed5,U+7ed8-7ed9,U+7edc-7edd,U+7edf,U+7ee3,U+7ee7,U+7ee9-7eea,U+7eed,U+7ef3-7ef5,U+7ef8,U+7efc,U+7eff,U+7f05-7f06,U+7f13-7f14,U+7f16,U+7f18,U+7f1a,U+7f1d,U+7f20,U+7f29,U+7f34,U+7f3a,U+7f50-7f51,U+7f55,U+7f57,U+7f5a,U+7f62,U+7f69-7f6a,U+7f6e,U+7f72,U+7f8a,U+7f8e,U+7fa1,U+7fa4,U+7fbd,U+7fc1,U+7fc5,U+7fd4,U+7fe0,U+7ff0,U+7ffb-7ffc,U+8000-8001,U+8003,U+8005,U+800c,U+8010,U+8015,U+8017-8018,U+8033,U+8036,U+8038,U+803f,U+8042,U+804a,U+804c,U+8054,U+8058,U+805a,U+806a,U+8083,U+8086-8087,U+8089,U+808c,U+8096,U+809a,U+809d,U+80a0-80a2,U+80a4-80a5,U+80a9,U+80af,U+80b2,U+80ba,U+80be-80c1,U+80c3,U+80c6,U+80cc,U+80ce,U+80dc,U+80de,U+80e1,U+80f6,U+80f8,U+80fd,U+8102,U+8106,U+8109-810a,U+810f,U+8111,U+811a,U+8131,U+8138,U+814a,U+8150,U+8154,U+8170,U+8179,U+817e-8180,U+818f,U+819c,U+81a8,U+81c2,U+81e3,U+81ea,U+81ed,U+81f3-81f4,U+8206,U+820c-820d,U+8212,U+821e-821f,U+822a,U+822c,U+8230-8231,U+8236,U+8239,U+8247,U+8258,U+826f-8270,U+8272-8273,U+827a,U+827e,U+8282,U+8292,U+829c-829d,U+82a6,U+82ac,U+82af,U+82b1,U+82b3,U+82bd,U+82cd,U+82cf,U+82d1,U+82d7,U+82e5-82e6,U+82f1,U+82f9,U+8302-8303,U+8305,U+8327-8328,U+832b,U+8336,U+8346,U+8349,U+8350,U+8352,U+8361,U+8363,U+836b,U+836f,U+8377,U+8389,U+838e,U+839e,U+83ab,U+83b1-83b2,U+83b7,U+83c7,U+83ca,U+83cc,U+83dc,U+83f1-83f2,U+8403-8404,U+840c-840e,U+8425,U+8427-8428,U+843d,U+8457,U+845b,U+8461,U+8463,U+846c,U+8471,U+8482,U+848b,U+8499,U+849c,U+84b8,U+84c4,U+84c9,U+84dd,U+84ec,U+8513,U+8517,U+851a,U+8521,U+852c,U+8574,U+857e,U+8584,U+859b,U+85aa,U+85cf,U+85e4,U+864e,U+8651,U+865a,U+866b,U+8679,U+867d-867e,U+8680-8681,U+8695,U+86c7,U+86cb,U+8702,U+871c,U+8721,U+8776,U+878d,U+87ba,U+87f9,U+8840,U+884c-884d,U+8854,U+8857,U+8861,U+8863,U+8865,U+8868,U+886b-886c,U+8870,U+8877,U+8881,U+888b,U+8896,U+88ab,U+88ad,U+88b1,U+88c1-88c2,U+88c5,U+88d5,U+88d9,U+88e4,U+8944,U+897f,U+8981,U+8986,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+89e6,U+8a00,U+8a89,U+8a93,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba8-8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbc,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc8-8bca,U+8bcd,U+8bd1,U+8bd5,U+8bd7,U+8bda,U+8bdd-8bde,U+8be2,U+8be5-8be6,U+8bed,U+8bef,U+8bf1,U+8bf4,U+8bf7-8bf8,U+8bfa-8bfb,U+8bfe,U+8c01,U+8c03,U+8c05,U+8c08,U+8c0a-8c0b,U+8c10,U+8c13,U+8c1c,U+8c22,U+8c26,U+8c28,U+8c2d,U+8c31,U+8c34,U+8c37,U+8c46,U+8c61,U+8c6a-8c6b,U+8c8c,U+8d1d,U+8d1f,U+8d21-8d25,U+8d27-8d2f,U+8d34-8d35,U+8d37-8d3a,U+8d3e-8d3f,U+8d41-8d44,U+8d4b-8d4c,U+8d4f,U+8d54,U+8d56,U+8d5a-8d5b,U+8d5e,U+8d60,U+8d62-8d64,U+8d6b,U+8d70,U+8d74-8d77,U+8d81,U+8d85,U+8d8a-8d8b,U+8d9f,U+8da3,U+8db3,U+8dc3,U+8dcc,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8df3,U+8df5,U+8dfb,U+8e0a,U+8e0f,U+8e22,U+8e2a,U+8e48,U+8eab,U+8eb2,U+8eba,U+8f66-8f69,U+8f6c,U+8f6e-8f70,U+8f74,U+8f7b,U+8f7d,U+8f7f,U+8f83,U+8f85-8f86,U+8f88-8f89,U+8f90-8f91,U+8f93,U+8f96,U+8f9b-8f9c,U+8f9e-8f9f,U+8fa3,U+8fa8-8fa9,U+8fb0-8fb1,U+8fb9,U+8fbd-8fbe,U+8fc1,U+8fc4-8fc5,U+8fc7-8fc8,U+8fce,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fdf,U+8fea-8feb,U+8fed,U+8ff0,U+8ff7,U+8ff9,U+8ffd,U+9000-9003,U+9006,U+9009-900a,U+900f-9010,U+9012,U+9014,U+901a-901b,U+901d,U+901f-9020,U+9022,U+902e,U+9038,U+903b-903c,U+903e,U+9042,U+9047,U+904d,U+904f,U+9053,U+9057,U+9063,U+9065,U+906d,U+9075,U+907f-9080,U+9093,U+90a2-90a3,U+90a6,U+90aa,U+90ae-90af,U+90b1,U+90b5,U+90b9,U+90bb,U+90c1,U+90ca,U+90ce,U+90d1,U+90dd,U+90e8,U+90ed,U+90fd,U+9102,U+914d,U+9152,U+915d,U+916c,U+9171,U+9177-9178,U+917f,U+9187,U+9189,U+9192,U+91c7,U+91ca,U+91cc-91cf,U+91d1,U+9274,U+946b,U+9488-9489,U+9493,U+949e-949f,U+94a2,U+94a5-94a7,U+94a9,U+94b1,U+94bb,U+94c1,U+94c3,U+94c5,U+94dc-94dd,U+94ed,U+94f6,U+94f8,U+94fa,U+94fe,U+9500-9501,U+9505,U+9508,U+950b,U+9510,U+9519,U+9521,U+9523,U+9526,U+952e,U+953b,U+9547,U+9551,U+955c,U+957f,U+95e8,U+95ea,U+95ed-95ef,U+95f2,U+95f4,U+95f7-95f9,U+95fb,U+95fd,U+9601,U+9605,U+960e,U+9610,U+9614,U+961c,U+961f,U+9632-9636,U+963b,U+963f,U+9644-9646,U+9648,U+964b-964d,U+9650,U+9655,U+9662,U+9664,U+9669-966a,U+9675-9677,U+9686,U+968f-9690,U+9694,U+969c,U+96a7,U+96b6,U+96be,U+96c0-96c1,U+96c4-96c7,U+96d5,U+96e8,U+96ea,U+96f6-96f7,U+96fe,U+9700,U+9707,U+9709,U+970d,U+971c,U+971e,U+9732,U+9738,U+9752,U+9756,U+9759,U+975e,U+9760,U+9762,U+9769,U+978b,U+978d,U+97ad,U+97e6,U+97e9,U+97f3,U+97f5,U+9875-9877,U+9879-987b,U+987d-987f,U+9881-9882,U+9884,U+9886-9888,U+9891,U+9896-9898,U+989c-989d,U+98a0,U+98ce,U+98d8,U+98de-98df,U+9910,U+9965,U+996d-996e,U+9970-9972,U+9976,U+997c,U+997f,U+9986,U+9988,U+9996,U+9999,U+99a8,U+9a6c,U+9a70-9a71,U+9a73,U+9a76,U+9a7b,U+9a7e,U+9a82,U+9a84,U+9a8c,U+9a91,U+9a97,U+9a9a,U+9aa4,U+9aa8,U+9ad3,U+9ad8,U+9b3c,U+9b41-9b42,U+9b44-9b45,U+9b4f,U+9b54,U+9c7c,U+9c81,U+9c8d,U+9c9c,U+9e1f,U+9e21,U+9e23,U+9e2d,U+9e3f,U+9e45,U+9e4f,U+9e64,U+9e70,U+9e7f,U+9e9f,U+9ea6,U+9ebb,U+9ec4,U+9ece,U+9ed1,U+9ed4,U+9ed8,U+9f0e,U+9f13,U+9f20,U+9f3b,U+9f50,U+9f7f,U+9f84,U+9f99-9f9a,U+fe11-fe12,U+fe17-fe18,U+fe30,U+fe34,U+fe39-fe40,U+fe51,U+fe5d-fe5e",weight:"400"},{asset:"misans/a70208e3.woff2",family:"MiSans",range:"U+4e10,U+4e15,U+4e1e,U+4e2b,U+4e4d,U+4e56,U+4e5e,U+4e98,U+4ea2,U+4ea5,U+4eb3,U+4eb5,U+4ec3,U+4ec7,U+4ec9,U+4ed5,U+4ee8,U+4eeb,U+4f09,U+4f0e,U+4f22,U+4f2b,U+4f36,U+4f3a,U+4f3d,U+4f43,U+4f51,U+4f57-4f58,U+4f5a,U+4f5d,U+4f5f,U+4f63-4f64,U+4f6c,U+4f6f-4f70,U+4f84,U+4f88,U+4f8d,U+4f8f,U+4f97,U+4fa0,U+4fa3,U+4fa5,U+4fac,U+4fae,U+4fce,U+4fd0,U+4fd8,U+4fda,U+4fdf,U+4fe8,U+4fea,U+4fef,U+4ff3,U+4ff8,U+500c,U+500f,U+5014,U+5018,U+501a,U+501c,U+5026,U+5029,U+502d,U+5043,U+504c,U+504e,U+5055,U+507b,U+5088,U+508d,U+50a3,U+50a9,U+50da,U+50e7,U+50f3,U+5106,U+510b,U+5140,U+5156,U+515c,U+516e,U+5189,U+5195,U+5197,U+51a2,U+51a4-51a5,U+51bc-51bd,U+51c4,U+51cb,U+51db,U+51f3,U+51f8-51f9,U+51ff,U+5201,U+5203,U+520d,U+5220,U+5228,U+5243,U+524c,U+5254,U+527d,U+527f,U+5288,U+52ad,U+52be,U+52d0,U+52fa,U+52ff-5300,U+530d,U+5310,U+5315,U+531d,U+5321,U+5323,U+532e,U+533e-533f,U+5345,U+5351-5352,U+535e,U+5364,U+5366,U+536f,U+5375,U+53a5,U+53a9,U+53ae,U+53db,U+53df,U+53e8-53e9,U+53ed-53ee,U+53f1,U+53fb,U+53fd,U+5406,U+540f,U+541d,U+541f-5421,U+5429,U+542d-542e,U+5431,U+5435,U+543b-543c,U+544b,U+5450,U+5455,U+5457,U+545b-545c,U+5471,U+5477,U+547b,U+5480,U+5482,U+5484,U+5486,U+548b,U+548e-5490,U+5492,U+5494-5495,U+5499-549b,U+54a4,U+54a7,U+54aa-54ab,U+54af,U+54b3,U+54c6-54c7,U+54c9,U+54cc,U+54ce,U+54d2,U+54d7,U+54df,U+54e6-54e7,U+54e9,U+54ee,U+54fa,U+54fc-54fd,U+5501,U+5506-5507,U+5509,U+550f,U+5511,U+551b,U+5520,U+5522,U+552c,U+5530,U+553e,U+5543-5544,U+5555,U+5567,U+556a,U+556c,U+5578,U+557b-557c,U+557e,U+5583,U+5587,U+5589,U+558b,U+5594,U+5598-5599,U+559f,U+55a7,U+55b3,U+55bd,U+55c4-55c5,U+55d1-55d3,U+55d6,U+55dc,U+55df,U+55e1,U+55e3-55e4,U+55e6,U+55e8,U+55ea,U+55ec,U+55ef,U+55f7,U+55fd,U+5600,U+5608,U+560e,U+5618,U+561f,U+562d,U+5632,U+5636,U+5639,U+563b,U+563f,U+564e,U+5654,U+5659,U+565c,U+5662,U+5669,U+566c,U+5676,U+567c,U+568e,U+5693,U+56a3,U+56b7,U+56bc,U+56da,U+56e4,U+56eb,U+56f1,U+56f5,U+56f9,U+56ff,U+5703-5704,U+5729-572a,U+573b,U+5742,U+574d,U+575e-5760,U+5768,U+576d,U+576f,U+5773,U+5777,U+577b,U+5785,U+579b,U+57a0,U+57a2-57a3,U+57a9,U+57ad-57ae,U+57b8,U+57c2,U+57d5,U+57dd,U+57ed,U+5811,U+5815,U+5830,U+584d,U+586c,U+587e,U+5880,U+5892,U+589f,U+58a9,U+58d1,U+58d5,U+58ec,U+58f9,U+5914,U+5919,U+592d,U+592f,U+5937,U+5944,U+5955,U+5958,U+595a,U+5962,U+5978,U+5983-5984,U+598a,U+598d,U+5992-5993,U+5996,U+599e,U+59a9-59aa,U+59be,U+59ca,U+59d7,U+59e3,U+59e5,U+59e8,U+59ec,U+59f9,U+5a04-5a07,U+5a11,U+5a13,U+5a20,U+5a23,U+5a25,U+5a29,U+5a32,U+5a34,U+5a36,U+5a3c,U+5a40,U+5a49,U+5a6a,U+5a76-5a77,U+5a7a,U+5a7f,U+5a9a-5a9b,U+5ab2,U+5abe,U+5ac2,U+5ac9,U+5ad6,U+5ae1,U+5ae3,U+5ae6,U+5b09,U+5b17,U+5b40,U+5b51,U+5b5a,U+5b62,U+5b6a,U+5b70,U+5b73,U+5b75,U+5b7a,U+5b7d,U+5b93,U+5b95,U+5ba6,U+5bb5,U+5bb8,U+5bc5,U+5bc7,U+5bd0,U+5bdd-5bde,U+5be1,U+5bee,U+5bf0,U+5c09,U+5c15,U+5c2c,U+5c34,U+5c41,U+5c49,U+5c4e,U+5c51,U+5c79,U+5c7f,U+5c8c,U+5c91,U+5c94,U+5c96,U+5c99,U+5c9c,U+5cab,U+5cb1,U+5cb7,U+5cbf,U+5cc1,U+5cc4,U+5ccb,U+5cd2,U+5cd9,U+5ce4-5ce6,U+5ce8,U+5cea,U+5ced,U+5d02,U+5d0e,U+5d29,U+5d2e,U+5d34,U+5d3d,U+5d47,U+5d4a-5d4c,U+5d58,U+5d69,U+5d82,U+5d99,U+5dc5,U+5deb,U+5e16,U+5e18,U+5e1a-5e1b,U+5e27,U+5e3c,U+5e44,U+5e4c,U+5e54,U+5e61,U+5e7a,U+5e87,U+5e96,U+5ea5,U+5eb5-5eb6,U+5ed3,U+5eff,U+5f08,U+5f0b,U+5f13,U+5f1b,U+5f27,U+5f29,U+5f3c,U+5f57,U+5f5d,U+5f64,U+5f77,U+5f87,U+5f89,U+5f95,U+5f99,U+5f9c,U+5fa8,U+5fcf-5fd1,U+5fd6,U+5fe1,U+5ff1,U+5ffb,U+5fff,U+6002,U+6005-6006,U+6014,U+6016,U+601c,U+6020-6021,U+6026,U+602f,U+6035,U+603f,U+6043,U+604d,U+6055,U+6059,U+6063-6064,U+606a,U+606c-606d,U+6078,U+607a-607b,U+607d,U+607f,U+608c-608d,U+6096,U+609a,U+60af,U+60b4,U+60b8,U+60bb,U+60c6,U+60cb,U+60d8,U+60da,U+60df,U+60e6-60e7,U+60eb-60ee,U+60f0,U+60f4,U+60f6,U+60f9-60fa,U+6115,U+6123,U+612b,U+614c,U+6151,U+6177,U+618b,U+618e,U+6194,U+61a7-61a9,U+61ac,U+61ca-61cb,U+61d1-61d2,U+61e6,U+61f5,U+61ff,U+620a,U+620c-620e,U+621b,U+621f,U+622e,U+6233,U+6241,U+6248-6249,U+6252,U+625b,U+626a,U+6273,U+627c,U+6289,U+6296,U+62a0-62a1,U+62a8,U+62c2,U+62c4,U+62c7-62c8,U+62cc,U+62ce,U+62d7,U+62d9,U+62e3,U+62e7,U+62ed-62ef,U+62f1,U+62f4,U+62f7,U+62fd,U+630e,U+631b,U+631d-631f,U+6342,U+6345,U+634d-634f,U+6361,U+6363,U+636d,U+6371,U+6376,U+637a-637b,U+6382,U+6390,U+6396,U+63a0,U+63a3,U+63ac,U+63ae,U+63b0,U+63b7,U+63c9,U+63cd,U+63d6,U+63e3,U+63e9-63ea,U+63ff-6402,U+6405,U+6410,U+6413-6414,U+6421,U+642a,U+6448,U+6452,U+645e,U+6467,U+6479,U+6482,U+6487,U+6495,U+64a9,U+64ac,U+64ae,U+64b5,U+64b7,U+64bc,U+64c0,U+64c2,U+64ce,U+64d2,U+64d8,U+64de,U+6512,U+6518,U+6525,U+652b,U+6538,U+6556,U+655b,U+655d,U+6577,U+6590,U+6593,U+659f,U+65a1,U+65a7,U+65a9,U+65bc,U+65cc,U+65ce,U+65d6,U+65ee-65ef,U+65f7,U+660a,U+6615,U+6619,U+661d,U+6627,U+6631,U+6635-6636,U+6641,U+6643,U+664c,U+664f,U+6654-6657,U+665f,U+6666,U+667e,U+6684,U+6687,U+66ae,U+66b9,U+66dc-66dd,U+66e6,U+66f3,U+6710,U+6714,U+6726,U+672d,U+6748,U+6756,U+675e,U+6772-6773,U+6777,U+677c,U+6787,U+6789,U+6795,U+67a5,U+67ad,U+67b0,U+67b7-67b8,U+67c4,U+67d1,U+67d8,U+67da,U+67de,U+67e0,U+67e9,U+67ff,U+6805,U+6808-6809,U+680e,U+6813,U+6816,U+6829,U+683e,U+6841,U+6845,U+684e,U+6853,U+6862,U+6866,U+6868,U+6886,U+688f,U+6893,U+6897,U+68a2,U+68ad,U+68b3,U+68b5,U+68cd,U+68d5,U+68d8,U+68e0,U+68e3,U+68f1,U+68fa,U+690e,U+692d,U+6930,U+693d,U+693f,U+6942,U+6954,U+695d-695e,U+6960,U+6963,U+696b,U+6977,U+6979,U+6984,U+6988,U+6994-6995,U+69a8,U+69ab,U+69ad,U+69b4,U+69b7,U+69bb,U+69cc,U+69d0,U+69db,U+69df,U+6a1f,U+6a31,U+6a35,U+6a44,U+6a47,U+6a58-6a59,U+6a71,U+6a80,U+6a90,U+6aac,U+6b46,U+6b59,U+6b7c,U+6b83,U+6b86,U+6b89,U+6b9a,U+6ba1,U+6bb4,U+6bcb,U+6bd3,U+6bd7,U+6bd9,U+6be1,U+6c13,U+6c22,U+6c26,U+6c2e-6c30,U+6c40,U+6c4a,U+6c50,U+6c5e,U+6c68-6c69,U+6c72,U+6c74,U+6c76,U+6c79,U+6c7e,U+6c81,U+6c85,U+6c8c,U+6c8f-6c90,U+6c93-6c94,U+6ca3-6ca6,U+6cad-6cae,U+6cb1,U+6cbc-6cbd,U+6ccc,U+6cd3,U+6cd7,U+6cde,U+6ce0,U+6ce3,U+6cef,U+6cf1,U+6cf8,U+6cfb,U+6cfe,U+6d19,U+6d2e,U+6d31,U+6d35,U+6d3c,U+6d43,U+6d4a,U+6d4f,U+6d52,U+6d54,U+6d5a,U+6d5c,U+6d85,U+6d8e,U+6d93-6d95,U+6d9e-6d9f,U+6da1,U+6da3,U+6da7,U+6da9-6daa,U+6dae,U+6db8,U+6dbf,U+6dc5-6dc7,U+6dcc,U+6dd6,U+6dd9,U+6dde,U+6de4,U+6de6,U+6dec,U+6df3,U+6dfc,U+6e0d-6e0e,U+6e11,U+6e1a,U+6e1d,U+6e25,U+6e2d,U+6e32,U+6e3a,U+6e43-6e44,U+6e4d-6e4e,U+6e5f,U+6e6e,U+6e83,U+6e85,U+6e98,U+6e9f,U+6ea5,U+6ea7,U+6eaf,U+6eb4,U+6eba,U+6ec1-6ec2,U+6ec7,U+6ed5,U+6ee2,U+6ee4,U+6ee6,U+6ef9,U+6f09,U+6f13,U+6f15,U+6f29-6f2a,U+6f2f,U+6f31,U+6f33,U+6f3e,U+6f5e,U+6f62,U+6f66,U+6f78,U+6f7a,U+6f7c,U+6f88,U+6f8d-6f8e,U+6fa1,U+6fa7,U+6fc2,U+6fc9,U+6fe0-6fe1,U+6fee,U+7011,U+701a-701b,U+704f,U+705e,U+7078,U+707c,U+708a,U+7094-7096,U+7099,U+709c,U+70ab,U+70af,U+70bd,U+70c1,U+70c3,U+70d8-70d9,U+70db,U+70e8-70e9,U+70eb-70ec,U+70f7,U+70f9,U+70fd,U+7109,U+7116,U+7118-711a,U+7130-7131,U+714a,U+714e,U+715c,U+715e,U+7166,U+716e,U+7172,U+717d,U+7184,U+7194,U+71a0,U+71a8,U+71ac,U+71b9,U+71ce,U+71e5,U+71e7,U+71ee,U+722a,U+7235,U+7239,U+723f,U+724d,U+7252,U+7266,U+726f,U+7280-7281,U+728a,U+729f,U+72b7,U+72c4,U+72c8,U+72cd,U+72d0,U+72de,U+72e1,U+72e9,U+72f0,U+72f8,U+7315-7317,U+731d,U+7325,U+7329,U+7337,U+733e-733f,U+7357,U+736d,U+7384,U+7396,U+73ab,U+73ae,U+73b7,U+73ba,U+73c0,U+73c2,U+73c9-73ca,U+73cf,U+73d1,U+73de,U+73e9,U+73f2,U+7405,U+7409,U+740f-7410,U+7422,U+7425-7426,U+7428,U+742a,U+742c,U+742e,U+7430,U+7435-7436,U+7455,U+7459-745c,U+745f,U+747e,U+7480,U+7487,U+748b,U+7490,U+749c,U+749e,U+74a7-74a8,U+74e2-74e4,U+74ee-74ef,U+74f4,U+7504,U+7519,U+7525,U+752c-752d,U+753a,U+753e,U+7548,U+7566,U+7572,U+7574,U+7578-7579,U+7599-759a,U+759f,U+75a1,U+75a4,U+75ae-75af,U+75b1,U+75b5,U+75b8-75b9,U+75bd,U+75c2,U+75c9-75ca,U+75cd,U+75d2,U+75d4,U+75de,U+75e2,U+75ea-75eb,U+75f0,U+75f9,U+75fc,U+7600-7601,U+7618,U+761f-7620,U+7629-762a,U+7634,U+7638,U+763e,U+7656,U+765c,U+7663,U+766b,U+766f,U+7678,U+7682,U+768b,U+768e,U+7691,U+7693,U+7699,U+76b1,U+76bf,U+76c2,U+76c5,U+76ce-76cf,U+76d4,U+76f1,U+76f9,U+7708,U+7719,U+7728-7729,U+772f,U+7736,U+7738,U+773a,U+7741,U+7751,U+7762,U+776b-776c,U+777d-777f,U+7785,U+778c,U+778e,U+7791-7792,U+77a0,U+77a5,U+77a7,U+77aa,U+77b0,U+77b3,U+77bb,U+77bf,U+77cd,U+77d7,U+77dc,U+77e2-77e3,U+77e9,U+77eb,U+77ee,U+77f6,U+77f8,U+77fd-77fe,U+7800,U+780c,U+781a,U+781d,U+7823,U+7825,U+7827,U+782d,U+7830,U+7837,U+783a-783c,U+783e,U+7852,U+785d,U+787c,U+7889,U+7893,U+789c,U+789f,U+78a3,U+78b4,U+78be,U+78c5,U+78d0,U+78d5,U+78ec,U+78fa,U+7934,U+7940-7941,U+7948-7949,U+795a-795c,U+795f-7960,U+796f,U+7977,U+797a,U+7980,U+7985,U+79a7,U+79ba,U+79be,U+79c3,U+79c6,U+79e3-79e4,U+79ed,U+79f8,U+79fd,U+7a14,U+7a1a,U+7a1e,U+7a20,U+7a23,U+7a37,U+7a79,U+7a88,U+7a8d,U+7a92,U+7a95-7a96,U+7a98,U+7a9c,U+7aa0,U+7aa5-7aa6,U+7abf,U+7ad6,U+7afa,U+7afd,U+7aff,U+7b03,U+7b06,U+7b19,U+7b1b,U+7b20,U+7b28,U+7b3a,U+7b4f-7b50,U+7b5d,U+7b60,U+7b71,U+7b75,U+7b77,U+7b8d,U+7b90,U+7b94-7b95,U+7ba9,U+7bab,U+7bb4,U+7bc6,U+7bd1,U+7bd3,U+7bdd,U+7be1,U+7be6,U+7bf1,U+7bf7,U+7bfe,U+7c07,U+7c0c,U+7c27,U+7c38,U+7c3f,U+7c41,U+7c7c,U+7c91,U+7c95,U+7c9f,U+7ca5,U+7cb1-7cb3,U+7cb9,U+7cbc-7cbd,U+7cc5,U+7cd9,U+7cdc,U+7cdf-7ce0,U+7cef,U+7d0a,U+7d6e,U+7da6,U+7e82,U+7eab,U+7ead,U+7ebe,U+7ec2,U+7ec5,U+7ec9-7eca,U+7ecc,U+7ece,U+7ed1,U+7eda-7edb,U+7ede,U+7ee2,U+7ee5,U+7eeb,U+7eee-7ef0,U+7ef6-7ef7,U+7efd,U+7f00,U+7f03-7f04,U+7f08-7f09,U+7f0e,U+7f15,U+7f19,U+7f1c,U+7f24-7f25,U+7f28,U+7f2a-7f2e,U+7f30,U+7f38,U+7f42,U+7f44,U+7f54,U+7f58,U+7f61,U+7f79,U+7f81,U+7f8c,U+7f94,U+7f9a,U+7f9e-7f9f,U+7fb2,U+7fb8-7fb9,U+7fca,U+7fcc,U+7fce,U+7fd8,U+7fdf,U+7fe1,U+7fe9,U+7ff1,U+8004,U+8006,U+800b,U+800d,U+8019,U+8026,U+8037,U+803b,U+803d,U+8046,U+804b,U+8069,U+807f,U+808b,U+8098,U+809b,U+80aa,U+80ae,U+80b4,U+80bd,U+80c4,U+80d6,U+80da,U+80e5,U+80e7,U+80eb,U+80ed,U+80f0-80f1,U+80f3,U+80fa,U+810d,U+8110,U+8113,U+8116,U+812f,U+813e,U+8146,U+8148,U+814b-814c,U+8151,U+8153,U+8155,U+8165,U+816e,U+8174,U+817a-817c,U+818a,U+8191,U+8198,U+819b,U+819d,U+81b3,U+81ba,U+81c0,U+81c3,U+81c6,U+81e7,U+81fb-81fc,U+81fe,U+8200,U+8205,U+8214,U+821b-821c,U+8222,U+822b,U+8235,U+8237-8238,U+826e,U+828b,U+828d,U+8299,U+82a5,U+82aa,U+82ad-82ae,U+82b7-82b9,U+82c4,U+82c7,U+82cb,U+82ce,U+82d2-82d5,U+82db-82dc,U+82de-82df,U+82eb,U+82ef,U+82f7,U+8301,U+8304,U+8309,U+830e-830f,U+8314,U+8317,U+831c,U+832c-832d,U+832f,U+8334-8335,U+8338-8339,U+8340,U+8343,U+834f,U+8354,U+835a,U+835e-8360,U+8364-8365,U+8367,U+836a,U+837b-837c,U+8385-8386,U+8392-8393,U+8398,U+83a0,U+83b9-83ba,U+83bd,U+83c1,U+83cf,U+83e0,U+83e9,U+840b,U+8418,U+841d,U+8424,U+8426,U+8431,U+8438,U+8446,U+8469,U+846b,U+8475,U+847a,U+84af,U+84b2,U+84bf,U+84d3,U+84d6,U+84df,U+84e5-84e6,U+84ff,U+8511,U+852b,U+8537,U+853a,U+853c-853d,U+8543,U+8549-854a,U+8559,U+8568,U+8587,U+85af-85b0,U+85b9,U+85c9,U+85d0,U+85d5,U+85dc,U+85e9,U+85fb,U+8611,U+8616,U+8638,U+864f-8650,U+8654,U+865e,U+866c,U+8671,U+8682,U+868a,U+868c,U+8693,U+869c-869d,U+86a4,U+86a7,U+86ac,U+86af,U+86b6,U+86c0,U+86ca,U+86ce,U+86d0,U+86d9,U+86db,U+86df,U+86e4,U+86ee,U+86f0,U+86f9,U+86fe,U+8700,U+8703,U+8707,U+870d,U+8712-8713,U+8715,U+8717-8718,U+871a,U+8737,U+873b,U+873f,U+8747,U+8749,U+874e,U+8757,U+8759,U+8760,U+8774,U+8782-8783,U+87a8,U+87af,U+87c0,U+87c6,U+87cb,U+87d1-87d2,U+87e0,U+87fe,U+8815,U+8821-8822,U+8839,U+8845,U+8859,U+8862,U+8882,U+8884-8885,U+888d,U+8892,U+889c,U+88a4,U+88c6,U+88d4,U+88d8,U+88e8,U+88f1,U+88f3-88f4,U+88f8-88f9,U+8902,U+8910,U+8912-8913,U+891a-891b,U+8925,U+892a,U+8934,U+8936,U+8941,U+895f,U+8983,U+89c5,U+89ca,U+89ce,U+89d0-89d1,U+8a07,U+8a79,U+8b07,U+8b6c,U+8ba3,U+8ba5,U+8baa-8bab,U+8bb3-8bb4,U+8bb6-8bb7,U+8bb9,U+8bbd,U+8bc0,U+8bc3,U+8bc5,U+8bcb,U+8bcf,U+8bd2,U+8bd8-8bd9,U+8bdb,U+8be0-8be1,U+8be3-8be4,U+8be7,U+8be9,U+8beb-8bec,U+8bf0,U+8bf2,U+8bf5,U+8bfd,U+8bff,U+8c06,U+8c0c-8c0f,U+8c11-8c12,U+8c15,U+8c19-8c1b,U+8c1f,U+8c23-8c24,U+8c27,U+8c29-8c2a,U+8c2c,U+8c32,U+8c41,U+8c4c,U+8c5a,U+8c79,U+8c82,U+8d1e,U+8d26,U+8d31-8d32,U+8d3b-8d3c,U+8d45,U+8d48,U+8d4a,U+8d4e,U+8d50,U+8d53,U+8d58,U+8d5d,U+8d61,U+8d66,U+8d6d,U+8d73,U+8d84,U+8db4,U+8db8,U+8dbe,U+8dc4,U+8dc6,U+8dcb,U+8dce,U+8dda-8ddb,U+8de4,U+8dea,U+8df7,U+8dfa,U+8e09,U+8e0c,U+8e1d-8e1e,U+8e29,U+8e31,U+8e35,U+8e39,U+8e3d,U+8e42,U+8e44,U+8e47,U+8e49-8e4b,U+8e52,U+8e66,U+8e6c-8e6d,U+8e72,U+8e74,U+8e76,U+8e7c,U+8e81,U+8e87,U+8e8f,U+8eac,U+8eaf,U+8f71-8f72,U+8f76,U+8f7c,U+8f84,U+8f8a,U+8f8d,U+8f95,U+8f97-8f99,U+8fab,U+8fc2,U+8fe2,U+8fe4-8fe6,U+8fe9,U+8ff8,U+9004,U+900d,U+9017,U+901e,U+9035-9036,U+9041,U+9050-9052,U+905b,U+9068,U+906e,U+9074,U+9083,U+9088,U+9091,U+9095,U+9097,U+909d,U+90a1,U+90ac,U+90b3,U+90b8,U+90c5,U+90d3,U+90d7,U+90dc,U+90e1-90e2,U+90e6-90e7,U+90ef,U+90f4,U+90f8,U+9104,U+9119,U+911e,U+9122,U+912f,U+9131,U+9149,U+914b-914c,U+9150,U+9157,U+915a,U+9163,U+9165,U+9169-916a,U+916e-9170,U+9175-9176,U+918b,U+919a-919b,U+91b4,U+91c9,U+91dc,U+92ae,U+938f,U+93d6,U+9485,U+948a,U+948e,U+9492,U+9497,U+9499-949d,U+94a0-94a1,U+94a8,U+94ae,U+94b0,U+94b3-94b5,U+94bc,U+94be,U+94c0,U+94c2,U+94c4,U+94c6,U+94c9,U+94ce,U+94d0,U+94db,U+94e0,U+94e2-94e4,U+94e7-94e8,U+94ec,U+94ee,U+94f1-94f2,U+94f5,U+94ff,U+9502-9504,U+9506,U+9509,U+950c,U+950f,U+9511,U+9517,U+951a,U+951f,U+9522,U+9524-9525,U+9528,U+952d,U+952f-9530,U+9532,U+9534-9537,U+9539,U+9540-9542,U+9549,U+954c-954d,U+9550,U+9552,U+9556-9557,U+955b,U+9562-9563,U+956d,U+956f-9570,U+9573,U+9576,U+95eb,U+95f0,U+95f5,U+95fa,U+95fe,U+9600,U+9602,U+9606,U+9611,U+9616,U+9619-961a,U+9621,U+962a,U+962e,U+9631,U+9640,U+9642,U+9647,U+9649,U+965b,U+965f,U+9661,U+9668,U+9672,U+9685,U+968b,U+968d,U+9698-9699,U+96b0,U+96bd,U+96c9,U+96cc-96cd,U+96cf,U+96ef,U+96f3,U+96f9,U+9701,U+9704,U+9706,U+970e-970f,U+9713,U+9716,U+972d,U+9739,U+973e,U+9753,U+9761,U+9773-9774,U+9776,U+9791,U+9798,U+97a0,U+97a3,U+97e7,U+97eb-97ed,U+97f6,U+9885,U+9889-988a,U+988c-988d,U+9890,U+9893-9894,U+98a4,U+98a6,U+98d2-98d3,U+98d9-98da,U+98e8,U+9968,U+996a,U+996f,U+9974-9975,U+9977,U+997a,U+997d,U+9981,U+9984-9985,U+998b,U+998d,U+998f-9990,U+9992,U+9997,U+99a5,U+9a6d-9a6f,U+9a74,U+9a77,U+9a79,U+9a7c,U+9a7f,U+9a81,U+9a85-9a87,U+9a8a-9a8b,U+9a8f-9a90,U+9a9c-9a9e,U+9aa1,U+9aa5,U+9aa7,U+9ab8,U+9abc,U+9acb,U+9ae6,U+9aef,U+9b03,U+9b13,U+9c7f,U+9c85,U+9c88,U+9c9f,U+9ca2,U+9ca4,U+9ca8,U+9cab,U+9cb2,U+9cb6,U+9cb8,U+9cbb,U+9cc4-9cc5,U+9ccc-9ccd,U+9cd6-9cd7,U+9cdc-9cdf,U+9e20,U+9e22,U+9e25-9e26,U+9e2a,U+9e2f,U+9e33,U+9e35,U+9e3d-9e3e,U+9e43-9e44,U+9e49-9e4a,U+9e4c,U+9e51,U+9e57,U+9e5c,U+9e66-9e67,U+9e6b,U+9e6d,U+9e73,U+9e82,U+9e8b,U+9e92-9e93,U+9e9d,U+9eb8,U+9ebe,U+9edb,U+9edd,U+9eef,U+9f10,U+9f3e,U+9f8b,U+9f9b,U+9f9f",weight:"400"},{asset:"misans/c2f7cd5e.woff2",family:"MiSans",range:"U+494c-4db5,U+4e02,U+4e04-4e06,U+4e0f,U+4e12,U+4e17,U+4e1f-4e21,U+4e23,U+4e26,U+4e29,U+4e2e-4e2f,U+4e31,U+4e33,U+4e35,U+4e37,U+4e3c,U+4e40-4e42,U+4e44,U+4e46,U+4e4a,U+4e51,U+4e55,U+4e57,U+4e5a-4e5b,U+4e62-4e65,U+4e67-4e68,U+4e6a-4e6f,U+4e72,U+4e74-4e7d,U+4e7f-4e85,U+4e87,U+4e8a,U+4e90,U+4e96-4e97,U+4e99,U+4e9c-4e9e,U+4ea3,U+4eaa,U+4eaf-4eb1,U+4eb4,U+4eb6-4eb9,U+4ebc-4ebe,U+4ec8,U+4ecc,U+4ecf-4ed0,U+4ed2,U+4eda-4edc,U+4ee0,U+4ee2,U+4ee6-4ee7,U+4ee9,U+4eed-4eef,U+4ef1,U+4ef4,U+4ef8-4efa,U+4efc,U+4efe,U+4f00,U+4f02-4f08,U+4f0b-4f0c,U+4f12-4f16,U+4f1c-4f1d,U+4f21,U+4f23,U+4f28-4f29,U+4f2c-4f2e,U+4f31,U+4f33,U+4f35,U+4f37,U+4f39,U+4f3b,U+4f3e-4f42,U+4f44-4f45,U+4f47-4f4c,U+4f52,U+4f54,U+4f56,U+4f61-4f62,U+4f66,U+4f68,U+4f6a-4f6b,U+4f6d-4f6e,U+4f71-4f72,U+4f75,U+4f77-4f7a,U+4f7d,U+4f80-4f82,U+4f85-4f87,U+4f8a,U+4f8c,U+4f8e,U+4f90,U+4f92-4f93,U+4f95-4f96,U+4f98-4f9a,U+4f9c,U+4f9e-4f9f,U+4fa1-4fa2,U+4fa4,U+4fab,U+4fad,U+4fb0-4fb4,U+4fb6-4fbe,U+4fc0-4fc2,U+4fc6-4fc9,U+4fcb-4fcd,U+4fd2-4fd6,U+4fd9,U+4fdb,U+4fe0,U+4fe2,U+4fe4-4fe5,U+4fe7,U+4feb-4fec,U+4ff0,U+4ff2,U+4ff4-4ff7,U+4ff9,U+4ffb-4ffd,U+4fff-500b,U+500e,U+5010-5011,U+5013,U+5015-5017,U+501b,U+501d-501e,U+5020,U+5022-5024,U+5027,U+502b,U+502f-5039,U+503b,U+503d,U+503f-5042,U+5044-5046,U+5049-504b,U+504d,U+5050-5054,U+5056-5059,U+505b,U+505d-5064,U+5066-506b,U+506d-5075,U+5078-507a,U+507c-507d,U+5081-5084,U+5086-5087,U+5089-508c,U+508e-50a2,U+50a4,U+50a6,U+50aa-50ab,U+50ad-50b1,U+50b3-50b9,U+50bc-50ce,U+50d0-50d5,U+50d7-50d9,U+50db-50e5,U+50e8-50eb,U+50ef-50f2,U+50f4,U+50f6-50fa,U+50fc-5105,U+5108-510a,U+510c-5111,U+5113-5120,U+5122-513e,U+5142,U+5147,U+514a,U+514c,U+514e-5150,U+5152-5153,U+5157-5159,U+515b,U+515d-5161,U+5163-5164,U+5166-5167,U+5169-516a,U+516f,U+5172,U+517a,U+517e-517f,U+5183-5184,U+5186-5187,U+518a-518b,U+518e-5191,U+5193-5194,U+5198,U+519a,U+519d-519f,U+51a1,U+51a3,U+51a6-51a8",weight:"400"},{asset:"misans/b3149c79.woff2",family:"MiSans",range:"U+430f-494b,U+29f7e,U+29f83,U+29f8c,U+2a7dd,U+2a8fb,U+2a917,U+2aa30,U+2aa36,U+2aa58,U+2afa2,U+2b127-2b128,U+2b137-2b138,U+2b1ed,U+2b300,U+2b363,U+2b36f,U+2b372,U+2b37d,U+2b404,U+2b410,U+2b413,U+2b461,U+2b4e7,U+2b4ef,U+2b4f6,U+2b4f9,U+2b50d-2b50e,U+2b536,U+2b5ae-2b5af,U+2b5b3,U+2b5e7,U+2b5f4,U+2b61c-2b61d,U+2b626-2b628,U+2b62a,U+2b62c,U+2b695-2b696,U+2b6ad,U+2b6ed,U+2b7a9,U+2b7c5,U+2b7e6,U+2b7f9,U+2b7fc,U+2b806,U+2b80a,U+2b81c,U+2b8b8,U+2bac7,U+2bb5f,U+2bb62,U+2bb7c,U+2bb83,U+2bc1b,U+2bd77,U+2bd87,U+2bdf7,U+2be29,U+2c029-2c02a,U+2c0a9,U+2c0ca,U+2c1d5,U+2c1d9,U+2c1f9,U+2c27c,U+2c288,U+2c2a4,U+2c317,U+2c35b,U+2c361,U+2c364,U+2c488,U+2c494,U+2c497,U+2c542,U+2c613,U+2c618,U+2c621,U+2c629,U+2c62b-2c62d,U+2c62f,U+2c642,U+2c64a-2c64b,U+2c72c,U+2c72f,U+2c79f,U+2c7c1,U+2c7fd,U+2c8d9,U+2c8de,U+2c8e1,U+2c8f3,U+2c907,U+2c90a,U+2c91d,U+2ca02,U+2ca0e,U+2ca7d,U+2caa9,U+2cb29,U+2cb2d-2cb2e,U+2cb31,U+2cb38-2cb39,U+2cb3b,U+2cb3f,U+2cb41,U+2cb4a,U+2cb4e,U+2cb5a-2cb5b,U+2cb64,U+2cb69,U+2cb6c,U+2cb6f,U+2cb73,U+2cb76,U+2cb78,U+2cb7c,U+2cbb1,U+2cbbf-2cbc0,U+2cbce,U+2cc56,U+2cc5f,U+2ccf5-2ccf6,U+2ccfd,U+2ccff,U+2cd02-2cd03,U+2cd0a,U+2cd8b,U+2cd8d,U+2cd8f-2cd90,U+2cd9f-2cda0,U+2cda8,U+2cdad-2cdae,U+2cdd5,U+2ce18,U+2ce1a,U+2ce23,U+2ce26,U+2ce2a,U+2ce7c,U+2ce88,U+2ce93",weight:"400"},{asset:"misans/2dda088b.woff2",family:"MiSans",range:"U+1,U+a,U+d,U+20-7f,U+a0-ff,U+131,U+152-153,U+2b0,U+2b2-2b3,U+2b7-2b8,U+2bb-2bc,U+2c6,U+2da,U+2dc,U+2e1-2e3,U+304,U+308,U+1d43,U+1d47-1d49,U+1d4d,U+1d4f-1d50,U+1d52,U+1d56-1d58,U+1d5b,U+1d9c,U+1da0,U+1dbb,U+2004-2006,U+2009-200a,U+2010,U+2013-2016,U+2018-201a,U+201c-201e,U+2020-2022,U+2025-2026,U+2028-2029,U+2030-2037,U+2039-203c,U+203e,U+2042-2044,U+2047-2049,U+204e,U+2051,U+2055,U+2060-2064,U+2066-2069,U+2070-2071,U+2074-207b,U+207f-2089,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+300c-300f,U+fe10,U+fe13-fe16,U+fe19,U+fe31,U+fe33,U+fe35-fe38,U+fe41-fe44,U+fe50,U+fe52,U+fe54-fe57,U+fe59-fe5c,U+fe5f-fe66,U+fe68-fe6b,U+ff01-ff5e,U+ffe0-ffe5",weight:"400"},{asset:"misans/7f4db008.woff2",family:"MiSans",range:"U+100-130,U+132-151,U+154-17f,U+181,U+18a,U+18f,U+192,U+198-199,U+1a0-1a1,U+1af-1b0,U+1b3-1b4,U+1b7,U+1cd-1dc,U+1e4-1e9,U+1ee-1f0,U+1f9-1ff,U+218-21b,U+21e-21f,U+237,U+251,U+253,U+257,U+259,U+261,U+292,U+300-301,U+303,U+309,U+323,U+374-375,U+37e,U+384-38a,U+38c,U+38e-3a1,U+3a3-3ce,U+3d1-3d4,U+3d6,U+400-45f,U+462-463,U+46a-46b,U+472-475,U+490-493,U+497,U+49a-49d,U+4a2-4a3,U+4ae-4b3,U+4b6-4bb,U+4ca,U+4d8-4d9,U+4e2-4e3,U+4e8-4e9,U+4ee-4ef,U+e3f,U+1e00-1e01,U+1e3e-1e3f,U+1e80-1e85,U+1e9e,U+1ea0-1ef9,U+1f45,U+20a3-20a4,U+20a8-20a9,U+20ab,U+20ae,U+20b1,U+20b8-20ba,U+20bd,U+20bf,U+2113,U+2116",weight:"400"}],song:[{asset:"song/43f1e8f0.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+2e,U+32-39,U+44-45,U+48,U+4d,U+50,U+52-58,U+61-62,U+64,U+67,U+6b-6f,U+71-74,U+76,U+78-7a,U+9d6a-9e1e,U+9e24,U+9e27,U+9e2e,U+9e30,U+9e34,U+9e3b-9e3c,U+9e40,U+9e4d,U+9e50,U+9e52-9e54,U+9e56,U+9e59,U+9e5d,U+9e5f-9e62,U+9e65,U+9e6e-9e6f,U+9e72,U+9e74-9e7d,U+9e80-9e81,U+9e83-9e86,U+9e89-9e8a,U+9e8c-9e91,U+9e94-9e9c,U+9e9e,U+9ea0-9ea5,U+9ea7-9eb3,U+9eb5-9eb7,U+9eb9-9eba,U+9ebc,U+9ebf-9ec3,U+9ec5-9ec8,U+9eca-9ecc,U+9ed0,U+9ed2-9ed3,U+9ed5-9ed7,U+9ed9-9eda,U+9ede,U+9ee1,U+9ee3-9ee4,U+9ee6,U+9ee8,U+9eeb-9eee,U+9ef0-9ef8,U+9efa,U+9efd,U+9eff-9f0a,U+9f0c,U+9f0f,U+9f11-9f12,U+9f14-9f16,U+9f18,U+9f1a-9f1f,U+9f21,U+9f23-9f2b,U+9f2d-9f2e,U+9f30-9f36,U+9f38,U+9f3a,U+9f3c,U+9f3f-9f43,U+9f45-9f4f,U+9f52-9f7e,U+9f81-9f82,U+9f8d-9f98,U+9f9c-9f9e,U+9fa1-9fea,U+f901-f903,U+f905-f906,U+f90a-f90c,U+f915-f91a,U+f91d-f91f,U+f92c-f92d,U+f92f,U+f931-f935,U+f937,U+f939-f93a,U+f943,U+f947-f948,U+f94a,U+f94e,U+f952-f953,U+f95e,U+f962-f968,U+f96e,U+f972-f974,U+f976,U+f979-f97b,U+f97e-f980,U+f984-f985,U+f98a-f98c,U+f98e,U+f991,U+f993,U+f995,U+f998,U+f99b-f99c,U+f99e-f99f,U+f9a5,U+f9ae,U+f9b5,U+f9b7-f9b8,U+f9ba-f9bb,U+f9bd-f9be,U+f9c0,U+f9c5-f9c6,U+f9d0,U+f9d8-f9da,U+f9dd-f9e4,U+f9e7,U+f9e9,U+f9f1,U+f9f4-f9f5,U+f9fa-f9fb,U+f9fd,U+f9ff,U+fa02,U+fa05-fa08,U+fa0a,U+fa0c-fa0f,U+fa11,U+fa13-fa14,U+fa18,U+fa1f-fa21,U+fa23-fa24,U+fa27-fa29,U+fa2f,U+fa33-fa35,U+fa37-fa38,U+fa3a,U+fa47,U+fa49,U+fa4b,U+fa5c-fa5e,U+fe32,U+fe45-fe52,U+fe54-fe66,U+fe68-fe6b,U+ff01,U+ff0e,U+ff12-ff1b,U+ff1f,U+ff24-ff25,U+ff28,U+ff2d,U+ff30,U+ff32-ff38,U+ff41-ff42,U+ff44,U+ff47,U+ff4b-ff4f,U+ff51-ff54,U+ff56,U+ff58-ff5a,U+ff5f-ff85",weight:"400"},{asset:"song/cdac0154.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+2c7,U+2c9,U+2d9,U+2ea-2eb,U+307,U+30c,U+20dd-20de,U+2100,U+2103,U+2105,U+2109-210a,U+210f,U+2121,U+2126-2127,U+212b,U+212e,U+2135,U+2160-216b,U+2170-217b,U+2190,U+2192,U+2194-2199,U+21b8-21b9,U+21c4-21c6,U+21cb-21cc,U+21d0,U+21d2,U+21d4,U+21e6-21e9,U+21f5,U+2200,U+2202-2203,U+2205-220b,U+220f,U+2211,U+2213,U+221a,U+221d-2220,U+2223,U+2225-222e,U+2234-2237,U+223d,U+2243,U+2245,U+2248,U+224c,U+2252,U+2260-2262,U+2264-2267,U+226a-226b,U+226e-226f,U+2272-2273,U+2276-2277,U+2282-2287,U+228a-228b,U+2295-2299,U+22a0,U+22a5,U+22bf,U+22da-22db,U+2305-2307,U+2312,U+2318,U+2329-232a,U+23b0-23b1,U+23be-23cc,U+23ce,U+23da-23db,U+2423,U+2460-25ab,U+25b1-25b3,U+25b6-25b7,U+25bc-25bd,U+25c0-25c1,U+25c6-25cb,U+25ce-25d3,U+25e2-25e6,U+25ef,U+2600-2603,U+2605-2606,U+2609,U+260e-260f,U+2616-2617,U+261c-261f,U+262f,U+2640-2642,U+2660-266f,U+2672-267d,U+26a0,U+26bd-26be,U+2702,U+ff86-ff9f,U+ffa1-ffbe,U+ffc2-ffc7,U+ffca-ffcf,U+ffd2-ffd7,U+ffda-ffdc,U+ffe0-ffe4,U+ffe9-ffee",weight:"400"},{asset:"song/9bc91d93.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+96d7-96df,U+96e1-96e7,U+96eb-96ee,U+96f0-96f2,U+96f4-96f5,U+96f8,U+96fa-96fd,U+96ff,U+9702-9703,U+9705,U+970a-970c,U+9710-9712,U+9714-9715,U+9717-971b,U+971d,U+971f-9729,U+972b-972c,U+972e-972f,U+9731,U+9733-9737,U+973a-973d,U+973f-9751,U+9754-9755,U+9757-9758,U+975a,U+975c-975d,U+975f,U+9763-9764,U+9766-9768,U+976a-9772,U+9775,U+9777-977b,U+977d-9784,U+9786-978a,U+978c,U+978e-9790,U+9793,U+9795-9797,U+9799-979f,U+97a1-97a2,U+97a4-97aa,U+97ac,U+97ae,U+97b0-97b1,U+97b3,U+97b5-97e5,U+97e8,U+97ee-97f2,U+97f4,U+97f7-9874,U+988b,U+988e,U+9892,U+9895,U+9899,U+98a3,U+98a8-98cd,U+98cf-98d0,U+98d4,U+98d6-98d7,U+98db-98dd,U+98e0-98e6,U+98e9-990c,U+990e-990f,U+9911-992d,U+992f-9953,U+9956-9962,U+9964,U+9966,U+9973,U+9978-9979,U+997b,U+997e,U+9982-9983,U+9989,U+998c,U+998e,U+999a-99a4,U+99a6-99a7,U+99a9-9a47",weight:"400"},{asset:"song/dd2bb5c1.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+92a5-92ad,U+92af-92c7,U+92c9-933d,U+933f-9369,U+936b-938e,U+9390-93c9,U+93cb-93d5,U+93d7-943d,U+943f-946a,U+946c-9484,U+9491,U+9496,U+9498,U+94c7,U+94cf,U+94d3-94d4,U+94da,U+94e6,U+94fb,U+951c,U+9520,U+9527,U+9533,U+953d,U+9543,U+9548,U+954b,U+9555,U+955a,U+9560,U+956e,U+9574-9575,U+9577-957e,U+9580-95e7,U+95ec,U+95ff,U+9607,U+9613,U+9618,U+961b,U+961e,U+9620,U+9623-9629,U+962b-962d,U+962f-9630,U+9637-963a,U+963e,U+9641,U+9643,U+964a,U+964e-964f,U+9651-9653,U+9656-965a,U+965c-965e,U+9660,U+9663,U+9665-9666,U+966b,U+966d-9671,U+9673,U+9678-9684,U+9687,U+9689-968a,U+968c,U+968e,U+9691-9693,U+9695-9696,U+969a-969b,U+969d-96a6,U+96a8-96af,U+96b1-96b2,U+96b4-96b5,U+96b7-96b8,U+96ba-96bb,U+96bf,U+96c2-96c3,U+96c8,U+96ca-96cb,U+96d0-96d1,U+96d3-96d4,U+96d6",weight:"400"},{asset:"song/d1ab5ca3.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+9a48-9a6b,U+9a72,U+9a83,U+9a89,U+9a8d-9a8e,U+9a94-9a95,U+9a99,U+9aa6,U+9aa9-9aaf,U+9ab2-9ab5,U+9ab9,U+9abb,U+9abd-9abf,U+9ac3-9ac4,U+9ac6-9aca,U+9acd-9ad0,U+9ad2,U+9ad4-9ad7,U+9ad9-9ade,U+9ae0,U+9ae2-9ae5,U+9ae7-9aea,U+9aec,U+9aee,U+9af0-9af8,U+9afa,U+9afc-9b02,U+9b04-9b07,U+9b09-9b0e,U+9b10-9b12,U+9b14-9b1e,U+9b20-9b22,U+9b24-9b2e,U+9b30-9b31,U+9b33-9b3a,U+9b3d-9b40,U+9b46,U+9b4a-9b4c,U+9b4e,U+9b50,U+9b52-9b53,U+9b55-9c7b,U+9c7d-9c7e,U+9c80,U+9c83-9c84,U+9c89-9c8a,U+9c8c,U+9c8f,U+9c93,U+9c96-9c99,U+9c9d,U+9caa,U+9cac,U+9caf,U+9cb9,U+9cbe-9cc2,U+9cc8-9cc9,U+9cd1-9cd2,U+9cda-9cdb,U+9ce0-9ce1,U+9ce3-9d69",weight:"400"},{asset:"song/26e008cd.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+8e26-8e28,U+8e2b,U+8e2d,U+8e30,U+8e32-8e34,U+8e36-8e38,U+8e3b-8e3c,U+8e3e-8e3f,U+8e43,U+8e45-8e46,U+8e4c-8e50,U+8e53-8e58,U+8e5a-8e65,U+8e67-8e68,U+8e6a-8e6b,U+8e6e,U+8e71,U+8e73,U+8e75,U+8e77-8e7b,U+8e7d-8e7e,U+8e80,U+8e82-8e84,U+8e86,U+8e88-8e8e,U+8e91-8e93,U+8e95-8e9b,U+8e9d,U+8e9f-8eaa,U+8ead-8eae,U+8eb0-8eb1,U+8eb3-8eb9,U+8ebb-8ecd,U+8ecf-8f65,U+8f6a,U+8f80,U+8f8c,U+8f92,U+8f9d,U+8fa0-8fa2,U+8fa4-8fa7,U+8faa,U+8fac-8faf,U+8fb2-8fb5,U+8fb7-8fb8,U+8fba-8fbc,U+8fbf-8fc0,U+8fc3,U+8fc6,U+8fc9-8fcd,U+8fcf,U+8fd2,U+8fd6-8fd7,U+8fda,U+8fe0-8fe1,U+8fe3,U+8fe7,U+8fec,U+8fef,U+8ff1-8ff2,U+8ff4-8ff6,U+8ffa-8ffc,U+8ffe-8fff,U+9007-9008,U+900c,U+900e,U+9013,U+9015,U+9018-9019,U+901c,U+9023-9025,U+9027-902c,U+9030-9034,U+9037,U+9039-903a,U+903d,U+903f-9040,U+9043,U+9045-9046,U+9048-904c,U+904e,U+9054-9056,U+9059-905a,U+905c-9061,U+9064,U+9066-9067,U+9069-906c,U+906f-9073,U+9076-907c,U+907e,U+9081,U+9084-9087,U+9089-908a,U+908c-9090,U+9092,U+9094,U+9096,U+9098,U+909a,U+909c,U+909e-90a0,U+90a4-90a5,U+90a7-90a9,U+90ab,U+90ad,U+90b2,U+90b7,U+90bc-90bd,U+90bf-90c0,U+90c2-90c3,U+90c6,U+90c8-90c9,U+90cb-90cd,U+90d2,U+90d4-90d6,U+90d8-90da,U+90de-90e0,U+90e3-90e5,U+90e9-90ea,U+90ec,U+90ee,U+90f0-90f3,U+90f5-90f7,U+90f9-90fc,U+90ff-9101,U+9103,U+9105-9118,U+911a-911d,U+911f-9121,U+9124-912e,U+9130,U+9132-9138,U+913a-9142,U+9144-9145,U+9147-9148,U+9151,U+9153-9156,U+9158-9159,U+915b-915c,U+915f-9160,U+9166-9168,U+916b,U+916d,U+9173,U+917a-917c,U+9180-9184,U+9186,U+9188,U+918a,U+918e-918f,U+9193-9199,U+919c-91a1,U+91a4-91a9,U+91ab-91ac,U+91b0-91b3,U+91b6-91b9,U+91bb-91c6,U+91c8,U+91cb,U+91d0,U+91d2-91db,U+91dd-9273,U+9275-928d,U+928f-92a4",weight:"400"},{asset:"song/bc7cfa5c.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+89b1-89c0,U+89c3,U+89cd,U+89d3-89d5,U+89d7-89d9,U+89db,U+89dd,U+89df-89e2,U+89e4,U+89e7-89ea,U+89ec-89ee,U+89f0-89f2,U+89f4-89ff,U+8a01-8a06,U+8a08-8a3d,U+8a3f-8a47,U+8a49-8a78,U+8a7a-8a88,U+8a8b-8a92,U+8a94-8b06,U+8b08-8b25,U+8b27-8b65,U+8b67-8b6b,U+8b6d-8b9f,U+8bac,U+8bb1,U+8bbb,U+8bc7,U+8bd0,U+8bea,U+8c09,U+8c1e,U+8c38-8c40,U+8c42-8c45,U+8c48,U+8c4a-8c4b,U+8c4d-8c54,U+8c56-8c59,U+8c5b-8c60,U+8c63-8c69,U+8c6c-8c72,U+8c74-8c77,U+8c7b-8c81,U+8c83-8c84,U+8c86-8c88,U+8c8b,U+8c8d-8c93,U+8c95-8c97,U+8c99-8d1c,U+8d20,U+8d51-8d52,U+8d57,U+8d5f,U+8d65,U+8d68-8d6a,U+8d6c,U+8d6e-8d6f,U+8d71-8d72,U+8d78-8d80,U+8d82-8d83,U+8d86-8d89,U+8d8c-8d90,U+8d92-8d93,U+8d95-8d9e,U+8da0-8da2,U+8da4-8db0,U+8db2,U+8db6-8db7,U+8db9,U+8dbb,U+8dbd,U+8dc0-8dc2,U+8dc5,U+8dc7-8dca,U+8dcd,U+8dd0,U+8dd2-8dd5,U+8dd8-8dd9,U+8ddc,U+8de0-8de2,U+8de5-8de7,U+8de9,U+8ded-8dee,U+8df0-8df2,U+8df4,U+8df6,U+8dfc,U+8dfe-8e04,U+8e06-8e08,U+8e0b,U+8e0d-8e0e,U+8e10-8e13,U+8e15-8e1c,U+8e20-8e21,U+8e24-8e25",weight:"400"},{asset:"song/3573d10a.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+85bc-85c0,U+85c2-85c8,U+85ca-85ce,U+85d1-85d2,U+85d4,U+85d6-85db,U+85dd-85e3,U+85e5-85e8,U+85ea-85fa,U+85fc-85fe,U+8600-8604,U+8606-8610,U+8612-8615,U+8617-8626,U+8628,U+862a-8637,U+8639-863b,U+863d-864c,U+8652-8653,U+8655-8659,U+865b-865d,U+865f-8661,U+8663-866a,U+866d,U+866f-8670,U+8672-8678,U+8683-8689,U+868e-8692,U+8694,U+8696-869b,U+869e-86a2,U+86a5-86a6,U+86ab,U+86ad-86ae,U+86b2-86b3,U+86b7-86b9,U+86bb-86bf,U+86c1-86c3,U+86c5,U+86c8,U+86cc-86cd,U+86d2-86d3,U+86d5-86d7,U+86da,U+86dc-86dd,U+86e0-86e3,U+86e5-86e8,U+86ea-86ec,U+86ef,U+86f5-86f7,U+86fa-86fd,U+86ff,U+8701,U+8704-8706,U+870b-870c,U+870e-8711,U+8714,U+8716,U+8719,U+871b,U+871d,U+871f-8720,U+8724,U+8726-8728,U+872a-872d,U+872f-8730,U+8732-8733,U+8735-8736,U+8738-873a,U+873c-873d,U+8740-8746,U+874a-874b,U+874d,U+874f-8752,U+8754-8756,U+8758,U+875a-875f,U+8761-8762,U+8766-876d,U+876f,U+8771-8773,U+8775,U+8777-877a,U+877f-8781,U+8784,U+8786-8787,U+8789-878a,U+878c,U+878e-8792,U+8794-8796,U+8798-879e,U+87a0-87a7,U+87a9-87aa,U+87ae,U+87b0-87b2,U+87b4,U+87b6-87b9,U+87bb-87bc,U+87be-87bf,U+87c1-87c5,U+87c7-87c9,U+87cc-87d0,U+87d4-87da,U+87dc-87df,U+87e1-87e4,U+87e6-87e9,U+87eb-87ed,U+87ef-87f8,U+87fa-87fd,U+87ff-8802,U+8804-8809,U+880b-8812,U+8814,U+8817-881a,U+881c-8820,U+8823-8831,U+8833-8838,U+883a-883b,U+883d-883f,U+8841-8843,U+8846-884b,U+884e-8853,U+8855-8856,U+8858,U+885a-8860,U+8866-8867,U+886a,U+886d,U+886f,U+8871,U+8873-8876,U+8878-887c,U+8880,U+8883,U+8886-8887,U+8889-888a,U+888c,U+888e-8891,U+8893-8895,U+8897-889b,U+889d-88a1,U+88a3,U+88a5-88aa,U+88ac,U+88ae-88b0,U+88b2-88b6,U+88b8-88bb,U+88bd-88c0,U+88c3-88c4,U+88c7-88c8,U+88ca-88cd,U+88cf-88d1,U+88d3,U+88d6-88d7,U+88da-88de,U+88e0-88e1,U+88e6-88e7,U+88e9-88ef,U+88f2,U+88f5-88f7,U+88fa-88fb,U+88fd,U+88ff-8901,U+8903-8909,U+890b-890f,U+8911,U+8914-8918,U+891c-8920,U+8922-8924,U+8926-8929,U+892c-892f,U+8931-8933,U+8935,U+8937-8940,U+8942-8943,U+8945-895d,U+8960-8965,U+8967-897a,U+897c-897e,U+8980,U+8982,U+8984-8985,U+8987-89b0",weight:"400"},{asset:"song/02ee1677.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+802f-8030,U+8032,U+8034,U+8039-803a,U+803c,U+803e,U+8040-8041,U+8044-8045,U+8047-8049,U+804e-8051,U+8053,U+8055-8057,U+8059,U+805b-8068,U+806b-8070,U+8072-807e,U+8081-8082,U+8085,U+8088,U+808a,U+808d-8092,U+8094-8095,U+8097,U+8099,U+809e,U+80a3,U+80a6-80a8,U+80ac,U+80b0,U+80b3,U+80b5-80b6,U+80b8-80b9,U+80bb,U+80c5,U+80c7-80cb,U+80cf-80d5,U+80d8,U+80df-80e0,U+80e2-80e3,U+80e6,U+80ee,U+80f5,U+80f7,U+80f9,U+80fb,U+80fe-8101,U+8103-8105,U+8107-8108,U+810b-810c,U+8115,U+8117,U+8119,U+811b-811d,U+811f-812b,U+812d-812e,U+8130,U+8133-8135,U+8137,U+8139-813d,U+813f-8145,U+8147,U+8149,U+814d-814f,U+8152,U+8156-8158,U+815b-815f,U+8161-8164,U+8166,U+8168,U+816a-816c,U+816f,U+8172-8173,U+8175-8178,U+8181,U+8183-8187,U+8189,U+818b-818e,U+8190,U+8192-8197,U+8199-819a,U+819e-81a2,U+81a4-81a5,U+81a7,U+81a9,U+81ab-81b2,U+81b4-81b9,U+81bc-81bf,U+81c4-81c5,U+81c7-81c9,U+81cb,U+81cd-81e2,U+81e4-81e6,U+81e8-81e9,U+81eb,U+81ee-81f2,U+81f5-81fa,U+81fd,U+81ff,U+8203,U+8207-820b,U+820e-820f,U+8211,U+8213,U+8215-821a,U+821d,U+8220,U+8224-8227,U+8229,U+822e,U+8232,U+823a,U+823c-823d,U+823f-8243,U+8245-8246,U+8248,U+824a,U+824c-824e,U+8250-8257,U+8259,U+825b-825e,U+8260-8267,U+8269-826d,U+8271,U+8275-8278,U+827b-827c,U+8280-8281,U+8283,U+8285-8287,U+8289,U+828c,U+8290,U+8293-8296,U+829a-829b,U+829e,U+82a0,U+82a2-82a3,U+82a7,U+82b2,U+82b5-82b6,U+82ba-82bc,U+82bf-82c0,U+82c2-82c3,U+82c5-82c6,U+82c9,U+82d0,U+82d6,U+82d9-82da,U+82dd,U+82e2,U+82e7-82ea,U+82ec-82ee,U+82f0,U+82f2-82f3,U+82f5-82f6,U+82f8,U+82fa,U+82fc-8300,U+830a-830b,U+830d,U+8310,U+8312-8313,U+8316,U+8318-8319,U+831d-8326,U+8329-832a,U+832e,U+8330,U+8332,U+8337,U+833b,U+833d-833f,U+8341-8342,U+8344-8345,U+8348,U+834a-834e,U+8353,U+8355-8359,U+835d,U+8362,U+8370-8376,U+8379-837a,U+837e-8384,U+8387-8388,U+838a-838d,U+838f-8391,U+8394-8397,U+8399-839a,U+839d,U+839f,U+83a1-83a7,U+83ac-83af,U+83b5,U+83bb,U+83be-83bf,U+83c2-83c4,U+83c6,U+83c8-83c9,U+83cb,U+83cd-83ce,U+83d0-83d3,U+83d5,U+83d7,U+83d9-83db,U+83de,U+83e2-83e4,U+83e6-83e8,U+83eb-83ef,U+83f3-83f7,U+83fa-83fc,U+83fe-8400,U+8402,U+8405,U+8407-840a,U+8410,U+8412-8417,U+8419-841b,U+841e-8423,U+8429-8430,U+8432-8437,U+8439-843b,U+843e-8445,U+8447-8450,U+8452-8456,U+8458,U+845d-8460,U+8462,U+8464-8468,U+846a,U+846e-8470,U+8472,U+8474,U+8477,U+8479,U+847b-8481,U+8483-8486,U+848a,U+848d,U+848f-8496,U+8498,U+849a-849b,U+849d-84a0,U+84a2-84ae,U+84b0-84b1,U+84b3,U+84b5-84b7,U+84bb-84bc,U+84be,U+84c0,U+84c2-84c3,U+84c5-84c8,U+84cb-84cc,U+84ce-84cf,U+84d2,U+84d4-84d5,U+84d7-84dc,U+84de,U+84e1-84e2,U+84e4,U+84e7-84eb,U+84ed-84ef,U+84f1-84fb,U+84fd-84fe,U+8500-850b,U+850d-8510,U+8512,U+8514-8516,U+8518-8519,U+851b-851e,U+8520,U+8522-852a,U+852d-8536,U+853e-8542,U+8544-8547,U+854b-8555,U+8557-8558,U+855a-855d,U+855f-8563,U+8565-8567,U+8569-8571,U+8573,U+8575-8578,U+857c-857d,U+857f-8583,U+8586,U+8588-858e,U+8590-859a,U+859d-85a3,U+85a5-85a7,U+85a9,U+85ab-85ad,U+85b1-85b6,U+85b8,U+85ba-85bb",weight:"400"},{asset:"song/bb0a13c3.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+7774-7778,U+777a-777c,U+7781-7783,U+7786-778b,U+778f-7790,U+7793-779e,U+77a1,U+77a3-77a4,U+77a6,U+77a8,U+77ab,U+77ad-77af,U+77b1-77b2,U+77b4,U+77b6-77ba,U+77bc,U+77be,U+77c0-77cc,U+77ce-77d6,U+77d8-77da,U+77dd-77e1,U+77e4,U+77e6,U+77e8,U+77ea,U+77ef-77f2,U+77f4-77f5,U+77f7,U+77f9-77fc,U+7803-7808,U+780a-780b,U+780e-7810,U+7813,U+7815,U+7819,U+781b,U+781e,U+7820-7822,U+7824,U+7828,U+782a-782b,U+782e-782f,U+7831-7833,U+7835-7836,U+783d,U+783f,U+7841-7844,U+7846,U+7848-784b,U+784d,U+784f,U+7851,U+7853-7854,U+7858-785c,U+785e-7869,U+786f-7876,U+7878-787b,U+787d-7886,U+7888,U+788a-788b,U+788f-7890,U+7892,U+7894-7896,U+7899,U+789d-789e,U+78a0,U+78a2,U+78a4,U+78a6,U+78a8-78af,U+78b5-78b8,U+78ba-78bd,U+78bf-78c0,U+78c2-78c4,U+78c6-78c8,U+78cc-78cf,U+78d1-78d3,U+78d6-78d8,U+78da-78e7,U+78e9-78eb,U+78ed-78f1,U+78f3,U+78f5-78f6,U+78f8-78f9,U+78fb-7900,U+7902-7904,U+7906-7912,U+7914-791d,U+791f-7923,U+7925-7933,U+7935-7939,U+793d,U+793f,U+7942-7945,U+7947,U+794a-7952,U+7954-7955,U+7958-7959,U+7961,U+7963-7964,U+7966,U+7969-796c,U+796e,U+7970-7976,U+7979,U+797b-797f,U+7982-7983,U+7986-7989,U+798b-798e,U+7990-7999,U+799b-79a6,U+79a8-79b2,U+79b4-79b8,U+79bc,U+79bf,U+79c2,U+79c4-79c5,U+79c7-79c8,U+79ca,U+79cc,U+79ce-79d0,U+79d3-79d4,U+79d6-79d7,U+79d9-79de,U+79e0-79e2,U+79e5,U+79e8,U+79ea,U+79ec,U+79ee,U+79f1-79f7,U+79f9-79fa,U+79fc,U+79fe-79ff,U+7a01,U+7a04-7a05,U+7a07-7a0a,U+7a0c,U+7a0f-7a13,U+7a15-7a16,U+7a18-7a19,U+7a1b-7a1d,U+7a1f,U+7a21-7a22,U+7a24-7a32,U+7a34-7a36,U+7a38,U+7a3a,U+7a3e,U+7a40-7a45,U+7a47-7a50,U+7a52-7a56,U+7a58-7a6f,U+7a71-7a73,U+7a75,U+7a7b-7a7e,U+7a82,U+7a85,U+7a87,U+7a89-7a8c,U+7a8e-7a90,U+7a93-7a94,U+7a99-7a9b,U+7a9e,U+7aa1-7aa4,U+7aa7,U+7aa9-7aab,U+7aae-7ab2,U+7ab4-7abe,U+7ac0-7aca,U+7acc-7ad5,U+7ad7-7ad8,U+7ada-7add,U+7ae1-7ae2,U+7ae4,U+7ae7-7aec,U+7aee,U+7af0-7af8,U+7afb-7afc,U+7afe,U+7b00-7b02,U+7b05,U+7b07,U+7b09,U+7b0c-7b0e,U+7b10,U+7b12-7b13,U+7b16-7b18,U+7b1a,U+7b1c-7b1d,U+7b1f,U+7b21-7b23,U+7b27,U+7b29,U+7b2d,U+7b2f-7b30,U+7b32,U+7b34-7b37,U+7b39,U+7b3b,U+7b3d,U+7b3f-7b44,U+7b46,U+7b48,U+7b4a,U+7b4d-7b4e,U+7b53,U+7b55,U+7b57,U+7b59,U+7b5c,U+7b5e-7b5f,U+7b61,U+7b63-7b6d,U+7b6f-7b70,U+7b73-7b74,U+7b76,U+7b78,U+7b7a,U+7b7c-7b7d,U+7b7f,U+7b81-7b84,U+7b86-7b8c,U+7b8e-7b8f,U+7b91-7b93,U+7b96,U+7b98-7b9b,U+7b9e-7ba0,U+7ba3-7ba5,U+7bae-7bb0,U+7bb2-7bb3,U+7bb5-7bb7,U+7bb9-7bc0,U+7bc2-7bc5,U+7bc8-7bcb,U+7bcd-7bd0,U+7bd2,U+7bd4-7bd8,U+7bdb-7bdc,U+7bde-7be0,U+7be2-7be4,U+7be7-7be9,U+7beb-7bed,U+7bef-7bf0,U+7bf2-7bf6,U+7bf8-7bfb,U+7bfd,U+7bff-7c06,U+7c08-7c0a,U+7c0d-7c0e,U+7c10-7c15,U+7c17-7c1e,U+7c20-7c25,U+7c28-7c29,U+7c2b-7c37",weight:"400"},{asset:"song/96c7a439.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+6dd4-6dd5,U+6dd7,U+6dda-6ddc,U+6ddf,U+6de2-6de3,U+6de5,U+6de7-6dea,U+6ded,U+6def-6df0,U+6df2,U+6df4-6df6,U+6df8,U+6dfa,U+6dfd-6e04,U+6e06-6e09,U+6e0b,U+6e0f,U+6e12-6e13,U+6e15,U+6e18-6e19,U+6e1b-6e1c,U+6e1e-6e1f,U+6e22,U+6e26-6e28,U+6e2a,U+6e2c,U+6e2e,U+6e30-6e31,U+6e33,U+6e35-6e37,U+6e39,U+6e3b-6e42,U+6e45-6e4c,U+6e4f-6e52,U+6e55,U+6e57,U+6e59-6e5a,U+6e5c-6e5e,U+6e60-6e6a,U+6e6c-6e6d,U+6e6f-6e7d,U+6e80-6e82,U+6e84,U+6e87-6e88,U+6e8a-6e8e,U+6e91-6e97,U+6e99-6e9b,U+6e9d-6e9e,U+6ea0-6ea1,U+6ea3-6ea4,U+6ea6,U+6ea8-6ea9,U+6eab-6eae,U+6eb0,U+6eb3,U+6eb5,U+6eb8-6eb9,U+6ebc,U+6ebe-6ec0,U+6ec3-6ec6,U+6ec8-6eca,U+6ecc-6ece,U+6ed0,U+6ed2,U+6ed6,U+6ed8-6ed9,U+6edb-6edd,U+6ee3,U+6ee7,U+6eea-6ef3,U+6ef5-6ef8,U+6efa-6f01,U+6f03-6f05,U+6f07-6f08,U+6f0a-6f0e,U+6f10-6f12,U+6f16-6f1f,U+6f21-6f23,U+6f25-6f28,U+6f2c,U+6f2e,U+6f30,U+6f32,U+6f34-6f35,U+6f37-6f3d,U+6f3f-6f45,U+6f48-6f4a,U+6f4c,U+6f4e-6f57,U+6f59-6f5b,U+6f5d,U+6f5f-6f61,U+6f63-6f65,U+6f67-6f6c,U+6f6f-6f71,U+6f73,U+6f75-6f77,U+6f79,U+6f7b,U+6f7d-6f83,U+6f85-6f87,U+6f8a-6f8b,U+6f8f-6f9b,U+6f9d-6fa0,U+6fa2-6fa6,U+6fa8-6fb2,U+6fb4-6fb5,U+6fb7-6fb8,U+6fba-6fbf,U+6fc1,U+6fc3-6fc8,U+6fca-6fd0,U+6fd3-6fdd,U+6fdf,U+6fe2-6fed,U+6ff0-7010,U+7012-7019,U+701c-7022,U+7024-7034,U+7036-7038,U+703a-704b,U+704d-704e,U+7050-705d,U+705f-706a,U+706e,U+7071-7074,U+7077,U+7079-707b,U+707d,U+7081-7084,U+7086-7088,U+708b-708d,U+708f-7091,U+7093,U+7097-7098,U+709a-709b,U+709e-70aa,U+70b0,U+70b2,U+70b4-70b6,U+70ba,U+70be-70bf,U+70c4-70c7,U+70c9,U+70cb-70d7,U+70da,U+70dc-70de,U+70e0-70e3,U+70e5,U+70ea,U+70ee,U+70f0-70f6,U+70f8,U+70fa-70fc,U+70fe-7108,U+710b-710f,U+7111-7112,U+7114,U+7117,U+711b-7125,U+7127-712e,U+7132-7135,U+7137-7144,U+7146-7149,U+714b,U+714d,U+714f-715b,U+715d,U+715f-7163,U+7165,U+7169-716d,U+716f-7171,U+7174-7177,U+7179,U+717b-717c,U+717e-7183,U+7185-7189,U+718b-718e,U+7190-7193,U+7195-7197,U+719a-719e,U+71a1-71a7,U+71a9-71ab,U+71ad-71b2,U+71b4,U+71b6-71b8,U+71ba-71c2,U+71c4-71cd,U+71cf-71d3,U+71d6-71df,U+71e1-71e4,U+71e6,U+71e8-71ed,U+71ef-71f8,U+71fa-7205,U+7207-721c",weight:"400"},{asset:"song/16680299.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+7c39-7c3e,U+7c42-7c4c,U+7c4e-7c72,U+7c75-7c7a,U+7c7e-7c88,U+7c8a-7c90,U+7c93-7c94,U+7c96,U+7c99-7c9b,U+7ca0-7ca1,U+7ca3,U+7ca6-7ca9,U+7cab-7cad,U+7caf-7cb0,U+7cb4-7cb8,U+7cba-7cbb,U+7cbf-7cc0,U+7cc2-7cc4,U+7cc6,U+7cc9,U+7ccb,U+7cce-7cd4,U+7cd8,U+7cda-7cdb,U+7cdd-7cde,U+7ce1-7ce7,U+7ce9-7cee,U+7cf0-7cf7,U+7cf9-7cfa,U+7cfc-7d09,U+7d0b-7d1f,U+7d21,U+7d23-7d26,U+7d28-7d2a,U+7d2c-7d2e,U+7d30-7d6d,U+7d6f-7d76,U+7d78-7da5,U+7da7-7dad,U+7daf-7e3a,U+7e3c-7e40,U+7e42-7e46,U+7e48-7e81,U+7e83-7e9a,U+7e9c-7e9e,U+7eae,U+7eb4,U+7ebb-7ebc,U+7ed6,U+7ee4,U+7eec,U+7ef9,U+7f0a,U+7f10,U+7f1e,U+7f37,U+7f39,U+7f3b-7f41,U+7f43,U+7f46-7f4f,U+7f52-7f53,U+7f56,U+7f59,U+7f5b-7f5e,U+7f60,U+7f63-7f67,U+7f6b-7f6d,U+7f6f-7f70,U+7f73,U+7f75-7f78,U+7f7a-7f7d,U+7f7f-7f80,U+7f82-7f89,U+7f8b,U+7f8d,U+7f8f-7f93,U+7f95-7f99,U+7f9b-7f9c,U+7fa0,U+7fa2-7fa3,U+7fa5-7fa6,U+7fa8-7fae,U+7fb1,U+7fb3-7fb7,U+7fba-7fbb,U+7fbe,U+7fc0,U+7fc2-7fc4,U+7fc6-7fc9,U+7fcb,U+7fcd,U+7fcf-7fd3,U+7fd6-7fd7,U+7fd9-7fde,U+7fe2-7fe4,U+7fe7-7fe8,U+7fea-7fed,U+7fef,U+7ff2,U+7ff4-7ffa,U+7ffd-7fff,U+8002,U+8007-800a,U+800e-800f,U+8011,U+8013,U+801a-801b,U+801d-801f,U+8021,U+8023-8024,U+802b-802e",weight:"400"},{asset:"song/62b5cc7e.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+721e-7227,U+7229,U+722b,U+722d-722f,U+7232-7234,U+723a,U+723c,U+723e,U+7240-7246,U+7249-724b,U+724e-7251,U+7253-7255,U+7257-7258,U+725a,U+725c,U+725e,U+7260,U+7263-7265,U+7268,U+726a-726d,U+7270-7271,U+7273-7274,U+7276-7278,U+727b-727d,U+7282-7283,U+7285-7289,U+728c,U+728e,U+7290-7291,U+7293-729e,U+72a0-72ab,U+72ae,U+72b1-72b3,U+72b5,U+72ba-72c0,U+72c5-72c7,U+72c9-72cc,U+72cf,U+72d1,U+72d3-72d6,U+72d8,U+72da-72dd,U+72df,U+72e2-72e7,U+72ea-72eb,U+72f5-72f6,U+72f9,U+72fd-7300,U+7302,U+7304-7309,U+730b-730d,U+730f-7312,U+7314,U+7318-731a,U+731f-7320,U+7323-7324,U+7326-7328,U+732d,U+732f-7330,U+7332-7333,U+7335-7336,U+733a-733d,U+7340-734c,U+734e-734f,U+7351,U+7353-7356,U+7358-735f,U+7361-736b,U+736e,U+7370-737d,U+737f-7383,U+7385-7386,U+7388,U+738a,U+738c-738d,U+738f-7390,U+7392-7395,U+7397-739a,U+739c-739e,U+73a0-73a1,U+73a3-73a8,U+73aa,U+73ac-73ad,U+73b1,U+73b4-73b6,U+73b8-73b9,U+73bc-73bf,U+73c1,U+73c3-73c7,U+73cb-73cc,U+73ce,U+73d2-73d8,U+73da-73dd,U+73df,U+73e1-73e4,U+73e6,U+73e8,U+73ea-73ec,U+73ee-73f1,U+73f3-7402,U+7404,U+7407-7408,U+740b-740e,U+7411-7419,U+741c-7421,U+7423-7424,U+7427,U+7429,U+742b,U+742d,U+742f,U+7431-7432,U+7437-743b,U+743d-7440,U+7442-7454,U+7456,U+7458,U+745d,U+7460-746c,U+746e-746f,U+7471-7475,U+7478-747d,U+747f,U+7482,U+7484-7486,U+7488-748a,U+748c-748d,U+748f,U+7491-749b,U+749d,U+749f-74a6,U+74aa-74b9,U+74bb-74d1,U+74d3-74db,U+74dd,U+74df,U+74e1,U+74e5,U+74e7-74ed,U+74f0-74f3,U+74f5,U+74f8-74fe,U+7500-7503,U+7505-750c,U+750e,U+7510,U+7512,U+7514-7517,U+751b,U+751d-751e,U+7520-7524,U+7526-7527,U+752a,U+752e,U+7534,U+7536,U+7539,U+753c-753d,U+753f,U+7541-7544,U+7546-7547,U+7549-754a,U+754d,U+7550-7553,U+7555-7558,U+755d-7564,U+7567-7569,U+756b-7571,U+7573,U+7575-7577,U+757a-757e,U+7580-7582,U+7584-7585,U+7587-758a,U+758c-758e,U+7590,U+7593,U+7595,U+7598,U+759b-759c,U+759e,U+75a2,U+75a6-75aa,U+75ad,U+75b6-75b7,U+75ba-75bb,U+75bf-75c1,U+75c6,U+75cb-75cc,U+75ce-75d1,U+75d3,U+75d7,U+75d9-75da,U+75dc-75dd,U+75df-75e1,U+75e5,U+75e9,U+75ec-75ef,U+75f2-75f3,U+75f5-75f8,U+75fa-75fb,U+75fd-75fe,U+7602,U+7604,U+7606-7609,U+760b,U+760d-760f,U+7611-7614,U+7616,U+761a,U+761c-761e,U+7621,U+7623,U+7627-7628,U+762c,U+762e-762f,U+7631-7632,U+7636-7637,U+7639-763b,U+763d,U+7641-7642,U+7644-764b,U+764e-7653,U+7655,U+7657-765b,U+765d,U+765f-7662,U+7664-766a,U+766c-766e,U+7670-7677,U+7679-767a,U+767c,U+767f-7681,U+7683,U+7685,U+7689-768a,U+768c-768d,U+768f-7690,U+7692,U+7694-7695,U+7697-7698,U+769a-76a3,U+76a5-76ad,U+76af-76b0,U+76b3,U+76b5-76be,U+76c0-76c1,U+76c3-76c4,U+76c7,U+76c9,U+76cb-76cc,U+76d3,U+76d5,U+76d9-76da,U+76dc-76de,U+76e0-76e4,U+76e6-76ed,U+76f0,U+76f3,U+76f5-76f7,U+76fa-76fb,U+76fd,U+76ff-7703,U+7705-7706,U+770a,U+770c,U+770e-7718,U+771b-771e,U+7721,U+7723-7725,U+7727,U+772a-772c,U+772e,U+7730-7734,U+7739,U+773b,U+773d-773f,U+7742,U+7744-7746,U+7748-774f,U+7752-7759,U+775c-7760,U+7764,U+7767,U+7769-776a,U+776d-7773",weight:"400"},{asset:"song/67621f47.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+6303-6306,U+630a-630d,U+630f-6310,U+6312-6315,U+6317-6319,U+631c,U+6326-6327,U+6329,U+632c-632e,U+6330-6331,U+6333-6338,U+633b-633c,U+633e-6341,U+6344,U+6347-6348,U+634a,U+6351-6354,U+6356-635d,U+6360,U+6364-6366,U+6368,U+636a-636c,U+636f-6370,U+6372-6375,U+6378-6379,U+637c-637f,U+6381,U+6383-6386,U+638b,U+638d,U+6391,U+6393-6395,U+6397,U+6399-639f,U+63a1,U+63a4,U+63a6,U+63ab,U+63af,U+63b1-63b2,U+63b5-63b6,U+63b9,U+63bb,U+63bd,U+63bf-63c3,U+63c5,U+63c7-63c8,U+63ca-63cc,U+63d1,U+63d3-63d5,U+63d7-63dd,U+63df,U+63e2,U+63e4-63e8,U+63eb-63ec,U+63ee-63f1,U+63f3,U+63f5,U+63f7,U+63f9-63fc,U+63fe,U+6403-6404,U+6406-640a,U+640d-640e,U+6411-6412,U+6415-641a,U+641d,U+641f,U+6422-6425,U+6427-6429,U+642b,U+642e-6433,U+6435-6439,U+643b-643c,U+643e,U+6440,U+6442-6443,U+6449,U+644b-6451,U+6453,U+6455-6457,U+6459-645d,U+645f-6466,U+6468,U+646a-646c,U+646e-6477,U+647b-6481,U+6483,U+6486,U+6488-6490,U+6493-6494,U+6497-6498,U+649a-649d,U+649f-64a3,U+64a5-64a8,U+64aa-64ab,U+64af,U+64b1-64b4,U+64b6,U+64b9,U+64bb,U+64bd-64bf,U+64c1,U+64c3-64c4,U+64c6-64cc,U+64cf,U+64d1,U+64d3-64d6,U+64d9-64dd,U+64df-64e1,U+64e3,U+64e5,U+64e7-64ff,U+6501-6508,U+650a-6511,U+6513-6517,U+6519-6524,U+6526-652a,U+652c-652d,U+6530-6533,U+6537,U+653a,U+653c-653d,U+6540-6544,U+6546-6547,U+654a-654b,U+654d-654e,U+6550,U+6552-6554,U+6557-6558,U+655a,U+655c,U+655f-6561,U+6564-6565,U+6567-656a,U+656d-656f,U+6571,U+6573,U+6575-6576,U+6578-6586,U+6588-658a,U+658d-658f,U+6592,U+6594-6596,U+6598,U+659a,U+659d-659e,U+65a0,U+65a2-65a3,U+65a6,U+65a8,U+65aa,U+65ac,U+65ae,U+65b1-65b8,U+65ba-65bb,U+65be-65c0,U+65c2,U+65c7-65ca,U+65cd,U+65d0-65d1,U+65d3-65d5,U+65d8-65df,U+65e1,U+65e3-65e4,U+65ea-65eb,U+65f2-65f5,U+65f8-65f9,U+65fb-65ff,U+6601,U+6604-6605,U+6607-6609,U+660b,U+660d,U+6610-6612,U+6616-6618,U+661a-661c,U+661e,U+6621-6624,U+6626,U+6629-662c,U+662e,U+6630,U+6632-6633,U+6637-663b,U+663d,U+663f-6640,U+6642,U+6644-664a,U+664d-664e,U+6650-6651,U+6658-6659,U+665b-665e,U+6660,U+6662-6663,U+6665,U+6667,U+6669-666d,U+6671-6673,U+6675,U+6678-6679,U+667b-667d,U+667f-6681,U+6683,U+6685-6686,U+6688-668b,U+668d-6690,U+6692-6695,U+6698-669c,U+669e-66a6,U+66a9-66ad,U+66af-66b3,U+66b5-66b8,U+66ba-66bd,U+66bf-66d8,U+66da,U+66de-66e5,U+66e7-66e8,U+66ea-66ef,U+66f1,U+66f5-66f6,U+66f8,U+66fa-66fb,U+66fd,U+6701-6707,U+670c,U+670e-670f,U+6711-6713,U+6716,U+6718-671a,U+671c,U+671e,U+6720-6725,U+6727,U+6729,U+672e,U+6730,U+6732-6733,U+6736-6739,U+673b-673c,U+673e-673f,U+6741,U+6744-6745,U+6747,U+674a-674b,U+674d,U+6752,U+6754-6755,U+6757-675b,U+675d,U+6762-6764,U+6766-6767,U+676b-676c,U+676e,U+6771,U+6774,U+6776,U+6778-677b,U+677d,U+6780,U+6782-6783,U+6785-6786,U+6788,U+678a,U+678c-678f,U+6791-6794,U+6796,U+6799,U+679b,U+679f-67a1,U+67a4,U+67a6,U+67a9,U+67ac,U+67ae,U+67b1-67b2,U+67b4,U+67b9-67c0,U+67c2,U+67c5-67ce,U+67d5-67d7,U+67db,U+67df,U+67e1,U+67e3-67e4,U+67e6-67e8,U+67ea-67eb,U+67ed-67ee,U+67f2,U+67f5-67fc,U+67fe,U+6801-6804,U+6806,U+680d,U+6810,U+6812,U+6814-6815,U+6818-681c,U+681e-6820,U+6822-6828,U+682b-6831,U+6834-6836,U+683a-683b,U+683f,U+6847,U+684b,U+684d,U+684f,U+6852,U+6856-685f,U+686a,U+686c-6873,U+6875,U+6878-6880,U+6882,U+6884,U+6887-688e,U+6890-6892,U+6894-6896,U+6898-68a1,U+68a3-68a5,U+68a9-68ac,U+68ae,U+68b1-68b2,U+68b4,U+68b6-68bf,U+68c1,U+68c3-68c8,U+68ca,U+68cc,U+68ce-68d1,U+68d3-68d4,U+68d6-68d7,U+68d9",weight:"400"},{asset:"song/9e217aaa.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+68db-68df,U+68e1-68e2,U+68e4-68ed,U+68ef,U+68f2-68f4,U+68f6-68f8,U+68fb,U+68fd-6900,U+6902-6904,U+6906-690a,U+690c,U+690f,U+6911,U+6913-691e,U+6921-6923,U+6925-692c,U+692e-692f,U+6931-6933,U+6935-6938,U+693a-693c,U+693e,U+6940-6941,U+6943-6953,U+6955-6956,U+6958-6959,U+695b-695c,U+695f,U+6961-6962,U+6964-6965,U+6967-696a,U+696c-696d,U+696f-6970,U+6972-6976,U+697a-697b,U+697d-697f,U+6981,U+6983,U+6985,U+698a-698c,U+698e-6993,U+6996-6997,U+6999-699a,U+699d-69a6,U+69a9-69aa,U+69ac,U+69ae-69b0,U+69b2-69b3,U+69b5-69b6,U+69b8-69ba,U+69bc-69c0,U+69c2-69c9,U+69cb,U+69cd,U+69cf,U+69d1-69d3,U+69d5-69da,U+69dc-69de,U+69e1-69ec,U+69ee-69f1,U+69f3-69fc,U+69fe,U+6a00-6a09,U+6a0b-6a16,U+6a19-6a1e,U+6a20,U+6a22-6a27,U+6a29,U+6a2b-6a2e,U+6a30,U+6a32-6a34,U+6a36-6a3c,U+6a3f-6a43,U+6a45-6a46,U+6a48-6a4f,U+6a51-6a57,U+6a5a,U+6a5c-6a60,U+6a62-6a64,U+6a66-6a70,U+6a72-6a78,U+6a7a-6a7b,U+6a7d-6a7f,U+6a81-6a83,U+6a85-6a8d,U+6a8f,U+6a92-6a96,U+6a98-6a9f,U+6aa1-6aa8,U+6aaa,U+6aad-6b1f,U+6b25-6b26,U+6b28-6b31,U+6b33-6b36,U+6b38,U+6b3b-6b3d,U+6b3f-6b42,U+6b44-6b45,U+6b48,U+6b4a-6b4b,U+6b4d-6b58,U+6b5a-6b61,U+6b68-6b69,U+6b6b-6b78,U+6b7a,U+6b7d-6b80,U+6b85,U+6b88,U+6b8c,U+6b8e-6b91,U+6b94-6b95,U+6b97-6b99,U+6b9c-6ba0,U+6ba2-6ba9,U+6bab-6bb2,U+6bb6,U+6bb8-6bbe,U+6bc0,U+6bc3-6bc4,U+6bc6-6bca,U+6bcc,U+6bce,U+6bd0-6bd1,U+6bd8,U+6bda,U+6bdc-6be0,U+6be2-6be9,U+6bec-6bee,U+6bf0-6bf2,U+6bf4,U+6bf6-6bf8,U+6bfa-6bfc,U+6bfe-6c04,U+6c08-6c0c,U+6c0e,U+6c12,U+6c17,U+6c1c-6c1e,U+6c20,U+6c23,U+6c25,U+6c2b-6c2d,U+6c31,U+6c33,U+6c36-6c37,U+6c39-6c3c,U+6c3e-6c3f,U+6c43-6c45,U+6c48,U+6c4b-6c4f,U+6c51-6c53,U+6c56,U+6c58-6c5a,U+6c62-6c63,U+6c65-6c67,U+6c6b-6c6f,U+6c71,U+6c73,U+6c75,U+6c77-6c78,U+6c7a-6c7c,U+6c7f-6c80,U+6c84,U+6c87,U+6c8a-6c8b,U+6c8d-6c8e,U+6c91-6c92,U+6c95-6c98,U+6c9a,U+6c9c-6c9e,U+6ca0,U+6ca2,U+6ca8,U+6cac,U+6caf-6cb0,U+6cb4-6cb7,U+6cba,U+6cc0-6cc3,U+6cc6-6cc8,U+6ccb,U+6ccd-6ccf,U+6cd1-6cd2,U+6cd8-6cda,U+6cdc-6cdd,U+6cdf,U+6ce4,U+6ce6-6ce7,U+6ce9,U+6cec-6ced,U+6cf2,U+6cf4,U+6cf9,U+6cff-6d00,U+6d02-6d03,U+6d05-6d06,U+6d08-6d0a,U+6d0d,U+6d0f-6d11,U+6d13-6d16,U+6d18,U+6d1c-6d1d,U+6d1f-6d24,U+6d26,U+6d28-6d29,U+6d2c-6d2d,U+6d2f-6d30,U+6d34,U+6d36-6d38,U+6d3a,U+6d3f-6d40,U+6d42,U+6d44,U+6d49,U+6d4c,U+6d50,U+6d55-6d58,U+6d5b,U+6d5d,U+6d5f,U+6d61-6d62,U+6d64-6d65,U+6d67-6d68,U+6d6b-6d6d,U+6d70-6d73,U+6d75-6d76,U+6d79-6d7b,U+6d7d-6d81,U+6d83-6d84,U+6d86-6d87,U+6d8a-6d8b,U+6d8d,U+6d8f-6d90,U+6d92,U+6d96-6d9a,U+6d9c,U+6da2,U+6da5,U+6dac-6dad,U+6db0-6db1,U+6db3-6db4,U+6db6-6db7,U+6db9-6dbe,U+6dc1-6dc3,U+6dc8-6dca,U+6dcd-6dd0,U+6dd2-6dd3",weight:"400"},{asset:"song/a2d2ee87.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+5d1c-5d1d,U+5d1f-5d23,U+5d25,U+5d28,U+5d2a-5d2c,U+5d2f-5d33,U+5d35-5d3c,U+5d3f-5d46,U+5d48-5d49,U+5d4d-5d57,U+5d59-5d5a,U+5d5c,U+5d5e-5d68,U+5d6a,U+5d6d-5d6e,U+5d70-5d73,U+5d75-5d81,U+5d83-5d98,U+5d9a-5d9c,U+5d9e-5db6,U+5db8-5dc4,U+5dc6-5dcc,U+5dce-5dda,U+5ddc,U+5ddf-5de0,U+5de3-5de4,U+5dea,U+5dec-5ded,U+5df0,U+5df5-5df6,U+5df8-5dfc,U+5dff-5e00,U+5e04,U+5e07,U+5e09-5e0b,U+5e0d-5e0e,U+5e12-5e13,U+5e17,U+5e1e-5e25,U+5e28-5e2c,U+5e2f-5e30,U+5e32-5e36,U+5e39-5e3a,U+5e3e-5e41,U+5e43,U+5e46-5e4b,U+5e4d-5e53,U+5e56-5e5a,U+5e5c-5e5d,U+5e5f-5e60,U+5e63-5e71,U+5e75,U+5e77,U+5e79,U+5e7e,U+5e81-5e83,U+5e85,U+5e88-5e89,U+5e8c-5e8e,U+5e92,U+5e98,U+5e9b,U+5e9d,U+5ea1-5ea4,U+5ea8-5eac,U+5eae-5eb2,U+5eb4,U+5eba-5ebd,U+5ebf-5ec8,U+5ecb-5ed0,U+5ed4-5ed5,U+5ed7-5eda,U+5edc-5ee7,U+5ee9,U+5eeb-5ef3,U+5ef5,U+5ef8-5ef9,U+5efb-5efd,U+5f05-5f07,U+5f09,U+5f0c-5f0e,U+5f10,U+5f12,U+5f14,U+5f16,U+5f19-5f1a,U+5f1c-5f1e,U+5f21-5f24,U+5f28,U+5f2b-5f2c,U+5f2e,U+5f30,U+5f32-5f38,U+5f3b,U+5f3d-5f3f,U+5f41-5f4f,U+5f51,U+5f54,U+5f59-5f5c,U+5f5e-5f60,U+5f63,U+5f65,U+5f67-5f68,U+5f6b,U+5f6e-5f6f,U+5f72,U+5f74-5f76,U+5f78,U+5f7a,U+5f7d-5f7f,U+5f83,U+5f86,U+5f8d-5f8f,U+5f91,U+5f93-5f94,U+5f96,U+5f9a-5f9b,U+5f9d-5fa0,U+5fa2-5fa7,U+5fa9,U+5fab-5fac,U+5faf-5fb4,U+5fb6,U+5fb8-5fbb,U+5fbe-5fc2,U+5fc7-5fc8,U+5fca-5fcb,U+5fce,U+5fd3-5fd5,U+5fda-5fdc,U+5fde-5fdf,U+5fe2-5fe3,U+5fe5-5fe6,U+5fe8-5fe9,U+5fec,U+5fef-5ff0,U+5ff2-5ff4,U+5ff6-5ff7,U+5ff9-5ffa,U+5ffc,U+6007-6009,U+600b-600c,U+6010-6011,U+6013,U+6017-6018,U+601a,U+601e-601f,U+6022-6024,U+602c-602e,U+6030-6034,U+6036-603a,U+603d-603e,U+6040,U+6044-604a,U+604c,U+604e-604f,U+6051,U+6053-6054,U+6056-6058,U+605b-605c,U+605e-6061,U+6065-6066,U+606e,U+6071-6072,U+6074-6075,U+6077,U+607e,U+6080-6082,U+6085-6088,U+608a-608b,U+608e-6091,U+6093,U+6095,U+6097-6099,U+609c,U+609e,U+60a1-60a2,U+60a4-60a5,U+60a7,U+60a9-60aa,U+60ae,U+60b0,U+60b3,U+60b5-60b7,U+60b9-60ba,U+60bd-60c4,U+60c7-60c9,U+60cc-60d0,U+60d2-60d4,U+60d6-60d7,U+60d9,U+60db,U+60de,U+60e1-60e5,U+60ea,U+60f1-60f2,U+60f5,U+60f7-60f8,U+60fb-60ff,U+6102-6105,U+6107,U+610a-610c,U+6110-6114,U+6116-6119,U+611b-611e,U+6121-6122,U+6125,U+6128-612a,U+612c-613e,U+6140-6147,U+6149,U+614b,U+614d,U+614f-6150,U+6152-6154,U+6156-615c,U+615e-6161,U+6163-6166,U+6169-616f,U+6171-6174,U+6176,U+6178-618a,U+618c-618d,U+618f-6193,U+6195-619c,U+619e-61a6,U+61aa-61ab,U+61ad-61b6,U+61b8-61bd,U+61bf-61c1,U+61c3-61c7,U+61c9,U+61cc-61d0,U+61d3,U+61d5-61e5,U+61e7-61f4,U+61f6-61fe,U+6200-6205,U+6207,U+6209,U+6213-6214,U+6219,U+621c-621e,U+6220,U+6223,U+6226-6229,U+622b,U+622d,U+622f-6232,U+6235-6236,U+6238-623c,U+6242,U+6244-6246,U+624a,U+624f-6250,U+6255-6257,U+6259-625a,U+625c-6262,U+6264-6265,U+6268,U+6271-6272,U+6274-6275,U+6277-6278,U+627a-627b,U+627d,U+6281-6283,U+6285-6288,U+628b-6290,U+6294,U+6299,U+629c-629e,U+62a3,U+62a6-62a7,U+62a9-62aa,U+62ad-62b0,U+62b2-62b4,U+62b6-62b8,U+62ba,U+62be,U+62c0-62c1,U+62c3,U+62cb,U+62cf,U+62d1,U+62d5,U+62dd-62de,U+62e0-62e1,U+62e4,U+62ea-62eb,U+62f0,U+62f2,U+62f5,U+62f8-62fb,U+6300",weight:"400"},{asset:"song/0102836d.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+5093-50a2,U+50a4,U+50a6,U+50aa-50ab,U+50ad-50b1,U+50b3-50b9,U+50bc-50ce,U+50d0-50d5,U+50d7-50d9,U+50db-50e5,U+50e8-50eb,U+50ef-50f2,U+50f4,U+50f6-50fa,U+50fc-5105,U+5108-510a,U+510c-5111,U+5113-5120,U+5122-513e,U+5142,U+5147,U+514a,U+514c,U+514e-5150,U+5152-5153,U+5157-5159,U+515b,U+515d-5161,U+5163-5164,U+5166-5167,U+5169-516a,U+516f,U+5172,U+517a,U+517e-517f,U+5183-5184,U+5186-5187,U+518a-518b,U+518e-5191,U+5193-5194,U+5198,U+519a,U+519d-519f,U+51a1,U+51a3,U+51a6-51aa,U+51ad-51ae,U+51b4,U+51b8-51ba,U+51be-51bf,U+51c1-51c3,U+51c5,U+51c8,U+51ca,U+51cd-51ce,U+51d0,U+51d2-51da,U+51dc,U+51de-51df,U+51e2-51e3,U+51e5-51ea,U+51ec,U+51ee,U+51f1-51f2,U+51f4,U+51f7,U+51fe,U+5204-5205,U+5209,U+520b-520c,U+520f-5210,U+5213-5215,U+521c,U+521e-521f,U+5221-5223,U+5225-5227,U+522a,U+522c,U+522f,U+5231-5232,U+5234-5235,U+523c,U+523e,U+5244-5249,U+524b,U+524e-524f,U+5252-5253,U+5255,U+5257-525b,U+525d,U+525f-5260,U+5262-5264,U+5266,U+5268,U+526b-526e,U+5270-5271,U+5273-527c,U+527e,U+5280,U+5283-5287,U+5289-528f,U+5291-5292,U+5294-529a,U+529c,U+52a4-52a7,U+52ae-52b0,U+52b4-52bd,U+52c0-52c2,U+52c4-52c6,U+52c8,U+52ca,U+52cc-52cf,U+52d1,U+52d3-52d5,U+52d7,U+52d9-52de,U+52e0-52e3,U+52e5-52ef,U+52f1-52f8,U+52fb-52fd,U+5301-5304,U+5307,U+5309-530c,U+530e,U+5311-5314,U+5318,U+531b-531c,U+531e-531f,U+5322,U+5324-5325,U+5327-5329,U+532b-532d,U+532f-5338,U+533c-533d,U+5340,U+5342,U+5344,U+5346,U+534b-534d,U+5350,U+5354,U+5358-5359,U+535b,U+535d,U+5365,U+5368,U+536a,U+536c-536d,U+5372,U+5376,U+5379,U+537b-537e,U+5380-5381,U+5383,U+5387-5388,U+538a,U+538e-5394,U+5396-5397,U+5399,U+539b-539c,U+539e,U+53a0-53a1,U+53a4,U+53a7,U+53aa-53ad,U+53af-53b5,U+53b7-53ba,U+53bc-53be,U+53c0,U+53c3-53c7,U+53ce-53d0,U+53d2-53d3,U+53d5,U+53da,U+53dc-53de,U+53e1-53e2,U+53e7,U+53f4,U+53fa,U+53fe-5400,U+5402,U+5405,U+5407,U+540b,U+5414,U+5418-541a,U+541c,U+5422,U+5424-5425,U+542a,U+5430,U+5433,U+5436-5437,U+543a,U+543d,U+543f,U+5441-5442,U+5444-5445,U+5447,U+5449,U+544c-544f,U+5451,U+545a,U+545d-5461,U+5463,U+5465,U+5467,U+5469-5470,U+5474,U+5479-547a,U+547e-547f,U+5481,U+5483,U+5485,U+5487-548a,U+548d,U+5491,U+5493,U+5497-5498,U+549c,U+549e-54a2,U+54a5,U+54ae,U+54b0,U+54b2,U+54b5-54b7,U+54b9-54ba,U+54bc,U+54be,U+54c3,U+54c5,U+54ca-54cb,U+54d6,U+54d8,U+54db,U+54e0-54e4,U+54eb-54ec,U+54ef-54f1,U+54f4-54f9,U+54fb,U+54fe,U+5500,U+5502-5505,U+5508,U+550a-550e,U+5512-5513,U+5515-551a,U+551c-551f,U+5521,U+5525-5526,U+5528-5529,U+552b,U+552d,U+5532,U+5534-5536,U+5538-553b,U+553d,U+5540,U+5542,U+5545,U+5547-5548,U+554b-554f,U+5551-5554,U+5557-555b,U+555d-5560,U+5562-5563,U+5568-5569,U+556b,U+556f-5574,U+5579-557a,U+557d,U+557f,U+5585-5586,U+558c-558e,U+5590,U+5592-5593,U+5595-5597,U+559a-559b,U+559e,U+55a0-55a6,U+55a8-55b0,U+55b2,U+55b4,U+55b6,U+55b8,U+55ba,U+55bc,U+55bf-55c3,U+55c6-55c8,U+55ca-55cb,U+55ce-55d0,U+55d5,U+55d7-55db,U+55de,U+55e0,U+55e2,U+55e7,U+55e9,U+55ed-55ee,U+55f0-55f1,U+55f4,U+55f6,U+55f8-55fc,U+55ff,U+5602-5607,U+560a-560b,U+560d,U+5610-5617,U+5619-561a,U+561c-561d,U+5620-5622,U+5625-5626,U+5628-562b,U+562e-5630,U+5633,U+5635,U+5637-5638,U+563a,U+563c-563e,U+5640-564b,U+564f-5653,U+5655-5656,U+565a-565b,U+565d-5661,U+5663,U+5665-5667,U+566d-5670,U+5672-5675,U+5677-567a,U+567d-5684,U+5687-568d,U+5690-5692,U+5694-56a2,U+56a4-56ae,U+56b0-56b6,U+56b8-56bb,U+56bd-56c9,U+56cb-56d3,U+56d5-56d6,U+56d8-56d9,U+56dc,U+56e3,U+56e5-56ea,U+56ec,U+56ee-56ef,U+56f2-56f3,U+56f6-56f8,U+56fb-56fc,U+5700-5702,U+5705,U+5707,U+570b-571b,U+571d-571e,U+5720-5722,U+5724-5727,U+572b,U+5731-5732,U+5734-5738,U+573c-573d,U+573f,U+5741,U+5743-5746,U+5748-5749,U+574b,U+5752-5756,U+5758-5759,U+5762-5763,U+5765,U+5767,U+576c,U+576e,U+5770-5772,U+5774-5775",weight:"400"},{asset:"song/56f1aec8.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+435b-465b,U+2a7dd,U+2a8fb,U+2a917,U+2aa30,U+2aa36,U+2aa58,U+2afa2,U+2b127-2b128,U+2b137-2b138,U+2b1ed,U+2b300,U+2b363,U+2b36f,U+2b372,U+2b37d,U+2b404,U+2b410,U+2b413,U+2b461,U+2b4e7,U+2b4ef,U+2b4f6,U+2b4f9,U+2b50d-2b50e,U+2b536,U+2b5ae-2b5af,U+2b5b3,U+2b5e7,U+2b5f4,U+2b61c-2b61d,U+2b626-2b628,U+2b62a,U+2b62c,U+2b695-2b696,U+2b6ad,U+2b6ed,U+2b7a9,U+2b7c5,U+2b7e6,U+2b7f9,U+2b7fc,U+2b806,U+2b80a,U+2b81c,U+2b8b8,U+2bac7,U+2bb5f,U+2bb62,U+2bb7c,U+2bb83,U+2bc1b,U+2bd77,U+2bd87,U+2bdf7,U+2be29",weight:"400"},{asset:"song/7ce74f0c.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+2f-30,U+41,U+55,U+69,U+6d-6e,U+2713,U+271a,U+273d,U+273f-2740,U+2756,U+2776-2793,U+27a1,U+2934-2935,U+29bf,U+29fa-29fb,U+2b05-2b07,U+2b1a,U+2b95,U+2e80-2e99,U+2e9b-2ef3,U+2f00-2f23,U+2f25-2f46,U+2f48,U+2f4a-2fd5,U+2ff0-2ffb,U+3003,U+3005-3007,U+3012-3013,U+3018-301b,U+301d-303f,U+3041-3096,U+3099-30ff,U+3105-312f,U+3131-3163,U+3165-318e,U+3190-31bb,U+31c0-31e3,U+31f0-321e,U+3220-324f,U+3251-327e,U+3280-32bf,U+32d0-332b,U+332d-3358,U+3373,U+337f,U+33cc,U+33df,U+3400-3578,U+70b9,U+ff10,U+ff21,U+ff49,U+1f100-1f10c,U+1f110-1f16c,U+1f170-1f1ac,U+1f200-1f202,U+1f210-1f23b,U+1f240-1f248,U+1f250-1f251,U+20087,U+20089,U+200cc,U+20164,U+20628,U+20676,U+20cd0,U+2139a,U+21413,U+215d7",weight:"400"},{asset:"song/301b7546.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4e93,U+4ebb,U+4ec4,U+4edd-4ede,U+4ee1,U+4ee8,U+4eeb,U+4ef5,U+4f22,U+4f25,U+4f27,U+4f32,U+4f43,U+4f57,U+4f5d-4f5e,U+4f76,U+4f7b,U+4fa9,U+4fda,U+4fe3,U+4fe6,U+4ffe,U+5025,U+5028,U+502c-502d,U+5048,U+506c,U+507b,U+5080,U+50a5,U+50f3,U+5106,U+5121,U+51c7,U+51eb,U+51fc,U+5208,U+520d,U+523d,U+5241,U+5250,U+525c,U+52ad,U+52f0,U+530d,U+530f-5310,U+535f,U+538d,U+539d,U+53a9,U+53c1,U+53df,U+53f5,U+53fc,U+5412,U+5421,U+544b,U+5453,U+5464,U+5466,U+5477,U+5482,U+549d,U+54a3,U+54a6-54a7,U+54bf,U+54cc,U+54d0,U+54d4,U+54dd,U+54e7,U+5514,U+551b,U+5527,U+5530,U+5533,U+5541,U+5544,U+5549,U+5550,U+5555-5556,U+555c,U+556d-556e,U+5576,U+557e,U+558f,U+5594,U+5599,U+55b1,U+55b9,U+55c4,U+55d1,U+55d4,U+55dd,U+55df,U+55e4,U+55e8,U+55ea-55ec,U+55ef,U+55f2-55f3,U+55f5,U+5623-5624,U+5627,U+562d,U+564c,U+564e,U+5654,U+5657-5658,U+5664,U+5671,U+567b,U+5685,U+568f,U+56d4,U+56d7,U+56e1,U+56eb,U+56f5,U+56f9,U+5704,U+571c,U+5739,U+575c,U+576d,U+57a1,U+57a7,U+57ad,U+57b2,U+57b4,U+57d5,U+57d9,U+57dd,U+5800,U+5807,U+584d,U+5880,U+58c5,U+58ec,U+5914,U+5942,U+5958,U+599e,U+59a4,U+59aa,U+59af,U+59be,U+59d8,U+59dd,U+5a06,U+5a09,U+5a0c,U+5a32,U+5a4a,U+5a55,U+5a62,U+5a67,U+5a75,U+5abe,U+5ad2,U+5ae1,U+5aeb,U+5b40,U+5b51,U+5b6c,U+5b71,U+5b73,U+5bee,U+5c3b,U+5c50,U+5c7a,U+5c98,U+5ca2,U+5cac,U+5cbf,U+5cc4,U+5ccb,U+5cd2,U+5ce4,U+5d03,U+5d06,U+5d26-5d27,U+5d6c,U+5d6f,U+5d9d,U+5db7,U+5df3,U+5dfd,U+5e19,U+5e5b,U+5e96,U+5ea0,U+5eb9,U+5ebe,U+5eea,U+5f2d,U+5fb5,U+5fd2,U+5fdd,U+5fea,U+5ff8,U+5ffe,U+600f,U+603f,U+6042,U+606b,U+6078-6079,U+607b,U+607d,U+608c,U+609a,U+60b1,U+6120,U+6175,U+61d1,U+61ff,U+6215,U+621b,U+6221-6222,U+622c,U+622e,U+623e,U+6266,U+626a,U+629f,U+62bb,U+62bf,U+6308,U+6332,U+6339,U+634b,U+636d,U+6371,U+6387,U+638a,U+63ae,U+63b3,U+63b8,U+63bc,U+63c4,U+63c6,U+63cd,U+63d6,U+63e0,U+63f6,U+63ff,U+6410,U+6414,U+6421,U+643d,U+6441,U+6448,U+6485,U+64b8,U+64c0,U+64d8,U+64e2,U+6555,U+659b,U+65ab,U+65c3,U+661d,U+6657,U+6677,U+669d,U+66a7,U+66be,U+66dc,U+66e9,U+6748,U+6772,U+6775,U+678b,U+679e,U+67a5,U+67b3,U+67c1,U+67d2,U+67fd,U+6800,U+680e,U+6832,U+6840-6841,U+6849,U+6860,U+6867,U+6877,U+68c2,U+68f0,U+68fc,U+6901,U+690b,U+6910,U+6924,U+6934,U+6954,U+6966,U+6978,U+6987,U+6998,U+699b,U+69ab,U+69c1,U+69ce,U+6a28,U+6a2f,U+6a3d-6a3e,U+6a47,U+6a50,U+6a5b,U+6a79,U+6a84,U+6a97,U+6aa9,U+6b24,U+6b46,U+6b87,U+6b8d,U+6b92-6b93,U+6baa,U+6bc2,U+6bd6,U+6bfd,U+6c16,U+6c18,U+6c21,U+6c24,U+6c29,U+6c32,U+6c35,U+6c4a,U+6c54,U+6c86,U+6c94,U+6ca3-6ca4,U+6cc5,U+6cd4,U+6ceb,U+6cee,U+6d04,U+6d0c,U+6d2e,U+6d39,U+6d4d,U+6d60,U+6d63,U+6d6f,U+6d94,U+6da0,U+6ddd,U+6de0,U+6e0c,U+6e4e,U+6e86,U+6e98,U+6eb1,U+6ebd,U+6ecf,U+6ed3,U+6edf,U+6f4b,U+6fb9,U+6fd1,U+6fef,U+7023,U+705e,U+7080,U+7094,U+70b7,U+70ca,U+70e9,U+7110,U+7116,U+712f,U+7145,U+7168,U+71e7,U+71f9,U+7230,U+723f,U+726f,U+7284,U+728d,U+7292,U+72b8,U+72cd,U+72d2,U+72d9,U+72de,U+72f0,U+7325,U+732c,U+7350,U+7352,U+7391,U+73b3,U+73c8-73c9,U+73d0,U+73d9,U+740a,U+741a,U+7441,U+7457,U+74d2,U+74e4,U+7511,U+753e,U+7548,U+757f,U+7583,U+7596,U+759d,U+75a0,U+75a3,U+75a5,U+75b1,U+75b4,U+75b8,U+75bd,U+75c2,U+75c8,U+75cd,U+75d8,U+75e3-75e4,U+75e7-75e8,U+75f1,U+75ff,U+7610,U+7618-7619,U+7622,U+765e,U+766f,U+7688,U+7699,U+76b4,U+76c5,U+76e5,U+76f1,U+7708,U+7719,U+772d,U+7751,U+777e,U+7791,U+779f,U+7812,U+7818,U+7823,U+7826-7827,U+782c,U+784c,U+7850,U+7856,U+7877,U+7887,U+7889,U+7893,U+789a-789c,U+78b2,U+78f4,U+795c,U+79e3,U+7a17,U+7a39,U+7a51,U+7a88,U+7a95,U+7aa0,U+7aa8,U+7ae6,U+7b08,U+7b0f,U+7b15,U+7b1e,U+7b24,U+7b33,U+7b5a,U+7b90,U+7baa,U+7bac,U+7bb8,U+7bc1,U+7bd1,U+7bd9,U+7be6,U+7bfe,U+7c1f,U+7c2a,U+7cb2,U+7ccc,U+7da6,U+7ea3,U+7ea8,U+7eb0,U+7ebe,U+7ec0,U+7ec2,U+7ed0,U+7ed4,U+7ee6,U+7eeb,U+7eef,U+7efa-7efb,U+7f03-7f04,U+7f08,U+7f0d,U+7f1b,U+7f1f,U+7f22,U+7f25,U+7f2c,U+7f45,U+7f58,U+7f61,U+7f71,U+7f9f,U+7fa7,U+7fb8,U+7fbf,U+7fd5,U+7fe5-7fe6,U+7ff3,U+8012,U+8026-8027,U+8037,U+8052,U+8084,U+8093,U+80b1,U+80db,U+80dd,U+80e4,U+80ef,U+80f4,U+80fc,U+8132,U+8153,U+815a,U+8167,U+816d,U+8171,U+8174,U+8191,U+81bb,U+81ca,U+81ec,U+8202,U+8210,U+8214,U+821b,U+8222,U+8228,U+8249,U+826e,U+828a,U+828e,U+8297,U+82a8-82a9,U+82ab,U+82be,U+82c4,U+82cc,U+82d5,U+82dc,U+82e3,U+82eb,U+82f7,U+830c,U+8314-8315,U+832d,U+8331,U+8334,U+8351,U+835a,U+8366,U+8368-8369,U+8378,U+83a8,U+83aa,U+83b4,U+83b8,U+83c5,U+83d6,U+83d8,U+83e1,U+83ea,U+83fd,U+840b,U+8418,U+8438,U+843c,U+8473,U+84a1,U+84c1,U+84ca,U+84d1,U+84fc,U+84ff,U+852b,U+8538,U+853b,U+8564,U+8572,U+857b,U+858f,U+859c,U+85ae,U+85c1,U+85d3,U+8605,U+8616,U+8662,U+866c,U+867b,U+8693,U+869d,U+86a3,U+86a7,U+86aa,U+86ac,U+86af,U+86b1,U+86b4,U+86b6,U+86c6,U+86c9-86ca,U+86cf-86d0,U+86d4,U+86ed,U+86f0,U+86f3,U+8708-8709,U+870d,U+8722,U+8725,U+8748,U+874c,U+8759,U+8760,U+8763,U+876e,U+877c,U+879f,U+87a8,U+87af,U+87b3,U+87c6,U+87d1,U+87e0,U+87e5,U+8839,U+8869,U+887d,U+88c6,U+88df,U+88fe,U+8913,U+8919,U+891b,U+8934,U+8941,U+89c7,U+89ca,U+89ce,U+89d0,U+89de,U+89e5,U+8a07,U+8a3e,U+8a8a,U+8b07,U+8ba3,U+8ba6-8ba7,U+8baa-8bab,U+8bc2,U+8bc5,U+8bcc,U+8bdb,U+8bdf,U+8be4,U+8be8,U+8bee,U+8bf0,U+8c00,U+8c07,U+8c11,U+8c14-8c15,U+8c20-8c21,U+8c2a,U+8c30,U+8c32,U+8c47,U+8c49,U+8c62,U+8c7a,U+8c89,U+8d30,U+8d36,U+8d49,U+8d6d,U+8d84,U+8d94,U+8db5,U+8db8,U+8dc4,U+8dc6,U+8dce,U+8dd7,U+8ddb,U+8df8-8dfa,U+8e05,U+8e09,U+8e1d,U+8e1f,U+8e2e-8e2f,U+8e39,U+8e3d,U+8e42,U+8e47,U+8e49,U+8e4b,U+8e51,U+8e59,U+8e69,U+8e70,U+8e7f,U+8e85,U+8e8f,U+8f6b,U+8f71-8f73,U+8f78,U+8f87,U+8f8b,U+8f8f,U+8f9a,U+8ff3,U+9004-9005,U+9016,U+9021,U+9026,U+902f,U+9036,U+9051,U+907d,U+9082,U+9088,U+908b,U+9097,U+9099,U+909b,U+90b0,U+90b4,U+90ba,U+90c4,U+90c7,U+90d0,U+90d3,U+90dc,U+90e2,U+90e6,U+90eb,U+90ef,U+90fe,U+9104,U+9143,U+914a,U+9150,U+917d,U+919a,U+91aa,U+91ae,U+91b4,U+91ba,U+933e,U+938f,U+9487,U+948d,U+948f-9490,U+9495,U+9497,U+949c,U+94a3-94a4,U+94ad,U+94af,U+94b9-94ba,U+94bd,U+94bf,U+94cb-94cd,U+94d2,U+94d6,U+94d9,U+94e0-94e1,U+94ef-94f0,U+9507,U+9509,U+950f,U+9512,U+951f,U+9531,U+9534,U+954a,U+9552-9553,U+9557,U+955d-955e,U+9562-9563,U+956b,U+9573,U+95e9,U+95f3,U+9604,U+9606,U+9609-960b,U+9612,U+9615,U+9617,U+965f,U+9697,U+96b0,U+96b9,U+96bc,U+96d2,U+9708,U+972d,U+973e,U+975b,U+9765,U+977c,U+9791,U+97ea-97eb,U+9880,U+9889,U+988c,U+9894,U+989a-989b,U+989e,U+98a2,U+98a6-98a7,U+996c,U+9974,U+9977,U+997d,U+9980,U+998a,U+9990-9991,U+9994-9995,U+9a78,U+9a88,U+9a90,U+9a9b-9a9d,U+9aa0,U+9aa7,U+9ab6-9ab7,U+9ac5,U+9aef,U+9afb,U+9b3b,U+9b47,U+9c82,U+9c87-9c88,U+9c91,U+9c9b,U+9ca2,U+9cb2-9cb3,U+9cb5-9cb7,U+9cc5,U+9cc7,U+9cca,U+9ccd,U+9ccf,U+9cd5,U+9cd9,U+9cdc,U+9cdf,U+9e20,U+9e22,U+9e28-9e2a,U+9e2c,U+9e42,U+9e57-9e58,U+9e5a,U+9e5e,U+9e67,U+9e6b-9e6c,U+9e73,U+9e82,U+9eb8,U+9ecd,U+9ecf,U+9edc,U+9edf-9ee0,U+9f0b,U+9f3e,U+9f83,U+9f88-9f8a,U+9f8c,U+9f9b",weight:"400"},{asset:"song/387e99e8.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4050-435a,U+28408,U+28678,U+28695,U+287e0,U+28b49,U+28c47,U+28c4f,U+28c51,U+28c54,U+28e0f,U+28e99,U+2967f,U+29810,U+29f7e,U+29f83,U+29f8c",weight:"400"},{asset:"song/c2062f2d.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+3967-3cdf,U+23e23,U+241fe,U+2420e,U+248e9,U+249db,U+24a01,U+24a7d,U+24ac9,U+25532,U+25562,U+255a8,U+25ed7",weight:"400"},{asset:"song/f68c886a.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+3ce0-404f,U+26221,U+2648d,U+26676,U+2677c,U+26951,U+26b5c,U+26c21,U+278b2,U+27eaf,U+27ff9",weight:"400"},{asset:"song/d6b5c292.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+3579-3966,U+2298f,U+235cb,U+23c97-23c98",weight:"400"},{asset:"song/e378c475.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4e15,U+4e1e,U+4e2b,U+4e56,U+4e98,U+4eb3,U+4eb5,U+4ec9,U+4f09,U+4f0e,U+4f2b,U+4f3d,U+4f58,U+4f5a,U+4f5f,U+4f64,U+4f6c,U+4f6f-4f70,U+4f8f,U+4fa5,U+4fac,U+4fce,U+4fd0,U+4fdf,U+4fe8,U+4fea,U+4ff3,U+4ff8,U+500c,U+500f,U+5014,U+501c,U+5043,U+504e,U+5055,U+5088,U+50a9,U+510b,U+5140,U+5156,U+5197,U+51a2,U+51bc-51bd,U+51cb,U+5243,U+524c,U+527d,U+52be,U+52d0,U+5315,U+531d,U+5323,U+5345,U+535e,U+5364,U+536f,U+53a5,U+53ae,U+53e8,U+53f1,U+53fb,U+53fd,U+5406,U+540f,U+541d,U+5420,U+5429,U+542d-542e,U+5431,U+5457,U+545b,U+547b,U+5486,U+548e,U+5492,U+5494,U+5499-549b,U+54a4,U+54aa-54ab,U+54af,U+54c6,U+54ce,U+54d2,U+54e6,U+54ee,U+54fc-54fd,U+5506,U+5509,U+550f,U+5511,U+5520,U+5522,U+552c,U+553e,U+5567,U+556a,U+556c,U+557b,U+5583,U+558b,U+559f,U+55b3,U+55bd,U+55c5,U+55d2,U+55d6,U+55e1,U+55e3,U+55e6,U+55f7,U+55fd,U+5600,U+5608,U+5618,U+561f,U+5636,U+5639,U+563b,U+563f,U+5659,U+565c,U+5662,U+5669,U+567c,U+568e,U+5693,U+56f1,U+56ff,U+572a,U+573b,U+574d,U+5768,U+5773,U+577b,U+5785,U+579b,U+57a0,U+57a9,U+57b8,U+57c2,U+57ed,U+5811,U+586c,U+587e,U+5892,U+58d5,U+58f9,U+592f,U+5944,U+595a,U+598a,U+598d,U+5992-5993,U+5996,U+59a9,U+59ca,U+59d7,U+59e3,U+59f9,U+5a11,U+5a20,U+5a29,U+5a40,U+5a6a,U+5a76,U+5a7a,U+5a7f,U+5ac9,U+5ae3,U+5ae6,U+5b09,U+5b17,U+5b62,U+5b6a,U+5b7a,U+5b7d,U+5b93,U+5b95,U+5ba6,U+5bb8,U+5c15,U+5c49,U+5c4e,U+5c8c,U+5c96,U+5c99,U+5c9c,U+5cab,U+5cb7,U+5cc1,U+5ce5,U+5d02,U+5d2e,U+5d34,U+5d3d,U+5d47,U+5d4a-5d4b,U+5d58,U+5d82,U+5d99,U+5e1a-5e1b,U+5e44,U+5e4c,U+5e54,U+5e61,U+5e7a,U+5ea5,U+5eb6,U+5eff,U+5f08,U+5f0b,U+5f1b,U+5f29,U+5f77,U+5f89,U+5f99,U+5f9c,U+5fa8,U+5fcf-5fd1,U+5fd6,U+5fff,U+6002,U+6005-6006,U+6014,U+6026,U+602f,U+6035,U+6043,U+6059,U+6063,U+606c,U+607a,U+607f,U+608d,U+60af,U+60b4,U+60b8,U+60bb,U+60c6,U+60cb,U+60d8,U+60da,U+60ec-60ee,U+60f0,U+60f4,U+60fa,U+6115,U+612b,U+618e,U+6194,U+61a9,U+61ca,U+61e6,U+61f5,U+620a,U+620c,U+621f,U+6233,U+6248-6249,U+62a0-62a1,U+62a8,U+62c4,U+62c8,U+62d7,U+62ed,U+62f4,U+62f7,U+62fd,U+630e,U+631b,U+631e,U+6342,U+6345,U+6376,U+637a-637b,U+6382,U+6390,U+6396,U+63a3,U+63ac,U+63b0,U+63c9,U+63e9-63ea,U+6400,U+6402,U+6413,U+642a,U+645e,U+6487,U+64a9,U+64ac,U+64ae,U+64b5,U+64b7,U+64de,U+6525,U+652b,U+6538,U+6556,U+655d,U+6593,U+659f,U+65a1,U+65bc,U+65cc,U+65ce,U+65d6,U+65ee-65ef,U+6615,U+6619,U+6631,U+6635-6636,U+6641,U+664c,U+6654,U+665f,U+6666,U+667e,U+6684,U+66b9,U+66f3,U+6710,U+6773,U+6777,U+677c,U+6787,U+67ad,U+67b0,U+67b7-67b8,U+67d8,U+67de,U+67e0,U+67e9,U+6805,U+6808,U+683e,U+6845,U+684e,U+6886,U+688f,U+68a2,U+68b5,U+692d,U+693d,U+695d,U+6963,U+696b,U+6979,U+6988,U+6994,U+69b7,U+69db,U+69df,U+6a35,U+6a58,U+6a80,U+6aac,U+6b59,U+6b83,U+6b86,U+6b9a,U+6c26,U+6c30,U+6c50,U+6c5e,U+6c68-6c69,U+6c74,U+6c76,U+6c85,U+6c8c,U+6c8f,U+6cad-6cae,U+6cde,U+6ce0,U+6cef,U+6cf1,U+6d19,U+6d31,U+6d35,U+6d43,U+6d52,U+6d54,U+6d5c,U+6d8e,U+6d93,U+6d95,U+6d9e,U+6da7,U+6dae,U+6db8,U+6dbf,U+6dc5,U+6dd6,U+6dd9,U+6dde,U+6de6,U+6dec,U+6dfc,U+6e11,U+6e1a,U+6e25,U+6e4d,U+6e5f,U+6e6e,U+6e85,U+6e9f,U+6ea7,U+6eb4,U+6ec1-6ec2,U+6ee2,U+6ef9,U+6f09,U+6f15,U+6f29-6f2a,U+6f31,U+6f5e,U+6f66,U+6f78,U+6f7a,U+6f7c,U+6f8d,U+6fa7,U+6fc2,U+6fc9,U+6fe0-6fe1,U+701b,U+704f,U+7096,U+70ab,U+70c3,U+70ec,U+70f7,U+7118-7119,U+7131,U+714a,U+715c,U+7166,U+7172,U+717d,U+71a8,U+71b9,U+724d,U+7252,U+7266,U+728a,U+729f,U+72b7,U+72c4,U+72c8,U+72e1,U+72e9,U+7315,U+7317,U+731d,U+7329,U+7337,U+733e,U+736d,U+7396,U+73ae,U+73b7,U+73ba,U+73c0,U+73c2,U+73cf,U+73d1,U+73de,U+73e9,U+740f,U+7425,U+7428,U+742c,U+742e,U+7430,U+7435-7436,U+7455,U+745a,U+7490,U+74e2,U+74ee-74ef,U+74f4,U+7504,U+7519,U+7525,U+752c-752d,U+753a,U+7566,U+7572,U+7579,U+7599,U+759f,U+75a4,U+75b5,U+75b9,U+75c9,U+75d4,U+75de,U+75e2,U+75f0,U+75fc,U+7600-7601,U+7629-762a,U+7634,U+7638,U+7656,U+765c,U+7663,U+7678,U+768b,U+768e,U+7691,U+76bf,U+76c2,U+76d4,U+76f9,U+7728-7729,U+772f,U+7762,U+776c,U+777d,U+778c,U+77a0,U+77b0,U+77b3,U+77cd,U+77dc,U+77f8,U+77fd-77fe,U+7800,U+781d,U+7825,U+782d,U+7830,U+7837,U+783a-783c,U+783e,U+787c,U+78a3,U+78b4,U+78d0,U+78d5,U+78ec,U+78fa,U+7940,U+7949,U+795a,U+795f,U+7977,U+7980,U+79ed,U+7a14,U+7a1e,U+7a23,U+7a37,U+7a79,U+7a92,U+7abf,U+7afa,U+7afd,U+7b06,U+7b19,U+7b20,U+7b3a,U+7b4f,U+7b60,U+7b71,U+7b75,U+7b8d,U+7b94-7b95,U+7ba9,U+7bab,U+7bb4,U+7bd3,U+7bdd,U+7be1,U+7c0c,U+7c41,U+7c7c,U+7c91,U+7cb1,U+7cb3,U+7cbc-7cbd,U+7cc5,U+7cdc,U+7ce0,U+7cef,U+7ec9-7eca,U+7ecc,U+7edb,U+7ef6-7ef7,U+7f19,U+7f1c,U+7f28,U+7f2b,U+7f30,U+7f42,U+7f44,U+7f54,U+7f81,U+7f8c,U+7f94,U+7fb2,U+7fb9,U+7fca,U+7fce,U+7fe1,U+7ff1,U+8004,U+8006,U+800b,U+8019,U+8069,U+807f,U+808b,U+809b,U+80ae,U+80bd,U+80c4,U+80e5,U+80eb,U+80ed,U+80f1,U+810d,U+8110,U+8113,U+812f,U+8146,U+8148,U+814b-814c,U+8165,U+816e,U+817c,U+8198,U+819b,U+81ba,U+81c0,U+81c3,U+81c6,U+81fc,U+81fe,U+8200,U+822b,U+8235,U+828b,U+828d,U+82a5,U+82aa,U+82ae,U+82b7,U+82cb,U+82d2,U+82d4,U+82de,U+8309,U+830e-830f,U+8317,U+832f,U+8338,U+8340,U+8343,U+834f,U+835e,U+8360,U+8364-8365,U+836a,U+837c,U+8385,U+8392-8393,U+83a0,U+83c1,U+8424,U+8431,U+8469,U+847a,U+84af,U+84bf,U+84d3,U+84d6,U+84df,U+84e5-84e6,U+8511,U+8537,U+853a,U+8543,U+854a,U+8559,U+8568,U+85b0,U+85b9,U+85d0,U+8638,U+864f,U+8671,U+869c,U+86a4,U+86c0,U+86ce,U+86db,U+86e4,U+86f9,U+86fe,U+8703,U+8707,U+8712-8713,U+8715,U+8717-8718,U+8737,U+873b,U+873f,U+874e,U+8757,U+8782-8783,U+87c0,U+87cb,U+87d2,U+87fe,U+8815,U+8821-8822,U+8845,U+8859,U+8882,U+8884-8885,U+8892,U+88a4,U+88e8,U+88f1,U+88f3,U+8902,U+8925,U+892a,U+8936,U+8983,U+89d1,U+8ba5,U+8bb7,U+8bb9,U+8bc3,U+8bcb,U+8bcf,U+8bd2,U+8bd8-8bd9,U+8be0-8be1,U+8be7,U+8be9,U+8bfd,U+8bff,U+8c0c,U+8c0f,U+8c12,U+8c1a,U+8c1f,U+8c24,U+8c27,U+8c29,U+8c2c,U+8c4c,U+8c5a,U+8c82,U+8d32,U+8d45,U+8d4a,U+8d4e,U+8d53,U+8d58,U+8d5d,U+8d61,U+8d66,U+8d73,U+8dbe,U+8dda,U+8df7,U+8e0c,U+8e31,U+8e52,U+8e6d,U+8e74,U+8e76,U+8e7c,U+8e87,U+8f76,U+8f7c,U+8f8a,U+8f95,U+8f98,U+8fab,U+8fc2,U+8fe4-8fe6,U+8ff8,U+900d,U+9035,U+9041,U+9052,U+905b,U+9068,U+9074,U+9095,U+909d,U+90a1,U+90ac,U+90b3,U+90b8,U+90c5,U+90d7,U+90e7,U+9119,U+911e,U+9122,U+912f,U+9131,U+9149,U+9157,U+915a,U+9163,U+9169-916a,U+916e,U+9170,U+919b,U+92ae,U+93d6,U+9485,U+948e,U+9492,U+949a-949b,U+949d,U+94a1,U+94a8,U+94b4-94b5,U+94bc,U+94c0,U+94c2,U+94c4,U+94c6,U+94c9,U+94d0,U+94db,U+94e2-94e4,U+94e7,U+94ec,U+94f1,U+94ff,U+9502-9503,U+9506,U+9511,U+9517,U+9522,U+9525,U+9528,U+9535-9537,U+9542,U+9549,U+9550,U+9556,U+955b,U+956f-9570,U+95eb,U+95f0,U+95fe,U+9602,U+9611,U+9616,U+9619-961a,U+9621,U+9631,U+9642,U+9649,U+965b,U+968d,U+96c9,U+96cc,U+96f3,U+96f9,U+9701,U+9706,U+970e-970f,U+9739,U+9753,U+9774,U+9798,U+97a3,U+97ed,U+988a,U+988d,U+9893,U+98d2-98d3,U+98d9-98da,U+98e8,U+9968,U+996f,U+9975,U+9981,U+9984,U+998b,U+998d,U+998f,U+9997,U+99a5,U+9a6e,U+9a77,U+9a7f,U+9a81,U+9a87,U+9a8a,U+9a9e,U+9aa1,U+9ab8,U+9abc,U+9acb,U+9b03,U+9b13,U+9c7f,U+9c85,U+9c9f,U+9ca4,U+9ca8,U+9cab,U+9cdd,U+9e2f,U+9e33,U+9e35,U+9e3e,U+9e43-9e44,U+9e49,U+9e4c,U+9e51,U+9e5c,U+9e66,U+9e6d,U+9e8b,U+9e92,U+9e9d,U+9ebe,U+9edb,U+9edd,U+9eef,U+9f10,U+9f8b",weight:"400"},{asset:"song/f2e6ea1a.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+5778-577a,U+577d-5781,U+5787-578a,U+578d-5791,U+5794-579a,U+579c-579f,U+57a5,U+57a8,U+57aa,U+57ac,U+57af-57b1,U+57b3,U+57b5-57b7,U+57b9-57c1,U+57c4-57ca,U+57cc-57cd,U+57d0-57d1,U+57d3,U+57d6-57d7,U+57db-57dc,U+57de,U+57e1-57e3,U+57e5-57ec,U+57ee,U+57f0-57f3,U+57f5-57f7,U+57fb-57fc,U+57fe-57ff,U+5801,U+5803-5805,U+5808-580a,U+580c,U+580e-5810,U+5812-5814,U+5816-5818,U+581a-581d,U+581f,U+5822-5823,U+5825-5829,U+582b-582f,U+5831-5834,U+5836-5843,U+5845-584b,U+584e-5850,U+5852-5853,U+5855-5857,U+5859-585d,U+585f-5864,U+5866-586a,U+586d-587d,U+587f,U+5882,U+5884,U+5886-5888,U+588a-5891,U+5894-5898,U+589b-589d,U+58a0-58a7,U+58aa-58bb,U+58bd-58c0,U+58c2-58c4,U+58c6-58d0,U+58d2-58d4,U+58d6-58e3,U+58e5-58ea,U+58ed,U+58ef,U+58f1-58f2,U+58f4-58f5,U+58f7-58f8,U+58fa-5901,U+5903,U+5905-5906,U+5908-590c,U+590e,U+5910-5913,U+5917-5918,U+591b,U+591d-591e,U+5920-5923,U+5926,U+5928,U+592c,U+5930,U+5932-5933,U+5935-5936,U+593b,U+593d-5940,U+5943,U+5945-5946,U+594a,U+594c-594d,U+5950,U+5952-5953,U+5959,U+595b-595f,U+5961,U+5963-5964,U+5966-5972,U+5975,U+5977,U+597a-597c,U+597e-5980,U+5985,U+5989,U+598b-598c,U+598e-5991,U+5994-5995,U+5998,U+599a-599d,U+599f-59a2,U+59a6-59a7,U+59ac-59ad,U+59b0-59b1,U+59b3-59b8,U+59ba,U+59bc-59bd,U+59bf-59c5,U+59c7-59c9,U+59cc-59cf,U+59d5-59d6,U+59d9,U+59db,U+59de-59e2,U+59e4,U+59e6-59e7,U+59e9-59eb,U+59ed-59f8,U+59fa,U+59fc-59fe,U+5a00,U+5a02,U+5a0a-5a0b,U+5a0d-5a10,U+5a12,U+5a14-5a17,U+5a19-5a1b,U+5a1d-5a1e,U+5a21-5a22,U+5a24,U+5a26-5a28,U+5a2a-5a30,U+5a33,U+5a35,U+5a37-5a3b,U+5a3d-5a3f,U+5a41-5a45,U+5a47-5a48,U+5a4b-5a54,U+5a56-5a59,U+5a5b-5a61,U+5a63-5a66,U+5a68-5a69,U+5a6b-5a73,U+5a78-5a79,U+5a7b-5a7e,U+5a80-5a91,U+5a93-5a99,U+5a9c-5aa9,U+5aab-5ab1,U+5ab4,U+5ab6-5ab7,U+5ab9-5abd,U+5abf-5ac0,U+5ac3-5ac8,U+5aca-5acb,U+5acd-5ad1,U+5ad3,U+5ad5,U+5ad7,U+5ad9-5adb,U+5add-5adf,U+5ae2,U+5ae4-5ae5,U+5ae7-5ae8,U+5aea,U+5aec-5af0,U+5af2-5b08,U+5b0a-5b15,U+5b18-5b31,U+5b33,U+5b35-5b36,U+5b38-5b3f,U+5b41-5b4f,U+5b52,U+5b56,U+5b5e,U+5b60-5b61,U+5b67-5b68,U+5b6b,U+5b6d-5b6f,U+5b72,U+5b74,U+5b76-5b79,U+5b7b-5b7c,U+5b7e-5b7f,U+5b82,U+5b86,U+5b8a,U+5b8d-5b8e,U+5b90-5b92,U+5b94,U+5b96,U+5b9f,U+5ba7-5ba9,U+5bac-5baf,U+5bb1-5bb2,U+5bb7,U+5bba-5bbc,U+5bc0-5bc1,U+5bc3,U+5bc8-5bcb,U+5bcd-5bcf,U+5bd1,U+5bd4-5bdc,U+5be0,U+5be2-5be3,U+5be6-5be7,U+5be9-5bed,U+5bef,U+5bf1-5bf7,U+5bfd-5bfe,U+5c00,U+5c02-5c03,U+5c05,U+5c07-5c08,U+5c0b-5c0e,U+5c10,U+5c12-5c13,U+5c17,U+5c19,U+5c1b,U+5c1e-5c21,U+5c23,U+5c26,U+5c28-5c2b,U+5c2d-5c30,U+5c32-5c33,U+5c35-5c37,U+5c43-5c44,U+5c46-5c47,U+5c4c-5c4d,U+5c52-5c54,U+5c56-5c58,U+5c5a-5c5d,U+5c5f,U+5c62,U+5c64,U+5c67-5c6d,U+5c70,U+5c72-5c78,U+5c7b-5c7e,U+5c80,U+5c83-5c87,U+5c89-5c8b,U+5c8e-5c8f,U+5c92-5c93,U+5c95,U+5c9d-5ca1,U+5ca4-5ca8,U+5caa,U+5cae-5cb0,U+5cb2,U+5cb4,U+5cb6,U+5cb9-5cbc,U+5cbe,U+5cc0,U+5cc2-5cc3,U+5cc5-5cca,U+5ccc-5cd1,U+5cd3-5cd8,U+5cda-5ce0,U+5ce2-5ce3,U+5ce7,U+5ce9,U+5ceb-5cec,U+5cee-5cef,U+5cf1-5cfa,U+5cfc-5d01,U+5d04-5d05,U+5d08-5d0d,U+5d0f-5d13,U+5d15,U+5d17-5d1a",weight:"400"},{asset:"song/6dd16229.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4bf8-4db5,U+4e02,U+4e04-4e06,U+4e0f,U+4e12,U+4e17,U+4e1f-4e21,U+4e23,U+4e26,U+4e29,U+4e2e-4e2f,U+4e31,U+4e33,U+4e35,U+4e37,U+4e3c,U+4e40-4e42,U+4e44,U+4e46,U+4e4a,U+4e51,U+4e55,U+4e57,U+4e5a-4e5b,U+4e62-4e65,U+4e67-4e68,U+4e6a-4e6f,U+4e72,U+4e74-4e7d,U+4e7f-4e85,U+4e87,U+4e8a,U+4e90,U+4e96-4e97,U+4e99,U+4e9c-4e9e,U+4ea3,U+4eaa,U+4eaf-4eb1,U+4eb4,U+4eb6-4eb9,U+4ebc-4ebe,U+4ec8,U+4ecc,U+4ecf-4ed0,U+4ed2,U+4eda-4edc,U+4ee0,U+4ee2,U+4ee6-4ee7,U+4ee9,U+4eed-4eef,U+4ef1,U+4ef4,U+4ef8-4efa,U+4efc,U+4efe,U+4f00,U+4f02-4f08,U+4f0b-4f0c,U+4f12-4f16,U+4f1c-4f1d,U+4f21,U+4f23,U+4f28-4f29,U+4f2c-4f2e,U+4f31,U+4f33,U+4f35,U+4f37,U+4f39,U+4f3b,U+4f3e-4f42,U+4f44-4f45,U+4f47-4f4c,U+4f52,U+4f54,U+4f56,U+4f61-4f62,U+4f66,U+4f68,U+4f6a-4f6b,U+4f6d-4f6e,U+4f71-4f72,U+4f75,U+4f77-4f7a,U+4f7d,U+4f80-4f82,U+4f85-4f87,U+4f8a,U+4f8c,U+4f8e,U+4f90,U+4f92-4f93,U+4f95-4f96,U+4f98-4f9a,U+4f9c,U+4f9e-4f9f,U+4fa1-4fa2,U+4fa4,U+4fab,U+4fad,U+4fb0-4fb4,U+4fb6-4fbe,U+4fc0-4fc2,U+4fc6-4fc9,U+4fcb-4fcd,U+4fd2-4fd6,U+4fd9,U+4fdb,U+4fe0,U+4fe2,U+4fe4-4fe5,U+4fe7,U+4feb-4fec,U+4ff0,U+4ff2,U+4ff4-4ff7,U+4ff9,U+4ffb-4ffd,U+4fff-500b,U+500e,U+5010-5011,U+5013,U+5015-5017,U+501b,U+501d-501e,U+5020,U+5022-5024,U+5027,U+502b,U+502f-5039,U+503b,U+503d,U+503f-5042,U+5044-5046,U+5049-504b,U+504d,U+5050-5054,U+5056-5059,U+505b,U+505d-5064,U+5066-506b,U+506d-5075,U+5078-507a,U+507c-507d,U+5081-5084,U+5086-5087,U+5089-508c,U+508e-5092,U+2f884,U+2f8b6,U+2f920",weight:"400"},{asset:"song/20740682.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4929-4bf7",weight:"400"},{asset:"song/bf4f0cec.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4e47,U+4e5c,U+4e69,U+4e8d,U+4edf,U+4ef3,U+4f1b,U+4f65,U+4f67,U+4f74,U+4f7e,U+4f89,U+4faa,U+4fdc,U+507e,U+50a7,U+50d6,U+50e6,U+50ec-50ee,U+5182,U+5196,U+51ab,U+51b1,U+5202,U+520e,U+5233,U+523f-5240,U+525e,U+5261,U+5282,U+52a2,U+52ac,U+52d6,U+531a,U+5326,U+5363,U+536e,U+537a,U+5416,U+5432,U+5443,U+5452,U+5454,U+5456,U+5459,U+5472,U+5476,U+5478,U+54a9,U+54ad,U+54b4,U+54bb,U+54c2,U+54cf,U+54d3,U+54d9-54da,U+54de,U+5537,U+553f,U+5575,U+5577,U+5581,U+5591,U+55be,U+55cc-55cd,U+55e5,U+55fe,U+5601,U+560c,U+560f,U+561e,U+562c,U+564d,U+566b,U+56af,U+56dd,U+56df,U+5709,U+572c,U+572e-572f,U+574c,U+5769,U+576b,U+577c,U+578c,U+5793,U+57cf,U+57d2,U+57d8,U+57da,U+57e4,U+57ef,U+57f8,U+57fd,U+580d,U+581e,U+5844,U+5881,U+5889,U+589a,U+5924-5925,U+593c,U+5941,U+5981,U+5997,U+59a3,U+59ab,U+59b2,U+59d2,U+5a08,U+5aaa,U+5ab8,U+5ad4,U+5ad8,U+5ae0,U+5af1,U+5b16,U+5b34,U+5b37,U+5b53,U+5b5b,U+5b80,U+5b84,U+5ba5,U+5c25,U+5c59,U+5c63,U+5ca3,U+5cb5,U+5cbd,U+5d1e,U+5d24,U+5d5b,U+5d5d,U+5d6b,U+5d74,U+5def,U+5e0f,U+5e11,U+5e14,U+5e31,U+5e42,U+5e5e,U+5e8b,U+5e91,U+5eb3,U+5ed1-5ed2,U+5edb,U+5ef4,U+5efe,U+5f01,U+5f11,U+5f40,U+5f56,U+5f58,U+5f73,U+5f82,U+5f8c,U+5fad,U+5fbc,U+5fc4,U+5fc9,U+5fe4,U+6003-6004,U+600a,U+600d,U+6019,U+601b,U+6029,U+602b,U+603c,U+6041,U+605a,U+605d,U+6083,U+6092,U+609d,U+60ab,U+60ad,U+60dd,U+6100,U+6106,U+610d-610e,U+6126,U+61b7,U+6206,U+6217,U+623d,U+6243,U+624c,U+62ca,U+6322,U+634c,U+6369,U+638e,U+63b4,U+63de,U+63f8,U+641b,U+6426,U+643f,U+646d,U+647a,U+64ba,U+64e4,U+6535,U+6549,U+656b,U+65c4,U+65c6,U+65d2,U+65f0,U+6600,U+6634,U+6661,U+668c,U+66db,U+66f7,U+670a,U+6715,U+6753,U+6769-676a,U+6798,U+67a7,U+67b5,U+67c3,U+67e2,U+67f0,U+680a,U+680c,U+681d,U+6855,U+6861,U+686b,U+6874,U+6883,U+68f9,U+691f,U+6939,U+696e,U+6980,U+6989,U+698d,U+69a7,U+69b1,U+69ca,U+69d4,U+69e0,U+69ed,U+69f2,U+69ff,U+6a17-6a18,U+6a7c,U+6aab,U+6b37,U+6b39,U+6b81-6b82,U+6b84,U+6b9b,U+6bb3,U+6bf3,U+6bf9,U+6c05-6c07,U+6c0d,U+6c10,U+6c19-6c1a,U+6c2a,U+6c3d,U+6c46,U+6ca9,U+6cb2,U+6cd6,U+6cf6-6cf7,U+6cfa,U+6d07,U+6d0e,U+6d1a,U+6d27,U+6d2b,U+6d33,U+6d7c,U+6d91,U+6dab,U+6e16,U+6e53-6e54,U+6e6b,U+6e8f,U+6eb7,U+6ebb,U+6ed7,U+6f36,U+6f72,U+6f74,U+6f89,U+6f8c,U+6fb6,U+6fde,U+7035,U+7039,U+7085,U+709d,U+70bb,U+7113,U+7173,U+7178,U+7198,U+71b3,U+71b5,U+71d4,U+7228,U+723b,U+7256,U+725d,U+726e,U+727e-727f,U+728f,U+72ad,U+72b0,U+72b4,U+72ce,U+72ef,U+72f2,U+72f4,U+72f7,U+72fa-72fb,U+7301,U+7313,U+731e,U+7321-7322,U+7331,U+7360,U+737e,U+738e,U+739f,U+73a2,U+73e5,U+7477,U+7481,U+748e,U+74ba,U+74de,U+74e0,U+74ff,U+750d,U+750f,U+7540,U+754b,U+755a-755b,U+758b,U+7594,U+75ac,U+75b3,U+75c3,U+75d6,U+75e6,U+7605,U+760a,U+760c,U+7615,U+7617,U+761b,U+7625,U+7630,U+7633,U+7635,U+763c,U+763f-7640,U+7643,U+764d,U+7654,U+76a4,U+76b2,U+76cd,U+7704,U+7707,U+771a,U+7726,U+7743,U+7747,U+775a,U+7765,U+7768,U+7780,U+77b5,U+77bd,U+77ec,U+7817,U+781c,U+781f,U+7829,U+7847,U+786a,U+78a1,U+78a5,U+78b9,U+78d4,U+78d9,U+7905,U+7913,U+7957,U+7962,U+79b3,U+79d5,U+79eb,U+7a02-7a03,U+7a06,U+7a70,U+7a86,U+7aac-7aad,U+7ab3,U+7b04,U+7b0a,U+7b25,U+7b2a-7b2b,U+7b2e,U+7b31,U+7b38,U+7b3e,U+7b47,U+7b4c,U+7b62,U+7b6e,U+7b72,U+7b7b,U+7b85,U+7b9c,U+7ba6-7ba7,U+7bcc,U+7be5,U+7bea,U+7bfc,U+7c0b,U+7c0f,U+7c16,U+7c26,U+7c40,U+7c74,U+7c9c-7c9e,U+7ca2,U+7cc1,U+7cc7,U+7ccd,U+7ce8,U+7cf8,U+7d77,U+7dae,U+7e3b,U+7e47,U+7e9b,U+7e9f,U+7ea1,U+7ea5,U+7ea9,U+7ecb,U+7ed7,U+7ee0-7ee1,U+7ee8,U+7ef1-7ef2,U+7efe,U+7f01-7f02,U+7f07,U+7f0b-7f0c,U+7f11,U+7f17,U+7f21,U+7f23,U+7f26-7f27,U+7f2f,U+7f31,U+7f35-7f36,U+7f5f,U+7f74,U+7f7e,U+7f9d,U+7faf-7fb0,U+7fbc,U+7fee,U+8016,U+801c,U+8020,U+802a,U+8031,U+8043,U+8071,U+809f,U+80ab,U+80bc,U+80cd,U+80d7,U+80e8,U+80ea,U+8112,U+8114,U+8118,U+811e,U+812c,U+8136,U+8160,U+8169,U+8182,U+8188,U+81a6,U+81c1,U+81cc,U+822f,U+8233-8234,U+823b,U+823e,U+8244,U+824b,U+824f,U+825f,U+8268,U+8279,U+827d,U+8284,U+8288,U+828f,U+8291,U+8298,U+829f,U+82a1,U+82a4,U+82b4,U+82c1,U+82c8,U+82ca,U+82d8,U+82e1,U+82e4,U+82f4,U+82fb,U+8306,U+8308,U+8311,U+831a-831b,U+8333,U+833a,U+835b-835c,U+836c-836d,U+839c,U+83a9,U+83b3,U+83b6,U+83bc,U+83c0,U+83d4,U+83dd,U+83df,U+83f0,U+83f8,U+8401,U+8406,U+840f,U+8411,U+841c,U+8451,U+845a,U+845c,U+846d,U+8476,U+8478,U+8489,U+848c,U+8497,U+84b4,U+84b9-84ba,U+84bd,U+84e0,U+84e3,U+850c,U+851f,U+8548,U+8556,U+855e,U+8585,U+85a4,U+85ff,U+8627,U+8629,U+863c,U+864d,U+866e,U+867a,U+867f,U+868b,U+868d,U+86a8-86a9,U+86b5,U+86ba,U+86c4,U+86d1,U+86de,U+86e9,U+86f1,U+86f4,U+86f8,U+870a,U+872e,U+8731,U+8734,U+873e,U+8765,U+8770,U+877b,U+877d,U+8785,U+87ab-87ad,U+87bd,U+87ca,U+87db,U+87ea,U+87ee,U+880a,U+8813,U+8816,U+8832,U+883c,U+8864,U+886e,U+8872,U+887e-887f,U+8888,U+88a2,U+88b7,U+88bc,U+88c9,U+88ce,U+88e2-88e3,U+88e5,U+88f0,U+890a,U+8921,U+892b,U+895e,U+897b,U+89cb,U+89cf,U+89d6,U+89da,U+89ef,U+89f3,U+8a48,U+8bb5,U+8bce,U+8bd3-8bd4,U+8bd6,U+8bdc,U+8bf3,U+8bf9,U+8bfc,U+8c04,U+8c16-8c18,U+8c1d,U+8c25,U+8c2b,U+8c2f,U+8c33,U+8c35-8c36,U+8c55,U+8c73,U+8c78,U+8c94,U+8d3d,U+8d40,U+8d46,U+8d4d,U+8d59,U+8d5c,U+8d67,U+8d91,U+8db1,U+8dba,U+8dbf,U+8dcf,U+8dd6,U+8dde,U+8de3,U+8deb-8dec,U+8dfd,U+8e14,U+8e3a,U+8e41,U+8e6f,U+8e90,U+8f6d,U+8f75,U+8f7a,U+8f7e,U+8f82,U+8f8e,U+8f94,U+8fb6,U+8fd3,U+8fe8,U+900b,U+9011,U+902d,U+9044,U+9062,U+90be,U+90cf,U+90db,U+9123,U+9146,U+915e,U+9161-9162,U+9164,U+9172,U+9179,U+917e,U+9185,U+918c-918d,U+9190,U+91a3,U+91ad,U+91af,U+92c8,U+936a,U+93ca,U+9486,U+948b-948c,U+94aa-94ac,U+94b2,U+94c8,U+94ca,U+94d1,U+94d5,U+94d7-94d8,U+94df,U+94e5,U+94e9-94ea,U+94f3,U+94f7,U+94fc-94fd,U+950d,U+9513-9515,U+951b,U+951d,U+9529-952a,U+952c,U+953a,U+9545-9546,U+954f,U+9554,U+9558-9559,U+9565-9568,U+956a,U+956c,U+9571-9572,U+95f1,U+9608,U+960f,U+961d,U+963c,U+9654,U+966c,U+9688,U+96b3,U+96ce,U+96e0,U+96e9,U+972a,U+9730,U+9785,U+97af,U+97b2,U+97b4,U+9878,U+987c,U+9883,U+988f,U+989f,U+98d1,U+98d5,U+98e7,U+990d,U+992e,U+9954-9955,U+9963,U+9967,U+996b,U+9987,U+9993,U+9998,U+9a75,U+9a7a,U+9a7d,U+9a92-9a93,U+9aa2-9aa3,U+9ab0,U+9aba,U+9ac0-9ac2,U+9acc,U+9adf,U+9ae1,U+9aeb,U+9aed,U+9af9,U+9b08,U+9b1f,U+9b23,U+9b32,U+9b43,U+9b49,U+9b4d,U+9b51,U+9c86,U+9c8b,U+9c8e,U+9c90,U+9c94,U+9c9a,U+9c9e,U+9ca0-9ca1,U+9ca3,U+9ca5,U+9ca7,U+9ca9,U+9cad-9cae,U+9cb1,U+9cb4,U+9cbd,U+9cc3,U+9cce,U+9cd3-9cd4,U+9ce2,U+9e2b,U+9e31,U+9e36-9e37,U+9e39,U+9e41,U+9e46-9e48,U+9e4b,U+9e4e,U+9e55,U+9e63,U+9e68-9e6a,U+9e71,U+9e87,U+9ebd,U+9ec9,U+9ee2,U+9ee7,U+9ee9,U+9efe,U+9f0d,U+9f17,U+9f19,U+9f22,U+9f2c,U+9f2f,U+9f37,U+9f39,U+9f51,U+9f80,U+9f85,U+9f87",weight:"400"},{asset:"song/19d3f828.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+465c-4928,U+2c029-2c02a,U+2c0a9,U+2c0ca,U+2c1d5,U+2c1d9,U+2c1f9,U+2c27c,U+2c288,U+2c2a4,U+2c317,U+2c35b,U+2c361,U+2c364,U+2c488,U+2c494,U+2c497,U+2c542,U+2c613,U+2c618,U+2c621,U+2c629,U+2c62b-2c62d,U+2c62f,U+2c642,U+2c64a-2c64b,U+2c72c,U+2c72f,U+2c79f,U+2c7c1,U+2c7fd,U+2c8d9,U+2c8de,U+2c8e1,U+2c8f3,U+2c907,U+2c90a,U+2c91d,U+2ca02,U+2ca0e,U+2ca7d,U+2caa9,U+2cb29,U+2cb2d-2cb2e,U+2cb31,U+2cb38-2cb39,U+2cb3b,U+2cb3f,U+2cb41,U+2cb4a,U+2cb4e,U+2cb5a-2cb5b,U+2cb64,U+2cb69,U+2cb6c,U+2cb6f,U+2cb73,U+2cb76,U+2cb78,U+2cb7c,U+2cbb1,U+2cbbf-2cbc0,U+2cbce,U+2cc56,U+2cc5f,U+2ccf5-2ccf6,U+2ccfd,U+2ccff,U+2cd02-2cd03,U+2cd0a,U+2cd8b,U+2cd8d,U+2cd8f-2cd90,U+2cd9f-2cda0,U+2cda8,U+2cdad-2cdae,U+2cdd5,U+2ce18,U+2ce1a,U+2ce23,U+2ce26,U+2ce2a,U+2ce7c,U+2ce88,U+2ce93,U+2d544",weight:"400"},{asset:"song/689dad6f.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4e10,U+4e19,U+4e38,U+4e4d,U+4e5e,U+4ea2,U+4ea5,U+4ea8,U+4ec3,U+4ec7,U+4ed1,U+4ed5,U+4f1e,U+4f36,U+4f3a,U+4f51,U+4f63,U+4f7c,U+4f83-4f84,U+4f88,U+4f8d,U+4f97,U+4fa0,U+4fa3,U+4fae,U+4fd1,U+4fd8,U+4fde,U+4fef,U+4ffa,U+5018,U+501a,U+5026,U+5029,U+504c,U+508d,U+50a3,U+50bb,U+50da,U+50e7,U+50f5,U+50fb,U+515c,U+5162,U+516e,U+5189,U+5195,U+51a4-51a5,U+51c4,U+51db,U+51f3,U+51f8-51f9,U+51ff,U+5201,U+5203,U+5220,U+5228,U+5254,U+5256,U+527f,U+5288,U+52fa,U+52ff-5300,U+5319,U+5320-5321,U+532e,U+533e-533f,U+5351-5352,U+5366,U+5375,U+5384,U+538c,U+53db,U+53e9,U+53ed-53ee,U+5413,U+541f,U+5435,U+543b-543c,U+5450,U+5455,U+545c,U+5471,U+5475,U+5480,U+5484,U+548b,U+548f-5490,U+5495,U+54b3,U+54bd,U+54c7,U+54c9,U+54d1,U+54d7,U+54df,U+54e9,U+54fa,U+5501,U+5507,U+5543,U+5578,U+557c,U+5587,U+5589,U+5598,U+55a7,U+55d3,U+55dc,U+560e,U+561b,U+5632,U+566c,U+5676,U+56a3,U+56b7,U+56bc,U+56da,U+56e4,U+5703,U+5729,U+5742,U+575e-5760,U+576f,U+5777,U+57a2-57a3,U+57ae,U+57e0,U+5815,U+5830,U+589f,U+58a9,U+58d1,U+5919,U+592d,U+5937,U+5955,U+5962,U+5974,U+5978,U+5983-5984,U+59ae,U+59e5,U+59e8,U+59ec,U+5a04-5a05,U+5a07,U+5a13,U+5a1f,U+5a23,U+5a25,U+5a34,U+5a36,U+5a3c,U+5a49,U+5a77,U+5a9a-5a9b,U+5ab2-5ab3,U+5ac2,U+5ad6,U+5b5a,U+5b70,U+5b75,U+5b99,U+5b9b,U+5ba0,U+5bb5,U+5bc5,U+5bc7,U+5bd0,U+5bdd-5bde,U+5be1,U+5be5,U+5bf0,U+5c09,U+5c27,U+5c2c,U+5c34,U+5c38,U+5c41,U+5c51,U+5c79,U+5c7f,U+5c91,U+5c94,U+5cb1,U+5cd9,U+5ce6,U+5ce8,U+5cea,U+5ced,U+5d0e,U+5d16,U+5d29,U+5d4c,U+5d69,U+5dc5,U+5dcd,U+5de2,U+5deb,U+5e16,U+5e18,U+5e27,U+5e3c,U+5e87,U+5e90,U+5e9a,U+5eb5,U+5ed3,U+5f13,U+5f26-5f27,U+5f3c,U+5f57,U+5f5d,U+5f64,U+5f87,U+5f8a,U+5f95,U+5f98,U+5fcc,U+5fe1,U+5ff1,U+5ffb,U+6016,U+601c,U+6020-6021,U+604d,U+6055,U+6064,U+606a,U+606d,U+607c,U+6096,U+60bc,U+60d5,U+60df,U+60e6-60e7,U+60eb,U+60f6,U+60f9,U+611a,U+6123,U+614c,U+6151,U+6177,U+618b,U+61a7-61a8,U+61ac,U+61cb,U+61d2,U+620d-620e,U+6241,U+6252,U+6254,U+625b,U+626f,U+6273,U+627c,U+6289,U+6292,U+6296,U+62b9,U+62c2,U+62c7,U+62cc,U+62ce,U+62d9,U+62e2-62e3,U+62e7,U+62ee-62ef,U+62f1,U+62fe,U+631a,U+631d,U+631f-6320,U+6346,U+634d-634f,U+6361,U+6363,U+63a0,U+63b7,U+63ba,U+63e3,U+6401,U+6405,U+6452,U+6467,U+6479,U+6482,U+6495,U+64bc,U+64c2,U+64ce,U+64d2,U+6512,U+6518,U+655b,U+6577,U+658b,U+6590,U+65a7,U+65a9,U+65f7,U+660a,U+6627,U+663c,U+6643,U+664f,U+6652,U+6655-6656,U+6674,U+6687,U+66ae,U+66d9,U+66dd,U+66e6,U+66f0,U+6714,U+6726,U+672d,U+673d,U+6756,U+675e,U+6789,U+6795,U+67ab,U+67c4,U+67d1,U+67da,U+67ff,U+6809,U+6813,U+6816-6817,U+6829,U+6853-6854,U+6862,U+6866,U+6868,U+6893,U+6897,U+68a7,U+68ad,U+68b3,U+68cd,U+68d5,U+68d8,U+68e0,U+68e3,U+68f1,U+68fa,U+690e,U+6930,U+693f,U+6942,U+695e,U+6960,U+6977,U+6984,U+6986,U+6995,U+69a8,U+69ad,U+69b4,U+69bb,U+69cc,U+69d0,U+69fd,U+6a1f,U+6a31,U+6a44,U+6a59,U+6a71,U+6a90,U+6b47,U+6b49,U+6b6a,U+6b7c,U+6b89,U+6ba1,U+6bb4,U+6bcb,U+6bd3,U+6bd7,U+6bd9,U+6be1,U+6c13,U+6c1f,U+6c22,U+6c2e-6c2f,U+6c40,U+6c72,U+6c79,U+6c7e,U+6c81,U+6c90,U+6c93,U+6ca5-6ca6,U+6cb1,U+6cbc-6cbe,U+6ccc,U+6cd3,U+6cd7,U+6ce3,U+6cf8,U+6cfb,U+6cfe,U+6d3c,U+6d4a,U+6d4f,U+6d5a,U+6d85,U+6d9f,U+6da1,U+6da3,U+6da9-6daa,U+6dc6-6dc7,U+6dcc,U+6de4,U+6df3,U+6e0d-6e0e,U+6e1d,U+6e23,U+6e2d,U+6e32,U+6e3a,U+6e43-6e44,U+6e83,U+6e9c,U+6ea5,U+6eaf,U+6eba,U+6ec7,U+6ed4-6ed5,U+6ee4,U+6ee6,U+6f13,U+6f2f,U+6f33,U+6f3e,U+6f4d,U+6f62,U+6f84,U+6f88,U+6f8e,U+6fa1,U+6fee,U+7011,U+701a,U+7078,U+707c,U+708a,U+7095,U+7099,U+709c,U+70af,U+70bd,U+70c1,U+70d8-70d9,U+70db,U+70e8,U+70eb,U+70f9,U+70fd,U+7109,U+711a,U+7130,U+714e,U+715e,U+716e,U+7184,U+718f,U+7194,U+71a0,U+71ac,U+71ce,U+71e5,U+71ee,U+722a,U+7235,U+7239,U+7280-7281,U+72d0,U+72f8,U+72fc,U+7316,U+731c,U+7334,U+733f,U+7357,U+7384,U+73ab,U+73ca,U+73f2,U+7405,U+7409,U+7410,U+7422,U+7426,U+742a,U+7459,U+745b-745c,U+745f,U+7470,U+747e,U+7480,U+7487,U+748b,U+749c,U+749e,U+74a7-74a8,U+74e3,U+7529,U+7574,U+7578,U+759a,U+75a1,U+75ae-75af,U+75ca,U+75d2,U+75d5,U+75ea-75eb,U+75f4,U+75f9,U+761f-7620,U+762b,U+763e,U+766b,U+7682,U+7693,U+7696,U+76b1,U+76ce-76cf,U+7736-7738,U+773a,U+7741,U+7766,U+776b,U+777f,U+7785,U+778e,U+7792,U+77a5,U+77a7,U+77aa,U+77bb,U+77bf,U+77d7,U+77e2-77e3,U+77e9,U+77eb,U+77ee,U+77f6,U+780c,U+781a,U+7845,U+7852,U+785d,U+788c,U+789f,U+78be,U+78c5,U+78ca,U+7901,U+7934,U+7941,U+7948,U+795b,U+7960,U+796d,U+796f,U+797a,U+7985,U+79a7,U+79b9-79ba,U+79be,U+79c3,U+79c6,U+79e4,U+79f8,U+79fd,U+7a1a,U+7a20,U+7a3c,U+7a57,U+7a74,U+7a8d,U+7a96,U+7a98,U+7a9c,U+7a9f,U+7aa5-7aa6,U+7ad6,U+7aff,U+7b03,U+7b0b,U+7b1b,U+7b28,U+7b50,U+7b52,U+7b5b,U+7b5d,U+7b77,U+7bc6,U+7bf1,U+7bf7,U+7c07,U+7c27,U+7c38,U+7c3f,U+7c7d,U+7c95,U+7c9f,U+7ca5,U+7caa,U+7cb9,U+7cd5,U+7cd9,U+7cdf,U+7d0a,U+7d6e,U+7e82,U+7eab-7ead,U+7eb6,U+7ec5,U+7ece,U+7ed1,U+7eda,U+7ede,U+7ee2,U+7ee5,U+7eee,U+7ef0,U+7efd,U+7f00,U+7f09,U+7f0e,U+7f15,U+7f20,U+7f24,U+7f2a,U+7f2d-7f2e,U+7f38,U+7f69,U+7f79,U+7f9a,U+7f9e,U+7fa1,U+7fc5,U+7fcc,U+7fd8,U+7fdf,U+7fe9,U+800d,U+8018,U+8038,U+803b,U+803d,U+803f,U+8046,U+804b,U+8098,U+80a2,U+80aa,U+80b4,U+80be,U+80d6,U+80da,U+80e7,U+80f0,U+80f3,U+80fa,U+8116,U+813e,U+8151,U+8155,U+817a-817b,U+818a,U+819d,U+81b3,U+81e7,U+81ed,U+81fb,U+8205,U+820c,U+821c,U+8237-8238,U+8299,U+829c,U+82ad,U+82af,U+82b8-82b9,U+82bd,U+82c7,U+82ce,U+82d1,U+82d3,U+82db,U+82df,U+82ef,U+8301,U+8304,U+831c,U+8327,U+832c,U+8335,U+8339,U+8354,U+835f,U+8367,U+836b,U+837b,U+8386,U+8398,U+839e,U+83b9-83ba,U+83bd,U+83cf,U+83e0,U+83e9,U+8403,U+840c,U+840e,U+841d,U+8426,U+8446,U+846b,U+8471,U+8475,U+849c,U+84b2,U+84c9,U+8517,U+851a,U+853c-853d,U+8549,U+8587,U+85af,U+85c9,U+85d5,U+85dc,U+85e9,U+85fb,U+8611,U+8650,U+8654,U+865e,U+8681-8682,U+868a,U+868c,U+86d9,U+86df,U+86ee,U+8700,U+871a,U+8721,U+8747,U+8749,U+8774,U+8776,U+87f9,U+8862,U+888d,U+889c,U+88d4,U+88d8-88d9,U+88f4,U+88f8-88f9,U+8910,U+8912,U+891a,U+895f,U+89c5,U+8a79,U+8b6c,U+8bb3-8bb4,U+8bb6,U+8bbd,U+8bc0,U+8be3,U+8beb-8bec,U+8bf2,U+8bf5,U+8c06,U+8c0d-8c0e,U+8c19,U+8c1b-8c1c,U+8c23,U+8c34,U+8c41,U+8c79,U+8d1e,U+8d26,U+8d2e,U+8d31,U+8d3b-8d3c,U+8d43,U+8d48,U+8d50,U+8d81,U+8d9f,U+8db4,U+8dcb,U+8de4,U+8dea,U+8e0a,U+8e1e,U+8e22,U+8e29,U+8e35,U+8e44,U+8e4a,U+8e66,U+8e6c,U+8e72,U+8e81,U+8eac,U+8eaf,U+8eb2,U+8f69,U+8f84,U+8f8d,U+8f97,U+8f99,U+8fe2,U+8fe9,U+8fed,U+9017,U+901b,U+901e,U+902e,U+9038,U+9050,U+906e,U+9083,U+9091,U+90aa,U+90af,U+90dd,U+90e1,U+90f4,U+90f8,U+914b-914c,U+915d,U+9165,U+916f,U+9171,U+9175-9176,U+918b,U+91c9,U+91dc,U+946b,U+9489-948a,U+9499,U+94a0,U+94a5,U+94a7,U+94ae,U+94b0,U+94b3,U+94be,U+94ce,U+94e8,U+94ee,U+94f2,U+94f5,U+9504,U+9508,U+950c,U+951a,U+9523-9524,U+952d,U+952f-9530,U+9532,U+9539,U+9540-9541,U+954c-954d,U+9551,U+956d,U+9576,U+95f5,U+95f7,U+95fa,U+9600,U+962a,U+962e,U+9640,U+9647,U+964c,U+9661,U+9668,U+9672,U+9685,U+968b,U+9698-9699,U+96b6,U+96bd,U+96c0,U+96cd,U+96cf,U+96ef,U+9704,U+9713,U+9716,U+9756,U+9761,U+9773,U+9776,U+97a0,U+97e7,U+97ec,U+97f6,U+9885,U+9890,U+98a0,U+98a4,U+9965,U+996a,U+997a,U+997f,U+9985,U+9992,U+99a8,U+9a6d,U+9a6f,U+9a73-9a74,U+9a79,U+9a7c,U+9a82,U+9a85-9a86,U+9a8b,U+9a8f,U+9aa5,U+9ad3,U+9ae6,U+9cb8,U+9cbb,U+9cc4,U+9ccc,U+9cd6-9cd7,U+9cde,U+9e25-9e26,U+9e3d,U+9e4a,U+9e93,U+9ed4,U+9f9f",weight:"400"},{asset:"song/584f6234.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+2f24,U+3001-3002,U+3008-3011,U+3014-3017,U+337b-337e,U+4e00,U+4e03,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e13-4e14,U+4e16,U+4e1a,U+4e1c-4e1d,U+4e24-4e25,U+4e2a,U+4e2d,U+4e30,U+4e34,U+4e39-4e3b,U+4e3d-4e3e,U+4e45,U+4e48-4e49,U+4e4b-4e4c,U+4e4e-4e50,U+4e54,U+4e58,U+4e5d,U+4e5f-4e61,U+4e66,U+4e70-4e71,U+4e86,U+4e88-4e89,U+4e8b-4e8c,U+4e8e-4e8f,U+4e91-4e92,U+4e94-4e95,U+4e9a-4e9b,U+4ea1,U+4ea4,U+4ea7,U+4ea9,U+4eab-4eac,U+4eae,U+4eb2,U+4eba,U+4ebf-4ec1,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed6,U+4ed8,U+4ee3-4ee5,U+4eea,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f01,U+4f0a,U+4f0d,U+4f10-4f11,U+4f17-4f1a,U+4f1f-4f20,U+4f24,U+4f30,U+4f34,U+4f3c,U+4f46,U+4f4d-4f4f,U+4f53,U+4f55,U+4f59,U+4f5c,U+4f60,U+4f73,U+4f7f,U+4f8b,U+4f9b,U+4f9d,U+4fa8,U+4fb5,U+4fbf,U+4fc3-4fc4,U+4fdd,U+4fe1,U+4fee,U+500d,U+5012,U+5019,U+501f,U+503a,U+503c,U+503e,U+5047,U+504f,U+505a,U+505c,U+5065,U+507f,U+50a8,U+50cf,U+513f,U+5143,U+5145,U+5148-5149,U+514b,U+514d,U+515a,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5178,U+517b-517c,U+5185,U+518c-518d,U+5192,U+5199,U+519b-519c,U+51a0,U+51ac,U+51b0,U+51b2-51b3,U+51b5,U+51b7,U+51c6,U+51cf,U+51e0-51e1,U+51ed,U+51fa-51fb,U+5206-5207,U+520a,U+5211-5212,U+5217-521b,U+521d,U+5224,U+5229,U+522b,U+5230,U+5236,U+5238,U+523b,U+5242,U+524d,U+5267,U+526f,U+529b,U+529e-52a1,U+52a3,U+52a8-52aa,U+52b1-52b3,U+52bf,U+52c3,U+52c7,U+52d2,U+52e4,U+5305,U+5316-5317,U+533a-533b,U+5341,U+5343,U+5347-5348,U+534a,U+534e-534f,U+5355-5357,U+535a,U+5360-5361,U+536b,U+5370-5371,U+5373-5374,U+5377,U+5382,U+5385-5386,U+538b,U+539a,U+539f,U+53a6,U+53bb,U+53bf,U+53c2,U+53c8,U+53ca-53cd,U+53d1,U+53d6-53d8,U+53e3-53e6,U+53ea-53ec,U+53ef-53f0,U+53f2-53f3,U+53f6-53f8,U+5403-5404,U+5408-5409,U+540c-540e,U+5411,U+5417,U+5426,U+5428,U+542b-542c,U+542f,U+5434,U+5438,U+544a,U+5458,U+5462,U+5468,U+5473,U+547c-547d,U+548c,U+54c1,U+54c8,U+54cd,U+54e5,U+54ea,U+5510,U+552e-552f,U+5531,U+5546,U+5584,U+559c,U+5668,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f0,U+56f4,U+56fa,U+56fd-56fe,U+571f,U+5728,U+5730,U+5733,U+573a,U+5747,U+574f-5750,U+5757,U+575a,U+5761,U+5766,U+578b,U+57ce,U+57df,U+57f9-57fa,U+5802,U+5851,U+5854,U+585e,U+5883,U+589e,U+58eb,U+58ee,U+58f0,U+5904,U+5907,U+590d,U+590f,U+5916,U+591a,U+591c,U+591f,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+593a,U+5947,U+5949,U+594b,U+5954,U+5956-5957,U+5965,U+5973,U+5979,U+597d,U+5982,U+5987,U+59cb,U+59d4,U+5a01,U+5a5a,U+5b50,U+5b57-5b59,U+5b63,U+5b66,U+5b69,U+5b81,U+5b83,U+5b88-5b89,U+5b8b-5b8c,U+5b8f,U+5b97-5b98,U+5b9a,U+5b9c-5b9e,U+5ba1-5ba4,U+5bab,U+5bb3,U+5bb6,U+5bb9,U+5bbd-5bbe,U+5bc6,U+5bcc,U+5bdf,U+5bf9,U+5bfb-5bfc,U+5c01,U+5c04,U+5c06,U+5c0a,U+5c0f,U+5c11,U+5c14,U+5c1a,U+5c24,U+5c31,U+5c3c-5c3d,U+5c40,U+5c42,U+5c45,U+5c4a-5c4b,U+5c55,U+5c5e,U+5c71,U+5c81,U+5c97,U+5c9b,U+5cb8,U+5ce1,U+5cf0,U+5ddd-5dde,U+5de5-5de6,U+5de8,U+5dee,U+5df1-5df2,U+5df4,U+5e01-5e03,U+5e08,U+5e0c,U+5e10,U+5e26,U+5e2d-5e2e,U+5e38,U+5e45,U+5e55,U+5e72-5e74,U+5e76,U+5e7f,U+5e84,U+5e86,U+5e8a,U+5e8f,U+5e93-5e95,U+5e97,U+5e9c,U+5e9f,U+5ea6-5ea7,U+5ead,U+5eb7,U+5ec9,U+5ef6,U+5efa,U+5f00,U+5f02,U+5f0f,U+5f15,U+5f20,U+5f31,U+5f39-5f3a,U+5f52-5f53,U+5f55,U+5f62,U+5f69,U+5f71,U+5f7b,U+5f80-5f81,U+5f84-5f85,U+5f88,U+5f8b,U+5f90,U+5f97,U+5fae,U+5fb7,U+5fc3,U+5fc5,U+5fd7-5fd9,U+5fe0,U+5feb,U+5ff5,U+6000-6001,U+600e,U+6015,U+601d,U+6025,U+6027,U+603b,U+6062,U+6069,U+606f,U+6076,U+6089,U+60a3,U+60c5,U+60ca,U+60e0,U+60f3,U+610f,U+611f,U+613f,U+620f-6211,U+6216,U+6218,U+6237,U+623f-6240,U+624b,U+624d-624e,U+6253,U+6258,U+6263,U+6267,U+6269,U+626c,U+6276,U+6279,U+627e-6280,U+628a,U+6293,U+6295,U+6297-6298,U+62a2,U+62a4-62a5,U+62b5,U+62bd,U+62c5,U+62c9,U+62cd,U+62d3,U+62db,U+62e5,U+62e8-62e9,U+62ec,U+62ff,U+6301-6302,U+6307,U+6309,U+6311,U+6325,U+632f,U+6350,U+635f,U+6362,U+636e,U+6388-6389,U+638c,U+6392,U+63a2,U+63a5,U+63a7-63a8,U+63aa,U+63d0,U+63e1,U+63f4,U+641e,U+6444,U+6446,U+644a,U+6469,U+64ad,U+64cd,U+652f,U+6536,U+6539,U+653b,U+653e-653f,U+6545,U+6548,U+654f,U+6551,U+6559,U+6562-6563,U+656c,U+6570,U+6574,U+6587,U+6597,U+6599,U+65a4,U+65ad,U+65af-65b0,U+65b9,U+65bd,U+65c5,U+65cf,U+65d7,U+65e0,U+65e2,U+65e6-65e7,U+65e9,U+65f6,U+65fa,U+660c,U+660e,U+6613,U+661f-6620,U+6625,U+662d,U+662f,U+663e,U+6653,U+665a,U+666e-666f,U+667a,U+66b4,U+66f2,U+66f4,U+66fe,U+6700,U+6709,U+670b,U+670d,U+671b,U+671d,U+671f,U+6728,U+672a-672c,U+672f,U+6731,U+673a,U+6742-6743,U+674e,U+6750-6751,U+675f,U+6761,U+6765,U+6768,U+676f-6770,U+677e-677f,U+6781,U+6784,U+6790,U+6797,U+679c,U+67b6,U+67d0,U+67d3,U+67e5,U+67f1,U+6807,U+6811,U+6821,U+682a,U+6837-6839,U+683c,U+6848,U+6863,U+6865,U+6881,U+6885,U+68a6,U+68b0,U+68c0,U+68c9,U+68cb,U+68ee,U+690d,U+697c,U+6982,U+6a21,U+6b21-6b22,U+6b27,U+6b3e,U+6b4c,U+6b62-6b66,U+6b7b,U+6b8a-6b8b,U+6b96,U+6bb5,U+6bcd,U+6bcf,U+6bd2,U+6bd4-6bd5,U+6bdb,U+6c11,U+6c14,U+6c34,U+6c38,U+6c42,U+6c47,U+6c49,U+6c5f,U+6c61,U+6c7d,U+6c88-6c89,U+6c99,U+6ca1,U+6cb3,U+6cb9,U+6cbb,U+6cbf,U+6cc9,U+6cd5,U+6cdb,U+6ce2,U+6ce5,U+6ce8,U+6cf0,U+6cfd,U+6d01,U+6d0b,U+6d17,U+6d1b,U+6d25,U+6d2a,U+6d32,U+6d3b,U+6d3e,U+6d41,U+6d4b,U+6d4e,U+6d59,U+6d6a,U+6d77,U+6d88-6d89,U+6da6,U+6da8,U+6df1,U+6df7,U+6e05,U+6e10,U+6e14,U+6e20-6e21,U+6e29,U+6e2f,U+6e38,U+6e56,U+6e7e,U+6e90,U+6ee1,U+6f14,U+6f5c,U+6f6e,U+6fb3,U+6fc0,U+706b,U+706f,U+7075,U+707e,U+70bc,U+70c8,U+70df,U+70ed,U+7136,U+7164,U+7167,U+719f,U+7231,U+7236,U+7247-7248,U+724c,U+7259,U+725b,U+7267,U+7269,U+7279,U+72af,U+72b6,U+72ec,U+732a,U+732e,U+7387,U+7389,U+738b,U+73af-73b0,U+73cd,U+73e0,U+73ed,U+7403,U+7406,U+745e,U+74e6,U+7518,U+751a,U+751f,U+7528,U+7530-7531,U+7533,U+7535,U+7537,U+753b,U+754c,U+7559,U+7565,U+756a,U+7586,U+7591,U+7597,U+75be,U+75c5,U+75db,U+767b,U+767d-767e,U+7684,U+76ae,U+76c8,U+76ca,U+76d0-76d1,U+76d6,U+76d8,U+76db,U+76df,U+76ee,U+76f4,U+76f8,U+76fe,U+770b,U+771f,U+773c,U+7740,U+7763,U+77db,U+77e5,U+77ed,U+77f3,U+77ff,U+7801,U+7814,U+7834,U+7840,U+786c,U+786e,U+793a,U+793c,U+793e,U+7956,U+795d-795e,U+7965,U+7968,U+7981,U+798f,U+79bb,U+79c0-79c1,U+79cb,U+79cd,U+79d1,U+79d8,U+79df,U+79e9,U+79ef-79f0,U+79fb,U+7a0b,U+7a0e,U+7a33,U+7a3f,U+7a76-7a77,U+7a7a,U+7a7f,U+7a81,U+7acb,U+7ad9,U+7ade-7ae0,U+7ae5,U+7aef,U+7b11,U+7b14,U+7b26,U+7b2c,U+7b49,U+7b51,U+7b54,U+7b56,U+7b79,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7bb1,U+7bc7,U+7c73,U+7c7b,U+7cae,U+7cbe,U+7cfb,U+7d20,U+7d22,U+7d27,U+7d2f,U+7e41,U+7ea0,U+7ea2,U+7ea6-7ea7,U+7eaa,U+7eaf,U+7eb3,U+7eb7-7eb8,U+7eba,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed3,U+7ed5,U+7ed9,U+7edc-7edd,U+7edf,U+7ee7,U+7ee9,U+7eed,U+7ef4,U+7efc,U+7eff,U+7f13,U+7f16,U+7f29,U+7f34,U+7f3a,U+7f51,U+7f57,U+7f5a,U+7f6a,U+7f6e,U+7f72,U+7f8a,U+7f8e,U+7fa4,U+7ffb,U+8001,U+8003,U+8005,U+800c,U+8015,U+804c,U+8054,U+8058,U+805a,U+8083,U+8089,U+80a1,U+80a5,U+80af,U+80b2,U+80c6,U+80cc,U+80dc,U+80e1,U+80fd,U+8111,U+811a,U+8131,U+8150,U+81ea,U+81f3-81f4,U+821e,U+822a,U+822c,U+8239,U+826f-8270,U+8272,U+827a,U+8282,U+82b1,U+82cf,U+82e5-82e6,U+82f1,U+8303,U+8336,U+8349,U+8352,U+8363,U+836f,U+83ab,U+83b7,U+83dc,U+8425,U+8428,U+843d,U+8457,U+8463,U+8499,U+852c,U+85cf,U+8651,U+867d,U+878d,U+8840,U+884c,U+8857,U+8861,U+8863,U+8865,U+8868,U+88ab,U+88c1,U+88c5,U+88d5,U+897f,U+8981,U+89c1-89c2,U+89c4,U+89c6,U+89c8-89c9,U+89d2,U+89e3,U+8a00,U+8a89,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba8-8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc9,U+8bcd,U+8bd5,U+8bd7,U+8bda,U+8bdd,U+8be2,U+8be5,U+8bed,U+8bef,U+8bf4,U+8bf7-8bf8,U+8bfb,U+8bfe,U+8c01,U+8c03,U+8c08,U+8c0b,U+8c13,U+8c22,U+8c37,U+8c61,U+8d1f,U+8d21-8d23,U+8d25,U+8d27-8d28,U+8d2b,U+8d2d,U+8d2f,U+8d34-8d35,U+8d37-8d3a,U+8d44,U+8d54,U+8d5b,U+8d5e,U+8d70,U+8d74-8d77,U+8d85,U+8d8a-8d8b,U+8da3,U+8db3,U+8dc3,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8def,U+8df3,U+8df5,U+8eab,U+8f66,U+8f68,U+8f6c,U+8f6e-8f6f,U+8f7b,U+8f7d,U+8f83,U+8f86,U+8f89,U+8f91,U+8f93,U+8f9b,U+8fb9,U+8fbd-8fbe,U+8fc5,U+8fc7-8fc8,U+8fce,U+8fd0-8fd1,U+8fd4,U+8fd8-8fd9,U+8fdb-8fde,U+8feb,U+8ff0,U+8ff9,U+8ffd,U+9000-9002,U+9009,U+900f-9010,U+9014,U+901a,U+901f-9020,U+9047,U+904d,U+9053,U+9057,U+907f-9080,U+9093,U+90a3,U+90ae,U+90d1,U+90e8,U+90ed,U+90fd,U+914d,U+9152,U+91c7,U+91cc-91cf,U+91d1,U+9274,U+9488,U+949f,U+94a2,U+94b1,U+94c1,U+94f6,U+9500,U+9519,U+9526,U+952e,U+9547,U+957f,U+95e8,U+95ed-95ee,U+95f4,U+95fb,U+9614,U+961f,U+9632-9633,U+9635-9636,U+963f,U+9644-9646,U+9648,U+964d,U+9650,U+9662,U+9664,U+9669,U+9686,U+968f,U+969c,U+96be,U+96c4-96c6,U+96e8,U+96ea,U+96f6-96f7,U+9700,U+9707,U+9732,U+9752,U+9759,U+975e,U+9760,U+9762,U+9769,U+978b,U+97e9,U+97f3,U+9876,U+9879-987b,U+987e-987f,U+9881,U+9884,U+9886,U+9898,U+989d,U+98ce,U+98de-98df,U+9910,U+996d-996e,U+9970,U+9986,U+9996,U+9999,U+9a6c,U+9a7b,U+9a8c,U+9aa8,U+9ad8,U+9c7c,U+9c81,U+9c9c,U+9e21,U+9e4f,U+9ea6,U+9ebb,U+9ec4,U+9ece,U+9ed1,U+9f13,U+9f50,U+9f84,U+9f99,U+fe10-fe19,U+fe30-fe31,U+fe33-fe44",weight:"400"},{asset:"song/17d9b0c9.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+4e01,U+4e08,U+4e11,U+4e18,U+4e1b,U+4e22,U+4e27,U+4e32,U+4e43,U+4e52-4e53,U+4e59,U+4e73,U+4e7e,U+4e9f,U+4ea6,U+4ead,U+4ec6,U+4ed3-4ed4,U+4ed7,U+4ed9,U+4ef0,U+4ef2,U+4eff,U+4f0f,U+4f26,U+4f2a,U+4f2f,U+4f38,U+4f50,U+4f5b,U+4f69,U+4fa6-4fa7,U+4faf,U+4fca,U+4fcf,U+4fd7,U+4fe9,U+4fed,U+4ff1,U+5021,U+502a,U+5076-5077,U+5085,U+50ac,U+50b2,U+5112,U+5141,U+5144,U+5146,U+5151,U+5154,U+5179,U+517d,U+5180,U+5188,U+51af,U+51b6,U+51bb,U+51c0,U+51c9,U+51cc,U+51d1,U+51dd,U+51e4,U+51ef-51f0,U+51f6,U+51fd,U+5200,U+522e,U+5237,U+5239-523a,U+524a,U+5251,U+5265,U+5269-526a,U+5272,U+529d,U+52ab,U+52c9,U+52cb,U+52d8,U+52df,U+52fe,U+5306,U+5308,U+532a,U+5339,U+5349,U+5353,U+535c,U+5362,U+5367,U+5378,U+537f,U+5389,U+5395,U+5398,U+53a2,U+53a8,U+53c9,U+53d4,U+53d9,U+53e0,U+53f9,U+5401,U+540a,U+5410,U+5415,U+541b,U+541e,U+5427,U+5439,U+543e,U+5440,U+5446,U+5448,U+5496,U+54a8,U+54ac,U+54b1,U+54b8,U+54c0,U+54c4,U+54e8,U+54ed,U+54f2,U+5524,U+554a,U+5561,U+5564-5566,U+5580,U+5582,U+558a,U+559d,U+55b7,U+55bb,U+5609,U+5631,U+5634,U+566a,U+56ca,U+5706,U+5708,U+5723,U+572d,U+573e,U+5740,U+574a,U+574e,U+5751,U+575b,U+575d,U+5764,U+576a,U+5782-5784,U+5792,U+57a6,U+57ab,U+57c3,U+57cb,U+57d4,U+5806,U+5821,U+5824,U+582a,U+5835,U+584c,U+5858,U+586b,U+5885,U+5893,U+5899,U+58a8,U+58c1,U+58e4,U+58f3,U+58f6,U+5915,U+5938-5939,U+5948,U+594e-594f,U+5951,U+5960,U+5976,U+5986,U+5988,U+5999,U+59a5,U+59a8,U+59b9,U+59bb,U+59c6,U+59d0-59d1,U+59d3,U+59da,U+59dc,U+59fb,U+59ff,U+5a03,U+5a18,U+5a1c,U+5a31,U+5a46,U+5a74,U+5a92,U+5ac1,U+5acc,U+5ae9,U+5b54-5b55,U+5b5c-5b5d,U+5b5f,U+5b64,U+5b85,U+5b87,U+5baa,U+5bb0,U+5bb4,U+5bbf,U+5bc2,U+5bc4,U+5bd2-5bd3,U+5be8,U+5bf8,U+5bfa,U+5bff,U+5c16,U+5c18,U+5c1d,U+5c39-5c3a,U+5c3e-5c3f,U+5c48,U+5c4f,U+5c60-5c61,U+5c65,U+5c6f,U+5c82,U+5c90,U+5c9a,U+5ca9,U+5cad,U+5cb3,U+5cfb,U+5d07,U+5d14,U+5d1b,U+5d2d,U+5de1,U+5de7,U+5de9,U+5df7,U+5dfe,U+5e05-5e06,U+5e15,U+5e1c-5e1d,U+5e37,U+5e3d,U+5e62,U+5e78,U+5e7b-5e7d,U+5e99,U+5e9e,U+5eb8,U+5eca,U+5ed6,U+5ef7,U+5f03-5f04,U+5f0a,U+5f17-5f18,U+5f1f,U+5f25,U+5f2f,U+5f66,U+5f6a,U+5f6c-5f6d,U+5f70,U+5f79,U+5f7c,U+5f92,U+5fa1,U+5faa,U+5fbd,U+5fc6,U+5fcd,U+5fe7,U+5ffd,U+6012,U+6028,U+602a,U+604b,U+6050,U+6052,U+6068,U+6070,U+6073,U+6084,U+6094,U+609f-60a0,U+60a6,U+60a8,U+60ac,U+60b2,U+60d1,U+60dc,U+60e8-60e9,U+60ef,U+6101,U+6108-6109,U+6124,U+6127,U+6148,U+614e,U+6155,U+6162,U+6167-6168,U+6170,U+61be,U+61c2,U+61c8,U+6208,U+6212,U+621a,U+622a,U+6234,U+6247,U+6251,U+626b,U+626d-626e,U+6270,U+6284,U+6291,U+629a-629b,U+62ab-62ac,U+62b1,U+62bc,U+62c6,U+62d0,U+62d2,U+62d4,U+62d6,U+62d8,U+62da,U+62dc,U+62df,U+62e6,U+62f3,U+62fc,U+6316,U+6321,U+6323-6324,U+6328,U+632a-632b,U+633a,U+633d,U+6349,U+6355,U+635e,U+6367,U+6377,U+6380,U+638f,U+6398,U+63a9,U+63cf,U+63d2,U+63ed,U+63fd,U+640f,U+641c,U+642c-642d,U+643a,U+6447,U+6454,U+6458,U+6478,U+6491-6492,U+649e,U+64a4,U+64b0,U+64c5,U+64e6,U+6500,U+654c,U+655e,U+6566,U+6572,U+658c,U+6591,U+659c,U+65a5,U+65c1,U+65cb,U+65e8,U+65ec-65ed,U+65f1,U+6602,U+6606,U+660f,U+6614,U+6628,U+664b,U+6664,U+6668,U+6670,U+6676,U+6682,U+6691,U+6696-6697,U+66a8,U+66f9,U+66fc,U+66ff,U+6717,U+6734-6735,U+6740,U+6746,U+6749,U+674f,U+675c,U+6760,U+676d,U+679a,U+679d,U+67a2-67a3,U+67aa,U+67af,U+67cf,U+67d4,U+67dc,U+67ec,U+67ef,U+67f3-67f4,U+680b,U+680f,U+683d,U+6842-6843,U+6846,U+684c,U+6850-6851,U+6869,U+6876,U+68a8,U+68af,U+68d2,U+68da,U+68f5,U+6905,U+6912,U+695a,U+699c,U+6a0a,U+6a2a,U+6a61,U+6b20,U+6b23,U+6b32,U+6b3a,U+6b67,U+6b79,U+6bb7,U+6bbf,U+6bc1,U+6bc5,U+6beb,U+6bef,U+6c0f,U+6c1b,U+6c27-6c28,U+6c41,U+6c55,U+6c57,U+6c5b,U+6c5d,U+6c60,U+6c64,U+6c6a,U+6c70,U+6c82-6c83,U+6c9b,U+6c9f,U+6ca7,U+6caa-6cab,U+6cb8,U+6cc4,U+6cca,U+6ce1,U+6cea,U+6cf3,U+6cf5,U+6cfc,U+6d12,U+6d1e,U+6d3d,U+6d45-6d47,U+6d51,U+6d53,U+6d66,U+6d69,U+6d6e,U+6d74,U+6d78,U+6d82,U+6d8c,U+6d9b,U+6d9d,U+6da4,U+6daf,U+6db2,U+6db5,U+6dc0,U+6dc4,U+6dcb,U+6dd1,U+6dd8,U+6de1,U+6deb,U+6dee,U+6df9,U+6dfb,U+6e0a,U+6e17,U+6e24,U+6e34,U+6e58,U+6e5b,U+6e7f,U+6e89,U+6ea2,U+6eaa,U+6eb6,U+6ecb,U+6ed1,U+6eda,U+6ede,U+6ee5,U+6ee8-6ee9,U+6ef4,U+6f02,U+6f06,U+6f0f,U+6f20,U+6f2b,U+6f47,U+6f58,U+6f6d,U+6f9c,U+6fd2,U+704c,U+706d,U+7070,U+7076,U+707f,U+7089,U+708e,U+7092,U+70ac-70ae,U+70b3,U+70b8,U+70c2,U+70e4,U+70e6-70e7,U+70ef,U+710a,U+7115,U+7126,U+714c,U+718a,U+7199,U+71c3,U+71d5,U+7206,U+722c,U+7237-7238,U+723d,U+725f,U+7261-7262,U+7272,U+7275,U+727a,U+72ac,U+72b9,U+72c2,U+72d7,U+72e0,U+72ed-72ee,U+72f1,U+730e,U+731b,U+732b,U+739b,U+73a9,U+73b2,U+73bb,U+741b,U+7433-7434,U+743c,U+7476,U+7483,U+74dc,U+74f6-74f7,U+751c,U+752b,U+7532,U+7538,U+7545,U+754f,U+7554,U+755c,U+758f,U+75ab,U+75b2,U+75bc,U+75c7,U+7624,U+7626,U+764c,U+7686-7687,U+76c6,U+76d2,U+76d7,U+76ef,U+76f2,U+76fc,U+7709,U+7720,U+7750,U+775b,U+7761,U+7779,U+7784,U+77a9,U+77ac,U+7802,U+780d,U+7816,U+7838,U+7855,U+786b,U+788d-788e,U+7891,U+7897-7898,U+78a7,U+78b0-78b1,U+78b3,U+78c1,U+78cb,U+78e8,U+78f7,U+7978,U+7984,U+79bd,U+79c9,U+79d2,U+79e6-79e7,U+7a00,U+7a0d,U+7a3b,U+7a3d,U+7a46,U+7a83-7a84,U+7a91,U+7a97,U+7a9d,U+7ae3,U+7aed,U+7af9,U+7b3c,U+7b4b,U+7bad,U+7bee,U+7c4d,U+7c89,U+7c92,U+7c97-7c98,U+7ca4,U+7cca,U+7cd6,U+7d2b,U+7ea4,U+7eb1-7eb2,U+7eb5,U+7eb9,U+7ebd,U+7ed2,U+7ed8,U+7ee3,U+7eea,U+7ef3,U+7ef5,U+7ef8,U+7f05-7f06,U+7f14,U+7f18,U+7f1a,U+7f1d,U+7f50,U+7f55,U+7f62,U+7fbd,U+7fc1,U+7fd4,U+7fe0,U+7ff0,U+7ffc,U+8000,U+8010,U+8017,U+8033,U+8036,U+8042,U+804a,U+806a,U+8086-8087,U+808c,U+8096,U+809a,U+809d,U+80a0,U+80a4,U+80a9,U+80ba,U+80bf-80c1,U+80c3,U+80ce,U+80de,U+80f6,U+80f8,U+8102,U+8106,U+8109-810a,U+810f,U+8138,U+814a,U+8154,U+8170,U+8179,U+817e-8180,U+818f,U+819c,U+81a8,U+81c2,U+81e3,U+8206,U+820d,U+8212,U+821f,U+8230-8231,U+8236,U+8247,U+8258,U+8273,U+827e,U+8292,U+829d,U+82a6,U+82ac,U+82b3,U+82cd,U+82d7,U+82f9,U+8302,U+8305,U+8328,U+832b,U+8346,U+8350,U+8361,U+8377,U+8389,U+838e,U+83b1-83b2,U+83c7,U+83ca,U+83cc,U+83f1-83f2,U+8404,U+840d,U+8427,U+845b,U+8461,U+846c,U+8482,U+848b,U+84b8,U+84c4,U+84dd,U+84ec,U+8513,U+8521,U+8574,U+857e,U+8584,U+859b,U+85aa,U+85e4,U+864e,U+865a,U+866b,U+8679,U+867e,U+8680,U+8695,U+86c7,U+86cb,U+8702,U+871c,U+87ba,U+884d,U+8854,U+886b-886c,U+8870,U+8877,U+8881,U+888b,U+8896,U+88ad,U+88b1,U+88c2,U+88e4,U+8944,U+8986,U+89e6,U+8a93,U+8bbc,U+8bc8,U+8bca,U+8bd1,U+8bde,U+8be6,U+8bf1,U+8bfa,U+8c05,U+8c0a,U+8c10,U+8c26,U+8c28,U+8c2d,U+8c31,U+8c46,U+8c6a-8c6b,U+8c8c,U+8d1d,U+8d24,U+8d29-8d2a,U+8d2c,U+8d3e-8d3f,U+8d41-8d42,U+8d4b-8d4c,U+8d4f,U+8d56,U+8d5a,U+8d60,U+8d62-8d64,U+8d6b,U+8dcc,U+8dfb,U+8e0f,U+8e2a,U+8e48,U+8eba,U+8f67,U+8f70,U+8f74,U+8f7f,U+8f85,U+8f88,U+8f90,U+8f96,U+8f9c,U+8f9e-8f9f,U+8fa3,U+8fa8-8fa9,U+8fb0-8fb1,U+8fc1,U+8fc4,U+8fdf,U+8fea,U+8ff7,U+9003,U+9006,U+900a,U+9012,U+901d,U+9022,U+903b-903c,U+903e,U+9042,U+904f,U+9063,U+9065,U+906d,U+9075,U+90a2,U+90a6,U+90b1,U+90b5,U+90b9,U+90bb,U+90c1,U+90ca,U+90ce,U+9102,U+916c,U+9177-9178,U+917f,U+9187,U+9189,U+9192,U+91ca,U+9493,U+949e,U+94a6,U+94a9,U+94bb,U+94c3,U+94c5,U+94dc-94dd,U+94ed,U+94f8,U+94fa,U+94fe,U+9501,U+9505,U+950b,U+9510,U+9521,U+953b,U+955c,U+95ea,U+95ef,U+95f2,U+95f8-95f9,U+95fd,U+9601,U+9605,U+960e,U+9610,U+961c,U+9634,U+963b,U+964b,U+9655,U+966a,U+9675-9677,U+9690,U+9694,U+96a7,U+96c1,U+96c7,U+96d5,U+96fe,U+9709,U+970d,U+971c,U+971e,U+9738,U+978d,U+97ad,U+97e6,U+97f5,U+9875,U+9877,U+987d,U+9882,U+9887-9888,U+9891,U+9896-9897,U+989c,U+98d8,U+9971-9972,U+9976,U+997c,U+9988,U+9a70-9a71,U+9a76,U+9a7e,U+9a84,U+9a91,U+9a97,U+9a9a,U+9aa4,U+9b3c,U+9b41-9b42,U+9b44-9b45,U+9b4f,U+9b54,U+9c8d,U+9e1f,U+9e23,U+9e2d,U+9e3f,U+9e45,U+9e64,U+9e70,U+9e7f,U+9e9f,U+9ed8,U+9f0e,U+9f20,U+9f3b,U+9f7f,U+9f9a",weight:"400"},{asset:"song/8c02979a.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+100-103,U+110-113,U+11a-11b,U+128-12b,U+143-144,U+147-148,U+14c-14f,U+168-16d,U+192,U+1a0-1a1,U+1af-1b0,U+1cd-1dc,U+1f8-1f9,U+251,U+261,U+2ca-2cb,U+300-301,U+391-3a1,U+3a3-3a8,U+3b1-3bb,U+3bd-3c9,U+401,U+410-44f,U+451,U+1e3e-1e3f,U+1ea0-1ef9,U+20a9,U+20ab,U+2116,U+25cc,U+4e0c,U+4e28,U+4e2c,U+4e36,U+4e3f,U+4ea0,U+4ec2,U+4f91,U+4f94,U+4fc5,U+502e,U+50ba,U+5107,U+5155,U+5181,U+51f5,U+5216,U+522d,U+5281,U+5290,U+5293,U+52f9,U+5369,U+53a3,U+53b6,U+5423,U+54d5,U+54dc,U+54f3,U+54ff,U+5523,U+552a,U+553c,U+5588,U+55b5,U+55c9,U+5686,U+570a,U+5776,U+5786,U+57a4,U+57f4,U+580b,U+5819,U+5820,U+5865,U+58bc,U+5902,U+5ab5,U+5adc,U+5b32,U+5b65,U+5be4,U+5c1c,U+5c22,U+5c66,U+5c6e,U+5c88,U+5c8d,U+5d3e,U+5ddb,U+5e3b,U+5e80,U+5ee8,U+5f2a,U+5f50,U+5f61,U+5fed-5fee,U+6067,U+609b,U+614a,U+615d,U+619d,U+61d4,U+620b,U+6224-6225,U+62f6,U+6343,U+63ad,U+63be,U+63ce,U+63f2,U+640b-640c,U+6420,U+6434,U+6445,U+6484,U+6496,U+6499,U+64d0,U+64d7,U+6509,U+652e,U+6534,U+6603,U+674c,U+67a8,U+67d9,U+67dd,U+6833,U+6844,U+684a,U+6864,U+6920,U+6957,U+6971,U+6a65,U+6a8e,U+6a91,U+6aa0,U+6b43,U+6bea,U+6bf5,U+6c15,U+6c5c,U+6cd0,U+6d48,U+6d5e,U+6e2b,U+6eb2,U+6ee0,U+6f24,U+6f2d,U+6f46,U+706c,U+70b1,U+70c0,U+717a,U+71e0,U+721d,U+728b,U+72c1,U+72c3,U+72e8,U+72f3,U+7303,U+730a,U+7338-7339,U+734d,U+736c,U+736f,U+73e7,U+746d,U+74a9,U+7513,U+752f,U+754e,U+7592,U+75b0,U+75c4,U+7603,U+762d,U+770d,U+7722,U+7735,U+778d,U+77a2,U+77e7,U+7809,U+7811,U+7839,U+784e,U+7857,U+786d,U+78c9,U+78f2,U+791e,U+7924,U+793b,U+7946,U+7953,U+7967,U+798a,U+799a,U+7a78,U+7a80,U+7b45,U+7b58,U+7b9d,U+7ba2,U+7ba8,U+7bda,U+7cc8,U+7cd7,U+7ec1,U+7f0f,U+7f12,U+7f32-7f33,U+7f68,U+8014,U+8022,U+8025,U+8028-8029,U+8035,U+804d,U+8080,U+809c,U+80ad,U+80b7,U+80c2,U+80d9,U+80e9,U+80ec,U+80f2,U+810e,U+8159,U+817d,U+81a3,U+81aa,U+8201,U+8204,U+8221,U+8223,U+822d,U+825a,U+8274,U+827f,U+82b0,U+82e0,U+8307,U+833c,U+8347,U+836e,U+837d,U+839b,U+83b0,U+83e5,U+83f9,U+8459,U+8487-8488,U+848e,U+84cd,U+84d0,U+84f0,U+8539,U+8579-857a,U+85a8,U+85b7,U+867c,U+86b0,U+86d8,U+86f2,U+871e,U+8723,U+8729,U+8753,U+8764,U+877e,U+8788,U+878b,U+8793,U+8797,U+87b5,U+87d3,U+8803,U+881b,U+8844,U+88d2,U+88fc,U+8930,U+8966,U+89cc,U+89dc,U+89eb,U+8b26,U+8ba0,U+8bf6,U+8c02,U+8c2e,U+8c85,U+8c8a,U+8c98,U+8d33,U+8d47,U+8d55,U+8dbc,U+8e23,U+8e2c,U+8e40,U+8e94,U+8e9c,U+8e9e,U+8ece,U+8f77,U+8f79,U+8f81,U+8fd5,U+8fee,U+9058,U+90b6,U+9139,U+914e-914f,U+9174,U+9191,U+91a2,U+91b5,U+928e,U+943e,U+9494,U+94b6-94b8,U+94de,U+94eb,U+94f4,U+94f9,U+950a,U+950e,U+9516,U+9518,U+951e,U+952b,U+9538,U+953c,U+953e-953f,U+9544,U+954e,U+955f,U+9561,U+9564,U+9569,U+95f6,U+95fc,U+9603,U+960c-960d,U+9622,U+963d,U+9667,U+9674,U+9792,U+9794,U+97ab,U+98a1,U+98a5,U+9969,U+9a80,U+9a96,U+9a98,U+9a9f,U+9ab1,U+9ad1,U+9b0f,U+9b2f,U+9b48,U+9c92,U+9c95,U+9ca6,U+9cb0,U+9cba,U+9cbc,U+9cc6,U+9ccb,U+9cd0,U+9cd8,U+9e32,U+9e38,U+9e3a,U+9e5b,U+9e7e,U+9e88,U+9eb4,U+9ee5,U+9eea,U+9ef9,U+9efb-9efc,U+9f3d,U+9f44,U+9f86,U+9fa0,U+ffe6",weight:"400"},{asset:"song/5201e37a.woff2",family:"SourceHanSerifCN_SemiBold",range:"U+20-7e,U+a0-ff,U+152-153,U+2bb,U+304,U+3a9,U+3bc,U+2002-2003,U+2010-2016,U+2018-201a,U+201c-201e,U+2020-2022,U+2025-2027,U+2030,U+2032-2033,U+2035,U+2039-203c,U+2042,U+2047-2049,U+2051,U+2074,U+20ac,U+2113,U+2122,U+213b,U+2191,U+2193,U+2212,U+2215,U+22ef,U+2e3a-2e3b,U+2f47,U+2f49,U+3000,U+3004,U+301c,U+3250,U+327f,U+32c0-32cf,U+3359-3372,U+3374-337a,U+3380-33cb,U+33cd-33de,U+33e0-33ff,U+65e5,U+6708,U+70b9,U+fb00-fb04,U+ff02-ff0d,U+ff0f,U+ff11,U+ff1c-ff1e,U+ff20,U+ff22-ff23,U+ff26-ff27,U+ff29-ff2c,U+ff2e-ff2f,U+ff31,U+ff39-ff40,U+ff43,U+ff45-ff46,U+ff48,U+ff4a,U+ff50,U+ff55,U+ff57,U+ff5b-ff5e,U+ffe5,U+ffe8",weight:"400"}],mincho:[{asset:"mincho/830e4d9e.woff2",family:"Huiwen_mingchao",range:"U+9d3f,U+9d41-9d43,U+9d46,U+9d49,U+9d51-9d53,U+9d59,U+9d5c-9d5e,U+9d60-9d61,U+9d69-9d6a,U+9d6c,U+9d6e-9d70,U+9d72,U+9d76-9d77,U+9d7e,U+9d82-9d84,U+9d87,U+9d89-9d8a,U+9d8d,U+9d8f,U+9d92-9d93,U+9d96-9d98,U+9d9a,U+9da1,U+9da5,U+9da9-9daa,U+9dac,U+9daf,U+9db2,U+9db4,U+9db9-9dbc,U+9dbf-9dc4,U+9dc7,U+9dc9,U+9dd3,U+9dd6-9dda,U+9dde-9ddf,U+9de5-9de6,U+9de9,U+9deb,U+9dee-9df0,U+9df2-9df4,U+9df8-9dfa,U+9dfc-9dfd,U+9e02,U+9e07,U+9e0a,U+9e0c,U+9e0e,U+9e11,U+9e15,U+9e18,U+9e1a-9e1e,U+9e27,U+9e2e,U+9e30,U+9e3b-9e3c,U+9e50,U+9e52,U+9e56,U+9e59,U+9e61,U+9e65,U+9e6f,U+9e75,U+9e78-9e7d,U+9e80,U+9e83-9e85,U+9e8c,U+9e90-9e91,U+9e95-9e97,U+9e9e,U+9ea4-9ea5,U+9ea9-9eaa,U+9eaf,U+9eb5,U+9eb9-9eba,U+9ebc,U+9ebf-9ec0,U+9ec3,U+9ec8,U+9ecc,U+9ed2,U+9ed9-9eda,U+9ede,U+9ee1,U+9ee6,U+9ee8,U+9eee,U+9ef0,U+9ef2,U+9ef4,U+9ef6-9ef7,U+9efd,U+9eff,U+9f02-9f03,U+9f07-9f09,U+9f0f,U+9f12,U+9f14-9f16,U+9f18,U+9f1a-9f1b,U+9f1d-9f1f,U+9f21,U+9f25,U+9f27,U+9f2a-9f2b,U+9f2e,U+9f34,U+9f41,U+9f45-9f47,U+9f49-9f4b,U+9f4e-9f4f,U+9f52-9f55,U+9f57-9f5a,U+9f5c-9f5d,U+9f5f-9f63,U+9f66-9f67,U+9f69-9f6a,U+9f6c,U+9f6e-9f6f,U+9f72,U+9f76-9f77,U+9f7c,U+9f8d-9f98,U+9f9c-9f9e,U+9fa1-9fa4,U+9fbb,U+e000-e005,U+e008-e009,U+e00e-e010,U+e014,U+e017,U+e01a,U+e01d,U+e020,U+e023-e024,U+e02e,U+e031,U+e033,U+e037-e038,U+e03a,U+e040,U+e045,U+e047,U+e04c,U+e051-e052,U+e055,U+e05f-e061,U+e06f,U+e071,U+e079,U+e07b,U+e07f,U+e081,U+e083-e084,U+e089-e08a,U+e08d-e08f,U+e09b-e09f,U+e0a6,U+e0a8,U+e0ab-e0ae,U+e0b0,U+e0b3,U+e0b9-e0ba,U+e0bc,U+e0be,U+e0c1,U+e0c3,U+e0c7-e0c8,U+e0ca-e0cb,U+e0ce-e0d2,U+e0d5,U+e0d7-e0d9,U+e0e4,U+e0eb,U+e0ef,U+e0f1-e0f3,U+e0fa-e0fb,U+e0fd-e0ff,U+e101,U+e103-e105,U+e107,U+e109,U+e10b-e10c,U+e110,U+e116,U+e118-e11b,U+e11e,U+e121-e122,U+e125-e127,U+e129,U+e12d-e130,U+e134-e135,U+e139-e13a,U+e13d-e13e,U+e141,U+e145-e146,U+e149,U+e14c,U+e14e,U+e151,U+e153-e154,U+e156,U+e15a-e15b,U+e15d-e15f,U+e161-e162,U+e166,U+e170,U+e173,U+e175,U+e177-e178,U+e17e,U+e180,U+e187,U+e18c-e18d,U+e192-e194,U+e1a0,U+e1a3,U+e1a6,U+e1a8,U+e1af,U+e1b4,U+e1b6,U+e1bc-e1be,U+e1c0,U+e1c2-e1c3,U+e1c5,U+e1c7-e1c9",weight:"400"},{asset:"mincho/d6820235.woff2",family:"Huiwen_mingchao",range:"U+e5c0,U+e5c5,U+e5c7,U+e5cd-e5ce,U+e5d2,U+e5d5,U+e5d7,U+e5dd-e5de,U+e5e1,U+e5e4-e5e6,U+e5e8-e5ea,U+e5ec-e5ed,U+e5f0-e5f3,U+e5f8,U+e5fa,U+e5ff-e600,U+e602-e604,U+e608,U+e60a,U+e60f,U+e611-e612,U+e614,U+e616,U+e618,U+e61b,U+e61d,U+e620-e621,U+e623-e624,U+e627-e628,U+e62a,U+e62c,U+e62e,U+e631,U+e635,U+e637-e638,U+e63a,U+e63d-e63f,U+e644-e649,U+e64c,U+e656,U+e658,U+e65a-e65f,U+e664,U+e666-e66a,U+e66d-e66e,U+e673,U+e679,U+e67d-e67e,U+e681-e682,U+e685-e687,U+e68a-e68c,U+e68e-e68f,U+e691,U+e693,U+e695,U+e69a,U+e69e,U+e6a7-e6aa,U+e6ac-e6ad,U+e6b0,U+e6b5-e6b6,U+e6b8-e6b9,U+e6bb-e6bf,U+e6c1-e6c2,U+e6c5-e6c6,U+e6c8,U+e6cc-e6cd,U+e6cf,U+e6d2-e6d8,U+e6da-e6dc,U+e6de,U+e6e3-e6e4,U+e6e8,U+e6ea-e6ed,U+e6ef-e6f0,U+e6f2-e6f3,U+e6f6-e6f9,U+e6fb-e6ff,U+e701,U+e704,U+e707-e708,U+e70c,U+e711-e712,U+e71a,U+e71d,U+e722-e724,U+e726,U+e728-e729,U+e72b,U+e72d,U+e732-e733,U+e735,U+e739-e73b,U+e73d-e73e,U+e741,U+e743-e744,U+e749-e74e,U+e755-e757,U+e855,U+eeee,U+f91d,U+f928-f929,U+f936,U+f940,U+f970,U+f9b8,U+f9d0,U+f9dc,U+fa10,U+fa18-fa19,U+fa1b,U+fa22,U+fa26,U+fa30-fa3b,U+fa3d-fa45,U+fa47-fa48,U+fa4b-fa4c,U+fa50-fa52,U+fa54,U+fa56-fa57,U+fa59-fa5c,U+fa5f-fa65,U+fa67-fa6a,U+fa7f,U+faa5,U+fe45-fe46,U+ff01-ff8f",weight:"400"},{asset:"mincho/5513e1aa.woff2",family:"Huiwen_mingchao",range:"U+e1ca-e1cd,U+e1d1-e1d4,U+e1d8,U+e1db,U+e1de,U+e1e0,U+e1e2-e1e3,U+e1ef,U+e1f3,U+e1f7,U+e201,U+e204,U+e207,U+e20b-e20d,U+e219,U+e21b,U+e220,U+e225-e226,U+e228,U+e22a,U+e22c-e22e,U+e232-e233,U+e236,U+e238,U+e23a-e23b,U+e23e-e23f,U+e241,U+e243-e244,U+e24a-e24b,U+e24e-e254,U+e256-e259,U+e25b,U+e25d,U+e25f-e265,U+e267-e268,U+e26a-e26d,U+e26f-e272,U+e276-e279,U+e27b,U+e27d-e27e,U+e281-e282,U+e286,U+e291,U+e29a,U+e2a1,U+e2a6,U+e2af,U+e2b9,U+e2bb,U+e2bd,U+e2bf,U+e2c1-e2c2,U+e2c4,U+e2cd,U+e2cf-e2d4,U+e2d7-e2d9,U+e2df,U+e2e6,U+e2eb,U+e2ef,U+e2f3,U+e305-e306,U+e308,U+e30a-e30d,U+e316,U+e31a,U+e327,U+e32d-e32e,U+e331,U+e336-e337,U+e33a,U+e33d,U+e341,U+e34c-e34f,U+e351,U+e358,U+e35b-e35c,U+e35e,U+e362-e365,U+e367,U+e369-e36a,U+e36c-e371,U+e378,U+e37b-e37c,U+e37e,U+e380-e381,U+e385,U+e387-e388,U+e38a,U+e38e-e390,U+e392,U+e397-e399,U+e39c,U+e39f-e3a0,U+e3a2,U+e3a5-e3a8,U+e3aa,U+e3ad-e3ae,U+e3b0,U+e3b2-e3b7,U+e3b9,U+e3bb,U+e3c1,U+e3c5,U+e3c7-e3c9,U+e3ce,U+e3d0-e3d1,U+e3d3,U+e3d7,U+e3d9-e3dc,U+e3de-e3df,U+e3e2-e3e3,U+e3e5-e3e7,U+e3e9,U+e3eb,U+e3ee,U+e3f0-e3f1,U+e3fc-e3fd,U+e3ff,U+e401,U+e406,U+e40a,U+e40e-e40f,U+e415-e417,U+e419,U+e41d-e41e,U+e420,U+e423,U+e425,U+e427,U+e42c-e42d,U+e431,U+e433-e435,U+e438,U+e43a-e43b,U+e43e,U+e440,U+e442-e443,U+e449,U+e44b,U+e44f,U+e452,U+e456,U+e458-e459,U+e461,U+e469,U+e46b,U+e46f,U+e471-e473,U+e47a,U+e47d-e481,U+e484-e487,U+e490,U+e492,U+e49a,U+e49d-e4a0,U+e4a5-e4a6,U+e4a9,U+e4ab-e4ac,U+e4b1,U+e4b4,U+e4b6,U+e4c0,U+e4c3-e4c5,U+e4cb-e4cc,U+e4d0,U+e4d4-e4d5,U+e4d7-e4d9,U+e4db,U+e4dd,U+e4df-e4e1,U+e4e4-e4e6,U+e4e9-e4ec,U+e4ef,U+e4f2-e4f4,U+e4f8-e4fb,U+e4fd-e4ff,U+e505,U+e507-e508,U+e50a-e513,U+e516-e518,U+e51d-e51e,U+e521,U+e523,U+e525-e526,U+e529-e52c,U+e52e-e52f,U+e531,U+e533-e534,U+e539,U+e53c,U+e546-e547,U+e549,U+e550-e554,U+e557-e558,U+e562,U+e564-e568,U+e56a-e56b,U+e56e,U+e572-e575,U+e579,U+e581-e582,U+e584,U+e589-e58b,U+e593,U+e59b,U+e59f-e5a0,U+e5aa-e5ae,U+e5b2-e5b4,U+e5b6,U+e5b8-e5b9,U+e5bb,U+e5be",weight:"400"},{asset:"mincho/48b63d0d.woff2",family:"Huiwen_mingchao",range:"U+2c7-2c8,U+2cc,U+2d0-2d1,U+2d8-2d9,U+2db,U+2dd-2de,U+2e5-2e9,U+302,U+306,U+30b-30c,U+30f,U+318-31a,U+31c-320,U+324,U+32a,U+32c,U+32f-330,U+334,U+339-33d,U+361,U+2103,U+210f,U+2121,U+2127,U+212b,U+2135,U+2153-2155,U+2160-216b,U+2170-217b,U+2190,U+2192,U+2194,U+2196-2199,U+21c4,U+21d2,U+21d4,U+21e6-21e9,U+2200,U+2202-2203,U+2205,U+2207-2209,U+220b,U+2213,U+221a,U+221d-2220,U+2225-222c,U+222e,U+2234-2235,U+223d,U+2243,U+2245,U+2248,U+2252,U+2260-2262,U+2266-2267,U+226a-226b,U+2276-2277,U+2282-2287,U+228a-228b,U+2295-2297,U+22a5,U+22bf,U+22da-22db,U+2305-2306,U+2312,U+2318,U+23be-23cc,U+23ce,U+2423,U+2460-2473,U+24d0-24e9,U+24eb-24fe,U+2500-2503,U+250c,U+250f-2510,U+2513-2514,U+2517-2518,U+251b-251d,U+2520,U+2523-2525,U+2528,U+252b-252c,U+252f-2530,U+2533-2534,U+2537-2538,U+253b-253c,U+253f,U+2542,U+254b,U+25a0-25a1,U+25b1-25b3,U+25b6-25b7,U+25bc-25bd,U+25c0-25c1,U+25c6-25c7,U+25c9,U+25cb,U+25ce-25d3,U+25e6,U+25ef,U+2600-2603,U+2605-2606,U+2609-260e,U+2616-2617,U+261e,U+263c-2653,U+2660-266f,U+ff90-ff9f,U+ffe3,U+ffe5",weight:"400"},{asset:"mincho/7f8eb8b4.woff2",family:"Huiwen_mingchao",range:"U+98d7,U+98db-98dc,U+98e0-98e5,U+98e9-98eb,U+98ed-98ef,U+98f1-98f2,U+98f4,U+98fc-98ff,U+9901,U+9903-9905,U+9908-990a,U+990c,U+990e-990f,U+9911-9913,U+9918,U+991a-991c,U+991e,U+9920-9921,U+9927-9928,U+992c,U+9931,U+9933,U+9935-9937,U+9939-993f,U+9942-9943,U+9945,U+9948-994d,U+9951-9952,U+9957,U+995c-995f,U+9962,U+9966,U+9973,U+9978-9979,U+997b,U+9983,U+9989,U+998e,U+99ac-99ae,U+99b1,U+99b3-99b4,U+99bf,U+99c1,U+99c4-99c6,U+99c8,U+99d0-99d2,U+99d4-99d5,U+99d8-99d9,U+99db,U+99dd-99df,U+99e1-99e2,U+99ed-99ee,U+99f1,U+99f8,U+99ff,U+9a01,U+9a03,U+9a05,U+9a08,U+9a0c-9a10,U+9a12-9a13,U+9a16,U+9a19,U+9a23,U+9a28,U+9a2b,U+9a2d-9a2e,U+9a30,U+9a36-9a38,U+9a3e,U+9a40-9a45,U+9a4a,U+9a4d,U+9a4f,U+9a52,U+9a55,U+9a57-9a58,U+9a5a-9a5b,U+9a5f,U+9a62,U+9a64-9a65,U+9a69-9a6a,U+9a8e,U+9aab,U+9aad,U+9aaf,U+9ab3,U+9abb,U+9abd-9abe,U+9ac4,U+9ac8,U+9acf,U+9ad2,U+9ad4-9ad6,U+9ad9,U+9ae0,U+9ae2-9ae5,U+9ae7,U+9ae9-9aea,U+9aee,U+9af2,U+9af4,U+9afd,U+9b00-9b02,U+9b04,U+9b06,U+9b09,U+9b0b-9b0e,U+9b10-9b12,U+9b18,U+9b1a,U+9b1c,U+9b22,U+9b25-9b2a,U+9b2c-9b2e,U+9b30-9b31,U+9b4e,U+9b58,U+9b5a-9b5b,U+9b5e-9b5f,U+9b68,U+9b6f,U+9b74,U+9b77,U+9b80-9b81,U+9b83-9b84,U+9b86,U+9b8b-9b8e,U+9b90-9b93,U+9b96,U+9b9a,U+9b9d-9b9f,U+9ba3,U+9ba6,U+9baa-9bab,U+9bad-9bae,U+9bb4,U+9bba,U+9bbf-9bc1,U+9bc6-9bca,U+9bce-9bcf,U+9bd1-9bd2,U+9bd4-9bd7,U+9bda-9bdb,U+9bdd,U+9be0-9be2,U+9be4-9be5,U+9be7-9be8,U+9bea-9beb,U+9bf0-9bf6,U+9bfd,U+9bff,U+9c02,U+9c06,U+9c08-9c09,U+9c0b-9c0d,U+9c10,U+9c12-9c13,U+9c15,U+9c1b-9c1c,U+9c1f-9c20,U+9c23-9c25,U+9c27-9c29,U+9c2d-9c33,U+9c35-9c37,U+9c39-9c3c,U+9c3e,U+9c45,U+9c47-9c49,U+9c52-9c54,U+9c56-9c58,U+9c5a,U+9c5d,U+9c5f-9c60,U+9c63,U+9c67-9c68,U+9c6d-9c6e,U+9c72,U+9c75,U+9c77-9c78,U+9c7a-9c7b,U+9c7d,U+9c8a,U+9c8f,U+9c96-9c97,U+9c99,U+9c9d,U+9cbf,U+9cc1,U+9cd1-9cd2,U+9cdb,U+9ce3,U+9ce5-9ce7,U+9ce9,U+9cec,U+9cee,U+9cf0,U+9cf2-9cf4,U+9cf6,U+9cfe,U+9d02,U+9d06-9d09,U+9d0e,U+9d12,U+9d15,U+9d1a-9d1b,U+9d1d-9d1f,U+9d23,U+9d25-9d26,U+9d28,U+9d2b-9d2c,U+9d2f-9d30,U+9d34,U+9d37,U+9d3b,U+9d3d",weight:"400"},{asset:"mincho/23249574.woff2",family:"Huiwen_mingchao",range:"U+9373,U+9375-9376,U+937a,U+937c,U+937e,U+9382-9384,U+9387,U+938a-938c,U+9394,U+9396-9398,U+939a-939b,U+939e,U+93a1-93a3,U+93a6-93a7,U+93a9-93aa,U+93ac-93ae,U+93b0,U+93b3,U+93b5,U+93b7-93bb,U+93bf,U+93c1,U+93c3,U+93c7-93c8,U+93cc-93cd,U+93d0-93d1,U+93d7-93d8,U+93dc-93df,U+93e1-93e2,U+93e4,U+93e6,U+93e8,U+93ed-93ee,U+93f0,U+93f5,U+93f7,U+93f9-93fa,U+93fd,U+9403,U+940b,U+940d-9410,U+9412-9414,U+9418-9419,U+941d,U+9420,U+9425-9428,U+942b,U+942d-942f,U+9432-9433,U+9435-9436,U+9438,U+943a,U+943d,U+943f,U+9444,U+944a,U+944c,U+9451-9455,U+945a-945b,U+945e,U+9460,U+9462-9465,U+946a,U+946d,U+9470-9472,U+9474-9475,U+9477,U+9479,U+947c-947f,U+9481-9482,U+9496,U+9498,U+94c7,U+94cf,U+94d3,U+94e6,U+9527,U+9543,U+954b,U+955a,U+956e,U+9574,U+9577,U+9580,U+9582-9583,U+9586,U+9589-958c,U+958e-958f,U+9591-9594,U+9596,U+9598-9599,U+95a1-95a5,U+95a7-95a9,U+95ab-95ad,U+95b1-95b2,U+95b6,U+95b9,U+95bb-95bf,U+95c3,U+95c6-95c8,U+95ca-95cc,U+95d0,U+95d3-95d6,U+95d8,U+95da,U+95dc,U+95de,U+95e1-95e2,U+95e5,U+95ff,U+9628,U+962c,U+962f,U+964f,U+9658,U+965c-965e,U+9663,U+9665,U+9670,U+9673,U+9678,U+967a-967b,U+967d,U+967f,U+9682,U+9684,U+9689-968a,U+968e,U+9695-9696,U+969b,U+96a0,U+96a3,U+96a8,U+96aa,U+96b1,U+96b4,U+96b7-96b8,U+96bb,U+96ca-96cb,U+96d1,U+96d6,U+96d9,U+96db-96df,U+96e2-96e3,U+96eb,U+96f0,U+96f2,U+96fb,U+970a,U+9711,U+9727,U+973d,U+9742,U+9744,U+9746,U+9748-9749,U+9751,U+975a,U+975c,U+9766,U+9768,U+976a,U+976d,U+9770-9771,U+9777-9778,U+977a,U+977f,U+9783-9784,U+9786,U+9789,U+978c,U+978f-9790,U+979a,U+979d,U+97a1,U+97a5-97a8,U+97ac,U+97ae,U+97b3,U+97b5-97b6,U+97b8-97ba,U+97bd-97be,U+97c1,U+97c3,U+97c5-97c6,U+97c8-97c9,U+97cb-97cd,U+97d3,U+97d9,U+97dc,U+97de,U+97e4,U+97e8,U+97ee,U+97fb,U+97ff,U+9801-9803,U+9805-9808,U+980a,U+980c,U+980e-9813,U+9817-9818,U+981a,U+981c,U+981f,U+9821,U+9824,U+9826,U+982b-982d,U+9830,U+9832,U+9834,U+9837-9839,U+983b-983d,U+9846-9847,U+984b-984f,U+9852-9856,U+9858-985b,U+985e,U+9862-9863,U+9865-9867,U+986b-986c,U+986f-9871,U+9873-9874,U+988b,U+9899,U+98a8,U+98aa,U+98ad-98af,U+98b1,U+98b3,U+98b6-98b8,U+98ba-98bc,U+98bf-98c0,U+98c2-98c9,U+98d4,U+98d6",weight:"400"},{asset:"mincho/e0d8cfc8.woff2",family:"Huiwen_mingchao",range:"U+8ea6-8ea7,U+8ea9-8eaa,U+8ead-8eae,U+8eb0-8eb1,U+8eb3,U+8eb6,U+8ebe,U+8ec0,U+8ec8,U+8eca-8ecd,U+8ed2,U+8ed4,U+8edb,U+8edf,U+8ee2,U+8ee4,U+8eeb,U+8ef2,U+8ef8-8efe,U+8f03,U+8f05,U+8f07,U+8f09-8f0a,U+8f12-8f15,U+8f19,U+8f1b-8f1f,U+8f25-8f26,U+8f29-8f2a,U+8f2d,U+8f2f,U+8f33,U+8f36,U+8f38,U+8f3b,U+8f3e-8f3f,U+8f42,U+8f44-8f46,U+8f49,U+8f4c-8f4e,U+8f54,U+8f5f,U+8f61-8f62,U+8f64,U+8fa0,U+8fa2,U+8fa4,U+8fa6-8fa7,U+8fad-8faf,U+8fb2-8fb3,U+8fb5,U+8fb7,U+8fba-8fbc,U+8fbf,U+8fc6,U+8fca,U+8fda,U+8fe0,U+8ff4,U+8ffa-8ffb,U+9008,U+9013,U+9015,U+9019,U+9023,U+9025,U+9029,U+9031-9032,U+9039,U+9045,U+9049-904b,U+904e,U+9054-9056,U+9059,U+905c,U+905e,U+9060-9061,U+9069,U+906f,U+9072,U+9076-9078,U+907a,U+907c,U+9081,U+9084,U+9087,U+908a,U+908f-9090,U+90a0,U+90a8,U+90c3,U+90de-90df,U+90ea,U+90f0,U+90f5,U+90f7,U+90ff,U+9106,U+9109,U+9112,U+9114-9116,U+911c,U+9120,U+9127,U+912d,U+9130,U+9132,U+9134,U+9136,U+913a,U+913f,U+9148,U+9154,U+9156,U+915b,U+9167,U+917a-917b,U+9181,U+9183,U+9186,U+918a,U+918e,U+9193,U+9195-9197,U+919c-919e,U+91a4,U+91a8,U+91ab-91ac,U+91b0-91b2,U+91b8,U+91bb-91be,U+91c0-91c6,U+91c8,U+91cb,U+91d0,U+91d2-91d5,U+91d7-91d9,U+91dd,U+91e2-91e4,U+91e6-91e7,U+91e9,U+91ec-91ed,U+91f5-91f7,U+91f9-91fb,U+91fe,U+9200-9201,U+9203-9209,U+920d-920e,U+9210-9212,U+9214-9215,U+921e,U+9221,U+9223,U+9225-9227,U+922e,U+9230,U+9233-9234,U+9237-923a,U+923d-9240,U+9244-9246,U+9248-9249,U+924b,U+924d,U+924f,U+9251,U+9255,U+9257,U+925a-925b,U+925e,U+9262,U+9264-9266,U+926b-926d,U+9271,U+9276,U+9278,U+927a-927b,U+927e-9280,U+9283,U+9285,U+928d,U+9291-9293,U+9295-9296,U+9298,U+929a-929c,U+92a0,U+92a3-92ad,U+92b1-92b3,U+92b7,U+92b9,U+92bb-92bc,U+92be,U+92c1,U+92c3,U+92c5-92c7,U+92ca,U+92cc,U+92cf,U+92d2,U+92d9,U+92dd,U+92df,U+92e3-92ea,U+92ed-92f3,U+92f6,U+92f8,U+92fc,U+9301,U+9304,U+9306-9308,U+930f-9310,U+9312,U+9315,U+9318-931b,U+931e-9322,U+9326,U+9328-9329,U+932b-932c,U+932e-932f,U+9332-9333,U+9336,U+9338,U+933a-933b,U+9340-9341,U+9343,U+9346-9347,U+934a-934b,U+934d,U+9354,U+9358,U+935a-935b,U+9360,U+9364-9366,U+9369,U+936b-936e,U+9370-9371",weight:"400"},{asset:"mincho/c27f9909.woff2",family:"Huiwen_mingchao",range:"U+89bd,U+89bf-89c0,U+89c3,U+89d4-89d5,U+89dd,U+89e7,U+89e9,U+89ed,U+89f1,U+89f4-89f6,U+89f8,U+89ff,U+8a01-8a04,U+8a08,U+8a0a,U+8a0c,U+8a0e-8a13,U+8a15-8a18,U+8a1b,U+8a1d,U+8a1f,U+8a22-8a23,U+8a25,U+8a27,U+8a29-8a2a,U+8a2d,U+8a31,U+8a33-8a34,U+8a36,U+8a3a-8a3c,U+8a41,U+8a45-8a46,U+8a4e,U+8a50-8a52,U+8a54-8a58,U+8a5b,U+8a5e-8a63,U+8a66-8a67,U+8a69,U+8a6b-8a6e,U+8a70-8a73,U+8a75-8a76,U+8a7c,U+8a7f,U+8a82,U+8a84-8a87,U+8a8c-8a8d,U+8a91-8a92,U+8a95-8a96,U+8a98,U+8a9a,U+8a9e,U+8aa0-8aa1,U+8aa3-8aa6,U+8aa8,U+8aaa,U+8aac-8aad,U+8ab0,U+8ab2,U+8ab6,U+8ab9,U+8abc,U+8abe-8abf,U+8ac2,U+8ac4,U+8ac6-8ac7,U+8ac9,U+8acb,U+8acd,U+8acf,U+8ad1-8ad2,U+8ad6-8ad7,U+8ad9-8ae2,U+8ae4,U+8ae6-8ae7,U+8aeb,U+8aed-8aee,U+8af1,U+8af3-8af4,U+8af6-8af8,U+8afa,U+8afc,U+8afe,U+8b00-8b02,U+8b04-8b06,U+8b0a,U+8b0c,U+8b0e-8b11,U+8b14,U+8b16-8b17,U+8b19-8b1b,U+8b1d,U+8b1f-8b21,U+8b28-8b29,U+8b2b-8b2c,U+8b33,U+8b37,U+8b39,U+8b3b-8b3c,U+8b3e,U+8b41,U+8b43,U+8b45-8b46,U+8b48-8b4a,U+8b4c-8b4f,U+8b54,U+8b56,U+8b58-8b5c,U+8b5f,U+8b6b,U+8b6d,U+8b6f-8b70,U+8b72,U+8b74,U+8b77-8b78,U+8b7d-8b7e,U+8b80-8b81,U+8b83,U+8b85,U+8b8a-8b8c,U+8b8e-8b90,U+8b92-8b96,U+8b99-8b9a,U+8b9c,U+8b9e-8b9f,U+8bbb,U+8bc7,U+8c09,U+8c1e,U+8c3f,U+8c48,U+8c4a,U+8c4e-8c50,U+8c53-8c54,U+8c68,U+8c6c,U+8c6e,U+8c76,U+8c86,U+8c8d,U+8c93,U+8c9b,U+8c9d-8c9e,U+8ca0-8ca2,U+8ca7-8cad,U+8caf-8cb0,U+8cb2-8cb4,U+8cb6-8cb8,U+8cba-8cbd,U+8cbf-8cc5,U+8cc7-8cca,U+8ccd-8cce,U+8cd1-8cd3,U+8cd5,U+8cd9-8cdc,U+8cde,U+8ce0-8ce4,U+8ce6-8ce7,U+8cea-8ced,U+8cf4-8cf5,U+8cf8,U+8cfa-8cfe,U+8d04-8d05,U+8d08,U+8d0a-8d0b,U+8d0d,U+8d0f-8d11,U+8d13,U+8d16-8d17,U+8d1b-8d1c,U+8d52,U+8d57,U+8d6a,U+8d6c,U+8d71,U+8d78,U+8d82,U+8d8d,U+8d95,U+8d99,U+8da6,U+8da8,U+8daf,U+8db2,U+8db9,U+8dc1-8dc2,U+8dc5,U+8dd0,U+8dd2,U+8de1,U+8de5-8de6,U+8df4,U+8dfc,U+8e01,U+8e10,U+8e16,U+8e18,U+8e21,U+8e25-8e27,U+8e2b,U+8e30,U+8e34,U+8e36,U+8e3c,U+8e4c,U+8e4f,U+8e54-8e55,U+8e5a,U+8e5f-8e60,U+8e63-8e64,U+8e67,U+8e6e,U+8e75,U+8e7a-8e7b,U+8e82-8e84,U+8e89-8e8b,U+8e8d,U+8e91-8e93,U+8e95,U+8e97,U+8e99-8e9a,U+8ea0-8ea1,U+8ea5",weight:"400"},{asset:"mincho/a703591d.woff2",family:"Huiwen_mingchao",range:"U+813a,U+8141,U+814e,U+8156,U+8158,U+815f,U+8161,U+8166,U+816b,U+816f,U+8172-8173,U+8177-8178,U+8181,U+8183,U+8186,U+818b,U+8193,U+8195,U+8197,U+8199-819a,U+819e-81a0,U+81a9,U+81ac,U+81b0,U+81b4-81b5,U+81bd-81bf,U+81c4,U+81c8-81c9,U+81cb,U+81cd,U+81cf-81d1,U+81d3,U+81d5,U+81d7-81e0,U+81e2,U+81e4-81e6,U+81e8,U+81ef,U+81f2,U+81fa,U+81ff,U+8203,U+8207-820a,U+820e,U+8216-8218,U+8220,U+8229,U+8232,U+8245,U+824e,U+8257,U+8259,U+825e,U+8262-8264,U+8266,U+826a-826b,U+826d,U+8271,U+8276-8278,U+82b2,U+82bb,U+82c6,U+82e7,U+82fa,U+8310,U+8313,U+8318,U+8332,U+8345,U+834a,U+834d,U+8358,U+8373,U+838a,U+8396,U+83a2,U+83a7,U+83c9,U+83ce,U+83d1,U+83d3,U+83ef,U+83f4,U+8407,U+840a,U+841a,U+8420,U+8422,U+8429,U+842c,U+8432,U+8435,U+8449-844a,U+844e,U+8452,U+8460,U+8464,U+8466,U+846f,U+8477,U+8485,U+8490,U+8493-8494,U+849e-849f,U+84bb-84bc,U+84c0,U+84c6,U+84cb,U+84d9,U+84e1,U+84e8,U+84ee-84ef,U+84f4,U+84fd,U+8506,U+8514-8515,U+851e,U+8523,U+8525-8526,U+852d,U+8534-8535,U+853e,U+8541,U+8546,U+854b,U+854e,U+8552-8553,U+8555,U+8558,U+855a,U+8562,U+8569-856a,U+856d,U+8577,U+857f,U+8588,U+858a,U+858c,U+8590-8591,U+8594,U+8599,U+859f,U+85a6,U+85a9,U+85ab-85ad,U+85ba,U+85cd-85ce,U+85dd,U+85e5,U+85ea,U+85ed,U+85f6-85f7,U+85f9-85fa,U+85fc,U+8600,U+8602,U+8604,U+8606-8607,U+860a-860b,U+8610,U+8613,U+8617,U+861a,U+861d-861e,U+8622,U+8624,U+862d,U+863a,U+863f,U+8655-8656,U+8659,U+865b-865c,U+865f,U+8661,U+8667,U+8669,U+866f-8670,U+8675,U+8687,U+8691,U+8696,U+8698,U+86a6,U+86ab,U+86b3,U+86bf,U+86cc-86cd,U+86d5,U+86e3,U+86ef,U+86fa-86fc,U+8706,U+870b,U+870e,U+8711,U+8716,U+8728,U+8730,U+8739-873a,U+873c,U+8740,U+8743,U+874b,U+874d,U+8755,U+8758,U+875d,U+875f,U+8761,U+8766,U+8768,U+876f,U+8771,U+8778,U+8784,U+878e,U+8798-8799,U+879e,U+87a1-87a3,U+87ae,U+87bb,U+87be-87bf,U+87c1,U+87c4,U+87c7-87c8,U+87ce-87cf,U+87d5,U+87dc,U+87df,U+87e2-87e3,U+87eb-87ec,U+87ef,U+87f2,U+87f5-87f6,U+87fa-87fb,U+8805-8806,U+8809,U+880b,U+880d,U+880f-8812,U+8814,U+8818-8819,U+881c,U+881f,U+8823,U+8827-8828,U+882d,U+8831,U+8835-8836,U+883b,U+8842,U+8846-8847,U+884a,U+8853,U+8855-8856,U+8858,U+885a-885b,U+885d-885e,U+8879-887a,U+889e-88a0,U+88b0,U+88b4-88b5,U+88c3,U+88ca,U+88cc,U+88cf,U+88dc-88dd,U+88e0-88e1,U+88fd,U+8903-8904,U+8907,U+8932-8933,U+8938,U+893b,U+8943,U+8947,U+8949,U+894d,U+8956,U+895d,U+8960,U+8962,U+8964,U+896a,U+896c,U+896f,U+8972,U+8977,U+8987-8988,U+898a-898c,U+898e-898f,U+8993-8994,U+8996-8998,U+899a,U+899c,U+89a1,U+89a6-89a7,U+89a9-89aa,U+89ac,U+89af-89b0,U+89b2-89b3,U+89b7,U+89ba",weight:"400"},{asset:"mincho/42ec73d1.woff2",family:"Huiwen_mingchao",range:"U+7be9,U+7bed,U+7bf0,U+7bf2-7bf3,U+7bf9,U+7c00,U+7c03,U+7c09,U+7c0d,U+7c11-7c12,U+7c14,U+7c17-7c18,U+7c1e,U+7c20-7c21,U+7c23,U+7c28,U+7c2b,U+7c2e,U+7c30,U+7c34,U+7c37,U+7c39,U+7c3b,U+7c3d-7c3e,U+7c43,U+7c4c,U+7c4f-7c52,U+7c56,U+7c59,U+7c5b-7c5d,U+7c5f-7c60,U+7c64-7c65,U+7c67-7c6a,U+7c6c,U+7c6e-7c70,U+7c72,U+7c75-7c76,U+7c78,U+7c7e,U+7c81-7c83,U+7c87,U+7c8b,U+7c8d-7c8e,U+7c9b,U+7ca6-7ca8,U+7cad,U+7cb0,U+7cb5,U+7cba,U+7cc0,U+7cc9,U+7cce,U+7cd2,U+7cd8,U+7cdd-7cde,U+7ce1-7ce2,U+7ce7,U+7cf0-7cf2,U+7cf4-7cf6,U+7cf9-7cfa,U+7cfe,U+7d00,U+7d02-7d09,U+7d0b,U+7d0d,U+7d10,U+7d13-7d1d,U+7d21,U+7d25,U+7d2c,U+7d2e,U+7d30-7d33,U+7d39-7d3a,U+7d3c,U+7d3f-7d40,U+7d42-7d44,U+7d46,U+7d4c,U+7d4e-7d50,U+7d55,U+7d5b-7d5e,U+7d61-7d62,U+7d66,U+7d68,U+7d70-7d73,U+7d75-7d76,U+7d79,U+7d81,U+7d83,U+7d86,U+7d88-7d89,U+7d8f,U+7d91,U+7d93,U+7d99-7d9c,U+7d9e,U+7da0,U+7da2-7da3,U+7dab-7dad,U+7db0-7db5,U+7db8-7dbb,U+7dbd-7dbf,U+7dc4,U+7dc7,U+7dca-7dcb,U+7dcf-7dd2,U+7dd4,U+7dd6-7dda,U+7ddc-7dde,U+7de0-7de1,U+7de3,U+7de5-7de6,U+7de8-7de9,U+7dec,U+7def,U+7df1-7df2,U+7df4,U+7df6,U+7df9,U+7dfb-7dfc,U+7dfe,U+7e01,U+7e04-7e05,U+7e08-7e0b,U+7e10-7e11,U+7e15,U+7e17,U+7e1a-7e1b,U+7e1d-7e1f,U+7e23,U+7e26-7e27,U+7e2b,U+7e2d-7e2e,U+7e31-7e32,U+7e34-7e37,U+7e39,U+7e3d-7e3e,U+7e43,U+7e45-7e46,U+7e4a-7e4b,U+7e4d,U+7e52,U+7e54-7e56,U+7e59-7e5a,U+7e5e,U+7e61-7e62,U+7e69-7e6b,U+7e6d-7e70,U+7e73,U+7e79,U+7e7b-7e7e,U+7e83,U+7e88,U+7e8a,U+7e8c-7e8d,U+7e8f-7e90,U+7e92-7e94,U+7e96,U+7e98,U+7e9c,U+7eb4,U+7ebc,U+7ed6,U+7f0a,U+7f10,U+7f1e,U+7f3d-7f3e,U+7f47-7f48,U+7f4b-7f4e,U+7f60,U+7f63,U+7f70,U+7f75,U+7f77-7f78,U+7f85-7f86,U+7f88,U+7f8b,U+7f91,U+7f93,U+7f96-7f97,U+7fa2-7fa3,U+7fa5,U+7fa8-7fa9,U+7fb1,U+7fb4-7fb6,U+7fc4,U+7fc6,U+7fd2,U+7fda-7fdb,U+7fe3,U+7feb-7fec,U+7ff6,U+7ff9-7ffa,U+7ffd-7fff,U+8002,U+8007,U+800e-800f,U+8011,U+801e,U+8021,U+802c,U+802e,U+8030,U+803c,U+8056,U+805e-805f,U+8061,U+8064,U+806f-8070,U+8072-8077,U+8079,U+807d-807e,U+8085,U+8088,U+808a,U+808e-8090,U+80a7-80a8,U+80ac,U+80b8,U+80ca,U+80d4,U+80e0,U+80e6,U+80f7,U+80f9,U+80fe,U+8103,U+8105,U+8107-8108,U+8117,U+811b,U+811d,U+8121,U+8123-8124,U+8127,U+8129,U+812b,U+812e,U+8130,U+8133,U+8139",weight:"400"},{asset:"mincho/3a4b22f4.woff2",family:"Huiwen_mingchao",range:"U+7505,U+750c,U+750e,U+7515-7517,U+751e,U+7522-7523,U+7526,U+752a,U+7534,U+753d,U+753f,U+7542,U+7544,U+7546-7547,U+754a,U+7551,U+755d,U+7560,U+7562,U+7564,U+7567-7568,U+756b-756c,U+756e,U+7570-7571,U+7573,U+7576,U+757a,U+7582,U+7584,U+7587,U+7589-758a,U+758e,U+7598,U+75a9,U+75bf,U+75ce,U+75d0,U+75d9,U+75e9,U+75f2-75f3,U+75fa,U+75fe,U+7602,U+7606,U+7609,U+760b,U+760d,U+7613,U+7616,U+761e,U+7621,U+7627,U+762e,U+7636,U+763b,U+7642,U+7644-7649,U+764e,U+7652,U+7658,U+765f,U+7661-7662,U+7664-7665,U+7667,U+7669-766a,U+766c-766e,U+7670-7672,U+7676,U+767a,U+767c,U+7680-7681,U+7683,U+7690,U+769a,U+769c,U+76b0,U+76b7-76b8,U+76ba-76bb,U+76c3,U+76c7,U+76cb-76cc,U+76dc,U+76de,U+76e1,U+76e3-76e4,U+76e6-76e7,U+76e9-76ea,U+76ec-76ed,U+76fb,U+7701,U+770a,U+770c,U+770e,U+7718,U+771b,U+771e,U+7721,U+7725,U+7731,U+7734,U+773d-773e,U+7745-7746,U+774a,U+774d-774f,U+7752,U+7756,U+775c,U+775e-7760,U+776a,U+777a,U+7787,U+778b,U+7796,U+7798,U+779c,U+779e,U+77ad,U+77af,U+77b6,U+77bc,U+77c1,U+77c7,U+77c9,U+77d1,U+77d3,U+77d9-77da,U+77de-77df,U+77e6,U+77ef-77f1,U+77f4,U+77fb-77fc,U+7806,U+7815,U+7820,U+7822,U+782b,U+782e-782f,U+7832-7833,U+783f,U+7843,U+784f,U+7859-785a,U+785c,U+7864,U+7868,U+786f,U+7872,U+7875,U+7881,U+788f,U+7894,U+7899,U+789e,U+78a9-78aa,U+78ad,U+78af,U+78b8,U+78ba-78bc,U+78d1-78d2,U+78da-78db,U+78dd,U+78df-78e1,U+78e3,U+78e6-78e7,U+78ef,U+78fb,U+78fd-78fe,U+7904,U+790a,U+790c,U+790e,U+7912,U+7919,U+7926-7927,U+792a-792c,U+792e,U+7931,U+793d,U+793f,U+7942,U+7945,U+7947,U+794e-7950,U+7954-7955,U+7958,U+796b,U+7972,U+797c,U+797f,U+798b,U+798d-798e,U+7993-7996,U+7998,U+799b,U+79a1,U+79a6,U+79a8-79ab,U+79ae,U+79b0-79b1,U+79b4,U+79b8,U+79bf,U+79c8,U+79ca,U+79cc,U+79cf-79d0,U+79d4,U+79d6,U+79dd,U+79ec,U+7a05,U+7a08-7a0a,U+7a0c,U+7a0f,U+7a11,U+7a18-7a19,U+7a1c,U+7a1f,U+7a2c-7a2e,U+7a31-7a32,U+7a3a,U+7a3e,U+7a40,U+7a42,U+7a44-7a45,U+7a47-7a49,U+7a4c-7a4f,U+7a5c-7a64,U+7a67-7a69,U+7a6b,U+7a6d,U+7a75,U+7a7d,U+7a85,U+7a8a,U+7a8e,U+7a93-7a94,U+7a9e,U+7aa3,U+7aa9-7aaa,U+7aae-7ab0,U+7ab5-7ab6,U+7ab8,U+7aba-7abb,U+7abe,U+7ac3-7ac5,U+7ac7-7ac8,U+7aca,U+7acd,U+7acf,U+7ad1,U+7ad3-7ad5,U+7ada,U+7adc-7add,U+7ae1-7ae2,U+7aea-7aeb,U+7af0,U+7af6,U+7af8,U+7afe,U+7b35,U+7b39,U+7b3b,U+7b46,U+7b4a,U+7b4d,U+7b53,U+7b5e,U+7b64-7b67,U+7b69,U+7b6d,U+7b6f-7b70,U+7b73-7b74,U+7b78,U+7b86-7b87,U+7b8b,U+7b8e-7b8f,U+7b91-7b93,U+7ba0,U+7bb2,U+7bc0,U+7bc4,U+7bc9,U+7bcb,U+7bd4,U+7bdb,U+7be0,U+7be4,U+7be8",weight:"400"},{asset:"mincho/020fd7d8.woff2",family:"Huiwen_mingchao",range:"U+6c33,U+6c37,U+6c39,U+6c3e-6c3f,U+6c4d-6c4f,U+6c59-6c5a,U+6c67,U+6c6d,U+6c7a,U+6c87,U+6c8d,U+6c92,U+6c95-6c96,U+6c9a,U+6ca2,U+6ca8,U+6cac,U+6cb4,U+6cc1-6cc2,U+6cc6,U+6cd1,U+6cda,U+6cdd,U+6cf2,U+6d0a,U+6d0f,U+6d11,U+6d1f,U+6d28-6d29,U+6d34,U+6d36,U+6d38,U+6d3a,U+6d3f,U+6d44,U+6d49,U+6d50,U+6d55,U+6d61,U+6d65,U+6d6c-6d6d,U+6d79,U+6d87,U+6d8a,U+6d92,U+6d96,U+6d98-6d99,U+6d9c,U+6da2,U+6db4,U+6dbc,U+6dd2,U+6dda-6ddb,U+6ddf,U+6de5,U+6de8-6dea,U+6df5-6df6,U+6df8,U+6dfa,U+6e07-6e09,U+6e0b,U+6e13,U+6e19,U+6e1b,U+6e1f,U+6e22,U+6e26,U+6e28,U+6e2c,U+6e30,U+6e39,U+6e3c,U+6e3e,U+6e45,U+6e49-6e4a,U+6e4f,U+6e51,U+6e5c,U+6e5e,U+6e62-6e63,U+6e67,U+6e69,U+6e6f,U+6e72,U+6e7b-6e7c,U+6e80,U+6e82,U+6e87-6e88,U+6e8c,U+6e8e,U+6e96,U+6e9d,U+6ea0,U+6eab,U+6eae,U+6eb3,U+6ebc,U+6ec3-6ec5,U+6ecc,U+6ece,U+6ed9,U+6edb,U+6edd,U+6eea-6eec,U+6eef,U+6ef2,U+6ef7-6ef8,U+6efb,U+6efd-6eff,U+6f01,U+6f08,U+6f0a,U+6f11,U+6f18-6f1a,U+6f22-6f23,U+6f26,U+6f2c,U+6f32,U+6f35,U+6f38,U+6f3f-6f41,U+6f44-6f45,U+6f51,U+6f54,U+6f59,U+6f5b,U+6f5f-6f60,U+6f64,U+6f6f-6f70,U+6f77,U+6f7f-6f82,U+6f86-6f87,U+6f90-6f91,U+6f94,U+6f97,U+6f9b,U+6f9d,U+6f9f-6fa0,U+6fa3-6fa6,U+6fa8-6fa9,U+6fae,U+6fb1,U+6fbc,U+6fbe,U+6fc1,U+6fc3,U+6fc6-6fc7,U+6fca,U+6fd3,U+6fd5,U+6fd8-6fd9,U+6fdb-6fdc,U+6fdf,U+6fe4,U+6fe9,U+6feb-6fec,U+6ff0-6ff1,U+6ff3,U+6ff6,U+6ffa,U+6ffc,U+6ffe,U+7002,U+7005-7006,U+7009,U+700b,U+700d,U+700f,U+7015,U+7018,U+701d-7021,U+7026-7028,U+702c,U+7030,U+7032,U+703a,U+703c,U+703e,U+7043-7044,U+7049,U+704b,U+7051,U+7055,U+7058,U+705d,U+7063-7064,U+7067-7069,U+707d,U+7081,U+70a4,U+70ba,U+70cf,U+70d6,U+70dd,U+70f4,U+7114,U+7121,U+713c,U+7147,U+7149,U+7151-7152,U+7156-7157,U+7159,U+7162,U+7165,U+7169,U+716c,U+7188,U+7192,U+7195,U+7197,U+71b1,U+71be,U+71c1,U+71c4,U+71c8-71c9,U+71d0,U+71d2,U+71d9,U+71dc,U+71df,U+71e6,U+71ec-71ed,U+71f4-71f5,U+71fb-71fc,U+71fe-71ff,U+720d,U+7210,U+7215,U+7217,U+721b,U+722d,U+7232,U+723a,U+723e,U+7240,U+7246,U+724e,U+7250,U+7253,U+7255,U+7258,U+7260,U+7274,U+727d,U+7282,U+7287,U+7296,U+729b,U+72a0,U+72a2,U+72a7,U+72bb,U+72c0,U+72e5,U+72f9,U+72fd,U+7302,U+7319,U+731f,U+7328,U+7336,U+733b,U+7341,U+7343-7345,U+734b,U+734e,U+7358,U+7363,U+7368,U+736a-736b,U+7370,U+7372,U+7375,U+7377-7378,U+737a-737c,U+7380,U+7385-7386,U+738a,U+73a8,U+73b1,U+73b6,U+73c5,U+73ce,U+73ee,U+73fe,U+7401,U+740d-740e,U+7416,U+7431,U+7439-743a,U+743f,U+7447,U+744b,U+7460,U+7463-7464,U+7469-746a,U+746f,U+7472,U+7489,U+74a1-74a3,U+74a6,U+74aa,U+74b0-74b1,U+74b5,U+74bd,U+74bf,U+74c8,U+74ca,U+74cc,U+74cf,U+74d4,U+74d8,U+74da,U+74e7,U+74e9,U+74f0-74f2,U+74f8",weight:"400"},{asset:"mincho/4ccb7939.woff2",family:"Huiwen_mingchao",range:"U+6443,U+644f,U+6451,U+645b-645c,U+645f-6460,U+6463,U+646f,U+6473-6474,U+6476,U+647b,U+647d,U+6483,U+6488,U+648c,U+648f-6490,U+6493,U+649a,U+649d,U+649f,U+64a1-64a3,U+64a5-64a7,U+64ab,U+64b2-64b3,U+64b9,U+64bb,U+64be-64bf,U+64c1,U+64c4,U+64c7,U+64c9-64cb,U+64d3-64d5,U+64da,U+64e0-64e1,U+64e3,U+64e5,U+64e7,U+64e9-64ed,U+64ef-64f2,U+64f4,U+64f7,U+64fa-64ff,U+6504-6506,U+650f,U+6514,U+6516,U+6519,U+651b-651d,U+651f,U+6522-6524,U+6529-652a,U+652c,U+6537,U+6541-6542,U+654d-654e,U+6554,U+6557-6558,U+6560,U+6567,U+656a,U+656d,U+6575,U+6578,U+657a-657b,U+657d,U+6581-6583,U+6585,U+6588-6589,U+658e,U+6592,U+6595,U+659d,U+65a0,U+65a8,U+65ac,U+65ae,U+65b2,U+65b5-65b7,U+65be,U+65c2,U+65c9,U+65d0,U+65db,U+65dd,U+65df,U+65e1,U+65e3-65e4,U+65f8-65f9,U+65fe,U+6607,U+661a,U+661c,U+662c,U+6630,U+663b,U+663d,U+6642,U+6644,U+6649,U+665d,U+6669,U+6673,U+667b,U+6681,U+6688-6689,U+668e,U+6698,U+66a0,U+66a2,U+66a6,U+66ab,U+66b1,U+66c4,U+66c6-66c7,U+66c9,U+66cf,U+66d6,U+66e0-66e1,U+66e8,U+66ec,U+66f1,U+66f8,U+66fd,U+6703,U+6722-6723,U+6727,U+672e,U+6736,U+6741,U+6762-6764,U+6771,U+6792-6793,U+67a0-67a1,U+67b4,U+67df,U+67f5,U+67f9-67fb,U+67fe,U+6801-6804,U+6812,U+681e,U+6822,U+6830-6831,U+6834,U+6852,U+685c-685d,U+685f,U+686e,U+6870,U+687a,U+687f,U+6894,U+6898,U+689d,U+689f,U+68b1,U+68b6,U+68ba-68bc,U+68c3-68c4,U+68ca,U+68d6-68d7,U+68df,U+68e1,U+68e7,U+68ec,U+68f2,U+6900,U+6909,U+690f,U+6917,U+6919-691a,U+691c,U+6921,U+6923,U+6925,U+6936-6937,U+693e,U+694a,U+6953,U+6962,U+6965,U+6968,U+696d,U+6973,U+6975,U+697d,U+6981,U+698a,U+69a6,U+69aa,U+69ae,U+69bc,U+69bf-69c0,U+69c3,U+69c7,U+69cb,U+69cd,U+69d1,U+69d3,U+69d5-69d6,U+69d8-69da,U+69e7-69ea,U+69f3,U+69fb-69fc,U+6a01-6a02,U+6a05,U+6a0b,U+6a10-6a11,U+6a13,U+6a19,U+6a1e,U+6a23,U+6a29,U+6a2b,U+6a37-6a3a,U+6a48,U+6a4b,U+6a5f,U+6a62,U+6a64,U+6a6b,U+6a72,U+6a7f,U+6a81,U+6a87,U+6a89,U+6a94,U+6a9c,U+6a9f,U+6aa2-6aa4,U+6aae-6aaf,U+6ab3,U+6ab8,U+6abb,U+6ac2-6ac3,U+6ac8,U+6ad3,U+6ada-6adf,U+6ae4-6ae5,U+6ae7-6ae8,U+6aea-6aec,U+6af3,U+6af8,U+6afa-6afb,U+6b04-6b05,U+6b0a,U+6b0f,U+6b12,U+6b16,U+6b1d-6b1e,U+6b2c,U+6b35,U+6b3d,U+6b4e,U+6b50,U+6b53,U+6b5b,U+6b5f,U+6b61,U+6b69,U+6b6f,U+6b72-6b74,U+6b77-6b78,U+6b7a,U+6b7f-6b80,U+6b98,U+6b9e,U+6ba4,U+6ba8,U+6bab,U+6bad-6baf,U+6bb1-6bb2,U+6bba-6bbd,U+6bc0,U+6bc6,U+6bce,U+6bd8,U+6bdf,U+6be7-6be8,U+6bec,U+6bf7,U+6bff,U+6c02,U+6c04,U+6c08-6c0a,U+6c0c,U+6c17,U+6c1d,U+6c20,U+6c23,U+6c25,U+6c2b-6c2d",weight:"400"},{asset:"mincho/f8002d41.woff2",family:"Huiwen_mingchao",range:"U+52d5,U+52d7,U+52d9-52db,U+52dd-52de,U+52e0,U+52e2-52e3,U+52e6-52e7,U+52e9,U+52f1-52f3,U+52f5,U+52f8,U+52fb,U+52fd,U+5301-5304,U+531c,U+531f,U+532d,U+532f,U+5331-5333,U+5338,U+5340,U+5346,U+534d,U+5350,U+5354,U+5358,U+535d,U+5379,U+537b,U+537d,U+5380,U+5383,U+5393-5394,U+5399,U+53a0,U+53a4,U+53ad,U+53b0,U+53b2-53b4,U+53c3-53c7,U+53ce,U+53d2,U+53d5,U+53da,U+53e1-53e2,U+53e7,U+53f4,U+53fa,U+540b,U+541a,U+5433,U+5436,U+543f,U+5442,U+5449,U+544c,U+544e,U+5451,U+545f,U+546a,U+5481,U+548a,U+54b2,U+54bc,U+54e1,U+54f6,U+5504,U+5515-5516,U+5518,U+551d,U+5521,U+552b,U+5535,U+5538,U+554e-554f,U+5551,U+5553,U+5557,U+555e-555f,U+5562-5563,U+5570,U+5586,U+558e,U+5592,U+559a,U+55a6,U+55a9-55ac,U+55ae,U+55b0,U+55b2,U+55b6,U+55c1,U+55c6-55c7,U+55ca,U+55ce,U+55da,U+55de,U+55e9,U+55ee,U+55f6,U+55fb,U+5605-5606,U+560d,U+5611,U+5614,U+5616-5617,U+561a,U+561c,U+5620-5621,U+5628-5629,U+562e-5630,U+5635,U+5637-5638,U+5640-5642,U+5649,U+5653,U+565b,U+565d,U+5660,U+5665-5666,U+566f,U+5672,U+5674,U+5678-567a,U+5680,U+5687,U+568c,U+5690,U+5695,U+5699,U+56a2,U+56a5-56a6,U+56a8,U+56ae,U+56b3-56b4,U+56b6,U+56c0-56c3,U+56c5,U+56c8-56c9,U+56cc,U+56ce-56cf,U+56d1,U+56d3,U+56d8-56d9,U+56e3,U+56e7,U+56ea,U+56ec,U+56ee-56ef,U+56f2-56f3,U+56f7,U+56fb,U+5705,U+5707,U+570b-570d,U+570f,U+5712-5713,U+5715-5716,U+5718,U+571b,U+571d-571e,U+5726-5727,U+5737,U+5770,U+5775,U+577f,U+5788,U+579a,U+579c,U+57b0,U+57b3,U+57b5,U+57bb,U+57d3,U+57d6,U+57dc,U+57e1,U+57e6-57e7,U+57f3,U+57f5,U+57f7,U+57fc,U+5803,U+5805,U+580a,U+5816,U+5818,U+581d,U+5826,U+582f,U+5831,U+5834,U+583f-5841,U+5843,U+584a-584b,U+584f,U+5852,U+5857,U+5859-585a,U+585f,U+5861-5862,U+5864,U+5869,U+586d,U+5872,U+5875,U+5879,U+587c,U+588a,U+5891,U+5896-5897,U+589c,U+58aa,U+58ae,U+58b3,U+58bb,U+58be,U+58c4,U+58c7,U+58ca,U+58cc,U+58ce,U+58d3,U+58d8-58da,U+58dc,U+58de-58e0,U+58e2,U+58e9,U+58ef,U+58f1-58f2,U+58f8,U+58fa-58fd,U+5900,U+5909-590a,U+590c,U+5918,U+5920,U+5922,U+5930,U+593e,U+5950,U+5967-596a,U+596c,U+596e,U+599d,U+59ac,U+59b3,U+59b7,U+59c9,U+59cd,U+59d9,U+59e6,U+59ea-59eb,U+59f6,U+5a1b,U+5a2f,U+5a3f,U+5a41,U+5a50,U+5a63,U+5a66,U+5a6c-5a6d,U+5a73,U+5a7c,U+5a7e,U+5a8d,U+5aa7,U+5aae-5aaf,U+5ab1,U+5abc-5abd,U+5abf,U+5acb,U+5ad7,U+5af0,U+5af5,U+5afa-5afb,U+5aff-5b00,U+5b08,U+5b0b-5b0c,U+5b19,U+5b1b,U+5b1d,U+5b21-5b22,U+5b24,U+5b2a,U+5b2d,U+5b30,U+5b36,U+5b38,U+5b3e,U+5b43,U+5b4c,U+5b6b,U+5b78,U+5b7c,U+5b7f,U+5b82,U+5b9f,U+5bac,U+5bae,U+5bbc,U+5bc0,U+5bc3,U+5bd1,U+5bd4-5bd5,U+5bd7-5bd8,U+5bdb,U+5be2,U+5be6-5be7,U+5be9,U+5beb-5bec,U+5bf3,U+5bf5-5bf6",weight:"400"},{asset:"mincho/88c36a6e.woff2",family:"Huiwen_mingchao",range:"U+3565,U+359e,U+360e,U+361a,U+362d,U+375b,U+3760-3761,U+37c1,U+37e4,U+3800,U+382f,U+3836,U+384c,U+3898,U+3918-3919,U+396b,U+396e,U+39cf-39d0,U+39df,U+39f1,U+3a17-3a18,U+3a25,U+3a2a,U+3a3f,U+3a41,U+3a44,U+3a57,U+3a66,U+3a73,U+3a9a,U+3a9f,U+3aaf,U+3b09,U+3b2a,U+3b4e,U+3bed,U+3c43,U+3c6e,U+3cc4,U+3cd2,U+3ce0,U+3d31,U+3d4e,U+3d7c,U+3d9a,U+3f1d,U+3f5e,U+3fdc,U+4056,U+40ab,U+415f,U+4189,U+4230,U+4280,U+42b9,U+42f2,U+432b,U+4337,U+436a,U+43ac,U+43b1,U+43dd,U+43f2,U+4407,U+445b,U+44d6,U+4525,U+4543,U+45ec,U+460f,U+4611,U+461a,U+462e,U+464c,U+465d,U+4661,U+46d0,U+46e1,U+470c,U+4723,U+4729,U+473f,U+4754,U+477c,U+478d,U+47d6,U+4800,U+4836-4837,U+48db,U+4947,U+4965,U+496b,U+497a,U+497d,U+4982-4983,U+4985-4986,U+499b,U+499f,U+49a7,U+49b0,U+49b6-49b7,U+4b03,U+4b2a,U+4b7e,U+4c1f,U+4c54,U+4c57,U+4c77,U+4c9f-4ca3,U+4cd8,U+4d13-4d19,U+4d20-4d21,U+4d38,U+4d8a,U+4da7,U+4dae,U+4e04-4e06,U+4e1f,U+4e21,U+4e26,U+4e3c,U+4e42,U+4e57,U+4e5a-4e5b,U+4e79,U+4e80-4e82,U+4e85,U+4e96,U+4e99,U+4e9c-4e9e,U+4eaf,U+4eb1,U+4eb7,U+4ebe,U+4ecf,U+4eee,U+4f15,U+4f1d,U+4f40,U+4f47-4f48,U+4f54,U+4f75,U+4f79,U+4f86,U+4f96,U+4f98,U+4fa1,U+4fb6-4fb7,U+4fc1-4fc2,U+4fdb,U+4fe0,U+4fe4-4fe5,U+4ff5-4ff6,U+4ffb,U+5000,U+5002-5003,U+5006,U+5009,U+500b,U+5010-5011,U+5016,U+5023-5024,U+502b,U+5036,U+5038-5039,U+5049,U+5058,U+506a,U+5072,U+5074-5075,U+507a,U+507d,U+508c,U+5091,U+5096,U+5098-509a,U+50a2,U+50ad,U+50af,U+50b3-50b5,U+50b7,U+50be,U+50c2,U+50c5,U+50c9-50ca,U+50cd,U+50d1,U+50d5,U+50de,U+50e5,U+50e8,U+50f1,U+50f9,U+5100-5102,U+5104,U+5108-5109,U+510c-510d,U+5110,U+5114-5115,U+5117-5118,U+511a,U+511f,U+512a,U+5132,U+5135,U+5137,U+513a-513c,U+5147,U+514c,U+514e,U+5150,U+5152,U+5157,U+5160,U+5167,U+5169-516a,U+5184,U+5186,U+518a,U+5190-5191,U+5198,U+51a3,U+51a8,U+51aa,U+51ba,U+51c8,U+51ca,U+51cd-51ce,U+51d3,U+51d6,U+51dc,U+51e2-51e3,U+51e6-51ea,U+51f1,U+51f4,U+51fe,U+5225-5227,U+522a,U+522c,U+5234,U+523c,U+5244,U+5247,U+5249,U+524b,U+524e-524f,U+5257,U+5259,U+525b,U+525d,U+5263-5264,U+526e,U+5270-5271,U+5273-5275,U+5277,U+5279,U+5283-5284,U+5287,U+5289-528a,U+528c-528d,U+5291-5292,U+5294,U+52b4-52b5,U+52b9,U+52c1,U+52c5,U+52cc,U+52d1,U+21681,U+21a18,U+21b36,U+21ed5,U+22016,U+2231e,U+229d0,U+22b35,U+22b38,U+22ba5,U+22bf1,U+22c05,U+22dec,U+2339c,U+233ec,U+2365c,U+23c67,U+23c7e,U+242ee,U+24a0f,U+24ae9,U+24c1c,U+24c48,U+24c4a,U+24c54,U+24ea5,U+250ab,U+25128,U+25224,U+25292,U+2591a,U+25997,U+25cbb,U+25d16,U+260b3,U+260c2,U+26246,U+262b1,U+262c7,U+26548,U+268de,U+26d4f,U+26e05,U+26f89,U+27a59,U+27f2e,U+284c8,U+28bbe,U+28dfa,U+28ffd,U+294d0,U+29a61,U+2a60f,U+2ade4,U+2b1e6,U+2b852,U+2c47b,U+2df99,U+2e6b8,U+2f808,U+2f80f,U+2f83b,U+2f8ba,U+309da",weight:"400"},{asset:"mincho/62a95b91.woff2",family:"Huiwen_mingchao",range:"U+5bfe,U+5c02,U+5c05,U+5c07-5c08,U+5c0b,U+5c0d-5c0e,U+5c12,U+5c19,U+5c1f-5c20,U+5c2d,U+5c37,U+5c43-5c44,U+5c46-5c47,U+5c4c-5c4d,U+5c52-5c53,U+5c5b-5c5c,U+5c62,U+5c64,U+5c68,U+5c6c-5c6d,U+5c85,U+5ca1,U+5ca7-5ca8,U+5cba,U+5cbc,U+5cc3,U+5cd5,U+5cdd,U+5ce0,U+5ce3,U+5ce9,U+5cef,U+5cf4,U+5cf6,U+5cfd,U+5d01,U+5d0d,U+5d10-5d11,U+5d17-5d1a,U+5d20-5d22,U+5d2c,U+5d33,U+5d50,U+5d57,U+5d5a,U+5d81,U+5d83-5d84,U+5d87,U+5d8b,U+5d92-5d94,U+5d97,U+5da0,U+5da2,U+5da7-5da8,U+5dae,U+5db8,U+5dba,U+5dbc-5dbd,U+5dc2,U+5dcb-5dcc,U+5dd2-5dd4,U+5dd6-5dd7,U+5ddc,U+5de0,U+5de3,U+5df0,U+5df5,U+5df9,U+5dfb,U+5dff-5e00,U+5e0b,U+5e25,U+5e2b-5e2c,U+5e2f-5e30,U+5e33,U+5e36,U+5e40,U+5e43,U+5e47,U+5e51,U+5e57-5e5a,U+5e5f,U+5e63,U+5e6b-5e6c,U+5e77,U+5e79,U+5e7e,U+5e81,U+5e83,U+5eab,U+5ebb-5ebd,U+5ec1-5ec4,U+5ec8,U+5ece,U+5ed0,U+5ed5,U+5eda,U+5edd,U+5edf-5ee3,U+5ee9,U+5eec,U+5ef0,U+5ef3,U+5ef5,U+5ef9,U+5efb-5efc,U+5f0c-5f0e,U+5f10,U+5f12,U+5f14,U+5f33,U+5f35,U+5f37,U+5f3e,U+5f46,U+5f48,U+5f4a,U+5f4c,U+5f4e,U+5f51,U+5f54,U+5f59-5f5c,U+5f5e,U+5f65,U+5f67,U+5f6b,U+5f7f,U+5f83,U+5f91,U+5f93,U+5f9e,U+5fa0,U+5fa7,U+5fa9,U+5fac,U+5fb3-5fb4,U+5fb9,U+5fdc,U+5ff0,U+5ffa,U+6031,U+6033,U+603a,U+6046,U+6060-6061,U+6065,U+6075,U+6085,U+60a4,U+60a9-60aa,U+60b3,U+60b5-60b6,U+60bd,U+60c7,U+60cf,U+60db,U+60e1,U+60e5,U+60ea,U+60f1-60f2,U+60f7,U+60fb,U+611b-611c,U+6128,U+612c,U+6134,U+6137,U+613c-613e,U+6142,U+6144,U+6147,U+614b,U+614d,U+6158-615a,U+615f,U+6163-6164,U+616a-616b,U+616e,U+6173-6174,U+6176,U+617c-617e,U+6182,U+618a,U+6190-6192,U+619a,U+61a4,U+61ab,U+61ae,U+61b2,U+61b6,U+61c3,U+61c7,U+61c9,U+61cc-61cd,U+61d0,U+61de-61df,U+61e3,U+61e8,U+61f2,U+61f6-61f8,U+61fa,U+61fc-61fe,U+6200,U+6207,U+6209,U+6214,U+621e,U+6220,U+6226-6227,U+6229,U+622f-6232,U+6236,U+6238-6239,U+623b-623c,U+6255,U+625e,U+6260,U+6262,U+6268,U+6271,U+6275,U+6283,U+6285-6286,U+628e,U+6294,U+629c-629e,U+62a7,U+62b6,U+62cb,U+62cf,U+62d1,U+62d5,U+62dd,U+62e0-62e1,U+62ea,U+6304,U+630d,U+6310,U+6319,U+631c,U+6326,U+6331,U+6335-6336,U+633c,U+633e-633f,U+6344,U+6353,U+6357,U+635c,U+6365-6366,U+6368,U+636b,U+6372,U+6374-6375,U+637c-637d,U+6381,U+6383-6384,U+6386,U+6397,U+6399,U+639b,U+639e-639f,U+63a1,U+63ab,U+63af,U+63b1-63b2,U+63bb,U+63bd,U+63c0,U+63c3,U+63c5,U+63c8,U+63d1,U+63d4-63d5,U+63d7,U+63da-63dd,U+63e2,U+63eb,U+63ee,U+63f7,U+63f9-63fa,U+63fe,U+6403,U+6406-6407,U+6409-640a,U+640d-640e,U+6412,U+6416-6418,U+641f,U+6422,U+6424-6425,U+6427-6428,U+642f-6430,U+6432-6433,U+6435-6436,U+643e,U+6440,U+6442",weight:"400"},{asset:"mincho/337f2131.woff2",family:"Huiwen_mingchao",range:"U+4e0c,U+4e28,U+4e2c,U+4e36,U+4e3f,U+4ea0,U+4ec2,U+4f91,U+4fc5,U+502e,U+50ba,U+5107,U+5155,U+5181,U+5216,U+522d,U+5281,U+5290,U+5293,U+52f9,U+5369,U+53a3,U+53b6,U+5423,U+54d5,U+54dc,U+54f3,U+54ff,U+5523,U+552a,U+553c,U+5588,U+55b5,U+55c9,U+5686,U+570a,U+5776,U+5786,U+57a4,U+57f4,U+5819,U+5820,U+5865,U+58bc,U+5902,U+5ab5,U+5adc,U+5b32,U+5b65,U+5be4,U+5c1c,U+5c22,U+5c66,U+5c6e,U+5c88,U+5c8d,U+5d3e,U+5ddb,U+5e3b,U+5ee8,U+5f2a,U+5f50,U+5f61,U+5fed-5fee,U+6067,U+609b,U+614a,U+615d,U+619d,U+61d4,U+620b,U+6224-6225,U+62f6,U+6343,U+63ad,U+63be,U+63ce,U+63f2,U+640b-640c,U+6420,U+6434,U+6445,U+6484,U+6496,U+6499,U+64d0,U+6509,U+652e,U+6603,U+674c,U+67a8,U+67d9,U+67dd,U+6833,U+6844,U+684a,U+6920,U+6957,U+6971,U+6a65,U+6a8e,U+6a91,U+6aa0,U+6b43,U+6bea,U+6bf5,U+6c15,U+6c5c,U+6cd0,U+6d48,U+6d5e,U+6e2b,U+6eb2,U+6ee0,U+6f24,U+6f2d,U+6f46,U+706c,U+70b1,U+70c0,U+717a,U+71e0,U+721d,U+728b,U+72c1,U+72c3,U+72e8,U+72f3,U+7303,U+730a,U+7338-7339,U+734d,U+736c,U+736f,U+73e7,U+746d,U+74a9,U+752f,U+754e,U+75b0,U+75c4,U+7603,U+762d,U+770d,U+7722,U+7735,U+778d,U+77a2,U+77e7,U+7809,U+7811,U+7839,U+784e,U+7857,U+786d,U+78c9,U+78f2,U+791e,U+7924,U+793b,U+7946,U+7953,U+7967,U+798a,U+799a,U+7a78,U+7a80,U+7b45,U+7b58,U+7b9d,U+7ba2,U+7ba8,U+7bda,U+7cc8,U+7cd7,U+7ec1,U+7f0f,U+7f12,U+7f32-7f33,U+7f68,U+8014,U+8022,U+8025,U+8028-8029,U+8035,U+804d,U+8080,U+809c,U+80b7,U+80c2,U+80d9,U+80e9,U+80ec,U+80f2,U+810e,U+8159,U+817d,U+81a3,U+81aa,U+8201,U+8204,U+8221,U+8223,U+822d,U+825a,U+8274,U+82b0,U+82e0,U+8307,U+833c,U+8347,U+836e,U+837d,U+839b,U+83b0,U+83e5,U+83f9,U+8459,U+8487-8488,U+848e,U+84cd,U+84d0,U+84f0,U+8539,U+8579-857a,U+85a8,U+85b7,U+867c,U+86b0,U+86d8,U+871e,U+8723,U+8729,U+8753,U+8764,U+877e,U+8788,U+878b,U+8793,U+8797,U+87d3,U+8803,U+88d2,U+88fc,U+8966,U+89cc,U+89dc,U+89eb,U+8b26,U+8ba0,U+8bf6,U+8c02,U+8c2e,U+8c85,U+8c8a,U+8c98,U+8d33,U+8d47,U+8d55,U+8dbc,U+8e23,U+8e2c,U+8e40,U+8e94,U+8e9c,U+8e9e,U+8ece,U+8f77,U+8f79,U+8f81,U+8fd5,U+8fee,U+9058,U+90b6,U+9139,U+914e-914f,U+9174,U+9191,U+91a2,U+91b5,U+928e,U+943e,U+9494,U+94b6,U+94b8,U+94de,U+94eb,U+94f4,U+94f9,U+950a,U+950e,U+9516,U+951e,U+952b,U+9538,U+953c,U+953e-953f,U+9544,U+955f,U+9561,U+9564,U+9569,U+95f6,U+95fc,U+9603,U+960c-960d,U+9622,U+963d,U+9674,U+9792,U+9794,U+97ab,U+98a1,U+98a5,U+9969,U+9a80,U+9a96,U+9a98,U+9a9f,U+9ab1,U+9ad1,U+9b0f,U+9b2f,U+9b48,U+9c92,U+9c95,U+9ca6,U+9cb0,U+9cba,U+9cbc,U+9cc6,U+9ccb,U+9cd0,U+9cd8,U+9e32,U+9e38,U+9e3a,U+9e5b,U+9e7e,U+9e88,U+9eb4,U+9ee5,U+9eea,U+9ef9,U+9efb-9efc,U+9f3d,U+9f44,U+9f86,U+9fa0",weight:"400"},{asset:"mincho/bbc24ab8.woff2",family:"Huiwen_mingchao",range:"U+4ef3,U+4f1b,U+4f74,U+4f7e,U+4f94,U+4fdc,U+507e,U+50d6,U+50ec-50ed,U+5182,U+51ab,U+51b1,U+51f5,U+5233,U+523f,U+525e,U+5282,U+52a2,U+52d6,U+5326,U+536e,U+537a,U+5459,U+5476,U+54a9,U+54b4,U+54d9-54da,U+55be,U+55cd,U+564d,U+56dd,U+572c,U+572f,U+574c,U+576b,U+57cf,U+57d8,U+57f8,U+57fd,U+580b,U+5844,U+5881,U+589a,U+5925,U+5941,U+59d2,U+5a08,U+5ae0,U+5b16,U+5b37,U+5b5b,U+5b80,U+5b84,U+5c25,U+5cb5,U+5cbd,U+5d1e,U+5d6b,U+5e31,U+5e5e,U+5e80,U+5e8b,U+5efe,U+5f11,U+5f56,U+5f58,U+5f73,U+5f82,U+5f8c,U+5fc4,U+5fc9,U+5fe4,U+600a,U+602b,U+605d,U+6083,U+609d,U+60dd,U+6106,U+610d,U+6126,U+6243,U+6322,U+638e,U+63b4,U+63de,U+63f8,U+641b,U+6426,U+643f,U+64d7,U+64e4,U+6534,U+6549,U+656b,U+6634,U+66db,U+6769-676a,U+6798,U+67b5,U+67c3,U+680a,U+681d,U+6864,U+6883,U+698d,U+69b1,U+69d4,U+69e0,U+69ed,U+69f2,U+6a18,U+6b37,U+6b39,U+6b9b,U+6bb3,U+6c2a,U+6c46,U+6d0e,U+6d33,U+6d7c,U+6e16,U+6e53,U+6eb7,U+6ebb,U+6ed7,U+6f36,U+6f72,U+6f89,U+6f8c,U+7035,U+7039,U+7113,U+7173,U+7178,U+71d4,U+7228,U+727f,U+728f,U+72b4,U+72ef,U+72f4,U+72f7,U+7313,U+7321,U+7331,U+739f,U+7481,U+74de,U+74e0,U+750d,U+7513,U+7540,U+755b,U+758b,U+7592,U+75c3,U+75e6,U+7605,U+760a,U+761b,U+7625,U+7635,U+763c,U+7640,U+7643,U+764d,U+76a4,U+76cd,U+7704,U+7707,U+7743,U+7747,U+7780,U+77b5,U+7847,U+786a,U+78a5,U+78b9,U+7962,U+7a02-7a03,U+7a06,U+7aac-7aad,U+7ab3,U+7b0a,U+7b4c,U+7b6e,U+7b7b,U+7be5,U+7bfc,U+7c0b,U+7c0f,U+7c16,U+7c40,U+7c9e,U+7ca2,U+7cc7,U+7ce8,U+7cf8,U+7d77,U+7e3b,U+7ea1,U+7ea9,U+7ef2,U+7f02,U+7f07,U+7f0b-7f0c,U+7f21,U+7f23,U+7f2f,U+7f74,U+7f9d,U+7fbc,U+8016,U+8020,U+80ad,U+80e8,U+80ea,U+8114,U+811e,U+812c,U+8136,U+8182,U+822f,U+8233,U+823b,U+824b,U+825f,U+8268,U+827d,U+827f,U+8284,U+8288,U+828f,U+8291,U+829f,U+82a4,U+82c8,U+8308,U+8311,U+831a-831b,U+8333,U+835b,U+836d,U+83a9,U+83b6,U+83dd,U+8406,U+840f,U+8411,U+845c,U+84b4,U+84b9,U+84e3,U+850c,U+855e,U+85a4,U+863c,U+864d,U+866e,U+867f,U+86b5,U+86ba,U+86c4,U+86d1,U+86de,U+86f1-86f2,U+8731,U+873e,U+8770,U+877b,U+87ac-87ad,U+87b5,U+87bd,U+87db,U+87ea,U+880a,U+881b,U+883c,U+8844,U+8864,U+887f,U+88bc,U+88e5,U+88f0,U+890a,U+892b,U+8930,U+895e,U+89cb,U+89cf,U+89d6,U+89ef,U+89f3,U+8a48,U+8bd4,U+8bdc,U+8c18,U+8c2b,U+8c33,U+8c94,U+8db1,U+8dcf,U+8dd6,U+8de3,U+8e3a,U+8e6f,U+8e90,U+8f7a,U+8f7e,U+8f82,U+8fb6,U+8fd3,U+902d,U+90be,U+90db,U+9161,U+9164,U+91a3,U+91ad,U+91af,U+936a,U+948b,U+94ac,U+94b7,U+94d8,U+950d,U+9513-9514,U+9518,U+9529,U+953a,U+954e,U+9565,U+9568,U+956a,U+956c,U+963c,U+9654,U+9667,U+966c,U+9688,U+96b3,U+972a,U+9730,U+97b2,U+97b4,U+98e7,U+9967,U+996b,U+9987,U+9998,U+9a75,U+9a7a,U+9a92,U+9aa3,U+9aba,U+9adf,U+9ae1,U+9aed,U+9af9,U+9b08,U+9b43,U+9c86,U+9c8e,U+9c94,U+9c9a,U+9ca1,U+9ca3,U+9cb4,U+9cbd,U+9cd4,U+9ce2,U+9e2b,U+9e31,U+9e36,U+9e4b,U+9e4e,U+9e55,U+9e63,U+9e68-9e6a,U+9e71,U+9e87,U+9ebd,U+9ec9,U+9ee2,U+9f0d,U+9f2c,U+9f37,U+9f51",weight:"400"},{asset:"mincho/90e67073.woff2",family:"Huiwen_mingchao",range:"U+4e93,U+4ebb,U+4ec4,U+4edd-4ede,U+4ee1,U+4ef5,U+4f27,U+4fa9,U+4fe3,U+4ffe,U+5025,U+502c,U+506c,U+5080,U+50a5,U+5121,U+51c7,U+51eb,U+51fc,U+5208,U+523d,U+5241,U+525c,U+52f0,U+530f,U+539d,U+53f5,U+53fc,U+5453,U+5464,U+5466,U+549d,U+54a3,U+54bf,U+54d0,U+5514,U+5527,U+555c,U+556d-556e,U+5576,U+558f,U+55b1,U+55b9,U+55d4,U+55eb,U+55f2,U+5623-5624,U+564c,U+5671,U+5685,U+568f,U+56d7,U+56e1,U+571c,U+5739,U+57a1,U+57a7,U+57b4,U+57d9,U+5807,U+58c5,U+5942,U+59af,U+59d8,U+59dd,U+5a09,U+5a0c,U+5a4a,U+5a55,U+5a67,U+5a75,U+5ad2,U+5b6c,U+5b71,U+5c50,U+5c7a,U+5c98,U+5ca2,U+5d03,U+5d06,U+5d27,U+5d6c,U+5d6f,U+5df3,U+5dfd,U+5e19,U+5e5b,U+5ea0,U+5eb9,U+5ebe,U+5eea,U+5fd2,U+5fea,U+5ffe,U+600f,U+6042,U+606b,U+6120,U+6175,U+6215,U+6221,U+622c,U+6266,U+62bb,U+62bf,U+6308,U+6339,U+634b,U+6387,U+63b3,U+63b8,U+63c4,U+63c6,U+63f6,U+643d,U+6441,U+6555,U+659b,U+6677,U+66a7,U+6775,U+678b,U+679e,U+67b3,U+6832,U+6840,U+6849,U+6860,U+6867,U+68c2,U+68f0,U+6901,U+6910,U+6934,U+6966,U+6987,U+6998,U+699b,U+69ce,U+6a28,U+6a2f,U+6a3d,U+6a79,U+6a84,U+6aa9,U+6b92-6b93,U+6bc2,U+6bd6,U+6bfd,U+6c16,U+6c21,U+6c24,U+6c29,U+6c32,U+6c35,U+6c86,U+6cc5,U+6cd4,U+6d0c,U+6d60,U+6d63,U+6d6f,U+6da0,U+6ddd,U+6e0c,U+6e86,U+6ecf,U+6ed3,U+6edf,U+6f4b,U+6fb9,U+6fd1,U+6fef,U+7023,U+7080,U+70b7,U+70ca,U+712f,U+7145,U+7284,U+72d9,U+732c,U+7350,U+7352,U+7391,U+73c8,U+73d9,U+740a,U+741a,U+7441,U+7457,U+74d2,U+757f,U+7583,U+7596,U+759d,U+75a3,U+75b4,U+75d8,U+75e3-75e4,U+75e8,U+75f1,U+75ff,U+7622,U+765e,U+7688,U+76b4,U+76e5,U+7812,U+7818,U+784c,U+7850,U+7887,U+789a-789b,U+78b2,U+78f4,U+7a17,U+7a51,U+7b08,U+7b15,U+7b1e,U+7b24,U+7b33,U+7b5a,U+7bb8,U+7bc1,U+7bd9,U+7c2a,U+7ccc,U+7ea3,U+7ea8,U+7eb0,U+7ec0,U+7ee6,U+7efa,U+7f1b,U+7f22,U+7f71,U+7fa7,U+7fe6,U+7ff3,U+8012,U+8084,U+8093,U+80b1,U+80e4,U+80ef,U+80f4,U+81bb,U+8202,U+828a,U+828e,U+8297,U+82a8,U+82be,U+82e3,U+830c,U+8331,U+8366,U+8369,U+83a8,U+83c5,U+83d6,U+83e1,U+83fd,U+843c,U+8473,U+84a1,U+84ca,U+84d1,U+84fc,U+853b,U+8564,U+8572,U+857b,U+85c1,U+85d3,U+8605,U+8662,U+86aa,U+86b1,U+86c6,U+86c9,U+86d4,U+86ed,U+86f3,U+8708-8709,U+8725,U+8748,U+874c,U+8763,U+879f,U+87b3,U+8869,U+887d,U+88fe,U+89c7,U+89de,U+89e5,U+8a3e,U+8a8a,U+8ba6,U+8bc2,U+8c00,U+8c07,U+8c14,U+8c21,U+8c47,U+8c49,U+8c62,U+8c7a,U+8c89,U+8d30,U+8d49,U+8d94,U+8dd7,U+8df9,U+8e2e,U+8e51,U+8e59,U+8e69,U+8e7f,U+8e85,U+8f6b,U+8f73,U+8ff3,U+9016,U+9026,U+902f,U+907d,U+9082,U+9099,U+909b,U+90b0,U+90c7,U+9143,U+914a,U+91ae,U+91ba,U+948f,U+9495,U+94a3-94a4,U+94af,U+94b9-94ba,U+94bf,U+94cb-94cc,U+94d2,U+94e1,U+94f0,U+9512,U+9531,U+9553,U+955d,U+95f3,U+9609-960a,U+9697,U+96bc,U+975b,U+9765,U+977c,U+97ea,U+9880,U+98a2,U+996c,U+9980,U+998a,U+9991,U+9994-9995,U+9a9b,U+9ab7,U+9ac5,U+9afb,U+9c87,U+9c91,U+9cb3,U+9cb5,U+9cb7,U+9cc7,U+9ccf,U+9cd5,U+9e29,U+9e42,U+9e58,U+9edc,U+9edf-9ee0,U+9f83,U+9f88-9f89",weight:"400"},{asset:"mincho/6501caba.woff2",family:"Huiwen_mingchao",range:"U+2713,U+2756,U+2776-277f,U+2934-2935,U+29bf,U+29fa-29fb,U+3000,U+3003,U+3005-3007,U+3012-3013,U+3018-3019,U+301c-301d,U+301f-3020,U+3033-3035,U+303b-303d,U+3041-3096,U+309b-30ff,U+3105-312c,U+31f0-31f9,U+31fb-31ff,U+3231-3232,U+3239,U+3251-325f,U+32a4-32a8,U+32b1-32bf,U+32d0-32e3,U+32e5,U+32e9,U+32ec-32ed,U+32fa,U+32ff,U+3303,U+330d,U+3314,U+3318,U+3322-3323,U+3326-3327,U+332b,U+3336,U+333b,U+3349-334a,U+334d,U+3351,U+3357,U+337b-337e,U+338e-338f,U+339c-339e,U+33a1,U+33c4,U+33cb,U+33cd,U+3447,U+3473,U+347a,U+34ba,U+34c2,U+34c7,U+3541,U+3551,U+3558,U+3560,U+1f31a-1f31d,U+200d3,U+201ee,U+20302,U+20542,U+20545,U+20587,U+20707,U+207b0,U+20846,U+20ab1,U+20b24,U+20b9f,U+20be5,U+20d1f,U+20d30,U+20ef3",weight:"400"},{asset:"mincho/b2523abb.woff2",family:"Huiwen_mingchao",range:"U+4f2b,U+4f3d,U+4f58,U+4f6c,U+4fac,U+4fd0,U+5014,U+5043,U+5055,U+5140,U+5156,U+51bd,U+51cb,U+5243,U+524c,U+5315,U+531d,U+5323,U+535e,U+53a5,U+53ae,U+53f1,U+540f,U+541d,U+542d,U+5431,U+545b,U+547b,U+548e,U+5492,U+549a,U+54a4,U+54aa-54ab,U+54ce,U+54fc-54fd,U+5509,U+5520,U+553e,U+5567,U+556a,U+557b,U+55c5,U+55f7,U+5600,U+5608,U+5618,U+5636,U+563b,U+563f,U+5669,U+56f1,U+56ff,U+573b,U+574d,U+5773,U+579b,U+57a0,U+57b8,U+57c2,U+5811,U+586c,U+587e,U+58d5,U+58f9,U+595a,U+598d,U+5993,U+5996,U+59d7,U+59e3,U+5a29,U+5a6a,U+5a7a,U+5ac9,U+5b62,U+5b7a,U+5b95,U+5ba6,U+5c49,U+5c4e,U+5c8c,U+5c96,U+5ce5,U+5d02,U+5e44,U+5eff,U+5f08,U+5f29,U+5f89,U+5f99,U+5f9c,U+6005,U+602f,U+6043,U+6059,U+606c,U+60b8,U+60ec-60ed,U+60f0,U+6115,U+618e,U+61a9,U+620c,U+6249,U+62a8,U+62c4,U+62ed,U+62fd,U+630e,U+6342,U+6345,U+637a,U+6390,U+6396,U+63a3,U+63ac,U+63b0,U+6402,U+6413,U+642a,U+6487,U+64a9,U+64ac,U+64ae,U+64b7,U+6525,U+6538,U+659f,U+65a1,U+65ee-65ef,U+6631,U+6636,U+6654,U+667e,U+66f3,U+677c,U+67b8,U+67d8,U+67e0,U+683e,U+6886,U+68b5,U+6963,U+6979,U+6988,U+69df,U+6aac,U+6b86,U+6b9a,U+6c50,U+6c5e,U+6c69,U+6c74,U+6c76,U+6c85,U+6c8c,U+6cae,U+6cde,U+6cef,U+6d19,U+6d52,U+6d95,U+6da7,U+6db8,U+6dc5,U+6dde,U+6de6,U+6dfc,U+6e1a,U+6e25,U+6e4d,U+6e5f,U+6ea7,U+6ec1,U+6f15,U+6f29,U+6f31,U+6f7a,U+6fa7,U+6fe1,U+701b,U+7096,U+70ab,U+70c3,U+70f7,U+7131,U+715c,U+7166,U+7266,U+72e1,U+7315,U+7317,U+731d,U+7329,U+736d,U+73ae,U+73c0,U+73c2,U+73e9,U+740f,U+7425,U+7455,U+7490,U+74ef,U+7519,U+75a4,U+75b5,U+75b9,U+75de,U+7600-7601,U+7656,U+7663,U+768b,U+7691,U+76bf,U+76d4,U+7728-7729,U+772f,U+776c,U+77a0,U+77b0,U+77f8,U+77fe,U+783a,U+783e,U+787c,U+78d0,U+78fa,U+795a,U+7977,U+7a37,U+7a79,U+7a92,U+7abf,U+7afa,U+7b3a,U+7b4f,U+7b60,U+7b71,U+7b75,U+7b8d,U+7b94,U+7bb4,U+7bd3,U+7be1,U+7cbc,U+7cef,U+7edb,U+7f1c,U+7f28,U+7f8c,U+7fb2,U+7fb9,U+7fce,U+7fe1,U+7ff1,U+808b,U+80e5,U+80eb,U+810d,U+8110,U+8113,U+812f,U+814c,U+81c3,U+8235,U+82a5,U+82aa,U+82d4,U+82de,U+8309,U+8317,U+8343,U+835e,U+8364,U+836a,U+83c1,U+8431,U+8469,U+84bf,U+84d3,U+84df,U+8511,U+853a,U+8543,U+854a,U+8559,U+8568,U+85b0,U+85b9,U+8638,U+864f,U+86c0,U+86e4,U+86fe,U+8715,U+8757,U+8822,U+8845,U+8882,U+8884-8885,U+8892,U+88e8,U+88f1,U+88f3,U+892a,U+8983,U+8ba5,U+8bd9,U+8be0-8be1,U+8be7,U+8bfd,U+8c1a,U+8c1f,U+8c27,U+8c5a,U+8c82,U+8d4a,U+8d58,U+8d66,U+8dbe,U+8dda,U+8e0c,U+8e52,U+8e74,U+8e87,U+8f76,U+8f98,U+8fc2,U+8fe6,U+900d,U+9068,U+9074,U+90a1,U+90ac,U+90b3,U+90b8,U+90e7,U+9119,U+9149,U+9157,U+915a,U+916e,U+93d6,U+949d,U+94b4,U+94c2,U+94d0,U+94e2-94e4,U+94ec,U+94ff,U+9522,U+9535,U+9556,U+95eb,U+95f0,U+9611,U+9619,U+965b,U+9706,U+970f,U+9774,U+97ed,U+9893,U+98e8,U+9981,U+998d,U+998f,U+9a6e,U+9a77,U+9a7f,U+9a87,U+9a8a,U+9aa1,U+9abc,U+9b13,U+9c9f,U+9cdd,U+9e2f,U+9e33,U+9e3e,U+9e43-9e44,U+9e5c,U+9e6d,U+9e8b,U+9e92,U+9e9d,U+9edb,U+9edd,U+9eef",weight:"400"},{asset:"mincho/182f21d5.woff2",family:"Huiwen_mingchao",range:"U+4e15,U+4e1e,U+4e2b,U+4eb3,U+4ec9,U+4f0e,U+4f5a,U+4f64,U+4f8f,U+4fce,U+4fdf,U+4ff3,U+500f,U+501c,U+504e,U+50a9,U+510b,U+51a2,U+51bc,U+527d,U+52be,U+52d0,U+536f,U+53fd,U+5420,U+5429,U+542e,U+5457,U+5486,U+5494,U+5499,U+549b,U+54af,U+54c6,U+54d2,U+5506,U+5511,U+5522,U+552c,U+556c,U+558b,U+55b3,U+55bd,U+55d2,U+55d6,U+55e1,U+55e6,U+55fd,U+561f,U+5639,U+5659,U+565c,U+5662,U+567c,U+568e,U+5693,U+572a,U+5768,U+577b,U+57a9,U+57ed,U+5892,U+598a,U+5992,U+59a9,U+59f9,U+5a11,U+5a20,U+5a76,U+5ae3,U+5ae6,U+5b17,U+5b6a,U+5b7d,U+5b93,U+5bb8,U+5c15,U+5c99,U+5cab,U+5cb7,U+5cc1,U+5d34,U+5d3d,U+5d4a,U+5d58,U+5d82,U+5e1a-5e1b,U+5e61,U+5e7a,U+5ea5,U+5f0b,U+5f77,U+5fa8,U+5fcf-5fd1,U+5fd6,U+5fff,U+6006,U+6014,U+6026,U+6035,U+6063,U+60af,U+60b4,U+60bb,U+60c6,U+60d8,U+60da,U+60ee,U+60f4,U+612b,U+6194,U+61ca,U+61e6,U+61f5,U+620a,U+621f,U+6248,U+62a1,U+62c8,U+62d7,U+631b,U+631e,U+6376,U+637b,U+63e9,U+64b5,U+64de,U+652b,U+655d,U+65bc,U+65cc,U+65ce,U+65d6,U+6619,U+6635,U+6641,U+664c,U+665f,U+6666,U+6684,U+66b9,U+6773,U+6777,U+6787,U+67b7,U+67de,U+67e9,U+6845,U+684e,U+688f,U+692d,U+693d,U+695d,U+696b,U+6994,U+69b7,U+6a35,U+6a58,U+6b59,U+6c26,U+6ce0,U+6d35,U+6d43,U+6d54,U+6d5c,U+6d8e,U+6d9e,U+6dd6,U+6dd9,U+6dec,U+6e11,U+6e6e,U+6e9f,U+6eb4,U+6ef9,U+6f09,U+6f2a,U+6f66,U+6f78,U+6f8d,U+6fc2,U+6fc9,U+704f,U+70ec,U+7118,U+714a,U+7172,U+71b9,U+724d,U+728a,U+72c8,U+7337,U+733e,U+7396,U+73b7,U+73cf,U+7428,U+742c,U+742e,U+7430,U+74ee,U+74f4,U+7525,U+753a,U+7566,U+7572,U+7579,U+75c9,U+75d4,U+75e2,U+75fc,U+762a,U+7638,U+765c,U+7678,U+768e,U+76c2,U+76f9,U+7762,U+777d,U+77cd,U+77dc,U+77fd,U+7800,U+7825,U+782d,U+7837,U+783c,U+78b4,U+78ec,U+795f,U+7980,U+79ed,U+7a1e,U+7b06,U+7b20,U+7b95,U+7ba9,U+7bab,U+7bdd,U+7c0c,U+7c41,U+7c7c,U+7cb3,U+7cbd,U+7cc5,U+7cdc,U+7ec9,U+7ecc,U+7ef6,U+7f19,U+7f30,U+7f42,U+7f44,U+7f54,U+7f94,U+8004,U+8006,U+800b,U+8019,U+807f,U+809b,U+80ae,U+80bd,U+80c4,U+80ed,U+80f1,U+8146,U+816e,U+817c,U+8198,U+81c0,U+81c6,U+81fc,U+81fe,U+822b,U+830f,U+832f,U+8340,U+834f,U+8360,U+8365,U+8385,U+8392,U+83a0,U+8424,U+84af,U+8537,U+8671,U+869c,U+86a4,U+86ce,U+86f9,U+8713,U+8717-8718,U+8737,U+873b,U+87c0,U+87cb,U+87fe,U+8815,U+8821,U+8902,U+8936,U+89d1,U+8bb9,U+8bc3,U+8bcf,U+8bd8,U+8be9,U+8c0c,U+8c0f,U+8c12,U+8c4c,U+8d32,U+8d45,U+8d53,U+8d5d,U+8d73,U+8df7,U+8e31,U+8e76,U+8e7c,U+8f7c,U+8f95,U+8fab,U+8fe4,U+9035,U+9041,U+9052,U+905b,U+9095,U+909d,U+90c5,U+90d7,U+911e,U+9122,U+916a,U+919b,U+92ae,U+9485,U+948e,U+9492,U+949a,U+94a1,U+94b5,U+94bc,U+94c4,U+94c6,U+94c9,U+94db,U+94e7,U+94f1,U+9502-9503,U+9506,U+9511,U+9517,U+9536-9537,U+9542,U+9549,U+956f-9570,U+95fe,U+9602,U+9616,U+9621,U+9631,U+9642,U+968d,U+96c9,U+96f3,U+970e,U+9739,U+9753,U+988a,U+98d2,U+98d9-98da,U+9968,U+996f,U+9984,U+998b,U+99a5,U+9a81,U+9a9e,U+9acb,U+9b03,U+9c85,U+9ca8,U+9cab,U+9e49,U+9e66,U+9ebe,U+9f10,U+9f8b",weight:"400"},{asset:"mincho/a9b5b5a2.woff2",family:"Huiwen_mingchao",range:"U+4eb5,U+4ee8,U+4eeb,U+4f09,U+4f22,U+4f43,U+4f57,U+4f5d,U+4f6f,U+4fda,U+4fea,U+4ff8,U+500c,U+502d,U+507b,U+50f3,U+5106,U+520d,U+52ad,U+530d,U+5310,U+5345,U+53a9,U+53df,U+53fb,U+5421,U+544b,U+5477,U+5482,U+54a7,U+54cc,U+54e7,U+550f,U+551b,U+5530,U+5544,U+5555,U+557e,U+5594,U+5599,U+559f,U+55c4,U+55d1,U+55df,U+55e4,U+55e8,U+55ea,U+55ec,U+55ef,U+562d,U+564e,U+5654,U+56eb,U+56f5,U+56f9,U+5704,U+576d,U+5785,U+57ad,U+57d5,U+57dd,U+584d,U+5880,U+58ec,U+5914,U+5958,U+599e,U+59aa,U+59be,U+5a06,U+5a32,U+5a40,U+5abe,U+5ae1,U+5b40,U+5b51,U+5b73,U+5bee,U+5c9c,U+5cbf,U+5cc4,U+5ccb,U+5cd2,U+5ce4,U+5d2e,U+5d47,U+5d4b,U+5d99,U+5e54,U+5e96,U+6002,U+603f,U+6078,U+607b,U+607d,U+607f,U+608c,U+609a,U+60fa,U+61d1,U+61ff,U+621b,U+622e,U+626a,U+636d,U+6371,U+63ae,U+63cd,U+63d6,U+63ff,U+6410,U+6414,U+6421,U+6448,U+64c0,U+64d8,U+661d,U+6657,U+66dc,U+6710,U+6748,U+6772,U+67a5,U+67ad,U+67b0,U+680e,U+6841,U+6954,U+69ab,U+6a47,U+6b46,U+6c4a,U+6c68,U+6c8f,U+6c94,U+6ca3-6ca4,U+6d2e,U+6d39,U+6d94,U+6e4e,U+6e98,U+6ec2,U+6ee2,U+6fe0,U+705e,U+7094,U+70e9,U+7116,U+7119,U+71e7,U+723f,U+726f,U+729f,U+72cd,U+72de,U+72f0,U+7325,U+73c9,U+73de,U+74e4,U+753e,U+7548,U+75b1,U+75b8,U+75bd,U+75c2,U+75cd,U+7618,U+7634,U+766f,U+7699,U+76c5,U+76f1,U+7708,U+7719,U+7751,U+777e,U+778c,U+7791,U+77b3,U+781d,U+7823,U+7827,U+7830,U+783b,U+7889,U+7893,U+789c,U+78a3,U+7949,U+795c,U+79e3,U+7a14,U+7a23,U+7a88,U+7a95,U+7aa0,U+7afd,U+7b90,U+7bd1,U+7be6,U+7bfe,U+7c91,U+7cb2,U+7da6,U+7ebe,U+7ec2,U+7eeb,U+7eef,U+7f03-7f04,U+7f08,U+7f25,U+7f2c,U+7f58,U+7f61,U+7f9f,U+7fb8,U+7fca,U+8026,U+8037,U+8069,U+814b,U+8153,U+8171,U+8174,U+8191,U+8200,U+8214,U+821b,U+8222,U+826e,U+828d,U+82c4,U+82cb,U+82d2,U+82d5,U+82dc,U+82eb,U+82f7,U+8314,U+832d,U+8334,U+835a,U+840b,U+8418,U+8438,U+847a,U+84d6,U+84e5,U+84ff,U+852b,U+85d0,U+8616,U+866c,U+8693,U+869d,U+86a3,U+86a7,U+86ac,U+86af,U+86b6,U+86ca,U+86d0,U+86f0,U+8703,U+8707,U+870d,U+8759,U+8760,U+8782,U+87a8,U+87af,U+87c6,U+87d1-87d2,U+87e0,U+8839,U+88c6,U+8913,U+891b,U+8934,U+8941,U+89ca,U+89ce,U+89d0,U+8a07,U+8b07,U+8ba3,U+8baa-8bab,U+8bc5,U+8bcb,U+8bd2,U+8bdb,U+8be4,U+8bf0,U+8c11,U+8c15,U+8c29-8c2a,U+8c32,U+8d6d,U+8d84,U+8db8,U+8dc4,U+8dc6,U+8dce,U+8ddb,U+8dfa,U+8e09,U+8e1d,U+8e39,U+8e3d,U+8e42,U+8e47,U+8e49,U+8e4b,U+8e6d,U+8e8f,U+8f71-8f72,U+9004-9005,U+9036,U+9051,U+9088,U+9097,U+90d3,U+90dc,U+90e2,U+90e6,U+90ef,U+9104,U+9150,U+9169,U+919a,U+91b4,U+938f,U+9497,U+949c,U+94e0,U+9509,U+950f,U+951f,U+9528,U+9534,U+9552,U+9557,U+9562-9563,U+9573,U+9606,U+961a,U+9649,U+965f,U+96b0,U+9701,U+972d,U+973e,U+9791,U+9798,U+97a3,U+97eb,U+9889,U+988c,U+9894,U+98a6,U+98d3,U+9974,U+9977,U+997d,U+9990,U+9997,U+9a90,U+9a9c-9a9d,U+9aa7,U+9aef,U+9c88,U+9ca2,U+9cb2,U+9cb6,U+9cc5,U+9ccd,U+9cdc,U+9cdf,U+9e20,U+9e22,U+9e2a,U+9e4c,U+9e51,U+9e57,U+9e67,U+9e6b,U+9e73,U+9e82,U+9eb8,U+9f3e,U+9f9b",weight:"400"},{asset:"mincho/920f4cca.woff2",family:"Huiwen_mingchao",range:"U+4e47,U+4e5c,U+4e8d,U+4edf,U+4f25,U+4f32,U+4f5e,U+4f76,U+4f7b,U+4f89,U+4faa,U+4fe6,U+5028,U+5048,U+50ee,U+520e,U+5250,U+535f,U+538d,U+53c1,U+5412,U+5443,U+54a6,U+54d4,U+54dd,U+5533,U+5541,U+5549,U+5550,U+5556,U+5577,U+5591,U+55dd,U+55e5,U+55f3,U+55f5,U+560c,U+560f,U+5627,U+562c,U+5657-5658,U+5664,U+567b,U+56af,U+56d4,U+575c,U+5769,U+577c,U+578c,U+5793,U+57b2,U+57da,U+57e4,U+5800,U+5889,U+593c,U+59a4,U+59ab,U+5a62,U+5ad8,U+5aeb,U+5af1,U+5b53,U+5c3b,U+5ca3,U+5cac,U+5d26,U+5d9d,U+5db7,U+5edb,U+5f01,U+5f2d,U+5fb5,U+5fbc,U+5fdd,U+5ff8,U+6004,U+6029,U+6041,U+6079,U+60ad,U+60b1,U+61b7,U+6222,U+623e,U+629f,U+6332,U+638a,U+63bc,U+63e0,U+647a,U+6485,U+64b8,U+64ba,U+64e2,U+65ab,U+65c3,U+65c6,U+65f0,U+6600,U+668c,U+669d,U+66be,U+66e9,U+66f7,U+67c1,U+67d2,U+67e2,U+67fd,U+6800,U+6874,U+6877,U+68fc,U+690b,U+691f,U+6924,U+6978,U+6989,U+69a7,U+69c1,U+6a17,U+6a3e,U+6a50,U+6a5b,U+6a97,U+6b24,U+6b81,U+6b87,U+6b8d,U+6baa,U+6c10,U+6c18,U+6c3d,U+6c54,U+6ceb,U+6cee,U+6d04,U+6d4d,U+6de0,U+6e6b,U+6eb1,U+6ebd,U+6fde,U+7110,U+7168,U+71b3,U+71f9,U+7230,U+723b,U+728d,U+7292,U+72b0,U+72b8,U+72d2,U+7301,U+731e,U+7360,U+73a2,U+73b3,U+73d0,U+74ff,U+7511,U+75a0,U+75a5,U+75c8,U+75e7,U+7610,U+7619,U+7633,U+771a,U+772d,U+7768,U+779f,U+781c,U+7826,U+7829,U+782c,U+7856,U+7877,U+7957,U+7a39,U+7aa8,U+7ae6,U+7b04,U+7b0f,U+7b47,U+7ba6,U+7baa,U+7bac,U+7c1f,U+7ccd,U+7dae,U+7ecb,U+7ed0,U+7ed4,U+7ed7,U+7efb,U+7efe,U+7f0d,U+7f1f,U+7f26,U+7f31,U+7f35,U+7f45,U+7f5f,U+7faf,U+7fbf,U+7fd5,U+7fe5,U+801c,U+8027,U+8052,U+80bc,U+80db,U+80dd,U+80fc,U+8132,U+815a,U+8167,U+816d,U+81ca,U+81cc,U+81ec,U+8210,U+8228,U+8244,U+8249,U+824f,U+82a1,U+82a9,U+82ab,U+82b4,U+82cc,U+8306,U+8315,U+833a,U+8351,U+8368,U+8378,U+839c,U+83aa,U+83b3-83b4,U+83b8,U+83bc,U+83d8,U+83ea,U+83f0,U+8497,U+84c1,U+8538,U+858f,U+859c,U+85ae,U+85ff,U+867b,U+86a8-86a9,U+86b4,U+86cf,U+870a,U+8722,U+8734,U+876e,U+877c,U+87ca,U+87e5,U+886e,U+887e,U+8888,U+88df,U+8919,U+8921,U+8ba7,U+8bcc,U+8bdf,U+8be8,U+8bee,U+8c04,U+8c1d,U+8c20,U+8c25,U+8c2f-8c30,U+8c36,U+8d36,U+8d3d,U+8d59,U+8d67,U+8db5,U+8dbf,U+8dec,U+8df8,U+8dfd,U+8e05,U+8e1f,U+8e2f,U+8e41,U+8e70,U+8f78,U+8f87,U+8f8b,U+8f8f,U+8f9a,U+900b,U+9021,U+9044,U+9062,U+908b,U+90b4,U+90ba,U+90c4,U+90cf-90d0,U+90eb,U+90fe,U+9123,U+9146,U+9172,U+917d,U+918d,U+91aa,U+933e,U+93ca,U+9486-9487,U+948c-948d,U+9490,U+94aa,U+94ad,U+94b2,U+94bd,U+94c8,U+94cd,U+94d6,U+94d9,U+94df,U+94e9,U+94ef,U+94fc,U+9507,U+951b,U+9546,U+954a,U+954f,U+9554,U+955e,U+956b,U+9571,U+95e9,U+9604,U+960b,U+960f,U+9612,U+9615,U+9617,U+96b9,U+96d2,U+9708,U+97af,U+989a-989b,U+989e,U+98a7,U+98d5,U+992e,U+9955,U+9a78,U+9a7d,U+9a88,U+9aa0,U+9aa2,U+9ab0,U+9ab6,U+9ac2,U+9b23,U+9b3b,U+9b47,U+9c82,U+9c90,U+9c9b,U+9c9e,U+9cad,U+9cc3,U+9cca,U+9cd9,U+9e28,U+9e2c,U+9e47,U+9e5a,U+9e5e,U+9e6c,U+9ecd,U+9ecf,U+9ee7,U+9efe,U+9f0b,U+9f8a,U+9f8c",weight:"400"},{asset:"mincho/c754c613.woff2",family:"Huiwen_mingchao",range:"U+4e69,U+4f65,U+4f67,U+50a7,U+50e6,U+5196,U+5202,U+5240,U+5261,U+52ac,U+531a,U+5363,U+5416,U+5432,U+5452,U+5454,U+5456,U+5472,U+5478,U+54ad,U+54bb,U+54c2,U+54cf,U+54d3,U+54de,U+5537,U+553f,U+5575,U+5581,U+55cc,U+55fe,U+5601,U+561e,U+566b,U+56df,U+5709,U+572e,U+57d2,U+57ef,U+580d,U+581e,U+5924,U+5981,U+5997,U+59a3,U+59b2,U+5aaa,U+5ab8,U+5ad4,U+5b34,U+5ba5,U+5c59,U+5c63,U+5d24,U+5d5b,U+5d5d,U+5d74,U+5def,U+5e0f,U+5e11,U+5e14,U+5e42,U+5e91,U+5eb3,U+5ed1-5ed2,U+5ef4,U+5f40,U+5fad,U+6003,U+600d,U+6019,U+601b,U+603c,U+605a,U+6092,U+60ab,U+6100,U+610e,U+6206,U+6217,U+623d,U+624c,U+62ca,U+634c,U+6369,U+646d,U+6535,U+65c4,U+65d2,U+6661,U+670a,U+6715,U+6753,U+67a7,U+67f0,U+680c,U+6855,U+6861,U+686b,U+68f9,U+6939,U+696e,U+6980,U+69ca,U+69ff,U+6a7c,U+6aab,U+6b82,U+6b84,U+6bf3,U+6bf9,U+6c05-6c07,U+6c0d,U+6c19-6c1a,U+6ca9,U+6cb2,U+6cd6,U+6cf6-6cf7,U+6cfa,U+6d07,U+6d1a,U+6d27,U+6d2b,U+6d91,U+6dab,U+6e54,U+6e8f,U+6f74,U+6fb6,U+7085,U+709d,U+70bb,U+7198,U+71b5,U+7256,U+725d,U+726e,U+727e,U+72ad,U+72ce,U+72f2,U+72fa-72fb,U+7322,U+737e,U+738e,U+73e5,U+7477,U+748e,U+74ba,U+750f,U+754b,U+755a,U+7594,U+75ac,U+75b3,U+75d6,U+760c,U+7615,U+7617,U+7630,U+763f,U+7654,U+76b2,U+7726,U+775a,U+7765,U+77bd,U+77ec,U+7817,U+781f,U+78a1,U+78d4,U+78d9,U+7905,U+7913,U+79b3,U+79d5,U+79eb,U+7a70,U+7a86,U+7b25,U+7b2a-7b2b,U+7b2e,U+7b31,U+7b38,U+7b3e,U+7b62,U+7b72,U+7b85,U+7b9c,U+7ba7,U+7bcc,U+7bea,U+7c26,U+7c74,U+7c9c-7c9d,U+7cc1,U+7e47,U+7e9b,U+7e9f,U+7ea5,U+7ee0-7ee1,U+7ee8,U+7ef1,U+7f01,U+7f11,U+7f17,U+7f27,U+7f36,U+7f7e,U+7fb0,U+7fee,U+802a,U+8031,U+8043,U+8071,U+809f,U+80ab,U+80cd,U+80d7,U+8112,U+8118,U+8160,U+8169,U+8188,U+81a6,U+81c1,U+8234,U+823e,U+8279,U+8298,U+82c1,U+82ca,U+82d8,U+82e1,U+82e4,U+82f4,U+82fb,U+835c,U+836c,U+83c0,U+83d4,U+83df,U+83f8,U+8401,U+841c,U+8451,U+845a,U+846d,U+8476,U+8478,U+8489,U+848c,U+84ba,U+84bd,U+84e0,U+851f,U+8548,U+8556,U+8585,U+8627,U+8629,U+867a,U+868b,U+868d,U+86e9,U+86f4,U+86f8,U+872e,U+8765,U+877d,U+8785,U+87ab,U+87ee,U+8813,U+8816,U+8832,U+8872,U+88a2,U+88b7,U+88c9,U+88ce,U+88e2-88e3,U+897b,U+89da,U+8bb5,U+8bce,U+8bd3,U+8bd6,U+8bf3,U+8bf9,U+8bfc,U+8c16-8c17,U+8c35,U+8c55,U+8c73,U+8c78,U+8d40,U+8d46,U+8d4d,U+8d5c,U+8d91,U+8dba,U+8dde,U+8deb,U+8e14,U+8f6d,U+8f75,U+8f8e,U+8f94,U+8fe8,U+9011,U+915e,U+9162,U+9179,U+917e,U+9185,U+918c,U+9190,U+92c8,U+94ab,U+94ca,U+94d1,U+94d5,U+94d7,U+94e5,U+94ea,U+94f3,U+94f7,U+94fd,U+9515,U+951d,U+952a,U+952c,U+9545,U+9558-9559,U+9566-9567,U+9572,U+95f1,U+9608,U+961d,U+96ce,U+96e0,U+96e9,U+9785,U+9878,U+987c,U+9883,U+988f,U+989f,U+98d1,U+990d,U+9954,U+9963,U+9993,U+9a93,U+9ac0-9ac1,U+9acc,U+9aeb,U+9b1f,U+9b32,U+9b49,U+9b4d,U+9b51,U+9c8b,U+9ca0,U+9ca5,U+9ca7,U+9ca9,U+9cae,U+9cb1,U+9cce,U+9cd3,U+9e37,U+9e39,U+9e41,U+9e46,U+9e48,U+9ee9,U+9f17,U+9f19,U+9f22,U+9f2f,U+9f39,U+9f80,U+9f85,U+9f87",weight:"400"},{asset:"mincho/5a4bccb9.woff2",family:"Huiwen_mingchao",range:"U+4e10,U+4e56,U+4e98,U+4ea2,U+4ea5,U+4ec3,U+4f36,U+4f3a,U+4f5f,U+4f70,U+4f84,U+4f88,U+4f8d,U+4f97,U+4fa5,U+4fe8,U+501a,U+5029,U+504c,U+5197,U+51a5,U+51c4,U+51f8,U+5201,U+52fa,U+5321,U+5352,U+5364,U+5366,U+53e8-53e9,U+5406,U+543c,U+545c,U+5471,U+5480,U+5495,U+54b3,U+54c7,U+54df,U+54e6,U+54ee,U+557c,U+5583,U+55dc,U+55e3,U+5632,U+566c,U+5676,U+56b7,U+56da,U+56e4,U+5703,U+5742,U+57a2-57a3,U+5815,U+58d1,U+5919,U+592d,U+592f,U+5944,U+5955,U+5983,U+59ca,U+59e5,U+5a05,U+5a13,U+5a25,U+5a34,U+5a7f,U+5b09,U+5b70,U+5b75,U+5bd0,U+5bf0,U+5c41,U+5c91,U+5c94,U+5ce6,U+5ced,U+5d69,U+5dc5,U+5e16,U+5e27,U+5e4c,U+5eb5-5eb6,U+5f1b,U+5f3c,U+5f95,U+6020,U+604d,U+6055,U+607a,U+608d,U+60cb,U+60e6,U+6123,U+618b,U+61a7,U+61ac,U+61cb,U+6233,U+62a0,U+62ce,U+62d9,U+62e7,U+62ee,U+62f4,U+62f7,U+631f,U+634e,U+6382,U+63c9,U+63ea,U+6400,U+6452,U+645e,U+6479,U+6482,U+64ce,U+64d2,U+6556,U+655b,U+6593,U+660a,U+6615,U+664f,U+66e6,U+672d,U+675e,U+67c4,U+67da,U+6805,U+6808-6809,U+6853,U+6868,U+68a2,U+68f1,U+68fa,U+693f,U+6942,U+695e,U+6995,U+69ad,U+69b4,U+69db,U+6a71,U+6a80,U+6a90,U+6b83,U+6b89,U+6bcb,U+6bd9,U+6be1,U+6c30,U+6c40,U+6cad,U+6cb1,U+6cf1,U+6cf8,U+6d31,U+6d85,U+6d93,U+6da3,U+6daa,U+6dae,U+6dbf,U+6dc6-6dc7,U+6e0d-6e0e,U+6e32,U+6e3a,U+6e43,U+6e85,U+6eba,U+6f3e,U+6f5e,U+6f7c,U+6f88,U+6fee,U+70d9,U+70fd,U+7109,U+717d,U+7184,U+71a8,U+71ee,U+722a,U+7252,U+72b7,U+72c4,U+72e9,U+733f,U+73ba,U+73d1,U+73f2,U+7409,U+7435-7436,U+7459-745a,U+747e,U+7487,U+748b,U+749c,U+749e,U+74e2,U+7504,U+752c-752d,U+7599-759a,U+759f,U+75a1,U+75ca,U+75d2,U+75eb,U+75f0,U+761f-7620,U+7629,U+766b,U+7738,U+773a,U+777f,U+7785,U+778e,U+77a5,U+77aa,U+77bf,U+78be,U+78d5,U+7934,U+7940,U+795b,U+796f,U+79a7,U+7a20,U+7a96,U+7aa5,U+7b03,U+7b19,U+7b28,U+7b50,U+7b77,U+7bf1,U+7c27,U+7c38,U+7c95,U+7cb1,U+7ce0,U+7ead,U+7ec5,U+7eca,U+7ee2,U+7ef0,U+7ef7,U+7efd,U+7f0e,U+7f2b,U+7f2e,U+7f79,U+7f81,U+7f9a,U+7fcc,U+8046,U+8098,U+80da,U+80e7,U+80f0,U+80f3,U+8148,U+8165,U+819b,U+81ba,U+81e7,U+8237-8238,U+828b,U+8299,U+82ae,U+82b7,U+82ce,U+82d3,U+8301,U+830e,U+831c,U+8338,U+837c,U+8393,U+8398,U+83ba,U+83bd,U+83e0,U+83e9,U+8426,U+8475,U+84e6,U+853c,U+85c9,U+85d5,U+85e9,U+8654,U+86db,U+86df,U+8712,U+871a,U+873f,U+8749,U+874e,U+8783,U+8859,U+888d,U+88a4,U+8910,U+891a,U+8925,U+8bb4,U+8bb7,U+8be3,U+8bec,U+8bf2,U+8bff,U+8c06,U+8c0d,U+8c19,U+8c1b,U+8c24,U+8c2c,U+8d4e,U+8d61,U+8db4,U+8de4,U+8e1e,U+8e66,U+8e6c,U+8f84,U+8f8a,U+8f97,U+8fe5,U+8ff8,U+901e,U+9083,U+90e1,U+90f4,U+912f,U+9131,U+9163,U+9165,U+9170,U+91c9,U+91dc,U+949b,U+94a8,U+94b0,U+94b3,U+94c0,U+94e8,U+94f5,U+9504,U+9525,U+9530,U+9532,U+9539,U+954c-954d,U+9550,U+955b,U+956d,U+95f5,U+95fa,U+962a,U+9668,U+9685,U+96bd,U+96cc,U+96f9,U+9704,U+9773,U+9776,U+988d,U+9890,U+9975,U+997a,U+9985,U+9a6f,U+9a8b,U+9aa5,U+9ab8,U+9c7f,U+9ca4,U+9cb8,U+9cc4,U+9ccc,U+9e25,U+9e35,U+9e4a",weight:"400"},{asset:"mincho/624f240b.woff2",family:"Huiwen_mingchao",range:"U+4e19,U+4e38,U+4ea8,U+4ec6-4ec7,U+4ed1,U+4f1e,U+4f51,U+4f63,U+4f7c,U+4f83,U+4fa0,U+4fd1,U+4fde,U+4ffa,U+5018,U+5026,U+508d,U+50bb,U+50e7,U+50f5,U+50fb,U+5154,U+515c,U+5162,U+51a4,U+51d1,U+51ff,U+5254,U+5256,U+5308,U+5319,U+5320,U+532a,U+535c,U+5375,U+5384,U+538c,U+53e0,U+5413,U+541f,U+5435,U+5475,U+548f,U+54bd,U+54d1,U+54e8,U+54fa,U+5582,U+5587,U+5589,U+5598,U+55a7,U+561b,U+5631,U+575f-5760,U+576f,U+5777,U+57ae,U+57e0,U+58f6,U+5937,U+5974,U+5978,U+59ae,U+5a1f,U+5a49,U+5ab3,U+5b99,U+5b9b,U+5ba0,U+5bb5,U+5bc5,U+5be1,U+5be5,U+5c09,U+5c27,U+5c38,U+5c7f,U+5c82,U+5c90,U+5d16,U+5d29,U+5dcd,U+5de2,U+5e18,U+5e90,U+5e9a,U+5f26,U+5f57,U+5f6a,U+5f8a,U+5f98,U+5fcc,U+6016,U+6021,U+606d,U+607c,U+6094,U+60bc,U+60d5,U+60e7,U+611a,U+614c,U+61d2,U+6254,U+625b,U+626f,U+6292,U+6296,U+62b9,U+62d0,U+62e2,U+62fe,U+631a,U+631d,U+6320,U+6346,U+63a0,U+63ba,U+6401,U+6454,U+6467,U+64bc,U+64c2,U+658b,U+6590,U+65a7,U+663c,U+6643,U+6652,U+6656,U+6674,U+6687,U+66d9,U+66dd,U+66f0,U+673d,U+6749,U+67ab,U+67af,U+67d1,U+6816-6817,U+6854,U+68a7,U+68ad,U+68cd,U+68d8,U+68e0,U+6930,U+6986,U+69fd,U+6b47,U+6b49,U+6b6a,U+6bb4,U+6bd7,U+6c1f,U+6c22,U+6c2e-6c2f,U+6c7e,U+6ca5,U+6cab,U+6cbe,U+6ce3,U+6cf5,U+6d3c,U+6de4,U+6df3,U+6e0a,U+6e1d,U+6e23,U+6e83,U+6e9c,U+6ed4-6ed5,U+6f33,U+6f4d,U+6f84,U+708a,U+70ac,U+70c1,U+70eb,U+70f9,U+711a,U+7130,U+716e,U+718f,U+71ac,U+71e5,U+72fc,U+7316,U+731c,U+7334,U+73ca,U+7405,U+7422,U+7426,U+742a,U+745f,U+7470,U+7529,U+752b,U+7574,U+75af,U+75d5,U+75f4,U+762b,U+763e,U+7696,U+7720,U+7737,U+7741,U+7766,U+7792,U+77a7,U+77bb,U+77e9,U+77ee,U+7838,U+7845,U+785d,U+788c,U+78c5,U+78ca,U+7901,U+796d,U+7985,U+79b9,U+79e4,U+79e7,U+79fd,U+7a3c-7a3d,U+7a57,U+7a74,U+7a84,U+7a9f,U+7ad6,U+7b0b,U+7b52,U+7b5b,U+7c3f,U+7c7d,U+7c9f,U+7caa,U+7cb9,U+7cd5,U+7cdf,U+7eac,U+7eb6,U+7ece,U+7ed1,U+7ee5,U+7f09,U+7f15,U+7f20,U+7f2a,U+7f38,U+7f69,U+7fa1,U+7fc5,U+8018,U+8038,U+803b,U+803f,U+804b,U+8086,U+808c,U+809a,U+80a2,U+80be,U+80d6,U+817a,U+8180,U+81ed,U+81fb,U+820c,U+829c,U+82a6,U+82ad,U+82af,U+82bd,U+82d1,U+8327,U+8346,U+8354,U+835f,U+8367,U+836b,U+839e,U+83f1,U+8403,U+840c,U+840e,U+841d,U+8471,U+849c,U+84b2,U+84c9,U+8517,U+851a,U+853d,U+8549,U+85e4,U+8650,U+865e,U+8681,U+8700,U+871c,U+8721,U+8776,U+87f9,U+88d9,U+88f9,U+89c5,U+8a93,U+8bb3,U+8bc0,U+8beb,U+8c05,U+8c1c,U+8c23,U+8c34,U+8d1e,U+8d2c,U+8d2e,U+8d43,U+8d81,U+8d9f,U+8e0a,U+8e22,U+8e72,U+8e81,U+8eaf,U+8eb2,U+8eba,U+8f69,U+8fed,U+900a,U+901b,U+902e,U+9038,U+9050,U+906e,U+9091,U+90aa,U+90af,U+90dd,U+914b,U+915d,U+9171,U+9187,U+946b,U+9489,U+9499,U+94a5,U+94a7,U+94be,U+94ee,U+9508,U+950c,U+9523-9524,U+952d,U+9540,U+9551,U+9576,U+95f7,U+9600,U+962e,U+9647,U+964c,U+96b6,U+96c0-96c1,U+96cf,U+9709,U+9716,U+971c,U+9756,U+97e7,U+97f6,U+98a0,U+98a4,U+9965,U+997f,U+99a8,U+9a73,U+9a7c,U+9a82,U+9a86,U+9ad3,U+9ae6,U+9cd6,U+9e3d,U+9e9f,U+9ed4",weight:"400"},{asset:"mincho/c0a40189.woff2",family:"Huiwen_mingchao",range:"U+4e4d,U+4e5e,U+4ed5,U+4fa3,U+4fae,U+4fd8,U+4fef,U+50a3,U+50da,U+516e,U+5189,U+5195,U+51db,U+51f3,U+51f9,U+5203,U+5220,U+5228,U+527f,U+5288,U+52ff-5300,U+532e,U+533e-533f,U+5351,U+53db,U+53ed-53ee,U+543b,U+5450,U+5455,U+5484,U+548b,U+5490,U+54c9,U+54d7,U+54e9,U+5501,U+5507,U+5543,U+5578,U+55d3,U+560e,U+56a3,U+56bc,U+5729,U+575e,U+5830,U+589f,U+58a9,U+5962,U+5984,U+59e8,U+59ec,U+5a04,U+5a07,U+5a23,U+5a36,U+5a3c,U+5a77,U+5a9a-5a9b,U+5ab2,U+5ac2,U+5ad6,U+5b5a,U+5bc7,U+5bdd-5bde,U+5c2c,U+5c34,U+5c51,U+5c79,U+5cb1,U+5cd9,U+5ce8,U+5cea,U+5d0e,U+5d4c,U+5deb,U+5e3c,U+5e87,U+5ed3,U+5f13,U+5f27,U+5f5d,U+5f64,U+5f87,U+5fe1,U+5ff1,U+5ffb,U+601c,U+6064,U+606a,U+6096,U+60df,U+60eb,U+60f6,U+60f9,U+6151,U+6177,U+61a8,U+620d-620e,U+6241,U+6252,U+6273,U+627c,U+6289,U+62c2,U+62c7,U+62cc,U+62e3,U+62ef,U+62f1,U+634d,U+634f,U+6361,U+6363,U+63b7,U+63e3,U+6405,U+6495,U+6512,U+6518,U+6577,U+65a9,U+65f7,U+6627,U+6655,U+66ae,U+6714,U+6726,U+6756,U+6789,U+6795,U+67ff,U+6813,U+6829,U+6862,U+6866,U+6893,U+6897,U+68b3,U+68d5,U+68e3,U+690e,U+6960,U+6977,U+6984,U+69a8,U+69bb,U+69cc,U+69d0,U+6a1f,U+6a31,U+6a44,U+6a59,U+6b7c,U+6ba1,U+6bd3,U+6c13,U+6c72,U+6c79,U+6c81,U+6c90,U+6c93,U+6ca6,U+6cbc-6cbd,U+6ccc,U+6cd3,U+6cd7,U+6cfb,U+6cfe,U+6d4a,U+6d4f,U+6d5a,U+6d9f,U+6da1,U+6da9,U+6dcc,U+6e2d,U+6e44,U+6ea5,U+6eaf,U+6ec7,U+6ee4,U+6ee6,U+6f13,U+6f2f,U+6f62,U+6f8e,U+6fa1,U+7011,U+701a,U+7078,U+707c,U+7095,U+7099,U+709c,U+70af,U+70bd,U+70d8,U+70db,U+70e8,U+714e,U+715e,U+7194,U+71a0,U+71ce,U+7235,U+7239,U+7280-7281,U+72d0,U+72f8,U+7357,U+7384,U+73ab,U+7410,U+745b-745c,U+7480,U+74a7-74a8,U+74e3,U+7578,U+75ae,U+75ea,U+75f9,U+7682,U+7693,U+76b1,U+76ce-76cf,U+7736,U+776b,U+77d7,U+77e2-77e3,U+77eb,U+77f6,U+780c,U+781a,U+7852,U+789f,U+7941,U+7948,U+7960,U+797a,U+79ba,U+79be,U+79c3,U+79c6,U+79f8,U+7a1a,U+7a8d,U+7a98,U+7a9c,U+7aa6,U+7aff,U+7b1b,U+7b5d,U+7bc6,U+7bf7,U+7c07,U+7ca5,U+7cd9,U+7d0a,U+7d6e,U+7e82,U+7eab,U+7eda,U+7ede,U+7eee,U+7f00,U+7f24,U+7f2d,U+7f9e,U+7fd8,U+7fdf,U+7fe9,U+800d,U+803d,U+80aa,U+80b4,U+80fa,U+8116,U+813e,U+8151,U+8155,U+817b,U+818a,U+819d,U+81b3,U+8205,U+821c,U+82b8-82b9,U+82c7,U+82db,U+82df,U+82ef,U+8304,U+832c,U+8335,U+8339,U+837b,U+8386,U+83b9,U+83cf,U+8446,U+846b,U+8587,U+85af,U+85dc,U+85fb,U+8611,U+8682,U+868a,U+868c,U+86d9,U+86ee,U+8747,U+8774,U+8862,U+889c,U+88d4,U+88d8,U+88f4,U+88f8,U+8912,U+895f,U+8a79,U+8b6c,U+8bb6,U+8bbd,U+8bf5,U+8c0e,U+8c41,U+8c79,U+8d26,U+8d31,U+8d3b-8d3c,U+8d48,U+8d50,U+8dcb,U+8dea,U+8e29,U+8e35,U+8e44,U+8e4a,U+8eac,U+8f8d,U+8f99,U+8fe2,U+8fe9,U+9017,U+90f8,U+914c,U+916f,U+9175-9176,U+918b,U+948a,U+94a0,U+94ae,U+94ce,U+94f2,U+951a,U+952f,U+9541,U+9640,U+9661,U+9672,U+968b,U+9698-9699,U+96cd,U+96ef,U+9713,U+9761,U+97a0,U+97ec,U+9885,U+996a,U+9992,U+9a6d,U+9a74,U+9a79,U+9a85,U+9a8f,U+9cbb,U+9cd7,U+9cde,U+9e26,U+9e93,U+9f9f",weight:"400"},{asset:"mincho/5d23163e.woff2",family:"Huiwen_mingchao",range:"U+4e11,U+4e22,U+4e52-4e53,U+4e7e,U+4e9f,U+4ed7,U+4ef0,U+4f50,U+4fcf,U+4fe9,U+4fed,U+502a,U+50ac,U+50b2,U+5112,U+5179,U+517d,U+5180,U+5188,U+51f0,U+51f6,U+522e,U+5239,U+5265,U+52c9,U+52cb,U+52df,U+52fe,U+5349,U+5367,U+5378,U+537f,U+5395,U+5398,U+53a2,U+53a8,U+53c9,U+53d4,U+543e,U+5440,U+5446,U+5496,U+54ac,U+54b8,U+54c0,U+54c4,U+5561,U+5565-5566,U+5580,U+55bb,U+566a,U+56ca,U+572d,U+573e,U+574e,U+5764,U+576a,U+5782-5784,U+5792,U+57ab,U+584c,U+5885,U+58f3,U+5938-5939,U+5948,U+594e,U+5951,U+5986,U+59a8,U+59fb,U+5a1c,U+5a74,U+5acc,U+5ae9,U+5b55,U+5b5c,U+5bb0,U+5bc2,U+5bd3,U+5bf8,U+5c39,U+5c3f,U+5c48,U+5c60,U+5c6f,U+5d14,U+5d2d,U+5df7,U+5dfe,U+5e05-5e06,U+5e15,U+5e1c,U+5e37,U+5e62,U+5e7b,U+5e7d,U+5eb8,U+5ed6,U+5f17,U+5f2f,U+5f66,U+5f6c,U+5fa1,U+6012,U+604b,U+6068,U+6073,U+609f,U+60a6,U+60e8,U+6101,U+6109,U+6124,U+6127,U+6148,U+61be,U+621a,U+6247,U+626e,U+6284,U+629b,U+62ab,U+62d8,U+62da,U+62e6,U+6321,U+6328,U+632b,U+633d,U+6349,U+635e,U+6367,U+6380,U+638f,U+63a9,U+63fd,U+641c,U+6491,U+64b0,U+64e6,U+655e,U+6572,U+6591,U+65a5,U+65ed,U+660f,U+662d,U+6691,U+66a8,U+6735,U+674f,U+6760,U+67a2-67a3,U+67d4,U+67ef,U+680b,U+6850,U+6869,U+6876,U+68a8,U+68d2,U+68da,U+68f5,U+6905,U+6912,U+6a0a,U+6a61,U+6b79,U+6bb7,U+6bbf,U+6bef,U+6c28,U+6c41,U+6c55,U+6c5d,U+6c82-6c83,U+6c9b,U+6ca7,U+6cb8,U+6cc4,U+6cfc,U+6d46-6d47,U+6d51,U+6d74,U+6d78,U+6d9d,U+6da4,U+6daf,U+6dc0,U+6dc4,U+6dcb,U+6dd1,U+6dd8,U+6deb,U+6df9,U+6e17,U+6e24,U+6e34,U+6e5b,U+6e89,U+6ea2,U+6eb6,U+6ef4,U+6f06,U+6f47,U+6f6d,U+6f9c,U+6fd2,U+7076,U+707f,U+70b3,U+70e4,U+70ef,U+710a,U+7199,U+722c,U+723d,U+725f,U+7261,U+727a,U+72ac,U+72ed-72ee,U+72f1,U+730e,U+732b,U+7433,U+743c,U+7476,U+7538,U+754f,U+7554,U+75b2,U+75bc,U+7624,U+7626,U+76d2,U+76ef,U+7709,U+7750,U+7779,U+7784,U+77ac,U+7802,U+780d,U+786b,U+7898,U+78a7,U+78b1,U+78b3,U+78cb,U+78f7,U+7978,U+7984,U+79c9,U+7a83,U+7a91,U+7aed,U+7b3c,U+7b4b,U+7c92,U+7c98,U+7ca4,U+7cca,U+7eb1,U+7eb9,U+7ee3,U+7ef3,U+7ef5,U+7f05,U+7f1a,U+7f55,U+7f62,U+7fc1,U+7fd4,U+7fe0,U+7ff0,U+7ffc,U+8042,U+804a,U+806a,U+8087,U+80a0,U+80a4,U+80ba,U+80c3,U+8102,U+8106,U+810a,U+814a,U+8154,U+818f,U+81c2,U+8231,U+8247,U+8258,U+8292,U+82cd,U+8328,U+832b,U+8389,U+838e,U+83c7,U+83ca,U+8427,U+845b,U+846c,U+84b8,U+8513,U+8574,U+857e,U+859b,U+867e,U+8680,U+8695,U+86c7,U+8702,U+87ba,U+884d,U+886c,U+8896,U+88b1,U+88e4,U+8944,U+8bc8,U+8c10,U+8c26,U+8c28,U+8c2d,U+8d42,U+8d4c,U+8d63,U+8dfb,U+8f67,U+8f74,U+8f9c,U+8fa3,U+8fa8,U+8fb1,U+8fc4,U+9006,U+903b,U+9042,U+904f,U+9063,U+90a2,U+90b1,U+90b5,U+90c1,U+9102,U+9177,U+9189,U+9493,U+949e,U+94c5,U+94ed,U+94fe,U+95f8,U+95fd,U+960e,U+9610,U+961c,U+964b,U+96a7,U+96fe,U+978d,U+97ad,U+97e6,U+97f5,U+987d,U+9882,U+9888,U+9976,U+997c,U+9988,U+9a84,U+9a91,U+9a9a,U+9b3c,U+9b41,U+9b44-9b45,U+9b54,U+9c8d,U+9e45,U+9e64,U+9e70,U+9f0e,U+9f20,U+9f3b,U+9f7f,U+9f9a",weight:"400"},{asset:"mincho/ed0f0b3c.woff2",family:"Huiwen_mingchao",range:"U+4e08,U+4e18,U+4e1b,U+4e27,U+4e32,U+4e59,U+4e73,U+4ead,U+4ed4,U+4ed9,U+4f0f,U+4fa6-4fa7,U+4faf,U+4ff1,U+5076-5077,U+5085,U+5144,U+5146,U+5151,U+51af,U+51b6,U+51bb,U+51c9,U+51cc,U+51ef,U+51fd,U+523a,U+524a,U+5251,U+526a,U+5272,U+529d,U+52ab,U+52d8,U+5306,U+5339,U+5353,U+5389,U+53d9,U+53f9,U+540a,U+5410,U+5415,U+541b,U+541e,U+5439,U+54b1,U+54ed,U+54f2,U+5524,U+554a,U+5564,U+558a,U+559d,U+55b7,U+5634,U+574a,U+5751,U+575d,U+57a6,U+57cb,U+57d4,U+5806,U+5821,U+5824,U+582a,U+5835,U+5858,U+586b,U+5893,U+58e4,U+5915,U+594f,U+5960,U+5999,U+59a5,U+59b9,U+59c6,U+59d1,U+59da,U+59dc,U+59ff,U+5a03,U+5a46,U+5ac1,U+5b5d,U+5b64,U+5b87,U+5bb4,U+5bbf,U+5bfa,U+5c16,U+5c18,U+5c1d,U+5c3a,U+5c3e,U+5c4f,U+5c61,U+5c9a,U+5cb3,U+5cfb,U+5d1b,U+5de1,U+5de7,U+5de9,U+5e3d,U+5e99,U+5e9e,U+5eca,U+5ef7,U+5f04,U+5f0a,U+5f18,U+5f25,U+5f70,U+5f79,U+5f7c,U+5fc6,U+5fcd,U+6028,U+6052,U+6070,U+6084,U+60a0,U+60ac,U+60b2,U+60d1,U+60dc,U+60e9,U+614e,U+6155,U+6167-6168,U+6170,U+61c8,U+6208,U+6212,U+6251,U+6291,U+629a,U+62ac,U+62df,U+62f3,U+62fc,U+6323-6324,U+632a,U+633a,U+6398,U+63cf,U+63d2,U+640f,U+642c-642d,U+643a,U+6458,U+6478,U+6492,U+649e,U+64c5,U+6500,U+654c,U+658c,U+659c,U+65cb,U+65ec,U+6602,U+6614,U+6664,U+6670,U+6676,U+6696-6697,U+6734,U+6746,U+679d,U+67cf,U+67dc,U+67f4,U+682a,U+683d,U+6843,U+6846,U+684c,U+68af,U+699c,U+6b3a,U+6b67,U+6c0f,U+6c1b,U+6c27,U+6c57,U+6c5b,U+6c64,U+6c6a,U+6c70,U+6caa,U+6cca,U+6ce1,U+6d12,U+6d3d,U+6d45,U+6d82,U+6db5,U+6dee,U+6e58,U+6e7f,U+6eaa,U+6ecb,U+6ede,U+6ee5,U+6ee9,U+6f02,U+6f0f,U+6f20,U+6f58,U+704c,U+7070,U+7092,U+70c2,U+70e6,U+7115,U+718a,U+7237-7238,U+7262,U+7272,U+7275,U+72b9,U+72c2,U+72d7,U+72e0,U+739b,U+73b2,U+741b,U+7434,U+74f6-74f7,U+751c,U+758f,U+75ab,U+764c,U+7686,U+76c6,U+76fc,U+775b,U+7761,U+77a9,U+7816,U+7855,U+788e,U+7891,U+7897,U+78b0,U+78c1,U+79bd,U+79d2,U+7a00,U+7a0d,U+7a3b,U+7a9d,U+7ae3,U+7bad,U+7c97,U+7d2b,U+7ea4,U+7eb2,U+7ed2,U+7eea,U+7ef8,U+7f06,U+7f14,U+7f18,U+7f1d,U+7f50,U+7fbd,U+8000,U+8036,U+8096,U+809d,U+80a9,U+80bf,U+80c1,U+80ce,U+80f8,U+8109,U+810f,U+8170,U+8179,U+817f,U+819c,U+81e3,U+8206,U+8212,U+821f,U+8230,U+8236,U+8273,U+829d,U+82ac,U+82f9,U+8302,U+8305,U+8350,U+8361,U+8377,U+83b2,U+83cc,U+83f2,U+8404,U+840d,U+8461,U+8482,U+848b,U+84ec,U+8521,U+85aa,U+8679,U+8854,U+886b,U+8870,U+8877,U+8881,U+88ad,U+88c2,U+8986,U+8bbc,U+8bd1,U+8be6,U+8bf1,U+8c31,U+8c6b,U+8d24,U+8d2a,U+8d3e-8d3f,U+8d41,U+8d4b,U+8d64,U+8d6b,U+8dcc,U+8e0f,U+8e2a,U+8e48,U+8f70,U+8f85,U+8f90,U+8fa9,U+8fb0,U+9003,U+901d,U+9022,U+903c,U+903e,U+9065,U+90b9,U+90ce,U+916c,U+917f,U+94a6,U+94a9,U+94c3,U+94dd,U+94f8,U+9510,U+953b,U+95ea,U+95ef,U+95f2,U+95f9,U+9601,U+9605,U+966a,U+9677,U+9690,U+9694,U+96c7,U+96d5,U+970d,U+971e,U+9738,U+9875,U+9877,U+9896-9897,U+989c,U+98d8,U+9972,U+9a70-9a71,U+9a7e,U+9aa4,U+9b42,U+9b4f,U+9e1f,U+9e23,U+9e2d,U+9e3f,U+9e7f",weight:"400"},{asset:"mincho/ecf8047c.woff2",family:"Huiwen_mingchao",range:"U+4e01,U+4e43,U+4e4f,U+4e54,U+4ea1,U+4ea6,U+4ed3,U+4ef2,U+4eff,U+4f10,U+4f19,U+4f26,U+4f2a,U+4f2f,U+4f34,U+4f38,U+4f5b,U+4f69,U+4fa8,U+4fb5,U+4fca,U+4fd7,U+5021,U+504f,U+5141,U+51ac,U+51c0,U+51dd,U+51e4,U+51ed,U+5200,U+5237,U+5242,U+5269,U+52a3,U+52b2,U+52c3,U+52d2,U+5362,U+53a6,U+53e5,U+5401,U+5417,U+5427,U+5448,U+54a8,U+5510,U+552f,U+5609,U+5706,U+5708,U+5723,U+5740,U+575b,U+57c3,U+5851,U+5899,U+58a8,U+58c1,U+5949,U+5954,U+5976,U+5988,U+59bb,U+59d0,U+59d3,U+5a18,U+5a31,U+5a5a,U+5a92,U+5b54,U+5b5f,U+5b85,U+5b8b,U+5baa-5bab,U+5bc4,U+5bd2,U+5be8,U+5bff,U+5c0a,U+5c4b,U+5c65,U+5ca9,U+5cad,U+5d07,U+5e10,U+5e1d,U+5e78,U+5e7c,U+5e8a,U+5e9f,U+5ec9,U+5f03,U+5f1f,U+5f31,U+5f39,U+5f6d,U+5f92,U+5faa,U+5fbd,U+5fd8-5fd9,U+5fe7,U+5ffd,U+6015,U+602a,U+6050,U+6062,U+6069,U+6076,U+6089,U+60a8,U+60ef,U+6108,U+6162,U+61c2,U+622a,U+6234,U+6263,U+626b,U+626d,U+6270,U+6298,U+62b1,U+62bc-62bd,U+62c6,U+62d2,U+62d4,U+62d6,U+62dc,U+62e8,U+6311,U+6316,U+6350,U+6355,U+6377,U+6389,U+63ed,U+63f4,U+6447,U+644a,U+6469,U+64a4,U+654f,U+6562,U+6566,U+656c,U+65c1,U+65e6,U+65e8,U+65f1,U+65fa,U+6606,U+6628,U+664b,U+6668,U+6682,U+66b4,U+66f9,U+66fc,U+66ff,U+670b,U+6717,U+6740,U+675c,U+676d,U+676f,U+679a,U+67aa,U+67ec,U+67f1,U+67f3,U+680f,U+6842,U+6851,U+68a6,U+68cb,U+695a,U+6982,U+6a2a,U+6b20,U+6b23,U+6b32,U+6b96,U+6bc1,U+6bc5,U+6beb,U+6c60,U+6c89,U+6c9f,U+6cc9,U+6cea,U+6cf3,U+6d01,U+6d17,U+6d1b,U+6d1e,U+6d53,U+6d66,U+6d69-6d6a,U+6d6e,U+6d8c,U+6d9b,U+6db2,U+6de1,U+6df7,U+6dfb,U+6e10,U+6e14,U+6e21,U+6ed1,U+6eda,U+6ee8,U+6f2b,U+706d,U+706f,U+7089,U+708e,U+70ad-70ae,U+70b8,U+70bc,U+70e7,U+7126,U+714c,U+71c3,U+71d5,U+7206,U+7259,U+731b,U+732a,U+73a9,U+73bb,U+7483,U+74dc,U+7518,U+7532,U+7545,U+755c,U+756a,U+7586,U+7591,U+75c7,U+75db,U+7687,U+76c8,U+76d0,U+76d7,U+76f2,U+7801,U+788d,U+78e8,U+795d,U+7965,U+79e6,U+79e9,U+7a3f,U+7a46,U+7a77,U+7a7f,U+7a97,U+7aef,U+7af9,U+7bee,U+7c4d,U+7c89,U+7cd6,U+7ea0,U+7eb5,U+7ebd,U+7ed5,U+7ed8,U+7edc,U+7f13,U+7f29,U+7f34,U+7f8a,U+8010,U+8015,U+8017,U+8033,U+8058,U+8083,U+80af,U+80c0,U+80c6,U+80de,U+80f6,U+811a,U+8138,U+817e,U+81a8,U+820d,U+827e,U+82b3,U+82d7,U+8352,U+83ab,U+83b1,U+84c4,U+84dd,U+852c,U+8584,U+864e,U+865a,U+866b,U+86cb,U+888b,U+88d5,U+89e6,U+8bca,U+8bda,U+8bde,U+8be2,U+8bf8,U+8bfa,U+8c0a-8c0b,U+8c13,U+8c37,U+8c46,U+8c6a,U+8c8c,U+8d1d,U+8d29,U+8d34,U+8d3a,U+8d4f,U+8d54,U+8d56,U+8d5a,U+8d60,U+8d62,U+8d74,U+8da3,U+8dd1,U+8ddf,U+8df3,U+8f6f,U+8f7f,U+8f88,U+8f91,U+8f96,U+8f9b,U+8f9e-8f9f,U+8fc1,U+8fc8,U+8fd4,U+8fdf,U+8fea,U+8ff7,U+9012,U+906d,U+9075,U+9080,U+90a6,U+90bb,U+90ca,U+90ed,U+9178,U+9192,U+91ca,U+94bb,U+94dc,U+94fa,U+9501,U+9505,U+950b,U+9521,U+955c,U+95ed,U+9614,U+9634-9635,U+963b,U+9655,U+9675-9676,U+9686,U+96c5,U+9759,U+978b,U+9876,U+9881,U+9887,U+9891,U+9910,U+9970-9971,U+9a76,U+9a97,U+9e21,U+9ea6,U+9ebb,U+9ece,U+9ed8,U+9f84",weight:"400"},{asset:"mincho/6a1f04cc.woff2",family:"Huiwen_mingchao",range:"U+4e1d,U+4e39,U+4e3d,U+4e45,U+4e4c,U+4e4e,U+4e58,U+4e71,U+4e8f,U+4e92,U+4e95,U+4ea9,U+4eab,U+4eae,U+4ec1,U+4ed8,U+4eea,U+4f0a,U+4f0d,U+4f11,U+4f1f,U+4f24,U+4f30,U+4f3c,U+4f73,U+4fc4,U+500d,U+5012,U+5019,U+501f,U+503a,U+503e,U+505c,U+507f,U+50a8,U+514d,U+5178,U+517c,U+518c,U+5192,U+51a0,U+51b0,U+51b2,U+51b7,U+51e1,U+520a,U+5211,U+521a,U+5238,U+523b,U+52b1,U+52c7,U+52e4,U+5348,U+535a,U+5361,U+5371,U+5377,U+5385,U+538b,U+539a,U+53eb-53ec,U+53f3,U+53f6,U+5409,U+5426,U+542b,U+542f,U+5434,U+5438,U+5462,U+5473,U+547c,U+54c8,U+54e5,U+54ea,U+5531,U+559c,U+56fa,U+5733,U+574f-5750,U+5757,U+5761,U+5766,U+5802,U+5854,U+585e,U+58ee,U+590f,U+591c,U+591f,U+593a,U+5947,U+594b,U+5965,U+5987,U+5a01,U+5b59,U+5b63,U+5b69,U+5b88,U+5b8f,U+5b97,U+5b9c,U+5bbd-5bbe,U+5bfb,U+5c01,U+5c04,U+5c1a,U+5c24,U+5c3c,U+5c97,U+5c9b,U+5cb8,U+5ce1,U+5cf0,U+5ddd,U+5de6,U+5e01,U+5e2e,U+5e45,U+5e55,U+5e84,U+5e86,U+5e8f,U+5e93,U+5ef6,U+5f02,U+5f52,U+5f55,U+5f69,U+5f7b,U+5f84,U+5f90,U+5fae,U+5fe0,U+6000,U+600e,U+6025,U+60a3,U+60ca,U+60e0,U+620f,U+624e,U+626c,U+6276,U+627e,U+6297,U+62a2,U+62b5,U+62cd,U+62d3,U+62e5,U+62e9,U+62ec,U+62ff,U+6302,U+632f,U+6388,U+638c,U+63a2,U+63e1,U+6444,U+6446,U+64ad,U+64cd,U+653b,U+6545,U+6551,U+6563,U+65a4,U+65d7,U+65e7,U+660c,U+6620,U+6653,U+665a,U+667a,U+66f2,U+671d,U+6728,U+672b,U+6731,U+6742,U+675f,U+6768,U+6770,U+677e-677f,U+6790,U+67b6,U+67d3,U+6863,U+6865,U+6881,U+6885,U+68b0,U+68c9,U+68ee,U+690d,U+697c,U+6b22,U+6b4c,U+6b7b,U+6b8a-6b8b,U+6bcd,U+6bd2,U+6bd5,U+6c38,U+6c49,U+6c61,U+6c88,U+6cbf,U+6cdb,U+6ce5,U+6cf0,U+6d25,U+6d2a,U+6d59,U+6d89,U+6da6,U+6da8,U+6e20,U+6e29,U+6e7e,U+6f5c,U+6f6e,U+6fb3,U+6fc0,U+7075,U+707e,U+70df,U+7164,U+719f,U+7236,U+725b,U+7267,U+7389,U+73cd,U+73e0,U+745e,U+74e6,U+751a,U+7533,U+7537,U+7597,U+75be,U+767b,U+76ae,U+76d6,U+76d8,U+76db,U+76df,U+76fe,U+77db,U+77ed,U+786c,U+793c,U+7956,U+7981,U+79c0,U+79cb,U+79d8,U+79df,U+79fb,U+7adf,U+7ae5,U+7b11,U+7b14,U+7b26,U+7b51,U+7b54,U+7b79,U+7b7e,U+7b80,U+7bb1,U+7bc7,U+7d22,U+7d2f,U+7e41,U+7eaf,U+7eb7-7eb8,U+7eba,U+7ec3,U+7ec6,U+7ecd,U+7edd,U+7ee9,U+7eff,U+7f5a,U+7f6a,U+7f72,U+7ffb,U+805a,U+8089,U+80a5,U+80cc,U+80e1,U+8111,U+8131,U+8150,U+821e,U+822c,U+8239,U+8270,U+82e5,U+8336,U+8349,U+8428,U+8463,U+8499,U+85cf,U+8651,U+867d,U+8840,U+8857,U+8861,U+8863,U+88c1,U+89c8-89c9,U+89d2,U+8a89,U+8b66,U+8ba2,U+8bc9,U+8bcd,U+8bd7,U+8bed,U+8bef,U+8bfe,U+8c01,U+8c22,U+8d21,U+8d25,U+8d2f,U+8d35,U+8d5e,U+8d75-8d76,U+8d8b,U+8dc3,U+8ddd,U+8de8,U+8df5,U+8f68,U+8f6e,U+8f7d,U+8f86,U+8f89,U+8fbd,U+8fc5,U+8fce,U+8fdd,U+8feb,U+8ff0,U+8ff9,U+8ffd,U+9000,U+900f,U+9014,U+904d,U+9057,U+907f,U+9093,U+90ae,U+90d1,U+91ce,U+9274,U+949f,U+9519,U+9526,U+952e,U+9644,U+9646,U+969c,U+96c4,U+96e8,U+96ea,U+96f6-96f7,U+9707,U+9732,U+97e9,U+987a,U+987f,U+996d-996e,U+9a7b,U+9aa8,U+9c7c,U+9c81,U+9c9c,U+9e4f,U+9f13,U+9f50",weight:"400"},{asset:"mincho/5a608b11.woff2",family:"Huiwen_mingchao",range:"U+4e03,U+4e14,U+4e25,U+4e30,U+4e34,U+4e48,U+4e50,U+4e5d,U+4e60,U+4e70,U+4e88,U+4e91,U+4e9a,U+4eb2,U+4ec0,U+4ec5,U+4ecb,U+4ecd,U+4ee4,U+4efd,U+4f4e-4f4f,U+4f55,U+4f59,U+4f60,U+4f8b,U+4f9b,U+4f9d,U+4fbf,U+4fc3,U+4fee,U+5047,U+5065,U+50cf,U+513f,U+5145,U+5149,U+514b,U+516b,U+516d,U+5170,U+5174-5175,U+517b,U+518d,U+5199,U+51b5,U+51cf,U+51fb,U+5207,U+5217-5219,U+521d,U+5224,U+5267,U+526f,U+529f,U+52a9-52aa,U+52b3,U+5305,U+533b,U+5343,U+5347,U+534a,U+5356,U+5360,U+536b,U+5370,U+5373-5374,U+5386,U+53cb-53cd,U+53e4,U+53e6,U+53f2,U+53f7,U+5403,U+5428,U+542c,U+544a,U+5468,U+547d,U+54cd,U+552e,U+5584,U+5668,U+56ed,U+56f0,U+56f4,U+56fe,U+571f,U+5747,U+575a,U+57df,U+57f9,U+5883,U+58eb,U+58f0,U+590d,U+592a-592b,U+592e,U+5931,U+5956-5957,U+5973,U+5979,U+59cb,U+5b57-5b58,U+5b81,U+5b83,U+5b98,U+5b9d,U+5ba1-5ba4,U+5bb3,U+5bb9,U+5bc6,U+5bcc,U+5bdf,U+5c14,U+5c3d,U+5c42,U+5c45,U+5c4a,U+5c5e,U+5c81,U+5dde,U+5de8,U+5dee,U+5df1,U+5df4,U+5e03,U+5e08,U+5e0c,U+5e26,U+5e2d,U+5e95,U+5e97,U+5ea7,U+5ead,U+5eb7,U+5f71,U+5f80-5f81,U+5f85,U+5f8b,U+5fb7,U+5ff5,U+6001,U+606f,U+611f,U+613f,U+6237,U+623f,U+6253,U+6258,U+6267,U+6269,U+627f,U+6293,U+62a4,U+62c5,U+62c9,U+62db,U+6309,U+6325,U+635f,U+6362,U+6392,U+63a7,U+63aa,U+641e,U+6574,U+6597,U+6599,U+65ad,U+65af,U+65c5,U+65cf,U+65e2,U+65e9,U+661f,U+6625,U+663e,U+666e-666f,U+66fe,U+671b,U+672a,U+6750,U+6781,U+67d0,U+6811,U+6821,U+6838-6839,U+6848,U+68c0,U+6a21,U+6b27,U+6b3e,U+6b62,U+6b66,U+6bb5,U+6bdb,U+6c14,U+6c47,U+6c7d,U+6c99,U+6cb3,U+6cb9,U+6ce2,U+6ce8,U+6cfd,U+6d0b,U+6d32,U+6d3e,U+6d4b,U+6e05,U+6e2f,U+6e38,U+6e56,U+6e90,U+6ee1,U+6f14,U+706b,U+70c8,U+70ed,U+7167,U+7231,U+7247-7248,U+724c,U+72af,U+72b6,U+72ec,U+732e,U+7387,U+738b,U+73af,U+73ed,U+7403,U+7530,U+753b,U+7559,U+7565,U+75c5,U+767d,U+76d1,U+76f4,U+771f,U+773c,U+7763,U+77e5,U+77f3,U+77ff,U+7834,U+7840,U+786e,U+793a,U+795e,U+7968,U+798f,U+79bb,U+79c1,U+79f0,U+7a33,U+7a7a,U+7a81,U+7ad9,U+7ade,U+7ae0,U+7b56,U+7b97,U+7c73,U+7c7b,U+7cae,U+7d20,U+7d27,U+7ea2,U+7ea6,U+7eaa,U+7eb3,U+7ebf,U+7ec8,U+7ee7,U+7eed,U+7ef4,U+7efc,U+7f16,U+7f3a,U+7f51,U+7f57,U+7f6e,U+7fa4,U+8003,U+80a1,U+80dc,U+81f4,U+822a,U+826f,U+8272,U+827a,U+8282,U+82b1,U+82cf,U+82e6,U+82f1,U+8303,U+8363,U+836f,U+83b7,U+83dc,U+843d,U+8457,U+878d,U+8865,U+8a00,U+8ba8-8ba9,U+8bad,U+8baf,U+8bb2,U+8bb8,U+8bbf,U+8bc4,U+8bc6,U+8bd5,U+8bdd,U+8bf7,U+8bfb,U+8c08,U+8c61,U+8d1f,U+8d22,U+8d27,U+8d2b,U+8d2d,U+8d37-8d38,U+8d5b,U+8d85,U+8d8a,U+8db3,U+8eab,U+8f7b,U+8f83,U+8f93,U+8fb9,U+8fdc,U+8fde,U+9001-9002,U+9009,U+9010,U+901f,U+9047,U+914d,U+9152,U+91c7,U+9488,U+94a2,U+94b1,U+94c1,U+94f6,U+95fb,U+9632-9633,U+9636,U+963f,U+9648,U+964d,U+9650,U+9664,U+9669,U+968f,U+9752,U+975e,U+9760,U+97f3,U+987b,U+987e,U+9884,U+989d,U+98de-98df,U+9986,U+9999,U+9a6c,U+9a8c,U+9ec4,U+9ed1,U+9f99",weight:"400"},{asset:"mincho/ed0f25c7.woff2",family:"Huiwen_mingchao",range:"U+3001-3002,U+3008-3011,U+3014-3017,U+4e00,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e13,U+4e16,U+4e1a,U+4e1c,U+4e24,U+4e2a,U+4e2d,U+4e3a-4e3b,U+4e3e,U+4e49,U+4e4b,U+4e5f,U+4e61,U+4e66,U+4e86,U+4e89,U+4e8b-4e8c,U+4e8e,U+4e94,U+4e9b,U+4ea4,U+4ea7,U+4eac,U+4eba,U+4ebf,U+4eca,U+4ece,U+4ed6,U+4ee3,U+4ee5,U+4eec,U+4ef6-4ef7,U+4efb,U+4f01,U+4f17-4f18,U+4f1a,U+4f20,U+4f46,U+4f4d,U+4f53,U+4f5c,U+4f7f,U+4fdd,U+4fe1,U+503c,U+505a,U+5143,U+5148,U+515a,U+5165,U+5168,U+516c,U+5171,U+5173,U+5176-5177,U+5185,U+519b-519c,U+51b3,U+51c6,U+51e0,U+51fa,U+5206,U+5212,U+521b,U+5229,U+522b,U+5230,U+5236,U+524d,U+529b,U+529e,U+52a0-52a1,U+52a8,U+52bf,U+5316-5317,U+533a,U+5341,U+534e-534f,U+5355,U+5357,U+5382,U+539f,U+53bb,U+53bf,U+53c2,U+53c8,U+53ca,U+53d1,U+53d6-53d8,U+53e3,U+53ea,U+53ef-53f0,U+53f8,U+5404,U+5408,U+540c-540e,U+5411,U+5458,U+548c,U+54c1,U+5546,U+56db,U+56de,U+56e0,U+56e2,U+56fd,U+5728,U+5730,U+573a,U+578b,U+57ce,U+57fa,U+589e,U+5904,U+5907,U+5916,U+591a,U+5927,U+5929,U+5934,U+597d,U+5982,U+59d4,U+5b50,U+5b66,U+5b89,U+5b8c,U+5b9a,U+5b9e,U+5bb6,U+5bf9,U+5bfc,U+5c06,U+5c0f,U+5c11,U+5c31,U+5c40,U+5c55,U+5c71,U+5de5,U+5df2,U+5e02,U+5e38,U+5e72-5e74,U+5e76,U+5e7f,U+5e94,U+5e9c,U+5ea6,U+5efa,U+5f00,U+5f0f,U+5f15,U+5f20,U+5f3a,U+5f53,U+5f62,U+5f88,U+5f97,U+5fc3,U+5fc5,U+5fd7,U+5feb,U+601d,U+6027,U+603b,U+60c5,U+60f3,U+610f,U+6210-6211,U+6216,U+6218,U+6240,U+624b,U+624d,U+6279,U+6280,U+628a,U+6295,U+62a5,U+6301,U+6307,U+636e,U+63a5,U+63a8,U+63d0,U+652f,U+6536,U+6539,U+653e-653f,U+6548,U+6559,U+6570,U+6587,U+65b0,U+65b9,U+65bd,U+65e0,U+65e5,U+65f6,U+660e,U+6613,U+662f,U+66f4,U+6700,U+6708-6709,U+670d,U+671f,U+672c,U+672f,U+673a,U+6743,U+674e,U+6751,U+6761,U+6765,U+6784,U+6797,U+679c,U+67e5,U+6807,U+6837,U+683c,U+6b21,U+6b63-6b65,U+6bcf,U+6bd4,U+6c11,U+6c34,U+6c42,U+6c5f,U+6ca1,U+6cbb,U+6cd5,U+6d3b,U+6d41,U+6d4e,U+6d77,U+6d88,U+6df1,U+70b9,U+7136,U+7269,U+7279,U+73b0,U+7406,U+751f,U+7528,U+7531,U+7535,U+754c,U+767e,U+7684,U+76ca,U+76ee,U+76f8,U+770b,U+7740,U+7814,U+793e,U+79cd,U+79d1,U+79ef,U+7a0b,U+7a0e,U+7a76,U+7acb,U+7b2c,U+7b49,U+7ba1,U+7cbe,U+7cfb,U+7ea7,U+7ec4,U+7ec7,U+7ecf,U+7ed3,U+7ed9,U+7edf,U+7f8e,U+8001,U+8005,U+800c,U+804c,U+8054,U+80b2,U+80fd,U+81ea,U+81f3,U+8425,U+884c,U+8868,U+88ab,U+88c5,U+897f,U+8981,U+89c1-89c2,U+89c4,U+89c6,U+89e3,U+8ba1,U+8ba4,U+8bae,U+8bb0,U+8bba,U+8bbe,U+8bc1,U+8be5,U+8bf4,U+8c03,U+8d23,U+8d28,U+8d39,U+8d44,U+8d70,U+8d77,U+8def,U+8f66,U+8f6c,U+8fbe,U+8fc7,U+8fd0-8fd1,U+8fd8-8fd9,U+8fdb,U+901a,U+9020,U+9053,U+90a3,U+90e8,U+90fd,U+91cc-91cd,U+91cf,U+91d1,U+9500,U+9547,U+957f,U+95e8,U+95ee,U+95f4,U+961f,U+9645,U+9662,U+96be,U+96c6,U+9700,U+9762,U+9769,U+9879,U+9886,U+9898,U+98ce,U+9996,U+9ad8",weight:"400"},{asset:"mincho/73fa0c45.woff2",family:"Huiwen_mingchao",range:"U+1d,U+20-7d,U+a0-b4,U+b6-ff,U+152-153,U+304,U+308,U+329,U+2010,U+2013-2016,U+2018-2022,U+2025-2026,U+2030,U+2032-2033,U+203b-203c,U+203e-203f,U+2042,U+2047-2049,U+2051,U+20ac,U+2191,U+2193,U+2212",weight:"400"},{asset:"mincho/3c472988.woff2",family:"Huiwen_mingchao",range:"U+100-109,U+10c-10f,U+111-113,U+118-11d,U+124-125,U+127,U+12a-12b,U+134-135,U+139-13a,U+13d-13e,U+141-144,U+147-148,U+14b-14d,U+150-151,U+154-155,U+158-165,U+16a-171,U+179-17e,U+193,U+1c2,U+1cd-1ce,U+1d0-1d2,U+1d4,U+1d6,U+1d8,U+1da,U+1dc,U+1f8-1f9,U+250-25a,U+25c,U+25e-261,U+264-268,U+26c-273,U+275,U+279-27b,U+27d-27e,U+281-284,U+288-28e,U+290-292,U+294-295,U+298,U+29d,U+2a1-2a2,U+300-301,U+303,U+391-3a1,U+3a3-3a9,U+3b1-3c9,U+401,U+406,U+410-44f,U+451,U+456,U+462-463,U+472-475,U+1e3e-1e3f,U+1f70-1f71,U+1f73,U+2113,U+2116",weight:"400"}],geist:[{asset:"geist/GeistMono.ttf",family:"Geist Mono Variable",range:"U+0000-10FFFF",weight:"100 900"}],longcang:[{asset:"longcang/c43d20a2.woff2",family:"Long Cang",range:"U+4e47,U+4e5c,U+4e69,U+4e8d,U+4edf,U+4f25,U+4f32,U+4f5e,U+4f65,U+4f67,U+4f76,U+4f89,U+4faa,U+4fe6,U+5028,U+5048,U+50a7,U+50e6,U+50ee,U+5196,U+5202,U+520e,U+523f-5240,U+5250,U+5261,U+52ac,U+531a,U+535f,U+5363,U+538d,U+53c1,U+5412,U+5416,U+5432,U+5443,U+5452,U+5454,U+5456,U+5472,U+5478,U+54a6,U+54ad,U+54bb,U+54c2,U+54cf,U+54d3-54d4,U+54dd-54de,U+5533,U+5537,U+553f,U+5541,U+5550,U+5556,U+5575,U+5577,U+5581,U+5591,U+55cc,U+55dd,U+55e5,U+55f3,U+55fe,U+5601,U+560c,U+560f,U+561e,U+5627,U+562c,U+5657-5658,U+5664,U+566b,U+567b,U+56af,U+56d4,U+56df,U+5709,U+572e,U+575c,U+5769,U+577c,U+578c,U+5793,U+57b2,U+57d2,U+57da,U+57e4,U+57ef,U+5800,U+580d,U+581e,U+5889,U+5924,U+593c,U+5981,U+5997,U+59a3,U+59ab,U+59b2,U+5a62,U+5aaa,U+5ab8,U+5ad4,U+5ad8,U+5aeb,U+5af1,U+5b34,U+5b53,U+5ba5,U+5c3b,U+5c59,U+5c63,U+5ca3,U+5cac,U+5d24,U+5d26,U+5d5b,U+5d5d,U+5d74,U+5d9d,U+5db7,U+5def,U+5e0f,U+5e11,U+5e14,U+5e42,U+5e8b,U+5e91,U+5eb3,U+5ed1-5ed2,U+5edb,U+5ef4,U+5f01,U+5f2d,U+5f40,U+5fad,U+5fb5,U+5fbc,U+5fdd,U+5ff8,U+6003-6004,U+600d,U+6019,U+601b,U+6029,U+603c,U+6041,U+605a,U+6079,U+6092,U+60ab,U+60ad,U+60b1,U+6100,U+610e,U+61b7,U+6206,U+6217,U+6222,U+623d-623e,U+624c,U+629f,U+62ca,U+6332,U+634c,U+6369,U+638a,U+63b4,U+63bc,U+63e0,U+646d,U+647a,U+6485,U+64b8,U+64ba,U+6535,U+65ab,U+65c3-65c4,U+65c6,U+65d2,U+65f0,U+6600,U+6661,U+668c,U+669d,U+66be,U+66e9,U+66f7,U+670a,U+6715,U+6753,U+67a7,U+67c1,U+67d2,U+67e2,U+67f0,U+67fd,U+6800,U+680c,U+6855,U+6861,U+686b,U+6874,U+6877,U+68f9,U+68fc,U+690b,U+691f,U+6924,U+6939,U+696e,U+6978,U+6980,U+6989,U+69a7,U+69c1,U+69ca,U+69f2,U+69ff,U+6a17,U+6a3e,U+6a50,U+6a5b,U+6a7c,U+6a97,U+6aab,U+6b24,U+6b81-6b82,U+6b84,U+6b8d,U+6baa,U+6bf3,U+6bf9,U+6c05-6c07,U+6c0d,U+6c10,U+6c19-6c1a,U+6c3d,U+6c54,U+6ca9,U+6cb2,U+6cd6,U+6ceb,U+6cee,U+6cf6-6cf7,U+6cfa,U+6d04,U+6d07,U+6d1a,U+6d27,U+6d2b,U+6d4d,U+6d91,U+6dab,U+6de0,U+6e54,U+6e6b,U+6e8f,U+6eb1,U+6ebd,U+6f74,U+6fb6,U+6fde,U+7085,U+709d,U+70bb,U+7110,U+7198,U+71b3,U+71b5,U+71f9,U+7230,U+723b,U+7256,U+725d,U+726e,U+727e,U+728d,U+7292,U+72ad,U+72b0,U+72b8,U+72ce,U+72d2,U+72f2,U+72fa-72fb,U+7301,U+7313,U+731e,U+7322,U+7360,U+737e,U+738e,U+73a2,U+73b3,U+73e5,U+7477,U+748e,U+74ba,U+74ff,U+750f,U+7511,U+754b,U+755a,U+7594,U+75a0,U+75a5,U+75ac,U+75b3,U+75c8,U+75d6,U+75e7,U+760c,U+7615,U+7617,U+7619,U+7630,U+7633,U+763f,U+7654,U+76b2,U+771a,U+7726,U+775a,U+7765,U+7768,U+779f,U+77bd,U+77ec,U+7817,U+781c,U+781f,U+7826,U+7829,U+782c,U+7856,U+7877,U+78a1,U+78d4,U+78d9,U+7905,U+7913,U+7957,U+79b3,U+79d5,U+79eb,U+7a39,U+7a70,U+7a86,U+7aa8,U+7ae6,U+7b04,U+7b0f,U+7b25,U+7b2a-7b2b,U+7b2e,U+7b31,U+7b38,U+7b3e,U+7b47,U+7b62,U+7b72,U+7b85,U+7b9c,U+7ba6-7ba7,U+7baa,U+7bac,U+7bcc,U+7bea,U+7c0b,U+7c1f,U+7c26,U+7c74,U+7c9c-7c9d,U+7cc1,U+7ccd,U+7dae,U+7e47,U+7e9b,U+7e9f,U+7ea5,U+7ecb,U+7ed4,U+7ed7,U+7ee0-7ee1,U+7ee8,U+7ef1,U+7efb,U+7efe,U+7f01,U+7f0d,U+7f11,U+7f17,U+7f26-7f27,U+7f31,U+7f35-7f36,U+7f45,U+7f5f,U+7f7e,U+7faf-7fb0,U+7fbf,U+7fd5,U+7fe5,U+7fee,U+801c,U+8027,U+802a,U+8031,U+8043,U+8071,U+809f,U+80ab,U+80bc,U+80cd,U+80d7,U+80db,U+80dd,U+80fc,U+8112,U+8118,U+8132,U+815a,U+8160,U+8167,U+8169,U+816d,U+8188,U+81a6,U+81c1,U+81ca,U+81cc,U+8228,U+8234,U+823e,U+8244,U+8249,U+824f,U+8279,U+8298,U+82a1,U+82a9,U+82ab,U+82b4,U+82c1,U+82ca,U+82cc,U+82d8,U+82e1,U+82e4,U+82f4,U+82fb,U+8306,U+8315,U+833a,U+8351,U+835c,U+8368,U+836c,U+8378,U+839c,U+83b3,U+83b8,U+83bc,U+83c0,U+83d4,U+83d8,U+83df,U+83ea,U+83f0,U+83f8,U+8401,U+841c,U+8451,U+845a,U+846d,U+8476,U+8478,U+8489,U+848c,U+8497,U+84ba,U+84bd,U+84c1,U+84e0,U+851f,U+8538,U+8548,U+8556,U+8585,U+858f,U+859c,U+85ff,U+8627,U+8629,U+867a-867b,U+868b,U+868d,U+86a8-86a9,U+86b5,U+86e9,U+86f4,U+86f8,U+870a,U+8722,U+872e,U+8734,U+8765,U+876e,U+877c-877d,U+8785,U+87ab,U+87ca,U+87e5,U+87ee,U+8813,U+8816,U+8832,U+886e,U+8872,U+887e,U+8888,U+88a2,U+88b7,U+88c9,U+88ce,U+88df,U+88e2-88e3,U+8919,U+8921,U+897b,U+89da,U+8ba7,U+8bb5,U+8bcc,U+8bce,U+8bd3,U+8bd6,U+8bdf,U+8be8,U+8bee,U+8bf3,U+8bf9,U+8bfc,U+8c04,U+8c16-8c17,U+8c1d,U+8c20,U+8c25,U+8c2f-8c30,U+8c35-8c36,U+8c55,U+8c73,U+8c78,U+8d36,U+8d3d,U+8d40,U+8d46,U+8d4d,U+8d59,U+8d5c,U+8d67,U+8d91,U+8db5,U+8dba,U+8dbf,U+8dde,U+8deb-8dec,U+8df8,U+8dfd,U+8e05,U+8e14,U+8e1f,U+8e2f,U+8e41,U+8f6d,U+8f75,U+8f78,U+8f8b,U+8f8e,U+8f94,U+8f9a,U+8fe8,U+900b,U+9011,U+9021,U+9044,U+9062,U+908b,U+90b4,U+90ba,U+90c4,U+90cf-90d0,U+90eb,U+90fe,U+9123,U+9146,U+915e,U+9162,U+9172,U+9179,U+917d-917e,U+9185,U+918c-918d,U+9190,U+91aa,U+92c8,U+933e,U+93ca,U+9486-9487,U+948c-948d,U+9490,U+94aa-94ab,U+94ad,U+94b2,U+94bd,U+94c8,U+94ca,U+94cd,U+94d1,U+94d5-94d7,U+94d9,U+94df,U+94e5,U+94e9-94ea,U+94ef,U+94f3,U+94f7,U+94fc-94fd,U+9507,U+9515,U+951b,U+951d,U+952a,U+952c,U+9545-9546,U+954a,U+954f,U+9554,U+9558-9559,U+955e,U+9566-9567,U+956b,U+9571-9572,U+95e9,U+95f1,U+9604,U+9608,U+960b,U+960f,U+9612,U+9615,U+9617,U+961d,U+96b9,U+96ce,U+96d2,U+96e0,U+96e9,U+9708,U+9785,U+97af,U+9878,U+987c,U+9883,U+988f,U+989a-989b,U+989e-989f,U+98a7,U+98d1,U+98d5,U+990d,U+992e,U+9954-9955,U+9963,U+9993,U+9a78,U+9a7d,U+9a88,U+9a93,U+9aa0,U+9aa2,U+9ab0,U+9ac0-9ac2,U+9acc,U+9aeb,U+9b1f,U+9b23,U+9b32,U+9b3b,U+9b47,U+9b49,U+9b4d,U+9b51,U+9c82,U+9c8b,U+9c90,U+9c9b,U+9c9e,U+9ca0,U+9ca5,U+9ca7,U+9ca9,U+9cad-9cae,U+9cb1,U+9cc3,U+9cca,U+9cce,U+9cd3,U+9cd9,U+9e28,U+9e2c,U+9e37,U+9e39,U+9e41,U+9e46-9e48,U+9e5a,U+9e5e,U+9e6c,U+9ecf,U+9ee7,U+9ee9,U+9efe,U+9f0b,U+9f17,U+9f19,U+9f22,U+9f2f,U+9f39,U+9f80,U+9f85,U+9f87,U+9f8c",weight:"400"},{asset:"longcang/ca658d72.woff2",family:"Long Cang",range:"U+4e01,U+4e08,U+4e1b,U+4e1d,U+4e27,U+4e39,U+4e3d,U+4e43,U+4e4c,U+4e4f,U+4e54,U+4e58-4e59,U+4e71,U+4e73,U+4e8f,U+4e95,U+4ea1,U+4ea6,U+4eab,U+4eae,U+4ec1,U+4ed3-4ed4,U+4ed9,U+4eea,U+4ef2,U+4eff,U+4f0a,U+4f0f-4f11,U+4f19,U+4f24,U+4f26,U+4f2a,U+4f2f-4f30,U+4f34,U+4f38,U+4f3c,U+4f5b,U+4f69,U+4f73,U+4fa7-4fa8,U+4faf,U+4fb5,U+4fca,U+4fd7,U+4ff1,U+5012,U+501f,U+5021,U+503e,U+504f,U+5077,U+507f,U+5085,U+50a8,U+5141,U+5144,U+5146,U+5151,U+5178,U+517c,U+518c,U+5192,U+51a0,U+51ac,U+51af-51b0,U+51b6-51b7,U+51bb,U+51c0,U+51c9,U+51cc,U+51dd,U+51e1,U+51e4,U+51ed,U+51fd,U+5200,U+5211,U+5237,U+523a,U+5242,U+524a,U+5251,U+5269,U+5272,U+52a3,U+52ab,U+52b2,U+52c3,U+52c7,U+52d2,U+52d8,U+52e4,U+5339,U+5353,U+5362,U+5371,U+5377,U+5389,U+539a,U+53a6,U+53d9,U+53e5,U+53eb,U+53f6,U+53f9,U+5401,U+5409-540a,U+5415,U+5417,U+541b,U+5427,U+542b,U+542f,U+5439,U+5448,U+5462,U+5473,U+547c,U+54a8,U+54c8,U+54e5,U+54ea,U+54f2,U+5510,U+5524,U+552f,U+5531,U+554a,U+5564,U+559d,U+55b7,U+5609,U+5634,U+5706,U+5708,U+5723,U+5740,U+574f-5750,U+5757,U+575b,U+575d,U+5761,U+5766,U+57a6,U+57c3,U+57d4,U+5802,U+5806,U+5821,U+5824,U+582a,U+5851,U+5854,U+5858,U+585e,U+586b,U+5893,U+5899,U+58a8,U+58c1,U+58ee,U+590f,U+5915,U+591c,U+593a,U+5949,U+594f,U+5954,U+5960,U+5976,U+5988,U+5999,U+59a5,U+59b9,U+59bb,U+59c6,U+59d0-59d1,U+59d3,U+59dc,U+5a18,U+5a31,U+5a5a,U+5a92,U+5b54,U+5b59,U+5b5f,U+5b63-5b64,U+5b85,U+5b87-5b88,U+5b8b,U+5b97,U+5b9c,U+5baa-5bab,U+5bb4,U+5bbd-5bbf,U+5bc4,U+5bd2,U+5be8,U+5bfa-5bfb,U+5bff,U+5c01,U+5c04,U+5c0a,U+5c16,U+5c18,U+5c1a,U+5c1d,U+5c24,U+5c3e,U+5c4b,U+5c4f,U+5c65,U+5c97,U+5c9a,U+5ca9,U+5cad,U+5cb3,U+5cb8,U+5ce1,U+5cf0,U+5cfb,U+5d07,U+5d1b,U+5de1,U+5de7,U+5de9,U+5e10,U+5e1d,U+5e55,U+5e78,U+5e7c,U+5e84,U+5e8a,U+5e9f,U+5ec9-5eca,U+5ef6-5ef7,U+5f02-5f04,U+5f18,U+5f1f,U+5f31,U+5f39,U+5f52,U+5f6d,U+5f70,U+5f79,U+5f84,U+5f90,U+5f92,U+5faa,U+5fae,U+5fbd,U+5fc6,U+5fcd,U+5fd8-5fd9,U+5fe0,U+5fe7,U+5ffd,U+6000,U+6015,U+602a,U+6050,U+6052,U+6062,U+6069,U+6070,U+6076,U+6084,U+6089,U+60a0,U+60a3,U+60a8,U+60b2,U+60ca,U+60d1,U+60dc,U+60e0,U+60e9,U+60ef,U+6108,U+614e,U+6155,U+6162,U+6167,U+6170,U+61c2,U+61c8,U+6208,U+620f,U+622a,U+6234,U+624e,U+6263,U+626b,U+626d,U+6270,U+6276,U+6291,U+6297-6298,U+629a,U+62a2,U+62ac,U+62b1,U+62b5,U+62bc-62bd,U+62c6,U+62d2-62d4,U+62d6,U+62dc,U+62df,U+62e8-62e9,U+62f3,U+62fc,U+6302,U+6311,U+6316,U+6324,U+632a,U+633a,U+6350,U+6355,U+6377,U+6389,U+638c,U+6398,U+63cf,U+63d2,U+63e1,U+63ed,U+63f4,U+640f,U+642c-642d,U+643a,U+6444,U+6446-6447,U+644a,U+6458,U+6469,U+6478,U+649e,U+64a4,U+64cd,U+6500,U+653b,U+654c,U+654f,U+6562-6563,U+6566,U+656c,U+658c,U+659c,U+65c1,U+65cb,U+65d7,U+65e6,U+65e8,U+65ec,U+65f1,U+65fa,U+6606,U+660c,U+6628,U+664b,U+6653,U+6668,U+6676,U+667a,U+6682,U+6696-6697,U+66b4,U+66f2,U+66f9,U+66fc,U+66ff,U+670b,U+6717,U+672b,U+6731,U+6734,U+6740,U+6742,U+675c,U+676d,U+676f-6770,U+677e-677f,U+6790,U+679a,U+679d,U+67aa,U+67b6,U+67cf,U+67d3,U+67dc,U+67ec,U+67f1,U+67f3-67f4,U+680f,U+682a,U+683d,U+6842-6843,U+6846,U+684c,U+6851,U+6863,U+6881,U+6885,U+68a6,U+68af-68b0,U+68cb,U+68ee,U+695a,U+6982,U+699c,U+6a2a,U+6b20,U+6b23,U+6b32,U+6b67,U+6b8a-6b8b,U+6b96,U+6bc1,U+6bc5,U+6bcd,U+6bd2,U+6bd5,U+6beb,U+6c0f,U+6c1b,U+6c27,U+6c57,U+6c60-6c61,U+6c64,U+6c6a,U+6c88-6c89,U+6c9f,U+6cc9-6cca,U+6cdb,U+6ce5,U+6cea,U+6cf0,U+6cf3,U+6d01,U+6d12,U+6d17,U+6d1b,U+6d1e,U+6d3d,U+6d53,U+6d59,U+6d66,U+6d69-6d6a,U+6d6e,U+6d82,U+6d89,U+6d8c,U+6d9b,U+6da6,U+6da8,U+6db2,U+6db5,U+6de1,U+6dee,U+6df7,U+6dfb,U+6e10,U+6e14,U+6e20-6e21,U+6e58,U+6eaa,U+6ecb,U+6ed1,U+6eda,U+6ede,U+6ee5,U+6ee8-6ee9,U+6f0f,U+6f20,U+6f2b,U+6f58,U+6f5c,U+6fb3,U+704c,U+706d,U+706f-7070,U+7075,U+7089,U+708e,U+7092,U+70ad-70ae,U+70b8,U+70bc,U+70c2,U+70e7,U+7126,U+714c,U+718a,U+719f,U+71c3,U+71d5,U+7206,U+7236-7238,U+7259,U+725b,U+7262,U+7267,U+7272,U+7275,U+72b9,U+72d7,U+72e0,U+731b,U+732a,U+73a9,U+73bb,U+73cd,U+73e0,U+741b,U+7434,U+745e,U+7483,U+74dc,U+74e6,U+74f6-74f7,U+7518,U+751c,U+7532,U+7537,U+7545,U+755c,U+756a,U+7586,U+758f,U+7591,U+75ab,U+75be,U+75c7,U+75db,U+764c,U+7687,U+76ae,U+76c8,U+76d0,U+76d6-76d8,U+76db,U+76df,U+76f2,U+76fe,U+775b,U+7761,U+77a9,U+77db,U+7801,U+7816,U+7855,U+786c,U+788d,U+7891,U+78c1,U+78e8,U+793c,U+7956,U+795d,U+7965,U+7981,U+79cb,U+79d2,U+79d8,U+79df,U+79e6,U+79e9,U+7a00,U+7a3b,U+7a3f,U+7a46,U+7a77,U+7a7f,U+7a97,U+7a9d,U+7adf,U+7ae5,U+7aef,U+7af9,U+7b11,U+7b26,U+7b54,U+7bb1,U+7bc7,U+7bee,U+7c4d,U+7c89,U+7c97,U+7cd6,U+7d2f,U+7ea0,U+7ea4,U+7eaf,U+7eb2,U+7eb5,U+7eba,U+7ebd,U+7ed2,U+7ed5,U+7ed8,U+7edc,U+7eea,U+7ef8,U+7eff,U+7f13,U+7f18,U+7f29,U+7f34,U+7f5a,U+7f72,U+7f8a,U+7fbd,U+7ffb,U+8000,U+8010,U+8015,U+8017,U+8033,U+8058,U+805a,U+8083,U+8089,U+8096,U+809d,U+80a5,U+80a9,U+80af,U+80c0-80c1,U+80c6,U+80cc,U+80ce,U+80de,U+80e1,U+80f6,U+80f8,U+8109,U+810f,U+811a,U+8131,U+8138,U+8150,U+8170,U+817e-817f,U+81a8,U+81e3,U+8206,U+820d,U+8212,U+8230,U+8236,U+8270,U+8273,U+827e,U+82ac,U+82b3,U+82d7,U+82e5,U+8302,U+8336,U+8350,U+8352,U+8361,U+8377,U+83ab,U+83b1-83b2,U+83cc,U+83f2,U+8428,U+8461,U+8463,U+8482,U+848b,U+8499,U+84c4,U+84dd,U+84ec,U+8521,U+852c,U+8584,U+85aa,U+864e,U+8651,U+865a,U+866b,U+8679,U+86cb,U+8854,U+8861,U+8863,U+8870,U+8877,U+8881,U+888b,U+88ad,U+88c1-88c2,U+88d5,U+8986,U+89c8,U+89e6,U+8bca,U+8bcd,U+8bd1,U+8bd7,U+8bda,U+8bde,U+8be2,U+8be6,U+8bef,U+8bf1,U+8bf8,U+8bfa,U+8bfe,U+8c01,U+8c0a-8c0b,U+8c13,U+8c22,U+8c31,U+8c37,U+8c46,U+8c6a,U+8c8c,U+8d1d,U+8d21,U+8d24-8d25,U+8d29-8d2a,U+8d34,U+8d3a,U+8d3e-8d3f,U+8d41,U+8d4b,U+8d4f,U+8d54,U+8d56,U+8d5a,U+8d5e,U+8d60,U+8d62,U+8d64,U+8d6b,U+8d74-8d76,U+8d8b,U+8da3,U+8dc3,U+8dcc,U+8dd1,U+8ddd,U+8ddf,U+8de8,U+8df3,U+8df5,U+8e0f,U+8e2a,U+8f68,U+8f6e-8f70,U+8f7d,U+8f7f,U+8f85-8f86,U+8f88-8f89,U+8f91,U+8f96,U+8f9b,U+8f9e-8f9f,U+8fa9,U+8fbd,U+8fc1,U+8fc8,U+8fd4,U+8fdf,U+8fea-8feb,U+8ff7,U+8ff9,U+9003,U+900f,U+9012,U+9014,U+901d,U+9022,U+903e,U+904d,U+9057,U+9065,U+906d,U+9075,U+907f-9080,U+90a6,U+90ae,U+90b9,U+90bb,U+90ca,U+90ce,U+90d1,U+90ed,U+9178,U+9192,U+91ca,U+91ce,U+9274,U+949f,U+94a6,U+94bb,U+94dc-94dd,U+94f8,U+94fa,U+9501,U+9505,U+950b,U+9519,U+9521,U+9526,U+952e,U+955c,U+95ea,U+95ed,U+95ef,U+95f2,U+95f9,U+9601,U+9605,U+9614,U+9634-9635,U+963b,U+9644,U+9655,U+966a,U+9675-9677,U+9686,U+9690,U+9694,U+969c,U+96c4-96c5,U+96d5,U+96e8,U+96ea,U+96f6-96f7,U+9707,U+971e,U+9732,U+9738,U+9759,U+978b,U+97e9,U+9875-9876,U+9881,U+9887,U+9891,U+9896-9897,U+989c,U+9910,U+996e,U+9970-9972,U+9a71,U+9a76,U+9a7b,U+9a7e,U+9a97,U+9aa8,U+9c7c,U+9c81,U+9e1f,U+9e21,U+9e23,U+9e3f,U+9e4f,U+9ea6,U+9ebb,U+9ece,U+9ed8,U+9f13,U+9f50,U+9f84",weight:"400"},{asset:"longcang/c6e97809.woff2",family:"Long Cang",range:"U+3001-3002,U+3008-3011,U+3014-3017,U+4e00,U+4e03,U+4e07,U+4e09-4e0b,U+4e0d-4e0e,U+4e13-4e14,U+4e16,U+4e1a,U+4e1c,U+4e24-4e25,U+4e2a,U+4e2d,U+4e30,U+4e34,U+4e3a-4e3b,U+4e3e,U+4e45,U+4e48-4e49,U+4e4b,U+4e4e,U+4e50,U+4e5d,U+4e5f-4e61,U+4e66,U+4e70,U+4e86,U+4e88-4e89,U+4e8b-4e8c,U+4e8e,U+4e91-4e92,U+4e94,U+4e9a-4e9b,U+4ea4,U+4ea7,U+4ea9,U+4eac,U+4eb2,U+4eba,U+4ebf-4ec0,U+4ec5,U+4eca-4ecb,U+4ecd-4ece,U+4ed6,U+4ed8,U+4ee3-4ee5,U+4eec,U+4ef6-4ef7,U+4efb,U+4efd,U+4f01,U+4f0d,U+4f17-4f18,U+4f1a,U+4f1f-4f20,U+4f46,U+4f4d-4f4f,U+4f53,U+4f55,U+4f59,U+4f5c,U+4f60,U+4f7f,U+4f8b,U+4f9b,U+4f9d,U+4fbf,U+4fc3-4fc4,U+4fdd,U+4fe1,U+4fee,U+500d,U+5019,U+503a,U+503c,U+5047,U+505a,U+505c,U+5065,U+50cf,U+513f,U+5143,U+5145,U+5148-5149,U+514b,U+514d,U+515a,U+5165,U+5168,U+516b-516d,U+5170-5171,U+5173-5177,U+517b,U+5185,U+518d,U+5199,U+519b-519c,U+51b2-51b3,U+51b5,U+51c6,U+51cf,U+51e0,U+51fa-51fb,U+5206-5207,U+520a,U+5212,U+5217-521b,U+521d,U+5224,U+5229,U+522b,U+5230,U+5236,U+5238,U+523b,U+524d,U+5267,U+526f,U+529b,U+529e-52a1,U+52a8-52aa,U+52b1,U+52b3,U+52bf,U+5305,U+5316-5317,U+533a-533b,U+5341,U+5343,U+5347-5348,U+534a,U+534e-534f,U+5355-5357,U+535a,U+5360-5361,U+536b,U+5370,U+5373-5374,U+5382,U+5385-5386,U+538b,U+539f,U+53bb,U+53bf,U+53c2,U+53c8,U+53ca-53cd,U+53d1,U+53d6-53d8,U+53e3-53e4,U+53e6,U+53ea,U+53ec,U+53ef-53f0,U+53f2-53f3,U+53f7-53f8,U+5403-5404,U+5408,U+540c-540e,U+5411,U+5426,U+5428,U+542c,U+5434,U+5438,U+544a,U+5458,U+5468,U+547d,U+548c,U+54c1,U+54cd,U+552e,U+5546,U+5584,U+559c,U+5668,U+56db,U+56de,U+56e0,U+56e2,U+56ed,U+56f0,U+56f4,U+56fa,U+56fd-56fe,U+571f,U+5728,U+5730,U+5733,U+573a,U+5747,U+575a,U+578b,U+57ce,U+57df,U+57f9-57fa,U+5883,U+589e,U+58eb,U+58f0,U+5904,U+5907,U+590d,U+5916,U+591a,U+591f,U+5927,U+5929-592b,U+592e,U+5931,U+5934,U+5947,U+594b,U+5956-5957,U+5965,U+5973,U+5979,U+597d,U+5982,U+5987,U+59cb,U+59d4,U+5a01,U+5b50,U+5b57-5b58,U+5b66,U+5b69,U+5b81,U+5b83,U+5b89,U+5b8c,U+5b8f,U+5b98,U+5b9a,U+5b9d-5b9e,U+5ba1-5ba4,U+5bb3,U+5bb6,U+5bb9,U+5bc6,U+5bcc,U+5bdf,U+5bf9,U+5bfc,U+5c06,U+5c0f,U+5c11,U+5c14,U+5c31,U+5c3c-5c3d,U+5c40,U+5c42,U+5c45,U+5c4a,U+5c55,U+5c5e,U+5c71,U+5c81,U+5c9b,U+5ddd-5dde,U+5de5-5de6,U+5de8,U+5dee,U+5df1-5df2,U+5df4,U+5e01-5e03,U+5e08,U+5e0c,U+5e26,U+5e2d-5e2e,U+5e38,U+5e45,U+5e72-5e74,U+5e76,U+5e7f,U+5e86,U+5e8f,U+5e93-5e95,U+5e97,U+5e9c,U+5ea6-5ea7,U+5ead,U+5eb7,U+5efa,U+5f00,U+5f0f,U+5f15,U+5f20,U+5f3a,U+5f53,U+5f55,U+5f62,U+5f69,U+5f71,U+5f7b,U+5f80-5f81,U+5f85,U+5f88,U+5f8b,U+5f97,U+5fb7,U+5fc3,U+5fc5,U+5fd7,U+5feb,U+5ff5,U+6001,U+600e,U+601d,U+6025,U+6027,U+603b,U+606f,U+60c5,U+60f3,U+610f,U+611f,U+613f,U+6210-6211,U+6216,U+6218,U+6237,U+623f-6240,U+624b,U+624d,U+6253,U+6258,U+6267,U+6269,U+626c,U+6279,U+627e-6280,U+628a,U+6293,U+6295,U+62a4-62a5,U+62c5,U+62c9,U+62cd,U+62db,U+62e5,U+62ec,U+62ff,U+6301,U+6307,U+6309,U+6325,U+632f,U+635f,U+6362,U+636e,U+6388,U+6392,U+63a2,U+63a5,U+63a7-63a8,U+63aa,U+63d0,U+641e,U+64ad,U+652f,U+6536,U+6539,U+653e-653f,U+6545,U+6548,U+6551,U+6559,U+6570,U+6574,U+6587,U+6597,U+6599,U+65a4,U+65ad,U+65af-65b0,U+65b9,U+65bd,U+65c5,U+65cf,U+65e0,U+65e2,U+65e5,U+65e7,U+65e9,U+65f6,U+660e,U+6613,U+661f-6620,U+6625,U+662f,U+663e,U+665a,U+666e-666f,U+66f4,U+66fe,U+6700,U+6708-6709,U+670d,U+671b,U+671d,U+671f,U+6728,U+672a,U+672c,U+672f,U+673a,U+6743,U+674e,U+6750-6751,U+675f,U+6761,U+6765,U+6768,U+6781,U+6784,U+6797,U+679c,U+67d0,U+67e5,U+6807,U+6811,U+6821,U+6837-6839,U+683c,U+6848,U+6865,U+68c0,U+68c9,U+690d,U+697c,U+6a21,U+6b21-6b22,U+6b27,U+6b3e,U+6b4c,U+6b62-6b66,U+6b7b,U+6bb5,U+6bcf,U+6bd4,U+6bdb,U+6c11,U+6c14,U+6c34,U+6c38,U+6c42,U+6c47,U+6c49,U+6c5f,U+6c7d,U+6c99,U+6ca1,U+6cb3,U+6cb9,U+6cbb,U+6cbf,U+6cd5,U+6ce2,U+6ce8,U+6cfd,U+6d0b,U+6d25,U+6d2a,U+6d32,U+6d3b,U+6d3e,U+6d41,U+6d4b,U+6d4e,U+6d77,U+6d88,U+6df1,U+6e05,U+6e29,U+6e2f,U+6e38,U+6e56,U+6e7e,U+6e90,U+6ee1,U+6f14,U+6f6e,U+6fc0,U+706b,U+707e,U+70b9,U+70c8,U+70df,U+70ed,U+7136,U+7164,U+7167,U+7231,U+7247-7248,U+724c,U+7269,U+7279,U+72af,U+72b6,U+72ec,U+732e,U+7387,U+7389,U+738b,U+73af-73b0,U+73ed,U+7403,U+7406,U+751a,U+751f,U+7528,U+7530-7531,U+7533,U+7535,U+753b,U+754c,U+7559,U+7565,U+7597,U+75c5,U+767b,U+767d-767e,U+7684,U+76ca,U+76d1,U+76ee,U+76f4,U+76f8,U+770b,U+771f,U+773c,U+7740,U+7763,U+77e5,U+77ed,U+77f3,U+77ff,U+7814,U+7834,U+7840,U+786e,U+793a,U+793e,U+795e,U+7968,U+798f,U+79bb,U+79c0-79c1,U+79cd,U+79d1,U+79ef-79f0,U+79fb,U+7a0b,U+7a0e,U+7a33,U+7a76,U+7a7a,U+7a81,U+7acb,U+7ad9,U+7ade,U+7ae0,U+7b14,U+7b2c,U+7b49,U+7b51,U+7b56,U+7b79,U+7b7e,U+7b80,U+7b97,U+7ba1,U+7c73,U+7c7b,U+7cae,U+7cbe,U+7cfb,U+7d20,U+7d22,U+7d27,U+7e41,U+7ea2,U+7ea6-7ea7,U+7eaa,U+7eb3,U+7eb7-7eb8,U+7ebf,U+7ec3-7ec4,U+7ec6-7ec8,U+7ecd,U+7ecf,U+7ed3,U+7ed9,U+7edd,U+7edf,U+7ee7,U+7ee9,U+7eed,U+7ef4,U+7efc,U+7f16,U+7f3a,U+7f51,U+7f57,U+7f6a,U+7f6e,U+7f8e,U+7fa4,U+8001,U+8003,U+8005,U+800c,U+804c,U+8054,U+80a1,U+80b2,U+80dc,U+80fd,U+8111,U+81ea,U+81f3-81f4,U+821e,U+822a,U+822c,U+8239,U+826f,U+8272,U+827a,U+8282,U+82b1,U+82cf,U+82e6,U+82f1,U+8303,U+8349,U+8363,U+836f,U+83b7,U+83dc,U+8425,U+843d,U+8457,U+85cf,U+867d,U+878d,U+8840,U+884c,U+8857,U+8865,U+8868,U+88ab,U+88c5,U+897f,U+8981,U+89c1-89c2,U+89c4,U+89c6,U+89c9,U+89d2,U+89e3,U+8a00,U+8a89,U+8b66,U+8ba1-8ba2,U+8ba4,U+8ba8-8ba9,U+8bad-8bb0,U+8bb2,U+8bb8,U+8bba,U+8bbe-8bbf,U+8bc1,U+8bc4,U+8bc6,U+8bc9,U+8bd5,U+8bdd,U+8be5,U+8bed,U+8bf4,U+8bf7,U+8bfb,U+8c03,U+8c08,U+8c61,U+8d1f,U+8d22-8d23,U+8d27-8d28,U+8d2b,U+8d2d,U+8d2f,U+8d35,U+8d37-8d39,U+8d44,U+8d5b,U+8d70,U+8d77,U+8d85,U+8d8a,U+8db3,U+8def,U+8eab,U+8f66,U+8f6c,U+8f7b,U+8f83,U+8f93,U+8fb9,U+8fbe,U+8fc5,U+8fc7,U+8fce,U+8fd0-8fd1,U+8fd8-8fd9,U+8fdb-8fde,U+8ff0,U+8ffd,U+9000-9002,U+9009,U+9010,U+901a,U+901f-9020,U+9047,U+9053,U+9093,U+90a3,U+90e8,U+90fd,U+914d,U+9152,U+91c7,U+91cc-91cd,U+91cf,U+91d1,U+9488,U+94a2,U+94b1,U+94c1,U+94f6,U+9500,U+9547,U+957f,U+95e8,U+95ee,U+95f4,U+95fb,U+961f,U+9632-9633,U+9636,U+963f,U+9645-9646,U+9648,U+964d,U+9650,U+9662,U+9664,U+9669,U+968f,U+96be,U+96c6,U+9700,U+9752,U+975e,U+9760,U+9762,U+9769,U+97f3,U+9879-987b,U+987e-987f,U+9884,U+9886,U+9898,U+989d,U+98ce,U+98de-98df,U+996d,U+9986,U+9996,U+9999,U+9a6c,U+9a8c,U+9ad8,U+9c9c,U+9ec4,U+9ed1,U+9f99",weight:"400"},{asset:"longcang/6492a981.woff2",family:"Long Cang",range:"U+4e11,U+4e18-4e19,U+4e22,U+4e32,U+4e38,U+4e52-4e53,U+4e7e,U+4e9f,U+4ea8,U+4ead,U+4ec6-4ec7,U+4ed1,U+4ed7,U+4ef0,U+4f1e,U+4f50-4f51,U+4f63,U+4f7c,U+4f83,U+4fa0,U+4fa6,U+4fcf,U+4fd1,U+4fde,U+4fe9,U+4fed,U+4ffa,U+5018,U+5026,U+502a,U+5076,U+508d,U+50ac,U+50b2,U+50bb,U+50f5,U+50fb,U+5112,U+5154,U+515c,U+5162,U+5179,U+517d,U+5180,U+5188,U+51a4,U+51d1,U+51ef-51f0,U+51f6,U+51ff,U+522e,U+5239,U+5254,U+5256,U+5265,U+526a,U+529d,U+52c9,U+52cb,U+52df,U+52fe,U+5306,U+5308,U+5319,U+5320,U+532a,U+5349,U+535c,U+5367,U+5375,U+5378,U+537f,U+5384,U+538c,U+5395,U+5398,U+53a2,U+53a8,U+53c9,U+53d4,U+53e0,U+5410,U+5413,U+541e-541f,U+543e,U+5440,U+5446,U+5475,U+5496,U+54ac,U+54b1,U+54b8,U+54bd,U+54c0,U+54c4,U+54d1,U+54e8,U+54ed,U+5561,U+5565-5566,U+5580,U+5582,U+5587,U+5589-558a,U+5598,U+55a7,U+55bb,U+561b,U+5631,U+566a,U+56ca,U+572d,U+573e,U+574a,U+574e,U+5751,U+575f,U+5764,U+576a,U+576f,U+5777,U+5782-5784,U+5792,U+57ab,U+57ae,U+57cb,U+57e0,U+5835,U+584c,U+5885,U+58e4,U+58f3,U+58f6,U+5937-5939,U+5948,U+594e,U+5951,U+5974,U+5978,U+5986,U+59a8,U+59ae,U+59da,U+59fb,U+59ff,U+5a03,U+5a1c,U+5a1f,U+5a46,U+5a49,U+5a74,U+5ab3,U+5ac1,U+5acc,U+5ae9,U+5b55,U+5b5c-5b5d,U+5b99,U+5b9b,U+5ba0,U+5bb0,U+5bb5,U+5bc2,U+5bc5,U+5bd3,U+5be1,U+5be5,U+5bf8,U+5c09,U+5c27,U+5c38-5c3a,U+5c3f,U+5c48,U+5c60-5c61,U+5c6f,U+5c82,U+5c90,U+5d14,U+5d16,U+5d29,U+5d2d,U+5dcd,U+5de2,U+5df7,U+5dfe,U+5e05-5e06,U+5e15,U+5e18,U+5e1c,U+5e37,U+5e3d,U+5e62,U+5e7b,U+5e7d,U+5e90,U+5e99-5e9a,U+5e9e,U+5eb8,U+5ed6,U+5f0a,U+5f17,U+5f25-5f26,U+5f2f,U+5f57,U+5f66,U+5f6a,U+5f6c,U+5f7c,U+5f8a,U+5f98,U+5fa1,U+5fcc,U+6012,U+6021,U+6028,U+604b,U+6068,U+606d,U+6073,U+607c,U+6094,U+609f,U+60a6,U+60ac,U+60bc,U+60d5,U+60e7-60e8,U+6101,U+6109,U+611a,U+6124,U+6127,U+6148,U+614c,U+6168,U+61be,U+61d2,U+6212,U+621a,U+6247,U+6251,U+6254,U+625b,U+626e-626f,U+6284,U+6292,U+6296,U+629b,U+62ab,U+62b9,U+62d0,U+62d8,U+62da,U+62e2,U+62e6,U+62fe,U+631a,U+631d,U+6320-6321,U+6323,U+6328,U+632b,U+633d,U+6346,U+6349,U+635e,U+6367,U+6380,U+638f,U+63a9,U+63ba,U+63fd,U+641c,U+6454,U+6467,U+6491-6492,U+64b0,U+64bc,U+64c2,U+64c5,U+64e6,U+655e,U+6572,U+658b,U+6590-6591,U+65a5,U+65a7,U+65ed,U+6602,U+660f,U+6614,U+662d,U+663c,U+6643,U+6652,U+6656,U+6664,U+6670,U+6674,U+6687,U+6691,U+66a8,U+66d9,U+66dd,U+66f0,U+6735,U+673d,U+6746,U+6749,U+674f,U+6760,U+67a2-67a3,U+67ab,U+67af,U+67d4,U+67ef,U+680b,U+6816-6817,U+6850,U+6854,U+6869,U+6876,U+68a7-68a8,U+68ad,U+68cd,U+68d2,U+68d8,U+68da,U+68e0,U+68f5,U+6905,U+6912,U+6930,U+6986,U+69fd,U+6a0a,U+6a61,U+6b3a,U+6b47,U+6b49,U+6b6a,U+6b79,U+6bb7,U+6bbf,U+6bd7,U+6bef,U+6c1f,U+6c28,U+6c2e-6c2f,U+6c41,U+6c55,U+6c5b,U+6c5d,U+6c70,U+6c7e,U+6c82-6c83,U+6c9b,U+6ca5,U+6ca7,U+6caa-6cab,U+6cb8,U+6cbe,U+6cc4,U+6ce1,U+6cf5,U+6cfc,U+6d3c,U+6d45-6d47,U+6d51,U+6d74,U+6d78,U+6d9d,U+6da4,U+6daf,U+6dc0,U+6dc4,U+6dcb,U+6dd1,U+6dd8,U+6de4,U+6deb,U+6df9,U+6e0a,U+6e17,U+6e1d,U+6e23-6e24,U+6e34,U+6e5b,U+6e7f,U+6e83,U+6e89,U+6e9c,U+6ea2,U+6eb6,U+6ed4-6ed5,U+6ef4,U+6f02,U+6f06,U+6f47,U+6f4d,U+6f6d,U+6f84,U+6f9c,U+6fd2,U+7076,U+707f,U+70ac,U+70b3,U+70e4,U+70e6,U+70eb,U+70ef,U+70f9,U+710a,U+7115,U+711a,U+7130,U+716e,U+718f,U+7199,U+71ac,U+71e5,U+722c,U+723d,U+725f,U+7261,U+727a,U+72ac,U+72c2,U+72ed-72ee,U+72f1,U+72fc,U+730e,U+7316,U+731c,U+732b,U+7334,U+739b,U+73b2,U+73ca,U+7422,U+7426,U+7433,U+743c,U+745f,U+7470,U+7476,U+7529,U+752b,U+7538,U+754f,U+7554,U+7574,U+75af,U+75b2,U+75bc,U+75d5,U+75f4,U+7624,U+7626,U+762b,U+763e,U+7686,U+7696,U+76c6,U+76d2,U+76ef,U+76fc,U+7709,U+7720,U+7737,U+7741,U+7750,U+7766,U+7779,U+7784,U+7792,U+77a7,U+77ac,U+77bb,U+77e9,U+77ee,U+7802,U+780d,U+7838,U+7845,U+785d,U+786b,U+788c,U+788e,U+7897-7898,U+78a7,U+78b0-78b1,U+78b3,U+78c5,U+78ca-78cb,U+78f7,U+7901,U+796d,U+7978,U+7984-7985,U+79b9,U+79bd,U+79c9,U+79e4,U+79e7,U+79fd,U+7a0d,U+7a3c-7a3d,U+7a57,U+7a74,U+7a83-7a84,U+7a91,U+7a9f,U+7ad6,U+7ae3,U+7aed,U+7b0b,U+7b3c,U+7b4b,U+7b52,U+7b5b,U+7bad,U+7c3f,U+7c7d,U+7c92,U+7c98,U+7ca4,U+7caa,U+7cb9,U+7cca,U+7cd5,U+7cdf,U+7d2b,U+7eac,U+7eb1,U+7eb6,U+7eb9,U+7ece,U+7ed1,U+7ee3,U+7ee5,U+7ef3,U+7ef5,U+7f05-7f06,U+7f09,U+7f14,U+7f1a,U+7f1d,U+7f20,U+7f2a,U+7f38,U+7f50,U+7f55,U+7f62,U+7f69,U+7fa1,U+7fc1,U+7fc5,U+7fd4,U+7fe0,U+7ff0,U+7ffc,U+8018,U+8036,U+8038,U+803f,U+8042,U+804a-804b,U+806a,U+8086-8087,U+808c,U+809a,U+80a0,U+80a2,U+80a4,U+80ba,U+80be-80bf,U+80c3,U+80d6,U+8102,U+8106,U+810a,U+814a,U+8154,U+8179-817a,U+8180,U+818f,U+819c,U+81c2,U+81ed,U+81fb,U+820c,U+821f,U+8231,U+8247,U+8258,U+8292,U+829c-829d,U+82a6,U+82ad,U+82af,U+82bd,U+82cd,U+82d1,U+82f9,U+8305,U+8327-8328,U+832b,U+8346,U+8354,U+835f,U+8367,U+836b,U+8389,U+838e,U+839e,U+83c7,U+83ca,U+83f1,U+8403-8404,U+840c-840e,U+841d,U+8427,U+845b,U+846c,U+8471,U+849c,U+84b2,U+84b8,U+84c9,U+8513,U+8517,U+851a,U+8549,U+8574,U+857e,U+859b,U+85e4,U+867e,U+8680-8681,U+8695,U+86c7,U+8702,U+871c,U+8721,U+8776,U+87ba,U+87f9,U+884d,U+886b-886c,U+8896,U+88b1,U+88d9,U+88e4,U+88f9,U+8944,U+89c5,U+8a93,U+8bb3,U+8bbc,U+8bc8,U+8beb,U+8c05,U+8c10,U+8c1c,U+8c23,U+8c26,U+8c28,U+8c2d,U+8c34,U+8c6b,U+8d1e,U+8d2c,U+8d2e,U+8d42-8d43,U+8d4c,U+8d63,U+8d81,U+8d9f,U+8dfb,U+8e0a,U+8e22,U+8e48,U+8e72,U+8e81,U+8eb2,U+8eba,U+8f67,U+8f69,U+8f74,U+8f90,U+8f9c,U+8fa3,U+8fa8,U+8fb0-8fb1,U+8fc4,U+8fed,U+9006,U+900a,U+901b,U+902e,U+9038,U+903b-903c,U+9042,U+904f,U+9063,U+906e,U+9091,U+90a2,U+90aa,U+90af,U+90b1,U+90b5,U+90c1,U+90dd,U+9102,U+915d,U+916c,U+9171,U+9177,U+917f,U+9187,U+9189,U+946b,U+9489,U+9493,U+9499,U+949e,U+94a5,U+94a7,U+94a9,U+94be,U+94c3,U+94c5,U+94ed-94ee,U+94fe,U+9508,U+950c,U+9510,U+9523-9524,U+952d,U+953b,U+9551,U+9576,U+95f7-95f8,U+95fd,U+9600,U+960e,U+9610,U+961c,U+9647,U+964b-964c,U+96a7,U+96b6,U+96c0-96c1,U+96c7,U+96cf,U+96fe,U+9709,U+970d,U+9716,U+971c,U+9756,U+978d,U+97ad,U+97e6-97e7,U+97f5-97f6,U+9877,U+987d,U+9882,U+9888,U+98a0,U+98a4,U+98d8,U+9965,U+9976,U+997c,U+997f,U+9988,U+99a8,U+9a70,U+9a73,U+9a7c,U+9a82,U+9a84,U+9a86,U+9a91,U+9a9a,U+9aa4,U+9ad3,U+9b3c,U+9b41-9b42,U+9b44-9b45,U+9b4f,U+9b54,U+9c8d,U+9e2d,U+9e3d,U+9e45,U+9e64,U+9e70,U+9e7f,U+9e9f,U+9ed4,U+9f0e,U+9f20,U+9f3b,U+9f7f,U+9f9a",weight:"400"},{asset:"longcang/ba987875.woff2",family:"Long Cang",range:"U+4e93,U+4eb5,U+4ebb,U+4ec4,U+4edd-4ede,U+4ee1,U+4ee8,U+4eeb,U+4ef5,U+4f22,U+4f27,U+4f43,U+4f57,U+4f5d,U+4f6f,U+4f7b,U+4fa9,U+4fda,U+4fe3,U+4ff8,U+4ffe,U+5025,U+502c-502d,U+506c,U+507b,U+5080,U+5088,U+50a5,U+50f3,U+5106,U+5121,U+51c7,U+51eb,U+51fc,U+5208,U+520d,U+523d,U+5241,U+525c,U+52ad,U+52f0,U+530d,U+530f-5310,U+5345,U+539d,U+53a9,U+53df,U+53f5,U+53fb-53fc,U+5421,U+544b,U+5453,U+5464,U+5466,U+5477,U+5482,U+549d,U+54a3,U+54a7,U+54bf,U+54cc,U+54d0,U+54e7,U+550f,U+5514,U+551b,U+5527,U+5530,U+5544,U+5549,U+5555,U+555c,U+556d-556e,U+5576,U+557e,U+558f,U+5594,U+5599,U+559f,U+55b1,U+55b9,U+55c4,U+55d1,U+55d4,U+55df,U+55e4,U+55e8,U+55ea-55ec,U+55ef,U+55f2,U+55f5,U+5623-5624,U+562d,U+564c,U+564e,U+5654,U+5671,U+5685,U+568f,U+56d7,U+56e1,U+56eb,U+56f5,U+56f9,U+5704,U+571c,U+5739,U+576d,U+5785,U+57a1,U+57a7,U+57ad,U+57b4,U+57d5,U+57d9,U+57dd,U+5807,U+584d,U+5880,U+58c5,U+58ec,U+5914,U+5942,U+5958,U+599e,U+59a4,U+59aa,U+59af,U+59be,U+59d8,U+59dd,U+5a06,U+5a09,U+5a0c,U+5a32,U+5a40,U+5a4a,U+5a55,U+5a67,U+5a75,U+5abe,U+5ad2,U+5ae1,U+5b40,U+5b51,U+5b6c,U+5b71,U+5b73,U+5bee,U+5c50,U+5c7a,U+5c98,U+5c9c,U+5ca2,U+5cbf,U+5cc4,U+5ccb,U+5cd2,U+5ce4,U+5d03,U+5d06,U+5d27,U+5d47,U+5d4b,U+5d6c,U+5d6f,U+5df3,U+5dfd,U+5e19,U+5e5b,U+5e96,U+5ea0,U+5eb9,U+5ebe,U+5eea,U+5fd2,U+5fea,U+5ffe,U+6002,U+600f,U+603f,U+6042,U+606b,U+6078,U+607b,U+607d,U+607f,U+608c,U+609a,U+60fa,U+6120,U+6175,U+61d1,U+61ff,U+6215,U+621b,U+6221,U+622c,U+622e,U+6266,U+626a,U+62bb,U+62bf,U+6308,U+6339,U+634b,U+636d,U+6371,U+6387,U+63ae,U+63b3,U+63b8,U+63c4,U+63c6,U+63cd,U+63d6,U+63f6,U+63ff,U+6410,U+6414,U+6421,U+643d,U+6441,U+6448,U+64c0,U+64d8,U+64e2,U+6555,U+659b,U+661d,U+6657,U+6677,U+66a7,U+66dc,U+6710,U+6748,U+6772,U+6775,U+678b,U+679e,U+67a5,U+67ad,U+67b3,U+680e,U+6832,U+6840-6841,U+6849,U+6860,U+6867,U+68c2,U+68f0,U+6901,U+6910,U+6934,U+6954,U+6966,U+6987,U+6998,U+699b,U+69ab,U+69ce,U+6a28,U+6a2f,U+6a3d,U+6a47,U+6a79,U+6a84,U+6aa9,U+6b46,U+6b87,U+6b92-6b93,U+6bc2,U+6bd6,U+6bfd,U+6c16,U+6c18,U+6c21,U+6c24,U+6c29,U+6c32,U+6c35,U+6c4a,U+6c68,U+6c86,U+6c8f,U+6c94,U+6ca3-6ca4,U+6cc5,U+6cd4,U+6d0c,U+6d2e,U+6d39,U+6d60,U+6d63,U+6d6f,U+6d94,U+6da0,U+6ddd,U+6e0c,U+6e4e,U+6e86,U+6e98,U+6ec2,U+6ecf,U+6ed3,U+6edf,U+6f4b,U+6fb9,U+6fd1,U+6fe0,U+6fef,U+7023,U+705e,U+7080,U+7094,U+70b7,U+70ca,U+70e9,U+7116,U+7119,U+712f,U+7145,U+7168,U+71e7,U+723f,U+726f,U+7284,U+72cd,U+72d9,U+72de,U+72f0,U+7325,U+732c,U+7350,U+7352,U+7391,U+73c8-73c9,U+73d0,U+73d9,U+740a,U+741a,U+7441,U+7457,U+74d2,U+74e4,U+753e,U+7548,U+757f,U+7583,U+7596,U+759d,U+75a3,U+75b1,U+75b4,U+75b8,U+75bd,U+75c2,U+75cd,U+75d8,U+75e3-75e4,U+75e8,U+75f1,U+75ff,U+7610,U+7618,U+7622,U+7634,U+765e,U+766f,U+7688,U+7699,U+76b4,U+76c5,U+76e5,U+76f1,U+7708,U+7719,U+772d,U+7751,U+777e,U+778c,U+7791,U+77b3,U+7812,U+7818,U+7823,U+7827,U+7830,U+783b,U+784c,U+7850,U+7887,U+7889,U+7893,U+789a-789c,U+78b2,U+78f4,U+7949,U+795c,U+79e3,U+7a14,U+7a17,U+7a23,U+7a51,U+7a88,U+7a95,U+7aa0,U+7afd,U+7b08,U+7b15,U+7b1e,U+7b24,U+7b33,U+7b5a,U+7b90,U+7bb8,U+7bc1,U+7bd1,U+7bd9,U+7be6,U+7bfe,U+7c2a,U+7cb2,U+7ccc,U+7da6,U+7ea3,U+7ea8,U+7eb0,U+7ebe,U+7ec0,U+7ec2,U+7ed0,U+7ee6,U+7eeb,U+7eef,U+7efa,U+7f03-7f04,U+7f08,U+7f1b,U+7f1f,U+7f22,U+7f25,U+7f2c,U+7f58,U+7f61,U+7f71,U+7f9f,U+7fa7,U+7fb8,U+7fca,U+7fe6,U+7ff3,U+8012,U+8026,U+8037,U+8052,U+8084,U+8093,U+80b1,U+80e4,U+80ef,U+80f4,U+8153,U+8171,U+8174,U+8191,U+81bb,U+81ec,U+8200,U+8202,U+8210,U+8214,U+821b,U+8222,U+826e,U+828a,U+828d-828e,U+8297,U+82a8,U+82be,U+82c4,U+82d2,U+82d5,U+82dc,U+82e3,U+82eb,U+82f7,U+830c,U+8314,U+832d,U+8331,U+8334,U+835a,U+8366,U+8369,U+83a8,U+83aa,U+83b4,U+83c5,U+83d6,U+83e1,U+83fd,U+840b,U+8418,U+8438,U+843c,U+8473,U+847a,U+84a1,U+84ca,U+84d1,U+84fc,U+84ff,U+852b,U+853b,U+8564,U+8572,U+857b,U+85ae,U+85c1,U+85d0,U+85d3,U+8605,U+8616,U+8662,U+866c,U+8693,U+869d,U+86a3,U+86a7,U+86aa,U+86ac,U+86af,U+86b1,U+86b4,U+86b6,U+86c6,U+86c9-86ca,U+86cf-86d0,U+86d4,U+86ed,U+86f0,U+86f3,U+8703,U+8707-8709,U+870d,U+8725,U+8748,U+874c,U+8759,U+8760,U+8763,U+8782,U+879f,U+87a8,U+87af,U+87b3,U+87c6,U+87d1-87d2,U+87e0,U+8839,U+8869,U+887d,U+88c6,U+88fe,U+8913,U+891b,U+8934,U+8941,U+89c7,U+89ca,U+89ce,U+89d0,U+89de,U+89e5,U+8a07,U+8a3e,U+8a8a,U+8b07,U+8ba3,U+8ba6,U+8baa-8bab,U+8bc2,U+8bc5,U+8bcb,U+8bd2,U+8bdb,U+8be4,U+8bf0,U+8c00,U+8c07,U+8c11,U+8c14-8c15,U+8c21,U+8c29-8c2a,U+8c32,U+8c47,U+8c49,U+8c62,U+8c7a,U+8c89,U+8d30,U+8d49,U+8d6d,U+8d84,U+8d94,U+8db8,U+8dc4,U+8dc6,U+8dce,U+8dd7,U+8ddb,U+8df9-8dfa,U+8e09,U+8e1d,U+8e2e,U+8e39,U+8e3d,U+8e42,U+8e47,U+8e49,U+8e4b,U+8e51,U+8e59,U+8e69,U+8e70,U+8e7f,U+8e85,U+8e8f,U+8f6b,U+8f71-8f73,U+8f87,U+8f8f,U+8ff3,U+9004-9005,U+9016,U+9026,U+902f,U+9036,U+9051,U+907d,U+9082,U+9088,U+9097,U+9099,U+909b,U+90b0,U+90c7,U+90d3,U+90dc,U+90e2,U+90e6,U+90ef,U+9104,U+9143,U+914a,U+9150,U+919a,U+91ae,U+91b4,U+91ba,U+938f,U+948f,U+9495,U+9497,U+949c,U+94a3-94a4,U+94af,U+94b9-94ba,U+94bf,U+94cb-94cc,U+94d2,U+94e0-94e1,U+94f0,U+9509,U+950f,U+9512,U+951f,U+9531,U+9534,U+9552-9553,U+9557,U+955d,U+9562-9563,U+9573,U+95f3,U+9606,U+9609-960a,U+961a,U+9649,U+965f,U+9697,U+96b0,U+96bc,U+9701,U+972d,U+973e,U+975b,U+9765,U+977c,U+9791,U+97a3,U+97ea-97eb,U+9880,U+9889,U+988c,U+9894,U+98a2,U+98a6,U+98d3,U+996c,U+9974,U+9977,U+997d,U+9980,U+998a,U+9990-9991,U+9994-9995,U+9a90,U+9a9b-9a9d,U+9aa7,U+9ab6-9ab7,U+9ac5,U+9aef,U+9afb,U+9c87-9c88,U+9c91,U+9ca2,U+9cb2-9cb3,U+9cb5-9cb7,U+9cc5,U+9cc7,U+9ccd,U+9ccf,U+9cd5,U+9cdc,U+9cdf,U+9e20,U+9e22,U+9e29-9e2a,U+9e42,U+9e4c,U+9e57-9e58,U+9e67,U+9e6b,U+9e73,U+9e82,U+9eb8,U+9ecd,U+9edc,U+9edf-9ee0,U+9f3e,U+9f83,U+9f88-9f8a,U+9f9b",weight:"400"},{asset:"longcang/5edc68fa.woff2",family:"Long Cang",range:"U+4e10,U+4e4d,U+4e56,U+4e5e,U+4e98,U+4ea2,U+4ea5,U+4ec3,U+4ed5,U+4f36,U+4f3a,U+4f5f,U+4f70,U+4f84,U+4f88,U+4f8d,U+4f97,U+4fa3,U+4fa5,U+4fae,U+4fd8,U+4fe8,U+4fef,U+501a,U+5029,U+504c,U+50a3,U+50da,U+50e7,U+516e,U+5189,U+5195,U+5197,U+51a5,U+51c4,U+51db,U+51f3,U+51f8-51f9,U+5201,U+5203,U+5220,U+5228,U+527f,U+5288,U+52fa,U+52ff-5300,U+5321,U+532e,U+533e-533f,U+5351-5352,U+5364,U+5366,U+53db,U+53e8-53e9,U+53ed-53ee,U+5406,U+5435,U+543b-543c,U+5450,U+5455,U+545c,U+5471,U+5480,U+5484,U+548b,U+548f-5490,U+5495,U+54b3,U+54c7,U+54c9,U+54d7,U+54df,U+54e6,U+54e9,U+54ee,U+54fa,U+5501,U+5507,U+5543,U+5578,U+557c,U+5583,U+55d3,U+55dc,U+55e3,U+560e,U+5632,U+566c,U+5676,U+56a3,U+56b7,U+56bc,U+56da,U+56e4,U+5703,U+5729,U+5742,U+575e,U+5760,U+57a2-57a3,U+5815,U+5830,U+589f,U+58a9,U+58d1,U+5919,U+592d,U+592f,U+5944,U+5955,U+5962,U+5983-5984,U+59ca,U+59e5,U+59e8,U+59ec,U+5a04-5a05,U+5a07,U+5a13,U+5a23,U+5a25,U+5a34,U+5a36,U+5a3c,U+5a77,U+5a7f,U+5a9a-5a9b,U+5ab2,U+5ac2,U+5ad6,U+5b09,U+5b5a,U+5b70,U+5b75,U+5bc7,U+5bd0,U+5bdd-5bde,U+5bf0,U+5c2c,U+5c34,U+5c41,U+5c51,U+5c79,U+5c7f,U+5c91,U+5c94,U+5cb1,U+5cd9,U+5ce6,U+5ce8,U+5cea,U+5ced,U+5d0e,U+5d4c,U+5d69,U+5dc5,U+5deb,U+5e16,U+5e27,U+5e3c,U+5e4c,U+5e87,U+5eb5-5eb6,U+5ed3,U+5f13,U+5f1b,U+5f27,U+5f3c,U+5f5d,U+5f64,U+5f87,U+5f95,U+5fe1,U+5ff1,U+5ffb,U+6016,U+601c,U+6020,U+604d,U+6055,U+6064,U+606a,U+607a,U+608d,U+6096,U+60cb,U+60df,U+60e6,U+60eb,U+60f6,U+60f9,U+6123,U+6151,U+6177,U+618b,U+61a7-61a8,U+61ac,U+61cb,U+620d-620e,U+6233,U+6241,U+6252,U+6273,U+627c,U+6289,U+62a0,U+62c2,U+62c7,U+62cc,U+62ce,U+62d9,U+62e3,U+62e7,U+62ee-62ef,U+62f1,U+62f4,U+62f7,U+631f,U+634d-634f,U+6361,U+6363,U+6382,U+63a0,U+63b7,U+63c9,U+63e3,U+63ea,U+6400-6401,U+6405,U+6452,U+645e,U+6479,U+6482,U+6495,U+64ce,U+64d2,U+6512,U+6518,U+6556,U+655b,U+6577,U+6593,U+65a9,U+65f7,U+660a,U+6615,U+6627,U+664f,U+6655,U+66ae,U+66e6,U+6714,U+6726,U+672d,U+6756,U+675e,U+6789,U+6795,U+67c4,U+67d1,U+67da,U+67ff,U+6805,U+6808-6809,U+6813,U+6829,U+6853,U+6862,U+6866,U+6868,U+6893,U+6897,U+68a2,U+68b3,U+68d5,U+68e3,U+68f1,U+68fa,U+690e,U+693f,U+6942,U+695e,U+6960,U+6977,U+6984,U+6995,U+69a8,U+69ad,U+69b4,U+69bb,U+69cc,U+69d0,U+69db,U+6a1f,U+6a31,U+6a44,U+6a59,U+6a71,U+6a80,U+6a90,U+6b7c,U+6b83,U+6b89,U+6ba1,U+6bb4,U+6bcb,U+6bd3,U+6bd9,U+6be1,U+6c13,U+6c22,U+6c30,U+6c40,U+6c72,U+6c79,U+6c81,U+6c90,U+6c93,U+6ca6,U+6cad,U+6cb1,U+6cbc-6cbd,U+6ccc,U+6cd3,U+6cd7,U+6ce3,U+6cf1,U+6cf8,U+6cfb,U+6cfe,U+6d31,U+6d4a,U+6d4f,U+6d5a,U+6d85,U+6d93,U+6d9f,U+6da1,U+6da3,U+6da9-6daa,U+6dae,U+6dbf,U+6dc6-6dc7,U+6dcc,U+6df3,U+6e0d-6e0e,U+6e2d,U+6e32,U+6e3a,U+6e43-6e44,U+6e85,U+6ea5,U+6eaf,U+6eba,U+6ec7,U+6ee4,U+6ee6,U+6f13,U+6f2f,U+6f33,U+6f3e,U+6f5e,U+6f62,U+6f7c,U+6f88,U+6f8e,U+6fa1,U+6fee,U+7011,U+701a,U+7078,U+707c,U+708a,U+7095,U+7099,U+709c,U+70af,U+70bd,U+70c1,U+70d8-70d9,U+70db,U+70e8,U+70fd,U+7109,U+714e,U+715e,U+717d,U+7184,U+7194,U+71a0,U+71a8,U+71ce,U+71ee,U+722a,U+7235,U+7239,U+7252,U+7280-7281,U+72b7,U+72c4,U+72d0,U+72e9,U+72f8,U+733f,U+7357,U+7384,U+73ab,U+73ba,U+73d1,U+73f2,U+7405,U+7409,U+7410,U+742a,U+7435-7436,U+7459-745c,U+747e,U+7480,U+7487,U+748b,U+749c,U+749e,U+74a7-74a8,U+74e2-74e3,U+7504,U+752c-752d,U+7578,U+7599-759a,U+759f,U+75a1,U+75ae,U+75ca,U+75d2,U+75ea-75eb,U+75f0,U+75f9,U+761f-7620,U+7629,U+766b,U+7682,U+7693,U+76b1,U+76ce-76cf,U+7736,U+7738,U+773a,U+776b,U+777f,U+7785,U+778e,U+77a5,U+77aa,U+77bf,U+77d7,U+77e2-77e3,U+77eb,U+77f6,U+780c,U+781a,U+7852,U+789f,U+78be,U+78d5,U+7934,U+7940-7941,U+7948,U+795b,U+7960,U+796f,U+797a,U+79a7,U+79ba,U+79be,U+79c3,U+79c6,U+79f8,U+7a1a,U+7a20,U+7a8d,U+7a96,U+7a98,U+7a9c,U+7aa5-7aa6,U+7aff,U+7b03,U+7b19,U+7b1b,U+7b28,U+7b50,U+7b5d,U+7b77,U+7bc6,U+7bf1,U+7bf7,U+7c07,U+7c27,U+7c38,U+7c95,U+7c9f,U+7ca5,U+7cb1,U+7cd9,U+7ce0,U+7d0a,U+7d6e,U+7e82,U+7eab,U+7ead,U+7ec5,U+7eca,U+7eda,U+7ede,U+7ee2,U+7eee,U+7ef0,U+7ef7,U+7efd,U+7f00,U+7f0e,U+7f15,U+7f24,U+7f2b,U+7f2d-7f2e,U+7f79,U+7f81,U+7f9a,U+7f9e,U+7fcc,U+7fd8,U+7fdf,U+7fe9,U+800d,U+803b,U+803d,U+8046,U+8098,U+80aa,U+80b4,U+80da,U+80e7,U+80f0,U+80f3,U+80fa,U+8116,U+813e,U+8148,U+814c,U+8151,U+8155,U+8165,U+817b,U+818a,U+819b,U+819d,U+81b3,U+81ba,U+81e7,U+8205,U+821c,U+8237-8238,U+828b,U+8299,U+82ae,U+82b7-82b9,U+82c7,U+82ce,U+82d3,U+82db,U+82df,U+82ef,U+8301,U+8304,U+830e,U+831c,U+832c,U+8335,U+8338-8339,U+837b-837c,U+8386,U+8393,U+8398,U+83b9-83ba,U+83bd,U+83cf,U+83e0,U+83e9,U+8426,U+8446,U+846b,U+8475,U+84e6,U+853c-853d,U+8587,U+85af,U+85c9,U+85d5,U+85dc,U+85e9,U+85fb,U+8611,U+8650,U+8654,U+865e,U+8682,U+868a,U+868c,U+86d9,U+86db,U+86df,U+86ee,U+8700,U+8712,U+871a,U+873f,U+8747,U+8749,U+874e,U+8774,U+8783,U+8859,U+8862,U+888d,U+889c,U+88a4,U+88d4,U+88d8,U+88f4,U+88f8,U+8910,U+8912,U+891a,U+8925,U+895f,U+8a79,U+8b6c,U+8bb4,U+8bb6-8bb7,U+8bbd,U+8bc0,U+8be3,U+8bec,U+8bf2,U+8bf5,U+8bff,U+8c06,U+8c0d-8c0e,U+8c19,U+8c1b,U+8c24,U+8c2c,U+8c41,U+8c79,U+8d26,U+8d31,U+8d3b-8d3c,U+8d48,U+8d4e,U+8d50,U+8d61,U+8db4,U+8dcb,U+8de4,U+8dea,U+8e1e,U+8e29,U+8e35,U+8e44,U+8e4a,U+8e66,U+8e6c,U+8eac,U+8eaf,U+8f84,U+8f8a,U+8f8d,U+8f97,U+8f99,U+8fe2,U+8fe5,U+8fe9,U+8ff8,U+9017,U+901e,U+9050,U+9083,U+90e1,U+90f4,U+90f8,U+912f,U+9131,U+914b-914c,U+9163,U+9165,U+916f-9170,U+9175-9176,U+918b,U+91c9,U+91dc,U+948a,U+949b,U+94a0,U+94a8,U+94ae,U+94b0,U+94b3,U+94c0,U+94ce,U+94e8,U+94f2,U+94f5,U+9504,U+951a,U+9525,U+952f-9530,U+9532,U+9539,U+9540-9541,U+954c-954d,U+9550,U+955b,U+956d,U+95f5,U+95fa,U+962a,U+962e,U+9640,U+9661,U+9668,U+9672,U+9685,U+968b,U+9698-9699,U+96bd,U+96cc-96cd,U+96ef,U+96f9,U+9704,U+9713,U+9761,U+9773,U+9776,U+97a0,U+97ec,U+9885,U+988d,U+9890,U+996a,U+9975,U+997a,U+9985,U+9992,U+9a6d,U+9a6f,U+9a74,U+9a79,U+9a85,U+9a8b,U+9a8f,U+9aa5,U+9ab8,U+9ae6,U+9c7f,U+9ca4,U+9cb8,U+9cbb,U+9cc4,U+9ccc,U+9cd6-9cd7,U+9cde,U+9e25-9e26,U+9e35,U+9e4a,U+9e93,U+9f9f",weight:"400"},{asset:"longcang/462ccc04.woff2",family:"Long Cang",range:"U+4e0c,U+4e28,U+4e2c,U+4e36,U+4e3f,U+4ea0,U+4ec2,U+4ef3,U+4f1b,U+4f74,U+4f7e,U+4f91,U+4f94,U+4fc5,U+4fdc,U+502e,U+507e,U+50ba,U+50d6,U+50ec-50ed,U+5107,U+5155,U+5181-5182,U+51ab,U+51b1,U+51f5,U+5216,U+522d,U+5233,U+525e,U+5281-5282,U+5290,U+5293,U+52a2,U+52d6,U+52f9,U+5326,U+5369,U+536e,U+537a,U+53a3,U+53b6,U+5423,U+5459,U+5476,U+54a9,U+54b4,U+54d5,U+54d9-54da,U+54dc,U+54f3,U+54ff,U+5523,U+552a,U+553c,U+5588,U+55b5,U+55be,U+55c9,U+55cd,U+564d,U+5686,U+56dd,U+570a,U+572c,U+572f,U+574c,U+576b,U+5776,U+5786,U+57a4,U+57cf,U+57d8,U+57f4,U+57f8,U+57fd,U+580b,U+5819,U+5820,U+5844,U+5865,U+5881,U+589a,U+58bc,U+5902,U+5925,U+5941,U+59d2,U+5a08,U+5ab5,U+5adc,U+5ae0,U+5b16,U+5b32,U+5b37,U+5b5b,U+5b65,U+5b80,U+5b84,U+5be4,U+5c1c,U+5c22,U+5c25,U+5c66,U+5c6e,U+5c88,U+5c8d,U+5cb5,U+5cbd,U+5d1e,U+5d3e,U+5d6b,U+5ddb,U+5e31,U+5e3b,U+5e5e,U+5e80,U+5ee8,U+5efe,U+5f11,U+5f2a,U+5f50,U+5f56,U+5f58,U+5f61,U+5f73,U+5f82,U+5f8c,U+5fc4,U+5fc9,U+5fe4,U+5fed-5fee,U+600a,U+602b,U+605d,U+6067,U+6083,U+609b,U+609d,U+60dd,U+6106,U+610d,U+6126,U+614a,U+615d,U+619d,U+61d4,U+620b,U+6224-6225,U+6243,U+62f6,U+6322,U+6343,U+638e,U+63ad,U+63be,U+63ce,U+63de,U+63f2,U+63f8,U+640b-640c,U+641b,U+6420,U+6426,U+6434,U+643f,U+6445,U+6484,U+6496,U+6499,U+64d0,U+64d7,U+64e4,U+6509,U+652e,U+6534,U+6549,U+656b,U+6603,U+6634,U+66db,U+674c,U+6769-676a,U+6798,U+67a8,U+67b5,U+67c3,U+67d9,U+67dd,U+680a,U+681d,U+6833,U+6844,U+684a,U+6864,U+6883,U+6920,U+6957,U+6971,U+698d,U+69b1,U+69d4,U+69e0,U+69ed,U+6a18,U+6a65,U+6a8e,U+6a91,U+6aa0,U+6b37,U+6b39,U+6b43,U+6b9b,U+6bb3,U+6bea,U+6bf5,U+6c15,U+6c2a,U+6c46,U+6c5c,U+6cd0,U+6d0e,U+6d33,U+6d48,U+6d5e,U+6d7c,U+6e16,U+6e2b,U+6e53,U+6eb2,U+6eb7,U+6ebb,U+6ed7,U+6ee0,U+6f24,U+6f2d,U+6f36,U+6f46,U+6f72,U+6f89,U+6f8c,U+7035,U+7039,U+706c,U+70b1,U+70c0,U+7113,U+7173,U+7178,U+717a,U+71d4,U+71e0,U+721d,U+7228,U+727f,U+728b,U+728f,U+72b4,U+72c1,U+72c3,U+72e8,U+72ef,U+72f3-72f4,U+72f7,U+7303,U+730a,U+7321,U+7331,U+7338-7339,U+734d,U+736c,U+736f,U+739f,U+73e7,U+746d,U+7481,U+74a9,U+74de,U+74e0,U+750d,U+7513,U+752f,U+7540,U+754e,U+755b,U+758b,U+7592,U+75b0,U+75c3-75c4,U+75e6,U+7603,U+7605,U+760a,U+761b,U+7625,U+762d,U+7635,U+763c,U+7640,U+7643,U+764d,U+76a4,U+76cd,U+7704,U+7707,U+770d,U+7722,U+7735,U+7743,U+7747,U+7780,U+778d,U+77a2,U+77b5,U+77e7,U+7809,U+7811,U+7839,U+7847,U+784e,U+7857,U+786a,U+786d,U+78a5,U+78b9,U+78c9,U+78f2,U+791e,U+7924,U+793b,U+7946,U+7953,U+7962,U+7967,U+798a,U+799a,U+7a02-7a03,U+7a06,U+7a78,U+7a80,U+7aac-7aad,U+7ab3,U+7b0a,U+7b45,U+7b4c,U+7b58,U+7b6e,U+7b7b,U+7b9d,U+7ba2,U+7ba8,U+7bda,U+7be5,U+7bfc,U+7c0f,U+7c16,U+7c40,U+7c9e,U+7ca2,U+7cc7-7cc8,U+7cd7,U+7ce8,U+7cf8,U+7d77,U+7e3b,U+7ea1,U+7ea9,U+7ec1,U+7ef2,U+7f02,U+7f07,U+7f0b-7f0c,U+7f0f,U+7f12,U+7f21,U+7f23,U+7f2f,U+7f32-7f33,U+7f68,U+7f74,U+7f9d,U+7fbc,U+8014,U+8016,U+8020,U+8022,U+8025,U+8028-8029,U+8035,U+804d,U+8080,U+809c,U+80ad,U+80b7,U+80c2,U+80d9,U+80e8-80ea,U+80ec,U+80f2,U+810e,U+8114,U+811e,U+812c,U+8136,U+8159,U+817d,U+8182,U+81a3,U+81aa,U+8201,U+8204,U+8221,U+8223,U+822d,U+822f,U+8233,U+823b,U+824b,U+825a,U+825f,U+8268,U+8274,U+827d,U+827f,U+8284,U+8288,U+828f,U+8291,U+829f,U+82a4,U+82b0,U+82c8,U+82e0,U+8307-8308,U+8311,U+831a-831b,U+8333,U+833c,U+8347,U+835b,U+836d-836e,U+837d,U+839b,U+83a9,U+83b0,U+83b6,U+83dd,U+83e5,U+83f9,U+8406,U+840f,U+8411,U+8459,U+845c,U+8487-8488,U+848e,U+84b4,U+84b9,U+84cd,U+84d0,U+84e3,U+84f0,U+850c,U+8539,U+855e,U+8579-857a,U+85a4,U+85a8,U+85b7,U+863c,U+864d,U+866e,U+867c,U+867f,U+86b0,U+86ba,U+86c4,U+86d1,U+86d8,U+86de,U+86f1-86f2,U+871e,U+8723,U+8729,U+8731,U+873e,U+8753,U+8764,U+8770,U+877b,U+877e,U+8788,U+878b,U+8793,U+8797,U+87ac-87ad,U+87b5,U+87bd,U+87d3,U+87db,U+87ea,U+8803,U+880a,U+881b,U+883c,U+8844,U+8864,U+887f,U+88bc,U+88d2,U+88e5,U+88f0,U+88fc,U+890a,U+892b,U+8930,U+895e,U+8966,U+89cb-89cc,U+89cf,U+89d6,U+89dc,U+89eb,U+89ef,U+89f3,U+8a48,U+8b26,U+8ba0,U+8bd4,U+8bdc,U+8bf6,U+8c02,U+8c18,U+8c2b,U+8c2e,U+8c33,U+8c85,U+8c8a,U+8c94,U+8c98,U+8d33,U+8d47,U+8d55,U+8db1,U+8dbc,U+8dcf,U+8dd6,U+8de3,U+8e23,U+8e2c,U+8e3a,U+8e40,U+8e6f,U+8e90,U+8e94,U+8e9c,U+8e9e,U+8ece,U+8f77,U+8f79-8f7a,U+8f7e,U+8f81-8f82,U+8fb6,U+8fd3,U+8fd5,U+8fee,U+902d,U+9058,U+90b6,U+90be,U+90db,U+9139,U+914e-914f,U+9161,U+9164,U+9174,U+9191,U+91a2-91a3,U+91ad,U+91af,U+91b5,U+928e,U+936a,U+943e,U+948b,U+9494,U+94ac,U+94b6-94b8,U+94d8,U+94de,U+94eb,U+94f4,U+94f9,U+950a,U+950d-950e,U+9513-9514,U+9516,U+9518,U+951e,U+9529,U+952b,U+9538,U+953a,U+953c,U+953e-953f,U+9544,U+954e,U+955f,U+9561,U+9564-9565,U+9568-956a,U+956c,U+95f6,U+95fc,U+9603,U+960c-960d,U+9622,U+963c-963d,U+9654,U+9667,U+966c,U+9674,U+9688,U+96b3,U+972a,U+9730,U+9792,U+9794,U+97ab,U+97b2,U+97b4,U+98a1,U+98a5,U+98e7,U+9967,U+9969,U+996b,U+9987,U+9998,U+9a75,U+9a7a,U+9a80,U+9a92,U+9a96,U+9a98,U+9a9f,U+9aa3,U+9ab1,U+9aba,U+9ad1,U+9adf,U+9ae1,U+9aed,U+9af9,U+9b08,U+9b0f,U+9b2f,U+9b43,U+9b48,U+9c86,U+9c8e,U+9c92,U+9c94-9c95,U+9c9a,U+9ca1,U+9ca3,U+9ca6,U+9cb0,U+9cb4,U+9cba,U+9cbc-9cbd,U+9cc6,U+9ccb,U+9cd0,U+9cd4,U+9cd8,U+9ce2,U+9e2b,U+9e31-9e32,U+9e36,U+9e38,U+9e3a,U+9e4b,U+9e4e,U+9e55,U+9e5b,U+9e63,U+9e68-9e6a,U+9e71,U+9e7e,U+9e87-9e88,U+9eb4,U+9ebd,U+9ec9,U+9ee2,U+9ee5,U+9eea,U+9ef9,U+9efb-9efc,U+9f0d,U+9f2c,U+9f37,U+9f3d,U+9f44,U+9f51,U+9f86,U+9fa0",weight:"400"},{asset:"longcang/a78d6046.woff2",family:"Long Cang",range:"U+4e15,U+4e1e,U+4e2b,U+4eb3,U+4ec9,U+4f09,U+4f0e,U+4f2b,U+4f3d,U+4f58,U+4f5a,U+4f64,U+4f6c,U+4f8f,U+4fac,U+4fce,U+4fd0,U+4fdf,U+4fea,U+4ff3,U+500c,U+500f,U+5014,U+501c,U+5043,U+504e,U+5055,U+50a9,U+510b,U+5140,U+5156,U+51a2,U+51bc-51bd,U+51cb,U+5243,U+524c,U+527d,U+52be,U+52d0,U+5315,U+531d,U+5323,U+535e,U+536f,U+53a5,U+53ae,U+53f1,U+53fd,U+540f,U+541d,U+5420,U+5429,U+542d-542e,U+5431,U+5457,U+545b,U+547b,U+5486,U+548e,U+5492,U+5494,U+5499-549b,U+54a4,U+54aa-54ab,U+54af,U+54c6,U+54ce,U+54d2,U+54fc-54fd,U+5506,U+5509,U+5511,U+5520,U+5522,U+552c,U+553e,U+5567,U+556a,U+556c,U+557b,U+558b,U+55b3,U+55bd,U+55c5,U+55d2,U+55d6,U+55e1,U+55e6,U+55f7,U+55fd,U+5600,U+5608,U+5618,U+561f,U+5636,U+5639,U+563b,U+563f,U+5659,U+565c,U+5662,U+5669,U+567c,U+568e,U+5693,U+56f1,U+56ff,U+572a,U+573b,U+574d,U+5768,U+5773,U+577b,U+579b,U+57a0,U+57a9,U+57b8,U+57c2,U+57ed,U+5811,U+586c,U+587e,U+5892,U+58d5,U+58f9,U+595a,U+598a,U+598d,U+5992-5993,U+5996,U+59a9,U+59d7,U+59e3,U+59f9,U+5a11,U+5a20,U+5a29,U+5a6a,U+5a76,U+5a7a,U+5ac9,U+5ae3,U+5ae6,U+5b17,U+5b62,U+5b6a,U+5b7a,U+5b7d,U+5b93,U+5b95,U+5ba6,U+5bb8,U+5c15,U+5c49,U+5c4e,U+5c8c,U+5c96,U+5c99,U+5cab,U+5cb7,U+5cc1,U+5ce5,U+5d02,U+5d2e,U+5d34,U+5d3d,U+5d4a,U+5d58,U+5d82,U+5d99,U+5e1a-5e1b,U+5e44,U+5e54,U+5e61,U+5e7a,U+5ea5,U+5eff,U+5f08,U+5f0b,U+5f29,U+5f77,U+5f89,U+5f99,U+5f9c,U+5fa8,U+5fcf-5fd1,U+5fd6,U+5fff,U+6005-6006,U+6014,U+6026,U+602f,U+6035,U+6043,U+6059,U+6063,U+606c,U+60af,U+60b4,U+60b8,U+60bb,U+60c6,U+60d8,U+60da,U+60ec-60ee,U+60f0,U+60f4,U+6115,U+612b,U+618e,U+6194,U+61a9,U+61ca,U+61e6,U+61f5,U+620a,U+620c,U+621f,U+6248-6249,U+62a1,U+62a8,U+62c4,U+62c8,U+62d7,U+62ed,U+62fd,U+630e,U+631b,U+631e,U+6342,U+6345,U+6376,U+637a-637b,U+6390,U+6396,U+63a3,U+63ac,U+63b0,U+63e9,U+6402,U+6413,U+642a,U+6487,U+64a9,U+64ac,U+64ae,U+64b5,U+64b7,U+64de,U+6525,U+652b,U+6538,U+655d,U+659f,U+65a1,U+65bc,U+65cc,U+65ce,U+65d6,U+65ee-65ef,U+6619,U+6631,U+6635-6636,U+6641,U+664c,U+6654,U+665f,U+6666,U+667e,U+6684,U+66b9,U+66f3,U+6773,U+6777,U+677c,U+6787,U+67b0,U+67b7-67b8,U+67d8,U+67de,U+67e0,U+67e9,U+683e,U+6845,U+684e,U+6886,U+688f,U+68b5,U+692d,U+693d,U+695d,U+6963,U+696b,U+6979,U+6988,U+6994,U+69b7,U+69df,U+6a35,U+6a58,U+6aac,U+6b59,U+6b86,U+6b9a,U+6c26,U+6c50,U+6c5e,U+6c69,U+6c74,U+6c76,U+6c85,U+6c8c,U+6cae,U+6cde,U+6ce0,U+6cef,U+6d19,U+6d35,U+6d43,U+6d52,U+6d54,U+6d5c,U+6d8e,U+6d95,U+6d9e,U+6da7,U+6db8,U+6dc5,U+6dd6,U+6dd9,U+6dde,U+6de6,U+6dec,U+6dfc,U+6e11,U+6e1a,U+6e25,U+6e4d,U+6e5f,U+6e6e,U+6e9f,U+6ea7,U+6eb4,U+6ec1,U+6ee2,U+6ef9,U+6f09,U+6f15,U+6f29-6f2a,U+6f31,U+6f66,U+6f78,U+6f7a,U+6f8d,U+6fa7,U+6fc2,U+6fc9,U+6fe1,U+701b,U+704f,U+7096,U+70ab,U+70c3,U+70ec,U+70f7,U+7118,U+7131,U+714a,U+715c,U+7166,U+7172,U+71b9,U+724d,U+7266,U+728a,U+729f,U+72c8,U+72e1,U+7315,U+7317,U+731d,U+7329,U+7337,U+733e,U+736d,U+7396,U+73ae,U+73b7,U+73c0,U+73c2,U+73cf,U+73de,U+73e9,U+740f,U+7425,U+7428,U+742c,U+742e,U+7430,U+7455,U+7490,U+74ee-74ef,U+74f4,U+7519,U+7525,U+753a,U+7566,U+7572,U+7579,U+75a4,U+75b5,U+75b9,U+75c9,U+75d4,U+75de,U+75e2,U+75fc,U+7600-7601,U+762a,U+7638,U+7656,U+765c,U+7663,U+7678,U+768b,U+768e,U+7691,U+76bf,U+76c2,U+76d4,U+76f9,U+7728-7729,U+772f,U+7762,U+776c,U+777d,U+77a0,U+77b0,U+77cd,U+77dc,U+77f8,U+77fd-77fe,U+7800,U+781d,U+7825,U+782d,U+7837,U+783a,U+783c,U+783e,U+787c,U+78a3,U+78b4,U+78d0,U+78ec,U+78fa,U+795a,U+795f,U+7977,U+7980,U+79ed,U+7a1e,U+7a37,U+7a79,U+7a92,U+7abf,U+7afa,U+7b06,U+7b20,U+7b3a,U+7b4f,U+7b60,U+7b71,U+7b75,U+7b8d,U+7b94-7b95,U+7ba9,U+7bab,U+7bb4,U+7bd3,U+7bdd,U+7be1,U+7c0c,U+7c41,U+7c7c,U+7c91,U+7cb3,U+7cbc-7cbd,U+7cc5,U+7cdc,U+7cef,U+7ec9,U+7ecc,U+7edb,U+7ef6,U+7f19,U+7f1c,U+7f28,U+7f30,U+7f42,U+7f44,U+7f54,U+7f8c,U+7f94,U+7fb2,U+7fb9,U+7fce,U+7fe1,U+7ff1,U+8004,U+8006,U+800b,U+8019,U+8069,U+807f,U+808b,U+809b,U+80ae,U+80bd,U+80c4,U+80e5,U+80eb,U+80ed,U+80f1,U+810d,U+8110,U+8113,U+812f,U+8146,U+814b,U+816e,U+817c,U+8198,U+81c0,U+81c3,U+81c6,U+81fc,U+81fe,U+822b,U+8235,U+82a5,U+82aa,U+82cb,U+82d4,U+82de,U+8309,U+830f,U+8317,U+832f,U+8340,U+8343,U+834f,U+835e,U+8360,U+8364-8365,U+836a,U+8385,U+8392,U+83a0,U+83c1,U+8424,U+8431,U+8469,U+84af,U+84bf,U+84d3,U+84d6,U+84df,U+84e5,U+8511,U+8537,U+853a,U+8543,U+854a,U+8559,U+8568,U+85b0,U+85b9,U+8638,U+864f,U+8671,U+869c,U+86a4,U+86c0,U+86ce,U+86e4,U+86f9,U+86fe,U+8713,U+8715,U+8717-8718,U+8737,U+873b,U+8757,U+87c0,U+87cb,U+87fe,U+8815,U+8821-8822,U+8845,U+8882,U+8884-8885,U+8892,U+88e8,U+88f1,U+88f3,U+8902,U+892a,U+8936,U+8983,U+89d1,U+8ba5,U+8bb9,U+8bc3,U+8bcf,U+8bd8-8bd9,U+8be0-8be1,U+8be7,U+8be9,U+8bfd,U+8c0c,U+8c0f,U+8c12,U+8c1a,U+8c1f,U+8c27,U+8c4c,U+8c5a,U+8c82,U+8d32,U+8d45,U+8d4a,U+8d53,U+8d58,U+8d5d,U+8d66,U+8d73,U+8dbe,U+8dda,U+8df7,U+8e0c,U+8e31,U+8e52,U+8e6d,U+8e74,U+8e76,U+8e7c,U+8e87,U+8f76,U+8f7c,U+8f95,U+8f98,U+8fab,U+8fc2,U+8fe4,U+8fe6,U+900d,U+9035,U+9041,U+9052,U+905b,U+9068,U+9074,U+9095,U+909d,U+90a1,U+90ac,U+90b3,U+90b8,U+90c5,U+90d7,U+90e7,U+9119,U+911e,U+9122,U+9149,U+9157,U+915a,U+9169-916a,U+916e,U+919b,U+92ae,U+93d6,U+9485,U+948e,U+9492,U+949a,U+949d,U+94a1,U+94b4-94b5,U+94bc,U+94c2,U+94c4,U+94c6,U+94c9,U+94d0,U+94db,U+94e2-94e4,U+94e7,U+94ec,U+94f1,U+94ff,U+9502-9503,U+9506,U+9511,U+9517,U+9522,U+9528,U+9535-9537,U+9542,U+9549,U+9556,U+956f-9570,U+95eb,U+95f0,U+95fe,U+9602,U+9611,U+9616,U+9619,U+9621,U+9631,U+9642,U+965b,U+968d,U+96c9,U+96f3,U+9706,U+970e-970f,U+9739,U+9753,U+9774,U+9798,U+97ed,U+988a,U+9893,U+98d2,U+98d9-98da,U+98e8,U+9968,U+996f,U+9981,U+9984,U+998b,U+998d,U+998f,U+9997,U+99a5,U+9a6e,U+9a77,U+9a7f,U+9a81,U+9a87,U+9a8a,U+9a9e,U+9aa1,U+9abc,U+9acb,U+9b03,U+9b13,U+9c85,U+9c9f,U+9ca8,U+9cab,U+9cdd,U+9e2f,U+9e33,U+9e3e,U+9e43-9e44,U+9e49,U+9e51,U+9e5c,U+9e66,U+9e6d,U+9e8b,U+9e92,U+9e9d,U+9ebe,U+9edb,U+9edd,U+9eef,U+9f10,U+9f8b",weight:"400"},{asset:"longcang/550528c8.woff2",family:"Long Cang",range:"U+20-7e,U+a0,U+a2-a6,U+a8-a9,U+ac,U+af-b1,U+d7,U+f7,U+2c6-2c7,U+2da,U+2dc,U+2013-2015,U+2018-201a,U+201c-201e,U+2022,U+2025-2026,U+2030,U+20ac,U+2122,U+2212,U+3000,U+7701,U+fe49-fe4f,U+ff01-ff5e,U+ffe0-ffe3,U+ffe5",weight:"400"}]},abe="EdgeEver Offline Sans",kJe="Geist Mono Variable",sbe="https://cdn.jsdelivr.net/gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/notosans.woff2",obe="https://cdn.jsdelivr.net/gh/tianma-if/edgeever@cb13c0759256caed174b4063845c7948d90fc1bd/packages/shared/src/note-image-assets/geist/GeistMono.ttf",lbe="https://cdn.jsdelivr.net/gh/tianma-if/edgeever@cb13c0759256caed174b4063845c7948d90fc1bd/",cbe={"template/geist/GeistMono.ttf":{path:"packages/shared/src/note-image-assets/geist/GeistMono.ttf",bytes:171948,sha256:"d00e590b8eb3a59acc329b2d044fd143ae935090b7da33199ebee27cc7de8196"},"template/longcang/462ccc04.woff2":{path:"packages/shared/src/note-image-assets/longcang/462ccc04.woff2",bytes:367296,sha256:"dde78c62c7ea7473b0aecd63b6cada02e31cd046478fb9c83c63847382e17527"},"template/longcang/550528c8.woff2":{path:"packages/shared/src/note-image-assets/longcang/550528c8.woff2",bytes:14272,sha256:"f090d3c9c6c563068ddc70776a13c2a680837953de392bd88cbd5048c6f2514a"},"template/longcang/5edc68fa.woff2":{path:"packages/shared/src/note-image-assets/longcang/5edc68fa.woff2",bytes:383012,sha256:"5ffc1572e3ef89cffb762d0da4f9ed8e6a24d478e90a182368e4d48e7ec27388"},"template/longcang/6492a981.woff2":{path:"packages/shared/src/note-image-assets/longcang/6492a981.woff2",bytes:388032,sha256:"3205cca4e7759dc9689be975397bbe80cb865a0638bd683c5bb2383410310246"},"template/longcang/a78d6046.woff2":{path:"packages/shared/src/note-image-assets/longcang/a78d6046.woff2",bytes:379696,sha256:"e8e7f783630eeceee69fe1b9d0eb0185301959d21b193f33d46753b94b71f217"},"template/longcang/ba987875.woff2":{path:"packages/shared/src/note-image-assets/longcang/ba987875.woff2",bytes:380732,sha256:"f76981ea96cde46997b23ca5a95fae22a1665b9476bc24ca430af770204a091a"},"template/longcang/c43d20a2.woff2":{path:"packages/shared/src/note-image-assets/longcang/c43d20a2.woff2",bytes:373956,sha256:"ea2311f834f664eb4e9724f8d88cd7a802fde3842ee72be712e7c284c8f491c4"},"template/longcang/c6e97809.woff2":{path:"packages/shared/src/note-image-assets/longcang/c6e97809.woff2",bytes:334764,sha256:"9c99f1de7c4459c8342e1546c6a8916c99e52e1dc93169695793d920208413f2"},"template/longcang/ca658d72.woff2":{path:"packages/shared/src/note-image-assets/longcang/ca658d72.woff2",bytes:395408,sha256:"01fdc6995ec1f1a78041ca4857720db54d7d24a2e6aaa75229967373699f2d92"},"template/mincho/020fd7d8.woff2":{path:"packages/shared/src/note-image-assets/mincho/020fd7d8.woff2",bytes:277852,sha256:"d3beb8178a95b592dee3d607327ac30f9b315684e609f2b60ec524729c60376c"},"template/mincho/182f21d5.woff2":{path:"packages/shared/src/note-image-assets/mincho/182f21d5.woff2",bytes:266428,sha256:"a06e8ede35561c5c633be38331981001917ada016c0f75584c1c695b54ae706e"},"template/mincho/23249574.woff2":{path:"packages/shared/src/note-image-assets/mincho/23249574.woff2",bytes:299348,sha256:"9cb87d9377216301e98f947c207a93ac8b2c50c820730b2e5b86a006942bd8ea"},"template/mincho/337f2131.woff2":{path:"packages/shared/src/note-image-assets/mincho/337f2131.woff2",bytes:232928,sha256:"3c61711a21b0636853cc8cf0cb466387557f6ce404744a3d7c245fa0d8c097ca"},"template/mincho/3a4b22f4.woff2":{path:"packages/shared/src/note-image-assets/mincho/3a4b22f4.woff2",bytes:267668,sha256:"82ae995f838a19347b3e13a8ea4690bd2c7926d39414acc1ec8b5025d7a73132"},"template/mincho/3c472988.woff2":{path:"packages/shared/src/note-image-assets/mincho/3c472988.woff2",bytes:34536,sha256:"57096300a9ec0ea93a17a31e2bd3fa28ffe89351f39464991757b77b69b44cab"},"template/mincho/42ec73d1.woff2":{path:"packages/shared/src/note-image-assets/mincho/42ec73d1.woff2",bytes:292848,sha256:"7a09537540f9d4e390e423436182b6ecad5df1a07734d1f8f2a26d8bfa0a4705"},"template/mincho/48b63d0d.woff2":{path:"packages/shared/src/note-image-assets/mincho/48b63d0d.woff2",bytes:56300,sha256:"4385a9bf8a708accaecc0a39e1a7cc0e0dfec43002a24f06685831b19ebe46a4"},"template/mincho/4ccb7939.woff2":{path:"packages/shared/src/note-image-assets/mincho/4ccb7939.woff2",bytes:292728,sha256:"4bc2d7abb42f2296ac107cf6731360f85823d7a2b76cd804f96ce85c83c149cf"},"template/mincho/5513e1aa.woff2":{path:"packages/shared/src/note-image-assets/mincho/5513e1aa.woff2",bytes:264876,sha256:"bcecba864a35d33a98e765485e00f68f5c12677d7f9a64d8fd083da51edfd8fe"},"template/mincho/5a4bccb9.woff2":{path:"packages/shared/src/note-image-assets/mincho/5a4bccb9.woff2",bytes:267752,sha256:"bb3dd787d2872a740b07489374cce14237e7811a969978f11e438af667d0bff3"},"template/mincho/5a608b11.woff2":{path:"packages/shared/src/note-image-assets/mincho/5a608b11.woff2",bytes:235904,sha256:"2ae8a0034eef58768c3942ca6fb4a14e7d2d68d85a5888a1d1d48333c15f368e"},"template/mincho/5d23163e.woff2":{path:"packages/shared/src/note-image-assets/mincho/5d23163e.woff2",bytes:266784,sha256:"7796cb074f7d734189f0b6f2e9dd8910e4ba3176161569ee9dfbe2cae59f4444"},"template/mincho/624f240b.woff2":{path:"packages/shared/src/note-image-assets/mincho/624f240b.woff2",bytes:270228,sha256:"894a633c357b493e5420295920a1699eb4eb1e47c1e2f7c0788de2d4a6ce3382"},"template/mincho/62a95b91.woff2":{path:"packages/shared/src/note-image-assets/mincho/62a95b91.woff2",bytes:271160,sha256:"bc3692832bc86f3ed5852102ed29b9b3ed3829c89ea050c5cce278e6fb1a2142"},"template/mincho/6501caba.woff2":{path:"packages/shared/src/note-image-assets/mincho/6501caba.woff2",bytes:91500,sha256:"69911b4cf0513bee2dbacde205aa170ecd500f7f05779b61a8da65d676579c50"},"template/mincho/6a1f04cc.woff2":{path:"packages/shared/src/note-image-assets/mincho/6a1f04cc.woff2",bytes:246624,sha256:"730ab609f3ee64754d358b86d1b103d90588defa783dbaddcfdd5df676fcf99d"},"template/mincho/73fa0c45.woff2":{path:"packages/shared/src/note-image-assets/mincho/73fa0c45.woff2",bytes:48152,sha256:"f41d6e6a606575224a0ccfed56f3957eb7638b1d44380cadacdbfc690f9931bf"},"template/mincho/7f8eb8b4.woff2":{path:"packages/shared/src/note-image-assets/mincho/7f8eb8b4.woff2",bytes:298052,sha256:"8842369b55a287c4cfa5720a595715517b8fee0540ade51261a708ae9e34615b"},"template/mincho/830e4d9e.woff2":{path:"packages/shared/src/note-image-assets/mincho/830e4d9e.woff2",bytes:293880,sha256:"283dcca77ced866b09705b1c31ab3c869676343ac4a90e1ebacc7d132fa572dc"},"template/mincho/88c36a6e.woff2":{path:"packages/shared/src/note-image-assets/mincho/88c36a6e.woff2",bytes:275032,sha256:"63975f5782ef53a48b2c9b1c874da46ebf27751343e0ba0ada2a25d0ced162ed"},"template/mincho/90e67073.woff2":{path:"packages/shared/src/note-image-assets/mincho/90e67073.woff2",bytes:262932,sha256:"79a2d22622ab1c1917571e96a3d9a3a615e9786c64c2b342fb1b8036b0ec3264"},"template/mincho/920f4cca.woff2":{path:"packages/shared/src/note-image-assets/mincho/920f4cca.woff2",bytes:263092,sha256:"33b7bb60ea85405c211d5a6f8978e17f8d97941dd03f905f6d44a7213d110509"},"template/mincho/a703591d.woff2":{path:"packages/shared/src/note-image-assets/mincho/a703591d.woff2",bytes:292432,sha256:"517fe3793dacef813bfcf02a2e1a121c72b22d7ef175165cfa3516e080e141fd"},"template/mincho/a9b5b5a2.woff2":{path:"packages/shared/src/note-image-assets/mincho/a9b5b5a2.woff2",bytes:264052,sha256:"a9eda4799d301cc2b4e49ffa2ed0a35e652ba89abc3d95f889f7c540bd4dfd9d"},"template/mincho/b2523abb.woff2":{path:"packages/shared/src/note-image-assets/mincho/b2523abb.woff2",bytes:269020,sha256:"c550a7fe04f37d6949f7f1052d3c28f81830dfc0c6a56e9229a6465787ee00de"},"template/mincho/bbc24ab8.woff2":{path:"packages/shared/src/note-image-assets/mincho/bbc24ab8.woff2",bytes:261416,sha256:"71dfb7b43a7f92ef7b9104255a277fd179a8ba125fd4ca4bf0a5e5b95e13396c"},"template/mincho/c0a40189.woff2":{path:"packages/shared/src/note-image-assets/mincho/c0a40189.woff2",bytes:269556,sha256:"f5d2196ceffb0cfca312f43e9f251e6daaaf2d70dc262fe89074c5b9032f3d9c"},"template/mincho/c27f9909.woff2":{path:"packages/shared/src/note-image-assets/mincho/c27f9909.woff2",bytes:293452,sha256:"54e15b4d480dc82233050c6316cddaa3a37e73de4274b2fd9c8a842ef0f65799"},"template/mincho/c754c613.woff2":{path:"packages/shared/src/note-image-assets/mincho/c754c613.woff2",bytes:261228,sha256:"dce21cfefd5c523efb03ac9b4eeea1744941d90e581630a6599b8a7cfb401a8f"},"template/mincho/d6820235.woff2":{path:"packages/shared/src/note-image-assets/mincho/d6820235.woff2",bytes:206428,sha256:"2c659168a406914f8f915a804fc2d6ab78b21a0c00b989a0180c02be88d2c656"},"template/mincho/e0d8cfc8.woff2":{path:"packages/shared/src/note-image-assets/mincho/e0d8cfc8.woff2",bytes:279268,sha256:"38e296d1236024dffc82e49d3e6d00b3f33a960a7fd8676f86668eacb857024f"},"template/mincho/ecf8047c.woff2":{path:"packages/shared/src/note-image-assets/mincho/ecf8047c.woff2",bytes:256924,sha256:"3d06fd5a93c373a611f9de636cc9ff8273b82efeddb1a5ffc5b6efaab21fc608"},"template/mincho/ed0f0b3c.woff2":{path:"packages/shared/src/note-image-assets/mincho/ed0f0b3c.woff2",bytes:259784,sha256:"b02e414163ed5484480be41eeb8efffc6e86f86645c67054ad78369b9944ccfc"},"template/mincho/ed0f25c7.woff2":{path:"packages/shared/src/note-image-assets/mincho/ed0f25c7.woff2",bytes:208904,sha256:"31a4efb455d9abf2e87d1c9fff0c6d14c4e8c74d35aff82e0a4b3a907be79088"},"template/mincho/f8002d41.woff2":{path:"packages/shared/src/note-image-assets/mincho/f8002d41.woff2",bytes:286044,sha256:"4f31d97bcd9d698d16571d31dba8c01ef99a01613cf398f495cf30d03d960e42"},"template/misans/0b091a88.woff2":{path:"packages/shared/src/note-image-assets/misans/0b091a88.woff2",bytes:307972,sha256:"6de99f9970dee1332e903fc089f50bc5b58dd53596914b595a7365352e109865"},"template/misans/227fd1ab.woff2":{path:"packages/shared/src/note-image-assets/misans/227fd1ab.woff2",bytes:234876,sha256:"0bec70d943212b016e62ea5f98dc8ba0ca5b00ca24b75dbaed54ca9ccd974dcc"},"template/misans/2dda088b.woff2":{path:"packages/shared/src/note-image-assets/misans/2dda088b.woff2",bytes:22120,sha256:"e976835e20c3c2bee9a4bbb101f2ed01409d59a4784d09256c9817193c54e92c"},"template/misans/41a1ce17.woff2":{path:"packages/shared/src/note-image-assets/misans/41a1ce17.woff2",bytes:330808,sha256:"a46392877791ad59b484dc89e0bbce07f0698357ea62d7014c8ba13d24355177"},"template/misans/4b5dd3c7.woff2":{path:"packages/shared/src/note-image-assets/misans/4b5dd3c7.woff2",bytes:347384,sha256:"f75fe144361e1e59e3039d89282fcce5fabfbf8b968c3993a2484ca2823c35b5"},"template/misans/4dd21d3a.woff2":{path:"packages/shared/src/note-image-assets/misans/4dd21d3a.woff2",bytes:302212,sha256:"f418d838136b81d71b1f7ea6b6b8f4a5a22f80ea6f60a6605b4306cf784d0c41"},"template/misans/6defc511.woff2":{path:"packages/shared/src/note-image-assets/misans/6defc511.woff2",bytes:345868,sha256:"a7d3c1f0e3041fea36afd74a33af83dfb3bcd0525e54c795be7a523cec0fedcc"},"template/misans/7639be88.woff2":{path:"packages/shared/src/note-image-assets/misans/7639be88.woff2",bytes:370320,sha256:"ec9a3c43408deacd3c5c8fe3ad282e6f09b0a8c8b51a1abf50cda571931f9998"},"template/misans/7f4db008.woff2":{path:"packages/shared/src/note-image-assets/misans/7f4db008.woff2",bytes:21832,sha256:"b955bb36a224771cc79254c92ded59a1d727278e21754ba355d13e963f13d445"},"template/misans/8609d775.woff2":{path:"packages/shared/src/note-image-assets/misans/8609d775.woff2",bytes:369996,sha256:"d630473d5796790087880348b199b4b510c1e599a1ce76efeb122d5b18a4a7ea"},"template/misans/874104a4.woff2":{path:"packages/shared/src/note-image-assets/misans/874104a4.woff2",bytes:353700,sha256:"2d86a83cecc707c7557e9025086efa5a3591ad177319cd08f250ad0928fd105e"},"template/misans/a70208e3.woff2":{path:"packages/shared/src/note-image-assets/misans/a70208e3.woff2",bytes:364592,sha256:"bd0c589bf13d8ec3a1f425a37996f41f32d7c366bb26086a6380c829c4ca0473"},"template/misans/b3149c79.woff2":{path:"packages/shared/src/note-image-assets/misans/b3149c79.woff2",bytes:332512,sha256:"6447c6edc17c96635f141f28b63af761d8ea67415a786dca80fb6c8ad8bcb7b4"},"template/misans/c2f7cd5e.woff2":{path:"packages/shared/src/note-image-assets/misans/c2f7cd5e.woff2",bytes:338424,sha256:"09862ebc477054935a7220ab24fad672b210b9fa8a991248c14bd9fa75c6625a"},"template/misans/db53347f.woff2":{path:"packages/shared/src/note-image-assets/misans/db53347f.woff2",bytes:384560,sha256:"74aba9db389335379a8053ee40bed68c777714365d93e8052dda6b18bb6ed53b"},"template/misans/eba750fc.woff2":{path:"packages/shared/src/note-image-assets/misans/eba750fc.woff2",bytes:353956,sha256:"65228941ebbeb16a6a5f819098354c1bb57adf924b36939e5664b31e8df625b4"},"template/misans/edbfaf60.woff2":{path:"packages/shared/src/note-image-assets/misans/edbfaf60.woff2",bytes:366936,sha256:"eddf862bc2cbd8bc4a3e7e865b33140080cc82cbc07b741aa540617fcecf2d67"},"template/puhui/06937cd9.woff2":{path:"packages/shared/src/note-image-assets/puhui/06937cd9.woff2",bytes:308140,sha256:"2fff69015ee33aedf8978563c60f3ba50f3728da9c9341bb6a4bc2800e4d1896"},"template/puhui/1be2c28b.woff2":{path:"packages/shared/src/note-image-assets/puhui/1be2c28b.woff2",bytes:31048,sha256:"89ca9b3e7f062ba851c651e054eff69443f396b6af51851b724b530df47726aa"},"template/puhui/562341ba.woff2":{path:"packages/shared/src/note-image-assets/puhui/562341ba.woff2",bytes:342040,sha256:"4ca270be8cd923b6f46bd706aeb7af0681a85a263edaf9ba08fba6692b78ea20"},"template/puhui/668b1bf5.woff2":{path:"packages/shared/src/note-image-assets/puhui/668b1bf5.woff2",bytes:366188,sha256:"f22cc009fec53ae3103177c8aa62337a67876500855a772d5b8577271c002589"},"template/puhui/67a3cdde.woff2":{path:"packages/shared/src/note-image-assets/puhui/67a3cdde.woff2",bytes:133712,sha256:"93cdcb87f8290dda4bce031b3bc271ad7670d8852b7e3e230170326a128852bd"},"template/puhui/6880f229.woff2":{path:"packages/shared/src/note-image-assets/puhui/6880f229.woff2",bytes:323828,sha256:"1b747d6bd8938fe81b7f539c41d4d61e9e886b8eddbc2a14a461e464432382a6"},"template/puhui/69aba650.woff2":{path:"packages/shared/src/note-image-assets/puhui/69aba650.woff2",bytes:357332,sha256:"3556289369d1f7281126ea953ec182bda049213fd6f5cebedf1f2fc5eb647d78"},"template/puhui/71b36260.woff2":{path:"packages/shared/src/note-image-assets/puhui/71b36260.woff2",bytes:341056,sha256:"7bf905ecd9c4959ca6832edde360f7c837b631e5f18dbe33252f08069cbd7659"},"template/puhui/79088b33.woff2":{path:"packages/shared/src/note-image-assets/puhui/79088b33.woff2",bytes:319240,sha256:"55bfa106eb6531fbfd767de44f6e418bfdc12fca488a675f5fa3c53a333c0cdc"},"template/puhui/7efb8990.woff2":{path:"packages/shared/src/note-image-assets/puhui/7efb8990.woff2",bytes:293320,sha256:"3c151cc1f76963d5f89aa545c079621b8fa0486e55e19fa8ec17aaa15fdfce45"},"template/puhui/83ea2cba.woff2":{path:"packages/shared/src/note-image-assets/puhui/83ea2cba.woff2",bytes:337728,sha256:"dd70eb040d57cbd5c95333297cf3b0c467cac2e700ad2001d91e3b02453e8def"},"template/puhui/b04d2f05.woff2":{path:"packages/shared/src/note-image-assets/puhui/b04d2f05.woff2",bytes:314388,sha256:"f31f6359a3de19d552307e88d05732d457b90ea4796c09180c6b1a1f20815d30"},"template/puhui/b50d627f.woff2":{path:"packages/shared/src/note-image-assets/puhui/b50d627f.woff2",bytes:338724,sha256:"c302dd3890e83218b9c45799375e418b0642516f080187185ecc7b5d5fa3fcdb"},"template/puhui/dcb1ff4a.woff2":{path:"packages/shared/src/note-image-assets/puhui/dcb1ff4a.woff2",bytes:355828,sha256:"7c3f25e4fb8b4dc8ece0d13cc14eb70ecc29ccd61c9559f0b36167459fd33072"},"template/puhui/e084fc75.woff2":{path:"packages/shared/src/note-image-assets/puhui/e084fc75.woff2",bytes:298720,sha256:"5e60b7a28f07f09769e0b049e3fe16d667c7e4aa43303e9cd9bce66c8d63e5c9"},"template/puhui/e16b3f49.woff2":{path:"packages/shared/src/note-image-assets/puhui/e16b3f49.woff2",bytes:387516,sha256:"fc91b720478cfb835c0753555cacca35e58411064855922c7c85792dc7e8bac4"},"template/puhui/e776ebdb.woff2":{path:"packages/shared/src/note-image-assets/puhui/e776ebdb.woff2",bytes:352956,sha256:"3727d04e17cfc205c6ce288f6196bb6aeb68a08614e3c3524adee93f86dce59c"},"template/puhui/f1da1a83.woff2":{path:"packages/shared/src/note-image-assets/puhui/f1da1a83.woff2",bytes:105936,sha256:"cf976fd7f1472d66f0dd6d5ef4a9d7a731d6d9e85c975cfaf9792c790ae256f3"},"template/puhui/f692aa37.woff2":{path:"packages/shared/src/note-image-assets/puhui/f692aa37.woff2",bytes:312664,sha256:"4920744b9c91906b3c46ed4d0f3be43de502d7116ca9b62ff047aa43a345bc66"},"template/song/0102836d.woff2":{path:"packages/shared/src/note-image-assets/song/0102836d.woff2",bytes:329428,sha256:"1e5991a5d5ff5b06635fcc7965d2a1c5bcdb70e1ed23c28da592576600d3b7e0"},"template/song/02ee1677.woff2":{path:"packages/shared/src/note-image-assets/song/02ee1677.woff2",bytes:298712,sha256:"2a2f2c699363ab7a4a3dc9e00102b504fddd954ec494081b532bdce96b7d0b13"},"template/song/16680299.woff2":{path:"packages/shared/src/note-image-assets/song/16680299.woff2",bytes:299412,sha256:"36afa22b43e191068afa7a7d0b91955533264d353260cad2e771525ed3254540"},"template/song/17d9b0c9.woff2":{path:"packages/shared/src/note-image-assets/song/17d9b0c9.woff2",bytes:338160,sha256:"d6b3821e49bdfd51b40c566c7e87c500240c4767e40bedea6386f5c1787b2a63"},"template/song/19d3f828.woff2":{path:"packages/shared/src/note-image-assets/song/19d3f828.woff2",bytes:299824,sha256:"dd5558755ac0dbf9904ecfb7c56d6275ddd730f05fb770ef23a9c415d0f19074"},"template/song/20740682.woff2":{path:"packages/shared/src/note-image-assets/song/20740682.woff2",bytes:297744,sha256:"1f51813767105088987b993b8c4459d5508497406fee96d9a0d40d99ddcebbe3"},"template/song/26e008cd.woff2":{path:"packages/shared/src/note-image-assets/song/26e008cd.woff2",bytes:289996,sha256:"412541791c077612abe2acc202506f6c571833f39d37545a00de5a423aa882d1"},"template/song/301b7546.woff2":{path:"packages/shared/src/note-image-assets/song/301b7546.woff2",bytes:334828,sha256:"eb7a3a8a8dde94e52830e0a9e7a174eb014a7fb050c7722fdcdd4542bbab6335"},"template/song/3573d10a.woff2":{path:"packages/shared/src/note-image-assets/song/3573d10a.woff2",bytes:304096,sha256:"0eecbb2f68228b4143b16a15610bda594242c57a2fdadad775d1b0d19386fe74"},"template/song/387e99e8.woff2":{path:"packages/shared/src/note-image-assets/song/387e99e8.woff2",bytes:295924,sha256:"f66d4b5a6d2d33183b20e6835ba38b60c0b3afd21a5fd4266792607373d075d6"},"template/song/43f1e8f0.woff2":{path:"packages/shared/src/note-image-assets/song/43f1e8f0.woff2",bytes:334600,sha256:"1386432983643f615c90c8d1686ff9579ffc31aab727bdc0a381ea4282051947"},"template/song/5201e37a.woff2":{path:"packages/shared/src/note-image-assets/song/5201e37a.woff2",bytes:74736,sha256:"b1d3c39a373c6ecf2ba40d5a8e1731b7ec26033b948173b0d51bf28cf34a0e3b"},"template/song/56f1aec8.woff2":{path:"packages/shared/src/note-image-assets/song/56f1aec8.woff2",bytes:307616,sha256:"bfd97da078b84812b7fc47f5f622432ea72c69c776c2d7b46d04194c64dec7e1"},"template/song/584f6234.woff2":{path:"packages/shared/src/note-image-assets/song/584f6234.woff2",bytes:339704,sha256:"f3bccbc87dfc34f43824e1726d421cc8169e8e85b8e68ea2610b4cc9372fc845"},"template/song/62b5cc7e.woff2":{path:"packages/shared/src/note-image-assets/song/62b5cc7e.woff2",bytes:311384,sha256:"fd20ed8232f936820b05610e34fc92ea640292bbb2319b9319d70c0eab9472d1"},"template/song/67621f47.woff2":{path:"packages/shared/src/note-image-assets/song/67621f47.woff2",bytes:320476,sha256:"543f1710bc56e1b1068777f4765ccedc21b2b34944f3d11eaa5e0669bff9f5bc"},"template/song/689dad6f.woff2":{path:"packages/shared/src/note-image-assets/song/689dad6f.woff2",bytes:334564,sha256:"deeb2803c133f256734f61ee9cafd380bb64ed3f1fbb003019ae1c09b5750a75"},"template/song/6dd16229.woff2":{path:"packages/shared/src/note-image-assets/song/6dd16229.woff2",bytes:301156,sha256:"088c078413ef0170dd322c4a85c8bde9f68483749b82f163bbce9fb83d3af01d"},"template/song/7ce74f0c.woff2":{path:"packages/shared/src/note-image-assets/song/7ce74f0c.woff2",bytes:415800,sha256:"5ea1604f7f39c3e2dca7e53493bb83e7c30079127fededabfba0da67858813b4"},"template/song/8c02979a.woff2":{path:"packages/shared/src/note-image-assets/song/8c02979a.woff2",bytes:169032,sha256:"7e9feeff1763c41cd97ba27d7164f87dc817287c19a2d0a69e04f245346d43c6"},"template/song/96c7a439.woff2":{path:"packages/shared/src/note-image-assets/song/96c7a439.woff2",bytes:319636,sha256:"f9845119e422438042bbe5482c9c87fda0fd7ed59cd33e7684c1829fb9a2e4ff"},"template/song/9bc91d93.woff2":{path:"packages/shared/src/note-image-assets/song/9bc91d93.woff2",bytes:297568,sha256:"9381869bff98f9532e69f40a8e435c8ea4d203838fe9274e9bd44ccef4094121"},"template/song/9e217aaa.woff2":{path:"packages/shared/src/note-image-assets/song/9e217aaa.woff2",bytes:313956,sha256:"fa876fea84e0122e56feac81f3f55bb4357c631b7ccadb98d80eb6e3556e8665"},"template/song/a2d2ee87.woff2":{path:"packages/shared/src/note-image-assets/song/a2d2ee87.woff2",bytes:331468,sha256:"95ddbbc879597cf85d9387069e44e021f4438a659dd15fd6050798bade0b056a"},"template/song/bb0a13c3.woff2":{path:"packages/shared/src/note-image-assets/song/bb0a13c3.woff2",bytes:302940,sha256:"f7ca34d0bfb8f03fda323a18e8715269044d6727db8c8a4c7e1d53cc2b392ac2"},"template/song/bc7cfa5c.woff2":{path:"packages/shared/src/note-image-assets/song/bc7cfa5c.woff2",bytes:287116,sha256:"803f8cf7e9dfd716e5d2429b6bfb2c2607af7123bb08ca74e9626b35a4db9bcd"},"template/song/bf4f0cec.woff2":{path:"packages/shared/src/note-image-assets/song/bf4f0cec.woff2",bytes:333660,sha256:"264529bc6bd7fc2879ea04598afe71b9b4506a4fb83d14d7ba90d3d161f82cec"},"template/song/c2062f2d.woff2":{path:"packages/shared/src/note-image-assets/song/c2062f2d.woff2",bytes:322500,sha256:"929031e8d1ede9f70b7fa46e164806fba8a91115df4a4199e831a4df1403c9ad"},"template/song/cdac0154.woff2":{path:"packages/shared/src/note-image-assets/song/cdac0154.woff2",bytes:57752,sha256:"a58aa4c6b3c533f6f3305c6f7318c8dd97eea4a0f93ae8be1d8d7b815ad10bb4"},"template/song/d1ab5ca3.woff2":{path:"packages/shared/src/note-image-assets/song/d1ab5ca3.woff2",bytes:280944,sha256:"97ed40e249878f4dfd839ccb57f01b6ba418c4d0015a4b6a1046bd103e2ac750"},"template/song/d6b5c292.woff2":{path:"packages/shared/src/note-image-assets/song/d6b5c292.woff2",bytes:331740,sha256:"1fc13c1bb376f2e2329d37398c21ca99b36c25f67d93853cbd4e5c7f8733edf6"},"template/song/dd2bb5c1.woff2":{path:"packages/shared/src/note-image-assets/song/dd2bb5c1.woff2",bytes:285448,sha256:"443dbd9d6f748f32e3ebf53e9d7f706f4dbc447373c822daa5031a0730ac0dc6"},"template/song/e378c475.woff2":{path:"packages/shared/src/note-image-assets/song/e378c475.woff2",bytes:337360,sha256:"93195a43d5fe08bcc6c8e23f345a878838cd6a260c53b2a3cdf0bff97085aa0f"},"template/song/f2e6ea1a.woff2":{path:"packages/shared/src/note-image-assets/song/f2e6ea1a.woff2",bytes:325196,sha256:"0cd62341785b901c3fc6f04258d7225dc65eca89ab302ef65ee789febf19a4e3"},"template/song/f68c886a.woff2":{path:"packages/shared/src/note-image-assets/song/f68c886a.woff2",bytes:318256,sha256:"a84283d7e22c6ddc2eda0adb9b4a7261a1d3f62595cb885f1a275dccccdfe0f8"},"body/fangsong.woff2":{path:"apps/web/src/assets/fonts/editor-body/fangsong.woff2",bytes:3195228,sha256:"7f794df89ea2eff68f930d7ec9d9cd9df380f5fee9b2b37d8bad45523a9413fa"},"body/hei.woff2":{path:"apps/web/src/assets/fonts/editor-body/hei.woff2",bytes:1366936,sha256:"91e3195f9924e0068a30c6e53ed906f8fb9f085015dbe4430a8b894dba175221"},"body/kai-screen.woff2":{path:"apps/web/src/assets/fonts/editor-body/kai-screen.woff2",bytes:2229056,sha256:"715e7bb05e675ae2144635cc686c52048e0a5ba918023ffa16088ef8a72d2154"},"body/kai.woff2":{path:"apps/web/src/assets/fonts/editor-body/kai.woff2",bytes:1880660,sha256:"f0f3f391baf821bea766427e5212bb43e12690b55faa1e21fd877f1cf8d1f01c"},"body/song.woff2":{path:"apps/web/src/assets/fonts/editor-body/song.woff2",bytes:1728396,sha256:"a868dc9ceba86b96dd8459052411413b4645adff6842305dd2d804dae50e3cf8"},"body/source-serif-4-regular.woff2":{path:"apps/web/src/assets/fonts/editor-body/source-serif-4-regular.woff2",bytes:76260,sha256:"6b053e98f0838afe81f3e784727be4583a7c13bb42f198dc5202ecffee0aaee0"},"body/zhi-song.woff2":{path:"apps/web/src/assets/fonts/editor-body/zhi-song.woff2",bytes:1491752,sha256:"864680d8db65d34b782c28e0d2af6a41b2b29d5e40033c5e3db863c6bcf765a6"}},EJe=t=>{const e=cbe[t];if(!e)throw new Error("NOTE_IMAGE_FONT_UNAVAILABLE");return lbe+e.path},AJe=new Map(Object.values(cbe).map(t=>[lbe+t.path,t])),ube=t=>AJe.get(t),Td={smiley:{zh:"得意黑",en:"Smiley Sans",posterFamily:"得意黑",labelKey:"editor.imageShare.fontStyles.smiley",family:"EdgeEver Share Smiley",path:"@chinese-fonts/dyh@3.0.0/dist/SmileySans-Oblique/result.css"},wenkai:{zh:"霞鹜文楷",en:"LXGW WenKai",posterFamily:"霞鹜文楷",labelKey:"editor.imageShare.fontStyles.wenkai",family:"EdgeEver Share WenKai",path:"@chinese-fonts/lxgwwenkai@3.0.0/dist/LXGWWenKai-Regular/result.css"},zhuque:{zh:"朱雀仿宋",en:"Zhuque Fangsong",posterFamily:"朱雀仿宋",labelKey:"editor.imageShare.fontStyles.zhuque",family:"EdgeEver Share Zhuque",path:"@chinese-fonts/zqfs@3.0.0/dist/ZhuqueFangsong-Regular/result.css"},heavy:{zh:"思源黑体 Heavy",en:"Noto Sans SC Heavy",posterFamily:"思源黑体 Heavy",labelKey:"editor.imageShare.fontStyles.heavy",family:"EdgeEver Share Noto Heavy",path:"@fontsource/noto-sans-sc@5.3.1/900.css"},puhui:{zh:"普惠体",en:"PuHuiTi",posterFamily:"阿里巴巴普惠体",labelKey:"editor.imageShare.fontStyles.puhui",family:"EdgeEver Share Puhui",path:"@fontpkg/alibaba-pu-hui-ti-3-0@3.1.2/AlibabaPuHuiTi-3-55-Regular.ttf",weight:"400",bytes:8532824,sha256:"be33bc8d45ced30fa5c542f6f056565baf85003d4e079522110d76016f8a04e2"},"puhui-heavy":{zh:"普惠体 Heavy",en:"PuHuiTi Heavy",posterFamily:"阿里巴巴普惠体 Heavy",labelKey:"editor.imageShare.fontStyles.puhuiHeavy",family:"EdgeEver Share Puhui Heavy",path:"@fontpkg/alibaba-pu-hui-ti-3-0@3.1.2/AlibabaPuHuiTi-3-105-Heavy.ttf",weight:"900",bytes:2536300,sha256:"94cbb24e451a68b44d932d343579fb31571c743df2cfcd144ba60e0a9aa86e64"},youshe:{zh:"优设标题黑",en:"YouShe Title",posterFamily:"优设标题黑",labelKey:"editor.imageShare.fontStyles.youshe",family:"EdgeEver Share Youshe",path:"@fontpkg/you-she-biao-ti-hei@1.0.0/%E4%BC%98%E8%AE%BE%E6%A0%87%E9%A2%98%E9%BB%91.ttf",weight:"400",bytes:1414784,sha256:"dab883d69fb713233ea5d9aff8d1f27ccc2b71e249143edf6ea08367784c5dba"},shuhei:{zh:"阿里妈妈数黑体",en:"Alimama ShuHei",posterFamily:"阿里妈妈数黑体",labelKey:"editor.imageShare.fontStyles.shuhei",family:"EdgeEver Share Shuhei",path:"@fontpkg/alimama-shu-hei-ti@1.0.5/AlimamaShuHeiTi-Bold.ttf",weight:"700",bytes:1360708,sha256:"3ef4ec3f5bac4b71cdee9190aabd5b20995016a59ffee60de87c9a204ac2a684"},"source-han-serif":{zh:"思源宋体",en:"Noto Serif SC",posterFamily:"思源宋体",labelKey:"editor.imageShare.fontStyles.source-han-serif",family:"EdgeEver Share Noto Serif SC",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/notoserif.woff2",weight:"400",bytes:1662732,sha256:"de134adb512429992d47096d5e5d94d0488d3890f4e9a592aaabcf4fc6fb3355"},anton:{zh:"Anton",en:"Anton",posterFamily:"Anton",labelKey:"editor.imageShare.fontStyles.anton",family:"EdgeEver Share Anton",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/anton.woff2",weight:"400",bytes:19460,sha256:"5aa51ca1a8d65846f52724d0e3c6f728347f19df1f4ee88acde613ef403f50c1"},douyin:{zh:"抖音美好体",en:"Douyin Sans",posterFamily:"抖音美好体",labelKey:"editor.imageShare.fontStyles.douyin",family:"EdgeEver Share Douyin Sans",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/douyin.ttf",weight:"400",bytes:1919404,sha256:"fbecfacdfac33982774e301073a8d357a09c698cd3134bb6ddec0f5bfc268fa1"},mashan:{zh:"马善政楷书",en:"Ma Shan Zheng",posterFamily:"马善政楷书",labelKey:"editor.imageShare.fontStyles.mashan",family:"EdgeEver Share Ma Shan Zheng",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/mashan.woff2",weight:"400",bytes:3233640,sha256:"9bb3130d1b7e752e1df902891a41c7aeb5b94697951acf54eec60b954d7a1cb2"},jiangcheng:{zh:"江城圆体",en:"Jiangcheng Rounded",posterFamily:"江城圆体",labelKey:"editor.imageShare.fontStyles.jiangcheng",family:"EdgeEver Share Jiangcheng Rounded",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/jiangcheng.woff2",weight:"400",bytes:1565164,sha256:"0be9728fe58f3c69ad93a2a952ab0e78089873f06ebe80110b67664ffa22cbdc"},huangyou:{zh:"站酷庆科黄油体",en:"ZCOOL QingKe HuangYou",posterFamily:"站酷庆科黄油体",labelKey:"editor.imageShare.fontStyles.huangyou",family:"EdgeEver Share ZCOOL QingKe HuangYou",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/huangyou.woff2",weight:"400",bytes:1742972,sha256:"a15d7e72cd7ad20b67ecf6adf46d08bab5764ea700ec8fae7cc29055e9cb9fbc"},glow:{zh:"未来荧黑",en:"Glow Sans",posterFamily:"未来荧黑",labelKey:"editor.imageShare.fontStyles.glow",family:"EdgeEver Share Glow Sans",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/glow.woff2",weight:"900",bytes:1826500,sha256:"c12d4668a33019c757a9ec2c6d7fc43629189a8d5e8636d9bb38c3936020684c"},kuaile:{zh:"站酷快乐体",en:"ZCOOL KuaiLe",posterFamily:"站酷快乐体",labelKey:"editor.imageShare.fontStyles.kuaile",family:"EdgeEver Share ZCOOL KuaiLe",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/kuaile.woff2",weight:"400",bytes:855692,sha256:"19d11b1154b2e5f37371d7be9640dbae97d06fbf2331cb5fc257ae5f813ea5e8"},"source-han-sans":{zh:"思源黑体",en:"Noto Sans SC",posterFamily:"思源黑体",labelKey:"editor.imageShare.fontStyles.source-han-sans",family:"EdgeEver Share Noto Sans SC",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/notosans.woff2",weight:"400",bytes:1263476,sha256:"3ca125c45785eab24bdcd4d4039431479fef196c3aa9913fed4b0f255336101f"},"source-han-serif-heavy":{zh:"思源宋体 Heavy",en:"Noto Serif SC Heavy",posterFamily:"思源宋体 Heavy",labelKey:"editor.imageShare.fontStyles.source-han-serif-heavy",family:"EdgeEver Share Noto Serif SC Heavy",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/notoserif-heavy.woff2",weight:"900",bytes:1580648,sha256:"729c42f795041ba47f794be1729e6d515b51f73d9baf2085c5b0941e30e6bfb3"},inter:{zh:"Inter",en:"Inter",posterFamily:"Inter",labelKey:"editor.imageShare.fontStyles.inter",family:"EdgeEver Share Inter",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/inter.woff2",weight:"400",bytes:24980,sha256:"47084ea0d235fbca0b0c5ec663969a906daaeb667fd5f191007ec5c80b62ed5c"},dmserif:{zh:"DM Serif Display",en:"DM Serif Display",posterFamily:"DM Serif Display",labelKey:"editor.imageShare.fontStyles.dmserif",family:"EdgeEver Share DM Serif Display",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/dmserif.woff2",weight:"400",bytes:27692,sha256:"c0652f22903b1a547ad50495aa3f5314e4f666e34921e9e953e3f545fdde14ba"},bebas:{zh:"Bebas Neue",en:"Bebas Neue",posterFamily:"Bebas Neue",labelKey:"editor.imageShare.fontStyles.bebas",family:"EdgeEver Share Bebas Neue",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/bebas.woff2",weight:"400",bytes:15428,sha256:"83baf2705cd75f7047e8d11dc9aceeb4ee50407a72f1981937b0b909227b1e68"},spacegrotesk:{zh:"Space Grotesk",en:"Space Grotesk",posterFamily:"Space Grotesk",labelKey:"editor.imageShare.fontStyles.spacegrotesk",family:"EdgeEver Share Space Grotesk",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/spacegrotesk.woff2",weight:"400",bytes:15600,sha256:"8c3d72df71f151bd549c89d78b146858c25e4d16d3a3bfe79bf93bf37ee2c9ae"},jetbrains:{zh:"JetBrains Mono",en:"JetBrains Mono",posterFamily:"JetBrains Mono",labelKey:"editor.imageShare.fontStyles.jetbrains",family:"EdgeEver Share JetBrains Mono",path:"gh/tianma-if/edgeever@0da78f6ce8a4643b2dfb7afe9f7a5101472c4ffb/apps/web/public/poster-fonts/jetbrains.woff2",weight:"400",bytes:22516,sha256:"1d5b5738120473ecb0d758290426d6d4b59873b7f3d4608541989cd0ab5452e3"}},MJe=t=>Object.hasOwn(Td,t),IC=Object.keys(Td),RJe=t=>`"${Td[t].family}", "${abe}", system-ui, sans-serif`,IJe=Object.fromEntries(IC.map(t=>[t,RJe(t)])),kx=["https://cdn.jsdelivr.net/npm/","https://unpkg.com/"],LJe=(t,e)=>{var o,l,u;const{path:r,family:n}=Td[e],i=new URL(r,kx[0]),a=i.href.slice(0,i.href.lastIndexOf("/")+1),s=[];for(const d of t.replace(/\/\*[\s\S]*?\*\//g,"").matchAll(/@font-face\s*\{([^}]+)\}/g)){const h=d[1],f=(o=/url\(\s*["']?([^\s"')]+\.woff2)["']?\s*\)/i.exec(h))==null?void 0:o[1],p=(l=/unicode-range\s*:\s*([^;]+)/i.exec(h))==null?void 0:l[1].trim(),g=(u=/font-weight\s*:\s*(\d+(?:\s+\d+)?)/i.exec(h))==null?void 0:u[1];if(!f||!p||!g||!/^U\+[\da-f?]+(?:-[\da-f]+)?(?:\s*,\s*U\+[\da-f?]+(?:-[\da-f]+)?)*$/i.test(p))continue;const m=new URL(f,i);!m.href.startsWith(a)||m.search||m.hash||s.push({asset:m.href,family:n,range:p,weight:g})}if(!s.length)throw new Error("NOTE_IMAGE_FONT_UNAVAILABLE");return s},NJe=t=>{if(t.startsWith("https://cdn.jsdelivr.net/gh/")){if(!ube(t)&&!IC.some(e=>vO(e)===t))throw new Error("NOTE_IMAGE_FONT_UNAVAILABLE");return[t,t.replace("https://cdn.jsdelivr.net/gh/","https://raw.githubusercontent.com/").replace("@","/")]}if(!t.startsWith(kx[0]))throw new Error("NOTE_IMAGE_FONT_UNAVAILABLE");return kx.map(e=>e+t.slice(kx[0].length))},vO=t=>{const e=Td[t].path;return e.startsWith("gh/")?`https://cdn.jsdelivr.net/${e}`:kx[0]+e},OJe=t=>{const e=Td[t];return"weight"in e?{asset:vO(t),family:e.family,weight:e.weight,range:"U+0-10FFFF"}:void 0},DJe=t=>ube(t)??IC.map(e=>({...Td[e],url:vO(e)})).find(e=>"bytes"in e&&e.url===t),PJe=25,_Je=100,BJe=[{id:"small",width:35,labelKey:"editor.imageSizeSmall"},{id:"medium",width:50,labelKey:"editor.imageSizeMedium"},{id:"large",width:72,labelKey:"editor.imageSizeLarge"},{id:"full",width:100,labelKey:"editor.imageSizeFull"}],zse=BJe[1].width,$Je=640,FJe=`
@media screen and (max-width: ${$Je}px) {
:is(.edgeever-image-node, .edgeever-image-upload-result, .edgeever-image-upload-placeholder, .ProseMirror img[data-width]):not(.edgeever-image-card *) {
width: 100% !important;
max-width: 100% !important;
}
}
`,zJe=()=>{if(typeof document>"u"||document.head.querySelector("style[data-edgeever-phone-image-fill]"))return;const t=document.createElement("style");t.dataset.edgeeverPhoneImageFill="true",t.textContent=FJe,document.head.appendChild(t)},Hse=t=>Math.min(_Je,Math.max(PJe,Math.round(t))),gZ=t=>{if(typeof t=="number"&&Number.isFinite(t))return Hse(t);if(typeof t!="string")return null;const e=/(\d+(?:\.\d+)?)/.exec(t);return e?Hse(Number(e[1])):null},HJe=t=>{t.querySelectorAll("button, .edgeever-image-controls, .edgeever-code-copy-button, .edgeever-image-size-controls, .edgeever-native-gallery-toolbar, .column-resize-handle").forEach(r=>r.remove()),t.querySelectorAll(".edgeever-native-gallery-content").forEach(r=>r.replaceWith(...Array.from(r.childNodes)));const e=r=>{for(const n of["width","min-width","max-width","height","min-height","max-height","overflow","overflow-x","overflow-y"])r.style.removeProperty(n)};t.querySelectorAll(".tableWrapper, .edgeever-image-node, [data-edgeever-image-gallery], .edgeever-code-block, .edgeever-code-source").forEach(r=>{const n=r.matches(".edgeever-image-node")&&!r.closest("[data-edgeever-image-gallery]")?gZ(r.getAttribute("data-width")??r.style.width):null;e(r),n!==null&&(r.style.width=`${n}%`)}),t.querySelectorAll("img").forEach(r=>{var i;const n=(i=(r.style.width||r.style.maxWidth).match(/^(\d+(?:\.\d+)?)%$/))==null?void 0:i[1];e(r),r.removeAttribute("width"),r.removeAttribute("height"),r.style.setProperty("max-width",n?`${Math.min(100,Math.max(1,Number(n)))}%`:"100%","important")}),t.querySelectorAll("table").forEach(r=>{e(r),r.removeAttribute("width"),r.querySelectorAll("colgroup, col").forEach(o=>o.remove());const n=Array.from(r.querySelectorAll("tr")).filter(o=>o.closest("table")===r),i=n.map(o=>Array.from(o.children).filter(l=>/^(TH|TD)$/.test(l.tagName)));for(const o of i)for(const l of o)e(l),l.removeAttribute("width"),l.removeAttribute("colwidth");if(r.hasAttribute("data-edgeever-export-table"))return;const a=i[0];if(!a||a.length<=4||!a.every(o=>{var l;return o.tagName==="TH"&&((l=o.textContent)==null?void 0:l.trim())})||i.length<2||!i.every(o=>o.length===a.length&&o.every(l=>Number(l.getAttribute("colspan")||1)===1&&Number(l.getAttribute("rowspan")||1)===1)))return;const s=a.map(o=>o.textContent.trim());r.setAttribute("data-edgeever-export-table","stacked"),n[0].setAttribute("data-edgeever-export-header","true");for(const o of i.slice(1))o.forEach((l,u)=>{const d=t.ownerDocument.createElement("span");d.className="edgeever-table-label",d.textContent=s[u];const h=t.ownerDocument.createElement("div");for(h.className="edgeever-table-value";l.firstChild;)h.appendChild(l.firstChild);l.appendChild(d),l.appendChild(h)})})},VJe=["glass","quote","book","memo","bento","black-sun","frame","handwritten","code"],kV={compact:560,standard:680,wide:800},GJe=(t,e)=>{if(!Number.isFinite(t)||!Number.isFinite(e)||t<=0||e<=0)throw new Error("Invalid note image dimensions");const r=Math.min(1,15e3/e);if(r<.5)throw new Error("NOTE_IMAGE_TOO_LONG");const n=Math.max(1,Math.floor(t*r)),i=Math.max(1,Math.floor(e*r));return{pixelRatio:Math.min(2,15e3/i,Math.sqrt(12e6/(n*i))),sourceHeight:i,sourceScale:r,sourceWidth:n}},gR={paper:"handwritten",press:"book",highlight:"memo",slate:"frame",aurora:"glass",gradient:"glass",sunset:"glass",midnight:"black-sun",editorial:"frame",terminal:"code",film:"book",mint:"quote",lavender:"glass",warm:"glass",notepad:"memo",xuan:"handwritten",polaroid:"frame"},LC=(t,e)=>{for(const r of[e,t])if(r){if(VJe.includes(r))return r;if(Object.hasOwn(gR,r))return gR[r]}return"glass"},Cf=t=>{const e=t.isDark?"rgba(255,255,255,0.14)":"rgba(0,0,0,0.12)",r=t.isDark?"rgba(255,255,255,0.06)":"rgba(0,0,0,0.035)";return{cardBorder:"none",cardShadow:"none",headingColor:t.textColor,metaColor:t.isDark?"#999ba3":"#737373",metaBg:r,metaBorder:e,accentColor:t.textColor,accentSubtle:e,linkBg:"transparent",dividerColor:e,codeBg:r,codeBorder:e,codeColor:t.textColor,quoteBg:"transparent",quoteBorder:e,tableThBg:r,tableBorder:e,brandText:t.textColor,brandMark:t.textColor,...t}},Vse={glass:Cf({canvasBg:"linear-gradient(45deg, #5797f9, #6cd5c4)",cardBg:"rgba(255,255,255,0.7)",textColor:"#000000",cardShadow:"0 5px 10px rgba(99,99,99,0.2), 0 15px 15px rgba(99,99,99,0.2)"}),quote:Cf({canvasBg:"#ffffff",cardBg:"transparent",textColor:"#0a7c07",metaColor:"#497447",accentColor:"#0a7c07"}),book:Cf({canvasBg:"#f8f3e8",cardBg:"transparent",textColor:"#302b24",metaColor:"#786c5c",accentColor:"#66513a"}),memo:Cf({canvasBg:"#ffffff",cardBg:"#ffffff",textColor:"#353535",metaColor:"#737377",accentColor:"#e5ae00"}),bento:Cf({canvasBg:"linear-gradient(45deg, #5797f9, #6cd5c4)",cardBg:"#f5f4f7",textColor:"#000000",headingColor:"#5797f9",cardShadow:"0 6px 18px rgba(0,0,0,0.15), 0 21px 68px rgba(0,0,0,0.1)"}),"black-sun":Cf({canvasBg:"#101010",cardBg:"#020410",textColor:"#ffffff",metaColor:"#9392a4",cardBorder:"1px solid #777681",cardShadow:"0 0 22px rgba(216,213,255,0.65)",isDark:!0}),frame:Cf({canvasBg:"#ffffff",cardBg:"#ffffff",textColor:"#000000",cardBorder:"2px solid #000000",cardShadow:"7px 7px 0 #000000"}),handwritten:Cf({canvasBg:"#e3dfd4",cardBg:"transparent",textColor:"#000000",metaColor:"#000000",accentColor:"#000000"}),code:Cf({canvasBg:"linear-gradient(45deg, #5797f9, #6cd5c4)",cardBg:"#151718",textColor:"#d4d4d4",headingColor:"#f1f1f1",metaColor:"#949898",codeBg:"#151718",isDark:!0})},EV={...Vse,...Object.fromEntries(Object.entries(gR).map(([t,e])=>[t,Vse[e]]))},Gse={glass:"#5797f9",quote:"#ffffff",book:"#f8f3e8",memo:"#ffffff",bento:"#5797f9","black-sun":"#101010",frame:"#ffffff",handwritten:"#e3dfd4",code:"#5797f9"},WJe={...Gse,...Object.fromEntries(Object.entries(gR).map(([t,e])=>[t,Gse[e]]))},Q2={sans:'"EdgeEver Offline Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif',serif:'Georgia, "Nimbus Roman No9 L", "Songti SC", "Noto Serif SC", "Source Han Serif SC", "Source Han Serif CN", "STSong", "AR PL New Sung", "SimSun", "Hiragino Mincho ProN", "EdgeEver Offline Sans", serif',mono:'"Geist Mono Variable", "JetBrains Mono", "SF Mono", "Fira Code", "Cascadia Code", Menlo, Monaco, Consolas, "Liberation Mono", monospace',kai:'"LXGW WenKai", "霞鹜文楷", "Kaiti SC", "STKaiti", "KaiTi", "KaiTi_GB2312", "BiauKai", "楷体", "STFangsong", "FangSong", "EdgeEver Offline Sans", serif',...IJe},Wse={puhui:{labelKey:"editor.imageShare.templateFonts.puhui",family:"Alibaba-PuHuiTi-Regular",fallback:"sans"},misans:{labelKey:"editor.imageShare.templateFonts.misans",family:"MiSans",fallback:"sans"},mincho:{labelKey:"editor.imageShare.templateFonts.mincho",family:"Huiwen_mingchao",fallback:"serif"},song:{labelKey:"editor.imageShare.templateFonts.song",family:"SourceHanSerifCN_SemiBold",fallback:"serif"},longcang:{labelKey:"editor.imageShare.templateFonts.longcang",family:"Long Cang",fallback:"kai"},geist:{labelKey:"editor.imageShare.templateFonts.geist",family:"Geist Mono Variable",fallback:"mono"}},dbe={glass:{body:["misans"],heading:["mincho"],headingWeight:400},quote:{body:["mincho"],heading:["mincho"],headingWeight:700},book:{body:["song"],heading:["song"],headingWeight:700},memo:{body:["misans"],heading:["misans"],headingWeight:700},bento:{body:["misans"],heading:["song"],headingWeight:600},"black-sun":{body:["geist","misans"],heading:["geist","misans"],headingWeight:700},frame:{body:["song"],heading:["song"],headingWeight:600},handwritten:{body:["longcang"],heading:["longcang"],headingWeight:400},code:{body:["geist"],heading:["geist"],headingWeight:700}},qse=t=>[...t.map(e=>`"${Wse[e].family}"`),Q2[Wse[t[0]].fallback]].join(", "),qJe=(t,e="auto")=>{const r=LC(void 0,t),n=dbe[r];return{bodyFamily:e==="auto"?qse(n.body):Q2[e],headingFamily:e==="auto"?qse(n.heading):Q2[e],headingWeight:e==="auto"?n.headingWeight:r==="handwritten"?400:700,lineHeightAdjustment:0}},jse={sm:{base:"14.4px",lineHeight:"1.8",title:"18.4px",h1:"19px",h2:"17px",h3:"16px",h4:"15px",h5:"14.4px",h6:"14.4px",meta:"11.5px",code:"12px"},md:{base:"16px",lineHeight:"1.8",title:"20.4px",h1:"21px",h2:"19px",h3:"18px",h4:"17px",h5:"16px",h6:"16px",meta:"12.7px",code:"13.5px"},lg:{base:"17.6px",lineHeight:"1.8",title:"22.4px",h1:"23px",h2:"21px",h3:"19px",h4:"18px",h5:"17.6px",h6:"17.6px",meta:"14px",code:"15px"}},jJe=/^(con|prn|aux|nul|com[1-9]|lpt[1-9])(?:\.|$)/i,YJe=(t,e)=>{const n=t.replace(/[\u0000-\u001f<>:"/\\|?*]/g,"-").replace(/\s+/g," ").replace(/[. ]+$/g,"").trim().slice(0,100)||e;return jJe.test(n)?`_${n}`:n},ly=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;"),XJe=t=>{const e=t.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim(),r=(e.match(/[\u4e00-\u9fa5\u3040-\u30ff\uac00-\ud7af]/g)||[]).length,n=e.replace(/[\u4e00-\u9fa5\u3040-\u30ff\uac00-\ud7af]/g," ").trim(),i=n?n.split(/\s+/).filter(Boolean).length:0,a=r+i;return{minutes:Math.max(1,Math.ceil(a/350)),totalCount:a}},KJe=({title:t,notebook:e="",tags:r=[],updatedAt:n="",bodyHtml:i,theme:a="glass",showTitle:s=!1,showNotebook:o=!1,showTags:l=!1,showUpdatedAt:u=!0,showBranding:d=!0,author:h="",showAuthor:f=!1,showReadingTime:p=!1,readingTimeText:g=""})=>{var L;const m=LC(void 0,a),U=s&&!!t.trim(),y=f&&!!h.trim(),b=y?ly(h.trim()):"",v=[],w=u&&n.trim()?`<div class="edgeever-card-date"><span class="edgeever-meta-date">${ly(n)}</span></div>`:"";if(o&&e.trim()&&v.push(`<span class="edgeever-meta-notebook">${ly(e)}</span>`),l&&v.push(...r.filter(_=>_.trim()).map(_=>`<span class="edgeever-meta-tag">#${ly(_)}</span>`)),p){const _=XJe(i);v.push(`<span class="edgeever-meta-reading">${ly(g||`${_.minutes} min · ${_.totalCount} words`)}</span>`)}const T=v.length?`<div class="edgeever-card-meta">${v.join("")}</div>`:"",S=U?`<h1 class="edgeever-card-title">${ly(t)}</h1>`:"",C='<span class="edgeever-window-dots" aria-hidden="true"><i></i><i></i><i></i></span>',k=m==="code"?`<div class="edgeever-terminal-header">${C}<span class="edgeever-terminal-name">note.md</span></div>`:m==="memo"?'<div class="edgeever-memo-toolbar" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="m15 18-6-6 6-6"/></svg><span></span><svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M7 12h.01M12 12h.01M17 12h.01"/></svg><svg viewBox="0 0 24 24"><path d="M12 16V2m-5 5 5-5 5 5M5 10v11h14V10"/></svg></div>':m==="frame"?`<div class="edgeever-frame-toolbar">${C}</div>`:"",A=y||d||v.length?`<footer class="edgeever-card-footer">
${T}
${y?`<div class="edgeever-footer-author"><span>${b}</span></div>`:""}
${d?`<div class="edgeever-brand-badge">
<svg class="edgeever-brand-logo" viewBox="0 0 1024 1024" width="20" height="20" xmlns="http://www.w3.org/2000/svg">
<rect x="100" y="100" width="824" height="824" rx="188" fill="#16a06e" />
<g transform="translate(100 100) scale(0.74234234) translate(-72 -72)">
<path fill="#07130b" fill-rule="evenodd" d="M253.5 707.5Q249 678 249.5 655Q250 632 253.5 611.5Q257 591 264.5 568.5Q272 546 281 530Q290 514 287 485Q284 456 283.5 417Q283 378 285 351.5Q287 325 292 299Q297 273 304.5 254.5Q312 236 318.5 227.5Q325 219 336 213Q347 207 358.5 207.5Q370 208 383 213.5Q396 219 407 226.5Q418 234 428 242.5Q438 251 455 268.5Q472 286 485.5 303.5Q499 321 510.5 339Q522 357 528 368.5Q534 380 534 385.5Q534 391 532.5 394.5Q531 398 527.5 401Q524 404 518 405Q512 406 507 404Q502 402 499.5 399.5Q497 397 491.5 386Q486 375 474 357Q462 339 450.5 324.5Q439 310 426 296.5Q413 283 400.5 272.5Q388 262 377 255.5Q366 249 361 248Q356 247 352.5 249.5Q349 252 344.5 261Q340 270 337 280Q334 290 329 325.5Q324 361 323.5 400Q323 439 327 479.5Q331 520 321 538Q311 556 306 568.5Q301 581 297 596Q293 611 291 624.5Q289 638 289 661Q289 684 292 702Q295 720 301 739.5Q307 759 315.5 776.5Q324 794 335 810Q346 826 358 838.5Q370 851 386.5 863.5Q403 876 419.5 884.5Q436 893 456 899.5Q476 906 501 909.5Q526 913 529.5 916Q533 919 534.5 922Q536 925 536 931.5Q536 938 532.5 943Q529 948 524 950Q519 952 505.5 951Q492 950 473 946Q454 942 426 931Q398 920 385.5 912.5Q373 905 359.5 894.5Q346 884 333.5 871.5Q321 859 313 849Q305 839 291 815Q277 791 267.5 764Q258 737 253.5 707.5ZM719 941.5Q716 936 717 929Q718 922 721 918.5Q724 915 727 913.5Q730 912 749 910Q768 908 785 903.5Q802 899 823 889.5Q844 880 860.5 868.5Q877 857 887.5 847Q898 837 911 820Q924 803 932 788.5Q940 774 947.5 753.5Q955 733 959.5 708Q964 683 964 660.5Q964 638 960.5 617.5Q957 597 952.5 582.5Q948 568 943.5 558Q939 548 931 535Q923 522 927 479Q931 436 930.5 400Q930 364 925.5 329Q921 294 917 280Q913 266 909 258.5Q905 251 902 249Q899 247 893 248.5Q887 250 867.5 264Q848 278 835.5 290.5Q823 303 810.5 318Q798 333 783.5 354Q769 375 762 387.5Q755 400 751 402.5Q747 405 742 405.5Q737 406 732 404Q727 402 723.5 397Q720 392 720.5 385Q721 378 736.5 353Q752 328 768 307.5Q784 287 803.5 267Q823 247 834 238Q845 229 858.5 221Q872 213 881 210Q890 207 899.5 207Q909 207 918.5 212Q928 217 935.5 226.5Q943 236 949.5 252Q956 268 960 286Q964 304 967.5 344.5Q971 385 970.5 418Q970 451 967 482.5Q964 514 972 528Q980 542 986 558Q992 574 996 591Q1000 608 1002 624.5Q1004 641 1003.5 667Q1003 693 998 719.5Q993 746 985 768Q977 790 964.5 812Q952 834 940 849Q928 864 915.5 876Q903 888 892.5 896Q882 904 858 917Q834 930 820 935Q806 940 789.5 944Q773 948 753 950Q733 952 727.5 949.5Q722 947 719 941.5ZM378.5 728Q373 718 373 714.5Q373 711 375.5 708Q378 705 387 699Q396 693 405 689Q414 685 426 682.5Q438 680 447.5 680Q457 680 467.5 682Q478 684 490 690Q502 696 512.5 706.5Q523 717 530.5 733Q538 749 539.5 762Q541 775 537 778Q533 781 515.5 784Q498 787 481 786.5Q464 786 451 783Q438 780 428.5 775.5Q419 771 412 766Q405 761 394.5 749.5Q384 738 378.5 728ZM713.5 778Q710 775 710.5 767Q711 759 714 749Q717 739 723.5 727.5Q730 716 740.5 706Q751 696 762 690.5Q773 685 785.5 682.5Q798 680 813 681Q828 682 843.5 688Q859 694 869.5 702.5Q880 711 880 714.5Q880 718 871.5 732Q863 746 853 755.5Q843 765 830.5 772Q818 779 804 782.5Q790 786 772.5 786.5Q755 787 736 784Q717 781 713.5 778ZM406 710Q395 716 398 722.5Q401 729 410 738.5Q419 748 427 753Q435 758 441 760Q447 762 444.5 749.5Q442 737 442.5 726.5Q443 716 445 707.5Q447 699 432 701.5Q417 704 406 710ZM819.5 701Q806 699 808 708.5Q810 718 810 730.5Q810 743 808 750.5Q806 758 806 760Q806 762 807 762Q808 762 815 759Q822 756 830.5 750Q839 744 846 736Q853 728 855.5 722Q858 716 845.5 709.5Q833 703 819.5 701ZM471 759.5Q469 763 469 765Q469 767 472 767.5Q475 768 488.5 768Q502 768 512 766Q522 764 519.5 754Q517 744 511 734Q505 724 498.5 718Q492 712 484.5 708Q477 704 475.5 704Q474 704 475 723Q476 742 474.5 749Q473 756 471 759.5ZM733 750.5Q730 759 730 761.5Q730 764 737 765.5Q744 767 763.5 767Q783 767 779.5 752Q776 737 776 730.5Q776 724 778 714Q780 704 770.5 708Q761 712 753 719.5Q745 727 740.5 734.5Q736 742 733 750.5ZM592.5 848.5Q588 841 588 836.5Q588 832 590 829Q592 826 599.5 822.5Q607 819 613.5 818Q620 817 626.5 817Q633 817 642.5 819Q652 821 655 822.5Q658 824 661.5 828.5Q665 833 664.5 838Q664 843 659.5 850Q655 857 645 867Q635 877 631.5 878.5Q628 880 625 879.5Q622 879 617.5 876Q613 873 605 864.5Q597 856 592.5 848.5Z" />
</g>
</svg>
<span class="edgeever-brand-name">EdgeEver</span>
</div>`:""}
</footer>`:"",M=(L=i.trim().match(/^<p(?:\s[^>]*)?>([\s\S]*?)<\/p>$/i))==null?void 0:L[1],P=(M==null?void 0:M.replace(/<[^>]*>/g,"").replace(/&(?:nbsp|#160|#xa0);/gi," ").replace(/&(?:#\d+|#x[\da-f]+|[a-z]+);/gi,"x").trim())||"",N=m==="quote"&&!U&&!!P&&Array.from(P).length<=60&&!/<\/?(?:p|br|img|svg|video|iframe|math)\b/i.test(M||""),I=S||w?`<header class="edgeever-card-header">${S}${w}</header>`:"";return`<div class="edgeever-image-wrapper" data-theme="${m}" data-has-title="${U}" data-short-quote="${N}">
<article class="edgeever-image-card">
${k}
${I}
<div class="edgeever-card-body">${i}</div>
${A}
</article>
</div>`},Yse=({theme:t="glass",fontStyle:e="auto",fontSize:r="lg",cardWidth:n="wide"})=>{const i=LC(void 0,t),a=EV[i],s=qJe(i,e),o=jse[r]||jse.lg,l=kV[n]||800,u=l/(["handwritten","quote"].includes(i)?400:440),d=v=>`${Number((v*u).toFixed(3))}px`,h=v=>v.replace(/([\d.]+)px/g,(w,T)=>d(Number(T))),f=parseFloat(o.base)/17.6,p=i==="book"?20:i==="code"?15:i==="quote"?14.4:17.6,g=i==="quote"?28.8:i==="memo"?32:p*1.6,m=["book","quote","memo","handwritten"].includes(i)?0:30,y=(i==="handwritten"?"50px":i==="bento"?"14px":i==="frame"||i==="code"?"16px":i==="memo"?"0px 32px 32px":i==="book"||i==="quote"?"30px":"32px 28px").replace(/([\d.]+)px/g,(v,w)=>d(Number(w))),b=["book","quote","memo","handwritten"].includes(i)?0:i==="code"?5:i==="frame"?12:15;return`
.edgeever-image-wrapper[data-theme="${i}"] {
--ee-canvas-bg: ${a.canvasBg}; --ee-card-bg: ${a.cardBg}; --ee-card-border: ${h(a.cardBorder)};
--ee-text: ${a.textColor}; --ee-heading: ${a.headingColor}; --ee-meta: ${a.metaColor};
--ee-line: ${a.dividerColor}; --ee-accent: ${a.accentColor}; --ee-code-bg: ${a.codeBg};
--ee-quote-bg: ${a.quoteBg}; --ee-quote-border: ${a.quoteBorder};
--ee-unit: ${d(1)}; --ee-body-size: ${d(p*f)};
--ee-meta-size: ${d(Math.min(p*.78,13)*f)}; --ee-title-size: ${d(g*f)};
width: ${l}px; padding: ${d(m)}; margin: 0; background: var(--ee-canvas-bg);
color: var(--ee-text); font-family: ${s.bodyFamily}; font-size: var(--ee-body-size);
line-height: ${i==="quote"?1.6:i==="black-sun"?1.7:1.8}; -webkit-font-smoothing: antialiased;
font-feature-settings: "chws" 1; overflow: hidden; position: relative; isolation: isolate;
}
.edgeever-image-wrapper, .edgeever-image-wrapper * { box-sizing: border-box; }
.edgeever-image-card {
position: relative; padding: ${y}; border-radius: ${d(b)};
background: var(--ee-card-bg); border: var(--ee-card-border); box-shadow: ${h(a.cardShadow)};
min-width: 0; overflow: hidden;
}
.edgeever-card-header:empty { display: none; }
.edgeever-card-date,
.edgeever-card-meta {
display: flex; flex-wrap: wrap; align-items: center; gap: ${d(4)} ${d(12)};
color: var(--ee-meta); font-size: var(--ee-meta-size); font-weight: 400; line-height: 1.5; margin: 0;
overflow-wrap: anywhere;
}
.edgeever-card-date { margin-bottom: ${d(16)}; }
.edgeever-card-title {
margin: 0 0 ${d(12)}; padding: 0; color: var(--ee-heading); font-family: ${s.headingFamily};
font-size: var(--ee-title-size); font-weight: ${s.headingWeight}; line-height: 1.35;
letter-spacing: 0; overflow-wrap: anywhere;
}
.edgeever-card-body { white-space: normal; color: var(--ee-text); font-size: var(--ee-body-size); line-height: inherit; overflow-wrap: anywhere; }
.edgeever-card-body > :first-child { margin-top: 0; }
.edgeever-card-body > :last-child { margin-bottom: 0; }
.edgeever-card-body p { margin: 0; white-space: pre-wrap; }
.edgeever-card-body p + p, .edgeever-card-body p + ul, .edgeever-card-body p + ol { margin-top: 0.7em; }
/* Existing empty paragraphs already provide a blank line. Do not add another gap. */
.edgeever-card-body p:empty, .edgeever-card-body p:has(> br:only-child),
.edgeever-card-body p:empty + p, .edgeever-card-body p:has(> br:only-child) + p { margin-top: 0; }
.edgeever-card-body b, .edgeever-card-body strong { margin: 0 .1em; }
.edgeever-card-body h1, .edgeever-card-body h2, .edgeever-card-body h3,
.edgeever-card-body h4, .edgeever-card-body h5, .edgeever-card-body h6 {
color: var(--ee-heading); font-family: ${s.headingFamily}; font-weight: ${s.headingWeight};
line-height: 1.5; padding: 0; margin: 1.2em 0 0.5em; overflow-wrap: anywhere;
}
.edgeever-card-body h1 { font-size: 1.3em; }
.edgeever-card-body h2 { font-size: 1.2em; }
.edgeever-card-body h3 { font-size: 1.1em; }
.edgeever-card-body h4, .edgeever-card-body h5, .edgeever-card-body h6 { font-size: 1em; }
.edgeever-card-body ul, .edgeever-card-body ol { margin: 0 0 0.75em; padding-left: 1.35em; }
.edgeever-card-body ul { list-style: disc; }
.edgeever-card-body ol { list-style: decimal; }
.edgeever-card-body ul ul { list-style: circle; }
.edgeever-card-body li { margin: 0.2em 0; }
.edgeever-card-body li > ul, .edgeever-card-body li > ol { margin: 0.35em 0 0; padding-left: 1.2em; }
.edgeever-card-body li > p { margin-bottom: 0; }
.edgeever-card-body ul[data-type="taskList"] { list-style: none; padding: 0; }
.edgeever-card-body ul[data-type="taskList"] li { display: flex; align-items: flex-start; gap: 0.5em; }
.edgeever-card-body ul[data-type="taskList"] label { display: inline-flex; flex-shrink: 0; padding-top: 0.4em; }
.edgeever-card-body ul[data-type="taskList"] input { width: 0.85em; height: 0.85em; margin: 0; accent-color: var(--ee-accent); }
.edgeever-card-body ul[data-type="taskList"] li > div { min-width: 0; }
.edgeever-card-body ul[data-type="taskList"] li[data-checked="true"] > div { opacity: 0.6; text-decoration: line-through; }
.edgeever-card-body blockquote {
margin: 1em 0; padding: 0.1em 0 0.1em 0.9em; border-left: ${d(2)} solid var(--ee-quote-border);
background: var(--ee-quote-bg); color: inherit;
}
.edgeever-card-body blockquote > :last-child { margin-bottom: 0; }
.edgeever-card-body blockquote > :first-child { margin-top: 0; }
.edgeever-card-body blockquote blockquote { margin: 0.65em 0; padding-left: 0.7em; }
.edgeever-card-body a { color: var(--ee-accent); text-decoration: underline; text-underline-offset: 0.15em; overflow-wrap: anywhere; }
.edgeever-card-body mark { background: ${a.isDark?"rgba(255,225,132,0.2)":"#fff0a8"}; color: inherit; padding: 0.05em 0.1em; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.edgeever-card-body code { background: var(--ee-code-bg); border-radius: ${d(3)}; padding: 0.1em 0.25em; color: inherit; font-family: ${Q2.mono}; font-size: 0.85em; white-space: pre-wrap; }
.edgeever-card-body pre, .edgeever-card-body .edgeever-code-source {
max-width: 100%; padding: 0.8em; border: 1px solid var(--ee-line); border-radius: ${d(5)};
margin: 1em 0; background: var(--ee-code-bg); color: inherit; white-space: pre-wrap;
overflow-wrap: anywhere; font-family: ${Q2.mono}; font-size: 0.85em; line-height: 1.6;
}
.edgeever-card-body pre code { padding: 0; border: 0; background: transparent; font-size: inherit; }
.edgeever-card-body pre *, .edgeever-card-body .edgeever-code-source * { white-space: inherit !important; overflow-wrap: anywhere; }
.edgeever-card-body pre, .edgeever-card-body .edgeever-code-source { tab-size: 4; min-width: 0; }
.edgeever-card-body hr { margin: 1.4em 0; border: 0; border-top: 1px solid var(--ee-line); }
.edgeever-card-body img, .edgeever-card-body .edgeever-html-mermaid svg {
display: block; max-width: 100%; height: auto; max-height: none; margin: 1em auto; border-radius: ${d(4)};
}
.edgeever-card-body figure, .edgeever-card-body .edgeever-html-mermaid { max-width: 100%; margin: 1em 0; }
.edgeever-card-body .edgeever-image-node, .edgeever-card-body .tableWrapper { min-width: 0; max-width: 100%; height: auto !important; max-height: none !important; overflow: visible !important; }
.edgeever-card-body img { width: auto !important; height: auto !important; min-height: 0 !important; max-height: ${d(480)} !important; object-fit: contain !important; }
.edgeever-card-body [data-edgeever-image-gallery] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 0.6em; margin: 1em 0; }
.edgeever-card-body [data-edgeever-image-gallery][data-image-gallery-layout="1"] { grid-template-columns: minmax(0, 1fr); }
.edgeever-card-body [data-edgeever-image-gallery][data-image-gallery-layout="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.edgeever-card-body [data-edgeever-image-gallery] > *, .edgeever-card-body [data-edgeever-image-gallery] img { margin: 0; min-width: 0; min-height: 0 !important; height: auto !important; background: transparent; }
.edgeever-card-body figcaption { margin-top: 0.5em; color: var(--ee-meta); font-size: 0.78em; line-height: 1.5; text-align: center; }
.edgeever-card-body table { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 1em 0; font-size: 0.85em; line-height: 1.5; }
.edgeever-card-body th, .edgeever-card-body td { border: 1px solid var(--ee-line); text-align: left; vertical-align: top; padding: 0.5em; overflow-wrap: anywhere; }
.edgeever-card-body th { background: ${a.tableThBg}; font-weight: 600; }
.edgeever-card-body table[data-edgeever-export-table="stacked"],
.edgeever-card-body table[data-edgeever-export-table="stacked"] > thead,
.edgeever-card-body table[data-edgeever-export-table="stacked"] > tbody { display: block; width: 100%; }
.edgeever-card-body [data-edgeever-export-header] { display: none !important; }
.edgeever-card-body table[data-edgeever-export-table="stacked"] tr { display: block; margin: 0 0 0.75em; padding: 0.5em; border: 1px solid var(--ee-line); border-radius: ${d(5)}; }
.edgeever-card-body table[data-edgeever-export-table="stacked"] td,
.edgeever-card-body table[data-edgeever-export-table="stacked"] th { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0.75em; padding: 0.5em; border: 0; background: transparent; font-weight: 400; }
.edgeever-card-body .edgeever-table-label { color: var(--ee-meta); font-weight: 600; }
.edgeever-card-body .edgeever-table-value { min-width: 0; }
.edgeever-card-body [data-edgeever-theme-block] { border-left: ${d(2)} solid var(--ee-accent); background: ${a.metaBg}; padding: 0.8em; margin: 1em 0; }
.edgeever-card-body .edgeever-image-controls, .edgeever-card-body .edgeever-code-copy-button,
.edgeever-card-body .edgeever-theme-block__toolbar, .edgeever-card-body .edgeever-mermaid-source { display: none !important; }
.edgeever-card-footer { display: flex; flex-direction: column; gap: ${d(12)}; margin-top: ${d(24)}; color: var(--ee-meta); font-size: var(--ee-meta-size); }
.edgeever-footer-author { display: flex; align-items: center; gap: ${d(8)}; min-width: 0; overflow-wrap: anywhere; }
.edgeever-footer-author > span { min-width: 0; }
.edgeever-brand-badge {
display: flex; align-items: center; gap: ${d(7)}; border-top: 1px solid var(--ee-line);
padding-top: ${d(12)}; color: var(--ee-meta); font-family: ${Q2.sans};
font-size: ${d(12)}; font-weight: 500;
}
.edgeever-brand-logo { opacity: 1; width: ${d(18)}; height: ${d(18)}; flex-shrink: 0; }
.edgeever-window-dots { display: inline-flex; gap: ${d(6)}; align-items: center; flex-shrink: 0; }
.edgeever-window-dots i { display: block; width: ${d(12)}; height: ${d(12)}; border-radius: 50%; background: #ed6a5e; }
.edgeever-window-dots i:nth-child(2) { background: #f4bf4f; }
.edgeever-window-dots i:nth-child(3) { background: #61c554; }
${i==="book"?`
.edgeever-image-wrapper {
background-image: linear-gradient(90deg, rgba(101,77,43,0.09), transparent 6%, transparent 96%, rgba(101,77,43,0.04));
}
.edgeever-image-wrapper::before {
content: ""; position: absolute; inset: 0; pointer-events: none;
background: var(--ee-paper) repeat center / ${d(320)}; opacity: 0.045; z-index: 0;
}
.edgeever-image-card { min-height: 0; z-index: 1; }
.edgeever-card-body { font-weight: 400; letter-spacing: ${d(1)}; }
.edgeever-card-date { margin-bottom: ${d(20)}; }
.edgeever-card-title { font-weight: 700; line-height: 1.4; margin-bottom: ${d(14)}; }
.edgeever-card-header { display: flex; flex-direction: column; }
.edgeever-footer-author { line-height: 1.6; }
`:""}
${i==="quote"?`
.edgeever-card-title { font-size: ${d(28.8*f)}; font-weight: 700; line-height: 1.6; margin-top: ${d(8)}; margin-bottom: ${d(4)}; }
.edgeever-card-body { font-weight: 400; }
.edgeever-card-footer { margin-top: ${d(20)}; }
.edgeever-image-wrapper[data-short-quote="true"] .edgeever-card-body > p:only-child { font-size: 2em; font-weight: 700; line-height: 1.6; }
.edgeever-footer-author { justify-content: flex-end; font-weight: 400; }
.edgeever-card-meta { justify-content: flex-end; }
.edgeever-brand-badge { justify-content: flex-end; border: 0; }
`:""}
${i==="memo"?`
.edgeever-memo-toolbar { display: flex; align-items: center; gap: ${d(16)}; margin: 0 -${d(12)}; padding: ${d(16)} 0 ${d(6)}; color: #e5ae00; }
.edgeever-memo-toolbar span { flex: 1; }
.edgeever-memo-toolbar svg { width: ${d(22)}; height: ${d(22)}; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.edgeever-card-date { justify-content: center; margin-bottom: ${d(12)}; }
.edgeever-card-title { font-weight: 700; line-height: 1.4; margin-bottom: ${d(6)}; }
.edgeever-image-card { min-height: 0; }
.edgeever-brand-badge { border: 0; justify-content: center; }
`:""}
${i==="bento"?`
.edgeever-card-header { display: grid; gap: ${d(8)}; margin-bottom: ${d(8)}; padding: ${d(16)} ${d(20)}; background: #ffffff; border-radius: ${d(12)}; }
.edgeever-card-date, .edgeever-card-title { margin: 0; }
.edgeever-card-body { padding: ${d(16)} ${d(20)}; background: #ffffff; border-radius: ${d(12)}; }
.edgeever-card-footer { margin-top: ${d(8)}; padding: ${d(12)} ${d(20)}; background: #ffffff; border-radius: ${d(12)}; }
.edgeever-brand-badge { border: 0; padding: 0; }
`:""}
${i==="black-sun"?`
.edgeever-image-card { padding: ${d(30)}; border: 0; background: #000410; box-shadow: 0 -${d(12)} ${d(34)} rgba(255,255,255,0.1), 0 -${d(10)} ${d(15)} rgba(255,255,255,0.4), 0 -${d(1)} ${d(3)} rgba(255,255,255,0.8), 0 -${d(10)} ${d(40)} rgba(92,84,175,0.5); }
.edgeever-card-title { line-height: 1.4; text-shadow: 0 0 ${d(6)} rgba(175,160,255,0.6); }
.edgeever-brand-badge { justify-content: center; border: 0; }
`:""}
${i==="frame"?`
.edgeever-image-card { padding-top: 0; border-radius: ${d(10)}; }
.edgeever-frame-toolbar { display: flex; align-items: center; justify-content: space-between; gap: ${d(12)}; padding: ${d(16)} ${d(8)}; margin-bottom: ${d(20)}; border-bottom: ${d(2)} solid #000000; }
.edgeever-frame-toolbar .edgeever-window-dots { margin-left: auto; }
.edgeever-frame-toolbar .edgeever-window-dots i { border: ${d(1.5)} solid #000000; width: ${d(12)}; height: ${d(12)}; background: transparent; }
.edgeever-frame-toolbar .edgeever-window-dots i:nth-child(2) { background: #000000; }
.edgeever-card-title { line-height: 1.625; }
.edgeever-card-title, .edgeever-card-body { padding-left: ${d(8)}; padding-right: ${d(8)}; }
.edgeever-card-date { padding-left: ${d(8)}; padding-right: ${d(8)}; }
.edgeever-card-footer { border-top: 1px solid var(--ee-line); padding: ${d(12)} ${d(8)} 0; }
.edgeever-brand-badge { border: 0; padding: 0; }
`:""}
${i==="handwritten"?`
.edgeever-image-wrapper::before, .edgeever-image-wrapper::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.edgeever-image-wrapper::before { background: var(--ee-paper) no-repeat center / cover; z-index: 2; }
.edgeever-image-wrapper::after { background: var(--ee-paper-grain) repeat; filter: blur(${d(3)}); z-index: 3; }
.edgeever-image-card { overflow: visible; }
.edgeever-card-header, .edgeever-card-body, .edgeever-card-footer { position: relative; z-index: 4; }
.edgeever-card-title { font-weight: 400; }
.edgeever-card-date, .edgeever-card-footer { color: #746d60; line-height: 1.6; }
.edgeever-card-header { display: flex; flex-direction: column; }
.edgeever-card-meta, .edgeever-footer-author { justify-content: flex-end; }
.edgeever-card-meta, .edgeever-brand-badge { color: inherit; }
.edgeever-brand-badge { justify-content: center; border: 0; }
`:""}
${i==="code"?`
.edgeever-image-card { padding: 0; }
.edgeever-terminal-header { position: relative; display: flex; align-items: center; height: ${d(26)}; padding-top: ${d(10)}; margin: 0; }
.edgeever-terminal-name { display: block; width: 100%; padding: 0 ${d(65)}; text-align: center; color: #999999; font-size: ${d(12)}; line-height: 1.333333; overflow-wrap: anywhere; }
.edgeever-terminal-header .edgeever-window-dots { position: absolute; left: ${d(16)}; top: ${d(16)}; }
.edgeever-card-header { padding: ${d(16)} ${d(16)} 0; }
.edgeever-card-title { margin: 0 0 ${d(12)}; }
.edgeever-card-title:last-child { margin-bottom: 0; }
.edgeever-card-body { padding: ${d(16)} ${d(16)} ${d(21)}; min-height: ${d(37)}; line-height: 1.6; }
.edgeever-card-date { margin: 0; }
.edgeever-card-footer { margin: 0 ${d(16)} ${d(16)}; }
.edgeever-card-body pre { border: 0; padding: 0; margin: 0; font-family: inherit; font-size: inherit; line-height: 1.6; }
.edgeever-card-body pre code, .edgeever-card-body .edgeever-code-source { font-family: inherit; font-size: inherit; }
.edgeever-brand-badge { }
`:""}
`},hbe={"source-han-serif":`思源宋体 (Noto Serif SC)
Source: https://fonts.google.com/noto/specimen/Noto+Serif+SC
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
(c) 2017-2024 Adobe (http://www.adobe.com/).
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,anton:`Anton (Anton)
Source: https://fonts.google.com/specimen/Anton
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2020 The Anton Project Authors (https://github.com/googlefonts/AntonFont.git)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,douyin:`抖音美好体 (Douyin Sans)
Source: https://github.com/bytedance/fonts
This copy: unmodified original
Copyright (c) , 2023 Beijing Zitiao Network Technology Co. Ltd.
with Reserved Font Names "Douyin", "抖音", "抖音美好".
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,mashan:`马善政楷书 (Ma Shan Zheng)
Source: https://fonts.google.com/specimen/Ma+Shan+Zheng
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2018 The MaShanZheng Project Authors (https://github.com/googlefonts/mashanzheng)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,jiangcheng:`江城圆体 (JiangCheng YuanTi)
Source: https://www.npmjs.com/package/@fontpkg/jiang-cheng-yuan-ti
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
JiangCheng YuanTi
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,huangyou:`站酷庆科黄油体 (ZCOOL QingKe HuangYou)
Source: https://fonts.google.com/specimen/ZCOOL+QingKe+HuangYou
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2018 The ZCOOL QingKe HuangYou Project Authors (https://www.github.com/googlefonts/zcool-qingke-huangyou)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,glow:`未来荧黑 (Glow Sans SC Heavy)
Source: https://github.com/welai/glow-sans
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Glow Sans (c) 2021 Project Welai
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,kuaile:`站酷快乐体 (ZCOOL KuaiLe)
Source: https://fonts.google.com/specimen/ZCOOL+KuaiLe
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2018 The ZCOOL KuaiLe Project Authors (https://github.com/googlefonts/zcool-kuaile)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,"source-han-sans":`思源黑体 (Noto Sans SC)
Source: https://fonts.google.com/noto/specimen/Noto+Sans+SC
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
(c) 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,"source-han-serif-heavy":`思源宋体 Heavy (Noto Serif SC Black)
Source: https://fonts.google.com/noto/specimen/Noto+Serif+SC
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
(c) 2017-2024 Adobe (http://www.adobe.com/).
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,inter:`Inter (Inter)
Source: https://fonts.google.com/specimen/Inter
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2016 The Inter Project Authors (https://github.com/rsms/inter)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,dmserif:`DM Serif Display (DM Serif Display)
Source: https://fonts.google.com/specimen/DM+Serif+Display
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2014 - 2017 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. Copyright 2019 Google LLC.
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,bebas:`Bebas Neue (Bebas Neue)
Source: https://fonts.google.com/specimen/Bebas+Neue
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2019 The Bebas Neue Project Authors (https://github.com/dharmatype/Bebas-Neue)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,spacegrotesk:`Space Grotesk (Space Grotesk)
Source: https://fonts.google.com/specimen/Space+Grotesk
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2020 The Space Grotesk Project Authors (https://github.com/floriankarsten/space-grotesk)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,jetbrains:`JetBrains Mono (JetBrains Mono)
Source: https://fonts.google.com/specimen/JetBrains+Mono
This copy: subset and converted to WOFF2 by Qiaomu Cover Design
Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at: https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`};let Xse;const fbe=()=>Xse??(Xse=new Promise(t=>{let e=!1;const r=i=>{if(e){i==null||i.close();return}e=!0,clearTimeout(n),t(i)},n=setTimeout(()=>r(),1500);try{const i=indexedDB.open("edgeever-share-font-cache",1);i.onupgradeneeded=()=>i.result.createObjectStore("resources"),i.onsuccess=()=>{const a=i.result;a.onversionchange=()=>{a.close(),Xse=void 0},r(a)},i.onerror=i.onblocked=()=>r()}catch{r()}})),ZJe=async t=>{const e=await fbe();if(e)return new Promise(r=>{const n=setTimeout(()=>r(void 0),1500),i=a=>{clearTimeout(n),r(a)};try{const a=e.transaction("resources","readonly").objectStore("resources").get(t);a.onsuccess=()=>i(a.result instanceof ArrayBuffer?a.result:void 0),a.onerror=()=>i()}catch{i()}})},JJe=async(t,e)=>{const r=await fbe();if(r)return new Promise(n=>{const i=setTimeout(n,1500),a=()=>{clearTimeout(i),n()};try{const s=r.transaction("resources","readwrite");s.objectStore("resources").put(e,t),s.oncomplete=s.onerror=s.onabort=a}catch{a()}})},QJe=`Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font.git)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://openfontlicense.org
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.`,eQe=`Optional share-image fonts (remote WOFF2 subsets; no font files bundled):
Smiley Sans: Copyright © 2022–2024 atelierAnchor. https://github.com/atelier-anchor/smiley-sans
LXGW WenKai: Copyright 2021-2025 LXGW; Copyright 2020 The Klee Project Authors. https://github.com/lxgw/LxgwWenKai
Zhuque Fangsong: Copyright 2023 JadeFoci. https://github.com/TrionesType/zhuque
Noto Sans SC: Copyright 2014-2021 Adobe, Reserved Font Name 'Source'. https://github.com/notofonts/noto-cjk
All four fonts: SIL Open Font License 1.1. Font files are loaded unchanged from pinned @chinese-fonts and @fontsource packages.
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting, or substituting — in part or in whole — any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
- 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
- 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
- 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
- 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
- 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
`,mZ=new Map,tQe=t=>{for(const[e,r]of[["offline-sans.woff2",sbe],["geist/GeistMono.ttf",obe]]){const n=t[e];n&&typeof n!="number"&&mZ.set(r,typeof n=="string"?n:n.uri)}},EB=async(t,e,r)=>{var s;if(t.byteLength<=(e?0:48)||t.byteLength>(e?1e6:24e6))return!1;const n=e?0:new DataView(t).getUint32(0);if(!(e?new TextDecoder().decode(t).includes("@font-face"):n===2001684018?new DataView(t).getUint32(8)===t.byteLength:n===65536||n===1330926671))return!1;const a=DJe(r);if(a&&"bytes"in a){if(t.byteLength!==a.bytes)return!1;if((s=globalThis.crypto)!=null&&s.subtle){const o=await crypto.subtle.digest("SHA-256",t);return Array.from(new Uint8Array(o),l=>l.toString(16).padStart(2,"0")).join("")===a.sha256}}return!0},UZ=(t,e=3e3)=>new Promise((r,n)=>{const i=setTimeout(()=>n(new Error("NOTE_IMAGE_FONT_UNAVAILABLE")),e);t.then(a=>{clearTimeout(i),r(a)},a=>{clearTimeout(i),n(a)})}),Kse=(t,e=!1)=>new Promise((r,n)=>{const i=new XMLHttpRequest,a=()=>{clearTimeout(s),n(new Error("NOTE_IMAGE_FONT_UNAVAILABLE"))},s=setTimeout(()=>{a(),i.abort()},e?1500:15e3);i.open("GET",t),i.responseType="arraybuffer",i.timeout=e?1500:15e3,i.onload=()=>{clearTimeout(s),(i.status===200||e&&i.status===0)&&i.response instanceof ArrayBuffer?r(i.response):a()},i.onerror=i.ontimeout=i.onabort=a;try{i.send()}catch{a()}}),rQe=()=>{const t=new Map;return(e,r=!1)=>{let n=t.get(e);return n||(n=(async()=>{const i=mZ.get(e);if(i)try{const s=await Kse(i,!0);if(await EB(s,r,e))return s}catch{}const a=await ZJe(e);if(a&&await EB(a,r,e))return a;if(typeof navigator<"u"&&navigator.onLine===!1)throw new Error("NOTE_IMAGE_FONT_UNAVAILABLE");for(const s of NJe(e))try{const o=await Kse(s);if(!await EB(o,r,e))continue;return await JJe(e,o),o}catch{}throw new Error("NOTE_IMAGE_FONT_UNAVAILABLE")})(),t.set(e,n),n.catch(()=>t.delete(e))),n}},yZ=rQe(),nQe=async t=>{const e=await yZ(t);return new Promise((r,n)=>{const i=new FileReader;i.onload=()=>r(String(i.result)),i.onerror=()=>n(new Error("NOTE_IMAGE_FONT_UNAVAILABLE"));const a=new DataView(e).getUint32(0);i.readAsDataURL(new Blob([e],{type:a===65536?"font/ttf":a===1330926671?"font/otf":"font/woff2"}))})},iQe=(t,e)=>{const r=[...e].sort((n,i)=>n-i);return t.split(",").some(n=>{const[i,a=i]=n.trim().replace(/^U\+/i,"").split("-"),s=parseInt(i.replace(/\?/g,"0"),16),o=parseInt(a.replace(/\?/g,"F"),16);let l=0,u=r.length;for(;l<u;){const d=l+u>>>1;r[d]<s?l=d+1:u=d}return l<r.length&&r[l]<=o})},AB=new Map,aQe=async(t,e,{embed:r=!1,family:n=Td[t].family}={})=>{const i=OJe(t),a=i?[i]:LJe(new TextDecoder().decode(await yZ(vO(t),!0)),t),s=await mR(a,e,{embed:r,family:n});return s?`/*! ${(hbe[t]??(i?`Original font loaded unchanged from ${i.asset}. Original copyright and licensing metadata are retained in the font container. Alibaba: https://fonts.alibabagroup.com/ ; YouShe: https://www.uisdc.com/ . No conversion or subsetting is performed.`:eQe)).replaceAll("*/","* /")} */
${s}`:""},mR=async(t,e,{embed:r=!1,family:n}={})=>{const i=new Set(Array.from(e,o=>o.codePointAt(0))),a=t.filter(o=>iQe(o.range,i)),s=await Promise.all(a.map(async o=>{const l=n??o.family,u=`${l}:${o.asset}`;let d=AB.get(u);return d||(d=(async()=>{const h=await yZ(o.asset),f=new FontFace(l,h,{weight:o.weight,unicodeRange:o.range});return await UZ(f.load(),5e3),document.fonts.add(f),f})(),AB.set(u,d),d.catch(()=>AB.delete(u))),await d,r?`@font-face{font-family:"${l}";font-style:normal;font-weight:${o.weight};src:url("${await nQe(o.asset)}");unicode-range:${o.range}}`:""}));return!r||!a.length?"":s.join(`
`)},sQe=async(t,e=!1)=>{if(!mZ.size)return"";const n=(await Promise.allSettled([mR([{asset:sbe,family:abe,weight:"400",range:"U+0-10FFFF"}],t,{embed:e}),mR([{asset:obe,family:kJe,weight:"100 900",range:"U+0-024F"}],t,{embed:e})])).flatMap(i=>i.status==="fulfilled"?[i.value]:[]).filter(Boolean).join(`
`);return n&&e?`/*! ${hbe["source-han-sans"].replaceAll("*/","* /")} */
/*! ${QJe.replaceAll("*/","* /")} */
${n}`:n},MB=new Map,oQe=t=>{if(t.startsWith("data:"))return Promise.resolve(t);let e=MB.get(t);return e||(e=UZ(new Promise((r,n)=>{const i=new XMLHttpRequest;i.open("GET",t),i.responseType="blob",i.timeout=1500,i.onload=()=>{var s;if(i.status!==0&&i.status!==200||!((s=i.response)!=null&&s.size)){n(new Error("NOTE_IMAGE_ASSET_UNAVAILABLE"));return}const a=new FileReader;a.onload=()=>r(String(a.result)),a.onerror=()=>n(new Error("NOTE_IMAGE_ASSET_UNAVAILABLE")),a.readAsDataURL(i.response)},i.onerror=i.ontimeout=()=>n(new Error("NOTE_IMAGE_ASSET_UNAVAILABLE")),i.send()}),1500),MB.set(t,e),e.catch(()=>MB.delete(t))),e},lQe=async({theme:t,fontStyle:e="auto",text:r,urls:n,embed:i=!0,fallbackOnError:a=i})=>{tQe(n);const s=LC(void 0,t),o=b=>{const v=n[b];if(!v||typeof v=="number")throw new Error("NOTE_IMAGE_ASSET_UNAVAILABLE");return oQe(typeof v=="string"?v:v.uri)},l=await sQe(r,i),u=dbe[s],d=[...new Set([...u.body,...u.heading])],h=e==="auto"?d.flatMap(b=>SJe[b].map(v=>({...v,asset:EJe(`template/${v.asset}`)}))):[];let f="",p=!1,g;try{const b=MJe(e)?aQe(e,r,{embed:i}):mR(h,r,{embed:i});g=b,f=await(a?UZ(b):b)}catch(b){if(!a)throw b;p=!0}const m=[l,f&&`/*! ${CJe.replaceAll("*/","* /")} */
${f}`].filter(Boolean).join(`
`);let U="";try{U=i&&s==="handwritten"?`.edgeever-image-wrapper{--ee-paper:url("${await o("paper.png")}");--ee-paper-grain:url("${await o("paper-text.png")}")}`:i&&s==="book"?`.edgeever-image-wrapper{--ee-paper:url("${await o("paper.png")}")}`:""}catch{}return{fontCss:m,css:`${m}
${U}
${p?'.edgeever-image-wrapper,.edgeever-image-wrapper *{font-family:"EdgeEver Offline Sans",system-ui,sans-serif!important}.edgeever-image-wrapper pre,.edgeever-image-wrapper code{font-family:"Geist Mono Variable",monospace!important}':""}`,fontFallback:p,fontsReady:p?g:void 0}},cQe={"offline-sans.woff2":new URL(""+new URL("assets/notosans-CW5yE9Hg.woff2",import.meta.url).href,import.meta.url).href,"geist/GeistMono.ttf":new URL(""+new URL("assets/GeistMono-Cfl0yKzG.ttf",import.meta.url).href,import.meta.url).href,"paper.png":new URL(""+new URL("assets/paper-Cn8TMtqS.png",import.meta.url).href,import.meta.url).href,"paper-text.png":new URL(""+new URL("assets/paper-text-BDxN5rcD.png",import.meta.url).href,import.meta.url).href};function Un(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(t);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(t,n[i])&&(r[n[i]]=t[n[i]]);return r}function _n(t,e,r,n){var i=arguments.length,a=i<3?e:n===null?n=Object.getOwnPropertyDescriptor(e,r):n,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")a=Reflect.decorate(t,e,r,n);else for(var o=t.length-1;o>=0;o--)(s=t[o])&&(a=(i<3?s(a):i>3?s(e,r,a):s(e,r))||a);return i>3&&a&&Object.defineProperty(e,r,a),a}function bZ(t,e,r,n){function i(a){return a instanceof r?a:new r(function(s){s(a)})}return new(r||(r=Promise))(function(a,s){function o(d){try{u(n.next(d))}catch(h){s(h)}}function l(d){try{u(n.throw(d))}catch(h){s(h)}}function u(d){d.done?a(d.value):i(d.value).then(o,l)}u((n=n.apply(t,e||[])).next())})}function uQe(t){t.forEach(e=>{Object.hasOwn(e,"append")||Object.defineProperty(e,"append",{configurable:!0,enumerable:!0,writable:!0,value(...r){const n=document.createDocumentFragment();r.forEach(i=>{const a=i instanceof Node;n.appendChild(a?i:document.createTextNode(String(i)))}),this.appendChild(n)}})})}typeof window=="object"&&window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach);typeof window<"u"&&(t=>{uQe(t)})([Element.prototype,Document.prototype,DocumentFragment.prototype]);var pbe=typeof global=="object"&&global&&global.Object===Object&&global,dQe=typeof self=="object"&&self&&self.Object===Object&&self,Yd=pbe||dQe||Function("return this")(),Hu=Yd.Symbol,gbe=Object.prototype,hQe=gbe.hasOwnProperty,fQe=gbe.toString,R3=Hu?Hu.toStringTag:void 0;function pQe(t){var e=hQe.call(t,R3),r=t[R3];try{t[R3]=void 0;var n=!0}catch{}var i=fQe.call(t);return n&&(e?t[R3]=r:delete t[R3]),i}var gQe=Object.prototype,mQe=gQe.toString;function UQe(t){return mQe.call(t)}var yQe="[object Null]",bQe="[object Undefined]",Zse=Hu?Hu.toStringTag:void 0;function g1(t){return t==null?t===void 0?bQe:yQe:Zse&&Zse in Object(t)?pQe(t):UQe(t)}function zd(t){return t!=null&&typeof t=="object"}var vQe="[object Symbol]";function Gh(t){return typeof t=="symbol"||zd(t)&&g1(t)==vQe}function eb(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}var Ga=Array.isArray,Jse=Hu?Hu.prototype:void 0,Qse=Jse?Jse.toString:void 0;function mbe(t){if(typeof t=="string")return t;if(Ga(t))return eb(t,mbe)+"";if(Gh(t))return Qse?Qse.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}var xQe=/\s/;function wQe(t){for(var e=t.length;e--&&xQe.test(t.charAt(e)););return e}var TQe=/^\s+/;function CQe(t){return t&&t.slice(0,wQe(t)+1).replace(TQe,"")}function Va(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var eoe=NaN,SQe=/^[-+]0x[0-9a-f]+$/i,kQe=/^0b[01]+$/i,EQe=/^0o[0-7]+$/i,AQe=parseInt;function tb(t){if(typeof t=="number")return t;if(Gh(t))return eoe;if(Va(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Va(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=CQe(t);var r=kQe.test(t);return r||EQe.test(t)?AQe(t.slice(2),r?2:8):SQe.test(t)?eoe:+t}var toe=1/0,MQe=17976931348623157e292;function TA(t){if(!t)return t===0?t:0;if(t=tb(t),t===toe||t===-toe){var e=t<0?-1:1;return e*MQe}return t===t?t:0}function RQe(t){var e=TA(t),r=e%1;return e===e?r?e-r:e:0}function m1(t){return t}var IQe="[object AsyncFunction]",LQe="[object Function]",NQe="[object GeneratorFunction]",OQe="[object Proxy]";function Ew(t){if(!Va(t))return!1;var e=g1(t);return e==LQe||e==NQe||e==IQe||e==OQe}var RB=Yd["__core-js_shared__"],roe=(function(){var t=/[^.]+$/.exec(RB&&RB.keys&&RB.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function DQe(t){return!!roe&&roe in t}var PQe=Function.prototype,_Qe=PQe.toString;function b5(t){if(t!=null){try{return _Qe.call(t)}catch{}try{return t+""}catch{}}return""}var BQe=/[\\^$.*+?()[\]{}|]/g,$Qe=/^\[object .+?Constructor\]$/,FQe=Function.prototype,zQe=Object.prototype,HQe=FQe.toString,VQe=zQe.hasOwnProperty,GQe=RegExp("^"+HQe.call(VQe).replace(BQe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function WQe(t){if(!Va(t)||DQe(t))return!1;var e=Ew(t)?GQe:$Qe;return e.test(b5(t))}function qQe(t,e){return t==null?void 0:t[e]}function v5(t,e){var r=qQe(t,e);return WQe(r)?r:void 0}var AV=v5(Yd,"WeakMap"),noe=Object.create,jQe=(function(){function t(){}return function(e){if(!Va(e))return{};if(noe)return noe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})();function Ube(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}function YQe(){}function ybe(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var XQe=800,KQe=16,ZQe=Date.now;function JQe(t){var e=0,r=0;return function(){var n=ZQe(),i=KQe-(n-r);if(r=n,i>0){if(++e>=XQe)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}function A2(t){return function(){return t}}var UR=(function(){try{var t=v5(Object,"defineProperty");return t({},"",{}),t}catch{}})(),QQe=UR?function(t,e){return UR(t,"toString",{configurable:!0,enumerable:!1,value:A2(e),writable:!0})}:m1,bbe=JQe(QQe);function vbe(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}function xbe(t,e,r,n){for(var i=t.length,a=r+-1;++a<i;)if(e(t[a],a,t))return a;return-1}function eet(t){return t!==t}function tet(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}function ret(t,e,r){return e===e?tet(t,e,r):xbe(t,eet,r)}function wbe(t,e){var r=t==null?0:t.length;return!!r&&ret(t,e,0)>-1}var net=9007199254740991,iet=/^(?:0|[1-9]\d*)$/;function xO(t,e){var r=typeof t;return e=e??net,!!e&&(r=="number"||r!="symbol"&&iet.test(t))&&t>-1&&t%1==0&&t<e}function NC(t,e,r){e=="__proto__"&&UR?UR(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function P4(t,e){return t===e||t!==t&&e!==e}var aet=Object.prototype,set=aet.hasOwnProperty;function wO(t,e,r){var n=t[e];(!(set.call(t,e)&&P4(n,r))||r===void 0&&!(e in t))&&NC(t,e,r)}function OC(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a<s;){var o=e[a],l=void 0;l===void 0&&(l=t[o]),i?NC(r,o,l):wO(r,o,l)}return r}var ioe=Math.max;function Tbe(t,e,r){return e=ioe(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=ioe(n.length-e,0),s=Array(a);++i<a;)s[i]=n[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=n[i];return o[e]=r(s),Ube(t,this,o)}}function _4(t,e){return bbe(Tbe(t,e,m1),t+"")}var oet=9007199254740991;function vZ(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=oet}function U1(t){return t!=null&&vZ(t.length)&&!Ew(t)}function Aw(t,e,r){if(!Va(r))return!1;var n=typeof e;return(n=="number"?U1(r)&&xO(e,r.length):n=="string"&&e in r)?P4(r[e],t):!1}function Cbe(t){return _4(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&Aw(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n<i;){var o=r[n];o&&t(e,o,n,a)}return e})}var cet=Object.prototype;function TO(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||cet;return t===r}function uet(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var det="[object Arguments]";function aoe(t){return zd(t)&&g1(t)==det}var Sbe=Object.prototype,het=Sbe.hasOwnProperty,fet=Sbe.propertyIsEnumerable,gv=aoe((function(){return arguments})())?aoe:function(t){return zd(t)&&het.call(t,"callee")&&!fet.call(t,"callee")};function pet(){return!1}var kbe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,soe=kbe&&typeof module=="object"&&module&&!module.nodeType&&module,get=soe&&soe.exports===kbe,ooe=get?Yd.Buffer:void 0,met=ooe?ooe.isBuffer:void 0,mv=met||pet,Uet="[object Arguments]",yet="[object Array]",bet="[object Boolean]",vet="[object Date]",xet="[object Error]",wet="[object Function]",Tet="[object Map]",Cet="[object Number]",ket="[object Object]",Eet="[object RegExp]",Aet="[object Set]",Met="[object String]",Ret="[object WeakMap]",Iet="[object ArrayBuffer]",Let="[object DataView]",Net="[object Float32Array]",Oet="[object Float64Array]",Det="[object Int8Array]",Pet="[object Int16Array]",_et="[object Int32Array]",Bet="[object Uint8Array]",$et="[object Uint8ClampedArray]",Fet="[object Uint16Array]",zet="[object Uint32Array]",Xi={};Xi[Net]=Xi[Oet]=Xi[Det]=Xi[Pet]=Xi[_et]=Xi[Bet]=Xi[$et]=Xi[Fet]=Xi[zet]=!0;Xi[Uet]=Xi[yet]=Xi[Iet]=Xi[bet]=Xi[Let]=Xi[vet]=Xi[xet]=Xi[wet]=Xi[Tet]=Xi[Cet]=Xi[ket]=Xi[Eet]=Xi[Aet]=Xi[Met]=Xi[Ret]=!1;function Het(t){return zd(t)&&vZ(t.length)&&!!Xi[g1(t)]}function CO(t){return function(e){return t(e)}}var Ebe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ex=Ebe&&typeof module=="object"&&module&&!module.nodeType&&module,Vet=Ex&&Ex.exports===Ebe,IB=Vet&&pbe.process,Uv=(function(){try{var t=Ex&&Ex.require&&Ex.require("util").types;return t||IB&&IB.binding&&IB.binding("util")}catch{}})(),loe=Uv&&Uv.isTypedArray,SO=loe?CO(loe):Het,Get=Object.prototype,Wet=Get.hasOwnProperty;function Abe(t,e){var r=Ga(t),n=!r&&gv(t),i=!r&&!n&&mv(t),a=!r&&!n&&!i&&SO(t),s=r||n||i||a,o=s?uet(t.length,String):[],l=o.length;for(var u in t)(e||Wet.call(t,u))&&!(s&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||xO(u,l)))&&o.push(u);return o}function Mbe(t,e){return function(r){return t(e(r))}}var qet=Mbe(Object.keys,Object),jet=Object.prototype,Yet=jet.hasOwnProperty;function Rbe(t){if(!TO(t))return qet(t);var e=[];for(var r in Object(t))Yet.call(t,r)&&r!="constructor"&&e.push(r);return e}function Fc(t){return U1(t)?Abe(t):Rbe(t)}function Xet(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Ket=Object.prototype,Zet=Ket.hasOwnProperty;function Jet(t){if(!Va(t))return Xet(t);var e=TO(t),r=[];for(var n in t)n=="constructor"&&(e||!Zet.call(t,n))||r.push(n);return r}function x5(t){return U1(t)?Abe(t,!0):Jet(t)}var Qet=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ett=/^\w*$/;function xZ(t,e){if(Ga(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||Gh(t)?!0:ett.test(t)||!Qet.test(t)||e!=null&&t in Object(e)}var Mw=v5(Object,"create");function ttt(){this.__data__=Mw?Mw(null):{},this.size=0}function rtt(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var ntt="__lodash_hash_undefined__",itt=Object.prototype,att=itt.hasOwnProperty;function stt(t){var e=this.__data__;if(Mw){var r=e[t];return r===ntt?void 0:r}return att.call(e,t)?e[t]:void 0}var ott=Object.prototype,ltt=ott.hasOwnProperty;function ctt(t){var e=this.__data__;return Mw?e[t]!==void 0:ltt.call(e,t)}var utt="__lodash_hash_undefined__";function dtt(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=Mw&&e===void 0?utt:e,this}function $U(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}$U.prototype.clear=ttt;$U.prototype.delete=rtt;$U.prototype.get=stt;$U.prototype.has=ctt;$U.prototype.set=dtt;function htt(){this.__data__=[],this.size=0}function kO(t,e){for(var r=t.length;r--;)if(P4(t[r][0],e))return r;return-1}var ftt=Array.prototype,ptt=ftt.splice;function gtt(t){var e=this.__data__,r=kO(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():ptt.call(e,r,1),--this.size,!0}function mtt(t){var e=this.__data__,r=kO(e,t);return r<0?void 0:e[r][1]}function Utt(t){return kO(this.__data__,t)>-1}function ytt(t,e){var r=this.__data__,n=kO(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function J0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}J0.prototype.clear=htt;J0.prototype.delete=gtt;J0.prototype.get=mtt;J0.prototype.has=Utt;J0.prototype.set=ytt;var Rw=v5(Yd,"Map");function btt(){this.size=0,this.__data__={hash:new $U,map:new(Rw||J0),string:new $U}}function vtt(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function EO(t,e){var r=t.__data__;return vtt(e)?r[typeof e=="string"?"string":"hash"]:r.map}function xtt(t){var e=EO(this,t).delete(t);return this.size-=e?1:0,e}function wtt(t){return EO(this,t).get(t)}function Ttt(t){return EO(this,t).has(t)}function Ctt(t,e){var r=EO(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}function Q0(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}Q0.prototype.clear=btt;Q0.prototype.delete=xtt;Q0.prototype.get=wtt;Q0.prototype.has=Ttt;Q0.prototype.set=Ctt;var Stt="Expected a function";function wZ(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Stt);var r=function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s};return r.cache=new(wZ.Cache||Q0),r}wZ.Cache=Q0;var ktt=500;function Ett(t){var e=wZ(t,function(n){return r.size===ktt&&r.clear(),n}),r=e.cache;return e}var Att=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Mtt=/\\(\\)?/g,Rtt=Ett(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Att,function(r,n,i,a){e.push(i?a.replace(Mtt,"$1"):n||r)}),e});function B4(t){return t==null?"":mbe(t)}function AO(t,e){return Ga(t)?t:xZ(t,e)?[t]:Rtt(B4(t))}function DC(t){if(typeof t=="string"||Gh(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}function MO(t,e){e=AO(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[DC(e[r++])];return r&&r==n?t:void 0}function Itt(t,e,r){var n=t==null?void 0:MO(t,e);return n===void 0?r:n}function TZ(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var coe=Hu?Hu.isConcatSpreadable:void 0;function Ltt(t){return Ga(t)||gv(t)||!!(coe&&t&&t[coe])}function RO(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=Ltt),i||(i=[]);++a<s;){var o=t[a];r(o)?TZ(i,o):n||(i[i.length]=o)}return i}function $4(t){var e=t==null?0:t.length;return e?RO(t):[]}function Ntt(t){return bbe(Tbe(t,void 0,$4),t+"")}var CZ=Mbe(Object.getPrototypeOf,Object),Ott="[object Object]",Dtt=Function.prototype,Ptt=Object.prototype,Ibe=Dtt.toString,_tt=Ptt.hasOwnProperty,Btt=Ibe.call(Object);function Xd(t){if(!zd(t)||g1(t)!=Ott)return!1;var e=CZ(t);if(e===null)return!0;var r=_tt.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&Ibe.call(r)==Btt}function $tt(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n<i;)a[n]=t[n+e];return a}function Ftt(t,e,r){var n=t.length;return r=r===void 0?n:r,!e&&r>=n?t:$tt(t,e,r)}var ztt="\\ud800-\\udfff",Htt="\\u0300-\\u036f",Vtt="\\ufe20-\\ufe2f",Gtt="\\u20d0-\\u20ff",Wtt=Htt+Vtt+Gtt,qtt="\\ufe0e\\ufe0f",jtt="\\u200d",Ytt=RegExp("["+jtt+ztt+Wtt+qtt+"]");function Lbe(t){return Ytt.test(t)}function Xtt(t){return t.split("")}var Nbe="\\ud800-\\udfff",Ktt="\\u0300-\\u036f",Ztt="\\ufe20-\\ufe2f",Jtt="\\u20d0-\\u20ff",Qtt=Ktt+Ztt+Jtt,ert="\\ufe0e\\ufe0f",trt="["+Nbe+"]",MV="["+Qtt+"]",RV="\\ud83c[\\udffb-\\udfff]",rrt="(?:"+MV+"|"+RV+")",Obe="[^"+Nbe+"]",Dbe="(?:\\ud83c[\\udde6-\\uddff]){2}",Pbe="[\\ud800-\\udbff][\\udc00-\\udfff]",nrt="\\u200d",_be=rrt+"?",Bbe="["+ert+"]?",irt="(?:"+nrt+"(?:"+[Obe,Dbe,Pbe].join("|")+")"+Bbe+_be+")*",art=Bbe+_be+irt,srt="(?:"+[Obe+MV+"?",MV,Dbe,Pbe,trt].join("|")+")",ort=RegExp(RV+"(?="+RV+")|"+srt+art,"g");function lrt(t){return t.match(ort)||[]}function crt(t){return Lbe(t)?lrt(t):Xtt(t)}function $be(t){return function(e){e=B4(e);var r=Lbe(e)?crt(e):void 0,n=r?r[0]:e.charAt(0),i=r?Ftt(r,1).join(""):e.slice(1);return n[t]()+i}}var yR=$be("toUpperCase");function urt(t){return yR(B4(t).toLowerCase())}function Fbe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i<a;)r=e(r,t[i],i,t);return r}function drt(t){return function(e){return t==null?void 0:t[e]}}var hrt={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},frt=drt(hrt),prt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,grt="\\u0300-\\u036f",mrt="\\ufe20-\\ufe2f",Urt="\\u20d0-\\u20ff",yrt=grt+mrt+Urt,brt="["+yrt+"]",vrt=RegExp(brt,"g");function xrt(t){return t=B4(t),t&&t.replace(prt,frt).replace(vrt,"")}var wrt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function Trt(t){return t.match(wrt)||[]}var Crt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function Srt(t){return Crt.test(t)}var zbe="\\ud800-\\udfff",krt="\\u0300-\\u036f",Ert="\\ufe20-\\ufe2f",Art="\\u20d0-\\u20ff",Mrt=krt+Ert+Art,Hbe="\\u2700-\\u27bf",Vbe="a-z\\xdf-\\xf6\\xf8-\\xff",Rrt="\\xac\\xb1\\xd7\\xf7",Irt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Lrt="\\u2000-\\u206f",Nrt=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Gbe="A-Z\\xc0-\\xd6\\xd8-\\xde",Ort="\\ufe0e\\ufe0f",Wbe=Rrt+Irt+Lrt+Nrt,qbe="['’]",uoe="["+Wbe+"]",Drt="["+Mrt+"]",jbe="\\d+",Prt="["+Hbe+"]",Ybe="["+Vbe+"]",Xbe="[^"+zbe+Wbe+jbe+Hbe+Vbe+Gbe+"]",_rt="\\ud83c[\\udffb-\\udfff]",Brt="(?:"+Drt+"|"+_rt+")",$rt="[^"+zbe+"]",Kbe="(?:\\ud83c[\\udde6-\\uddff]){2}",Zbe="[\\ud800-\\udbff][\\udc00-\\udfff]",qy="["+Gbe+"]",Frt="\\u200d",doe="(?:"+Ybe+"|"+Xbe+")",zrt="(?:"+qy+"|"+Xbe+")",hoe="(?:"+qbe+"(?:d|ll|m|re|s|t|ve))?",foe="(?:"+qbe+"(?:D|LL|M|RE|S|T|VE))?",Jbe=Brt+"?",Qbe="["+Ort+"]?",Hrt="(?:"+Frt+"(?:"+[$rt,Kbe,Zbe].join("|")+")"+Qbe+Jbe+")*",Vrt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Grt="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Wrt=Qbe+Jbe+Hrt,qrt="(?:"+[Prt,Kbe,Zbe].join("|")+")"+Wrt,jrt=RegExp([qy+"?"+Ybe+"+"+hoe+"(?="+[uoe,qy,"$"].join("|")+")",zrt+"+"+foe+"(?="+[uoe,qy+doe,"$"].join("|")+")",qy+"?"+doe+"+"+hoe,qy+"+"+foe,Grt,Vrt,jbe,qrt].join("|"),"g");function Yrt(t){return t.match(jrt)||[]}function Xrt(t,e,r){return t=B4(t),e=e,e===void 0?Srt(t)?Yrt(t):Trt(t):t.match(e)||[]}var Krt="['’]",Zrt=RegExp(Krt,"g");function e6e(t){return function(e){return Fbe(Xrt(xrt(e).replace(Zrt,"")),t,"")}}var PC=e6e(function(t,e,r){return e=e.toLowerCase(),t+(r?urt(e):e)});function poe(){if(!arguments.length)return[];var t=arguments[0];return Ga(t)?t:[t]}function Jrt(t,e,r){return t===t&&(r!==void 0&&(t=t<=r?t:r),e!==void 0&&(t=t>=e?t:e)),t}function wU(t,e,r){return r===void 0&&(r=e,e=void 0),r!==void 0&&(r=tb(r),r=r===r?r:0),e!==void 0&&(e=tb(e),e=e===e?e:0),Jrt(tb(t),e,r)}function Qrt(){this.__data__=new J0,this.size=0}function ent(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}function tnt(t){return this.__data__.get(t)}function rnt(t){return this.__data__.has(t)}var nnt=200;function int(t,e){var r=this.__data__;if(r instanceof J0){var n=r.__data__;if(!Rw||n.length<nnt-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Q0(n)}return r.set(t,e),this.size=r.size,this}function Cd(t){var e=this.__data__=new J0(t);this.size=e.size}Cd.prototype.clear=Qrt;Cd.prototype.delete=ent;Cd.prototype.get=tnt;Cd.prototype.has=rnt;Cd.prototype.set=int;function ant(t,e){return t&&OC(e,Fc(e),t)}function snt(t,e){return t&&OC(e,x5(e),t)}var t6e=typeof exports=="object"&&exports&&!exports.nodeType&&exports,goe=t6e&&typeof module=="object"&&module&&!module.nodeType&&module,ont=goe&&goe.exports===t6e,moe=ont?Yd.Buffer:void 0,Uoe=moe?moe.allocUnsafe:void 0;function r6e(t,e){if(e)return t.slice();var r=t.length,n=Uoe?Uoe(r):new t.constructor(r);return t.copy(n),n}function n6e(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r<n;){var s=t[r];e(s,r,t)&&(a[i++]=s)}return a}function i6e(){return[]}var lnt=Object.prototype,cnt=lnt.propertyIsEnumerable,yoe=Object.getOwnPropertySymbols,SZ=yoe?function(t){return t==null?[]:(t=Object(t),n6e(yoe(t),function(e){return cnt.call(t,e)}))}:i6e;function unt(t,e){return OC(t,SZ(t),e)}var dnt=Object.getOwnPropertySymbols,a6e=dnt?function(t){for(var e=[];t;)TZ(e,SZ(t)),t=CZ(t);return e}:i6e;function hnt(t,e){return OC(t,a6e(t),e)}function s6e(t,e,r){var n=e(t);return Ga(t)?n:TZ(n,r(t))}function IV(t){return s6e(t,Fc,SZ)}function fnt(t){return s6e(t,x5,a6e)}var LV=v5(Yd,"DataView"),NV=v5(Yd,"Promise"),rb=v5(Yd,"Set"),boe="[object Map]",pnt="[object Object]",voe="[object Promise]",xoe="[object Set]",woe="[object WeakMap]",Toe="[object DataView]",gnt=b5(LV),mnt=b5(Rw),Unt=b5(NV),ynt=b5(rb),bnt=b5(AV),Au=g1;(LV&&Au(new LV(new ArrayBuffer(1)))!=Toe||Rw&&Au(new Rw)!=boe||NV&&Au(NV.resolve())!=voe||rb&&Au(new rb)!=xoe||AV&&Au(new AV)!=woe)&&(Au=function(t){var e=g1(t),r=e==pnt?t.constructor:void 0,n=r?b5(r):"";if(n)switch(n){case gnt:return Toe;case mnt:return boe;case Unt:return voe;case ynt:return xoe;case bnt:return woe}return e});var vnt=Object.prototype,xnt=vnt.hasOwnProperty;function wnt(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&xnt.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var bR=Yd.Uint8Array;function kZ(t){var e=new t.constructor(t.byteLength);return new bR(e).set(new bR(t)),e}function Tnt(t,e){var r=e?kZ(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var Cnt=/\w*$/;function Snt(t){var e=new t.constructor(t.source,Cnt.exec(t));return e.lastIndex=t.lastIndex,e}var Coe=Hu?Hu.prototype:void 0,Soe=Coe?Coe.valueOf:void 0;function knt(t){return Soe?Object(Soe.call(t)):{}}function o6e(t,e){var r=e?kZ(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var Ent="[object Boolean]",Ant="[object Date]",Mnt="[object Map]",Rnt="[object Number]",Int="[object RegExp]",Lnt="[object Set]",Nnt="[object String]",Ont="[object Symbol]",Dnt="[object ArrayBuffer]",Pnt="[object DataView]",_nt="[object Float32Array]",Bnt="[object Float64Array]",$nt="[object Int8Array]",Fnt="[object Int16Array]",znt="[object Int32Array]",Hnt="[object Uint8Array]",Vnt="[object Uint8ClampedArray]",Gnt="[object Uint16Array]",Wnt="[object Uint32Array]";function qnt(t,e,r){var n=t.constructor;switch(e){case Dnt:return kZ(t);case Ent:case Ant:return new n(+t);case Pnt:return Tnt(t,r);case _nt:case Bnt:case $nt:case Fnt:case znt:case Hnt:case Vnt:case Gnt:case Wnt:return o6e(t,r);case Mnt:return new n;case Rnt:case Nnt:return new n(t);case Int:return Snt(t);case Lnt:return new n;case Ont:return knt(t)}}function l6e(t){return typeof t.constructor=="function"&&!TO(t)?jQe(CZ(t)):{}}var jnt="[object Map]";function Ynt(t){return zd(t)&&Au(t)==jnt}var koe=Uv&&Uv.isMap,Xnt=koe?CO(koe):Ynt,Knt="[object Set]";function Znt(t){return zd(t)&&Au(t)==Knt}var Eoe=Uv&&Uv.isSet,Jnt=Eoe?CO(Eoe):Znt,Qnt=1,eit=2,tit=4,c6e="[object Arguments]",rit="[object Array]",nit="[object Boolean]",iit="[object Date]",ait="[object Error]",u6e="[object Function]",sit="[object GeneratorFunction]",oit="[object Map]",lit="[object Number]",d6e="[object Object]",cit="[object RegExp]",uit="[object Set]",dit="[object String]",hit="[object Symbol]",fit="[object WeakMap]",pit="[object ArrayBuffer]",git="[object DataView]",mit="[object Float32Array]",Uit="[object Float64Array]",yit="[object Int8Array]",bit="[object Int16Array]",vit="[object Int32Array]",xit="[object Uint8Array]",wit="[object Uint8ClampedArray]",Tit="[object Uint16Array]",Cit="[object Uint32Array]",_i={};_i[c6e]=_i[rit]=_i[pit]=_i[git]=_i[nit]=_i[iit]=_i[mit]=_i[Uit]=_i[yit]=_i[bit]=_i[vit]=_i[oit]=_i[lit]=_i[d6e]=_i[cit]=_i[uit]=_i[dit]=_i[hit]=_i[xit]=_i[wit]=_i[Tit]=_i[Cit]=!0;_i[ait]=_i[u6e]=_i[fit]=!1;function Ax(t,e,r,n,i,a){var s,o=e&Qnt,l=e&eit,u=e&tit;if(s!==void 0)return s;if(!Va(t))return t;var d=Ga(t);if(d){if(s=wnt(t),!o)return ybe(t,s)}else{var h=Au(t),f=h==u6e||h==sit;if(mv(t))return r6e(t,o);if(h==d6e||h==c6e||f&&!i){if(s=l||f?{}:l6e(t),!o)return l?hnt(t,snt(s,t)):unt(t,ant(s,t))}else{if(!_i[h])return i?t:{};s=qnt(t,h,o)}}a||(a=new Cd);var p=a.get(t);if(p)return p;a.set(t,s),Jnt(t)?t.forEach(function(U){s.add(Ax(U,e,r,U,t,a))}):Xnt(t)&&t.forEach(function(U,y){s.set(y,Ax(U,e,r,y,t,a))});var g=u?l?fnt:IV:l?x5:Fc,m=d?void 0:g(t);return vbe(m||t,function(U,y){m&&(y=U,U=t[y]),wO(s,y,Ax(U,e,r,y,t,a))}),s}var Sit=4;function vR(t){return Ax(t,Sit)}var kit=1,Eit=4;function Fi(t){return Ax(t,kit|Eit)}var Ait="__lodash_hash_undefined__";function Mit(t){return this.__data__.set(t,Ait),this}function Rit(t){return this.__data__.has(t)}function yv(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new Q0;++e<r;)this.add(t[e])}yv.prototype.add=yv.prototype.push=Mit;yv.prototype.has=Rit;function Iit(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function EZ(t,e){return t.has(e)}var Lit=1,Nit=2;function h6e(t,e,r,n,i,a){var s=r&Lit,o=t.length,l=e.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(t),d=a.get(e);if(u&&d)return u==e&&d==t;var h=-1,f=!0,p=r&Nit?new yv:void 0;for(a.set(t,e),a.set(e,t);++h<o;){var g=t[h],m=e[h];if(n)var U=s?n(m,g,h,e,t,a):n(g,m,h,t,e,a);if(U!==void 0){if(U)continue;f=!1;break}if(p){if(!Iit(e,function(y,b){if(!EZ(p,b)&&(g===y||i(g,y,r,n,a)))return p.push(b)})){f=!1;break}}else if(!(g===m||i(g,m,r,n,a))){f=!1;break}}return a.delete(t),a.delete(e),f}function Oit(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}function AZ(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}var Dit=1,Pit=2,_it="[object Boolean]",Bit="[object Date]",$it="[object Error]",Fit="[object Map]",zit="[object Number]",Hit="[object RegExp]",Vit="[object Set]",Git="[object String]",Wit="[object Symbol]",qit="[object ArrayBuffer]",jit="[object DataView]",Aoe=Hu?Hu.prototype:void 0,LB=Aoe?Aoe.valueOf:void 0;function Yit(t,e,r,n,i,a,s){switch(r){case jit:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case qit:return!(t.byteLength!=e.byteLength||!a(new bR(t),new bR(e)));case _it:case Bit:case zit:return P4(+t,+e);case $it:return t.name==e.name&&t.message==e.message;case Hit:case Git:return t==e+"";case Fit:var o=Oit;case Vit:var l=n&Dit;if(o||(o=AZ),t.size!=e.size&&!l)return!1;var u=s.get(t);if(u)return u==e;n|=Pit,s.set(t,e);var d=h6e(o(t),o(e),n,i,a,s);return s.delete(t),d;case Wit:if(LB)return LB.call(t)==LB.call(e)}return!1}var Xit=1,Kit=Object.prototype,Zit=Kit.hasOwnProperty;function Jit(t,e,r,n,i,a){var s=r&Xit,o=IV(t),l=o.length,u=IV(e),d=u.length;if(l!=d&&!s)return!1;for(var h=l;h--;){var f=o[h];if(!(s?f in e:Zit.call(e,f)))return!1}var p=a.get(t),g=a.get(e);if(p&&g)return p==e&&g==t;var m=!0;a.set(t,e),a.set(e,t);for(var U=s;++h<l;){f=o[h];var y=t[f],b=e[f];if(n)var v=s?n(b,y,f,e,t,a):n(y,b,f,t,e,a);if(!(v===void 0?y===b||i(y,b,r,n,a):v)){m=!1;break}U||(U=f=="constructor")}if(m&&!U){var w=t.constructor,T=e.constructor;w!=T&&"constructor"in t&&"constructor"in e&&!(typeof w=="function"&&w instanceof w&&typeof T=="function"&&T instanceof T)&&(m=!1)}return a.delete(t),a.delete(e),m}var Qit=1,Moe="[object Arguments]",Roe="[object Array]",lk="[object Object]",eat=Object.prototype,Ioe=eat.hasOwnProperty;function tat(t,e,r,n,i,a){var s=Ga(t),o=Ga(e),l=s?Roe:Au(t),u=o?Roe:Au(e);l=l==Moe?lk:l,u=u==Moe?lk:u;var d=l==lk,h=u==lk,f=l==u;if(f&&mv(t)){if(!mv(e))return!1;s=!0,d=!1}if(f&&!d)return a||(a=new Cd),s||SO(t)?h6e(t,e,r,n,i,a):Yit(t,e,l,r,n,i,a);if(!(r&Qit)){var p=d&&Ioe.call(t,"__wrapped__"),g=h&&Ioe.call(e,"__wrapped__");if(p||g){var m=p?t.value():t,U=g?e.value():e;return a||(a=new Cd),i(m,U,r,n,a)}}return f?(a||(a=new Cd),Jit(t,e,r,n,i,a)):!1}function IO(t,e,r,n,i){return t===e?!0:t==null||e==null||!zd(t)&&!zd(e)?t!==t&&e!==e:tat(t,e,r,n,IO,i)}var rat=1,nat=2;function iat(t,e,r,n){var i=r.length,a=i;if(t==null)return!a;for(t=Object(t);i--;){var s=r[i];if(s[2]?s[1]!==t[s[0]]:!(s[0]in t))return!1}for(;++i<a;){s=r[i];var o=s[0],l=t[o],u=s[1];if(s[2]){if(l===void 0&&!(o in t))return!1}else{var d=new Cd,h;if(!(h===void 0?IO(u,l,rat|nat,n,d):h))return!1}}return!0}function f6e(t){return t===t&&!Va(t)}function aat(t){for(var e=Fc(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,f6e(i)]}return e}function p6e(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}function sat(t){var e=aat(t);return e.length==1&&e[0][2]?p6e(e[0][0],e[0][1]):function(r){return r===t||iat(r,t,e)}}function oat(t,e){return t!=null&&e in Object(t)}function g6e(t,e,r){e=AO(e,t);for(var n=-1,i=e.length,a=!1;++n<i;){var s=DC(e[n]);if(!(a=t!=null&&r(t,s)))break;t=t[s]}return a||++n!=i?a:(i=t==null?0:t.length,!!i&&vZ(i)&&xO(s,i)&&(Ga(t)||gv(t)))}function m6e(t,e){return t!=null&&g6e(t,e,oat)}var lat=1,cat=2;function uat(t,e){return xZ(t)&&f6e(e)?p6e(DC(t),e):function(r){var n=Itt(r,t);return n===void 0&&n===e?m6e(r,t):IO(e,n,lat|cat)}}function dat(t){return function(e){return e==null?void 0:e[t]}}function hat(t){return function(e){return MO(e,t)}}function fat(t){return xZ(t)?dat(DC(t)):hat(t)}function ep(t){return typeof t=="function"?t:t==null?m1:typeof t=="object"?Ga(t)?uat(t[0],t[1]):sat(t):fat(t)}function pat(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i<a;){var s=t[i];e(n,s,r(s),t)}return n}function gat(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),o=s.length;o--;){var l=s[++i];if(r(a[l],l,a)===!1)break}return e}}var MZ=gat();function RZ(t,e){return t&&MZ(t,e,Fc)}function mat(t,e){return function(r,n){if(r==null)return r;if(!U1(r))return t(r,n);for(var i=r.length,a=-1,s=Object(r);++a<i&&n(s[a],a,s)!==!1;);return r}}var _C=mat(RZ);function Uat(t,e,r,n){return _C(t,function(i,a,s){e(n,i,r(i),s)}),n}function yat(t,e){return function(r,n){var i=Ga(r)?pat:Uat,a=e?e():{};return i(r,t,ep(n),a)}}var NB=function(){return Yd.Date.now()},bat="Expected a function",vat=Math.max,xat=Math.min;function LO(t,e,r){var n,i,a,s,o,l,u=0,d=!1,h=!1,f=!0;if(typeof t!="function")throw new TypeError(bat);e=tb(e)||0,Va(r)&&(d=!!r.leading,h="maxWait"in r,a=h?vat(tb(r.maxWait)||0,e):a,f="trailing"in r?!!r.trailing:f);function p(S){var C=n,k=i;return n=i=void 0,u=S,s=t.apply(k,C),s}function g(S){return u=S,o=setTimeout(y,e),d?p(S):s}function m(S){var C=S-l,k=S-u,E=e-C;return h?xat(E,a-k):E}function U(S){var C=S-l,k=S-u;return l===void 0||C>=e||C<0||h&&k>=a}function y(){var S=NB();if(U(S))return b(S);o=setTimeout(y,m(S))}function b(S){return o=void 0,f&&n?p(S):(n=i=void 0,s)}function v(){o!==void 0&&clearTimeout(o),u=0,n=l=i=o=void 0}function w(){return o===void 0?s:b(NB())}function T(){var S=NB(),C=U(S);if(n=arguments,i=this,l=S,C){if(o===void 0)return g(l);if(h)return clearTimeout(o),o=setTimeout(y,e),p(l)}return o===void 0&&(o=setTimeout(y,e)),s}return T.cancel=v,T.flush=w,T}var U6e=Object.prototype,wat=U6e.hasOwnProperty,y6e=_4(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&Aw(e[0],e[1],i)&&(n=1);++r<n;)for(var a=e[r],s=x5(a),o=-1,l=s.length;++o<l;){var u=s[o],d=t[u];(d===void 0||P4(d,U6e[u])&&!wat.call(t,u))&&(t[u]=a[u])}return t});function OV(t,e,r){(r!==void 0&&!P4(t[e],r)||r===void 0&&!(e in t))&&NC(t,e,r)}function xR(t){return zd(t)&&U1(t)}function DV(t,e){if(!(e==="constructor"&&typeof t[e]=="function")&&e!="__proto__")return t[e]}function Tat(t){return OC(t,x5(t))}function Cat(t,e,r,n,i,a,s){var o=DV(t,r),l=DV(e,r),u=s.get(l);if(u){OV(t,r,u);return}var d=a?a(o,l,r+"",t,e,s):void 0,h=d===void 0;if(h){var f=Ga(l),p=!f&&mv(l),g=!f&&!p&&SO(l);d=l,f||p||g?Ga(o)?d=o:xR(o)?d=ybe(o):p?(h=!1,d=r6e(l,!0)):g?(h=!1,d=o6e(l,!0)):d=[]:Xd(l)||gv(l)?(d=o,gv(o)?d=Tat(o):(!Va(o)||Ew(o))&&(d=l6e(l))):h=!1}h&&(s.set(l,d),i(d,l,n,a,s),s.delete(l)),OV(t,r,d)}function NO(t,e,r,n,i){t!==e&&MZ(e,function(a,s){if(i||(i=new Cd),Va(a))Cat(t,e,s,r,NO,n,i);else{var o=n?n(DV(t,s),a,s+"",t,e,i):void 0;o===void 0&&(o=a),OV(t,s,o)}},x5)}function b6e(t,e,r,n,i,a){return Va(t)&&Va(e)&&(a.set(e,t),NO(t,e,void 0,b6e,a),a.delete(e)),t}var Sat=Cbe(function(t,e,r,n){NO(t,e,r,n)}),v6e=_4(function(t){return t.push(void 0,b6e),Ube(Sat,void 0,t)}),kat=200;function Eat(t,e,r,n){var i=-1,a=wbe,s=!0,o=t.length,l=[],u=e.length;if(!o)return l;e.length>=kat&&(a=EZ,s=!1,e=new yv(e));e:for(;++i<o;){var d=t[i],h=d;if(d=d!==0?d:0,s&&h===h){for(var f=u;f--;)if(e[f]===h)continue e;l.push(d)}else a(e,h,n)||l.push(d)}return l}var Aat=_4(function(t,e){return xR(t)?Eat(t,RO(e,1,xR,!0)):[]});function wR(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}function IZ(t){return typeof t=="function"?t:m1}function kt(t,e){var r=Ga(t)?vbe:_C;return r(t,IZ(e))}function Mat(t,e){var r=[];return _C(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}function t0(t,e){var r=Ga(t)?n6e:Mat;return r(t,ep(e))}function Rat(t){return function(e,r,n){var i=Object(e);if(!U1(e)){var a=ep(r);e=Fc(e),r=function(o){return a(i[o],o,i)}}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}var Iat=Math.max;function Lat(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:RQe(r);return i<0&&(i=Iat(n+i,0)),xbe(t,ep(e),i)}var LZ=Rat(Lat);function x6e(t,e){var r=-1,n=U1(t)?Array(t.length):[];return _C(t,function(i,a,s){n[++r]=e(i,a,s)}),n}function us(t,e){var r=Ga(t)?eb:x6e;return r(t,ep(e))}function Nat(t,e){return t==null?t:MZ(t,IZ(e),x5)}function Oat(t,e){return t&&RZ(t,IZ(e))}var Dat=Object.prototype,Pat=Dat.hasOwnProperty,Loe=yat(function(t,e,r){Pat.call(t,r)?t[r].push(e):NC(t,r,[e])});function _at(t,e){return t>e}var Bat=Object.prototype,$at=Bat.hasOwnProperty;function Fat(t,e){return t!=null&&$at.call(t,e)}function M2(t,e){return t!=null&&g6e(t,e,Fat)}function zat(t,e){return eb(e,function(r){return t[r]})}function g0(t){return t==null?[]:zat(t,Fc(t))}var Hat="[object Map]",Vat="[object Set]",Gat=Object.prototype,Wat=Gat.hasOwnProperty;function Iw(t){if(t==null)return!0;if(U1(t)&&(Ga(t)||typeof t=="string"||typeof t.splice=="function"||mv(t)||SO(t)||gv(t)))return!t.length;var e=Au(t);if(e==Hat||e==Vat)return!t.size;if(TO(t))return!Rbe(t).length;for(var r in t)if(Wat.call(t,r))return!1;return!0}function m0(t,e){return IO(t,e)}var qat="[object Number]";function r0(t){return typeof t=="number"||zd(t)&&g1(t)==qat}function Za(t){return t===void 0}var jat=$be("toLowerCase");function w6e(t,e){return t<e}function OO(t,e){var r={};return e=ep(e),RZ(t,function(n,i,a){NC(r,i,e(n,i,a))}),r}function NZ(t,e,r){for(var n=-1,i=t.length;++n<i;){var a=t[n],s=e(a);if(s!=null&&(o===void 0?s===s&&!Gh(s):r(s,o)))var o=s,l=a}return l}function Og(t){return t&&t.length?NZ(t,m1,_at):void 0}var zi=Cbe(function(t,e,r){NO(t,e,r)});function Lw(t){return t&&t.length?NZ(t,m1,w6e):void 0}function OZ(t,e){return t&&t.length?NZ(t,ep(e),w6e):void 0}function Yat(t,e,r,n){if(!Va(t))return t;e=AO(e,t);for(var i=-1,a=e.length,s=a-1,o=t;o!=null&&++i<a;){var l=DC(e[i]),u=r;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=s){var d=o[l];u=void 0,u===void 0&&(u=Va(d)?d:xO(e[i+1])?[]:{})}wO(o,l,u),o=o[l]}return t}function Xat(t,e,r){for(var n=-1,i=e.length,a={};++n<i;){var s=e[n],o=MO(t,s);r(o,s)&&Yat(a,AO(s,t),o)}return a}function Kat(t,e){var r=t.length;for(t.sort(e);r--;)t[r]=t[r].value;return t}function Zat(t,e){if(t!==e){var r=t!==void 0,n=t===null,i=t===t,a=Gh(t),s=e!==void 0,o=e===null,l=e===e,u=Gh(e);if(!o&&!u&&!a&&t>e||a&&s&&l&&!o&&!u||n&&s&&l||!r&&l||!i)return 1;if(!n&&!a&&!u&&t<e||u&&r&&i&&!n&&!a||o&&r&&i||!s&&i||!l)return-1}return 0}function Jat(t,e,r){for(var n=-1,i=t.criteria,a=e.criteria,s=i.length,o=r.length;++n<s;){var l=Zat(i[n],a[n]);if(l){if(n>=o)return l;var u=r[n];return l*(u=="desc"?-1:1)}}return t.index-e.index}function Qat(t,e,r){e.length?e=eb(e,function(a){return Ga(a)?function(s){return MO(s,a.length===1?a[0]:a)}:a}):e=[m1];var n=-1;e=eb(e,CO(ep));var i=x6e(t,function(a,s,o){var l=eb(e,function(u){return u(a)});return{criteria:l,index:++n,value:a}});return Kat(i,function(a,s){return Jat(a,s,r)})}function est(t,e){return Xat(t,e,function(r,n){return m6e(t,n)})}var bv=Ntt(function(t,e){return t==null?{}:est(t,e)}),tst=Math.ceil,rst=Math.max;function nst(t,e,r,n){for(var i=-1,a=rst(tst((e-t)/(r||1)),0),s=Array(a);a--;)s[++i]=t,t+=r;return s}function ist(t){return function(e,r,n){return n&&typeof n!="number"&&Aw(e,r,n)&&(r=n=void 0),e=TA(e),r===void 0?(r=e,e=0):r=TA(r),n=n===void 0?e<r?1:-1:TA(n),nst(e,r,n)}}var vv=ist();function ast(t,e,r,n,i){return i(t,function(a,s,o){r=n?(n=!1,a):e(r,a,s,o)}),r}function BC(t,e,r){var n=Ga(t)?Fbe:ast,i=arguments.length<3;return n(t,ep(e),r,i,_C)}var y1=_4(function(t,e){if(t==null)return[];var r=e.length;return r>1&&Aw(t,e[0],e[1])?e=[]:r>2&&Aw(e[0],e[1],e[2])&&(e=[e[0]]),Qat(t,RO(e),[])}),sst=4294967295,ost=sst-1,lst=Math.floor,cst=Math.min;function ust(t,e,r,n){var i=0,a=t==null?0:t.length;if(a===0)return 0;e=r(e);for(var s=e!==e,o=e===null,l=Gh(e),u=e===void 0;i<a;){var d=lst((i+a)/2),h=r(t[d]),f=h!==void 0,p=h===null,g=h===h,m=Gh(h);if(s)var U=g;else u?U=g&&f:o?U=g&&f&&!p:l?U=g&&f&&!p&&!m:p||m?U=!1:U=h<e;U?i=d+1:a=d}return cst(a,ost)}var dst=4294967295,hst=dst>>>1;function fst(t,e,r){var n=0,i=t==null?n:t.length;if(typeof e=="number"&&e===e&&i<=hst){for(;n<i;){var a=n+i>>>1,s=t[a];s!==null&&!Gh(s)&&s<e?n=a+1:i=a}return i}return ust(t,e,m1)}function pst(t,e){return fst(t,e)}var gst=e6e(function(t,e,r){return t+(r?" ":"")+yR(e)}),mst="Expected a function";function Ust(t,e,r){var n=!0,i=!0;if(typeof t!="function")throw new TypeError(mst);return Va(r)&&(n="leading"in r?!0:n,i="trailing"in r?!!r.trailing:i),LO(t,e,{leading:n,maxWait:e,trailing:i})}var yst=1/0,bst=rb&&1/AZ(new rb([,-0]))[1]==yst?function(t){return new rb(t)}:YQe,vst=200;function T6e(t,e,r){var n=-1,i=wbe,a=t.length,s=!0,o=[],l=o;if(a>=vst){var u=bst(t);if(u)return AZ(u);s=!1,i=EZ,l=new yv}else l=o;e:for(;++n<a;){var d=t[n],h=d;if(d=d!==0?d:0,s&&h===h){for(var f=l.length;f--;)if(l[f]===h)continue e;o.push(d)}else i(l,h,r)||(l!==o&&l.push(h),o.push(d))}return o}var PV=_4(function(t){return T6e(RO(t,1,xR,!0))});function C6e(t){return t&&t.length?T6e(t):[]}var xst=0;function DO(t){var e=++xst;return B4(t)+e}function wst(t,e,r){for(var n=-1,i=t.length,a=e.length,s={};++n<i;){var o=n<a?e[n]:void 0;r(s,t[n],o)}return s}function Tst(t,e){return wst(t||[],e||[],wO)}function E0(t){return typeof t=="string"&&t.slice(-1)==="%"}function qc(t,e){if(t==null)return 0;let r;if(typeof t=="string"){if(r=parseFloat(t),E0(t)&&(r/=100,Number.isFinite(r)))return r*e}else r=t;return Number.isFinite(r)?r>0&&r<1?r*e:r:0}function Sd(t){if(typeof t=="object"){let r=0,n=0,i=0,a=0;return t.vertical!=null&&Number.isFinite(t.vertical)&&(n=a=t.vertical),t.horizontal!=null&&Number.isFinite(t.horizontal)&&(i=r=t.horizontal),t.left!=null&&Number.isFinite(t.left)&&(r=t.left),t.top!=null&&Number.isFinite(t.top)&&(n=t.top),t.right!=null&&Number.isFinite(t.right)&&(i=t.right),t.bottom!=null&&Number.isFinite(t.bottom)&&(a=t.bottom),{top:n,right:i,bottom:a,left:r}}let e=0;return t!=null&&Number.isFinite(t)&&(e=t),{top:e,right:e,bottom:e,left:e}}let S6e=!1,k6e=!1,E6e=!1,Cst=!1,A6e=!1;if(typeof navigator=="object"){const t=navigator.userAgent;t.indexOf("Macintosh")>=0,t.match(/(iPad|iPhone|iPod)/g),t.indexOf("Windows")>=0,S6e=t.indexOf("MSIE")>=0,t.match(/Trident\/7\./),k6e=!!t.match(/Edge\//),t.indexOf("Mozilla/")>=0&&t.indexOf("MSIE")<0&&t.indexOf("Edge/")<0,t.indexOf("Chrome/")>=0&&t.indexOf("Edge/")<0,t.indexOf("Opera/")>=0||t.indexOf("OPR/")>=0,t.indexOf("Firefox/")>=0,E6e=t.indexOf("AppleWebKit/")>=0&&t.indexOf("Chrome/")<0&&t.indexOf("Edge/")<0,typeof document=="object"&&(A6e=!document.createElementNS||`${document.createElementNS("http://www.w3.org/2000/svg","foreignObject")}`!="[object SVGForeignObjectElement]"||t.indexOf("Opera/")>=0)}typeof window=="object"&&window.chrome!=null&&window.chrome.app!=null&&window.chrome.app.runtime!=null;if(typeof document=="object")try{const t=Object.defineProperty({},"passive",{get(){Cst=!0}}),e=document.createElement("div");e.addEventListener&&e.addEventListener("click",()=>{},t)}catch{}const Noe=S6e,Ooe=k6e,Sst=E6e,kst=A6e,Est=!kst;function Ast(){const t=window.module;return t!=null&&t.hot!=null&&t.hot.status!=null?t.hot.status():"unkonwn"}function M6e(){return Ast()==="apply"}const Mst={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};function Rst(t){const e=document.createElement(Mst[t]||"div"),r=`on${t}`;let n=r in e;return n||(e.setAttribute(r,"return;"),n=typeof e[r]=="function"),n}const Mx=[];function b1(t,e){const r=Mx.find(n=>n.name===t);if(!(r&&(r.loadTimes+=1,r.loadTimes>1))&&!M6e()){const n=document.createElement("style");n.setAttribute("type","text/css"),n.textContent=e;const i=document.querySelector("head");i&&i.insertBefore(n,i.firstChild),Mx.push({name:t,loadTimes:1,styleElement:n})}}function v1(t){const e=Mx.findIndex(r=>r.name===t);if(e>-1){const r=Mx[e];if(r.loadTimes-=1,r.loadTimes>0)return;let n=r.styleElement;n&&n.parentNode&&n.parentNode.removeChild(n),n=null,Mx.splice(e,1)}}function Ist(t){const e=t.match(/<svg[^>]*viewBox\s*=\s*(["']?)(.+?)\1[^>]*>/i);return e&&e[2]?e[2].replace(/\s+/," ").split(" "):null}function Doe(t){const e=parseFloat(t);return Number.isNaN(e)?null:e}function Lst(t){const e="data:";return t.substr(0,e.length)===e}function Nst(t,e){if(!t||Lst(t)){setTimeout(()=>e(null,t));return}const r=()=>{e(new Error(`Failed to load image: ${t}`))},n=window.FileReader?a=>{if(a.status===200){const s=new FileReader;s.onload=o=>{const l=o.target.result;e(null,l)},s.onerror=r,s.readAsDataURL(a.response)}else r()}:a=>{const s=o=>{const u=[];for(let d=0;d<o.length;d+=32768)u.push(String.fromCharCode.apply(null,o.subarray(d,d+32768)));return u.join("")};if(a.status===200){let o=t.split(".").pop()||"png";o==="svg"&&(o="svg+xml");const l=`data:image/${o};base64,`,u=new Uint8Array(a.response),d=l+btoa(s(u));e(null,d)}else r()},i=new XMLHttpRequest;i.responseType=window.FileReader?"blob":"arraybuffer",i.open("GET",t,!0),i.addEventListener("error",r),i.addEventListener("load",()=>n(i)),i.send()}function Ost(t){let e=t.replace(/\s/g,"");e=decodeURIComponent(e);const r=e.indexOf(","),n=e.slice(0,r),i=n.split(":")[1].split(";")[0],a=e.slice(r+1);let s;n.indexOf("base64")>=0?s=atob(a):s=unescape(encodeURIComponent(a));const o=new Uint8Array(s.length);for(let l=0;l<s.length;l+=1)o[l]=s.charCodeAt(l);return new Blob([o],{type:i})}function Dst(t,e){const r=window.navigator.msSaveBlob;if(r)r(t,e);else{const n=window.URL.createObjectURL(t),i=document.createElement("a");i.href=n,i.download=e,document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(n)}}function OB(t,e){const r=Ost(t);Dst(r,e)}function Pst(t,e={}){let r=null;const n=d=>(r==null&&(r=Ist(t)),r!=null?Doe(r[d]):null),i=d=>{const h=t.match(d);return h&&h[2]?Doe(h[2]):null};let a=e.width;if(a==null&&(a=i(/<svg[^>]*width\s*=\s*(["']?)(.+?)\1[^>]*>/i)),a==null&&(a=n(2)),a==null)throw new Error("Can not parse width from svg string");let s=e.height;if(s==null&&(s=i(/<svg[^>]*height\s*=\s*(["']?)(.+?)\1[^>]*>/i)),s==null&&(s=n(3)),s==null)throw new Error("Can not parse height from svg string");return`data:image/svg+xml,${encodeURIComponent(t).replace(/'/g,"%27").replace(/"/g,"%22")}`}function _st(t){return typeof t=="object"&&t.then&&typeof t.then=="function"}function _V(t){return t!=null&&(t instanceof Promise||_st(t))}function DZ(...t){const e=[];if(t.forEach(n=>{Array.isArray(n)?e.push(...n):e.push(n)}),e.some(n=>_V(n))){const n=e.map(i=>_V(i)?i:Promise.resolve(i!==!1));return Promise.all(n).then(i=>i.reduce((a,s)=>s!==!1&&a,!0))}return e.every(n=>n!==!1)}function Bst(...t){const e=DZ(t);return typeof e=="boolean"?Promise.resolve(e):e}function R6e(t,e,r){if(r)switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2]);case 4:return t.call(e,r[0],r[1],r[2],r[3]);case 5:return t.call(e,r[0],r[1],r[2],r[3],r[4]);case 6:return t.call(e,r[0],r[1],r[2],r[3],r[4],r[5]);default:return t.apply(e,r)}return t.call(e)}function vr(t,e,...r){return R6e(t,e,r)}function Poe(t){return 180*t/Math.PI%360}const jo=function(t,e=!1){return(e?t:t%360)*Math.PI/180};function El(t){return t%360+(t<0?360:0)}function iU(t,e=0){return Number.isInteger(t)?t:+t.toFixed(e)}function _oe(t,e){let r,n;if(e==null?(n=t??1,r=0):(n=e,r=t??0),n<r){const i=r;r=n,n=i}return Math.floor(Math.random()*(n-r+1)+r)}function cy(t,e,r){return Number.isNaN(t)?NaN:Number.isNaN(e)||Number.isNaN(r)?0:t<e?e:t>r?r:t}function kd(t,e){return e*Math.round(t/e)}function I6e(t,e){return e!=null&&t!=null&&e.x>=t.x&&e.x<=t.x+t.width&&e.y>=t.y&&e.y<=t.y+t.height}function Boe(t,e){const r=t.x-e.x,n=t.y-e.y;return r*r+n*n}class x1{valueOf(){return this.toJSON()}toString(){return JSON.stringify(this.toJSON())}}let Je=class Fr extends x1{static create(e,r){return e==null||typeof e=="number"?new Fr(e,r):Fr.clone(e)}static clone(e){return Fr.isPoint(e)?new Fr(e.x,e.y):Array.isArray(e)?new Fr(e[0],e[1]):new Fr(e.x,e.y)}static equals(e,r){return e===r?!0:e!=null&&r!=null?e.x===r.x&&e.y===r.y:!1}static rotateEx(e,r,n,i=new Fr){const a=Fr.clone(e),s=Fr.clone(i),o=a.x-s.x,l=a.y-s.y,u=o*r-l*n,d=l*r+o*n;return new Fr(u+s.x,d+s.y)}static toJSON(e){return Fr.isPoint(e)?{x:e.x,y:e.y}:Array.isArray(e)?{x:e[0],y:e[1]}:{x:e.x,y:e.y}}static fromPolar(e,r,n=new Fr){let i=Math.abs(e*Math.cos(r)),a=Math.abs(e*Math.sin(r));const s=Fr.clone(n),o=El(Poe(r));return o<90?a=-a:o<180?(i=-i,a=-a):o<270&&(i=-i),new Fr(s.x+i,s.y+a)}static toPolar(e,r=new Fr){const n=Fr.clone(e),i=Fr.clone(r),a=n.x-i.x,s=n.y-i.y;return new Fr(Math.sqrt(a*a+s*s),jo(i.theta(n)))}static equalPoints(e,r){if(e==null&&r!=null||e!=null&&r==null||e!=null&&r!=null&&e.length!==r.length)return!1;if(e!=null&&r!=null){for(let n=0,i=e.length;n<i;n+=1)if(!Fr.equals(e[n],r[n]))return!1}return!0}static random(e,r,n,i){return new Fr(_oe(e,r),_oe(n,i))}static rotate(e,r,n){const i=jo(El(-r)),a=Math.sin(i),s=Math.cos(i);return Fr.rotateEx(e,s,a,n)}static isPoint(e){return e!=null&&e instanceof Fr}static isPointLike(e){return e!=null&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"}static isPointData(e){return e!=null&&Array.isArray(e)&&e.length===2&&typeof e[0]=="number"&&typeof e[1]=="number"}constructor(e,r){super(),this.x=e??0,this.y=r??0}round(e=0){return this.x=iU(this.x,e),this.y=iU(this.y,e),this}add(e,r){const n=Fr.create(e,r);return this.x+=n.x,this.y+=n.y,this}update(e,r){const n=Fr.create(e,r);return this.x=n.x,this.y=n.y,this}translate(e,r){const n=Fr.create(e,r);return this.x+=n.x,this.y+=n.y,this}rotate(e,r){const n=Fr.rotate(this,e,r);return this.x=n.x,this.y=n.y,this}scale(e,r,n=new Fr){const i=Fr.create(n);return this.x=i.x+e*(this.x-i.x),this.y=i.y+r*(this.y-i.y),this}closest(e){if(e.length===1)return Fr.create(e[0]);let r=null,n=1/0;return e.forEach(i=>{const a=this.squaredDistance(i);a<n&&(r=i,n=a)}),r?Fr.create(r):null}distance(e){return Math.sqrt(this.squaredDistance(e))}squaredDistance(e){const r=Fr.create(e),n=this.x-r.x,i=this.y-r.y;return n*n+i*i}manhattanDistance(e){const r=Fr.create(e);return Math.abs(r.x-this.x)+Math.abs(r.y-this.y)}magnitude(){return Math.sqrt(this.x*this.x+this.y*this.y)||.01}theta(e=new Fr){const r=Fr.create(e),n=-(r.y-this.y),i=r.x-this.x;let a=Math.atan2(n,i);return a<0&&(a=2*Math.PI+a),180*a/Math.PI}angleBetween(e,r){if(this.equals(e)||this.equals(r))return NaN;let n=this.theta(r)-this.theta(e);return n<0&&(n+=360),n}vectorAngle(e){return new Fr(0,0).angleBetween(this,e)}toPolar(e){return this.update(Fr.toPolar(this,e)),this}changeInAngle(e,r,n=new Fr){return this.clone().translate(-e,-r).theta(n)-this.theta(n)}adhereToRect(e){return I6e(e,this)||(this.x=Math.min(Math.max(this.x,e.x),e.x+e.width),this.y=Math.min(Math.max(this.y,e.y),e.y+e.height)),this}bearing(e){const r=Fr.create(e),n=jo(this.y),i=jo(r.y),a=this.x,s=r.x,o=jo(s-a),l=Math.sin(o)*Math.cos(i),u=Math.cos(n)*Math.sin(i)-Math.sin(n)*Math.cos(i)*Math.cos(o),d=Poe(Math.atan2(l,u)),h=["NE","E","SE","S","SW","W","NW","N"];let f=d-22.5;return f<0&&(f+=360),f=parseInt(f/45,10),h[f]}cross(e,r){if(e!=null&&r!=null){const n=Fr.create(e),i=Fr.create(r);return(i.x-this.x)*(n.y-this.y)-(i.y-this.y)*(n.x-this.x)}return NaN}dot(e){const r=Fr.create(e);return this.x*r.x+this.y*r.y}diff(e,r){if(typeof e=="number")return new Fr(this.x-e,this.y-r);const n=Fr.create(e);return new Fr(this.x-n.x,this.y-n.y)}lerp(e,r){const n=Fr.create(e);return new Fr((1-r)*this.x+r*n.x,(1-r)*this.y+r*n.y)}normalize(e=1){const r=e/this.magnitude();return this.scale(r,r)}move(e,r){const n=Fr.create(e),i=jo(n.theta(this));return this.translate(Math.cos(i)*r,-Math.sin(i)*r)}reflection(e){return Fr.create(e).move(this,this.distance(e))}snapToGrid(e,r){return this.x=kd(this.x,e),this.y=kd(this.y,r??e),this}equals(e){const r=Fr.create(e);return r!=null&&r.x===this.x&&r.y===this.y}clone(){return Fr.clone(this)}toJSON(){return Fr.toJSON(this)}serialize(){return`${this.x} ${this.y}`}};class Bt extends x1{static isRectangle(e){return e!=null&&e instanceof Bt}static isRectangleLike(e){return e!=null&&typeof e=="object"&&typeof e.x=="number"&&typeof e.y=="number"&&typeof e.width=="number"&&typeof e.height=="number"}static create(e,r,n,i){return e==null||typeof e=="number"?new Bt(e,r,n,i):Bt.clone(e)}static clone(e){return Bt.isRectangle(e)?e.clone():Array.isArray(e)?new Bt(e[0],e[1],e[2],e[3]):new Bt(e.x,e.y,e.width,e.height)}static fromEllipse(e){return new Bt(e.x-e.a,e.y-e.b,2*e.a,2*e.b)}static fromSize(e){return new Bt(0,0,e.width,e.height)}static fromPositionAndSize(e,r){return new Bt(e.x,e.y,r.width,r.height)}get left(){return this.x}get top(){return this.y}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get origin(){return new Je(this.x,this.y)}get topLeft(){return new Je(this.x,this.y)}get topCenter(){return new Je(this.x+this.width/2,this.y)}get topRight(){return new Je(this.x+this.width,this.y)}get center(){return new Je(this.x+this.width/2,this.y+this.height/2)}get bottomLeft(){return new Je(this.x,this.y+this.height)}get bottomCenter(){return new Je(this.x+this.width/2,this.y+this.height)}get bottomRight(){return new Je(this.x+this.width,this.y+this.height)}get corner(){return new Je(this.x+this.width,this.y+this.height)}get rightMiddle(){return new Je(this.x+this.width,this.y+this.height/2)}get leftMiddle(){return new Je(this.x,this.y+this.height/2)}get topLine(){return new cr(this.topLeft,this.topRight)}get rightLine(){return new cr(this.topRight,this.bottomRight)}get bottomLine(){return new cr(this.bottomLeft,this.bottomRight)}get leftLine(){return new cr(this.topLeft,this.bottomLeft)}constructor(e,r,n,i){super(),this.x=e??0,this.y=r??0,this.width=n??0,this.height=i??0}getOrigin(){return this.origin}getTopLeft(){return this.topLeft}getTopCenter(){return this.topCenter}getTopRight(){return this.topRight}getCenter(){return this.center}getCenterX(){return this.x+this.width/2}getCenterY(){return this.y+this.height/2}getBottomLeft(){return this.bottomLeft}getBottomCenter(){return this.bottomCenter}getBottomRight(){return this.bottomRight}getCorner(){return this.corner}getRightMiddle(){return this.rightMiddle}getLeftMiddle(){return this.leftMiddle}getTopLine(){return this.topLine}getRightLine(){return this.rightLine}getBottomLine(){return this.bottomLine}getLeftLine(){return this.leftLine}bbox(e){if(!e)return this.clone();const r=jo(e),n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r)),a=this.width*i+this.height*n,s=this.width*n+this.height*i;return new Bt(this.x+(this.width-a)/2,this.y+(this.height-s)/2,a,s)}round(e=0){return this.x=iU(this.x,e),this.y=iU(this.y,e),this.width=iU(this.width,e),this.height=iU(this.height,e),this}add(e,r,n,i){const a=Bt.create(e,r,n,i),s=Math.min(this.x,a.x),o=Math.min(this.y,a.y),l=Math.max(this.x+this.width,a.x+a.width),u=Math.max(this.y+this.height,a.y+a.height);return this.x=s,this.y=o,this.width=l-s,this.height=u-o,this}update(e,r,n,i){const a=Bt.create(e,r,n,i);return this.x=a.x,this.y=a.y,this.width=a.width,this.height=a.height,this}inflate(e,r){const n=e,i=r??e;return this.x-=n,this.y-=i,this.width+=2*n,this.height+=2*i,this}snapToGrid(e,r){const n=this.origin.snapToGrid(e,r),i=this.corner.snapToGrid(e,r);return this.x=n.x,this.y=n.y,this.width=i.x-n.x,this.height=i.y-n.y,this}translate(e,r){const n=Je.create(e,r);return this.x+=n.x,this.y+=n.y,this}scale(e,r,n=new Je){const i=this.origin.scale(e,r,n);return this.x=i.x,this.y=i.y,this.width*=e,this.height*=r,this}rotate(e,r=this.getCenter()){if(e!==0){const n=jo(e),i=Math.cos(n),a=Math.sin(n);let s=this.getOrigin(),o=this.getTopRight(),l=this.getBottomRight(),u=this.getBottomLeft();s=Je.rotateEx(s,i,a,r),o=Je.rotateEx(o,i,a,r),l=Je.rotateEx(l,i,a,r),u=Je.rotateEx(u,i,a,r);const d=new Bt(s.x,s.y,0,0);d.add(o.x,o.y,0,0),d.add(l.x,l.y,0,0),d.add(u.x,u.y,0,0),this.update(d)}return this}rotate90(){const e=(this.width-this.height)/2;this.x+=e,this.y-=e;const r=this.width;return this.width=this.height,this.height=r,this}moveAndExpand(e){const r=Bt.clone(e);return this.x+=r.x||0,this.y+=r.y||0,this.width+=r.width||0,this.height+=r.height||0,this}getMaxScaleToFit(e,r=this.center){const n=Bt.clone(e),i=r.x,a=r.y;let s=1/0,o=1/0,l=1/0,u=1/0,d=1/0,h=1/0,f=1/0,p=1/0;const g=n.topLeft;g.x<i&&(s=(this.x-i)/(g.x-i)),g.y<a&&(d=(this.y-a)/(g.y-a));const m=n.bottomRight;m.x>i&&(o=(this.x+this.width-i)/(m.x-i)),m.y>a&&(h=(this.y+this.height-a)/(m.y-a));const U=n.topRight;U.x>i&&(l=(this.x+this.width-i)/(U.x-i)),U.y<a&&(f=(this.y-a)/(U.y-a));const y=n.bottomLeft;return y.x<i&&(u=(this.x-i)/(y.x-i)),y.y>a&&(p=(this.y+this.height-a)/(y.y-a)),{sx:Math.min(s,o,l,u),sy:Math.min(d,h,f,p)}}getMaxUniformScaleToFit(e,r=this.center){const n=this.getMaxScaleToFit(e,r);return Math.min(n.sx,n.sy)}containsPoint(e,r){return I6e(this,Je.create(e,r))}containsRect(e,r,n,i){const a=Bt.create(e,r,n,i),s=this.x,o=this.y,l=this.width,u=this.height,d=a.x,h=a.y,f=a.width,p=a.height;return l===0||u===0||f===0||p===0?!1:d>=s&&h>=o&&d+f<=s+l&&h+p<=o+u}intersectsWithLine(e){const r=[this.topLine,this.rightLine,this.bottomLine,this.leftLine],n=[],i=[];return r.forEach(a=>{const s=e.intersectsWithLine(a);s!==null&&i.indexOf(s.toString())<0&&(n.push(s),i.push(s.toString()))}),n.length>0?n:null}intersectsWithLineFromCenterToPoint(e,r){const n=Je.clone(e),i=this.center;let a=null;r!=null&&r!==0&&n.rotate(r,i);const s=[this.topLine,this.rightLine,this.bottomLine,this.leftLine],o=new cr(i,n);for(let l=s.length-1;l>=0;l-=1){const u=s[l].intersectsWithLine(o);if(u!==null){a=u;break}}return a&&r!=null&&r!==0&&a.rotate(-r,i),a}intersectsWithRect(e,r,n,i){const a=Bt.create(e,r,n,i);if(!this.isIntersectWithRect(a))return null;const s=this.origin,o=this.corner,l=a.origin,u=a.corner,d=Math.max(s.x,l.x),h=Math.max(s.y,l.y);return new Bt(d,h,Math.min(o.x,u.x)-d,Math.min(o.y,u.y)-h)}isIntersectWithRect(e,r,n,i){const a=Bt.create(e,r,n,i),s=this.origin,o=this.corner,l=a.origin,u=a.corner;return!(u.x<=s.x||u.y<=s.y||l.x>=o.x||l.y>=o.y)}normalize(){let e=this.x,r=this.y,n=this.width,i=this.height;return this.width<0&&(e=this.x+this.width,n=-this.width),this.height<0&&(r=this.y+this.height,i=-this.height),this.x=e,this.y=r,this.width=n,this.height=i,this}union(e){const r=Bt.clone(e),n=this.origin,i=this.corner,a=r.origin,s=r.corner,o=Math.min(n.x,a.x),l=Math.min(n.y,a.y),u=Math.max(i.x,s.x),d=Math.max(i.y,s.y);return new Bt(o,l,u-o,d-l)}getNearestSideToPoint(e){const r=Je.clone(e),n=r.x-this.x,i=this.x+this.width-r.x,a=r.y-this.y,s=this.y+this.height-r.y;let o=n,l="left";return i<o&&(o=i,l="right"),a<o&&(o=a,l="top"),s<o&&(l="bottom"),l}getNearestPointToPoint(e){const r=Je.clone(e);if(this.containsPoint(r)){const n=this.getNearestSideToPoint(r);if(n==="left")return new Je(this.x,r.y);if(n==="top")return new Je(r.x,this.y);if(n==="right")return new Je(this.x+this.width,r.y);if(n==="bottom")return new Je(r.x,this.y+this.height)}return r.adhereToRect(this)}equals(e){return e!=null&&e.x===this.x&&e.y===this.y&&e.width===this.width&&e.height===this.height}clone(){return new Bt(this.x,this.y,this.width,this.height)}toJSON(){return{x:this.x,y:this.y,width:this.width,height:this.height}}serialize(){return`${this.x} ${this.y} ${this.width} ${this.height}`}}class cr extends x1{static isLine(e){return e!=null&&e instanceof cr}get center(){return new Je((this.start.x+this.end.x)/2,(this.start.y+this.end.y)/2)}constructor(e,r,n,i){super(),typeof e=="number"&&typeof r=="number"?(this.start=new Je(e,r),this.end=new Je(n,i)):(this.start=Je.create(e),this.end=Je.create(r))}getCenter(){return this.center}round(e=0){return this.start.round(e),this.end.round(e),this}translate(e,r){return typeof e=="number"?(this.start.translate(e,r),this.end.translate(e,r)):(this.start.translate(e),this.end.translate(e)),this}rotate(e,r){return this.start.rotate(e,r),this.end.rotate(e,r),this}scale(e,r,n){return this.start.scale(e,r,n),this.end.scale(e,r,n),this}length(){return Math.sqrt(this.squaredLength())}squaredLength(){const e=this.start.x-this.end.x,r=this.start.y-this.end.y;return e*e+r*r}setLength(e){const r=this.length();if(!r)return this;const n=e/r;return this.scale(n,n,this.start)}parallel(e){const r=this.clone();if(!r.isDifferentiable())return r;const{start:n,end:i}=r,a=n.clone().rotate(270,i),s=i.clone().rotate(90,n);return n.move(s,e),i.move(a,e),r}vector(){return new Je(this.end.x-this.start.x,this.end.y-this.start.y)}angle(){const e=new Je(this.start.x+1,this.start.y);return this.start.angleBetween(this.end,e)}bbox(){const e=Math.min(this.start.x,this.end.x),r=Math.min(this.start.y,this.end.y),n=Math.max(this.start.x,this.end.x),i=Math.max(this.start.y,this.end.y);return new Bt(e,r,n-e,i-r)}bearing(){return this.start.bearing(this.end)}closestPoint(e){return this.pointAt(this.closestPointNormalizedLength(e))}closestPointLength(e){return this.closestPointNormalizedLength(e)*this.length()}closestPointTangent(e){return this.tangentAt(this.closestPointNormalizedLength(e))}closestPointNormalizedLength(e){const r=this.vector().dot(new cr(this.start,e).vector()),n=Math.min(1,Math.max(0,r/this.squaredLength()));return Number.isNaN(n)?0:n}pointAt(e){const r=this.start,n=this.end;return e<=0?r.clone():e>=1?n.clone():r.lerp(n,e)}pointAtLength(e){const r=this.start,n=this.end;let i=!0;e<0&&(i=!1,e=-e);const a=this.length();if(e>=a)return i?n.clone():r.clone();const s=(i?e:a-e)/a;return this.pointAt(s)}divideAt(e){const r=this.pointAt(e);return[new cr(this.start,r),new cr(r,this.end)]}divideAtLength(e){const r=this.pointAtLength(e);return[new cr(this.start,r),new cr(r,this.end)]}containsPoint(e){const r=this.start,n=this.end;if(r.cross(e,n)!==0)return!1;const i=this.length();return!(new cr(r,e).length()>i||new cr(e,n).length()>i)}intersect(e,r){const n=e.intersectsWithLine(this,r);return n?Array.isArray(n)?n:[n]:null}intersectsWithLine(e){const r=new Je(this.end.x-this.start.x,this.end.y-this.start.y),n=new Je(e.end.x-e.start.x,e.end.y-e.start.y),i=r.x*n.y-r.y*n.x,a=new Je(e.start.x-this.start.x,e.start.y-this.start.y),s=a.x*n.y-a.y*n.x,o=a.x*r.y-a.y*r.x;if(i===0||s*i<0||o*i<0)return null;if(i>0){if(s>i||o>i)return null}else if(s<i||o<i)return null;return new Je(this.start.x+s*r.x/i,this.start.y+s*r.y/i)}isDifferentiable(){return!this.start.equals(this.end)}pointOffset(e){const r=Je.clone(e),n=this.start,i=this.end;return((i.x-n.x)*(r.y-n.y)-(i.y-n.y)*(r.x-n.x))/this.length()}pointSquaredDistance(e,r){const n=Je.create(e,r);return this.closestPoint(n).squaredDistance(n)}pointDistance(e,r){const n=Je.create(e,r);return this.closestPoint(n).distance(n)}tangentAt(e){if(!this.isDifferentiable())return null;const r=this.start,n=this.end,i=this.pointAt(e),a=new cr(r,n);return a.translate(i.x-r.x,i.y-r.y),a}tangentAtLength(e){if(!this.isDifferentiable())return null;const r=this.start,n=this.end,i=this.pointAtLength(e),a=new cr(r,n);return a.translate(i.x-r.x,i.y-r.y),a}relativeCcw(e,r){const n=Je.create(e,r);let i=n.x-this.start.x,a=n.y-this.start.y;const s=this.end.x-this.start.x,o=this.end.y-this.start.y;let l=i*o-a*s;return l===0&&(l=i*s+a*o,l>0&&(i-=s,a-=o,l=i*s+a*o,l<0&&(l=0))),l<0?-1:l>0?1:0}equals(e){return e!=null&&this.start.x===e.start.x&&this.start.y===e.start.y&&this.end.x===e.end.x&&this.end.y===e.end.y}clone(){return new cr(this.start,this.end)}toJSON(){return{start:this.start.toJSON(),end:this.end.toJSON()}}serialize(){return[this.start.serialize(),this.end.serialize()].join(" ")}}class dc extends x1{static isEllipse(e){return e!=null&&e instanceof dc}static create(e,r,n,i){return e==null||typeof e=="number"?new dc(e,r,n,i):dc.parse(e)}static parse(e){return dc.isEllipse(e)?e.clone():Array.isArray(e)?new dc(e[0],e[1],e[2],e[3]):new dc(e.x,e.y,e.a,e.b)}static fromRect(e){const r=e.center;return new dc(r.x,r.y,e.width/2,e.height/2)}get center(){return new Je(this.x,this.y)}constructor(e,r,n,i){super(),this.x=e??0,this.y=r??0,this.a=n??0,this.b=i??0}bbox(){return Bt.fromEllipse(this)}getCenter(){return this.center}inflate(e,r){const n=e,i=r??e;return this.a+=2*n,this.b+=2*i,this}normalizedDistance(e,r){const n=Je.create(e,r),i=n.x-this.x,a=n.y-this.y,s=this.a,o=this.b;return i*i/(s*s)+a*a/(o*o)}containsPoint(e,r){return this.normalizedDistance(e,r)<=1}intersectsWithLine(e){const r=[],n=this.a,i=this.b,a=e.start,s=e.end,o=e.vector(),l=a.diff(new Je(this.x,this.y)),u=new Je(o.x/(n*n),o.y/(i*i)),d=new Je(l.x/(n*n),l.y/(i*i)),h=o.dot(u),f=o.dot(d),p=l.dot(d)-1,g=f*f-h*p;if(g<0)return null;if(g>0){const m=Math.sqrt(g),U=(-f-m)/h,y=(-f+m)/h;if((U<0||U>1)&&(y<0||y>1))return null;U>=0&&U<=1&&r.push(a.lerp(s,U)),y>=0&&y<=1&&r.push(a.lerp(s,y))}else{const m=-f/h;if(m>=0&&m<=1)r.push(a.lerp(s,m));else return null}return r}intersectsWithLineFromCenterToPoint(e,r=0){const n=Je.clone(e);r&&n.rotate(r,this.getCenter());const i=n.x-this.x,a=n.y-this.y;let s;if(i===0)return s=this.bbox().getNearestPointToPoint(n),r?s.rotate(-r,this.getCenter()):s;const o=a/i,l=o*o,u=this.a*this.a,d=this.b*this.b;let h=Math.sqrt(1/(1/u+l/d));h=i<0?-h:h;const f=o*h;return s=new Je(this.x+h,this.y+f),r?s.rotate(-r,this.getCenter()):s}tangentTheta(e){const r=Je.clone(e),n=r.x,i=r.y,a=this.a,s=this.b,o=this.bbox().center,l=o.x,u=o.y,d=30,h=n>o.x+a/2,f=n<o.x-a/2;let p,g;return h||f?(g=n>o.x?i-d:i+d,p=a*a/(n-l)-a*a*(i-u)*(g-u)/(s*s*(n-l))+l):(p=i>o.y?n+d:n-d,g=s*s/(i-u)-s*s*(n-l)*(p-l)/(a*a*(i-u))+u),new Je(p,g).theta(r)}scale(e,r){return this.a*=e,this.b*=r,this}rotate(e,r){const n=Bt.fromEllipse(this);n.rotate(e,r);const i=dc.fromRect(n);return this.a=i.a,this.b=i.b,this.x=i.x,this.y=i.y,this}translate(e,r){const n=Je.create(e,r);return this.x+=n.x,this.y+=n.y,this}equals(e){return e!=null&&e.x===this.x&&e.y===this.y&&e.a===this.a&&e.b===this.b}clone(){return new dc(this.x,this.y,this.a,this.b)}toJSON(){return{x:this.x,y:this.y,a:this.a,b:this.b}}serialize(){return`${this.x} ${this.y} ${this.a} ${this.b}`}}const $st=new RegExp("^[\\s\\dLMCZz,.]*$");function Fst(t){return typeof t!="string"?!1:$st.test(t)}function DB(t,e){return(t%e+e)%e}function zst(t,e,r,n,i){if(!t||t.length===0)return"";const a=[],s=t[t.length-1],o=e!=null&&e>0,l=e||0;if(n&&o){t=t.slice();const h=t[0],f=new Je(s.x+(h.x-s.x)/2,s.y+(h.y-s.y)/2);t.splice(0,0,f)}let u=t[0],d=1;for(r?a.push("M",u.x,u.y):a.push("L",u.x,u.y);d<(n?t.length:t.length-1);){let h=t[DB(d,t.length)],f=u.x-h.x,p=u.y-h.y;if(o&&(f!==0||p!==0)&&(i==null||i.indexOf(d-1)<0)){let g=Math.sqrt(f*f+p*p);const m=f*Math.min(l,g/2)/g,U=p*Math.min(l,g/2)/g,y=h.x+m,b=h.y+U;a.push("L",y,b);let v=t[DB(d+1,t.length)];for(;d<t.length-2&&Math.round(v.x-h.x)===0&&Math.round(v.y-h.y)===0;)v=t[DB(d+2,t.length)],d+=1;f=v.x-h.x,p=v.y-h.y,g=Math.max(1,Math.sqrt(f*f+p*p));const w=f*Math.min(l,g/2)/g,T=p*Math.min(l,g/2)/g,S=h.x+w,C=h.y+T;a.push("Q",h.x,h.y,S,C),h=new Je(S,C)}else a.push("L",h.x,h.y);u=h,d+=1}return n?a.push("Z"):a.push("L",s.x,s.y),a.map(h=>typeof h=="string"?h:+h.toFixed(3)).join(" ")}function Hst(t,e={}){const r=[];return t&&t.length&&t.forEach(n=>{Array.isArray(n)?r.push({x:n[0],y:n[1]}):r.push({x:n.x,y:n.y})}),zst(r,e.round,e.initialMove==null||e.initialMove,e.close,e.exclude)}function $oe(t,e,r,n,i=0,a=0,s=0,o,l){if(r===0||n===0)return[];o-=t,l-=e,r=Math.abs(r),n=Math.abs(n);const u=-o/2,d=-l/2,h=Math.cos(i*Math.PI/180),f=Math.sin(i*Math.PI/180),p=h*u+f*d,g=-1*f*u+h*d,m=p*p,U=g*g,y=r*r,b=n*n,v=m/y+U/b;let w;if(v>1)r=Math.sqrt(v)*r,n=Math.sqrt(v)*n,w=0;else{let W=1;a===s&&(W=-1),w=W*Math.sqrt((y*b-y*U-b*m)/(y*U+b*m))}const T=w*r*g/n,S=-1*w*n*p/r,C=h*T-f*S+o/2,k=f*T+h*S+l/2;let E=Math.atan2((g-S)/n,(p-T)/r)-Math.atan2(0,1),A=E>=0?E:2*Math.PI+E;E=Math.atan2((-g-S)/n,(-p-T)/r)-Math.atan2((g-S)/n,(p-T)/r);let M=E>=0?E:2*Math.PI+E;s===0&&M>0?M-=2*Math.PI:s!==0&&M<0&&(M+=2*Math.PI);const P=M*2/Math.PI,N=Math.ceil(P<0?-1*P:P),I=M/N,L=8/3*Math.sin(I/4)*Math.sin(I/4)/Math.sin(I/2),_=h*r,D=h*n,O=f*r,B=f*n;let F=Math.cos(A),z=Math.sin(A),$=-L*(_*z+B*F),H=-L*(O*z-D*F),V=0,G=0;const K=[];for(let W=0;W<N;W+=1){A+=I,F=Math.cos(A),z=Math.sin(A),V=_*F-B*z+C,G=O*F+D*z+k;const oe=-L*(_*z+B*F),Z=-L*(O*z-D*F),J=W*6;K[J]=Number($+t),K[J+1]=Number(H+e),K[J+2]=Number(V-oe+t),K[J+3]=Number(G-Z+e),K[J+4]=Number(V+t),K[J+5]=Number(G+e),$=V+oe,H=G+Z}return K.map(W=>+W.toFixed(2))}class qs extends x1{static isPolyline(e){return e!=null&&e instanceof qs}static parse(e){const r=e.trim();if(r==="")return new qs;const n=[],i=r.split(/\s*,\s*|\s+/);for(let a=0,s=i.length;a<s;a+=2)n.push({x:+i[a],y:+i[a+1]});return new qs(n)}get start(){return this.points[0]||null}get end(){return this.points[this.points.length-1]||null}constructor(e){if(super(),e!=null){if(typeof e=="string")return qs.parse(e);this.points=e.map(r=>Je.create(r))}else this.points=[]}scale(e,r,n=new Je){return this.points.forEach(i=>i.scale(e,r,n)),this}rotate(e,r){return this.points.forEach(n=>n.rotate(e,r)),this}translate(e,r){const n=Je.create(e,r);return this.points.forEach(i=>i.translate(n.x,n.y)),this}round(e=0){return this.points.forEach(r=>r.round(e)),this}bbox(){if(this.points.length===0)return new Bt;let e=1/0,r=-1/0,n=1/0,i=-1/0;const a=this.points;for(let s=0,o=a.length;s<o;s+=1){const l=a[s],u=l.x,d=l.y;u<e&&(e=u),u>r&&(r=u),d<n&&(n=d),d>i&&(i=d)}return new Bt(e,n,r-e,i-n)}closestPoint(e){const r=this.closestPointLength(e);return this.pointAtLength(r)}closestPointLength(e){const r=this.points,n=r.length;if(n===0||n===1)return 0;let i=0,a=0,s=1/0;for(let o=0,l=n-1;o<l;o+=1){const u=new cr(r[o],r[o+1]),d=u.length(),h=u.closestPointNormalizedLength(e),p=u.pointAt(h).squaredDistance(e);p<s&&(s=p,a=i+h*d),i+=d}return a}closestPointNormalizedLength(e){const r=this.length();return r===0?0:this.closestPointLength(e)/r}closestPointTangent(e){const r=this.closestPointLength(e);return this.tangentAtLength(r)}containsPoint(e){if(this.points.length===0)return!1;const r=Je.clone(e),n=r.x,i=r.y,a=this.points,s=a.length;let o=s-1,l=0;for(let u=0;u<s;u+=1){const d=a[o],h=a[u];if(r.equals(d))return!0;const f=new cr(d,h);if(f.containsPoint(e))return!0;if(i<=d.y&&i>h.y||i>d.y&&i<=h.y){const p=d.x-n>h.x-n?d.x-n:h.x-n;if(p>=0){const g=new Je(n+p,i),m=new cr(e,g);f.intersectsWithLine(m)&&(l+=1)}}o=u}return l%2===1}intersectsWithLine(e){const r=[];for(let n=0,i=this.points.length-1;n<i;n+=1){const a=this.points[n],s=this.points[n+1],o=e.intersectsWithLine(new cr(a,s));o&&r.push(o)}return r.length>0?r:null}isDifferentiable(){for(let e=0,r=this.points.length-1;e<r;e+=1){const n=this.points[e],i=this.points[e+1];if(new cr(n,i).isDifferentiable())return!0}return!1}length(){let e=0;for(let r=0,n=this.points.length-1;r<n;r+=1){const i=this.points[r],a=this.points[r+1];e+=i.distance(a)}return e}pointAt(e){const r=this.points,n=r.length;if(n===0)return null;if(n===1||e<=0)return r[0].clone();if(e>=1)return r[n-1].clone();const a=this.length()*e;return this.pointAtLength(a)}pointAtLength(e){const r=this.points,n=r.length;if(n===0)return null;if(n===1)return r[0].clone();let i=!0;e<0&&(i=!1,e=-e);let a=0;for(let o=0,l=n-1;o<l;o+=1){const u=i?o:l-1-o,d=r[u],h=r[u+1],f=new cr(d,h),p=d.distance(h);if(e<=a+p)return f.pointAtLength((i?1:-1)*(e-a));a+=p}return(i?r[n-1]:r[0]).clone()}tangentAt(e){const n=this.points.length;if(n===0||n===1)return null;e<0&&(e=0),e>1&&(e=1);const a=this.length()*e;return this.tangentAtLength(a)}tangentAtLength(e){const r=this.points,n=r.length;if(n===0||n===1)return null;let i=!0;e<0&&(i=!1,e=-e);let a,s=0;for(let o=0,l=n-1;o<l;o+=1){const u=i?o:l-1-o,d=r[u],h=r[u+1],f=new cr(d,h),p=d.distance(h);if(f.isDifferentiable()){if(e<=s+p)return f.tangentAtLength((i?1:-1)*(e-s));a=f}s+=p}if(a){const o=i?1:0;return a.tangentAt(o)}return null}simplify(e={}){const r=this.points;if(r.length<3)return this;const n=e.threshold||0;let i=0;for(;r[i+2];){const a=i,s=i+1,o=i+2,l=r[a],u=r[s],d=r[o];new cr(l,d).closestPoint(u).distance(u)<=n?r.splice(s,1):i+=1}return this}toHull(){const e=this.points,r=e.length;if(r===0)return new qs;let n=e[0];for(let f=1;f<r;f+=1)(e[f].y<n.y||e[f].y===n.y&&e[f].x>n.x)&&(n=e[f]);const i=[];for(let f=0;f<r;f+=1){let p=n.theta(e[f]);p===0&&(p=360),i.push([e[f],f,p])}if(i.sort((f,p)=>{let g=f[2]-p[2];return g===0&&(g=p[1]-f[1]),g}),i.length>2){const f=i[i.length-1];i.unshift(f)}const a={},s=[],o=f=>`${f[0].toString()}@${f[1]}`;for(;i.length!==0;){const f=i.pop(),p=f[0];if(a[o(f)])continue;let g=!1;for(;!g;)if(s.length<2)s.push(f),g=!0;else{const m=s.pop(),U=m[0],y=s.pop(),b=y[0],v=b.cross(U,p);if(v<0)s.push(y),s.push(m),s.push(f),g=!0;else if(v===0){const T=U.angleBetween(b,p);Math.abs(T-180)<1e-10||U.equals(p)||b.equals(U)?(a[o(m)]=U,s.push(y)):Math.abs((T+1)%360-1)<1e-10&&(s.push(y),i.push(m))}else a[o(m)]=U,s.push(y)}}s.length>2&&s.pop();let l,u=-1;for(let f=0,p=s.length;f<p;f+=1){const g=s[f][1];(l===void 0||g<l)&&(l=g,u=f)}let d=[];if(u>0){const f=s.slice(u),p=s.slice(0,u);d=f.concat(p)}else d=s;const h=[];for(let f=0,p=d.length;f<p;f+=1)h.push(d[f][0]);return new qs(h)}equals(e){return e==null||e.points.length!==this.points.length?!1:e.points.every((r,n)=>r.equals(this.points[n]))}clone(){return new qs(this.points.map(e=>e.clone()))}toJSON(){return this.points.map(e=>e.toJSON())}serialize(){return this.points.map(e=>`${e.serialize()}`).join(" ")}}let U0=class nd extends x1{static isCurve(e){return e!=null&&e instanceof nd}static throughPoints(e){if(e==null||Array.isArray(e)&&e.length<2)throw new Error("At least 2 points are required");const r=Vst(e),n=[];for(let i=0,a=r[0].length;i<a;i+=1){const s=new Je(r[0][i].x,r[0][i].y),o=new Je(r[1][i].x,r[1][i].y);n.push(new nd(e[i],s,o,e[i+1]))}return n}constructor(e,r,n,i){super(),this.PRECISION=3,this.start=Je.create(e),this.controlPoint1=Je.create(r),this.controlPoint2=Je.create(n),this.end=Je.create(i)}bbox(){const e=this.start,r=this.controlPoint1,n=this.controlPoint2,i=this.end,a=e.x,s=e.y,o=r.x,l=r.y,u=n.x,d=n.y,h=i.x,f=i.y,p=[],g=[[],[]];let m,U,y,b,v,w,T,S;for(let _=0;_<2;_+=1){if(_===0?(U=6*a-12*o+6*u,m=-3*a+9*o-9*u+3*h,y=3*o-3*a):(U=6*s-12*l+6*d,m=-3*s+9*l-9*d+3*f,y=3*l-3*s),Math.abs(m)<1e-12){if(Math.abs(U)<1e-12)continue;b=-y/U,b>0&&b<1&&p.push(b);continue}T=U*U-4*y*m,S=Math.sqrt(T),!(T<0)&&(v=(-U+S)/(2*m),v>0&&v<1&&p.push(v),w=(-U-S)/(2*m),w>0&&w<1&&p.push(w))}let C,k,E,A=p.length;const M=A;for(;A;)A-=1,b=p[A],E=1-b,C=E*E*E*a+3*E*E*b*o+3*E*b*b*u+b*b*b*h,g[0][A]=C,k=E*E*E*s+3*E*E*b*l+3*E*b*b*d+b*b*b*f,g[1][A]=k;p[M]=0,p[M+1]=1,g[0][M]=a,g[1][M]=s,g[0][M+1]=h,g[1][M+1]=f,p.length=M+2,g[0].length=M+2,g[1].length=M+2;const P=Math.min.apply(null,g[0]),N=Math.min.apply(null,g[1]),I=Math.max.apply(null,g[0]),L=Math.max.apply(null,g[1]);return new Bt(P,N,I-P,L-N)}closestPoint(e,r={}){return this.pointAtT(this.closestPointT(e,r))}closestPointLength(e,r={}){const n=this.getOptions(r);return this.lengthAtT(this.closestPointT(e,n),n)}closestPointNormalizedLength(e,r={}){const n=this.getOptions(r),i=this.closestPointLength(e,n);if(!i)return 0;const a=this.length(n);return a===0?0:i/a}closestPointT(e,r={}){const n=this.getPrecision(r),i=this.getDivisions(r),a=Math.pow(10,-n);let s=null,o=0,l=0,u=0,d=0,h=0,f=null;const p=i.length;let g=p>0?1/p:0;for(i.forEach((m,U)=>{const y=m.start.distance(e),b=m.end.distance(e),v=y+b;(f==null||v<f)&&(s=m,o=U*g,l=(U+1)*g,u=y,d=b,f=v,h=m.endpointDistance())});;){const m=u?Math.abs(u-d)/u:0,U=d!=null?Math.abs(u-d)/d:0,y=m<a||U<a,b=u?u<h*a:!0,v=d?d<h*a:!0;if(y||(b||v))return u<=d?o:l;const T=s.divide(.5);g/=2;const S=T[0].start.distance(e),C=T[0].end.distance(e),k=S+C,E=T[1].start.distance(e),A=T[1].end.distance(e),M=E+A;k<=M?(s=T[0],l-=g,u=S,d=C):(s=T[1],o+=g,u=E,d=A)}}closestPointTangent(e,r={}){return this.tangentAtT(this.closestPointT(e,r))}containsPoint(e,r={}){return this.toPolyline(r).containsPoint(e)}divideAt(e,r={}){if(e<=0)return this.divideAtT(0);if(e>=1)return this.divideAtT(1);const n=this.tAt(e,r);return this.divideAtT(n)}divideAtLength(e,r={}){const n=this.tAtLength(e,r);return this.divideAtT(n)}divide(e){return this.divideAtT(e)}divideAtT(e){const r=this.start,n=this.controlPoint1,i=this.controlPoint2,a=this.end;if(e<=0)return[new nd(r,r,r,r),new nd(r,n,i,a)];if(e>=1)return[new nd(r,n,i,a),new nd(a,a,a,a)];const s=this.getSkeletonPoints(e),o=s.startControlPoint1,l=s.startControlPoint2,u=s.divider,d=s.dividerControlPoint1,h=s.dividerControlPoint2;return[new nd(r,o,l,u),new nd(u,d,h,a)]}endpointDistance(){return this.start.distance(this.end)}getSkeletonPoints(e){const r=this.start,n=this.controlPoint1,i=this.controlPoint2,a=this.end;if(e<=0)return{startControlPoint1:r.clone(),startControlPoint2:r.clone(),divider:r.clone(),dividerControlPoint1:n.clone(),dividerControlPoint2:i.clone()};if(e>=1)return{startControlPoint1:n.clone(),startControlPoint2:i.clone(),divider:a.clone(),dividerControlPoint1:a.clone(),dividerControlPoint2:a.clone()};const s=new cr(r,n).pointAt(e),o=new cr(n,i).pointAt(e),l=new cr(i,a).pointAt(e),u=new cr(s,o).pointAt(e),d=new cr(o,l).pointAt(e),h=new cr(u,d).pointAt(e);return{startControlPoint1:s,startControlPoint2:u,divider:h,dividerControlPoint1:d,dividerControlPoint2:l}}getSubdivisions(e={}){const r=this.getPrecision(e);let n=[new nd(this.start,this.controlPoint1,this.controlPoint2,this.end)];if(r===0)return n;let i=this.endpointDistance();const a=Math.pow(10,-r);let s=0;for(;;){s+=1;const o=[];n.forEach(d=>{const h=d.divide(.5);o.push(h[0],h[1])});const l=o.reduce((d,h)=>d+h.endpointDistance(),0),u=l!==0?(l-i)/l:0;if(s>1&&u<a)return o;n=o,i=l}}length(e={}){return this.getDivisions(e).reduce((n,i)=>n+i.endpointDistance(),0)}lengthAtT(e,r={}){if(e<=0)return 0;const n=r.precision===void 0?this.PRECISION:r.precision;return this.divide(e)[0].length({precision:n})}pointAt(e,r={}){if(e<=0)return this.start.clone();if(e>=1)return this.end.clone();const n=this.tAt(e,r);return this.pointAtT(n)}pointAtLength(e,r={}){const n=this.tAtLength(e,r);return this.pointAtT(n)}pointAtT(e){return e<=0?this.start.clone():e>=1?this.end.clone():this.getSkeletonPoints(e).divider}isDifferentiable(){const e=this.start,r=this.controlPoint1,n=this.controlPoint2,i=this.end;return!(e.equals(r)&&r.equals(n)&&n.equals(i))}tangentAt(e,r={}){if(!this.isDifferentiable())return null;e<0?e=0:e>1&&(e=1);const n=this.tAt(e,r);return this.tangentAtT(n)}tangentAtLength(e,r={}){if(!this.isDifferentiable())return null;const n=this.tAtLength(e,r);return this.tangentAtT(n)}tangentAtT(e){if(!this.isDifferentiable())return null;e<0&&(e=0),e>1&&(e=1);const r=this.getSkeletonPoints(e),n=r.startControlPoint2,i=r.dividerControlPoint1,a=r.divider,s=new cr(n,i);return s.translate(a.x-n.x,a.y-n.y),s}getPrecision(e={}){return e.precision==null?this.PRECISION:e.precision}getDivisions(e={}){if(e.subdivisions!=null)return e.subdivisions;const r=this.getPrecision(e);return this.getSubdivisions({precision:r})}getOptions(e={}){const r=this.getPrecision(e),n=this.getDivisions(e);return{precision:r,subdivisions:n}}tAt(e,r={}){if(e<=0)return 0;if(e>=1)return 1;const n=this.getOptions(r),a=this.length(n)*e;return this.tAtLength(a,n)}tAtLength(e,r={}){let n=!0;e<0&&(n=!1,e=-e);const i=this.getPrecision(r),a=this.getDivisions(r),s={precision:i,subdivisions:a};let o=null,l,u,d=0,h=0,f=0;const p=a.length;let g=p>0?1/p:0;for(let y=0;y<p;y+=1){const b=n?y:p-1-y,v=a[y],w=v.endpointDistance();if(e<=f+w){o=v,l=b*g,u=(b+1)*g,d=n?e-f:w+f-e,h=n?w+f-e:e-f;break}f+=w}if(o==null)return n?1:0;const m=this.length(s),U=Math.pow(10,-i);for(;;){let y;if(y=m!==0?d/m:0,y<U)return l;if(y=m!==0?h/m:0,y<U)return u;let b,v;const w=o.divide(.5);g/=2;const T=w[0].endpointDistance(),S=w[1].endpointDistance();d<=T?(o=w[0],u-=g,b=d,v=T-b):(o=w[1],l+=g,b=d-T,v=S-b),d=b,h=v}}toPoints(e={}){const r=this.getDivisions(e),n=[r[0].start.clone()];return r.forEach(i=>n.push(i.end.clone())),n}toPolyline(e={}){return new qs(this.toPoints(e))}scale(e,r,n){return this.start.scale(e,r,n),this.controlPoint1.scale(e,r,n),this.controlPoint2.scale(e,r,n),this.end.scale(e,r,n),this}rotate(e,r){return this.start.rotate(e,r),this.controlPoint1.rotate(e,r),this.controlPoint2.rotate(e,r),this.end.rotate(e,r),this}translate(e,r){return typeof e=="number"?(this.start.translate(e,r),this.controlPoint1.translate(e,r),this.controlPoint2.translate(e,r),this.end.translate(e,r)):(this.start.translate(e),this.controlPoint1.translate(e),this.controlPoint2.translate(e),this.end.translate(e)),this}equals(e){return e!=null&&this.start.equals(e.start)&&this.controlPoint1.equals(e.controlPoint1)&&this.controlPoint2.equals(e.controlPoint2)&&this.end.equals(e.end)}clone(){return new nd(this.start,this.controlPoint1,this.controlPoint2,this.end)}toJSON(){return{start:this.start.toJSON(),controlPoint1:this.controlPoint1.toJSON(),controlPoint2:this.controlPoint2.toJSON(),end:this.end.toJSON()}}serialize(){return[this.start.serialize(),this.controlPoint1.serialize(),this.controlPoint2.serialize(),this.end.serialize()].join(" ")}};function Foe(t){const e=t.length,r=[],n=[];let i=2;r[0]=t[0]/i;for(let a=1;a<e;a+=1)n[a]=1/i,i=(a<e-1?4:3.5)-n[a],r[a]=(t[a]-r[a-1])/i;for(let a=1;a<e;a+=1)r[e-a-1]-=n[e-a]*r[e-a];return r}function Vst(t){const e=t.map(l=>Je.clone(l)),r=[],n=[],i=e.length-1;if(i===1)return r[0]=new Je((2*e[0].x+e[1].x)/3,(2*e[0].y+e[1].y)/3),n[0]=new Je(2*r[0].x-e[0].x,2*r[0].y-e[0].y),[r,n];const a=[];for(let l=1;l<i-1;l+=1)a[l]=4*e[l].x+2*e[l+1].x;a[0]=e[0].x+2*e[1].x,a[i-1]=(8*e[i-1].x+e[i].x)/2;const s=Foe(a);for(let l=1;l<i-1;l+=1)a[l]=4*e[l].y+2*e[l+1].y;a[0]=e[0].y+2*e[1].y,a[i-1]=(8*e[i-1].y+e[i].y)/2;const o=Foe(a);for(let l=0;l<i;l+=1)r.push(new Je(s[l],o[l])),l<i-1?n.push(new Je(2*e[l+1].x-s[l+1],2*e[l+1].y-o[l+1])):n.push(new Je((e[i].x+s[i-1])/2,(e[i].y+o[i-1])/2));return[r,n]}class PO extends x1{constructor(){super(...arguments),this.isVisible=!0,this.isSegment=!0,this.isSubpathStart=!1}get end(){return this.endPoint}get start(){if(this.previousSegment==null)throw new Error("Missing previous segment. (This segment cannot be the first segment of a path, or segment has not yet been added to a path.)");return this.previousSegment.end}closestPointT(e,r){if(this.closestPointNormalizedLength)return this.closestPointNormalizedLength(e);throw new Error("Neither `closestPointT` nor `closestPointNormalizedLength` method is implemented.")}lengthAtT(e,r){if(e<=0)return 0;const n=this.length();return e>=1?n:n*e}divideAtT(e){if(this.divideAt)return this.divideAt(e);throw new Error("Neither `divideAtT` nor `divideAt` method is implemented.")}pointAtT(e){if(this.pointAt)return this.pointAt(e);throw new Error("Neither `pointAtT` nor `pointAt` method is implemented.")}tangentAtT(e){if(this.tangentAt)return this.tangentAt(e);throw new Error("Neither `tangentAtT` nor `tangentAt` method is implemented.")}}class Ss extends PO{static create(...e){const r=e.length,n=e[0];if(cr.isLine(n))return new Ss(n);if(Je.isPointLike(n))return r===1?new Ss(n):e.map(a=>new Ss(a));if(r===2)return new Ss(+e[0],+e[1]);const i=[];for(let a=0;a<r;a+=2){const s=+e[a],o=+e[a+1];i.push(new Ss(s,o))}return i}constructor(e,r){super(),cr.isLine(e)?this.endPoint=e.end.clone().round(2):this.endPoint=Je.create(e,r).round(2)}get type(){return"L"}get line(){return new cr(this.start,this.end)}bbox(){return this.line.bbox()}closestPoint(e){return this.line.closestPoint(e)}closestPointLength(e){return this.line.closestPointLength(e)}closestPointNormalizedLength(e){return this.line.closestPointNormalizedLength(e)}closestPointTangent(e){return this.line.closestPointTangent(e)}length(){return this.line.length()}divideAt(e){const r=this.line.divideAt(e);return[new Ss(r[0]),new Ss(r[1])]}divideAtLength(e){const r=this.line.divideAtLength(e);return[new Ss(r[0]),new Ss(r[1])]}getSubdivisions(){return[]}pointAt(e){return this.line.pointAt(e)}pointAtLength(e){return this.line.pointAtLength(e)}tangentAt(e){return this.line.tangentAt(e)}tangentAtLength(e){return this.line.tangentAtLength(e)}isDifferentiable(){return this.previousSegment==null?!1:!this.start.equals(this.end)}clone(){return new Ss(this.end)}scale(e,r,n){return this.end.scale(e,r,n),this}rotate(e,r){return this.end.rotate(e,r),this}translate(e,r){return typeof e=="number"?this.end.translate(e,r):this.end.translate(e),this}equals(e){return this.type===e.type&&this.start.equals(e.start)&&this.end.equals(e.end)}toJSON(){return{type:this.type,start:this.start.toJSON(),end:this.end.toJSON()}}serialize(){const e=this.end;return`${this.type} ${e.x} ${e.y}`}}class Nw extends PO{static create(){return new Nw}get end(){if(!this.subpathStartSegment)throw new Error("Missing subpath start segment. (This segment needs a subpath start segment (e.g. MoveTo), or segment has not yet been added to a path.)");return this.subpathStartSegment.end}get type(){return"Z"}get line(){return new cr(this.start,this.end)}bbox(){return this.line.bbox()}closestPoint(e){return this.line.closestPoint(e)}closestPointLength(e){return this.line.closestPointLength(e)}closestPointNormalizedLength(e){return this.line.closestPointNormalizedLength(e)}closestPointTangent(e){return this.line.closestPointTangent(e)}length(){return this.line.length()}divideAt(e){const r=this.line.divideAt(e);return[r[1].isDifferentiable()?new Ss(r[0]):this.clone(),new Ss(r[1])]}divideAtLength(e){const r=this.line.divideAtLength(e);return[r[1].isDifferentiable()?new Ss(r[0]):this.clone(),new Ss(r[1])]}getSubdivisions(){return[]}pointAt(e){return this.line.pointAt(e)}pointAtLength(e){return this.line.pointAtLength(e)}tangentAt(e){return this.line.tangentAt(e)}tangentAtLength(e){return this.line.tangentAtLength(e)}isDifferentiable(){return!this.previousSegment||!this.subpathStartSegment?!1:!this.start.equals(this.end)}scale(){return this}rotate(){return this}translate(){return this}equals(e){return this.type===e.type&&this.start.equals(e.start)&&this.end.equals(e.end)}clone(){return new Nw}toJSON(){return{type:this.type,start:this.start.toJSON(),end:this.end.toJSON()}}serialize(){return this.type}}class bh extends PO{static create(...e){const r=e.length,n=e[0];if(cr.isLine(n))return new bh(n);if(U0.isCurve(n))return new bh(n);if(Je.isPointLike(n)){if(r===1)return new bh(n);const a=[];for(let s=0;s<r;s+=1)s===0?a.push(new bh(e[s])):a.push(new Ss(e[s]));return a}if(r===2)return new bh(+e[0],+e[1]);const i=[];for(let a=0;a<r;a+=2){const s=+e[a],o=+e[a+1];a===0?i.push(new bh(s,o)):i.push(new Ss(s,o))}return i}constructor(e,r){super(),this.isVisible=!1,this.isSubpathStart=!0,cr.isLine(e)||U0.isCurve(e)?this.endPoint=e.end.clone().round(2):this.endPoint=Je.create(e,r).round(2)}get start(){throw new Error("Illegal access. Moveto segments should not need a start property.")}get type(){return"M"}bbox(){return null}closestPoint(){return this.end.clone()}closestPointLength(){return 0}closestPointNormalizedLength(){return 0}closestPointT(){return 1}closestPointTangent(){return null}length(){return 0}lengthAtT(){return 0}divideAt(){return[this.clone(),this.clone()]}divideAtLength(){return[this.clone(),this.clone()]}getSubdivisions(){return[]}pointAt(){return this.end.clone()}pointAtLength(){return this.end.clone()}pointAtT(){return this.end.clone()}tangentAt(){return null}tangentAtLength(){return null}tangentAtT(){return null}isDifferentiable(){return!1}scale(e,r,n){return this.end.scale(e,r,n),this}rotate(e,r){return this.end.rotate(e,r),this}translate(e,r){return typeof e=="number"?this.end.translate(e,r):this.end.translate(e),this}clone(){return new bh(this.end)}equals(e){return this.type===e.type&&this.end.equals(e.end)}toJSON(){return{type:this.type,end:this.end.toJSON()}}serialize(){const e=this.end;return`${this.type} ${e.x} ${e.y}`}}class Ul extends PO{static create(...e){const r=e.length,n=e[0];if(U0.isCurve(n))return new Ul(n);if(Je.isPointLike(n)){if(r===3)return new Ul(e[0],e[1],e[2]);const a=[];for(let s=0;s<r;s+=3)a.push(new Ul(e[s],e[s+1],e[s+2]));return a}if(r===6)return new Ul(e[0],e[1],e[2],e[3],e[4],e[5]);const i=[];for(let a=0;a<r;a+=6)i.push(new Ul(e[a],e[a+1],e[a+2],e[a+3],e[a+4],e[a+5]));return i}constructor(e,r,n,i,a,s){super(),U0.isCurve(e)?(this.controlPoint1=e.controlPoint1.clone().round(2),this.controlPoint2=e.controlPoint2.clone().round(2),this.endPoint=e.end.clone().round(2)):typeof e=="number"?(this.controlPoint1=new Je(e,r).round(2),this.controlPoint2=new Je(n,i).round(2),this.endPoint=new Je(a,s).round(2)):(this.controlPoint1=Je.create(e).round(2),this.controlPoint2=Je.create(r).round(2),this.endPoint=Je.create(n).round(2))}get type(){return"C"}get curve(){return new U0(this.start,this.controlPoint1,this.controlPoint2,this.end)}bbox(){return this.curve.bbox()}closestPoint(e){return this.curve.closestPoint(e)}closestPointLength(e){return this.curve.closestPointLength(e)}closestPointNormalizedLength(e){return this.curve.closestPointNormalizedLength(e)}closestPointTangent(e){return this.curve.closestPointTangent(e)}length(){return this.curve.length()}divideAt(e,r={}){const n=this.curve.divideAt(e,r);return[new Ul(n[0]),new Ul(n[1])]}divideAtLength(e,r={}){const n=this.curve.divideAtLength(e,r);return[new Ul(n[0]),new Ul(n[1])]}divideAtT(e){const r=this.curve.divideAtT(e);return[new Ul(r[0]),new Ul(r[1])]}getSubdivisions(){return[]}pointAt(e){return this.curve.pointAt(e)}pointAtLength(e){return this.curve.pointAtLength(e)}tangentAt(e){return this.curve.tangentAt(e)}tangentAtLength(e){return this.curve.tangentAtLength(e)}isDifferentiable(){if(!this.previousSegment)return!1;const e=this.start,r=this.controlPoint1,n=this.controlPoint2,i=this.end;return!(e.equals(r)&&r.equals(n)&&n.equals(i))}scale(e,r,n){return this.controlPoint1.scale(e,r,n),this.controlPoint2.scale(e,r,n),this.end.scale(e,r,n),this}rotate(e,r){return this.controlPoint1.rotate(e,r),this.controlPoint2.rotate(e,r),this.end.rotate(e,r),this}translate(e,r){return typeof e=="number"?(this.controlPoint1.translate(e,r),this.controlPoint2.translate(e,r),this.end.translate(e,r)):(this.controlPoint1.translate(e),this.controlPoint2.translate(e),this.end.translate(e)),this}equals(e){return this.start.equals(e.start)&&this.end.equals(e.end)&&this.controlPoint1.equals(e.controlPoint1)&&this.controlPoint2.equals(e.controlPoint2)}clone(){return new Ul(this.controlPoint1,this.controlPoint2,this.end)}toJSON(){return{type:this.type,start:this.start.toJSON(),controlPoint1:this.controlPoint1.toJSON(),controlPoint2:this.controlPoint2.toJSON(),end:this.end.toJSON()}}serialize(){const e=this.controlPoint1,r=this.controlPoint2,n=this.end;return[this.type,e.x,e.y,r.x,r.y,n.x,n.y].join(" ")}}function ck(t,e,r){return{x:t*Math.cos(r)-e*Math.sin(r),y:t*Math.sin(r)+e*Math.cos(r)}}function zoe(t,e,r,n,i,a){const s=.3333333333333333,o=2/3;return[s*t+o*r,s*e+o*n,s*i+o*r,s*a+o*n,i,a]}function L6e(t,e,r,n,i,a,s,o,l,u){const d=Math.PI*120/180,h=Math.PI/180*(+i||0);let f=[],p,g,m,U,y;if(u)g=u[0],m=u[1],U=u[2],y=u[3];else{p=ck(t,e,-h),t=p.x,e=p.y,p=ck(o,l,-h),o=p.x,l=p.y;const I=(t-o)/2,L=(e-l)/2;let _=I*I/(r*r)+L*L/(n*n);_>1&&(_=Math.sqrt(_),r=_*r,n=_*n);const D=r*r,O=n*n,B=(a===s?-1:1)*Math.sqrt(Math.abs((D*O-D*L*L-O*I*I)/(D*L*L+O*I*I)));U=B*r*L/n+(t+o)/2,y=B*-n*I/r+(e+l)/2,g=Math.asin((e-y)/n),m=Math.asin((l-y)/n),g=t<U?Math.PI-g:g,m=o<U?Math.PI-m:m,g<0&&(g=Math.PI*2+g),m<0&&(m=Math.PI*2+m),s&&g>m&&(g-=Math.PI*2),!s&&m>g&&(m-=Math.PI*2)}let b=m-g;if(Math.abs(b)>d){const I=m,L=o,_=l;m=g+d*(s&&m>g?1:-1),o=U+r*Math.cos(m),l=y+n*Math.sin(m),f=L6e(o,l,r,n,i,0,s,L,_,[m,I,U,y])}b=m-g;const v=Math.cos(g),w=Math.sin(g),T=Math.cos(m),S=Math.sin(m),C=Math.tan(b/4),k=4/3*(r*C),E=4/3*(n*C),A=[t,e],M=[t+k*w,e-E*v],P=[o+k*S,l-E*T],N=[o,l];if(M[0]=2*A[0]-M[0],M[1]=2*A[1]-M[1],u)return[M,P,N].concat(f);{f=[M,P,N].concat(f).join().split(",");const I=[],L=f.length;for(let _=0;_<L;_+=1)I[_]=_%2?ck(+f[_-1],+f[_],h).y:ck(+f[_],+f[_+1],h).x;return I}}function Gst(t){if(!t)return null;const e=`
\v\f\r   ᠎              \u2028\u2029`,r=new RegExp(`([a-z])[${e},]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[${e}]*,?[${e}]*)+)`,"ig"),n=new RegExp(`(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[${e}]*,?[${e}]*`,"ig"),i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},a=[];return t.replace(r,(s,o,l)=>{const u=[];let d=o.toLowerCase();l.replace(n,(f,p)=>(p&&u.push(+p),f)),d==="m"&&u.length>2&&(a.push([o,...u.splice(0,2)]),d="l",o=o==="m"?"l":"L");const h=i[d];for(;u.length>=h&&(a.push([o,...u.splice(0,h)]),!!h););return s}),a}function Wst(t){const e=Gst(t);if(!e||!e.length)return[["M",0,0]];let r=0,n=0,i=0,a=0;const s=[];for(let o=0,l=e.length;o<l;o+=1){const u=[];s.push(u);const d=e[o],h=d[0];if(h!==h.toUpperCase())switch(u[0]=h.toUpperCase(),u[0]){case"A":u[1]=d[1],u[2]=d[2],u[3]=d[3],u[4]=d[4],u[5]=d[5],u[6]=+d[6]+r,u[7]=+d[7]+n;break;case"V":u[1]=+d[1]+n;break;case"H":u[1]=+d[1]+r;break;case"M":i=+d[1]+r,a=+d[2]+n;for(let f=1,p=d.length;f<p;f+=1)u[f]=+d[f]+(f%2?r:n);break;default:for(let f=1,p=d.length;f<p;f+=1)u[f]=+d[f]+(f%2?r:n);break}else for(let f=0,p=d.length;f<p;f+=1)u[f]=d[f];switch(u[0]){case"Z":r=+i,n=+a;break;case"H":r=u[1];break;case"V":n=u[1];break;case"M":i=u[u.length-2],a=u[u.length-1],r=u[u.length-2],n=u[u.length-1];break;default:r=u[u.length-2],n=u[u.length-1];break}}return s}function qst(t){const e=Wst(t),r={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:null,qy:null};function n(l,u,d){let h,f;if(!l)return["C",u.x,u.y,u.x,u.y,u.x,u.y];switch(l[0]in{T:1,Q:1}||(u.qx=null,u.qy=null),l[0]){case"M":u.X=l[1],u.Y=l[2];break;case"A":return parseFloat(l[1])===0||parseFloat(l[2])===0?["L",l[6],l[7]]:["C"].concat(L6e.apply(0,[u.x,u.y].concat(l.slice(1))));case"S":return d==="C"||d==="S"?(h=u.x*2-u.bx,f=u.y*2-u.by):(h=u.x,f=u.y),["C",h,f].concat(l.slice(1));case"T":return d==="Q"||d==="T"?(u.qx=u.x*2-u.qx,u.qy=u.y*2-u.qy):(u.qx=u.x,u.qy=u.y),["C"].concat(zoe(u.x,u.y,u.qx,u.qy,l[1],l[2]));case"Q":return u.qx=l[1],u.qy=l[2],["C"].concat(zoe(u.x,u.y,l[1],l[2],l[3],l[4]));case"H":return["L"].concat(l[1],u.y);case"V":return["L"].concat(u.x,l[1])}return l}function i(l,u){if(l[u].length>7){l[u].shift();const d=l[u];for(;d.length;)a[u]="A",u+=1,l.splice(u,0,["C"].concat(d.splice(0,6)));l.splice(u,1),o=e.length}}const a=[];let s="",o=e.length;for(let l=0;l<o;l+=1){let u="";e[l]&&(u=e[l][0]),u!=="C"&&(a[l]=u,l>0&&(s=a[l-1])),e[l]=n(e[l],r,s),a[l]!=="A"&&u==="C"&&(a[l]="C"),i(e,l);const d=e[l],h=d.length;r.x=d[h-2],r.y=d[h-1],r.bx=parseFloat(d[h-4])||r.x,r.by=parseFloat(d[h-3])||r.y}return(!e[0][0]||e[0][0]!=="M")&&e.unshift(["M",0,0]),e}function N6e(t){return qst(t).map(e=>e.map(r=>typeof r=="string"?r:iU(r,2))).join(",").split(",").join(" ")}let hi=class Da extends x1{static isPath(e){return e!=null&&e instanceof Da}static parse(e){if(!e)return new Da;const r=new Da,n=/(?:[a-zA-Z] *)(?:(?:-?\d+(?:\.\d+)?(?:e[-+]?\d+)? *,? *)|(?:-?\.\d+ *,? *))+|(?:[a-zA-Z] *)(?! |\d|-|\.)/g,i=N6e(e).match(n);if(i!=null)for(let a=0,s=i.length;a<s;a+=1){const o=i[a],l=/(?:[a-zA-Z])|(?:(?:-?\d+(?:\.\d+)?(?:e[-+]?\d+)?))|(?:(?:-?\.\d+))/g,u=o.match(l);if(u!=null){const d=u[0],h=u.slice(1).map(p=>+p),f=Da.createSegment.call(null,d,...h);r.appendSegment(f)}}return r}static createSegment(e,...r){if(e==="M")return bh.create.call(null,...r);if(e==="L")return Ss.create.call(null,...r);if(e==="C")return Ul.create.call(null,...r);if(e==="z"||e==="Z")return Nw.create();throw new Error(`Invalid path segment type "${e}"`)}constructor(e){if(super(),this.PRECISION=3,this.segments=[],Array.isArray(e))if(cr.isLine(e[0])||U0.isCurve(e[0])){let r=null;e.forEach((i,a)=>{a===0&&this.appendSegment(Da.createSegment("M",i.start)),r!=null&&!r.end.equals(i.start)&&this.appendSegment(Da.createSegment("M",i.start)),cr.isLine(i)?this.appendSegment(Da.createSegment("L",i.end)):U0.isCurve(i)&&this.appendSegment(Da.createSegment("C",i.controlPoint1,i.controlPoint2,i.end)),r=i})}else e.forEach(n=>{n.isSegment&&this.appendSegment(n)});else e!=null&&(cr.isLine(e)?(this.appendSegment(Da.createSegment("M",e.start)),this.appendSegment(Da.createSegment("L",e.end))):U0.isCurve(e)?(this.appendSegment(Da.createSegment("M",e.start)),this.appendSegment(Da.createSegment("C",e.controlPoint1,e.controlPoint2,e.end))):qs.isPolyline(e)?e.points&&e.points.length&&e.points.forEach((r,n)=>{const i=n===0?Da.createSegment("M",r):Da.createSegment("L",r);this.appendSegment(i)}):e.isSegment&&this.appendSegment(e))}get start(){const e=this.segments,r=e.length;if(r===0)return null;for(let n=0;n<r;n+=1){const i=e[n];if(i.isVisible)return i.start}return e[r-1].end}get end(){const e=this.segments,r=e.length;if(r===0)return null;for(let n=r-1;n>=0;n-=1){const i=e[n];if(i.isVisible)return i.end}return e[r-1].end}moveTo(...e){return this.appendSegment(bh.create.call(null,...e))}lineTo(...e){return this.appendSegment(Ss.create.call(null,...e))}curveTo(...e){return this.appendSegment(Ul.create.call(null,...e))}arcTo(e,r,n,i,a,s,o){const l=this.end||new Je,u=typeof s=="number"?$oe(l.x,l.y,e,r,n,i,a,s,o):$oe(l.x,l.y,e,r,n,i,a,s.x,s.y);if(u!=null)for(let d=0,h=u.length;d<h;d+=6)this.curveTo(u[d],u[d+1],u[d+2],u[d+3],u[d+4],u[d+5]);return this}quadTo(e,r,n,i){const a=this.end||new Je,s=["M",a.x,a.y];if(typeof e=="number")s.push("Q",e,r,n,i);else{const l=r;s.push("Q",e.x,e.y,l.x,l.y)}const o=Da.parse(s.join(" "));return this.appendSegment(o.segments.slice(1)),this}close(){return this.appendSegment(Nw.create())}drawPoints(e,r={}){const n=Hst(e,r),i=Da.parse(n);i&&i.segments&&this.appendSegment(i.segments)}bbox(){const e=this.segments,r=e.length;if(r===0)return null;let n;for(let a=0;a<r;a+=1){const s=e[a];if(s.isVisible){const o=s.bbox();o!=null&&(n=n?n.union(o):o)}}if(n!=null)return n;const i=e[r-1];return new Bt(i.end.x,i.end.y,0,0)}appendSegment(e){const r=this.segments.length;let n=r!==0?this.segments[r-1]:null,i;const a=null;if(Array.isArray(e))for(let s=0,o=e.length;s<o;s+=1){const l=e[s];i=this.prepareSegment(l,n,a),this.segments.push(i),n=i}else e!=null&&e.isSegment&&(i=this.prepareSegment(e,n,a),this.segments.push(i));return this}insertSegment(e,r){const n=this.segments.length;if(e<0&&(e=n+e+1),e>n||e<0)throw new Error("Index out of range.");let i,a=null,s=null;if(n!==0&&(e>=1?(a=this.segments[e-1],s=a.nextSegment):(a=null,s=this.segments[0])),!Array.isArray(r))i=this.prepareSegment(r,a,s),this.segments.splice(e,0,i);else for(let o=0,l=r.length;o<l;o+=1){const u=r[o];i=this.prepareSegment(u,a,s),this.segments.splice(e+o,0,i),a=i}return this}removeSegment(e){const r=this.fixIndex(e),n=this.segments.splice(r,1)[0],i=n.previousSegment,a=n.nextSegment;return i&&(i.nextSegment=a),a&&(a.previousSegment=i),n.isSubpathStart&&a&&this.updateSubpathStartSegment(a),n}replaceSegment(e,r){const n=this.fixIndex(e);let i;const a=this.segments[n];let s=a.previousSegment;const o=a.nextSegment;let l=a.isSubpathStart;if(!Array.isArray(r))i=this.prepareSegment(r,s,o),this.segments.splice(n,1,i),l&&i.isSubpathStart&&(l=!1);else{this.segments.splice(e,1);for(let u=0,d=r.length;u<d;u+=1){const h=r[u];i=this.prepareSegment(h,s,o),this.segments.splice(e+u,0,i),s=i,l&&i.isSubpathStart&&(l=!1)}}l&&o&&this.updateSubpathStartSegment(o)}getSegment(e){const r=this.fixIndex(e);return this.segments[r]}fixIndex(e){const r=this.segments.length;if(r===0)throw new Error("Path has no segments.");let n=e;for(;n<0;)n=r+n;if(n>=r||n<0)throw new Error("Index out of range.");return n}segmentAt(e,r={}){const n=this.segmentIndexAt(e,r);return n?this.getSegment(n):null}segmentAtLength(e,r={}){const n=this.segmentIndexAtLength(e,r);return n?this.getSegment(n):null}segmentIndexAt(e,r={}){if(this.segments.length===0)return null;const n=cy(e,0,1),i=this.getOptions(r),s=this.length(i)*n;return this.segmentIndexAtLength(s,i)}segmentIndexAtLength(e,r={}){const n=this.segments.length;if(n===0)return null;let i=!0;e<0&&(i=!1,e=-e);const a=this.getPrecision(r),s=this.getSubdivisions(r);let o=0,l=null;for(let u=0;u<n;u+=1){const d=i?u:n-1-u,h=this.segments[d],f=s[d],p=h.length({precision:a,subdivisions:f});if(h.isVisible){if(e<=o+p)return d;l=d}o+=p}return l}getSegmentSubdivisions(e={}){const r=this.getPrecision(e),n=[];for(let i=0,a=this.segments.length;i<a;i+=1){const o=this.segments[i].getSubdivisions({precision:r});n.push(o)}return n}updateSubpathStartSegment(e){let r=e.previousSegment,n=e;for(;n&&!n.isSubpathStart;)r!=null?n.subpathStartSegment=r.subpathStartSegment:n.subpathStartSegment=null,r=n,n=n.nextSegment}prepareSegment(e,r,n){e.previousSegment=r,e.nextSegment=n,r!=null&&(r.nextSegment=e),n!=null&&(n.previousSegment=e);let i=e;return e.isSubpathStart&&(e.subpathStartSegment=e,i=n),i!=null&&this.updateSubpathStartSegment(i),e}closestPoint(e,r={}){const n=this.closestPointT(e,r);return n?this.pointAtT(n):null}closestPointLength(e,r={}){const n=this.getOptions(r),i=this.closestPointT(e,n);return i?this.lengthAtT(i,n):0}closestPointNormalizedLength(e,r={}){const n=this.getOptions(r),i=this.closestPointLength(e,n);if(i===0)return 0;const a=this.length(n);return a===0?0:i/a}closestPointT(e,r={}){if(this.segments.length===0)return null;const n=this.getPrecision(r),i=this.getSubdivisions(r);let a,s=1/0;for(let o=0,l=this.segments.length;o<l;o+=1){const u=this.segments[o],d=i[o];if(u.isVisible){const h=u.closestPointT(e,{precision:n,subdivisions:d}),f=u.pointAtT(h),p=Boe(f,e);p<s&&(a={segmentIndex:o,value:h},s=p)}}return a||{segmentIndex:this.segments.length-1,value:1}}closestPointTangent(e,r={}){if(this.segments.length===0)return null;const n=this.getPrecision(r),i=this.getSubdivisions(r);let a,s=1/0;for(let o=0,l=this.segments.length;o<l;o+=1){const u=this.segments[o],d=i[o];if(u.isDifferentiable()){const h=u.closestPointT(e,{precision:n,subdivisions:d}),f=u.pointAtT(h),p=Boe(f,e);p<s&&(a=u.tangentAtT(h),s=p)}}return a||null}containsPoint(e,r={}){const n=this.toPolylines(r);if(!n)return!1;let i=0;for(let a=0,s=n.length;a<s;a+=1)n[a].containsPoint(e)&&(i+=1);return i%2===1}pointAt(e,r={}){if(this.segments.length===0)return null;if(e<=0)return this.start.clone();if(e>=1)return this.end.clone();const n=this.getOptions(r),a=this.length(n)*e;return this.pointAtLength(a,n)}pointAtLength(e,r={}){if(this.segments.length===0)return null;if(e===0)return this.start.clone();let n=!0;e<0&&(n=!1,e=-e);const i=this.getPrecision(r),a=this.getSubdivisions(r);let s,o=0;for(let u=0,d=this.segments.length;u<d;u+=1){const h=n?u:d-1-u,f=this.segments[h],p=a[h],g=f.length({precision:i,subdivisions:p});if(f.isVisible){if(e<=o+g)return f.pointAtLength((n?1:-1)*(e-o),{precision:i,subdivisions:p});s=f}o+=g}return s?n?s.end:s.start:this.segments[this.segments.length-1].end.clone()}pointAtT(e){const r=this.segments,n=r.length;if(n===0)return null;const i=e.segmentIndex;if(i<0)return r[0].pointAtT(0);if(i>=n)return r[n-1].pointAtT(1);const a=cy(e.value,0,1);return r[i].pointAtT(a)}divideAt(e,r={}){if(this.segments.length===0)return null;const n=cy(e,0,1),i=this.getOptions(r),s=this.length(i)*n;return this.divideAtLength(s,i)}divideAtLength(e,r={}){if(this.segments.length===0)return null;let n=!0;e<0&&(n=!1,e=-e);const i=this.getPrecision(r),a=this.getSubdivisions(r);let s=0,o,l,u,d,h;for(let T=0,S=this.segments.length;T<S;T+=1){const C=n?T:S-1-T,k=this.getSegment(C),E=a[C],A={precision:i,subdivisions:E},M=k.length(A);if(k.isDifferentiable()&&(u=k,d=C,e<=s+M)){l=C,o=k.divideAtLength((n?1:-1)*(e-s),A);break}s+=M}if(!u)return null;o||(l=d,h=n?1:0,o=u.divideAtT(h));const f=this.clone(),p=l;f.replaceSegment(p,o);const g=p;let m=p+1,U=p+2;o[0].isDifferentiable()||(f.removeSegment(g),m-=1,U-=1);const y=f.getSegment(m).start;f.insertSegment(m,Da.createSegment("M",y)),U+=1,o[1].isDifferentiable()||(f.removeSegment(U-1),U-=1);const b=U-g-1;for(let T=U,S=f.segments.length;T<S;T+=1){const C=this.getSegment(T-b),k=f.getSegment(T);if(k.type==="Z"&&!C.subpathStartSegment.end.equals(k.subpathStartSegment.end)){const E=Da.createSegment("L",C.end);f.replaceSegment(T,E)}}const v=new Da(f.segments.slice(0,m)),w=new Da(f.segments.slice(m));return[v,w]}intersectsWithLine(e,r={}){const n=this.toPolylines(r);if(n==null)return null;let i=null;for(let a=0,s=n.length;a<s;a+=1){const o=n[a],l=e.intersect(o);l&&(i==null&&(i=[]),Array.isArray(l)?i.push(...l):i.push(l))}return i}isDifferentiable(){for(let e=0,r=this.segments.length;e<r;e+=1)if(this.segments[e].isDifferentiable())return!0;return!1}isValid(){const e=this.segments;return e.length===0||e[0].type==="M"}length(e={}){if(this.segments.length===0)return 0;const r=this.getSubdivisions(e);let n=0;for(let i=0,a=this.segments.length;i<a;i+=1){const s=this.segments[i],o=r[i];n+=s.length({subdivisions:o})}return n}lengthAtT(e,r={}){const n=this.segments.length;if(n===0)return 0;let i=e.segmentIndex;if(i<0)return 0;let a=cy(e.value,0,1);i>=n&&(i=n-1,a=1);const s=this.getPrecision(r),o=this.getSubdivisions(r);let l=0;for(let h=0;h<i;h+=1){const f=this.segments[h],p=o[h];l+=f.length({precision:s,subdivisions:p})}const u=this.segments[i],d=o[i];return l+=u.lengthAtT(a,{precision:s,subdivisions:d}),l}tangentAt(e,r={}){if(this.segments.length===0)return null;const n=cy(e,0,1),i=this.getOptions(r),s=this.length(i)*n;return this.tangentAtLength(s,i)}tangentAtLength(e,r={}){if(this.segments.length===0)return null;let n=!0;e<0&&(n=!1,e=-e);const i=this.getPrecision(r),a=this.getSubdivisions(r);let s,o=0;for(let l=0,u=this.segments.length;l<u;l+=1){const d=n?l:u-1-l,h=this.segments[d],f=a[d],p=h.length({precision:i,subdivisions:f});if(h.isDifferentiable()){if(e<=o+p)return h.tangentAtLength((n?1:-1)*(e-o),{precision:i,subdivisions:f});s=h}o+=p}if(s){const l=n?1:0;return s.tangentAtT(l)}return null}tangentAtT(e){const r=this.segments.length;if(r===0)return null;const n=e.segmentIndex;if(n<0)return this.segments[0].tangentAtT(0);if(n>=r)return this.segments[r-1].tangentAtT(1);const i=cy(e.value,0,1);return this.segments[n].tangentAtT(i)}getPrecision(e={}){return e.precision==null?this.PRECISION:e.precision}getSubdivisions(e={}){if(e.segmentSubdivisions==null){const r=this.getPrecision(e);return this.getSegmentSubdivisions({precision:r})}return e.segmentSubdivisions}getOptions(e={}){const r=this.getPrecision(e),n=this.getSubdivisions(e);return{precision:r,segmentSubdivisions:n}}toPoints(e={}){const r=this.segments,n=r.length;if(n===0)return null;const i=this.getSubdivisions(e),a=[];let s=[];for(let o=0;o<n;o+=1){const l=r[o];if(l.isVisible){const u=i[o];u.length>0?u.forEach(d=>s.push(d.start)):s.push(l.start)}else s.length>0&&(s.push(r[o-1].end),a.push(s),s=[])}return s.length>0&&(s.push(this.end),a.push(s)),a}toPolylines(e={}){const r=this.toPoints(e);return r?r.map(n=>new qs(n)):null}scale(e,r,n){return this.segments.forEach(i=>i.scale(e,r,n)),this}rotate(e,r){return this.segments.forEach(n=>n.rotate(e,r)),this}translate(e,r){return typeof e=="number"?this.segments.forEach(n=>n.translate(e,r)):this.segments.forEach(n=>n.translate(e)),this}clone(){const e=new Da;return this.segments.forEach(r=>e.appendSegment(r.clone())),e}equals(e){if(e==null)return!1;const r=this.segments,n=e.segments,i=r.length;if(n.length!==i)return!1;for(let a=0;a<i;a+=1){const s=r[a],o=n[a];if(s.type!==o.type||!s.equals(o))return!1}return!0}toJSON(){return this.segments.map(e=>e.toJSON())}serialize(){if(!this.isValid())throw new Error("Invalid path segments.");return this.segments.map(e=>e.serialize()).join(" ")}toString(){return this.serialize()}};function F4(t,e,r){let n,i;typeof e=="object"?(n=e.x,i=e.y):(n=e,i=r);const a=hi.parse(t),s=a.bbox();if(s){let o=-s.height/2-s.y,l=-s.width/2-s.x;typeof n=="number"&&(l-=n),typeof i=="number"&&(o-=i),a.translate(l,o)}return a.serialize()}const PZ=/[\t\r\n\f]/g,_Z=/\S+/g,xv=t=>` ${t} `;function wv(t){return t&&t.getAttribute&&t.getAttribute("class")||""}function Mh(t,e){if(t==null||e==null)return!1;const r=xv(wv(t)),n=xv(e);return t.nodeType===1?r.replace(PZ," ").includes(n):!1}function nr(t,e){if(!(t==null||e==null)){if(typeof e=="function")return nr(t,e(wv(t)));if(typeof e=="string"&&t.nodeType===1){const r=e.match(_Z)||[],n=xv(wv(t)).replace(PZ," ");let i=r.reduce((a,s)=>a.indexOf(xv(s))<0?`${a}${s} `:a,n);i=i.trim(),n!==i&&t.setAttribute("class",i)}}}function Vi(t,e){if(t!=null){if(typeof e=="function")return Vi(t,e(wv(t)));if((!e||typeof e=="string")&&t.nodeType===1){const r=(e||"").match(_Z)||[],n=xv(wv(t)).replace(PZ," ");let i=r.reduce((a,s)=>{const o=xv(s);return a.indexOf(o)>-1?a.replace(o," "):a},n);i=e?i.trim():"",n!==i&&t.setAttribute("class",i)}}}function cd(t,e,r){if(!(t==null||e==null)){if(r!=null&&typeof e=="string"){r?nr(t,e):Vi(t,e);return}if(typeof e=="function")return cd(t,e(wv(t),r),r);typeof e=="string"&&(e.match(_Z)||[]).forEach(i=>{Mh(t,i)?Vi(t,i):nr(t,i)})}}let Hoe=0;function jst(){return Hoe+=1,`v${Hoe}`}function BZ(t){return(t.id==null||t.id==="")&&(t.id=jst()),t.id}function Dg(t){return t==null?!1:typeof t.getScreenCTM=="function"&&t instanceof SVGElement}const js={svg:"http://www.w3.org/2000/svg",xmlns:"http://www.w3.org/2000/xmlns/",xml:"http://www.w3.org/XML/1998/namespace",xlink:"http://www.w3.org/1999/xlink",xhtml:"http://www.w3.org/1999/xhtml"},Voe="1.1";function O6e(t,e=document){return e.createElement(t)}function $Z(t,e=js.xhtml,r=document){return r.createElementNS(e,t)}function Kd(t,e=document){return $Z(t,js.svg,e)}function CA(t){if(t){const r=`<svg xmlns="${js.svg}" xmlns:xlink="${js.xlink}" version="${Voe}">${t}</svg>`,{documentElement:n}=Yst(r,{async:!1});return n}const e=document.createElementNS(js.svg,"svg");return e.setAttributeNS(js.xmlns,"xmlns:xlink",js.xlink),e.setAttribute("version",Voe),e}function Yst(t,e={}){let r;try{const n=new DOMParser;if(e.async!=null){const i=n;i.async=e.async}r=n.parseFromString(t,e.mimeType||"text/xml")}catch{r=void 0}if(!r||r.getElementsByTagName("parsererror").length)throw new Error(`Invalid XML: ${t}`);return r}function Xst(t,e=!0){const r=t.nodeName;return e?r.toLowerCase():r.toUpperCase()}function FZ(t){let e=0,r=t.previousSibling;for(;r;)r.nodeType===1&&(e+=1),r=r.previousSibling;return e}function Kst(t,e){return t.querySelectorAll(e)}function Zst(t,e){return t.querySelector(e)}function D6e(t,e,r){const n=t.ownerSVGElement;let i=t.parentNode;for(;i&&i!==r&&i!==n;){if(Mh(i,e))return i;i=i.parentNode}return null}function zZ(t,e){const r=e&&e.parentNode;return t===r||!!(r&&r.nodeType===1&&t.compareDocumentPosition(r)&16)}function Bu(t){t&&(Array.isArray(t)?t:[t]).forEach(r=>{r.parentNode&&r.parentNode.removeChild(r)})}function $C(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function Mo(t,e){(Array.isArray(e)?e:[e]).forEach(n=>{n!=null&&t.appendChild(n)})}function P6e(t,e){const r=t.firstChild;return r?Ow(r,e):Mo(t,e)}function Ow(t,e){const r=t.parentNode;r&&(Array.isArray(e)?e:[e]).forEach(i=>{i!=null&&r.insertBefore(i,t)})}function Jst(t,e){const r=t.parentNode;r&&(Array.isArray(e)?e:[e]).forEach(i=>{i!=null&&r.insertBefore(i,t.nextSibling)})}function $u(t,e){e!=null&&e.appendChild(t)}function Qst(t){return!!t&&t.nodeType===1}function _6e(t){try{return t instanceof HTMLElement}catch{return typeof t=="object"&&t.nodeType===1&&typeof t.style=="object"&&typeof t.ownerDocument=="object"}}function eot(t,e){const r=[];let n=t.firstChild;for(;n;n=n.nextSibling)n.nodeType===1&&(!e||Mh(n,e))&&r.push(n);return r}const B6e=t=>{const e=Object.create(null);return(r=>e[r]||(e[r]=t(r)))},$6e=B6e(t=>t.replace(/\B([A-Z])/g,"-$1").toLowerCase()),HZ=B6e(t=>gst(PC(t)).replace(/ /g,"")),F6e=["viewBox","attributeName","attributeType","repeatCount","textLength","lengthAdjust","gradientUnits","preserveAspectRatio"];function tot(t,e){return t.getAttribute(e)}function VZ(t,e){const r=H6e(e);r.ns?t.hasAttributeNS(r.ns,r.local)&&t.removeAttributeNS(r.ns,r.local):t.hasAttribute(e)&&t.removeAttribute(e)}function GZ(t,e,r){if(r==null)return VZ(t,e);const n=H6e(e);n.ns&&typeof r=="string"?t.setAttributeNS(n.ns,e,r):e==="id"?t.id=`${r}`:t.setAttribute(e,`${r}`)}function z6e(t,e){Object.keys(e).forEach(r=>{GZ(t,r,e[r])})}function Nn(t,e,r){if(e==null){const n=t.attributes,i={};for(let a=0;a<n.length;a+=1)i[n[a].name]=n[a].value;return i}if(typeof e=="string"&&r===void 0)return t.getAttribute(e);typeof e=="object"?z6e(t,e):GZ(t,e,r)}function H6e(t){if(t.indexOf(":")!==-1){const e=t.split(":");return{ns:js[e[0]],local:e[1]}}return{ns:null,local:t}}function Dw(t){const e={};return Object.keys(t).forEach(r=>{const n=F6e.includes(r)?r:$6e(r);e[n]=t[r]}),e}function uk(t){const e={};return t.split(";").forEach(n=>{const i=n.trim();if(i){const a=i.split("=");a.length&&(e[a[0].trim()]=a[1]?a[1].trim():"")}}),e}function BV(t,e){return Object.keys(e).forEach(r=>{if(r==="class")t[r]=t[r]?`${t[r]} ${e[r]}`:e[r];else if(r==="style"){const n=typeof t[r]=="object",i=typeof e[r]=="object";let a,s;n&&i?(a=t[r],s=e[r]):n?(a=t[r],s=uk(e[r])):i?(a=uk(t[r]),s=e[r]):(a=uk(t[r]),s=uk(e[r])),t[r]=BV(a,s)}else t[r]=e[r]}),t}const rot=/-(.)/g;function not(t){return t.replace(rot,(e,r)=>r.toUpperCase())}const PB={},Goe=["webkit","ms","moz","o"],V6e=typeof document<"u"?document.createElement("div").style:{};function iot(t){for(let e=0;e<Goe.length;e+=1){const r=Goe[e]+t;if(r in V6e)return r}return null}function aot(t){const e=not(t);if(PB[e]==null){const r=e.charAt(0).toUpperCase()+e.slice(1);PB[e]=e in V6e?e:iot(r)}return PB[e]}function Woe(t,e){const r=t.ownerDocument&&t.ownerDocument.defaultView&&t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):window.getComputedStyle(t,null);return r&&e?r.getPropertyValue(e)||r[e]:r}const sot={animationIterationCount:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0};function oot(t){return/^--/.test(t)}function TR(t,e,r){const n=window.getComputedStyle(t,null);return r?n.getPropertyValue(e)||void 0:n[e]||t.style[e]}function dk(t,e){return parseInt(TR(t,e),10)||0}function lot(t,e){return!sot[t]&&typeof e=="number"?`${e}px`:e}function ai(t,e,r){if(typeof e=="string"){const n=oot(e);if(n||(e=aot(e)),r===void 0)return TR(t,e,n);n||(r=lot(e,r));const i=t.style;n?i.setProperty(e,r):i[e]=r;return}for(const n in e)ai(t,n,e[n])}function _B(t){let e=2166136261,r=!1,n=t;for(let i=0,a=n.length;i<a;i+=1){let s=n.charCodeAt(i);s>127&&!r&&(n=unescape(encodeURIComponent(n)),s=n.charCodeAt(i),r=!0),e^=s,e+=(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}return e>>>0}function WZ(){let t="";const e="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";for(let r=0,n=e.length;r<n;r+=1){const i=e[r],a=Math.random()*16|0,s=i==="x"?a:i==="y"?a&3|8:i;t+=s.toString(16)}return t}function cot(t,e,r){const n=Math.min(2,Math.floor(t.length*.34));let i=Math.floor(t.length*.4)+1,a,s=!1;const o=t.toLowerCase();for(const l of e){const u=r(l);if(u!==void 0&&Math.abs(u.length-o.length)<=n){const d=u.toLowerCase();if(d===o){if(u===t)continue;return l}if(s||u.length<3)continue;const h=uot(o,d,i-1);if(h===void 0)continue;h<3?(s=!0,a=l):(i=h,a=l)}}return a}function uot(t,e,r){let n=new Array(e.length+1),i=new Array(e.length+1);const a=r+1;for(let o=0;o<=e.length;o+=1)n[o]=o;for(let o=1;o<=t.length;o+=1){const l=t.charCodeAt(o-1),u=o>r?o-r:1,d=e.length>r+o?r+o:e.length;i[0]=o;let h=o;for(let p=1;p<u;p+=1)i[p]=a;for(let p=u;p<=d;p+=1){const g=l===e.charCodeAt(p-1)?n[p-1]:Math.min(n[p]+1,i[p-1]+1,n[p-1]+2);i[p]=g,h=Math.min(h,g)}for(let p=d+1;p<=e.length;p+=1)i[p]=a;if(h>r)return;const f=n;n=i,i=f}const s=n[e.length];return s>r?void 0:s}const CR=new WeakMap;function dot(t,e){const r=PC(e),n=CR.get(t);if(n)return n[r]}function hot(t,e,r){const n=PC(e),i=CR.get(t);i?i[n]=r:CR.set(t,{[n]:r})}function FU(t,e,r){if(!e)return CR.get(t);if(typeof e=="string"){if(r===void 0)return dot(t,e);hot(t,e,r);return}for(const n in e)FU(t,n,e[n])}const fot={class:"className",contenteditable:"contentEditable",for:"htmlFor",readonly:"readOnly",maxlength:"maxLength",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",usemap:"useMap"};function $V(t,e,r){if(e){if(typeof e=="string"){if(e=fot[e]||e,arguments.length<3)return t[e];t[e]=r;return}for(const n in e)$V(t,n,e[n])}}function pot(t,...e){e.forEach(r=>{Object.getOwnPropertyNames(r.prototype).forEach(n=>{n!=="constructor"&&Object.defineProperty(t.prototype,n,Object.getOwnPropertyDescriptor(r.prototype,n))})})}const got=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])};function mot(t,e){got(t,e);function r(){this.constructor=t}t.prototype=e===null?Object.create(e):(r.prototype=e.prototype,new r)}let Uot=class{};const yot=/^\s*class\s+/.test(`${Uot}`)||/^\s*class\s*\{/.test(`${class{}}`);function qZ(t,e){let r;return yot?r=class extends e{}:(r=function(){return e.apply(this,arguments)},mot(r,e)),Object.defineProperty(r,"name",{value:t}),r}function qoe(t){return t==="__proto__"}function jZ(t,e,r="/"){let n;const i=Array.isArray(e)?e:e.split(r);if(i.length)for(n=t;i.length;){const a=i.shift();if(Object(n)===n&&a&&a in n)n=n[a];else return}return n}function z4(t,e,r,n="/"){const i=Array.isArray(e)?e:e.split(n),a=i.pop();if(a&&!qoe(a)){let s=t;i.forEach(o=>{qoe(o)||(s[o]==null&&(s[o]={}),s=s[o])}),s[a]=r}return t}function joe(t,e,r="/"){const n=Array.isArray(e)?e.slice():e.split(r),i=n.pop();if(i)if(n.length>0){const a=jZ(t,n);a&&delete a[i]}else delete t[i];return t}function bot(t,e,r={}){const n=r.offset||0,i=[],a=[];let s,o,l=null;for(let u=0;u<t.length;u+=1){s=a[u]=t[u];for(let d=0,h=e.length;d<h;d+=1){const f=e[d],p=f.start+n,g=f.end+n;u>=p&&u<g&&(typeof s=="string"?s=a[u]={t:t[u],attrs:f.attrs}:s.attrs=BV(BV({},s.attrs),f.attrs),r.includeAnnotationIndices&&(s.annotations==null&&(s.annotations=[]),s.annotations.push(d)))}o=a[u-1],o?Va(s)&&Va(o)?(l=l,JSON.stringify(s.attrs)===JSON.stringify(o.attrs)?l.t+=s.t:(i.push(l),l=s)):Va(s)||Va(o)?(l=l,i.push(l),l=s):l=String(l||"")+String(s):l=s}return l!=null&&i.push(l),i}function vot(t){return t.replace(/ /g," ")}class Ar{get[Symbol.toStringTag](){return Yoe}get type(){return this.node.nodeName}get id(){return this.node.id}set id(e){this.node.id=e}static isVector(e){if(e==null)return!1;if(e instanceof Ar)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===Yoe)&&n.node instanceof SVGElement&&typeof n.sample=="function"&&typeof n.toPath=="function"}static create(e,r,n){return new Ar(e,r,n)}static createVectors(e){if(e[0]==="<"){const r=CA(e),n=[];for(let i=0,a=r.childNodes.length;i<a;i+=1){const s=r.childNodes[i];n.push(Ar.create(document.importNode(s,!0)))}return n}return[Ar.create(e)]}static toNode(e){return Ar.isVector(e)?e.node:e}static toNodes(e){return Array.isArray(e)?e.map(r=>Ar.toNode(r)):[Ar.toNode(e)]}constructor(e,r,n){if(!e)throw new TypeError("Invalid element to create vector");let i;if(Ar.isVector(e))i=e.node;else if(typeof e=="string")if(e.toLowerCase()==="svg")i=CA();else if(e[0]==="<"){const a=CA(e);i=document.importNode(a.firstChild,!0)}else i=document.createElementNS(js.svg,e);else i=e;this.node=i,r&&this.setAttributes(r),n&&this.append(n)}transform(e,r){return e==null?Tv(this.node):(Tv(this.node,e,r),this)}translate(e,r=0,n={}){return e==null?Koe(this.node):(Koe(this.node,e,r,n),this)}rotate(e,r,n,i={}){return e==null?HV(this.node):(HV(this.node,e,r,n,i),this)}scale(e,r){return e==null?Zoe(this.node):(Zoe(this.node,e,r),this)}getTransformToElement(e){const r=Ar.toNode(e);return YZ(this.node,r)}removeAttribute(e){return VZ(this.node,e),this}getAttribute(e){return tot(this.node,e)}setAttribute(e,r){return GZ(this.node,e,r),this}setAttributes(e){return z6e(this.node,e),this}attr(e,r){return e==null?Nn(this.node):typeof e=="string"&&r===void 0?Nn(this.node,e):(typeof e=="object"?Nn(this.node,e):Nn(this.node,e,r),this)}svg(){return this.node instanceof SVGSVGElement?this:Ar.create(this.node.ownerSVGElement)}defs(){const e=this.svg()||this,r=e.node.getElementsByTagName("defs")[0];return r?Ar.create(r):Ar.create("defs").appendTo(e)}text(e,r={}){return W6e(this.node,e,r),this}tagName(){return Xst(this.node)}clone(){return Ar.create(this.node.cloneNode(!0))}remove(){return Bu(this.node),this}empty(){return $C(this.node),this}append(e){return Mo(this.node,Ar.toNodes(e)),this}appendTo(e){return $u(this.node,Ar.isVector(e)?e.node:e),this}prepend(e){return P6e(this.node,Ar.toNodes(e)),this}before(e){return Ow(this.node,Ar.toNodes(e)),this}replace(e){return this.node.parentNode&&this.node.parentNode.replaceChild(Ar.toNode(e),this.node),Ar.create(e)}first(){return this.node.firstChild?Ar.create(this.node.firstChild):null}last(){return this.node.lastChild?Ar.create(this.node.lastChild):null}get(e){const r=this.node.childNodes[e];return r?Ar.create(r):null}indexOf(e){return Array.prototype.slice.call(this.node.childNodes).indexOf(Ar.toNode(e))}find(e){const r=[],n=Kst(this.node,e);if(n)for(let i=0,a=n.length;i<a;i+=1)r.push(Ar.create(n[i]));return r}findOne(e){const r=Zst(this.node,e);return r?Ar.create(r):null}findParentByClass(e,r){const n=D6e(this.node,e,r);return n?Ar.create(n):null}matches(e){const r=this.node;this.node.matches;const n=r.matches||r.matchesSelector||r.msMatchesSelector||r.mozMatchesSelector||r.webkitMatchesSelector||r.oMatchesSelector||null;return n&&n.call(r,e)}contains(e){return zZ(this.node,Ar.isVector(e)?e.node:e)}wrap(e){const r=Ar.create(e),n=this.node.parentNode;return n!=null&&n.insertBefore(r.node,this.node),r.append(this)}parent(e){let r=this;if(r.node.parentNode==null)return null;if(r=Ar.create(r.node.parentNode),e==null)return r;do if(typeof e=="string"?r.matches(e):r instanceof e)return r;while(r=Ar.create(r.node.parentNode));return r}children(){const e=this.node.childNodes,r=[];for(let n=0;n<e.length;n+=1)e[n].nodeType===1&&r.push(Ar.create(e[n]));return r}eachChild(e,r){const n=this.children();for(let i=0,a=n.length;i<a;i+=1)e.call(n[i],n[i],i,n),r&&n[i].eachChild(e,r);return this}index(){return FZ(this.node)}hasClass(e){return Mh(this.node,e)}addClass(e){return nr(this.node,e),this}removeClass(e){return Vi(this.node,e),this}toggleClass(e,r){return cd(this.node,e,r),this}toLocalPoint(e,r){return zot(this.node,e,r)}sample(e=1){return this.node instanceof SVGPathElement?Cot(this.node,e):[]}toPath(){return Ar.create(Iot(this.node))}toPathData(){return X6e(this.node)}}const Yoe=`X6.${Ar.name}`;function xot(t,e){const r=Ar.create(e),n=Ar.create("textPath"),i=t.d;if(i&&t["xlink:href"]===void 0){const a=Ar.create("path").attr("d",i).appendTo(r.defs());n.attr("xlink:href",`#${a.id}`)}return typeof t=="object"&&n.attr(t),n.node}function wot(t,e,r){const n=r.eol,i=r.baseSize,a=r.lineHeight;let s=0,o;const l={},u=e.length-1;for(let d=0;d<=u;d+=1){let h=e[d],f=null;if(typeof h=="object"){const p=h.attrs,g=Ar.create("tspan",p);o=g.node;let m=h.t;n&&d===u&&(m+=n),o.textContent=m;const U=p.class;U&&g.addClass(U),r.includeAnnotationIndices&&g.attr("annotations",h.annotations.join(",")),f=parseFloat(p["font-size"]),f===void 0&&(f=i),f&&f>s&&(s=f)}else n&&d===u&&(h+=n),o=document.createTextNode(h||" "),i&&i>s&&(s=i);t.appendChild(o)}return s&&(l.maxFontSize=s),a?l.lineHeight=a:s&&(l.lineHeight=s*1.2),l}const G6e=/em$/;function hk(t,e){const r=parseFloat(t);return G6e.test(t)?r*e:r}function Tot(t,e,r,n){if(!Array.isArray(e))return 0;const i=e.length;if(!i)return 0;let a=e[0];const s=hk(a.maxFontSize,r)||r;let o=0;const l=hk(n,r);for(let h=1;h<i;h+=1){a=e[h];const f=hk(a.lineHeight,r)||l;o+=f}const u=hk(a.maxFontSize,r)||r;let d;switch(t){case"middle":d=s/2-.15*u-o/2;break;case"bottom":d=-(.25*u)-o;break;case"top":default:d=.8*s;break}return d}function W6e(t,e,r={}){e=vot(e);const n=r.eol;let i=r.textPath;const a=r.textVerticalAnchor,s=a==="middle"||a==="bottom"||a==="top";let o=r.x;o===void 0&&(o=t.getAttribute("x")||0);const l=r.includeAnnotationIndices;let u=r.annotations;u&&!Array.isArray(u)&&(u=[u]);const d=r.lineHeight,h=d==="auto",f=h?"1.5em":d||"1em";let p=!0;const g=t.childNodes;if(g.length===1){const E=g[0];E&&E.tagName.toUpperCase()==="TITLE"&&(p=!1)}p&&$C(t),Nn(t,{"xml:space":"preserve",display:e||r.displayEmpty?null:"none"});const m=Nn(t,"font-size");let U=parseFloat(m);U||(U=16,(s||u)&&!m&&Nn(t,"font-size",`${U}`));let y;i?(typeof i=="string"&&(i={d:i}),y=xot(i,t)):y=document.createDocumentFragment();let b,v=0,w;const T=e.split(`
`),S=[],C=T.length-1;for(let E=0;E<=C;E+=1){b=f;let A="v-line";const M=Kd("tspan");let P,N=T[E];if(N)if(u){const I=bot(N,u,{offset:-v,includeAnnotationIndices:l});P=wot(M,I,{eol:E!==C&&n,baseSize:U,lineHeight:h?null:f,includeAnnotationIndices:l});const L=P.lineHeight;L&&h&&E!==0&&(b=L),E===0&&(w=P.maxFontSize*.8)}else n&&E!==C&&(N+=n),M.textContent=N;else{M.textContent="-",A+=" v-empty-line";const I=M.style;I.fillOpacity=0,I.strokeOpacity=0,u&&(P={})}P&&S.push(P),E>0&&M.setAttribute("dy",b),(E>0||i)&&M.setAttribute("x",o),M.className.baseVal=A,y.appendChild(M),v+=N.length+1}if(s)if(u)b=Tot(a,S,U,f);else if(a==="top")b="0.8em";else{let E;switch(C>0?(E=parseFloat(f)||1,E*=C,G6e.test(f)||(E/=U)):E=0,a){case"middle":b=`${.3-E/2}em`;break;case"bottom":b=`${-E-.3}em`;break}}else a===0?b="0em":a?b=a:(b=0,t.getAttribute("y")==null&&t.setAttribute("y",`${w||"0.8em"}`));y.firstChild.setAttribute("dy",b),t.appendChild(y)}function Rx(t,e={}){const r=document.createElement("canvas").getContext("2d");if(!t)return{width:0};const n=[],i=e["font-size"]?`${parseFloat(e["font-size"])}px`:"14px";return n.push(e["font-style"]||"normal"),n.push(e["font-variant"]||"normal"),n.push(e["font-weight"]||400),n.push(i),n.push(e["font-family"]||"sans-serif"),r.font=n.join(" "),r.measureText(t)}function Xoe(t,e,r,n={}){if(e>=r)return[t,""];const i=t.length,a={};let s=Math.round(e/r*i-1);for(s<0&&(s=0);s>=0&&s<i;){const o=t.slice(0,s),l=a[o]||Rx(o,n).width,u=t.slice(0,s+1),d=a[u]||Rx(u,n).width;if(a[o]=l,a[u]=d,l>e)s-=1;else if(d<=e)s+=1;else break}return[t.slice(0,s),t.slice(s)]}function q6e(t,e,r={},n={}){const i=e.width,a=e.height,s=n.eol||`
`,o=r.fontSize||14,l=r.lineHeight?parseFloat(r.lineHeight):Math.ceil(o*1.4),u=Math.floor(a/l);if(t.indexOf(s)>-1){const U=WZ(),y=[];return t.split(s).forEach(b=>{const v=q6e(b,Object.assign(Object.assign({},e),{height:Number.MAX_SAFE_INTEGER}),r,Object.assign(Object.assign({},n),{eol:U}));v&&y.push(...v.split(U))}),y.slice(0,u).join(s)}const{width:d}=Rx(t,r);if(d<i)return t;const h=[];let f=t,p=d,g=n.ellipsis,m=0;g&&(typeof g!="string"&&(g="…"),m=Rx(g,r).width);for(let U=0;U<u;U+=1)if(p>i)if(U===u-1){const[b]=Xoe(f,i-m,p,r);h.push(g?`${b}${g}`:b)}else{const[b,v]=Xoe(f,i,p,r);h.push(b),f=v,p=Rx(f,r).width}else{h.push(f);break}return h.join(s)}const FV=.551784;function ko(t,e,r=NaN){const n=t.getAttribute(e);if(n==null)return r;const i=parseFloat(n);return Number.isNaN(i)?r:i}function Cot(t,e=1){const r=t.getTotalLength(),n=[];let i=0,a;for(;i<r;)a=t.getPointAtLength(i),n.push({distance:i,x:a.x,y:a.y}),i+=e;return n}function Sot(t){return["M",ko(t,"x1"),ko(t,"y1"),"L",ko(t,"x2"),ko(t,"y2")].join(" ")}function kot(t){const e=SR(t);return e.length===0?null:`${j6e(e)} Z`}function Eot(t){const e=SR(t);return e.length===0?null:j6e(e)}function j6e(t){return`M ${t.map(r=>`${r.x} ${r.y}`).join(" L")}`}function SR(t){const e=[],r=t.points;if(r)for(let n=0,i=r.numberOfItems;n<i;n+=1)e.push(r.getItem(n));return e}function Aot(t){const e=ko(t,"cx",0),r=ko(t,"cy",0),n=ko(t,"r"),i=n*FV;return["M",e,r-n,"C",e+i,r-n,e+n,r-i,e+n,r,"C",e+n,r+i,e+i,r+n,e,r+n,"C",e-i,r+n,e-n,r+i,e-n,r,"C",e-n,r-i,e-i,r-n,e,r-n,"Z"].join(" ")}function Mot(t){const e=ko(t,"cx",0),r=ko(t,"cy",0),n=ko(t,"rx"),i=ko(t,"ry")||n,a=n*FV,s=i*FV;return["M",e,r-i,"C",e+a,r-i,e+n,r-s,e+n,r,"C",e+n,r+s,e+a,r+i,e,r+i,"C",e-a,r+i,e-n,r+s,e-n,r,"C",e-n,r-s,e-a,r-i,e,r-i,"Z"].join(" ")}function Rot(t){return Y6e({x:ko(t,"x",0),y:ko(t,"y",0),width:ko(t,"width",0),height:ko(t,"height",0),rx:ko(t,"rx",0),ry:ko(t,"ry",0)})}function Y6e(t){let e;const r=t.x,n=t.y,i=t.width,a=t.height,s=Math.min(t.rx||t["top-rx"]||0,i/2),o=Math.min(t.rx||t["bottom-rx"]||0,i/2),l=Math.min(t.ry||t["top-ry"]||0,a/2),u=Math.min(t.ry||t["bottom-ry"]||0,a/2);return s||o||l||u?e=["M",r,n+l,"v",a-l-u,"a",o,u,0,0,0,o,u,"h",i-2*o,"a",o,u,0,0,0,o,-u,"v",-(a-u-l),"a",s,l,0,0,0,-s,-l,"h",-(i-2*s),"a",s,l,0,0,0,-s,l,"Z"]:e=["M",r,n,"H",r+i,"V",n+a,"H",r,"V",n,"Z"],e.join(" ")}function Iot(t){const e=Kd("path");Nn(e,Nn(t));const r=X6e(t);return r&&e.setAttribute("d",r),e}function X6e(t){const e=t.tagName.toLowerCase();switch(e){case"path":return t.getAttribute("d");case"line":return Sot(t);case"polygon":return kot(t);case"polyline":return Eot(t);case"ellipse":return Mot(t);case"circle":return Aot(t);case"rect":return Rot(t)}throw new Error(`"${e}" cannot be converted to svg path element.`)}const Lot=/(\w+)\(([^,)]+),?([^)]+)?\)/gi,K6e=/[ ,]+/,Not=/^(\w+)\((.*)\)/;function Oot(t,e){const n=Kd("svg").createSVGPoint();return n.x=t,n.y=e,n}function ao(t){const r=Kd("svg").createSVGMatrix();if(t!=null){const n=t,i=["a","b","c","d","e","f"];for(const a of i)n[a]!==void 0&&(r[a]=n[a])}return r}function Dot(t){const e=Kd("svg");return t!=null?(t instanceof DOMMatrix||(t=ao(t)),e.createSVGTransformFromMatrix(t)):e.createSVGTransform()}function Pw(t){let e=ao();const r=t!=null&&t.match(Lot);if(!r)return e;for(let n=0,i=r.length;n<i;n+=1){const s=r[n].match(Not);if(s){let o,l,u,d,h,f=ao();const p=s[2].split(K6e);switch(s[1].toLowerCase()){case"scale":o=parseFloat(p[0]),l=p[1]===void 0?o:parseFloat(p[1]),f=f.scaleNonUniform(o,l);break;case"translate":u=parseFloat(p[0]),d=parseFloat(p[1]),f=f.translate(u,d);break;case"rotate":h=parseFloat(p[0]),u=parseFloat(p[1])||0,d=parseFloat(p[2])||0,u!==0||d!==0?f=f.translate(u,d).rotate(h).translate(-u,-d):f=f.rotate(h);break;case"skewx":h=parseFloat(p[0]),f=f.skewX(h);break;case"skewy":h=parseFloat(p[0]),f=f.skewY(h);break;case"matrix":f.a=parseFloat(p[0]),f.b=parseFloat(p[1]),f.c=parseFloat(p[2]),f.d=parseFloat(p[3]),f.e=parseFloat(p[4]),f.f=parseFloat(p[5]);break;default:continue}e=e.multiply(f)}}return e}function FC(t){const e=t||{},r=e.a!=null?e.a:1,n=e.b!=null?e.b:0,i=e.c!=null?e.c:0,a=e.d!=null?e.d:1,s=e.e!=null?e.e:0,o=e.f!=null?e.f:0;return`matrix(${r},${n},${i},${a},${s},${o})`}function _O(t){let e,r,n;if(t){const a=K6e;if(t.trim().indexOf("matrix")>=0){const s=Pw(t),o=Pot(s);e=[o.translateX,o.translateY],r=[o.rotation],n=[o.scaleX,o.scaleY];const l=[];(e[0]!==0||e[1]!==0)&&l.push(`translate(${e.join(",")})`),(n[0]!==1||n[1]!==1)&&l.push(`scale(${n.join(",")})`),r[0]!==0&&l.push(`rotate(${r[0]})`),t=l.join(" ")}else{const s=t.match(/translate\((.*?)\)/);s&&(e=s[1].split(a));const o=t.match(/rotate\((.*?)\)/);o&&(r=o[1].split(a));const l=t.match(/scale\((.*?)\)/);l&&(n=l[1].split(a))}}const i=n&&n[0]?parseFloat(n[0]):1;return{raw:t||"",translation:{tx:e&&e[0]?parseInt(e[0],10):0,ty:e&&e[1]?parseInt(e[1],10):0},rotation:{angle:r&&r[0]?parseInt(r[0],10):0,cx:r&&r[1]?parseInt(r[1],10):void 0,cy:r&&r[2]?parseInt(r[2],10):void 0},scale:{sx:i,sy:n&&n[1]?parseFloat(n[1]):i}}}function zV(t,e){const r=e.x*t.a+e.y*t.c+0,n=e.x*t.b+e.y*t.d+0;return{x:r,y:n}}function Pot(t){const e=zV(t,{x:0,y:1}),r=zV(t,{x:1,y:0}),n=180/Math.PI*Math.atan2(e.y,e.x)-90,i=180/Math.PI*Math.atan2(r.y,r.x);return{skewX:n,skewY:i,translateX:t.e,translateY:t.f,scaleX:Math.sqrt(t.a*t.a+t.b*t.b),scaleY:Math.sqrt(t.c*t.c+t.d*t.d),rotation:n}}function _ot(t){let e,r,n,i;return t?(e=t.a==null?1:t.a,i=t.d==null?1:t.d,r=t.b,n=t.c):e=i=1,{sx:r?Math.sqrt(e*e+r*r):e,sy:n?Math.sqrt(n*n+i*i):i}}function Bot(t){let e={x:0,y:1};t&&(e=zV(t,e));const r=180*Math.atan2(e.y,e.x)/Math.PI%360-90;return{angle:r%360+(r<0?360:0)}}function $ot(t){return{tx:t&&t.e||0,ty:t&&t.f||0}}function Tv(t,e,r={}){if(e==null)return Pw(Nn(t,"transform"));if(r.absolute){t.setAttribute("transform",FC(e));return}const n=t.transform,i=Dot(e);n.baseVal.appendItem(i)}function Koe(t,e,r=0,n={}){let i=Nn(t,"transform");const a=_O(i);if(e==null)return a.translation;i=a.raw,i=i.replace(/translate\([^)]*\)/g,"").trim();const s=n.absolute?e:a.translation.tx+e,o=n.absolute?r:a.translation.ty+r,l=`translate(${s},${o})`;t.setAttribute("transform",`${l} ${i}`.trim())}function HV(t,e,r,n,i={}){let a=Nn(t,"transform");const s=_O(a);if(e==null)return s.rotation;a=s.raw,a=a.replace(/rotate\([^)]*\)/g,"").trim(),e%=360;const o=i.absolute?e:s.rotation.angle+e,l=r!=null&&n!=null?`,${r},${n}`:"",u=`rotate(${o}${l})`;t.setAttribute("transform",`${a} ${u}`.trim())}function Zoe(t,e,r){let n=Nn(t,"transform");const i=_O(n);if(e==null)return i.scale;r=r??e,n=i.raw,n=n.replace(/scale\([^)]*\)/g,"").trim();const a=`scale(${e},${r})`;t.setAttribute("transform",`${n} ${a}`.trim())}function YZ(t,e){if(Dg(e)&&Dg(t)){const r=e.getScreenCTM(),n=t.getScreenCTM();if(r&&n)return r.inverse().multiply(n)}return ao()}function Fot(t,e){let r=ao();if(Dg(e)&&Dg(t)){let n=t;const i=[];for(;n&&n!==e;){const a=n.getAttribute("transform")||null,s=Pw(a);i.push(s),n=n.parentNode}i.reverse().forEach(a=>{r=r.multiply(a)})}return r}function zot(t,e,r){const n=t instanceof SVGSVGElement?t:t.ownerSVGElement,i=n.createSVGPoint();i.x=e,i.y=r;try{const a=n.getScreenCTM(),s=i.matrixTransform(a.inverse()),o=YZ(t,n).inverse();return s.matrixTransform(o)}catch{return i}}const Z6e={};function Cv(t){return Z6e[t]||{}}function BO(t,e){Z6e[t]=e}const Ix=new WeakMap;function Hot(t){return Ix.has(t)||Ix.set(t,{events:Object.create(null)}),Ix.get(t)}function XZ(t){return Ix.get(t)}function Vot(t){return Ix.delete(t)}const fk=()=>!0,R2=()=>!1;function Joe(t){t.stopPropagation()}function Got(t,e,r){t.addEventListener!=null&&t.addEventListener(e,r)}function Wot(t,e,r){t.removeEventListener!=null&&t.removeEventListener(e,r)}const qot=/[^\x20\t\r\n\f]+/g,jot=/^([^.]*)(?:\.(.+)|)/;function J6e(t){return(t||"").match(qot)||[""]}function Q6e(t){const e=jot.exec(t)||[];return{originType:e[1]?e[1].trim():e[1],namespaces:e[2]?e[2].split(".").map(r=>r.trim()).sort():[]}}function VV(t){return t.nodeType===1||t.nodeType===9||!+t.nodeType}let Qoe=0;const nb=new WeakMap;function e7e(t){return nb.has(t)||(nb.set(t,Qoe),Qoe+=1),nb.get(t)}function Yot(t){return nb.get(t)}function Xot(t){return nb.delete(t)}function t7e(t,e){return nb.set(t,e)}function Kot(t,e){const r=[],n=XZ(t),i=n&&n.events&&n.events[e.type],a=i&&i.handlers||[],s=i?i.delegateCount:0;if(s>0&&!(e.type==="click"&&typeof e.button=="number"&&e.button>=1)){for(let o=e.target;o!==t;o=o.parentNode||t)if(o.nodeType===1&&!(e.type==="click"&&o.disabled===!0)){const l=[],u={};for(let d=0;d<s;d+=1){const h=a[d],f=h.selector;if(f!=null&&u[f]==null){const p=t,g=[];p.querySelectorAll(f).forEach(m=>{g.push(m)}),u[f]=g.includes(o)}u[f]&&l.push(h)}l.length&&r.push({elem:o,handlers:l})}}return s<a.length&&r.push({elem:t,handlers:a.slice(s)}),r}function ele(t){return t!=null&&t===t.window}function r7e(t,e){const r=t.nodeType===9?t.documentElement:t,n=e&&e.parentNode;return t===n||!!(n&&n.nodeType===1&&(r.contains?r.contains(n):t.compareDocumentPosition&&t.compareDocumentPosition(n)&16))}class y0{static create(e){return e instanceof y0?e:new y0(e)}static addProperty(e,r){Object.defineProperty(y0.prototype,e,{enumerable:!0,configurable:!0,get:typeof r=="function"?function(){if(this.originalEvent)return r(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set(n){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:n})}})}constructor(e,r){this.isDefaultPrevented=R2,this.isPropagationStopped=R2,this.isImmediatePropagationStopped=R2,this.isSimulated=!1,this.preventDefault=()=>{const n=this.originalEvent;this.isDefaultPrevented=fk,n&&!this.isSimulated&&n.preventDefault()},this.stopPropagation=()=>{const n=this.originalEvent;this.isPropagationStopped=fk,n&&!this.isSimulated&&n.stopPropagation()},this.stopImmediatePropagation=()=>{const n=this.originalEvent;this.isImmediatePropagationStopped=fk,n&&!this.isSimulated&&n.stopImmediatePropagation(),this.stopPropagation()},typeof e=="string"?this.type=e:e.type&&(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?fk:R2,this.target=e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget,this.timeStamp=e.timeStamp),r&&Object.assign(this,r),this.timeStamp||(this.timeStamp=Date.now())}}const tle={bubbles:!0,cancelable:!0,eventPhase:!0,detail:!0,view:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pageX:!0,pageY:!0,screenX:!0,screenY:!0,toElement:!0,pointerId:!0,pointerType:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,touches:!0,changedTouches:!0,targetTouches:!0,which:!0,altKey:!0,ctrlKey:!0,metaKey:!0,shiftKey:!0};Object.keys(tle).forEach(t=>y0.addProperty(t,tle[t]));BO("load",{noBubble:!0});BO("beforeunload",{postDispatch(t,e){e.result!==void 0&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}});BO("mouseenter",{delegateType:"mouseover",bindType:"mouseover",handle(t,e){let r;const n=e.relatedTarget,i=e.handleObj;return(!n||n!==t&&!r7e(t,n))&&(e.type=i.originType,r=i.handler.call(t,e),e.type="mouseover"),r}});BO("mouseleave",{delegateType:"mouseout",bindType:"mouseout",handle(t,e){let r;const n=e.relatedTarget,i=e.handleObj;return(!n||n!==t&&!r7e(t,n))&&(e.type=i.originType,r=i.handler.call(t,e),e.type="mouseout"),r}});let GV;function Zot(t,e,r,n,i){if(!VV(t))return;let a;if(typeof r!="function"){const{handler:u,selector:d}=r,h=Un(r,["handler","selector"]);r=u,i=d,a=h}const s=Hot(t);let o=s.handler;o==null&&(o=s.handler=function(u,...d){return GV!==u.type?Jot(t,u,...d):void 0});const l=e7e(r);J6e(e).forEach(u=>{const{originType:d,namespaces:h}=Q6e(u);if(!d)return;let f=d,p=Cv(f);f=(i?p.delegateType:p.bindType)||f,p=Cv(f);const g=Object.assign({type:f,originType:d,data:n,selector:i,guid:l,handler:r,namespace:h.join(".")},a),m=s.events;let U=m[f];U||(U=m[f]={handlers:[],delegateCount:0},(!p.setup||p.setup(t,n,h,o)===!1)&&Got(t,f,o)),p.add&&(Xot(g.handler),p.add(t,g),t7e(g.handler,l)),i?(U.handlers.splice(U.delegateCount,0,g),U.delegateCount+=1):U.handlers.push(g)})}function n7e(t,e,r,n,i){const a=XZ(t);if(!a)return;const s=a.events;s&&(J6e(e).forEach(o=>{const{originType:l,namespaces:u}=Q6e(o);if(!l){Object.keys(s).forEach(m=>{n7e(t,m+o,r,n,!0)});return}let d=l;const h=Cv(d);d=(n?h.delegateType:h.bindType)||d;const f=s[d];if(!f)return;const p=u.length>0?new RegExp(`(^|\\.)${u.join("\\.(?:.*\\.|)")}(\\.|$)`):null,g=f.handlers.length;for(let m=f.handlers.length-1;m>=0;m-=1){const U=f.handlers[m];(i||l===U.originType)&&(!r||Yot(r)===U.guid)&&(p==null||U.namespace&&p.test(U.namespace))&&(n==null||n===U.selector||n==="**"&&U.selector)&&(f.handlers.splice(m,1),U.selector&&(f.delegateCount-=1),h.remove&&h.remove(t,U))}g&&f.handlers.length===0&&((!h.teardown||h.teardown(t,u,a.handler)===!1)&&Wot(t,d,a.handler),delete s[d])}),Object.keys(s).length===0&&Vot(t))}function Jot(t,e,...r){const n=y0.create(e);n.delegateTarget=t;const i=Cv(n.type);if(i.preDispatch&&i.preDispatch(t,n)===!1)return;const a=Kot(t,n);for(let s=0,o=a.length;s<o&&!n.isPropagationStopped();s+=1){const l=a[s];n.currentTarget=l.elem;for(let u=0,d=l.handlers.length;u<d&&!n.isImmediatePropagationStopped();u+=1){const h=l.handlers[u];if(n.rnamespace==null||h.namespace&&n.rnamespace.test(h.namespace)){n.handleObj=h,n.data=h.data;const f=Cv(h.originType).handle,p=f?f(l.elem,n,...r):h.handler.call(l.elem,n,...r);p!==void 0&&(n.result=p,p===!1&&(n.preventDefault(),n.stopPropagation()))}}}return i.postDispatch&&i.postDispatch(t,n),n.result}function Qot(t,e,r,n){let i=t,a=typeof t=="string"?t:t.type,s=typeof t=="string"||i.namespace==null?[]:i.namespace.split(".");const o=r;if(o.nodeType===3||o.nodeType===8)return;a.indexOf(".")>-1&&(s=a.split("."),a=s.shift(),s.sort());const l=a.indexOf(":")<0&&`on${a}`;i=t instanceof y0?t:new y0(a,typeof t=="object"?t:null),i.namespace=s.join("."),i.rnamespace=i.namespace?new RegExp(`(^|\\.)${s.join("\\.(?:.*\\.|)")}(\\.|$)`):null,i.result=void 0,i.target||(i.target=o);const u=[i];Array.isArray(e)?u.push(...e):u.push(e);const d=Cv(a);if(!n&&d.trigger&&d.trigger(o,i,e)===!1)return;let h;const f=[o];if(!n&&!d.noBubble&&!ele(o)){h=d.delegateType||a;let g=o,m=o.parentNode;for(;m!=null;)f.push(m),g=m,m=m.parentNode;const U=o.ownerDocument||document;if(g===U){const y=g.defaultView||g.parentWindow||window;f.push(y)}}let p=o;for(let g=0,m=f.length;g<m&&!i.isPropagationStopped();g+=1){const U=f[g];p=U,i.type=g>1?h:d.bindType||a;const y=XZ(U);y&&y.events[i.type]&&y.handler&&y.handler.call(U,...u);const b=l&&U[l]||null;b&&VV(U)&&(i.result=b.call(U,...u),i.result===!1&&i.preventDefault())}if(i.type=a,!n&&!i.isDefaultPrevented()){const g=d.preventDefault;if((g==null||g(f.pop(),i,e)===!1)&&VV(o)&&l&&typeof o[a]=="function"&&!ele(o)){const m=o[l];m&&(o[l]=null),GV=a,i.isPropagationStopped()&&p.addEventListener(a,Joe),o[a](),i.isPropagationStopped()&&p.removeEventListener(a,Joe),GV=void 0,m&&(o[l]=m)}}return i.result}let Ei=class{static on(e,r,n,i,a){return Lx.on(e,r,n,i,a),e}static once(e,r,n,i,a){return Lx.on(e,r,n,i,a,!0),e}static off(e,r,n,i){return Lx.off(e,r,n,i),e}static trigger(e,r,n,i){return Qot(r,n,e,i),e}};var Lx;(function(t){function e(n,i,a,s,o,l){if(typeof i=="object"){typeof a!="string"&&(s=s||a,a=void 0),Object.keys(i).forEach(u=>e(n,u,a,s,i[u],l));return}if(s==null&&o==null?(o=a,s=a=void 0):o==null&&(typeof a=="string"?(o=s,s=void 0):(o=s,s=a,a=void 0)),o===!1)o=R2;else if(!o)return;if(l){const u=o;o=function(d,...h){return t.off(n,d),u.call(this,d,...h)},t7e(o,e7e(u))}Zot(n,i,o,s,a)}t.on=e;function r(n,i,a,s){const o=i;if(o&&o.preventDefault!=null&&o.handleObj!=null){const l=o.handleObj;r(o.delegateTarget,l.namespace?`${l.originType}.${l.namespace}`:l.originType,l.selector,l.handler);return}if(typeof i=="object"){const l=i;Object.keys(l).forEach(u=>r(n,u,a,l[u]));return}(a===!1||typeof a=="function")&&(s=a,a=void 0),s===!1&&(s=R2),n7e(n,i,s,a)}t.off=r})(Lx||(Lx={}));class i7e{constructor(e,r,n){this.animationFrameId=0,this.deltaX=0,this.deltaY=0,this.eventName=Rst("wheel")?"wheel":"mousewheel",this.target=e,this.onWheelCallback=r,this.onWheelGuard=n,this.onWheel=this.onWheel.bind(this),this.didWheel=this.didWheel.bind(this)}enable(){this.target.addEventListener(this.eventName,this.onWheel,{passive:!1})}disable(){this.target.removeEventListener(this.eventName,this.onWheel)}onWheel(e){if(this.onWheelGuard!=null&&!this.onWheelGuard(e))return;this.deltaX+=e.deltaX,this.deltaY+=e.deltaY,e.preventDefault();let r;(this.deltaX!==0||this.deltaY!==0)&&(e.stopPropagation(),r=!0),r===!0&&this.animationFrameId===0&&(this.animationFrameId=requestAnimationFrame(()=>{this.didWheel(e)}))}didWheel(e){this.animationFrameId=0,this.onWheelCallback(e,this.deltaX,this.deltaY),this.deltaX=0,this.deltaY=0}}function Sv(t){const e=t.getBoundingClientRect(),r=t.ownerDocument.defaultView;return{top:e.top+r.pageYOffset,left:e.left+r.pageXOffset}}function elt(t){return t.getBoundingClientRect().width}function tlt(t){return t.getBoundingClientRect().height}function rlt(t){const e=TR(t,"position")==="fixed";let r;if(e){const n=t.getBoundingClientRect();r={left:n.left,top:n.top}}else r=Sv(t);if(!e){const n=t.ownerDocument;let i=t.offsetParent||n.documentElement;for(;(i===n.body||i===n.documentElement)&&TR(i,"position")==="static";)i=i.parentNode;if(i!==t&&Qst(i)){const a=Sv(i);r.top-=a.top+dk(i,"borderTopWidth"),r.left-=a.left+dk(i,"borderLeftWidth")}}return{top:r.top-dk(t,"marginTop"),left:r.left-dk(t,"marginLeft")}}function Jf(t,e){const r=Oot(t.x,t.y).matrixTransform(e);return new Je(r.x,r.y)}function nlt(t,e){return new cr(Jf(t.start,e),Jf(t.end,e))}function Iu(t,e){const n=Kd("svg").createSVGPoint();n.x=t.x,n.y=t.y;const i=n.matrixTransform(e);n.x=t.x+t.width,n.y=t.y;const a=n.matrixTransform(e);n.x=t.x+t.width,n.y=t.y+t.height;const s=n.matrixTransform(e);n.x=t.x,n.y=t.y+t.height;const o=n.matrixTransform(e),l=Math.min(i.x,a.x,s.x,o.x),u=Math.max(i.x,a.x,s.x,o.x),d=Math.min(i.y,a.y,s.y,o.y),h=Math.max(i.y,a.y,s.y,o.y);return new Bt(l,d,u-l,h-d)}function rle(t,e,r){let n=null;if(!t.ownerSVGElement)return new Bt(0,0,0,0);try{n=t.getBBox()}catch{n={x:t.clientLeft,y:t.clientTop,width:t.clientWidth,height:t.clientHeight}}return Bt.create(n)}function Bh(t,e={}){let r=null;if(!t.ownerSVGElement||!Dg(t)){if(_6e(t)){const{left:s,top:o,width:l,height:u}=a7e(t);return new Bt(s,o,l,u)}return new Bt(0,0,0,0)}let i=e.target;if(!e.recursive){try{r=t.getBBox()}catch{r={x:t.clientLeft,y:t.clientTop,width:t.clientWidth,height:t.clientHeight}}if(!i)return Bt.create(r);const s=YZ(t,i);return Iu(r,s)}{const s=t.childNodes,o=s.length;if(o===0)return Bh(t,{target:i});i||(i=t);let l=null;for(let u=0;u<o;u+=1){const d=s[u];let h=null;d.childNodes.length===0?h=Bh(d,{target:i}):h=Bh(d,{target:i,recursive:!0}),l?l=l.union(h):l=Bt.create(h)}return l||new Bt(0,0,0,0)}}function a7e(t){let e=0,r=0,n=0,i=0;if(t){let a=t;for(;a;)e+=a.offsetLeft,r+=a.offsetTop,a=a.offsetParent,a&&(e+=parseInt(Woe(a,"borderLeft"),10),r+=parseInt(Woe(a,"borderTop"),10));n=t.offsetWidth,i=t.offsetHeight}return{left:e,top:r,width:n,height:i}}function s7e(t){const e=r=>{const n=t.getAttribute(r),i=n?parseFloat(n):0;return Number.isNaN(i)?0:i};switch(t instanceof SVGElement&&t.nodeName.toLowerCase()){case"rect":return new Bt(e("x"),e("y"),e("width"),e("height"));case"circle":return new dc(e("cx"),e("cy"),e("r"),e("r"));case"ellipse":return new dc(e("cx"),e("cy"),e("rx"),e("ry"));case"polyline":{const r=SR(t);return new qs(r)}case"polygon":{const r=SR(t);return r.length>1&&r.push(r[0]),new qs(r)}case"path":{let r=t.getAttribute("d");return Fst(r)||(r=N6e(r)),hi.parse(r)}case"line":return new cr(e("x1"),e("y1"),e("x2"),e("y2"))}return Bh(t)}function ilt(t){if(t==null)return null;let e=t;do{let r=e.tagName;if(typeof r!="string")return null;if(r=r.toUpperCase(),Mh(e,"x6-port"))e=e.nextElementSibling;else if(r==="G")e=e.firstElementChild;else if(r==="TITLE")e=e.nextElementSibling;else break}while(e);return e}function alt(t){const e=ilt(t);if(!Dg(e)){if(_6e(t)){const{left:i,top:a,width:s,height:o}=a7e(t);return new Bt(i,a,s,o)}return new Bt(0,0,0,0)}return s7e(e).bbox()||Bt.create()}const slt=(t,e)=>t-e;class olt{constructor(e={}){this.comparator=e.comparator||slt,this.index={},this.data=e.data||[],this.heapify()}isEmpty(){return this.data.length===0}insert(e,r,n){const i={priority:e,value:r},a=this.data.length;return n&&(i.id=n,this.index[n]=a),this.data.push(i),this.bubbleUp(a),this}peek(){return this.data[0]?this.data[0].value:null}peekPriority(){return this.data[0]?this.data[0].priority:null}updatePriority(e,r){const n=this.index[e];if(typeof n>"u")throw new Error(`Node with id '${e}' was not found in the heap.`);const i=this.data,a=i[n].priority,s=this.comparator(r,a);s<0?(i[n].priority=r,this.bubbleUp(n)):s>0&&(i[n].priority=r,this.bubbleDown(n))}remove(){const e=this.data,r=e[0],n=e.pop();return r!=null&&r.id&&delete this.index[r.id],e.length>0&&(e[0]=n,n.id&&(this.index[n.id]=0),this.bubbleDown(0)),r?r.value:null}heapify(){for(let e=0;e<this.data.length;e+=1)this.bubbleUp(e)}bubbleUp(e){const r=this.data;let n,i,a=e;for(;a>0&&(i=a-1>>>1,this.comparator(r[a].priority,r[i].priority)<0);){n=r[i],r[i]=r[a];let s=r[a].id;s!=null&&(this.index[s]=i),r[a]=n,s=r[a].id,s!=null&&(this.index[s]=a),a=i}}bubbleDown(e){const r=this.data,n=r.length-1;let i=e;for(;;){const a=(i<<1)+1,s=a+1;let o=i;if(a<=n&&this.comparator(r[a].priority,r[o].priority)<0&&(o=a),s<=n&&this.comparator(r[s].priority,r[o].priority)<0&&(o=s),o!==i){const l=r[o];r[o]=r[i];let u=r[i].id;u!=null&&(this.index[u]=o),r[i]=l,u=r[i].id,u!=null&&(this.index[u]=i),i=o}else break}}}function llt(t,e,r=(n,i)=>1){const n={},i={},a={},s=new olt;for(n[e]=0,Object.keys(t).forEach(o=>{o!==e&&(n[o]=1/0),s.insert(n[o],o,o)});!s.isEmpty();){const o=s.remove();a[o]=!0;const l=t[o];for(let u=0;u<l.length;u+=1){const d=l[u];if(!a[d]){const h=n[o]+r(o,d);h<n[d]&&(n[d]=h,i[d]=o,s.updatePriority(d,h))}}}return i}const _w=/(-?(?:\d*\.\d+|\d+))\s*(px|em|rem|ch|vh|vw|vmin|vmax|%|cm|mm|in|pt|pc|ex|fr|deg|rad|turn)$/,o7e=(t,e)=>{const r=e-t;return n=>t+r*n},l7e=(t,e)=>{const r=_w,n=r.exec(t),i=r.exec(e),a=i?i[1]:"",s=n?+n[1]:0,o=i?+i[1]:0,l=a.indexOf("."),u=l>0?a[1].length-l-1:0,d=o-s,h=n?n[2]:"";return f=>(s+d*f).toFixed(u)+h},clt=(t,e)=>{const r=parseInt(t.slice(1),16),n=parseInt(e.slice(1),16),i=r&255,a=(n&255)-i,s=r&65280,o=(n&65280)-s,l=r&16711680,u=(n&16711680)-l;return d=>{const h=i+a*d&255,f=s+o*d&65280,p=l+u*d&16711680;return`#${(1<<24|h|f|p).toString(16).slice(1)}`}},ult=(t,e)=>{const r=a=>{const s=[];if(!a)return s;const o=/(\w+)\(([^)]+)\)/g;let l=o.exec(a);for(;l!==null;)l[1]&&l[2]&&s.push({name:l[1],values:l[2].split(/\s*,\s*/).filter(Boolean)}),l=o.exec(a);return s},n=r(t),i=r(e);return n.length===0||i.length===0?()=>t:a=>{const s=[];for(let o=0;o<Math.min(n.length,i.length);o++){const l=n[o],u=i[o];if(!(!l||!u)&&l.name===u.name&&l.values.length>0&&l.values.length===u.values.length){const d=[];for(let h=0;h<l.values.length;h++){const f=l.values[h],p=u.values[h];if(!(f===void 0||p===void 0))if(_w.test(f)||_w.test(p)){const g=l7e(f,p);d.push(g(a))}else if(!Number.isNaN(parseFloat(f))&&!Number.isNaN(parseFloat(p))){const g=o7e(parseFloat(f),parseFloat(p));d.push(g(a).toString())}else d.push(f)}d.length>0&&s.push(`${l.name}(${d.join(", ")})`)}}return s.length>0?s.join(" "):t}},c7e=t=>t,dlt=t=>t*t,hlt=t=>t*t*t,flt=t=>{if(t<=0)return 0;if(t>=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)},plt=t=>Math.pow(2,10*(t-1)),glt=(t=>{for(let e=0,r=1;;e+=r,r/=2)if(t>=(7-4*e)/11){const n=(11-6*e-11*t)/4;return-n*n+r*r}}),mlt={reverse(t){return e=>1-t(1-e)},reflect(t){return e=>.5*(e<.5?t(2*e):2-t(2-2*e))},clamp(t,e=0,r=1){return n=>{const i=t(n);return i<e?e:i>r?r:i}},back(t=1.70158){return e=>e*e*((t+1)*e-t)},elastic(t=1.5){return e=>Math.pow(2,10*(e-1))*Math.cos(20*Math.PI*t/3*e)}};function Ult(t){return-1*Math.cos(t*(Math.PI/2))+1}function ylt(t){return Math.sin(t*(Math.PI/2))}function blt(t){return-.5*(Math.cos(Math.PI*t)-1)}function vlt(t){return t*t}function xlt(t){return t*(2-t)}function wlt(t){return t<.5?2*t*t:-1+(4-2*t)*t}function Tlt(t){return t*t*t}function Clt(t){const e=t-1;return e*e*e+1}function Slt(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1}function klt(t){return t*t*t*t}function Elt(t){const e=t-1;return 1-e*e*e*e}function Alt(t){const e=t-1;return t<.5?8*t*t*t*t:1-8*e*e*e*e}function Mlt(t){return t*t*t*t*t}function Rlt(t){const e=t-1;return 1+e*e*e*e*e}function Ilt(t){const e=t-1;return t<.5?16*t*t*t*t*t:1+16*e*e*e*e*e}function Llt(t){return t===0?0:Math.pow(2,10*(t-1))}function Nlt(t){return t===1?1:-Math.pow(2,-10*t)+1}function Olt(t){if(t===0||t===1)return t;const e=t*2,r=e-1;return e<1?.5*Math.pow(2,10*r):.5*(-Math.pow(2,-10*r)+2)}function Dlt(t){const e=t/1;return-1*(Math.sqrt(1-e*t)-1)}function Plt(t){const e=t-1;return Math.sqrt(1-e*e)}function _lt(t){const e=t*2,r=e-2;return e<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-r*r)+1)}function Blt(t,e=1.70158){return t*t*((e+1)*t-e)}function $lt(t,e=1.70158){const r=t/1-1;return r*r*((e+1)*r+e)+1}function Flt(t,e=1.70158){const r=t*2,n=r-2,i=e*1.525;return r<1?.5*r*r*((i+1)*r-i):.5*(n*n*((i+1)*n+i)+2)}function zlt(t,e=.7){if(t===0||t===1)return t;const n=t/1-1,i=1-e,a=i/(2*Math.PI)*Math.asin(1);return-(Math.pow(2,10*n)*Math.sin((n-a)*(2*Math.PI)/i))}function Hlt(t,e=.7){const r=1-e,n=t*2;if(t===0||t===1)return t;const i=r/(2*Math.PI)*Math.asin(1);return Math.pow(2,-10*n)*Math.sin((n-i)*(2*Math.PI)/r)+1}function Vlt(t,e=.65){const r=1-e;if(t===0||t===1)return t;const n=t*2,i=n-1,a=r/(2*Math.PI)*Math.asin(1);return n<1?-.5*(Math.pow(2,10*i)*Math.sin((i-a)*(2*Math.PI)/r)):Math.pow(2,-10*i)*Math.sin((i-a)*(2*Math.PI)/r)*.5+1}function KZ(t){const e=t/1;if(e<1/2.75)return 7.5625*e*e;if(e<2/2.75){const r=e-.5454545454545454;return 7.5625*r*r+.75}if(e<2.5/2.75){const r=e-.8181818181818182;return 7.5625*r*r+.9375}{const r=e-.9545454545454546;return 7.5625*r*r+.984375}}function u7e(t){return 1-KZ(1-t)}function Glt(t){return t<.5?u7e(t*2)*.5:KZ(t*2-1)*.5+.5}const Wlt=Object.freeze(Object.defineProperty({__proto__:null,bounce:glt,cubic:hlt,decorators:mlt,easeInBack:Blt,easeInBounce:u7e,easeInCirc:Dlt,easeInCubic:Tlt,easeInElastic:zlt,easeInExpo:Llt,easeInOutBack:Flt,easeInOutBounce:Glt,easeInOutCirc:_lt,easeInOutCubic:Slt,easeInOutElastic:Vlt,easeInOutExpo:Olt,easeInOutQuad:wlt,easeInOutQuart:Alt,easeInOutQuint:Ilt,easeInOutSine:blt,easeInQuad:vlt,easeInQuart:klt,easeInQuint:Mlt,easeInSine:Ult,easeOutBack:$lt,easeOutBounce:KZ,easeOutCirc:Plt,easeOutCubic:Clt,easeOutElastic:Hlt,easeOutExpo:Nlt,easeOutQuad:xlt,easeOutQuart:Elt,easeOutQuint:Rlt,easeOutSine:ylt,exponential:plt,inout:flt,linear:c7e,quad:dlt},Symbol.toStringTag,{value:"Module"}));function BB(t,e){const r=[];for(let n=0;n<t.length;n+=2){const i=t[n],a=t[n+1],s=Array.isArray(e)?e:[e],o=R6e(i,a,s);r.push(o)}return DZ(r)}class qlt{constructor(){this.listeners={}}on(e,r,n){return r==null?this:(this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(r,n),this)}once(e,r,n){const i=(...a)=>(this.off(e,i),BB([r,n],a));return this.on(e,i,this)}off(e,r,n){if(!(e||r||n))return this.listeners={},this;const i=this.listeners;return(e?[e]:Object.keys(i)).forEach(s=>{const o=i[s];if(o){if(!(r||n)){delete i[s];return}for(let l=o.length-2;l>=0;l-=2)r&&o[l]!==r||n&&o[l+1]!==n||o.splice(l,2)}}),this}trigger(e,...r){let n=!0;if(e!=="*"){const a=this.listeners[e];a!=null&&(n=BB([...a],r))}const i=this.listeners["*"];return i!=null?DZ([n,BB([...i],[e,...r])]):n}emit(e,...r){return this.trigger(e,...r)}}let H4=class{get disposed(){return this._disposed===!0}dispose(){this._disposed=!0}};function Bn(){return(t,e,r)=>{const n=r.value,i=t.__proto__;r.value=function(...a){this.disposed||(n.call(this,...a),i.dispose.call(this))}}}class Xl extends qlt{dispose(){this.off()}}_n([Bn()],Xl.prototype,"dispose",null);pot(Xl,H4);class WV{constructor(){this.clear()}clear(){this.map=new WeakMap,this.arr=[]}has(e){return this.map.has(e)}get(e){return this.map.get(e)}set(e,r){this.map.set(e,r),this.arr.push(e)}delete(e){const r=this.arr.indexOf(e);r>=0&&this.arr.splice(r,1);const n=this.map.get(e);return this.map.delete(e),n}each(e){this.arr.forEach(r=>{const n=this.map.get(r);e(n,r)})}dispose(){this.clear()}}function qV(t){const e=[],r=[];return Array.isArray(t)?e.push(...t):t.split("|").forEach(n=>{n.indexOf("&")===-1?e.push(n):r.push(...n.split("&"))}),{or:e,and:r}}function jlt(t,e){if(t!=null&&e!=null){const r=qV(t),n=qV(e),i=r.or.sort(),a=n.or.sort(),s=r.and.sort(),o=n.and.sort(),l=(u,d)=>u.length===d.length&&(u.length===0||u.every((h,f)=>h===d[f]));return l(i,a)&&l(s,o)}return t==null&&e==null}function Pg(t,e,r){if(e==null||Array.isArray(e)&&e.length===0)return r?t.altKey!==!0&&t.ctrlKey!==!0&&t.metaKey!==!0&&t.shiftKey!==!0:!0;const{or:n,and:i}=qV(e),a=s=>{const o=`${s.toLowerCase()}Key`;return t[o]===!0};return n.some(s=>a(s))&&i.every(s=>a(s))}class ts{static create(e){return new ts(e)}constructor(e){this.options=Object.assign({},e),this.data=this.options.data||{},this.register=this.register.bind(this),this.unregister=this.unregister.bind(this)}get names(){return Object.keys(this.data)}register(e,r,n=!1){if(typeof e=="object"){Object.entries(e).forEach(([s,o])=>{this.register(s,o,r)});return}this.exist(e)&&!n&&!M6e()&&this.onDuplicated(e);const i=this.options.process,a=i?vr(i,this,e,r):r;return this.data[e]=a,a}unregister(e){const r=e?this.data[e]:null;return delete this.data[e],r}get(e){return e?this.data[e]:null}exist(e){return e?this.data[e]!=null:!1}onDuplicated(e){try{throw this.options.onConflict&&vr(this.options.onConflict,this,e),new Error(`${yR(this.options.type)} with name '${e}' already registered.`)}catch(r){throw r}}onNotFound(e,r){throw new Error(this.getSpellingSuggestion(e,r))}getSpellingSuggestion(e,r){const n=this.getSpellingSuggestionForName(e),i=r?`${r} ${jat(this.options.type)}`:this.options.type;return`${yR(i)} with name '${e}' does not exist.${n?` Did you mean '${n}'?`:""}`}getSpellingSuggestionForName(e){return cot(e,Object.keys(this.data),r=>r)}}const Ylt={},d7e={position:$O("x","width","origin")},h7e={position:$O("y","height","origin")},Xlt={position:$O("x","width","corner")},Klt={position:$O("y","height","corner")},f7e={set:_g("width","width")},p7e={set:_g("height","height")},Zlt={set:_g("rx","width")},Jlt={set:_g("ry","height")},g7e={set:(t=>{const e=_g(t,"width"),r=_g(t,"height");return function(n,i){const a=i.refBBox,s=a.height>a.width?e:r;return vr(s,this,n,i)}})("r")},Qlt={set(t,{refBBox:e}){let r=parseFloat(t);const n=E0(t);n&&(r/=100);const i=Math.sqrt(e.height*e.height+e.width*e.width);let a;return Number.isFinite(r)&&(n||r>=0&&r<=1?a=r*i:a=Math.max(r+i,0)),{r:a}}},ect={set:_g("cx","width")},tct={set:_g("cy","height")},m7e={set:b7e({resetOffset:!0})},rct={set:b7e({resetOffset:!1})},U7e={set:v7e({resetOffset:!0})},nct={set:v7e({resetOffset:!1})},ict=g7e,act=m7e,sct=U7e,oct=d7e,lct=h7e,cct=f7e,uct=p7e;function $O(t,e,r){return(n,{refBBox:i})=>{if(n==null)return null;let a=parseFloat(n);const s=E0(n);s&&(a/=100);let o;if(Number.isFinite(a)){const u=i[r];s||a>0&&a<1?o=u[t]+i[e]*a:o=u[t]+a}const l=new Je;return l[t]=o||0,l}}function _g(t,e){return(r,{refBBox:n})=>{let i=parseFloat(r);const a=E0(r);a&&(i/=100);const s={};if(Number.isFinite(i)){const o=a||i>=0&&i<=1?i*n[e]:Math.max(i+n[e],0);s[t]=o}return s}}function y7e(t,e){const r="x6-shape",n=e&&e.resetOffset;return(i,{elem:a,refBBox:s})=>{let o=FU(a,r);if(!o||o.value!==i){const m=t(i);o={value:i,shape:m,shapeBBox:m.bbox()},FU(a,r,o)}const l=o.shape.clone(),u=o.shapeBBox.clone(),d=u.getOrigin(),h=s.getOrigin();u.x=h.x,u.y=h.y;const f=s.getMaxScaleToFit(u,h),p=u.width===0||s.width===0?1:f.sx,g=u.height===0||s.height===0?1:f.sy;return l.scale(p,g,d),n&&l.translate(-d.x,-d.y),l}}function b7e(t){function e(n){return hi.parse(n)}const r=y7e(e,t);return(n,i)=>({d:r(n,i).serialize()})}function v7e(t){const e=y7e(r=>new qs(r),t);return(r,n)=>({points:e(r,n).serialize()})}const dct={qualify:Xd,set(t,{view:e}){return`url(#${e.graph.defineGradient(t)})`}},hct={qualify:Xd,set(t,{view:e}){const r=e.cell,n=Object.assign({},t);if(r.isEdge()&&n.type==="linearGradient"){const i=e,a=i.sourcePoint,s=i.targetPoint;n.id=`gradient-${n.type}-${r.id}`,n.attrs=Object.assign(Object.assign({},n.attrs),{x1:a.x,y1:a.y,x2:s.x,y2:s.y,gradientUnits:"userSpaceOnUse"}),e.graph.defs.remove(n.id)}return`url(#${e.graph.defineGradient(n)})`}},x7e={qualify(t,{attrs:e}){return e.textWrap==null||!Xd(e.textWrap)},set(t,{view:e,elem:r,attrs:n}){const i="x6-text",a=FU(r,i),s=d=>{try{if(typeof d=="string")return JSON.parse(d)}catch{}return d},o={x:n.x,eol:n.eol,annotations:s(n.annotations),textPath:s(n["text-path"]||n.textPath),textVerticalAnchor:n["text-vertical-anchor"]||n.textVerticalAnchor,displayEmpty:(n["display-empty"]||n.displayEmpty)==="true",lineHeight:n["line-height"]||n.lineHeight},l=n["font-size"]||n.fontSize,u=JSON.stringify([t,o]);if(l&&r.setAttribute("font-size",l),a==null||a!==u){const d=o.textPath;if(d!=null&&typeof d=="object"){const h=d.selector;if(typeof h=="string"){const f=e.find(h)[0];f instanceof SVGPathElement&&(BZ(f),o.textPath=Object.assign({"xlink:href":`#${f.id}`},d))}}W6e(r,`${t}`,o),FU(r,i,u)}}},fct={qualify:Xd,set(t,{view:e,elem:r,attrs:n,refBBox:i}){var a,s;const o=t,l=o.width||0;E0(l)?i.width*=parseFloat(l)/100:l<=0?i.width+=l:i.width=l;const u=o.height||0;E0(u)?i.height*=parseFloat(u)/100:u<=0?i.height+=u:i.height=u;let d;const h=(s=(a=o.text)!==null&&a!==void 0?a:n.text)!==null&&s!==void 0?s:r==null?void 0:r.textContent;h!=null?d=q6e(`${h}`,i,{"font-weight":n["font-weight"]||n.fontWeight,"font-size":n["font-size"]||n.fontSize,"font-family":n["font-family"]||n.fontFamily,lineHeight:n.lineHeight},{ellipsis:o.ellipsis}):d="",vr(x7e.set,this,d,{view:e,elem:r,attrs:n,refBBox:i,cell:e.cell})}},V4=(t,{attrs:e})=>e.text!==void 0,pct={qualify:V4},gct={qualify:V4},mct={qualify:V4},Uct={qualify:V4},yct={qualify:V4},bct={qualify:V4},vct={qualify(t,{elem:e}){return e instanceof SVGElement},set(t,{elem:e}){const r="x6-title",n=`${t}`,i=FU(e,r);if(i==null||i!==n){FU(e,r,n);const a=e.firstChild;if(a&&a.tagName.toUpperCase()==="TITLE"){const s=a;s.textContent=n}else{const s=document.createElementNS(e.namespaceURI,"title");s.textContent=n,e.insertBefore(s,a)}}}},xct={offset:w7e("x","width","right")},wct={offset:w7e("y","height","bottom")},Tct={offset(t,{refBBox:e}){return t?{x:-e.x,y:-e.y}:{x:0,y:0}}};function w7e(t,e,r){return(n,{refBBox:i})=>{const a=new Je;let s;return n==="middle"?s=i[e]/2:n===r?s=i[e]:typeof n=="number"&&Number.isFinite(n)?s=n>-1&&n<1?-i[e]*n:-n:E0(n)?s=i[e]*parseFloat(n)/100:s=0,a[t]=-(i[t]+s),a}}const Cct={qualify:Xd,set(t,{elem:e}){ai(e,t)}},Sct={set(t,{elem:e}){e.innerHTML=`${t}`}},kct={qualify:Xd,set(t,{view:e}){return`url(#${e.graph.defineFilter(t)})`}},Ect={set(t){return t!=null&&typeof t=="object"&&t.id?t.id:t}},Act=t=>{var{size:e,width:r,height:n,offset:i,open:a}=t,s=Un(t,["size","width","height","offset","open"]);return T7e({size:e,width:r,height:n,offset:i},a===!0,!0,void 0,s)},Mct=t=>{var{size:e,width:r,height:n,offset:i,factor:a}=t,s=Un(t,["size","width","height","offset","factor"]);return T7e({size:e,width:r,height:n,offset:i},!1,!1,a,s)};function T7e(t,e,r,n=3/4,i={}){const a=t.size||10,s=t.width||a,o=t.height||a,l=new hi,u={};if(e)l.moveTo(s,0).lineTo(0,o/2).lineTo(s,o),u.fill="none";else{if(l.moveTo(0,o/2),l.lineTo(s,0),!r){const d=wU(n,0,1);l.lineTo(s*d,o/2)}l.lineTo(s,o),l.close()}return Object.assign(Object.assign(Object.assign({},u),i),{tagName:"path",d:F4(l.serialize(),{x:t.offset!=null?t.offset:-s/2})})}const Rct=t=>{var{size:e,width:r,height:n,offset:i}=t,a=Un(t,["size","width","height","offset"]);const s=e||10,o=r||s,l=n||s,u=new hi;return u.moveTo(0,l/2).lineTo(o/2,0).lineTo(o,l/2).lineTo(o/2,l).close(),Object.assign(Object.assign({},a),{tagName:"path",d:F4(u.serialize(),i??-o/2)})},Ict=t=>{var{d:e,offsetX:r,offsetY:n}=t,i=Un(t,["d","offsetX","offsetY"]);return Object.assign(Object.assign({},i),{tagName:"path",d:F4(e,r,n)})},Lct=t=>{var{size:e,width:r,height:n,offset:i}=t,a=Un(t,["size","width","height","offset"]);const s=e||10,o=r||s,l=n||s,u=new hi;return u.moveTo(0,0).lineTo(o,l).moveTo(0,l).lineTo(o,0),Object.assign(Object.assign({},a),{tagName:"path",fill:"none",d:F4(u.serialize(),i||-o/2)})},Nct=t=>{var{width:e,height:r,offset:n,open:i,flip:a}=t,s=Un(t,["width","height","offset","open","flip"]);let o=r||6;const l=e||10,u=i===!0,d=a===!0,h=Object.assign(Object.assign({},s),{tagName:"path"});d&&(o=-o);const f=new hi;return f.moveTo(0,o).lineTo(l,0),u?h.fill="none":(f.lineTo(l,o),f.close()),h.d=F4(f.serialize(),{x:n||-l/2,y:o/2}),h},C7e=t=>{var{r:e}=t,r=Un(t,["r"]);const n=e||5;return Object.assign(Object.assign({cx:n},r),{tagName:"circle",r:n})},Oct=t=>{var{r:e}=t,r=Un(t,["r"]);const n=e||5,i=new hi;return i.moveTo(n,0).lineTo(n,n*2),i.moveTo(0,n).lineTo(n*2,n),{children:[Object.assign(Object.assign({},C7e({r:n})),{fill:"none"}),Object.assign(Object.assign({},r),{tagName:"path",d:F4(i.serialize(),-n)})]}},Dct=t=>{var{rx:e,ry:r}=t,n=Un(t,["rx","ry"]);const i=e||5,a=r||5;return Object.assign(Object.assign({cx:i},n),{tagName:"ellipse",rx:i,ry:a})},Pct=Object.freeze(Object.defineProperty({__proto__:null,async:Nct,block:Act,circle:C7e,circlePlus:Oct,classic:Mct,cross:Lct,diamond:Rct,ellipse:Dct,path:Ict},Symbol.toStringTag,{value:"Module"})),_ct=Pct,Bw=ts.create({type:"marker"});Bw.register(_ct,!0);function ZZ(t){return typeof t=="string"||Xd(t)}const Bct={qualify:ZZ,set(t,{view:e,attrs:r}){return JZ("marker-start",t,e,r)}},$ct={qualify:ZZ,set(t,{view:e,attrs:r}){return JZ("marker-end",t,e,r,{transform:"rotate(180)"})}},Fct={qualify:ZZ,set(t,{view:e,attrs:r}){return JZ("marker-mid",t,e,r)}};function JZ(t,e,r,n,i={}){const a=typeof e=="string"?{name:e}:e,{name:s,args:o}=a,l=Un(a,["name","args"]);let u=l;if(s&&typeof s=="string"){const h=Bw.get(s);if(h)u=h(Object.assign(Object.assign({},l),o));else return Bw.onNotFound(s)}const d=Object.assign(Object.assign(Object.assign({},zct(n,t)),i),u);return{[t]:`url(#${r.graph.defineMarker(d)})`}}function zct(t,e){const r={},n=t.stroke;if(typeof n=="string"&&(r.stroke=n,r.fill=n),e!=="marker-mid"){const i=parseFloat(t.strokeWidth||t["stroke-width"]);if(Number.isFinite(i)&&i>1){const a=Math.ceil(i/2);r.refX=e==="marker-start"?a:-a}}return r}const zC=(t,{view:e})=>e.cell.isEdge(),Hct={qualify:zC,set(t,e){var r,n,i,a;const s=e.view,o=t.reverse||!1,l=t.stubs||0;let u;if(Number.isFinite(l)&&l!==0)if(o){let d,h;const f=s.getConnectionLength()||0;l<0?(d=(f+l)/2,h=-l):(d=l,h=f-l*2);const p=s.getConnection();u=(a=(i=(n=(r=p==null?void 0:p.divideAtLength(d))===null||r===void 0?void 0:r[1])===null||n===void 0?void 0:n.divideAtLength(h))===null||i===void 0?void 0:i[0])===null||a===void 0?void 0:a.serialize()}else{let d;l<0?d=((s.getConnectionLength()||0)+l)/2:d=l;const h=s.getConnection();if(h){const f=h.divideAtLength(d),p=h.divideAtLength(-d);f&&p&&(u=`${f[0].serialize()} ${p[1].serialize()}`)}}return{d:u||s.getConnectionPathData()}}},S7e={qualify:zC,set:FO("getTangentAtLength",{rotate:!0})},Vct={qualify:zC,set:FO("getTangentAtLength",{rotate:!1})},k7e={qualify:zC,set:FO("getTangentAtRatio",{rotate:!0})},Gct={qualify:zC,set:FO("getTangentAtRatio",{rotate:!1})},Wct=S7e,qct=k7e;function FO(t,e){const r={x:1,y:0};return(n,i)=>{let a,s;const o=i.view,l=o[t](Number(n));return l?(s=e.rotate?l.vector().vectorAngle(r):0,a=l.start):(a=o.path.start,s=0),s===0||Number.isNaN(s)?{transform:`translate(${a.x},${a.y})`}:{transform:`translate(${a.x},${a.y}) rotate(${s})`}}}const jct=Object.freeze(Object.defineProperty({__proto__:null,annotations:Uct,atConnectionLength:Wct,atConnectionLengthIgnoreGradient:Vct,atConnectionLengthKeepGradient:S7e,atConnectionRatio:qct,atConnectionRatioIgnoreGradient:Gct,atConnectionRatioKeepGradient:k7e,connection:Hct,displayEmpty:bct,eol:yct,fill:dct,filter:kct,html:Sct,lineHeight:pct,port:Ect,ref:Ylt,refCx:ect,refCy:tct,refD:act,refDKeepOffset:rct,refDResetOffset:m7e,refDx:Xlt,refDy:Klt,refHeight:p7e,refHeight2:uct,refPoints:sct,refPointsKeepOffset:nct,refPointsResetOffset:U7e,refR:ict,refRCircumscribed:Qlt,refRInscribed:g7e,refRx:Zlt,refRy:Jlt,refWidth:f7e,refWidth2:cct,refX:d7e,refX2:oct,refY:h7e,refY2:lct,resetOffset:Tct,sourceMarker:Bct,stroke:hct,style:Cct,targetMarker:$ct,text:x7e,textPath:mct,textVerticalAnchor:gct,textWrap:fct,title:vct,vertexMarker:Fct,xAlign:xct,yAlign:wct},Symbol.toStringTag,{value:"Module"})),Yct={xlinkHref:"xlink:href",xlinkShow:"xlink:show",xlinkRole:"xlink:role",xlinkType:"xlink:type",xlinkArcrole:"xlink:arcrole",xlinkTitle:"xlink:title",xlinkActuate:"xlink:actuate",xmlSpace:"xml:space",xmlBase:"xml:base",xmlLang:"xml:lang",preserveAspectRatio:"preserveAspectRatio",requiredExtension:"requiredExtension",requiredFeatures:"requiredFeatures",systemLanguage:"systemLanguage",externalResourcesRequired:"externalResourceRequired"};function Xct(t,e,r){return!!(t!=null&&(typeof t=="string"||typeof t.qualify!="function"||vr(t.qualify,this,e,r)))}const E7e=Object.assign(Object.assign({},Yct),jct),$w=ts.create({type:"attribute definition"});$w.register(E7e,!0);const A7e=t=>{const e=document.createElement("canvas"),r=t.width,n=t.height;e.width=r*2,e.height=n;const i=e.getContext("2d");return i.drawImage(t,0,0,r,n),i.translate(2*r,0),i.scale(-1,1),i.drawImage(t,0,0,r,n),e},M7e=t=>{const e=document.createElement("canvas"),r=t.width,n=t.height;e.width=r,e.height=n*2;const i=e.getContext("2d");return i.drawImage(t,0,0,r,n),i.translate(0,2*n),i.scale(1,-1),i.drawImage(t,0,0,r,n),e},R7e=t=>{const e=document.createElement("canvas"),r=t.width,n=t.height;e.width=2*r,e.height=2*n;const i=e.getContext("2d");return i.drawImage(t,0,0,r,n),i.setTransform(-1,0,0,-1,e.width,e.height),i.drawImage(t,0,0,r,n),i.setTransform(-1,0,0,1,e.width,0),i.drawImage(t,0,0,r,n),i.setTransform(1,0,0,-1,0,e.height),i.drawImage(t,0,0,r,n),e},Kct=(t,e)=>{const r=t.width,n=t.height,i=document.createElement("canvas");i.width=r*3,i.height=n*3;const a=i.getContext("2d"),s=e.angle!=null?-e.angle:-20,o=jo(s),l=i.width/4,u=i.height/4;for(let d=0;d<4;d+=1)for(let h=0;h<4;h+=1)(d+h)%2>0&&(a.setTransform(1,0,0,1,(2*d-1)*l,(2*h-1)*u),a.rotate(o),a.drawImage(t,-r/2,-n/2,r,n));return i},Zct=Object.freeze(Object.defineProperty({__proto__:null,flipX:A7e,flipXY:R7e,flipY:M7e,watermark:Kct},Symbol.toStringTag,{value:"Module"})),zO=Object.assign({},Zct);zO["flip-x"]=A7e;zO["flip-y"]=M7e;zO["flip-xy"]=R7e;const HO=ts.create({type:"background pattern"});HO.register(zO,!0);function VO(t,e,r){let n;if(typeof r=="object"){if(Number.isFinite(r.y)){const a=new cr(e,t),{start:s,end:o}=a.parallel(r.y);e=s,t=o}n=r.x}else n=r;if(n==null||!Number.isFinite(n))return t;const i=t.distance(e);return n===0&&i>0?t:t.move(e,-Math.min(n,i-1))}function kR(t){const e=t.getAttribute("stroke-width");return e===null?0:parseFloat(e)||0}function Jct(t){if(t==null)return null;let e=t;do{let r=e.tagName;if(typeof r!="string")return null;if(r=r.toUpperCase(),r==="G")e=e.firstElementChild;else if(r==="TITLE")e=e.nextElementSibling;else break}while(e);return e}const I7e=(t,e,r,n)=>{const i=e.getBBoxOfElement(r);n.stroked&&i.inflate(kR(r)/2);const a=t.intersect(i),s=a&&a.length?t.start.closest(a):t.end;return VO(s,t.start,n.offset)},Qct=function(t,e,r,n,i){const a=e.cell,s=a.isNode()?a.getAngle():0;if(s===0)return vr(I7e,this,t,e,r,n,i);const o=e.getUnrotatedBBoxOfElement(r);n.stroked&&o.inflate(kR(r)/2);const l=o.getCenter(),u=t.clone().rotate(s,l),d=u.setLength(1e6).intersect(o),h=d&&d.length?u.start.closest(d).rotate(-s,l):t.end;return VO(h,t.start,n.offset)},eut=(t,e,r,n)=>{let i,a;const s=t.end,o=n.selector;if(typeof o=="string"?i=e.findOne(o):Array.isArray(o)?i=jZ(r,o):i=Jct(r),!Dg(i)){if(i===r||!Dg(r))return s;i=r}const l=e.getShapeOfElement(i),u=e.getMatrixOfElement(i),d=e.getRootTranslatedMatrix(),h=e.getRootRotatedMatrix(),f=d.multiply(h).multiply(u),p=f.inverse(),g=nlt(t,p),m=g.start.clone(),U=e.getDataOfElement(i);if(n.insideout===!1){U.shapeBBox==null&&(U.shapeBBox=l.bbox());const w=U.shapeBBox;if(w!=null&&w.containsPoint(m))return s}n.extrapolate===!0&&g.setLength(1e6);let y;if(hi.isPath(l)){const w=n.precision||2;U.segmentSubdivisions==null&&(U.segmentSubdivisions=l.getSegmentSubdivisions({precision:w})),y={precision:w,segmentSubdivisions:U.segmentSubdivisions},a=g.intersect(l,y)}else a=g.intersect(l);a?Array.isArray(a)&&(a=m.closest(a)):n.sticky===!0&&(Bt.isRectangle(l)?a=l.getNearestPointToPoint(m):dc.isEllipse(l)?a=l.intersectsWithLineFromCenterToPoint(m):a=l.closestPoint(m,y));const b=a?Jf(a,f):s;let v=n.offset||0;return n.stroked!==!1&&(typeof v=="object"?(v=Object.assign({},v),v.x==null&&(v.x=0),v.x+=kR(i)/2):v+=kR(i)/2),VO(b,t.start,v)};function tut(t,e,r=0){const{start:n,end:i}=t;let a,s,o,l;switch(e){case"left":l="x",a=i,s=n,o=-1;break;case"right":l="x",a=n,s=i,o=1;break;case"top":l="y",a=i,s=n,o=-1;break;case"bottom":l="y",a=n,s=i,o=1;break;default:return}n[l]<i[l]?a[l]=s[l]:s[l]=a[l],Number.isFinite(r)&&(a[l]+=o*r,s[l]+=o*r)}const rut=(t,e,r,n)=>{const{alignOffset:i,align:a}=n;return a&&tut(t,a,i),VO(t.end,t.start,n.offset)},nut=Object.freeze(Object.defineProperty({__proto__:null,anchor:rut,bbox:I7e,boundary:eut,rect:Qct},Symbol.toStringTag,{value:"Module"})),iut=nut,Fw=ts.create({type:"connection point"});Fw.register(iut,!0);const nle=1,pk=1/3,gk=2/3;let zw=[],ER=[];function aut(t){let e=t.graph._jumpOverUpdateList;if(e==null&&(e=t.graph._jumpOverUpdateList=[],t.graph.on("cell:mouseup",()=>{const r=t.graph._jumpOverUpdateList;setTimeout(()=>{for(let n=0;n<r.length;n+=1)r[n].update()})}),t.graph.on("model:reseted",()=>{e=t.graph._jumpOverUpdateList=[]})),e.indexOf(t)<0){e.push(t);const r=()=>e.splice(e.indexOf(t),1);t.cell.once("change:connector",r),t.cell.once("removed",r)}}function $B(t,e,r=[]){const n=[t,...r,e],i=[];return n.forEach((a,s)=>{const o=n[s+1];o!=null&&i.push(new cr(a,o))}),i}function sut(t,e){const r=[];return e.forEach(n=>{const i=t.intersectsWithLine(n);if(i){const{x:a,y:s}=i,{start:o,end:l}=n,u=Math.round(o.x)===Math.round(a)&&Math.round(o.y)===Math.round(s),d=Math.round(l.x)===Math.round(a)&&Math.round(l.y)===Math.round(s);if(u||d)return;r.push(i)}}),r}function ile(t,e){return new cr(t,e).squaredLength()}function out(t,e,r){return e.reduce((n,i,a)=>{if(ER.includes(i))return n;const s=n.pop()||t,o=Je.create(i).move(s.start,-r);let l=Je.create(i).move(s.start,+r);const u=e[a+1];if(u!=null){const f=l.distance(u);f<=r&&(l=u.move(s.start,f),ER.push(u))}else if(o.distance(s.end)<r*2+nle)return n.push(s),n;if(l.distance(s.start)<r*2+nle)return n.push(s),n;const h=new cr(o,l);return zw.push(h),n.push(new cr(s.start,o),h,new cr(l,s.end)),n},[])}function ale(t,e,r,n){const i=new hi;let a;return a=hi.createSegment("M",t[0].start),i.appendSegment(a),t.forEach((s,o)=>{if(zw.includes(s)){let l,u,d,h;if(r==="arc"){l=-90,u=s.start.diff(s.end),(u.x<0||u.x===0&&u.y<0)&&(l+=180);const p=s.getCenter(),g=new cr(p,s.end).rotate(l,p);let m;m=new cr(s.start,p),d=m.pointAt(2/3).rotate(l,s.start),h=g.pointAt(1/3).rotate(-l,g.end),a=hi.createSegment("C",d,h,g.end),i.appendSegment(a),m=new cr(p,s.end),d=g.pointAt(1/3).rotate(l,g.end),h=m.pointAt(1/3).rotate(-l,s.end),a=hi.createSegment("C",d,h,s.end),i.appendSegment(a)}else if(r==="gap")a=hi.createSegment("M",s.end),i.appendSegment(a);else if(r==="cubic"){l=s.start.theta(s.end);const f=e*.6;let p=e*1.35;u=s.start.diff(s.end),(u.x<0||u.x===0&&u.y<0)&&(p*=-1),d=new Je(s.start.x+f,s.start.y+p).rotate(l,s.start),h=new Je(s.end.x-f,s.end.y+p).rotate(l,s.end),a=hi.createSegment("C",d,h,s.end),i.appendSegment(a)}}else{const l=t[o+1];n===0||!l||zw.includes(l)?(a=hi.createSegment("L",s.end),i.appendSegment(a)):lut(n,i,s.end,s.start,l.end)}}),i}function lut(t,e,r,n,i){const a=r.distance(n)/2,s=r.distance(i)/2,o=-Math.min(t,a),l=-Math.min(t,s),u=r.clone().move(n,o).round(),d=r.clone().move(i,l).round(),h=new Je(pk*u.x+gk*r.x,gk*r.y+pk*u.y),f=new Je(pk*d.x+gk*r.x,gk*r.y+pk*d.y);let p;p=hi.createSegment("L",u),e.appendSegment(p),p=hi.createSegment("C",h,f,d),e.appendSegment(p)}const cut=function(t,e,r,n={}){zw=[],ER=[],aut(this);const i=n.size||5,a=n.type||"arc",s=n.radius||0,o=n.ignoreConnectors||["smooth"],l=this.graph,d=l.model.getEdges();if(d.length===1)return ale($B(t,e,r),i,a,s);const h=this.cell,f=d.indexOf(h),p=l.options.connecting.connector||{},g=d.filter((w,T)=>{const S=w.getConnector()||p;return o.includes(S.name)?!1:T>f?S.name!=="jumpover":!0}),m=g.map(w=>l.findViewByCell(w)),U=$B(t,e,r),y=m.map(w=>w==null?[]:w===this?U:$B(w.sourcePoint,w.targetPoint,w.routePoints)),b=[];U.forEach(w=>{const T=g.reduce((S,C,k)=>{if(C!==h){const E=sut(w,y[k]);S.push(...E)}return S},[]).sort((S,C)=>ile(w.start,S)-ile(w.start,C));T.length>0?b.push(...out(w,T,i)):b.push(w)});const v=ale(b,i,a,s);return zw=[],ER=[],n.raw?v:v.serialize()},uut=(t,e,r,n={})=>{const i=r.length===3?0:1,a=Je.create(r[0+i]),s=Je.create(r[2+i]),o=Je.create(r[1+i]);if(!Je.equals(t,e)){const u=new Je((t.x+e.x)/2,(t.y+e.y)/2),d=u.angleBetween(Je.create(t).rotate(90,u),o);d>1&&(a.rotate(180-d,u),s.rotate(180-d,u),o.rotate(180-d,u))}const l=`
M ${t.x} ${t.y}
Q ${a.x} ${a.y} ${o.x} ${o.y}
Q ${s.x} ${s.y} ${e.x} ${e.y}
`;return n.raw?hi.parse(l):l},dut=(t,e,r,n={})=>{const i=[t,...r,e],a=new qs(i),s=new hi(a);return n.raw?s:s.serialize()},hut=(t,e,r,n={})=>{const i=new hi;i.appendSegment(hi.createSegment("M",t));const a=1/3,s=2/3,o=n.radius||10;let l,u;for(let d=0,h=r.length;d<h;d+=1){const f=Je.create(r[d]),p=r[d-1]||t,g=r[d+1]||e;l=u||f.distance(p)/2,u=f.distance(g)/2;const m=-Math.min(o,l),U=-Math.min(o,u),y=f.clone().move(p,m).round(),b=f.clone().move(g,U).round(),v=new Je(a*y.x+s*f.x,s*f.y+a*y.y),w=new Je(a*b.x+s*f.x,s*f.y+a*b.y);i.appendSegment(hi.createSegment("L",y)),i.appendSegment(hi.createSegment("C",v,w,b))}return i.appendSegment(hi.createSegment("L",e)),n.raw?i:i.serialize()},fut=(t,e,r,n={})=>{let i,a=n.direction;if(r&&r.length!==0){const s=[t,...r,e],o=U0.throughPoints(s);i=new hi(o)}else if(i=new hi,i.appendSegment(hi.createSegment("M",t)),a||(a=Math.abs(t.x-e.x)>=Math.abs(t.y-e.y)?"H":"V"),a==="H"){const s=(t.x+e.x)/2;i.appendSegment(hi.createSegment("C",s,t.y,s,e.y,e.x,e.y))}else{const s=(t.y+e.y)/2;i.appendSegment(hi.createSegment("C",t.x,s,e.x,s,e.x,e.y))}return n.raw?i:i.serialize()},put=Object.freeze(Object.defineProperty({__proto__:null,jumpover:cut,loop:uut,normal:dut,rounded:hut,smooth:fut},Symbol.toStringTag,{value:"Module"})),L7e=put,Hw=ts.create({type:"connector"});Hw.register(L7e,!0);function GO(t){return function(e,r,n,i){if(n instanceof Element){const a=this.graph.findViewByElem(n);let s;if(a)if(a.isEdgeElement(n)){const o=i.fixedAt!=null?i.fixedAt:"50%";s=N7e(a,o)}else s=a.getBBoxOfElement(n).getCenter();else s=new Je;return t.call(this,e,r,s,i)}return t.apply(this,arguments)}}function N7e(t,e){const r=E0(e),n=typeof e=="string"?parseFloat(e):e;return r?t.getPointAtRatio(n/100):t.getPointAtLength(n)}const O7e=(t,e,r,n)=>{const i=t.getClosestPoint(r);return i??new Je},gut=GO(O7e),mut=(t,e,r,n)=>{const i=n.length!=null?n.length:20;return t.getPointAtLength(i)},Uut=function(t,e,r,n){const a=t.getConnection(),s=t.getConnectionSubdivisions(),o=new cr(r.clone().translate(0,1e6),r.clone().translate(0,-1e6)),l=new cr(r.clone().translate(1e6,0),r.clone().translate(-1e6,0)),u=o.intersect(a,{segmentSubdivisions:s}),d=l.intersect(a,{segmentSubdivisions:s}),h=[];return u&&h.push(...u),d&&h.push(...d),h.length>0?r.closest(h):n.fallbackAt!=null?N7e(t,n.fallbackAt):vr(O7e,this,t,e,r,n)},yut=GO(Uut),but=(t,e,r,n)=>{let i=n.ratio!=null?n.ratio:.5;return i>1&&(i/=100),t.getPointAtRatio(i)},vut=Object.freeze(Object.defineProperty({__proto__:null,closest:gut,length:mut,orth:yut,ratio:but},Symbol.toStringTag,{value:"Module"})),xut=vut,Vw=ts.create({type:"edge endpoint"});Vw.register(xut,!0);function QZ(t,e){return t??e}function Ks(t,e){return t!=null&&Number.isFinite(t)?t:e}function wut(t={}){const e=QZ(t.color,"blue"),r=Ks(t.width,1),n=Ks(t.margin,2),i=Ks(t.opacity,1),a=n,s=n+r;return`
<filter>
<feFlood flood-color="${e}" flood-opacity="${i}" result="colored"/>
<feMorphology in="SourceAlpha" result="morphedOuter" operator="dilate" radius="${s}" />
<feMorphology in="SourceAlpha" result="morphedInner" operator="dilate" radius="${a}" />
<feComposite result="morphedOuterColored" in="colored" in2="morphedOuter" operator="in"/>
<feComposite operator="xor" in="morphedOuterColored" in2="morphedInner" result="outline"/>
<feMerge>
<feMergeNode in="outline"/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>
`.trim()}function Tut(t={}){const e=QZ(t.color,"red"),r=Ks(t.blur,0),n=Ks(t.width,1),i=Ks(t.opacity,1);return`
<filter>
<feFlood flood-color="${e}" flood-opacity="${i}" result="colored"/>
<feMorphology result="morphed" in="SourceGraphic" operator="dilate" radius="${n}"/>
<feComposite result="composed" in="colored" in2="morphed" operator="in"/>
<feGaussianBlur result="blured" in="composed" stdDeviation="${r}"/>
<feBlend in="SourceGraphic" in2="blured" mode="normal"/>
</filter>
`.trim()}function Cut(t={}){const e=Ks(t.x,2);return`
<filter>
<feGaussianBlur stdDeviation="${t.y!=null&&Number.isFinite(t.y)?[e,t.y]:e}"/>
</filter>
`.trim()}function Sut(t={}){const e=Ks(t.dx,0),r=Ks(t.dy,0),n=QZ(t.color,"black"),i=Ks(t.blur,4),a=Ks(t.opacity,1);return"SVGFEDropShadowElement"in window?`<filter>
<feDropShadow stdDeviation="${i}" dx="${e}" dy="${r}" flood-color="${n}" flood-opacity="${a}" />
</filter>`.trim():`<filter>
<feGaussianBlur in="SourceAlpha" stdDeviation="${i}" />
<feOffset dx="${e}" dy="${r}" result="offsetblur" />
<feFlood flood-color="${n}" />
<feComposite in2="offsetblur" operator="in" />
<feComponentTransfer>
<feFuncA type="linear" slope="${a}" />
</feComponentTransfer>
<feMerge>
<feMergeNode/>
<feMergeNode in="SourceGraphic"/>
</feMerge>
</filter>`.trim()}function kut(t={}){const e=Ks(t.amount,1),r=.2126+.7874*(1-e),n=.7152-.7152*(1-e),i=.0722-.0722*(1-e),a=.2126-.2126*(1-e),s=.7152+.2848*(1-e),o=.0722-.0722*(1-e),l=.2126-.2126*(1-e),u=.0722+.9278*(1-e);return`
<filter>
<feColorMatrix type="matrix" values="${r} ${n} ${i} 0 0 ${a} ${s} ${o} 0 0 ${l} ${n} ${u} 0 0 0 0 0 1 0"/>
</filter>
`.trim()}function Eut(t={}){const e=Ks(t.amount,1),r=.393+.607*(1-e),n=.769-.769*(1-e),i=.189-.189*(1-e),a=.349-.349*(1-e),s=.686+.314*(1-e),o=.168-.168*(1-e),l=.272-.272*(1-e),u=.534-.534*(1-e),d=.131+.869*(1-e);return`
<filter>
<feColorMatrix type="matrix" values="${r} ${n} ${i} 0 0 ${a} ${s} ${o} 0 0 ${l} ${u} ${d} 0 0 0 0 0 1 0"/>
</filter>
`.trim()}function Aut(t={}){return`
<filter>
<feColorMatrix type="saturate" values="${1-Ks(t.amount,1)}"/>
</filter>
`.trim()}function Mut(t={}){return`
<filter>
<feColorMatrix type="hueRotate" values="${Ks(t.angle,0)}"/>
</filter>
`.trim()}function Rut(t={}){const e=Ks(t.amount,1),r=1-e;return`
<filter>
<feComponentTransfer>
<feFuncR type="table" tableValues="${e} ${r}"/>
<feFuncG type="table" tableValues="${e} ${r}"/>
<feFuncB type="table" tableValues="${e} ${r}"/>
</feComponentTransfer>
</filter>
`.trim()}function Iut(t={}){const e=Ks(t.amount,1);return`
<filter>
<feComponentTransfer>
<feFuncR type="linear" slope="${e}"/>
<feFuncG type="linear" slope="${e}"/>
<feFuncB type="linear" slope="${e}"/>
</feComponentTransfer>
</filter>
`.trim()}function Lut(t={}){const e=Ks(t.amount,1),r=.5-e/2;return`
<filter>
<feComponentTransfer>
<feFuncR type="linear" slope="${e}" intercept="${r}"/>
<feFuncG type="linear" slope="${e}" intercept="${r}"/>
<feFuncB type="linear" slope="${e}" intercept="${r}"/>
</feComponentTransfer>
</filter>
`.trim()}const Nut=Object.freeze(Object.defineProperty({__proto__:null,blur:Cut,brightness:Iut,contrast:Lut,dropShadow:Sut,grayScale:kut,highlight:Tut,hueRotate:Mut,invert:Rut,outline:wut,saturate:Aut,sepia:Eut},Symbol.toStringTag,{value:"Module"})),Out=Nut,Gw=ts.create({type:"filter"});Gw.register(Out,!0);const Dut={color:"#aaaaaa",thickness:1,markup:"rect",update(t,e){const r=e.thickness*e.sx,n=e.thickness*e.sy;Nn(t,{width:r,height:n,rx:r,ry:n,fill:e.color})}},Put={color:"#aaaaaa",thickness:1,markup:"rect",update(t,e){const r=e.sx<=1?e.thickness*e.sx:e.thickness;Nn(t,{width:r,height:r,rx:r,ry:r,fill:e.color})}},_ut={color:"rgba(224,224,224,1)",thickness:1,markup:"path",update(t,e){let r;const n=e.width,i=e.height,a=e.thickness;n-a>=0&&i-a>=0?r=["M",n,0,"H0 M0 0 V0",i].join(" "):r="M 0 0 0 0",Nn(t,{d:r,stroke:e.color,"stroke-width":e.thickness})}},But=[{color:"rgba(224,224,224,1)",thickness:1,markup:"path",update(t,e){let r;const n=e.width,i=e.height,a=e.thickness;n-a>=0&&i-a>=0?r=["M",n,0,"H0 M0 0 V0",i].join(" "):r="M 0 0 0 0",Nn(t,{d:r,stroke:e.color,"stroke-width":e.thickness})}},{color:"rgba(224,224,224,0.2)",thickness:3,factor:4,markup:"path",update(t,e){let r;const n=e.factor||1,i=e.width*n,a=e.height*n,s=e.thickness;i-s>=0&&a-s>=0?r=["M",i,0,"H0 M0 0 V0",a].join(" "):r="M 0 0 0 0",e.width=i,e.height=a,Nn(t,{d:r,stroke:e.color,"stroke-width":e.thickness})}}],$ut=Object.freeze(Object.defineProperty({__proto__:null,dot:Dut,doubleMesh:But,fixedDot:Put,mesh:_ut},Symbol.toStringTag,{value:"Module"}));class Fut{constructor(){this.patterns={},this.root=Ar.create(CA(),{width:"100%",height:"100%"},[Kd("defs")]).node}add(e,r){const n=this.root.childNodes[0];n&&n.appendChild(r),this.patterns[e]=r,Ar.create("rect",{width:"100%",height:"100%",fill:`url(#${e})`}).appendTo(this.root)}get(e){return this.patterns[e]}has(e){return this.patterns[e]!=null}}const D7e=$ut,Ww=ts.create({type:"grid"});Ww.register(D7e,!0);const Kn={prefixCls:"x6",autoInsertCSS:!0,useCSSSelector:!0,prefix(t){return`${Kn.prefixCls}-${t}`}},sle=Kn.prefix("highlighted"),zut={highlight(t,e,r){const n=r&&r.className||sle;nr(e,n)},unhighlight(t,e,r){const n=r&&r.className||sle;Vi(e,n)}},ole=Kn.prefix("highlight-opacity"),Hut={highlight(t,e){nr(e,ole)},unhighlight(t,e){Vi(e,ole)}},Vut={padding:3,rx:0,ry:0,attrs:{"stroke-width":3,stroke:"#FEB663"}},Gut={highlight(t,e,r){const n=lle(e,r);if(qut(n))return;r=v6e({},r,Vut);const i=Ar.create(e);let a,s;try{a=i.toPathData()}catch{s=rle(i.node),a=Y6e(Object.assign(Object.assign({},r),s))}const o=Kd("path");if(Nn(o,Object.assign({d:a,"pointer-events":"none","vector-effect":"non-scaling-stroke",fill:"none"},r.attrs?Dw(r.attrs):null)),t.isEdgeElement(e))Nn(o,"d",t.getConnectionPathData());else{let d=i.getTransformToElement(t.container);const h=r.padding;if(h){s==null&&(s=rle(i.node));const f=s.x+s.width/2,p=s.y+s.height/2;s=Iu(s,d);const g=Math.max(s.width,1),m=Math.max(s.height,1),U=(g+h)/g,y=(m+h)/m,b=ao({a:U,b:0,c:0,d:y,e:f-U*f,f:p-y*p});d=d.multiply(b)}Tv(o,d)}nr(o,Kn.prefix("highlight-stroke"));const l=t.cell,u=()=>cle(n);l.on("removed",u),l.model&&l.model.on("reseted",u),t.container.appendChild(o),Wut(n,o)},unhighlight(t,e,r){cle(lle(e,r))}};function lle(t,e){return BZ(t),t.id+JSON.stringify(e)}const AR={};function Wut(t,e){AR[t]=e}function qut(t){return AR[t]!=null}function cle(t){const e=AR[t];e&&(Bu(e),delete AR[t])}const jut=Object.freeze(Object.defineProperty({__proto__:null,className:zut,opacity:Hut,stroke:Gut},Symbol.toStringTag,{value:"Module"}));function Yut(t,e){if(typeof e.highlight!="function")throw new Error(`Highlighter '${t}' is missing required \`highlight()\` method`);if(typeof e.unhighlight!="function")throw new Error(`Highlighter '${t}' is missing required \`unhighlight()\` method`)}const Xut=jut,qw=ts.create({type:"highlighter"});qw.register(Xut,!0);const Kut=tp("center"),Zut=tp("topCenter"),Jut=tp("bottomCenter"),Qut=tp("leftMiddle"),edt=tp("rightMiddle"),tdt=tp("topLeft"),rdt=tp("topRight"),ndt=tp("bottomLeft"),idt=tp("bottomRight");function tp(t){return(e,r,n,i={})=>{let a;e.cell.visible?a=i.rotate?e.getUnrotatedBBoxOfElement(r):e.getBBoxOfElement(r):a=e.cell.getBBox();const s=a[t];s.x+=qc(i.dx,a.width),s.y+=qc(i.dy,a.height);const o=e.cell;return i.rotate?s.rotate(-o.getAngle(),o.getBBox().getCenter()):s}}const adt=(t,e,r,n)=>{const i=El(t.cell.getAngle()),a=t.cell.visible?t.getBBoxOfElement(e):t.cell.getBBox(),s=a.getCenter(),o=a.getTopLeft(),l=a.getBottomRight();let u=n.padding;if(Number.isFinite(u)||(u=0),o.y+u<=r.y&&r.y<=l.y-u){const d=r.y-s.y;s.x+=i===0||i===180?0:d*1/Math.tan(jo(i)),s.y+=d}else if(o.x+u<=r.x&&r.x<=l.x-u){const d=r.x-s.x;s.y+=i===90||i===270?0:d*Math.tan(jo(i)),s.x+=d}return s},sdt=GO(adt),odt=function(t,e,r,n,i){const a=t.cell.getConnectionPoint(this.cell,i);return(n.dx||n.dy)&&a.translate(n.dx||0,n.dy||0),a},ldt=(t,e,r,n)=>{let i,a=0,s;const o=t.cell;n.rotate?(i=t.getUnrotatedBBoxOfElement(e),s=o.getBBox().getCenter(),a=o.getAngle()):o.visible?i=t.getBBoxOfElement(e):i=t.cell.getBBox();const l=n.padding;l!=null&&Number.isFinite(l)&&i.inflate(l),n.rotate&&r.rotate(a,s);const u=i.getNearestSideToPoint(r);let d;switch(u){case"left":d=i.getLeftMiddle();break;case"right":d=i.getRightMiddle();break;case"top":d=i.getTopCenter();break;case"bottom":d=i.getBottomCenter();break}const h=n.direction;return h==="H"?(u==="top"||u==="bottom")&&(r.x<=i.x+i.width?d=i.getLeftMiddle():d=i.getRightMiddle()):h==="V"&&(r.y<=i.y+i.height?d=i.getTopCenter():d=i.getBottomCenter()),n.rotate?d.rotate(-a,s):d},cdt=GO(ldt),udt=Object.freeze(Object.defineProperty({__proto__:null,bottom:Jut,bottomLeft:ndt,bottomRight:idt,center:Kut,left:Qut,midSide:cdt,nodeCenter:odt,orth:sdt,right:edt,top:Zut,topLeft:tdt,topRight:rdt},Symbol.toStringTag,{value:"Module"})),ddt=udt,jw=ts.create({type:"node endpoint"});jw.register(ddt,!0);const hdt={position:{x:0,y:0},angle:0,attrs:{".":{y:"0","text-anchor":"start"}}};function w1(t,e){const{x:r,y:n,angle:i,attrs:a}=e||{};return v6e({},{angle:i,attrs:a,position:{x:r,y:n}},t,hdt)}const fdt=(t,e,r)=>w1({position:e.getTopLeft()},r),pdt=(t,e,r)=>w1({position:{x:-15,y:0},attrs:{".":{y:".3em","text-anchor":"end"}}},r),gdt=(t,e,r)=>w1({position:{x:15,y:0},attrs:{".":{y:".3em","text-anchor":"start"}}},r),mdt=(t,e,r)=>w1({position:{x:0,y:-15},attrs:{".":{"text-anchor":"middle"}}},r),Udt=(t,e,r)=>w1({position:{x:0,y:15},attrs:{".":{y:".6em","text-anchor":"middle"}}},r),ydt=(t,e,r)=>P7e(t,e,!1,r),bdt=(t,e,r)=>P7e(t,e,!0,r),vdt=(t,e,r)=>_7e(t,e,!1,r),xdt=(t,e,r)=>_7e(t,e,!0,r);function P7e(t,e,r,n){const i=n.offset!=null?n.offset:15,a=e.getCenter().theta(t),s=B7e(e);let o,l,u,d,h=0;return a<s[1]||a>s[2]?(o=".3em",l=i,u=0,d="start"):a<s[0]?(o="0",l=0,u=-i,r?(h=-90,d="start"):d="middle"):a<s[3]?(o=".3em",l=-i,u=0,d="end"):(o=".6em",l=0,u=i,r?(h=90,d="start"):d="middle"),w1({position:{x:Math.round(l),y:Math.round(u)},angle:h,attrs:{".":{y:o,"text-anchor":d}}},n)}function _7e(t,e,r,n){const i=n.offset!=null?n.offset:15,a=e.getCenter().theta(t),s=B7e(e);let o,l,u,d,h=0;return a<s[1]||a>s[2]?(o=".3em",l=-i,u=0,d="end"):a<s[0]?(o=".6em",l=0,u=i,r?(h=90,d="start"):d="middle"):a<s[3]?(o=".3em",l=i,u=0,d="start"):(o="0em",l=0,u=-i,r?(h=-90,d="start"):d="middle"),w1({position:{x:Math.round(l),y:Math.round(u)},angle:h,attrs:{".":{y:o,"text-anchor":d}}},n)}function B7e(t){const e=t.getCenter(),r=e.theta(t.getTopLeft()),n=e.theta(t.getBottomLeft()),i=e.theta(t.getBottomRight()),a=e.theta(t.getTopRight());return[r,a,i,n]}const wdt=(t,e,r)=>$7e(t.diff(e.getCenter()),!1,r),Tdt=(t,e,r)=>$7e(t.diff(e.getCenter()),!0,r);function $7e(t,e,r){const n=r.offset!=null?r.offset:20,i=new Je(0,0),a=-t.theta(i),s=t.clone().move(i,n).diff(t).round();let o=".3em",l,u=a;return(a+90)%180===0?(l=e?"end":"middle",!e&&a===-270&&(o="0em")):a>-270&&a<-90?(l="start",u=a-180):l="end",w1({position:s.round().toJSON(),angle:e?u:0,attrs:{".":{y:o,"text-anchor":l}}},r)}const Cdt=Object.freeze(Object.defineProperty({__proto__:null,bottom:Udt,inside:vdt,insideOriented:xdt,left:pdt,manual:fdt,outside:ydt,outsideOriented:bdt,radial:wdt,radialOriented:Tdt,right:gdt,top:mdt},Symbol.toStringTag,{value:"Module"})),F7e=Cdt,WO=ts.create({type:"port label layout"});WO.register(F7e,!0);function jV(t,e={}){return new Je(qc(e.x,t.width),qc(e.y,t.height))}function eJ(t,e,r){return Object.assign({angle:e,position:t.toJSON()},r)}const Sdt=(t,e)=>t.map(({x:r,y:n,angle:i})=>eJ(jV(e,{x:r,y:n}),i||0)),kdt=(t,e,r)=>{const n=r.start||0,i=r.step||20;return z7e(t,e,n,(a,s)=>(a+.5-s/2)*i)},Edt=(t,e,r)=>{const n=r.start||0,i=r.step||360/t.length;return z7e(t,e,n,a=>a*i)};function z7e(t,e,r,n){const i=e.getCenter(),a=e.getTopCenter(),s=e.width/e.height,o=dc.fromRect(e),l=t.length;return t.map((u,d)=>{const h=r+n(d,l),f=a.clone().rotate(-h,i).scale(s,1,i),p=u.compensateRotate?-o.tangentTheta(f):0;return(u.dx||u.dy)&&f.translate(u.dx||0,u.dy||0),u.dr&&f.move(i,u.dr),eJ(f.round(),p,u)})}const Adt=(t,e,r)=>{const n=jV(e,r.start||e.getOrigin()),i=jV(e,r.end||e.getCorner());return HC(t,n,i,r)},Mdt=(t,e,r)=>HC(t,e.getTopLeft(),e.getBottomLeft(),r),Rdt=(t,e,r)=>HC(t,e.getTopRight(),e.getBottomRight(),r),Idt=(t,e,r)=>HC(t,e.getTopLeft(),e.getTopRight(),r),Ldt=(t,e,r)=>HC(t,e.getBottomLeft(),e.getBottomRight(),r);function HC(t,e,r,n){const i=new cr(e,r),a=t.length;return t.map((s,o)=>{var{strict:l}=s,u=Un(s,["strict"]);const d=l||n.strict?(o+1)/(a+1):(o+.5)/a,h=i.pointAt(d);return(u.dx||u.dy)&&h.translate(u.dx||0,u.dy||0),eJ(h.round(),0,u)})}const Ndt=Object.freeze(Object.defineProperty({__proto__:null,absolute:Sdt,bottom:Ldt,ellipse:kdt,ellipseSpread:Edt,left:Mdt,line:Adt,right:Rdt,top:Idt},Symbol.toStringTag,{value:"Module"})),H7e=Ndt,Yw=ts.create({type:"port layout"});Yw.register(H7e,!0);const Odt=t=>[...t],Ddt=(t,e,r)=>{const n=e.side||"bottom",i=Sd(e.padding||40),a=r.sourceBBox,s=r.targetBBox,o=a.getCenter(),l=s.getCenter();let u,d,h;switch(n){case"top":h=-1,u="y",d="height";break;case"left":h=-1,u="x",d="width";break;case"right":h=1,u="x",d="width";break;case"bottom":default:h=1,u="y",d="height";break}return o[u]+=h*(a[d]/2+i[n]),l[u]+=h*(s[d]/2+i[n]),h*(o[u]-l[u])>0?l[u]=o[u]:o[u]=l[u],[o.toJSON(),...t,l.toJSON()]};function mk(t){return new Bt(t.x,t.y,0,0)}function MR(t={}){const e=Sd(t.padding||20);return{x:-e.left,y:-e.top,width:e.left+e.right,height:e.top+e.bottom}}function V7e(t,e={}){return t.sourceBBox.clone().moveAndExpand(MR(e))}function G7e(t,e={}){return t.targetBBox.clone().moveAndExpand(MR(e))}function Pdt(t,e={}){return t.sourceAnchor?t.sourceAnchor:V7e(t,e).getCenter()}function _dt(t,e={}){return t.targetAnchor?t.targetAnchor:G7e(t,e).getCenter()}const W7e=(t,e,r)=>{let n=V7e(r,e),i=G7e(r,e);const a=Pdt(r,e),s=_dt(r,e);n=n.union(mk(a)),i=i.union(mk(s));const o=t.map(d=>Je.create(d));o.unshift(a),o.push(s);let l=null;const u=[];for(let d=0,h=o.length-1;d<h;d+=1){let f=null;const p=o[d],g=o[d+1],m=Rl(p,g)!=null;if(d===0)d+1===h?n.intersectsWithRect(i.clone().inflate(1))?f=FB(p,g,n,i):m||(f=zdt(p,g,n,i)):n.containsPoint(g)?f=FB(p,g,n,mk(g).moveAndExpand(MR(e))):m||(f=SA(p,g,n));else if(d+1===h){const U=m&&Rl(g,p)===l;i.containsPoint(p)||U?f=FB(p,g,mk(p).moveAndExpand(MR(e)),i,l):m||(f=Fdt(p,g,i,l))}else m||(f=q7e(p,g,l));f?(u.push(...f.points),l=f.direction):l=Rl(p,g),d+1<h&&u.push(g)}return u},Bdt={N:"S",S:"N",E:"W",W:"E"},$dt={N:-Math.PI/2*3,S:-Math.PI/2,E:0,W:Math.PI};function RR(t,e,r){let n=new Je(t.x,e.y);return r.containsPoint(n)&&(n=new Je(e.x,t.y)),n}function YV(t,e){return t[e==="W"||e==="E"?"width":"height"]}function Rl(t,e){return t.x===e.x?t.y>e.y?"N":"S":t.y===e.y?t.x>e.x?"W":"E":null}function q7e(t,e,r){const n=new Je(t.x,e.y),i=new Je(e.x,t.y),a=Rl(t,n),s=Rl(t,i),o=r?Bdt[r]:null,l=a===r||a!==o&&(s===o||s!==r)?n:i;return{points:[l],direction:Rl(l,e)}}function SA(t,e,r){const n=RR(t,e,r);return{points:[n],direction:Rl(n,e)}}function Fdt(t,e,r,n){const i=[new Je(t.x,e.y),new Je(e.x,t.y)],a=i.filter(l=>!r.containsPoint(l)),s=a.filter(l=>Rl(l,t)!==n);let o;if(s.length>0)return o=s.filter(l=>Rl(t,l)===n).pop(),o=o||s[0],{points:[o],direction:Rl(o,e)};{o=Aat(i,a)[0];const l=Je.create(e).move(o,-YV(r,n)/2);return{points:[RR(l,t,r),l],direction:Rl(l,e)}}}function zdt(t,e,r,n){let i=SA(e,t,n);const a=i.points[0];if(r.containsPoint(a)){i=SA(t,e,r);const s=i.points[0];if(n.containsPoint(s)){const o=Je.create(t).move(s,-YV(r,Rl(t,s))/2),l=Je.create(e).move(a,-YV(n,Rl(e,a))/2),u=new cr(o,l).getCenter(),d=SA(t,u,r),h=q7e(u,e,d.direction);i.points=[d.points[0],h.points[0]],i.direction=h.direction}}return i}function FB(t,e,r,n,i){const a=r.union(n).inflate(1),s=a.getCenter(),o=s.distance(e)>s.distance(t),l=o?e:t,u=o?t:e;let d,h,f;i?(d=Je.fromPolar(a.width+a.height,$dt[i],l),d=a.getNearestPointToPoint(d).move(d,-1)):d=a.getNearestPointToPoint(l).move(l,1),h=RR(d,u,a);let p;d.round().equals(h.round())?(h=Je.fromPolar(a.width+a.height,jo(d.theta(l))+Math.PI/2,u),h=a.getNearestPointToPoint(h).move(u,1).round(),f=RR(d,h,a),p=o?[h,f,d]:[d,f,h]):p=o?[h,d]:[d,h];const g=Rl(o?d:h,e);return{points:p,direction:g}}const Hdt={step:10,maxLoopCount:2e3,precision:1,maxDirectionChange:90,perpendicular:!0,excludeTerminals:[],excludeNodes:[],excludeShapes:[],startDirections:["top","right","bottom","left"],endDirections:["top","right","bottom","left"],directionMap:{top:{x:0,y:-1},right:{x:1,y:0},bottom:{x:0,y:1},left:{x:-1,y:0}},cost(){return ng(this.step,this)},directions(){const t=ng(this.step,this),e=ng(this.cost,this);return[{cost:e,offsetX:t,offsetY:0},{cost:e,offsetX:-t,offsetY:0},{cost:e,offsetX:0,offsetY:t},{cost:e,offsetX:0,offsetY:-t}]},penalties(){const t=ng(this.step,this);return{0:0,45:t/2,90:t/2}},paddingBox(){const t=ng(this.step,this);return{x:-t,y:-t,width:2*t,height:2*t}},fallbackRouter:W7e,draggingRouter:null,snapToGrid:!0};function ng(t,e){return typeof t=="function"?t.call(e):t}function Vdt(t){const e=Object.keys(t).reduce((r,n)=>{const i=r;return n==="fallbackRouter"||n==="draggingRouter"||n==="fallbackRoute"?i[n]=t[n]:i[n]=ng(t[n],t),r},{});if(e.padding){const r=Sd(e.padding);e.paddingBox={x:-r.left,y:-r.top,width:r.left+r.right,height:r.top+r.bottom}}return e.directions.forEach(r=>{const n=new Je(0,0),i=new Je(r.offsetX,r.offsetY);r.angle=El(n.theta(i))}),e}class ule{constructor(e){this.options=e,this.mapGridSize=100,this.map={}}build(e,r){const n=this.options,i=n.excludeTerminals.reduce((u,d)=>{const h=r[d];if(h){const f=e.getCell(h.cell);f&&u.push(f)}return u},[]);let a=[];const s=e.getCell(r.getSourceCellId());s&&(a=PV(a,s.getAncestors().map(u=>u.id)));const o=e.getCell(r.getTargetCellId());o&&(a=PV(a,o.getAncestors().map(u=>u.id)));const l=this.mapGridSize;return e.getNodes().reduce((u,d)=>{const h=i.some(U=>U.id===d.id),f=d.shape?n.excludeShapes.includes(d.shape):!1,p=n.excludeNodes.some(U=>typeof U=="string"?d.id===U:U===d),g=a.includes(d.id),m=f||h||p||g;if(d.isVisible()&&!m){const U=d.getBBox().moveAndExpand(n.paddingBox),y=U.getOrigin().snapToGrid(l),b=U.getCorner().snapToGrid(l);for(let v=y.x;v<=b.x;v+=l)for(let w=y.y;w<=b.y;w+=l){const T=new Je(v,w).toString();u[T]==null&&(u[T]=[]),u[T].push(U)}}return u},this.map),this}isAccessible(e){const r=e.clone().snapToGrid(this.mapGridSize).toString(),n=this.map[r];return n?n.every(i=>!i.containsPoint(e)):!0}}const IR=new WeakMap;function Sp(t){const e=IR.get(t);e&&(e.dirty=!0)}function Gdt(t){const e=IR.get(t);!e||e.installed||(t.on("reseted",()=>Sp(t)),t.on("updated",()=>Sp(t)),t.on("cell:added",()=>Sp(t)),t.on("cell:removed",()=>Sp(t)),t.on("cell:change:position",()=>Sp(t)),t.on("cell:change:size",()=>Sp(t)),t.on("edge:change:source",()=>Sp(t)),t.on("edge:change:target",()=>Sp(t)),e.installed=!0)}function dle(t){const e=t.paddingBox,r=e==null?"none":`${e.x},${e.y},${e.width},${e.height}`,n=(t.excludeTerminals||[]).map(s=>s).sort().join("|"),i=(t.excludeShapes||[]).slice().sort().join("|"),a=(t.excludeNodes||[]).map(s=>typeof s=="string"?s:(s==null?void 0:s.id)||"node").slice().sort().join("|");return`${r}#${n}#${i}#${a}`}function Wdt(t,e,r){let n=IR.get(t);if(!n){const a=new ule(r).build(t,e);return n={map:a,dirty:!1,installed:!1,optionsKey:dle(r)},IR.set(t,n),Gdt(t),a}const i=dle(r);return(n.dirty||n.optionsKey!==i)&&(n.map=new ule(r).build(t,e),n.dirty=!1,n.optionsKey=i),n.map}const zB=1,hle=2;class qdt{constructor(){this.items=[],this.hash={},this.values={},this.indexes={}}swap(e,r){const n=this.items[e],i=this.items[r];this.items[e]=i,this.items[r]=n,this.indexes[i]=e,this.indexes[n]=r}less(e,r){const n=this.items[e],i=this.items[r];return this.values[n]<this.values[i]}bubbleUp(e){for(;e>0;){const r=e-1>>1;if(this.less(e,r))this.swap(e,r),e=r;else break}}bubbleDown(e){const r=this.items.length;for(;;){const n=(e<<1)+1,i=n+1;let a=e;if(n<r&&this.less(n,a)&&(a=n),i<r&&this.less(i,a)&&(a=i),a!==e)this.swap(e,a),e=a;else break}}add(e,r){const n=this.hash[e]===zB;if(this.values[e]=r,n){const i=this.indexes[e];i!=null&&(this.bubbleUp(i),this.bubbleDown(i))}else{this.hash[e]=zB,this.items.push(e);const i=this.items.length-1;this.indexes[e]=i,this.bubbleUp(i)}}pop(){if(this.items.length===0)return;const e=this.items[0];this.hash[e]=hle;const r=this.items.pop();return delete this.indexes[e],this.items.length>0&&r!=null&&(this.items[0]=r,this.indexes[r]=0,this.bubbleDown(0)),e}isOpen(e){return this.hash[e]===zB}isClose(e){return this.hash[e]===hle}isEmpty(){return this.items.length===0}}function j7e(t,e){const r=t.sourceBBox.clone();return e&&e.paddingBox?r.moveAndExpand(e.paddingBox):r}function Y7e(t,e){const r=t.targetBBox.clone();return e&&e.paddingBox?r.moveAndExpand(e.paddingBox):r}function X7e(t,e){return t.sourceAnchor?t.sourceAnchor:j7e(t,e).getCenter()}function jdt(t,e){return t.targetAnchor?t.targetAnchor:Y7e(t,e).getCenter()}function HB(t,e,r,n,i){const a=360/r,s=t.theta(Ydt(t,e,n,i)),o=El(s+a/2);return a*Math.floor(o/a)}function Ydt(t,e,r,n){const i=n.step,a=e.x-t.x,s=e.y-t.y,o=a/r.x,l=s/r.y,u=o*i,d=l*i;return new Je(t.x+u,t.y+d)}function fle(t,e){const r=Math.abs(t-e);return r>180?360-r:r}function Xdt(t,e){const r=e.step;return e.directions.forEach(n=>{n.gridOffsetX=n.offsetX/r*t.x,n.gridOffsetY=n.offsetY/r*t.y}),e.directions}function Kdt(t,e,r){return{source:e.clone(),x:ple(r.x-e.x,t),y:ple(r.y-e.y,t)}}function ple(t,e){if(!t)return e;const r=Math.abs(t),n=Math.round(r/e);if(!n)return r;const i=n*e,s=(r-i)/n;return e+s}function Zdt(t,e){const r=e.source,n=kd(t.x-r.x,e.x)+r.x,i=kd(t.y-r.y,e.y)+r.y;return new Je(n,i)}function S9(t,e){return t.round(e)}function kA(t,e,r){return S9(Zdt(t.clone(),e),r)}function Nx(t){return t.toString()}function VB(t){return new Je(t.x===0?0:Math.abs(t.x)/t.x,t.y===0?0:Math.abs(t.y)/t.y)}function gle(t,e){let r=1/0;for(let n=0,i=e.length;n<i;n+=1){const a=t.manhattanDistance(e[n]);a<r&&(r=a)}return r}function mle(t,e,r,n,i){const a=i.precision,s=i.directionMap,o=t.diff(e.getCenter()),l=Object.keys(s).reduce((u,d)=>{if(r.includes(d)){const h=s[d],f=new Je(t.x+h.x*(Math.abs(o.x)+e.width),t.y+h.y*(Math.abs(o.y)+e.height)),g=new cr(t,f).intersect(e)||[];let m,U=null;for(let y=0;y<g.length;y+=1){const b=g[y],v=t.squaredDistance(b);(m==null||v>m)&&(m=v,U=b)}if(U){let y=kA(U,n,a);e.containsPoint(y)&&(y=kA(y.translate(h.x*n.x,h.y*n.y),n,a)),u.push(y)}}return u},[]);return e.containsPoint(t)||l.push(kA(t,n,a)),l}function Jdt(t,e,r,n,i){const a=[];let s=VB(i.diff(r)),o=Nx(r),l=t[o],u;for(;l;){u=e[o];const f=VB(u.diff(l));f.equals(s)||(a.unshift(u),s=f),o=Nx(l),l=t[o]}const d=e[o];return VB(d.diff(n)).equals(s)||a.unshift(d),a}function Qdt(t,e,r,n,i){var a;const s=i.precision;let o,l;Bt.isRectangle(e)?o=S9(X7e(t,i).clone(),s):o=S9(e.clone(),s),Bt.isRectangle(r)?l=S9(jdt(t,i).clone(),s):l=S9(r.clone(),s);const u=Kdt(i.step,o,l),d=o,h=l;let f,p;if(Bt.isRectangle(e)?f=mle(d,e,i.startDirections,u,i):f=[d],Bt.isRectangle(r)?p=mle(l,r,i.endDirections,u,i):p=[h],f=f.filter(g=>n.isAccessible(g)),p=p.filter(g=>n.isAccessible(g)),f.length>0&&p.length>0){const g=new qdt,m={},U={},y={};for(let M=0,P=f.length;M<P;M+=1){const N=f[M],I=Nx(N);g.add(I,gle(N,p)),m[I]=N,y[I]=0}const b=i.previousDirectionAngle,v=b===void 0;let w,T;const S=Xdt(u,i),C=S.length,k=p.map(M=>Nx(M)),E=Je.equalPoints(f,p);let A=i.maxLoopCount;for(;!g.isEmpty()&&A>0;){const M=g.pop();if(M==null)break;const P=m[M],N=U[M],I=y[M],L=P.equals(d),_=N==null;let D;if(_?v?L?D=null:D=HB(d,P,C,u,i):D=b:D=HB(N,P,C,u,i),!(_&&E)&&k.indexOf(M)>=0)return i.previousDirectionAngle=D,Jdt(U,m,P,d,h);for(let B=0;B<C;B+=1){w=S[B];const F=(a=w.angle)!==null&&a!==void 0?a:0;if(T=D==null?0:fle(D,F),!(v&&L)&&T>i.maxDirectionChange)continue;const z=kA(P.clone().translate(w.gridOffsetX||0,w.gridOffsetY||0),u,s),$=Nx(z);if(g.isClose($)||!n.isAccessible(z))continue;if(k.indexOf($)>=0&&!z.equals(h)){const W=HB(z,h,C,u,i);if(fle(F,W)>i.maxDirectionChange)continue}const H=w.cost,V=L?0:i.penalties[T],G=I+H+V;(!g.isOpen($)||G<y[$])&&(m[$]=z,U[$]=P,y[$]=G,g.add($,G+gle(z,p)))}A-=1}}return i.fallbackRoute?vr(i.fallbackRoute,this,d,h,i):null}function eht(t,e=10){if(t.length<=1)return t;for(let r=0,n=t.length;r<n-1;r+=1){const i=t[r],a=t[r+1];if(i.x===a.x){const s=e*Math.round(i.x/e);i.x!==s&&(i.x=s,a.x=s)}else if(i.y===a.y){const s=e*Math.round(i.y/e);i.y!==s&&(i.y=s,a.y=s)}}return t}const tht=function(t,e,r){const n=Vdt(e),i=j7e(r,n),a=Y7e(r,n),s=X7e(r,n),o=Wdt(r.graph.model,r.cell,n),l=t.map(p=>Je.create(p)),u=[];let d=s,h,f;for(let p=0,g=l.length;p<=g;p+=1){let m=null;if(h=f||i,f=l[p],f==null){f=a;const y=r.cell;if((y.getSourceCellId()==null||y.getTargetCellId()==null)&&typeof n.draggingRouter=="function"){const v=h===i?s:h,w=f.getOrigin();m=vr(n.draggingRouter,r,v,w,n)}}if(m==null&&(m=Qdt(r,h,f,o,n)),m===null)return console.warn("Unable to execute manhattan algorithm, use orth instead"),vr(n.fallbackRouter,this,t,n,r);const U=m[0];U!=null&&U.equals(d)&&m.shift(),d=m[m.length-1]||d,u.push(...m)}return n.snapToGrid?eht(u,r.graph.grid.getGridSize()):u},K7e=function(t,e,r){return vr(tht,this,t,Object.assign(Object.assign({},Hdt),e),r)},rht={maxDirectionChange:45,directions(){const t=ng(this.step,this),e=ng(this.cost,this),r=Math.ceil(Math.sqrt(t*t<<1));return[{cost:e,offsetX:t,offsetY:0},{cost:r,offsetX:t,offsetY:t},{cost:e,offsetX:0,offsetY:t},{cost:r,offsetX:-t,offsetY:t},{cost:e,offsetX:-t,offsetY:0},{cost:r,offsetX:-t,offsetY:-t},{cost:e,offsetX:0,offsetY:-t},{cost:r,offsetX:t,offsetY:-t}]},fallbackRoute:nht};function nht(t,e,r){const n=t.theta(e),i=[];let a={x:e.x,y:t.y},s={x:t.x,y:e.y};if(n%180>90){const b=a;a=s,s=b}const o=n%90<45?a:s,l=new cr(t,o),u=90*Math.ceil(n/90),d=Je.fromPolar(l.squaredLength(),jo(u+135),o),h=new cr(e,d),f=l.intersectsWithLine(h),p=f||t,g=360/r.directions.length,m=p.theta(e),U=El(m+g/2),y=g*Math.floor(U/g);return r.previousDirectionAngle=y,f&&!f.equals(t)&&!f.equals(e)&&i.push(f.round()),i}const iht=function(t,e,r){return vr(K7e,this,t,Object.assign(Object.assign({},rht),e),r)},aht=(t,e,r)=>{const n=e.offset||32,i=e.min==null?16:e.min;let a=0,s=e.direction;const o=r.sourceBBox,l=r.targetBBox,u=o.getCenter(),d=l.getCenter();if(typeof n=="number"&&(a=n),s==null){let y=l.left-o.right,b=l.top-o.bottom;y>=0&&b>=0?s=y>=b?"L":"T":y<=0&&b>=0?(y=o.left-l.right,y>=0?s=y>=b?"R":"T":s="T"):y>=0&&b<=0?(b=o.top-l.bottom,b>=0?s=y>=b?"L":"B":s="L"):(y=o.left-l.right,b=o.top-l.bottom,y>=0&&b>=0?s=y>=b?"R":"B":y<=0&&b>=0?s="B":y>=0&&b<=0?s="R":s=Math.abs(y)>Math.abs(b)?"R":"B")}s==="H"?s=d.x-u.x>=0?"L":"R":s==="V"&&(s=d.y-u.y>=0?"T":"B"),n==="center"&&(s==="L"?a=(l.left-o.right)/2:s==="R"?a=(o.left-l.right)/2:s==="T"?a=(l.top-o.bottom)/2:s==="B"&&(a=(o.top-l.bottom)/2));let h,f,p;const g=s==="L"||s==="R";if(g){if(d.y===u.y)return[...t];p=s==="L"?1:-1,h="x",f="width"}else{if(d.x===u.x)return[...t];p=s==="T"?1:-1,h="y",f="height"}const m=u.clone(),U=d.clone();if(m[h]+=p*(o[f]/2+a),U[h]-=p*(l[f]/2+a),g){const y=m.x,b=U.x,v=o.width/2+i,w=l.width/2+i;d.x>u.x?b<=y&&(m.x=Math.max(b,u.x+v),U.x=Math.min(y,d.x-w)):b>=y&&(m.x=Math.min(b,u.x-v),U.x=Math.max(y,d.x+w))}else{const y=m.y,b=U.y,v=o.height/2+i,w=l.height/2+i;d.y>u.y?b<=y&&(m.y=Math.max(b,u.y+v),U.y=Math.min(y,d.y-w)):b>=y&&(m.y=Math.min(b,u.y-v),U.y=Math.max(y,d.y+w))}return[m.toJSON(),...t,U.toJSON()]};function uy(t,e){if(e!=null&&e!==!1){const r=typeof e=="boolean"?0:e;if(r>0){const n=Je.create(t[1]).move(t[2],r),i=Je.create(t[1]).move(t[0],r);return[n.toJSON(),...t,i.toJSON()]}{const n=t[1];return[Object.assign({},n),...t,Object.assign({},n)]}}return t}const sht=(t,e,r)=>{const n=e.width||50,a=(e.height||80)/2,s=e.angle||"auto",o=r.sourceAnchor,l=r.targetAnchor,u=r.sourceBBox,d=r.targetBBox;if(o.equals(l)){const h=y=>{const b=jo(y),v=Math.sin(b),w=Math.cos(b),T=new Je(o.x+w*n,o.y+v*n),S=new Je(T.x-w*a,T.y-v*a),C=S.clone().rotate(-90,T),k=S.clone().rotate(90,T);return[C.toJSON(),T.toJSON(),k.toJSON()]},f=y=>{const b=o.clone().move(y,-1),v=new cr(b,y);return!u.containsPoint(y)&&!u.intersectsWithLine(v)},p=[0,90,180,270,45,135,225,315];if(typeof s=="number")return uy(h(s),e.merge);const g=u.getCenter();if(g.equals(o))return uy(h(0),e.merge);const m=g.angleBetween(o,g.clone().translate(1,0));let U=h(m);if(f(U[1]))return uy(U,e.merge);for(let y=1,b=p.length;y<b;y+=1)if(U=h(m+p[y]),f(U[1]))return uy(U,e.merge);return uy(U,e.merge)}{const h=new cr(o,l);let f=h.parallel(-n),p=f.getCenter(),g=f.start.clone().move(f.end,a),m=f.end.clone().move(f.start,a);const U=h.parallel(-1),y=new cr(U.start,p),b=new cr(U.end,p);if((u.containsPoint(p)||d.containsPoint(p)||u.intersectsWithLine(y)||u.intersectsWithLine(b)||d.intersectsWithLine(y)||d.intersectsWithLine(b))&&(f=h.parallel(n),p=f.getCenter(),g=f.start.clone().move(f.end,a),m=f.end.clone().move(f.start,a)),e.merge){const v=new cr(o,l),w=new cr(p,v.center).setLength(Number.MAX_SAFE_INTEGER),T=u.intersectsWithLine(w),S=d.intersectsWithLine(w),C=T?Array.isArray(T)?T:[T]:[];S&&(Array.isArray(S)?C.push(...S):C.push(S));const k=v.center.closest(C);k?(r.sourceAnchor=k.clone(),r.targetAnchor=k.clone()):(r.sourceAnchor=v.center.clone(),r.targetAnchor=v.center.clone())}return uy([g.toJSON(),p.toJSON(),m.toJSON()],e.merge)}},oht=Object.freeze(Object.defineProperty({__proto__:null,er:aht,loop:sht,manhattan:K7e,metro:iht,normal:Odt,oneSide:Ddt,orth:W7e},Symbol.toStringTag,{value:"Module"})),XV=oht,kv=ts.create({type:"router"});kv.register(XV,!0);function lht(t){return t!=null&&!qO(t)}function qO(t){return t!=null&&typeof t=="string"}function cht(t){return t==null||qO(t)?t:Fi(t)}function uht(t){return`${t}`.trim().replace(/[\r|\n]/g," ").replace(/>\s+</g,"><")}function Z7e(t,e={ns:js.svg}){const r=document.createDocumentFragment(),n={},i={},a=[{markup:Array.isArray(t)?t:[t],parent:r,ns:e.ns}];for(;a.length>0;){const s=a.pop();let o=s.ns||js.svg;const l=s.markup,u=s.parent;l.forEach(d=>{const h=d.tagName;if(!h)throw new TypeError("Invalid tagName");d.ns&&(o=d.ns);const f=o?$Z(h,o):O6e(h),p=d.attrs;p&&Nn(f,Dw(p));const g=d.style;g&&ai(f,g);const m=d.className;m!=null&&f.setAttribute("class",Array.isArray(m)?m.join(" "):m),d.textContent&&(f.textContent=d.textContent);const U=d.selector;if(U!=null){if(i[U])throw new TypeError("Selector must be unique");i[U]=f}if(d.groupSelector){let b=d.groupSelector;Array.isArray(b)||(b=[b]),b.forEach(v=>{n[v]||(n[v]=[]),n[v].push(f)})}u.appendChild(f);const y=d.children;Array.isArray(y)&&a.push({ns:o,markup:y,parent:f})})}return Object.keys(n).forEach(s=>{if(i[s])throw new Error("Ambiguous group selector");i[s]=n[s]}),{fragment:r,selectors:i,groups:n}}function KV(t){return t instanceof SVGElement?Kd("g"):O6e("div")}function dht(t){if(qO(t)){const i=Ar.createVectors(t),a=i.length;if(a===1)return{elem:i[0].node};if(a>1){const s=KV(i[0].node);return i.forEach(o=>{s.appendChild(o.node)}),{elem:s}}return{}}const e=Z7e(t),r=e.fragment;let n=null;return r.childNodes.length>1?(n=KV(r.firstChild),n.appendChild(r)):n=r.firstChild,{elem:n,selectors:e.selectors}}function hht(t){const e=Ar.createVectors(t),r=document.createDocumentFragment();for(let n=0,i=e.length;n<i;n+=1){const a=e[n].node;r.appendChild(a)}return{fragment:r,selectors:{}}}function J7e(t,e,r){if(t!=null){let n;const i=t.tagName.toLowerCase();if(t===e)return typeof r=="string"?n=`> ${i} > ${r}`:n=`> ${i}`,n;const a=t.parentNode;if(a&&a.childNodes.length>1){const s=FZ(t)+1;n=`${i}:nth-child(${s})`}else n=i;return r&&(n+=` > ${r}`),J7e(t.parentNode,e,n)}return r}function fht(){return"g"}function pht(){return{tagName:"circle",selector:"circle",attrs:{r:10,fill:"#FFFFFF",stroke:"#000000"}}}function ght(){return{tagName:"text",selector:"text",attrs:{fill:"#000000"}}}function mht(){return[{tagName:"path",selector:"wrap",groupSelector:"lines",attrs:{fill:"none",cursor:"pointer",stroke:"transparent",strokeLinecap:"round"}},{tagName:"path",selector:"line",groupSelector:"lines",attrs:{fill:"none",pointerEvents:"none"}}]}function Uht(t=!1){return{tagName:"foreignObject",selector:"fo",children:[{ns:js.xhtml,tagName:"body",selector:"foBody",attrs:{xmlns:js.xhtml},style:{width:"100%",height:"100%",background:"transparent"},children:t?[]:[{tagName:"div",selector:"foContent",style:{width:"100%",height:"100%"}}]}]}}const Al={isJSONMarkup:lht,isStringMarkup:qO,clone:cht,sanitize:uht,parseJSONMarkup:Z7e,createContainer:KV,renderMarkup:dht,parseLabelStringMarkup:hht,getSelector:J7e,getPortContainerMarkup:fht,getPortMarkup:pht,getPortLabelMarkup:ght,getEdgeMarkup:mht,getForeignObjectMarkup:Uht};function zU(t,e){return e?Kd(t||"g"):$Z(t||"div")}function Q7e(t,e,r){if(!t||t===".")return{elems:[e]};if(r){const n=r[t];if(n)return{elems:Array.isArray(n)?n:[n]}}{const n=t.includes(">")?`:scope ${t}`:t;return{isCSSSelector:!0,elems:Array.prototype.slice.call(e.querySelectorAll(n))}}}function yht(t){var e;let r=t;const n=t.originalEvent,i=(e=n==null?void 0:n.changedTouches)===null||e===void 0?void 0:e[0];if(i){for(const a in t)i[a]===void 0&&(i[a]=t[a]);r=i}return r}let Ac=class extends Xl{get priority(){return 2}get disposeContainer(){return!0}constructor(){super(),this.cid=DO("v"),this.cid}confirmUpdate(e,r){return 0}empty(e=this.container){return $C(e),this}unmount(e=this.container){return Bu(e),this}remove(e=this.container){return e===this.container?(this.removeEventListeners(document),this.onRemove(),this.cid,this.disposeContainer&&this.unmount(e)):this.unmount(e),this}onRemove(){}setClass(e,r=this.container){r.classList.value=Array.isArray(e)?e.join(" "):e}addClass(e,r=this.container){return nr(r,Array.isArray(e)?e.join(" "):e),this}removeClass(e,r=this.container){return Vi(r,Array.isArray(e)?e.join(" "):e),this}setStyle(e,r=this.container){return ai(r,e),this}setAttrs(e,r=this.container){return e!=null&&r!=null&&Nn(r,e),this}findAttr(e,r=this.container){let n=r;for(;n&&n.nodeType===1;){const i=n.getAttribute(e);if(i!=null)return i;if(n===this.container)return null;n=n.parentNode}return null}find(e,r=this.container,n=this.selectors){return Q7e(e,r,n).elems}findOne(e,r=this.container,n=this.selectors){const i=this.find(e,r,n);return i.length>0?i[0]:null}findByAttr(e,r=this.container){let n=r;for(;n!=null&&n.getAttribute;){const i=n.getAttribute(e);if((i!=null||n===this.container)&&i!=="false")return n;n=n.parentNode}return null}getSelector(e,r){let n;if(e===this.container)return typeof r=="string"&&(n=`> ${r}`),n;if(e){const i=FZ(e)+1;n=`${e.tagName.toLowerCase()}:nth-child(${i})`,r&&(n+=` > ${r}`),n=this.getSelector(e.parentNode,n)}return n}prefixClassName(e){return Kn.prefix(e)}delegateEvents(e,r){if(e==null)return this;r||this.undelegateEvents();const n=/^(\S+)\s*(.*)$/;return Object.keys(e).forEach(i=>{const a=i.match(n);if(a==null)return;const s=this.getEventHandler(e[i]);typeof s=="function"&&this.delegateEvent(a[1],a[2],s)}),this}undelegateEvents(){return Ei.off(this.container,this.getEventNamespace()),this}delegateDocumentEvents(e,r){return this.addEventListeners(document,e,r),this}undelegateDocumentEvents(){return this.removeEventListeners(document),this}delegateEvent(e,r,n){return Ei.on(this.container,e+this.getEventNamespace(),r,n),this}undelegateEvent(e,r,n){const i=e+this.getEventNamespace();return r==null?Ei.off(this.container,i):typeof r=="string"?Ei.off(this.container,i,r,n):Ei.off(this.container,i,r),this}addEventListeners(e,r,n){if(r==null)return this;const i=this.getEventNamespace();return Object.keys(r).forEach(a=>{const s=this.getEventHandler(r[a]);typeof s=="function"&&Ei.on(e,a+i,n,s)}),this}removeEventListeners(e){return e!=null&&Ei.off(e,this.getEventNamespace()),this}getEventNamespace(){return`.${Kn.prefixCls}-event-${this.cid}`}getEventHandler(e){let r;if(typeof e=="string"){const n=this[e];typeof n=="function"&&(r=(...i)=>n.call(this,...i))}else r=(...n)=>e.call(this,...n);return r}getEventTarget(e,r={}){const{target:n,type:i,clientX:a=0,clientY:s=0}=e;return r.fromPoint||i==="touchmove"||i==="touchend"?document.elementFromPoint(a,s):n}stopPropagation(e){return this.setEventData(e,{propagationStopped:!0}),this}isPropagationStopped(e){return this.getEventData(e).propagationStopped===!0}getEventData(e){return this.eventData(e)}setEventData(e,r){return this.eventData(e,r)}eventData(e,r){if(e==null)throw new TypeError("Event object required");let n=e.data;const i=`__${this.cid}__`;return r==null?n==null?{}:n[i]||{}:(n==null&&(n=e.data={}),n[i]==null?n[i]=Object.assign({},r):n[i]=Object.assign(Object.assign({},n[i]),r),n[i])}normalizeEvent(e){return yht(e)}dispose(){this.remove()}};_n([Bn()],Ac.prototype,"dispose",null);let Ule=0;function bht(t){return t?HZ(t):(Ule+=1,`CustomTool${Ule}`)}class ha extends Ac{static isToolItem(e){if(e==null)return!1;if(e instanceof ha)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===yle)&&n.graph!=null&&n.cell!=null&&typeof n.config=="function"&&typeof n.update=="function"&&typeof n.focus=="function"&&typeof n.blur=="function"&&typeof n.show=="function"&&typeof n.hide=="function"&&typeof n.isVisible=="function"}static define(e){const r=this,n=qZ(bht(e.name),r);return n.config(e),n}static getDefaults(){return this.defaults}static config(e){this.defaults=this.getOptions(e)}static getOptions(e){return zi(Fi(this.getDefaults()),e)}get graph(){return this.cellView.graph}get cell(){return this.cellView.cell}get name(){return this.options.name}get[Symbol.toStringTag](){return yle}constructor(e={}){super(),this.visible=!0,this.options=this.getOptions(e),this.container=zU(this.options.tagName||"g",this.options.isSVGElement!==!1),nr(this.container,this.prefixClassName("cell-tool")),typeof this.options.className=="string"&&nr(this.container,this.options.className),this.init()}init(){}getOptions(e){return this.constructor.getOptions(e)}delegateEvents(){return this.options.events&&super.delegateEvents(this.options.events),this}config(e,r){return this.cellView=e,this.parent=r,this.stamp(this.container),this.cell.isEdge()?nr(this.container,this.prefixClassName("edge-tool")):this.cell.isNode()&&nr(this.container,this.prefixClassName("node-tool")),this.name&&this.container.setAttribute("data-tool-name",this.name),this.delegateEvents(),this}render(){this.empty();const e=this.options.markup;if(e){const r=Al.parseJSONMarkup(e);this.container.appendChild(r.fragment),this.childNodes=r.selectors}return this.onRender(),this}onRender(){}update(){return this}stamp(e){e&&e.setAttribute("data-cell-id",this.cellView.cell.id)}show(){return this.container.style.display="",this.visible=!0,this}hide(){return this.container.style.display="none",this.visible=!1,this}isVisible(){return this.visible}focus(){const e=this.options.focusOpacity;return e!=null&&Number.isFinite(e)&&(this.container.style.opacity=`${e}`),this.parent.focus(this),this}blur(){return this.container.style.opacity="",this.parent.blur(this),this}guard(e){return this.graph==null||this.cellView==null?!0:this.graph.view.guard(e,this.cellView)}}ha.toStringTag=`X6.${ha.name}`;ha.defaults={isSVGElement:!0,tagName:"g"};const yle=`X6.${ha.name}`;class vht{constructor(e){this.view=e}get cell(){return this.view.cell}getDefinition(e){return this.cell.getAttrDefinition(e)}processAttrs(e,r){let n,i,a,s;const o=[];return Object.keys(r).forEach(l=>{const u=r[l],d=this.getDefinition(l),h=vr(Xct,this.view,d,u,{elem:e,attrs:r,cell:this.cell,view:this.view});if(d&&h)typeof d=="string"?(n==null&&(n={}),n[d]=u):u!==null&&o.push({name:l,definition:d});else{n==null&&(n={});const f=F6e.includes(l)?l:$6e(l);n[f]=u}}),o.forEach(({name:l,definition:u})=>{const d=r[l];typeof u.set=="function"&&(i==null&&(i={}),i[l]=d),typeof u.offset=="function"&&(a==null&&(a={}),a[l]=d),typeof u.position=="function"&&(s==null&&(s={}),s[l]=d)}),{raw:r,normal:n,set:i,offset:a,position:s}}mergeProcessedAttrs(e,r){var n;e.set=Object.assign(Object.assign({},e.set),r.set),e.position=Object.assign(Object.assign({},e.position),r.position),e.offset=Object.assign(Object.assign({},e.offset),r.offset);const i=(n=e.normal)===null||n===void 0?void 0:n.transform;i!=null&&r.normal&&(r.normal.transform=i),e.normal=r.normal}findAttrs(e,r,n,i){const a=[],s=new WV;return Object.keys(e).forEach(o=>{const l=e[o];if(!Xd(l))return;const{isCSSSelector:u,elems:d}=Q7e(o,r,i);n[o]=d;for(let h=0,f=d.length;h<f;h+=1){const p=d[h],g=i&&i[o]===p,m=s.get(p);if(m){m.array||(a.push(p),m.array=!0,m.attrs=[m.attrs],m.priority=[m.priority]);const U=m.attrs,y=m.priority;if(g)U.unshift(l),y.unshift(-1);else{const b=pst(y,u?-1:f);U.splice(b,0,l),y.splice(b,0,f)}}else s.set(p,{elem:p,attrs:l,priority:g?-1:f,array:!1})}}),a.forEach(o=>{const l=s.get(o),u=l.attrs;l.attrs=u.reduceRight((d,h)=>zi(d,h),{})}),s}updateRelativeAttrs(e,r,n){const i=r.raw||{};let a=r.normal||{};const s=r.set,o=r.position,l=r.offset,u=()=>({elem:e,cell:this.cell,view:this.view,attrs:i,refBBox:n.clone()});if(s!=null&&Object.keys(s).forEach(U=>{const y=s[U],b=this.getDefinition(U);if(b!=null){const v=vr(b.set,this.view,y,u());typeof v=="object"?a=Object.assign(Object.assign({},a),v):v!=null&&(a[U]=v)}}),e instanceof HTMLElement){this.view.setAttrs(a,e);return}const d=a.transform,h=d?`${d}`:null,f=Pw(h),p=new Je(f.e,f.f);d&&(delete a.transform,f.e=0,f.f=0);let g=!1;o!=null&&Object.keys(o).forEach(U=>{const y=o[U],b=this.getDefinition(U);if(b!=null){const v=vr(b.position,this.view,y,u());v!=null&&(g=!0,p.translate(Je.create(v)))}}),this.view.setAttrs(a,e);let m=!1;if(l!=null){const U=this.view.getBoundingRectOfElement(e);if(U.width>0&&U.height>0){const y=Iu(U,f);Object.keys(l).forEach(b=>{const v=l[b],w=this.getDefinition(b);if(w!=null){const T=vr(w.offset,this.view,v,{elem:e,cell:this.cell,view:this.view,attrs:i,refBBox:y});T!=null&&(m=!0,p.translate(Je.create(T)))}})}}(d!=null||g||m)&&(p.round(1),f.e=p.x,f.f=p.y,e.setAttribute("transform",FC(f)))}update(e,r,n){const i={},a=this.findAttrs(n.attrs||r,e,i,n.selectors),s=n.attrs?this.findAttrs(r,e,i,n.selectors):a,o=[];a.each(d=>{const h=d.elem,f=d.attrs,p=this.processAttrs(h,f);if(p.set==null&&p.position==null&&p.offset==null)this.view.setAttrs(p.normal,h);else{const g=s.get(h),m=g?g.attrs:null,U=m&&f.ref==null?m.ref:f.ref;let y;if(U){if(y=(i[U]||this.view.find(U,e,n.selectors))[0],!y)throw new Error(`"${U}" reference does not exist.`)}else y=null;const b={node:h,refNode:y,attributes:m,processedAttributes:p},v=o.findIndex(w=>w.refNode===h);v>-1?o.splice(v,0,b):o.push(b)}});const l=new WV;let u;o.forEach(d=>{const h=d.node,f=d.refNode;let p;const g=f!=null&&n.rotatableNode!=null&&zZ(n.rotatableNode,f);if(f&&(p=l.get(f)),!p){const y=g?n.rotatableNode:e;p=f?Bh(f,{target:y}):n.rootBBox,f&&l.set(f,p)}let m;n.attrs&&d.attributes?(m=this.processAttrs(h,d.attributes),this.mergeProcessedAttrs(m,d.processedAttributes)):m=d.processedAttributes;let U=p;g&&n.rotatableNode!=null&&!n.rotatableNode.contains(h)&&(u||(u=Pw(Nn(n.rotatableNode,"transform"))),U=Iu(p,u)),this.updateRelativeAttrs(h,m,U)})}}class xht{constructor(e){this.view=e,this.clean()}clean(){this.elemCache&&this.elemCache.dispose(),this.elemCache=new WV,this.pathCache={}}get(e){return this.elemCache.has(e)||this.elemCache.set(e,{}),this.elemCache.get(e)}getData(e){const r=this.get(e);return r.data||(r.data={}),r.data}getMatrix(e){const r=this.get(e);if(r.matrix==null){const n=this.view.container;r.matrix=Fot(e,n)}return ao(r.matrix)}getShape(e){const r=this.get(e);return r.shape==null&&(r.shape=s7e(e)),r.shape.clone()}getBoundingRect(e){const r=this.get(e);return r.boundingRect==null&&(r.boundingRect=alt(e)),r.boundingRect.clone()}}class wht{get cell(){return this.view.cell}constructor(e,r,n=[]){this.view=e;const i={},a={};let s=0;Object.keys(r).forEach(l=>{let u=r[l];Array.isArray(u)||(u=[u]),u.forEach(d=>{let h=i[d];h||(s+=1,h=i[d]=1<<s),a[l]|=h})});let o=n;if(Array.isArray(o)||(o=[o]),o.forEach(l=>{i[l]||(s+=1,i[l]=1<<s)}),s>25)throw new Error("Maximum number of flags exceeded.");this.flags=i,this.attrs=a,this.bootstrap=n}getFlag(e){const r=this.flags;return r==null?0:Array.isArray(e)?e.reduce((n,i)=>n|r[i],0):r[e]|0}hasAction(e,r){return e&this.getFlag(r)}removeAction(e,r){return e^e&this.getFlag(r)}getBootstrapFlag(){return this.getFlag(this.bootstrap)}getChangedFlag(){let e=0;return this.attrs&&Object.keys(this.attrs).forEach(r=>{this.cell.hasChanged(r)&&(e|=this.attrs[r])}),e}}class Ys extends Ac{static getDefaults(){return Ys.defaults}static isCellView(e){if(e==null)return!1;if(e instanceof Ys)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===ble)&&typeof n.isNodeView=="function"&&typeof n.isEdgeView=="function"&&typeof n.confirmUpdate=="function"}static config(e){Ys.defaults=Ys.getOptions(e)}static getOptions(e){const r=(u,d)=>d!=null?C6e([...Array.isArray(u)?u:[u],...Array.isArray(d)?d:[d]]):Array.isArray(u)?[...u]:[u],n=Fi(Ys.getDefaults()),{bootstrap:i,actions:a,events:s,documentEvents:o}=e,l=Un(e,["bootstrap","actions","events","documentEvents"]);return i&&(n.bootstrap=r(n.bootstrap,i)),a&&Object.entries(a).forEach(([u,d])=>{const h=n.actions[u];d&&h?n.actions[u]=r(h,d):d&&(n.actions[u]=r(d))}),s&&(n.events=Object.assign(Object.assign({},n.events),s)),e.documentEvents&&(n.documentEvents=Object.assign(Object.assign({},n.documentEvents),o)),zi(n,l)}get[Symbol.toStringTag](){return ble}constructor(e,r={}){super(),this.cell=e,this.options=this.ensureOptions(r),this.graph=this.options.graph,this.attr=new vht(this),this.flag=new wht(this,this.options.actions,this.options.bootstrap),this.cache=new xht(this),this.setContainer(this.ensureContainer()),this.setup(),this.init()}init(){}onRemove(){this.removeTools()}get priority(){return this.options.priority}get rootSelector(){return this.options.rootSelector}getConstructor(){return this.constructor}ensureOptions(e){return this.getConstructor().getOptions(e)}getContainerTagName(){return this.options.isSvgElement?"g":"div"}getContainerStyle(){}getContainerAttrs(){return{"data-cell-id":this.cell.id,"data-shape":this.cell.shape}}getContainerClassName(){return this.prefixClassName("cell")}ensureContainer(){return zU(this.getContainerTagName(),this.options.isSvgElement)}setContainer(e){if(this.container!==e){this.undelegateEvents(),this.container=e,this.options.events!=null&&this.delegateEvents(this.options.events);const r=this.getContainerAttrs();r!=null&&this.setAttrs(r,e);const n=this.getContainerStyle();n!=null&&this.setStyle(n,e);const i=this.getContainerClassName();i!=null&&this.addClass(i,e)}return this}isNodeView(){return!1}isEdgeView(){return!1}render(){return this}confirmUpdate(e,r={}){return 0}getBootstrapFlag(){return this.flag.getBootstrapFlag()}getFlag(e){return this.flag.getFlag(e)}hasAction(e,r){return this.flag.hasAction(e,r)}removeAction(e,r){return this.flag.removeAction(e,r)}handleAction(e,r,n,i){if(this.hasAction(e,r)){n();const a=[r];return i&&(typeof i=="string"?a.push(i):a.push(...i)),this.removeAction(e,a)}return e}setup(){this.cell.on("changed",this.onCellChanged,this)}onCellChanged({options:e}){this.onAttrsChange(e)}onAttrsChange(e){let r=this.flag.getChangedFlag();e.updated||!r||(e.dirty&&this.hasAction(r,"update")&&(r|=this.getFlag("render")),e.toolId&&(e.async=!1),this.graph!=null&&this.graph.renderer.requestViewUpdate(this,r,e))}parseJSONMarkup(e,r){const n=Al.parseJSONMarkup(e),i=n.selectors,a=this.rootSelector;if(r&&a){if(i[a])throw new Error("Invalid root selector");i[a]=r}return n}can(e){let r=this.graph.options.interacting;if(typeof r=="function"&&(r=vr(r,this.graph,this)),typeof r=="object"){let n=r[e];return typeof n=="function"&&(n=vr(n,this.graph,this)),n!==!1}return typeof r=="boolean"?r:!1}cleanCache(){return this.cache.clean(),this}getCache(e){return this.cache.get(e)}getDataOfElement(e){return this.cache.getData(e)}getMatrixOfElement(e){return this.cache.getMatrix(e)}getShapeOfElement(e){return this.cache.getShape(e)}getBoundingRectOfElement(e){return this.cache.getBoundingRect(e)}getBBoxOfElement(e){const r=this.getBoundingRectOfElement(e),n=this.getMatrixOfElement(e),i=this.getRootRotatedMatrix(),a=this.getRootTranslatedMatrix();return Iu(r,a.multiply(i).multiply(n))}getUnrotatedBBoxOfElement(e){const r=this.getBoundingRectOfElement(e),n=this.getMatrixOfElement(e),i=this.getRootTranslatedMatrix();return Iu(r,i.multiply(n))}getBBox(e={}){let r;if(e.useCellGeometry){const n=this.cell,i=n.isNode()?n.getAngle():0;r=n.getBBox().bbox(i)}else r=this.getBBoxOfElement(this.container);return this.graph.coord.localToGraphRect(r)}getRootTranslatedMatrix(){const e=this.cell,r=e.isNode()?e.getPosition():{x:0,y:0};return ao().translate(r.x,r.y)}getRootRotatedMatrix(){let e=ao();const r=this.cell,n=r.isNode()?r.getAngle():0;if(n){const i=r.getBBox(),a=i.width/2,s=i.height/2;e=e.translate(a,s).rotate(n).translate(-a,-s)}return e}findMagnet(e=this.container){return this.findByAttr("magnet",e)}updateAttrs(e,r,n={}){n.rootBBox==null&&(n.rootBBox=new Bt),n.selectors==null&&(n.selectors=this.selectors),this.attr.update(e,r,n)}isEdgeElement(e){return this.cell.isEdge()&&(e==null||e===this.container)}prepareHighlight(e,r={}){const n=e||this.container;return r.partial=n===this.container,n}highlight(e,r={}){const n=this.prepareHighlight(e,r);return this.notify("cell:highlight",{magnet:n,options:r,view:this,cell:this.cell}),this.isEdgeView()?this.notify("edge:highlight",{magnet:n,options:r,view:this,edge:this.cell,cell:this.cell}):this.isNodeView()&&this.notify("node:highlight",{magnet:n,options:r,view:this,node:this.cell,cell:this.cell}),this}unhighlight(e,r={}){const n=this.prepareHighlight(e,r);return this.notify("cell:unhighlight",{magnet:n,options:r,view:this,cell:this.cell}),this.isNodeView()?this.notify("node:unhighlight",{magnet:n,options:r,view:this,node:this.cell,cell:this.cell}):this.isEdgeView()&&this.notify("edge:unhighlight",{magnet:n,options:r,view:this,edge:this.cell,cell:this.cell}),this}notifyUnhighlight(e,r){}getEdgeTerminal(e,r,n,i,a){const s=this.cell,o=this.findAttr("port",e),l=e.getAttribute("data-selector"),u={cell:s.id};return l!=null&&(u.magnet=l),o!=null?(u.port=o,s.isNode()&&!s.hasPort(o)&&l==null&&(u.selector=this.getSelector(e))):l==null&&this.container!==e&&(u.selector=this.getSelector(e)),u}getMagnetFromEdgeTerminal(e){const r=this.cell,n=this.container,i=e.port;let a=e.magnet,s;return i!=null&&r.isNode()&&r.hasPort(i)?s=this.findPortElem(i,a)||n:(a||(a=e.selector),!a&&i!=null&&(a=`[port="${i}"]`),s=this.findOne(a,n,this.selectors)),s}hasTools(e){const r=this.tools;return r==null?!1:e==null?!0:r.name===e}addTools(e){if(this.removeTools(),e){if(!this.can("toolsAddable"))return this;const r=HU.isToolsView(e)?e:new HU(e);this.tools=r,r.config({view:this}),r.mount()}return this}updateTools(e={}){return this.tools&&this.tools.update(e),this}removeTools(){return this.tools&&(this.tools.remove(),this.tools=null),this}hideTools(){return this.tools&&this.tools.hide(),this}showTools(){return this.tools&&this.tools.show(),this}renderTools(){const e=this.cell.getTools();return this.addTools(e),this}notify(e,r){return this.trigger(e,r),this.graph.trigger(e,r),this}getEventArgs(e,r,n){const i=this,a=i.cell;return r==null||n==null?{e,view:i,cell:a}:{e,x:r,y:n,view:i,cell:a}}onClick(e,r,n){this.notify("cell:click",this.getEventArgs(e,r,n))}onDblClick(e,r,n){this.notify("cell:dblclick",this.getEventArgs(e,r,n))}onContextMenu(e,r,n){this.notify("cell:contextmenu",this.getEventArgs(e,r,n))}onMouseDown(e,r,n){this.cell.model&&(this.cachedModelForMouseEvent=this.cell.model,this.cachedModelForMouseEvent.startBatch("mouse")),this.notify("cell:mousedown",this.getEventArgs(e,r,n))}onMouseUp(e,r,n){this.notify("cell:mouseup",this.getEventArgs(e,r,n)),this.cachedModelForMouseEvent&&(this.cachedModelForMouseEvent.stopBatch("mouse",{cell:this.cell}),this.cachedModelForMouseEvent=null)}onMouseMove(e,r,n){this.notify("cell:mousemove",this.getEventArgs(e,r,n))}onMouseOver(e){this.notify("cell:mouseover",this.getEventArgs(e))}onMouseOut(e){this.notify("cell:mouseout",this.getEventArgs(e))}onMouseEnter(e){this.notify("cell:mouseenter",this.getEventArgs(e))}onMouseLeave(e){this.notify("cell:mouseleave",this.getEventArgs(e))}onMouseWheel(e,r,n,i){this.notify("cell:mousewheel",Object.assign({delta:i},this.getEventArgs(e,r,n)))}onCustomEvent(e,r,n,i){this.notify("cell:customevent",Object.assign({name:r},this.getEventArgs(e,n,i))),this.notify(r,Object.assign({},this.getEventArgs(e,n,i)))}onMagnetMouseDown(e,r,n,i){}onMagnetDblClick(e,r,n,i){}onMagnetContextMenu(e,r,n,i){}onLabelMouseDown(e,r,n){}checkMouseleave(e){const r=this.getEventTarget(e,{fromPoint:!0}),n=this.graph.findViewByElem(r);n!==this&&(this.onMouseLeave(e),n&&n.onMouseEnter(e))}dispose(){this.cell.off("changed",this.onCellChanged,this)}}Ys.defaults={isSvgElement:!0,rootSelector:"root",priority:0,bootstrap:[],actions:{}};Ys.registry=ts.create({type:"view"});_n([Bn()],Ys.prototype,"dispose",null);const ble=`X6.${Ys.name}`;class HU extends Ac{static isToolsView(e){if(e==null)return!1;if(e instanceof HU)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===vle)&&n.graph!=null&&n.cell!=null&&typeof n.config=="function"&&typeof n.update=="function"&&typeof n.focus=="function"&&typeof n.blur=="function"&&typeof n.show=="function"&&typeof n.hide=="function"}get name(){return this.options.name}get graph(){return this.cellView.graph}get cell(){return this.cellView.cell}get[Symbol.toStringTag](){return vle}constructor(e={}){super(),this.svgContainer=this.createContainer(!0,e),this.htmlContainer=this.createContainer(!1,e),this.config(e)}createContainer(e,r){const n=e?zU("g",!0):zU("div",!1);return nr(n,this.prefixClassName("cell-tools")),r.className&&nr(n,r.className),n}config(e){if(this.options=Object.assign(Object.assign({},this.options),e),!Ys.isCellView(e.view)||e.view===this.cellView)return this;this.cellView=e.view,this.cell.isEdge()?(nr(this.svgContainer,this.prefixClassName("edge-tools")),nr(this.htmlContainer,this.prefixClassName("edge-tools"))):this.cell.isNode()&&(nr(this.svgContainer,this.prefixClassName("node-tools")),nr(this.htmlContainer,this.prefixClassName("node-tools"))),this.svgContainer.setAttribute("data-cell-id",this.cell.id),this.htmlContainer.setAttribute("data-cell-id",this.cell.id),this.name&&(this.svgContainer.setAttribute("data-tools-name",this.name),this.htmlContainer.setAttribute("data-tools-name",this.name));const r=this.options.items;if(!Array.isArray(r))return this;this.tools=[];const n=[];r.forEach(i=>{ha.isToolItem(i)?i.name==="vertices"?n.unshift(i):n.push(i):(typeof i=="object"?i.name:i)==="vertices"?n.unshift(i):n.push(i)});for(let i=0;i<n.length;i+=1){const a=n[i];let s;if(ha.isToolItem(a))s=a;else{const o=typeof a=="object"?a.name:a,l=typeof a=="object"?a.args||{}:{};if(o){if(this.cell.isNode()){const u=Xw.get(o);if(u)s=new u(l);else return Xw.onNotFound(o)}else if(this.cell.isEdge()){const u=Kw.get(o);if(u)s=new u(l);else return Kw.onNotFound(o)}}}s&&(s.config(this.cellView,this),s.render(),(s.options.isSVGElement!==!1?this.svgContainer:this.htmlContainer).appendChild(s.container),this.tools.push(s))}return this}update(e={}){const r=this.tools;return r&&r.forEach(n=>{e.toolId!==n.cid&&n.isVisible()&&n.update()}),this}focus(e){const r=this.tools;return r&&r.forEach(n=>{e===n?n.show():n.hide()}),this}blur(e){const r=this.tools;return r&&r.forEach(n=>{n!==e&&!n.isVisible()&&(n.show(),n.update())}),this}hide(){return this.focus(null)}show(){return this.blur(null)}remove(){const e=this.tools;return e&&(e.forEach(r=>r.remove()),this.tools=null),Bu(this.svgContainer),Bu(this.htmlContainer),super.remove()}mount(){const e=this.tools,r=this.cellView;if(r&&e){const n=e.some(a=>a.options.isSVGElement!==!1),i=e.some(a=>a.options.isSVGElement===!1);n&&(this.options.local?r.container:r.graph.view.decorator).appendChild(this.svgContainer),i&&this.graph.container.appendChild(this.htmlContainer)}return this}}HU.toStringTag=`X6.${HU.name}`;const vle=`X6.${HU.name}`,Tht=t=>t;function xle(t,e){return e===0?"0%":`${Math.round(t/e*100)}%`}function e8e(t){return(r,n,i,a)=>n.isEdgeElement(i)?Sht(t,r,n,i,a):Cht(t,r,n,i,a)}function Cht(t,e,r,n,i){const a=r.cell,s=a.getAngle(),o=r.getUnrotatedBBoxOfElement(n),l=a.getBBox().getCenter(),u=Je.create(i).rotate(s,l);let d=u.x-o.x,h=u.y-o.y;return t&&(d=xle(d,o.width),h=xle(h,o.height)),e.anchor={name:"topLeft",args:{dx:d,dy:h,rotate:!0}},e}function Sht(t,e,r,n,i){const a=r.getConnection();if(!a)return e;const s=a.closestPointLength(i);if(t){const o=a.length();e.anchor={name:"ratio",args:{ratio:s/o}}}else e.anchor={name:"length",args:{length:s}};return e}const kht=e8e(!0),Eht=e8e(!1),Aht=Object.freeze(Object.defineProperty({__proto__:null,noop:Tht,pinAbsolute:Eht,pinRelative:kht},Symbol.toStringTag,{value:"Module"})),t8e=Aht,Mht=ts.create({type:"connection strategy"});Mht.register(t8e,!0);function r8e(t,e,r,n){return vr(t8e.pinRelative,this.graph,{},e,r,t,this.cell,n,{}).anchor}function n8e(t,e){return e?t.cell.getBBox():t.cell.isEdge()?t.getConnection().bbox():t.getUnrotatedBBoxOfElement(t.container)}let VC=class extends ha{get type(){return this.options.type}onRender(){nr(this.container,this.prefixClassName(`edge-tool-${this.type}-anchor`)),this.toggleArea(!1),this.update()}update(){const e=this.type;return this.cellView.getTerminalView(e)?(this.updateAnchor(),this.updateArea(),this.container.style.display=""):this.container.style.display="none",this}updateAnchor(){const e=this.childNodes;if(!e)return;const r=e.anchor;if(!r)return;const n=this.type,i=this.cellView,a=this.options,s=i.getTerminalAnchor(n),o=i.cell.prop([n,"anchor"]);r.setAttribute("transform",`translate(${s.x}, ${s.y})`);const l=o?a.customAnchorAttrs:a.defaultAnchorAttrs;l&&Object.keys(l).forEach(u=>{r.setAttribute(u,l[u])})}updateArea(){const e=this.childNodes;if(!e)return;const r=e.area;if(!r)return;const n=this.type,i=this.cellView,a=i.getTerminalView(n);if(a){const s=a.cell,o=i.getTerminalMagnet(n);let l=this.options.areaPadding||0;Number.isFinite(l)||(l=0);let u,d,h;a.isEdgeElement(o)?(u=a.getBBox(),d=0,h=u.getCenter()):(u=a.getUnrotatedBBoxOfElement(o),d=s.getAngle(),h=u.getCenter(),d&&h.rotate(-d,s.getBBox().getCenter())),u.inflate(l),Nn(r,{x:-u.width/2,y:-u.height/2,width:u.width,height:u.height,transform:`translate(${h.x}, ${h.y}) rotate(${d})`})}}toggleArea(e){if(this.childNodes){const r=this.childNodes.area;r&&(r.style.display=e?"":"none")}}onMouseDown(e){this.guard(e)||(e.stopPropagation(),e.preventDefault(),this.graph.view.undelegateEvents(),this.options.documentEvents&&this.delegateDocumentEvents(this.options.documentEvents),this.focus(),this.toggleArea(this.options.restrictArea),this.cell.startBatch("move-anchor",{ui:!0,toolId:this.cid}))}resetAnchor(e){const r=this.type,n=this.cell;e?n.prop([r,"anchor"],e,{rewrite:!0,ui:!0,toolId:this.cid}):n.removeProp([r,"anchor"],{ui:!0,toolId:this.cid})}onMouseMove(e){const r=this.type,n=this.cellView,i=n.getTerminalView(r);if(i==null)return;const a=this.normalizeEvent(e),s=i.cell,o=n.getTerminalMagnet(r);let l=this.graph.coord.clientToLocalPoint(a.clientX,a.clientY);const u=this.options.snap;if(typeof u=="function"){const f=vr(u,n,l,i,o,r,n,this);l=Je.create(f)}if(this.options.restrictArea)if(i.isEdgeElement(o)){const f=i.getClosestPoint(l);f&&(l=f)}else{const f=i.getUnrotatedBBoxOfElement(o),p=s.getAngle(),g=s.getBBox().getCenter(),m=l.clone().rotate(p,g);f.containsPoint(m)||(l=f.getNearestPointToPoint(m).rotate(-p,g))}let d;const h=this.options.anchor;typeof h=="function"&&(d=vr(h,n,l,i,o,r,n,this)),this.resetAnchor(d),this.update()}onMouseUp(e){this.graph.view.delegateEvents(),this.undelegateDocumentEvents(),this.blur(),this.toggleArea(!1);const r=this.cellView;this.options.removeRedundancies&&r.removeRedundantLinearVertices({ui:!0,toolId:this.cid}),this.cell.stopBatch("move-anchor",{ui:!0,toolId:this.cid})}onDblClick(){const e=this.options.resetAnchor;e&&this.resetAnchor(e===!0?void 0:e),this.update()}};VC.defaults=Object.assign(Object.assign({},ha.getDefaults()),{tagName:"g",markup:[{tagName:"circle",selector:"anchor",attrs:{cursor:"pointer"}},{tagName:"rect",selector:"area",attrs:{"pointer-events":"none",fill:"none",stroke:"#33334F","stroke-dasharray":"2,4",rx:5,ry:5}}],events:{mousedown:"onMouseDown",touchstart:"onMouseDown",dblclick:"onDblClick"},documentEvents:{mousemove:"onMouseMove",touchmove:"onMouseMove",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onMouseUp"},customAnchorAttrs:{"stroke-width":4,stroke:"#33334F",fill:"#FFFFFF",r:5},defaultAnchorAttrs:{"stroke-width":2,stroke:"#FFFFFF",fill:"#33334F",r:6},areaPadding:6,snapRadius:10,resetAnchor:!0,restrictArea:!0,removeRedundancies:!0,anchor:r8e,snap(t,e,r,n,i,a){const s=a.options.snapRadius||0,o=n==="source",l=o?0:-1,u=this.cell.getVertexAt(l)||this.getTerminalAnchor(o?"target":"source");return u&&(Math.abs(u.x-t.x)<s&&(t.x=u.x),Math.abs(u.y-t.y)<s&&(t.y=u.y)),t}});class i8e extends VC{}i8e.defaults=Object.assign(Object.assign({},VC.getDefaults()),{name:"source-anchor",type:"source"});class a8e extends VC{}a8e.defaults=Object.assign(Object.assign({},VC.getDefaults()),{name:"target-anchor",type:"target"});class GC extends ha{get type(){return this.options.type}get ratio(){return this.options.ratio}init(){if(this.options.attrs){const e=this.options.attrs,{class:r}=e,n=Un(e,["class"]);this.setAttrs(n,this.container),r&&nr(this.container,r)}}onRender(){nr(this.container,this.prefixClassName(`edge-tool-${this.type}-arrowhead`)),this.update()}update(){const e=this.ratio,r=this.cellView,n=r.getTangentAtRatio(e),i=n?n.start:r.getPointAtRatio(e),a=n&&n.vector().vectorAngle(new Je(1,0))||0;if(!i)return this;const s=ao().translate(i.x,i.y).rotate(a);return Tv(this.container,s,{absolute:!0}),this}onMouseDown(e){if(this.guard(e))return;e.stopPropagation(),e.preventDefault();const r=this.cellView;if(r.can("arrowheadMovable")){r.cell.startBatch("move-arrowhead",{ui:!0,toolId:this.cid});const n=this.graph.snapToGrid(e.clientX,e.clientY),i=r.prepareArrowheadDragging(this.type,{x:n.x,y:n.y,options:Object.assign(Object.assign({},this.options),{toolId:this.cid})});this.cellView.setEventData(e,i),this.delegateDocumentEvents(this.options.documentEvents,e.data),r.graph.view.undelegateEvents(),this.container.style.pointerEvents="none"}this.focus()}onMouseMove(e){const r=this.normalizeEvent(e),n=this.graph.snapToGrid(r.clientX,r.clientY);this.cellView.onMouseMove(r,n.x,n.y),this.update()}onMouseUp(e){this.undelegateDocumentEvents();const r=this.normalizeEvent(e),n=this.cellView,i=this.graph.snapToGrid(r.clientX,r.clientY);n.onMouseUp(r,i.x,i.y),this.graph.view.delegateEvents(),this.blur(),this.container.style.pointerEvents="",n.cell.stopBatch("move-arrowhead",{ui:!0,toolId:this.cid})}}GC.defaults=Object.assign(Object.assign({},ha.getDefaults()),{tagName:"path",isSVGElement:!0,events:{mousedown:"onMouseDown",touchstart:"onMouseDown"},documentEvents:{mousemove:"onMouseMove",touchmove:"onMouseMove",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onMouseUp"}});class s8e extends GC{}s8e.defaults=Object.assign(Object.assign({},GC.getDefaults()),{name:"source-arrowhead",type:"source",ratio:0,attrs:{d:"M 10 -8 -10 0 10 8 Z",fill:"#333",stroke:"#fff","stroke-width":2,cursor:"move"}});class o8e extends GC{}o8e.defaults=Object.assign(Object.assign({},GC.getDefaults()),{name:"target-arrowhead",type:"target",ratio:1,attrs:{d:"M -10 -8 10 0 -10 8 Z",fill:"#333",stroke:"#fff","stroke-width":2,cursor:"move"}});class tJ extends ha{onRender(){if(nr(this.container,this.prefixClassName("cell-tool-boundary")),this.options.attrs){const e=this.options.attrs,{class:r}=e,n=Un(e,["class"]);Nn(this.container,Dw(n)),r&&nr(this.container,r)}this.update()}update(){const e=this.cellView,r=this.options,{useCellGeometry:n,rotate:i}=r,a=Sd(r.padding);let s=n8e(e,n);this.parent.options.local&&(s=s.translate({x:-s.x,y:-s.y})),s=s.moveAndExpand({x:-a.left,y:-a.top,width:a.left+a.right,height:a.top+a.bottom});const o=e.cell;if(o.isNode()){const l=o.getAngle();if(l!=null)if(i&&!this.parent.options.local){const u=o.getBBox().getCenter();HV(this.container,l,u.x,u.y,{absolute:!0})}else i||(s=s.bbox(l))}return Nn(this.container,s.toJSON()),this}}tJ.defaults=Object.assign(Object.assign({},ha.getDefaults()),{name:"boundary",tagName:"rect",padding:10,useCellGeometry:!0,attrs:{fill:"none",stroke:"#333","stroke-width":.5,"stroke-dasharray":"5, 5","pointer-events":"none"}});class WC extends ha{onRender(){nr(this.container,this.prefixClassName("cell-tool-button")),this.update()}update(){return this.updatePosition(),this}updatePosition(){const r=this.cellView.cell.isEdge()?this.getEdgeMatrix():this.getNodeMatrix();Tv(this.container,r,{absolute:!0})}getNodeMatrix(){const e=this.cellView,r=this.options;let{x:n=0,y:i=0}=r;const{offset:a,useCellGeometry:s,rotate:o}=r;let l=n8e(e,s);const u=e.cell.getAngle();o||(l=l.bbox(u));let d=0,h=0;typeof a=="number"?(d=a,h=a):typeof a=="object"&&(d=a.x,h=a.y),n=qc(n,l.width),i=qc(i,l.height);let f=ao();return this.parent.options.local?f=f.translate(l.width/2,l.height/2):f=f.translate(l.x+l.width/2,l.y+l.height/2),o&&(f=f.rotate(u)),f=f.translate(n+d-l.width/2,i+h-l.height/2),f}getEdgeMatrix(){const e=this.cellView,r=this.options,{offset:n=0,distance:i=0,rotate:a}=r,s=qc(i,1),o=s>=0&&s<=1?e.getTangentAtRatio(s):e.getTangentAtLength(s),l=o?o.start:e.getConnection().start,u=o&&o.vector().vectorAngle(new Je(1,0))||0;let d=ao().translate(l.x,l.y).rotate(u);return typeof n=="object"?d=d.translate(n.x||0,n.y||0):d=d.translate(0,n),a||(d=d.rotate(-u)),d}onMouseDown(e){if(this.guard(e))return;e.stopPropagation(),e.preventDefault();const r=this.options.onClick;typeof r=="function"&&vr(r,this.cellView,{e,view:this.cellView,cell:this.cellView.cell,btn:this})}}WC.defaults=Object.assign(Object.assign({},ha.getDefaults()),{name:"button",useCellGeometry:!0,events:{mousedown:"onMouseDown",touchstart:"onMouseDown"}});class rJ extends WC{}rJ.defaults=Object.assign(Object.assign({},WC.getDefaults()),{name:"button-remove",markup:[{tagName:"circle",selector:"button",attrs:{r:7,fill:"#FF1D00",cursor:"pointer"}},{tagName:"path",selector:"icon",attrs:{d:"M -3 -3 3 3 M -3 3 3 -3",fill:"none",stroke:"#FFFFFF","stroke-width":2,"pointer-events":"none"}}],distance:60,offset:0,useCellGeometry:!0,onClick({view:t,btn:e}){e.parent.remove(),t.cell.remove({ui:!0,toolId:e.cid})}});class qC extends ha{constructor(){super(...arguments),this.labelIndex=-1,this.distance=.5,this.dblClick=this.onCellDblClick.bind(this)}onRender(){const e=this.cellView;e&&e.on("cell:dblclick",this.dblClick)}createElement(){const e=[this.prefixClassName(`${this.cell.isEdge()?"edge":"node"}-tool-editor`),this.prefixClassName("cell-tool-editor")];this.editor=zU("div",!1),this.addClass(e,this.editor),this.editor.contentEditable="true",this.container.appendChild(this.editor)}removeElement(){this.undelegateDocumentEvents(),this.editor&&(this.container.removeChild(this.editor),this.editor=null)}updateEditor(){const{cell:e,editor:r}=this;if(!r)return;const{style:n}=r;e.isNode()?this.updateNodeEditorTransform():e.isEdge()&&this.updateEdgeEditorTransform();const{attrs:i}=this.options;n.fontSize=`${i.fontSize}px`,n.fontFamily=i.fontFamily,n.color=i.color,n.backgroundColor=i.backgroundColor;const a=this.getCellText()||"";return r.innerText=a,this.setCellText(""),this}updateNodeEditorTransform(){const{graph:e,cell:r,editor:n}=this;if(!n)return;let i=Je.create(),a=20,s="",{x:o,y:l}=this.options;const{width:u,height:d}=this.options;if(typeof o<"u"&&typeof l<"u"){const p=r.getBBox();o=qc(o,p.width),l=qc(l,p.height),i=p.topLeft.translate(o,l),a=p.width-o*2}else{const p=r.getBBox();i=p.center,a=p.width-4,s="translate(-50%, -50%)"}const h=e.scale(),{style:f}=n;i=e.localToGraph(i),f.left=`${i.x}px`,f.top=`${i.y}px`,f.transform=`scale(${h.sx}, ${h.sy}) ${s}`,f.minWidth=`${a}px`,typeof u=="number"&&(f.width=`${u}px`),typeof d=="number"&&(f.height=`${d}px`)}updateEdgeEditorTransform(){if(!this.event)return;const{graph:e,editor:r}=this;if(!r)return;let n=Je.create(),i=20;const{style:a}=r,s=this.event.target,o=s.parentElement;if(o&&Mh(o,this.prefixClassName("edge-label"))){const d=o.getAttribute("data-index")||"0";this.labelIndex=parseInt(d,10);const h=o.getAttribute("transform"),{translation:f}=_O(h);n=new Je(f.tx,f.ty),i=Bh(s).width}else{if(!this.options.labelAddable)return this;n=e.clientToLocal(Je.create(this.event.clientX,this.event.clientY));const h=this.cellView.path.closestPointLength(n);this.distance=h,this.labelIndex=-1}n=e.localToGraph(n);const u=e.scale();a.left=`${n.x}px`,a.top=`${n.y}px`,a.minWidth=`${i}px`,a.transform=`scale(${u.sx}, ${u.sy}) translate(-50%, -50%)`}updateCell(){const e=this.editor.innerText.replace(/\n$/,"")||"";this.setCellText(e!==""?e:null),this.removeElement()}onDocumentMouseUp(e){this.editor&&e.target!==this.editor&&this.updateCell()}onCellDblClick({e}){if(!this.editor){e.stopPropagation(),this.removeElement(),this.event=e,this.createElement(),this.updateEditor(),this.autoFocus();const r=this.options.documentEvents;r&&this.delegateDocumentEvents(r)}}onMouseDown(e){e.stopPropagation()}autoFocus(){setTimeout(()=>{this.editor&&(this.editor.focus(),this.selectText())})}selectText(){if(window.getSelection&&this.editor){const e=document.createRange();e.selectNodeContents(this.editor);const r=window.getSelection();r==null||r.removeAllRanges(),r==null||r.addRange(e)}}getCellText(){const{getText:e}=this.options;if(typeof e=="function")return vr(e,this.cellView,{cell:this.cell,index:this.labelIndex});if(typeof e=="string"){if(this.cell.isNode())return this.cell.attr(e);if(this.cell.isEdge()&&this.labelIndex!==-1)return this.cell.prop(`labels/${this.labelIndex}/attrs/${e}`)}}setCellText(e){const r=this.options.setText;if(typeof r=="function"){vr(r,this.cellView,{cell:this.cell,value:e,index:this.labelIndex,distance:this.distance});return}if(typeof r=="string"){if(this.cell.isNode()){this.cell.attr(r,e===null?"":e);return}if(this.cell.isEdge()){const n=this.cell;if(this.labelIndex===-1){if(e){const i={position:{distance:this.distance},attrs:{}};z4(i,`attrs/${r}`,e),n.appendLabel(i)}}else e!==null?n.prop(`labels/${this.labelIndex}/attrs/${r}`,e):n.removeLabelAt(this.labelIndex)}}}onRemove(){const e=this.cellView;e&&e.off("cell:dblclick",this.dblClick),this.removeElement()}}qC.defaults=Object.assign(Object.assign({},ha.getDefaults()),{tagName:"div",isSVGElement:!1,events:{mousedown:"onMouseDown",touchstart:"onMouseDown"},documentEvents:{mouseup:"onDocumentMouseUp",touchend:"onDocumentMouseUp",touchcancel:"onDocumentMouseUp"}});class l8e extends qC{}l8e.defaults=zi({},qC.defaults,{attrs:{fontSize:14,fontFamily:"Arial, helvetica, sans-serif",color:"#000",backgroundColor:"#fff"},getText:"text/text",setText:"text/text"});class c8e extends qC{}c8e.defaults=zi({},qC.defaults,{attrs:{fontSize:14,fontFamily:"Arial, helvetica, sans-serif",color:"#000",backgroundColor:"#fff"},labelAddable:!0,getText:"label/text",setText:"label/text"});class nJ extends ha{constructor(){super(...arguments),this.handles=[]}get vertices(){return this.cellView.cell.getVertices()}update(){return this.render(),this}getPoints(){const r=this.cellView.routePoints;if(r.length<=2)return r;const n=[r[0]];for(let i=1;i<r.length-1;i++){const a=n[n.length-1],s=r[i],o=r[i+1];(s.x-a.x)*(o.y-a.y)-(s.y-a.y)*(o.x-a.x)!==0&&n.push(s)}return n.push(r[r.length-1]),n}onRender(){nr(this.container,this.prefixClassName("edge-tool-segments")),this.resetHandles();const e=this.cellView,r=[...this.getPoints()];r.unshift(e.sourcePoint),r.push(e.targetPoint);for(let n=0,i=r.length;n<i-1;n+=1){const a=r[n],s=r[n+1],o=this.renderHandle(a,s,n);this.stamp(o.container),this.handles.push(o)}return this}renderHandle(e,r,n){const i=this.options.createHandle({index:n,graph:this.graph,guard:a=>this.guard(a),attrs:this.options.attrs||{}});return this.options.processHandle&&this.options.processHandle(i),this.updateHandle(i,e,r),this.container.appendChild(i.container),this.startHandleListening(i),i}startHandleListening(e){e.on("change",this.onHandleChange,this),e.on("changing",this.onHandleChanging,this),e.on("changed",this.onHandleChanged,this)}stopHandleListening(e){e.off("change",this.onHandleChange,this),e.off("changing",this.onHandleChanging,this),e.off("changed",this.onHandleChanged,this)}resetHandles(){const e=this.handles;this.handles=[],e&&e.forEach(r=>{this.stopHandleListening(r),r.remove()})}shiftHandleIndexes(e){const r=this.handles;for(let n=0,i=r.length;n<i;n+=1)r[n].options.index+=e}resetAnchor(e,r){const n=this.cellView.cell,i={ui:!0,toolId:this.cid};r?n.prop([e,"anchor"],r,i):n.removeProp([e,"anchor"],i)}snapHandle(e,r,n){const i=e.options.axis,a=e.options.index,l=this.cellView.cell.getVertices(),u=l[a-2]||n.sourceAnchor,d=l[a+1]||n.targetAnchor,h=this.options.snapRadius;return Math.abs(r[i]-u[i])<h?r[i]=u[i]:Math.abs(r[i]-d[i])<h&&(r[i]=d[i]),r}onHandleChanging({handle:e,e:r}){const n=this.graph,i=this.options,a=this.cellView,s=i.anchor,o=e.options.axis,l=e.options.index-1,u=this.getEventData(r),d=this.normalizeEvent(r),h=n.snapToGrid(d.clientX,d.clientY),f=this.snapHandle(e,h.clone(),u),p=Fi(this.vertices);let g=p[l],m=p[l+1];const U=a.sourceView,y=a.sourceBBox;let b=!1,v=!1;if(g?l===0?y.containsPoint(g)?(p.shift(),this.shiftHandleIndexes(-1),b=!0):(g[o]=f[o],v=!0):g[o]=f[o]:(g=a.sourceAnchor.toJSON(),g[o]=f[o],y.containsPoint(g)?b=!0:(p.unshift(g),this.shiftHandleIndexes(1),v=!0)),typeof s=="function"&&U){if(b){const k=u.sourceAnchor.clone();k[o]=f[o];const E=vr(s,a,k,U,a.sourceMagnet||U.container,"source",a,this);this.resetAnchor("source",E)}v&&this.resetAnchor("source",u.sourceAnchorDef)}const w=a.targetView,T=a.targetBBox;let S=!1,C=!1;if(m?l===p.length-2?T.containsPoint(m)?(p.pop(),S=!0):(m[o]=f[o],C=!0):m[o]=f[o]:(m=a.targetAnchor.toJSON(),m[o]=f[o],T.containsPoint(m)?S=!0:(p.push(m),C=!0)),typeof s=="function"&&w){if(S){const k=u.targetAnchor.clone();k[o]=f[o];const E=vr(s,a,k,w,a.targetMagnet||w.container,"target",a,this);this.resetAnchor("target",E)}C&&this.resetAnchor("target",u.targetAnchorDef)}Je.equalPoints(p,this.vertices)||this.cellView.cell.setVertices(p,{ui:!0,toolId:this.cid}),this.updateHandle(e,g,m,0),i.stopPropagation||a.notifyMouseMove(d,h.x,h.y)}onHandleChange({handle:e,e:r}){const n=this.options,i=this.handles,a=this.cellView,s=e.options.index;if(Array.isArray(i)){for(let o=0,l=i.length;o<l;o+=1)o!==s&&i[o].hide();if(this.focus(),this.setEventData(r,{sourceAnchor:a.sourceAnchor.clone(),targetAnchor:a.targetAnchor.clone(),sourceAnchorDef:Fi(this.cell.prop(["source","anchor"])),targetAnchorDef:Fi(this.cell.prop(["target","anchor"]))}),this.cell.startBatch("move-segment",{ui:!0,toolId:this.cid}),!n.stopPropagation){const o=this.normalizeEvent(r),l=this.graph.snapToGrid(o.clientX,o.clientY);a.notifyMouseDown(o,l.x,l.y)}}}onHandleChanged({e}){const r=this.options,n=this.cellView;r.removeRedundancies&&n.removeRedundantLinearVertices({ui:!0,toolId:this.cid});const i=this.normalizeEvent(e),a=this.graph.snapToGrid(i.clientX,i.clientY);this.render(),this.blur(),this.cell.stopBatch("move-segment",{ui:!0,toolId:this.cid}),r.stopPropagation||n.notifyMouseUp(i,a.x,a.y),n.checkMouseleave(i),r.onChanged&&r.onChanged({edge:n.cell,edgeView:n})}updateHandle(e,r,n,i=0){const a=this.options.precision||0,s=Math.abs(r.x-n.x)<a,o=Math.abs(r.y-n.y)<a;if(s||o){const l=new cr(r,n);if(l.length()<this.options.threshold)e.hide();else{const d=l.getCenter(),h=s?"x":"y";d[h]+=i||0;const f=l.vector().vectorAngle(new Je(1,0));e.updatePosition(d.x,d.y,f,this.cellView),e.show(),e.options.axis=h}}else e.hide()}onRemove(){this.resetHandles()}}nJ.defaults=Object.assign(Object.assign({},ha.defaults),{name:"segments",precision:.5,threshold:40,snapRadius:10,stopPropagation:!0,removeRedundancies:!0,attrs:{width:20,height:8,x:-10,y:-4,rx:4,ry:4,fill:"#333",stroke:"#fff","stroke-width":2},createHandle:t=>new Rht(t),anchor:r8e});let Rht=class extends Ac{constructor(e){super(),this.options=e,this.render(),this.delegateEvents({mousedown:"onMouseDown",touchstart:"onMouseDown"})}render(){this.container=zU("rect",!0);const e=this.options.attrs;if(typeof e=="function"){const r=nJ.getDefaults();this.setAttrs(Object.assign(Object.assign({},r.attrs),e(this)))}else this.setAttrs(e);this.addClass(this.prefixClassName("edge-tool-segment"))}updatePosition(e,r,n,i){const a=i.getClosestPoint(new Je(e,r))||new Je(e,r);let s=ao().translate(a.x,a.y);if(a.equals({x:e,y:r}))s=s.rotate(n);else{let l=new cr(e,r,a.x,a.y).vector().vectorAngle(new Je(1,0));l!==0&&(l+=90),s=s.rotate(l)}this.setAttrs({transform:FC(s),cursor:n%180===0?"row-resize":"col-resize"})}onMouseDown(e){this.options.guard(e)||(this.trigger("change",{e,handle:this}),e.stopPropagation(),e.preventDefault(),this.options.graph.view.undelegateEvents(),this.delegateDocumentEvents({mousemove:"onMouseMove",touchmove:"onMouseMove",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onMouseUp"},e.data))}onMouseMove(e){this.emit("changing",{e,handle:this})}onMouseUp(e){this.emit("changed",{e,handle:this}),this.undelegateDocumentEvents(),this.options.graph.view.delegateEvents()}show(){this.container.style.display=""}hide(){this.container.style.display="none"}};const GB=Kn.prefix("edge-tool-vertex-path");class iJ extends ha{constructor(){super(...arguments),this.handles=[]}get vertices(){return this.cellView.cell.getVertices()}onRender(){return this.addClass(this.prefixClassName("edge-tool-vertices")),this.options.addable&&this.updatePath(),this.resetHandles(),this.renderHandles(),this}update(){return this.vertices.length===this.handles.length?this.updateHandles():(this.resetHandles(),this.renderHandles()),this.options.addable&&this.updatePath(),this}resetHandles(){const e=this.handles;this.handles=[],e&&e.forEach(r=>{this.stopHandleListening(r),r.remove()})}renderHandles(){const e=this.vertices;for(let r=0,n=e.length;r<n;r+=1){const i=e[r],a=this.options.createHandle,s=this.options.processHandle,o=a({index:r,graph:this.graph,guard:l=>this.guard(l),attrs:this.options.attrs||{}});s&&s(o),o.updatePosition(i.x,i.y),this.stamp(o.container),this.container.appendChild(o.container),this.handles.push(o),this.startHandleListening(o)}}updateHandles(){const e=this.vertices;for(let r=0,n=e.length;r<n;r+=1){const i=e[r],a=this.handles[r];a&&a.updatePosition(i.x,i.y)}}updatePath(){const e=this.childNodes.connection;e&&e.setAttribute("d",this.cellView.getConnectionPathData())}startHandleListening(e){const r=this.cellView;r.can("vertexMovable")&&(e.on("change",this.onHandleChange,this),e.on("changing",this.onHandleChanging,this),e.on("changed",this.onHandleChanged,this)),r.can("vertexDeletable")&&e.on("remove",this.onHandleRemove,this)}stopHandleListening(e){const r=this.cellView;r.can("vertexMovable")&&(e.off("change",this.onHandleChange,this),e.off("changing",this.onHandleChanging,this),e.off("changed",this.onHandleChanged,this)),r.can("vertexDeletable")&&e.off("remove",this.onHandleRemove,this)}getNeighborPoints(e){const r=this.cellView,n=this.vertices,i=e>0?n[e-1]:r.sourceAnchor,a=e<n.length-1?n[e+1]:r.targetAnchor;return{prev:Je.create(i),next:Je.create(a)}}getMouseEventArgs(e){const r=this.normalizeEvent(e),{x:n,y:i}=this.graph.snapToGrid(r.clientX,r.clientY);return{e:r,x:n,y:i}}onHandleChange({e}){this.focus();const r=this.cellView;if(r.cell.startBatch("move-vertex",{ui:!0,toolId:this.cid}),!this.options.stopPropagation){const{e:n,x:i,y:a}=this.getMouseEventArgs(e);this.eventData(n,{start:{x:i,y:a}}),r.notifyMouseDown(n,i,a)}}onHandleChanging({handle:e,e:r}){const n=this.cellView,i=e.options.index,{e:a,x:s,y:o}=this.getMouseEventArgs(r),l={x:s,y:o};this.snapVertex(l,i),n.cell.setVertexAt(i,l,{ui:!0,toolId:this.cid}),e.updatePosition(l.x,l.y),this.options.stopPropagation||n.notifyMouseMove(a,s,o)}stopBatch(e){this.cell.stopBatch("move-vertex",{ui:!0,toolId:this.cid}),e&&this.cell.stopBatch("add-vertex",{ui:!0,toolId:this.cid})}onHandleChanged({e}){const r=this.options,n=this.cellView;r.addable&&this.updatePath(),r.removeRedundancies&&n.removeRedundantLinearVertices({ui:!0,toolId:this.cid})&&this.render(),this.blur(),this.stopBatch(this.eventData(e).vertexAdded);const{e:i,x:a,y:s}=this.getMouseEventArgs(e);if(!this.options.stopPropagation){n.notifyMouseUp(i,a,s);const{start:o}=this.eventData(i);if(o){const{x:l,y:u}=o;l===a&&u===s&&n.onClick(i,a,s)}}n.checkMouseleave(i),r.onChanged&&r.onChanged({edge:n.cell,edgeView:n})}snapVertex(e,r){const n=this.options.snapRadius||0;if(n>0){const i=this.getNeighborPoints(r),a=i.prev,s=i.next;Math.abs(e.x-a.x)<n?e.x=a.x:Math.abs(e.x-s.x)<n&&(e.x=s.x),Math.abs(e.y-a.y)<n?e.y=i.prev.y:Math.abs(e.y-s.y)<n&&(e.y=s.y)}}onHandleRemove({handle:e,e:r}){if(this.options.removable){const n=e.options.index,i=this.cellView;i.cell.removeVertexAt(n,{ui:!0}),this.options.addable&&this.updatePath(),i.checkMouseleave(this.normalizeEvent(r))}}allowAddVertex(e){const r=this.guard(e),n=this.options.addable&&this.cellView.can("vertexAddable"),i=this.options.modifiers?Pg(e,this.options.modifiers):!0;return!r&&n&&i}onPathMouseDown(e){const r=this.cellView;if(!this.allowAddVertex(e))return;e.stopPropagation(),e.preventDefault();const n=this.normalizeEvent(e),i=this.graph.snapToGrid(n.clientX,n.clientY).toJSON();r.cell.startBatch("add-vertex",{ui:!0,toolId:this.cid});const a=r.getVertexIndex(i.x,i.y);this.snapVertex(i,a),r.cell.insertVertex(i,a,{ui:!0,toolId:this.cid}),this.render();const s=this.handles[a];this.eventData(n,{vertexAdded:!0}),s.onMouseDown(n)}onRemove(){this.resetHandles()}}iJ.defaults=Object.assign(Object.assign({},ha.getDefaults()),{name:"vertices",snapRadius:20,addable:!0,removable:!0,removeRedundancies:!0,stopPropagation:!0,attrs:{r:6,fill:"#333",stroke:"#fff",cursor:"move","stroke-width":2},createHandle:t=>new Iht(t),markup:[{tagName:"path",selector:"connection",className:GB,attrs:{fill:"none",stroke:"transparent","stroke-width":10,cursor:"pointer"}}],events:{[`mousedown .${GB}`]:"onPathMouseDown",[`touchstart .${GB}`]:"onPathMouseDown"}});class Iht extends Ac{get graph(){return this.options.graph}constructor(e){super(),this.options=e,this.render(),this.delegateEvents({mousedown:"onMouseDown",touchstart:"onMouseDown",dblclick:"onDoubleClick"})}render(){this.container=zU("circle",!0);const e=this.options.attrs;if(typeof e=="function"){const r=iJ.getDefaults();this.setAttrs(Object.assign(Object.assign({},r.attrs),e(this)))}else this.setAttrs(e);this.addClass(this.prefixClassName("edge-tool-vertex"))}updatePosition(e,r){this.setAttrs({cx:e,cy:r})}onMouseDown(e){this.options.guard(e)||(e.stopPropagation(),e.preventDefault(),this.graph.view.undelegateEvents(),this.delegateDocumentEvents({mousemove:"onMouseMove",touchmove:"onMouseMove",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onMouseUp"},e.data),this.emit("change",{e,handle:this}))}onMouseMove(e){this.emit("changing",{e,handle:this})}onMouseUp(e){this.emit("changed",{e,handle:this}),this.undelegateDocumentEvents(),this.graph.view.delegateEvents()}onDoubleClick(e){this.emit("remove",{e,handle:this})}}const Lht={boundary:tJ,button:WC,"button-remove":rJ,"node-editor":l8e},Xw=ts.create({type:"node tool",process(t,e){if(typeof e=="function")return e;let r=ha;const{inherit:n}=e,i=Un(e,["inherit"]);if(n){const a=this.get(n);a==null?this.onNotFound(n,"inherited"):r=a}return i.name==null&&(i.name=t),r.define.call(r,i)}});Xw.register(Lht,!0);const Nht={boundary:tJ,vertices:iJ,segments:nJ,button:WC,"button-remove":rJ,"source-anchor":i8e,"target-anchor":a8e,"source-arrowhead":s8e,"target-arrowhead":o8e,"edge-editor":c8e},Kw=ts.create({type:"edge tool",process(t,e){if(typeof e=="function")return e;let r=ha;const{inherit:n}=e,i=Un(e,["inherit"]);if(n){const a=this.get(n);a==null?this.onNotFound(n,"inherited"):r=a}return i.name==null&&(i.name=t),r.define.call(r,i)}});Kw.register(Nht,!0);class wle{constructor(e,r,n,i){var a;this.target=e,this.cell=(a=this.target.effect)===null||a===void 0?void 0:a.target,this.type=r,this.bubbles=!1,this.currentTarget=e,this.defaultPrevented=!1,this.eventPhase=0,this.timeStamp=performance.now(),this.currentTime=n,this.timelineTime=i}}function Uk(t){return t!=="offset"&&t!=="easing"&&t!=="composite"&&t!=="computedOffset"}function Tle(t,e){return t==="reverse"||t==="alternate"&&e%2===1||t==="alternate-reverse"&&e%2===0}let Oht=class{constructor(e,r){this._effect=null,this._currentTime=null,this._playbackRate=1,this._playState="idle",this._rafId=null,this._startTime=null,this._pausedTime=null,this._timeline=null,this.id="",this.onfinish=null,this.oncancel=null,this._effect=e,this._timeline=r??document.timeline}get effect(){return this._effect}get currentTime(){return this._currentTime}set currentTime(e){const r=this._timeline.currentTime;r0(r)&&(this._startTime=r-e,this._currentTime=e)}get playbackRate(){return this._playbackRate}set playbackRate(e){const r=this._playbackRate;this._playbackRate=e;const n=this._timeline.currentTime;if(this._playState==="running"&&this._startTime!=null&&r0(n)){const i=(n-this._startTime)*r;this._startTime=n-i/e}}get playState(){return this._playState}get timeline(){return this._timeline}play(){if(this._playState==="running"||!this._effect)return;const e=this._timeline.currentTime;r0(e)&&(this._playState==="paused"?(this._startTime=e-this._pausedTime/this._playbackRate,this._pausedTime=null):(this._currentTime=0,this._startTime=e),this._playState="running",this._tick())}pause(){this._playState==="running"&&(this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=null),this._pausedTime=this._currentTime,this._playState="paused")}finish(){var e;if(!this._effect)return;const r=this._effect.getComputedTiming(),n=this._playbackRate<0,{duration:i,endTime:a,direction:s,fill:o,iterations:l}=r;if(o==="forwards"||o==="both"){const d=n?0:l-1,h=Tle(s,d);this._effect.apply(h||n?0:i)}else(o==="none"||o==="backwards")&&this._effect.apply(null);this._currentTime=n?0:a,this._playState="finished",this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=null);const u=new wle(this,"finish",this._currentTime,this._timeline.currentTime);(e=this.onfinish)===null||e===void 0||e.call(this,u),this._effect.target.notify("animation:finish",u)}cancel(){var e;if(!this._effect)return;this._rafId&&(cancelAnimationFrame(this._rafId),this._rafId=null),this._playState="idle",this._currentTime=null,this._startTime=null,this._pausedTime=null,this._effect.apply(null);const r=new wle(this,"cancel",this._currentTime,this._timeline.currentTime);(e=this.oncancel)===null||e===void 0||e.call(this,r),this._effect.target.notify("animation:cancel",r)}updatePlaybackRate(e){this.playbackRate=e}reverse(){this.playbackRate=this.playbackRate*-1}_tick(){const e=this._timeline.currentTime;if(this._playState!=="running"||!this._effect||!r0(e))return;const r=this._effect.getComputedTiming(),{duration:n,delay:i,iterations:a,direction:s,endTime:o}=r,l=(e-this._startTime)*this._playbackRate,u=l-i;let d=Math.floor(u/n);if(l>=o||l<0||n<=0){this.finish();return}if(l>=i){let h=u%n;d=Math.min(d,a-1),Tle(s,d)&&(h=n-h),this._effect.apply(h)}this._currentTime=l,this._rafId=requestAnimationFrame(()=>this._tick())}};class Dht{constructor(){this.animations=[]}addAnimation(e){this.animations.push(e)}getAnimations(){return this.animations}cancelAnimations(){this.animations.forEach(e=>{e.cancel()})}}class Pht{constructor(e,r,n){this._originProps={},this._target=e,this._options=r0(n)?{duration:n}:Object.assign({},n),this.setKeyframes(r)}get target(){return this._target}getKeyframes(){if(!this._keyframes||this._keyframes.length===0)return[];let e=[];if(Array.isArray(this._keyframes)&&(e=[...this._keyframes]),Xd(this._keyframes)){const n=Object.values(this._keyframes).map(a=>poe(a).length),i=Math.max(...n);for(let a=0;a<i;a++){const s={};Object.entries(this._keyframes).forEach(([o,l])=>{const u=poe(l)[a];Uk(o)&&u!=null&&(s[o]=u)}),e.push(s)}}return e=e.map((r,n,i)=>{var a,s,o;const l=r??{},u={};return u.offset=l.offset,u.easing=(o=(a=l.easing)!==null&&a!==void 0?a:(s=i[n-1])===null||s===void 0?void 0:s.easing)!==null&&o!==void 0?o:this.getComputedTiming().easing,Object.keys(l).forEach(d=>{Uk(d)&&(u[d]=l[d])}),u}),e=e.map((r,n)=>(r.offset==null?n===e.length-1?r.computedOffset=1:n===0?r.computedOffset=0:r.computedOffset=n/(e.length-1):r.computedOffset=r.offset,r)),e}setKeyframes(e){this._keyframes=e,this._computedKeyframes=this.getKeyframes(),this._computedKeyframes.forEach(r=>{Object.keys(r).forEach(n=>{Uk(n)&&this._originProps[n]==null&&(this._originProps[n]=this.target.getPropByPath(n))})})}getTiming(){return y6e(this._options,_ht)}getComputedTiming(){const e=this.getTiming(),r=e.duration*e.iterations;return Object.assign(Object.assign({},e),{activeDuration:r,endTime:r+e.delay})}apply(e){var r,n,i,a;if(!this._target||!this._computedKeyframes.length)return;if(e==null){Object.entries(this._originProps).forEach(([b,v])=>{this.target.setPropByPath(b,v)});return}const o=this.getComputedTiming().duration;if(o<0)return;const l=Math.min(e/o,1),u=this._computedKeyframes;if(u.length===0)return;let d={computedOffset:0},h={computedOffset:1};for(const b of u)if(l===0&&b.computedOffset===0&&(d=b),l===1&&b.computedOffset===1&&(h=b),b.computedOffset<l&&(d=b),b.computedOffset>l){h=b;break}const f=d.computedOffset,p=h.computedOffset,g=(l-f)/(p-f),m=(r=d.easing)!==null&&r!==void 0?r:h.easing,U=PC(m),y=(n=Wlt[U])!==null&&n!==void 0?n:c7e;for(const b in Object.assign(Object.assign({},d),h))if(Uk(b)&&(d[b]!=null||h[b]!=null)){const v=(i=d[b])!==null&&i!==void 0?i:this._originProps[b],w=(a=h[b])!==null&&a!==void 0?a:this._originProps[b];let T;String(v).startsWith("#")?T=clt:b.endsWith("transform")&&!r0(v)?T=ult:_w.test(String(v))||_w.test(String(w))?T=l7e:T=o7e;const C=T(v,w)(y(g));this.target.setPropByPath(b,C)}}}const _ht={delay:0,direction:"normal",duration:0,easing:"linear",fill:"none",iterations:1};class u8e extends Xl{constructor(e={}){super(),this.pending=!1,this.changing=!1,this.data={},this.mutate(Fi(e)),this.changed={}}mutate(e,r={}){const n=r.unset===!0,i=r.silent===!0,a=[],s=this.changing;this.changing=!0,s||(this.previous=Fi(this.data),this.changed={});const o=this.data,l=this.previous,u=this.changed;if(Object.keys(e).forEach(d=>{const h=d,f=e[h];m0(o[h],f)||a.push(h),m0(l[h],f)?delete u[h]:u[h]=f,n?delete o[h]:o[h]=f}),!i&&a.length>0&&(this.pending=!0,this.pendingOptions=r,a.forEach(d=>{this.emit("change:*",{key:d,options:r,store:this,current:o[d],previous:l[d]})})),s)return this;if(!i)for(;this.pending;)this.pending=!1,this.emit("changed",{current:o,previous:l,store:this,options:this.pendingOptions});return this.pending=!1,this.changing=!1,this.pendingOptions=null,this}get(e,r){if(e==null)return this.data;const n=this.data[e];return n??r}getPrevious(e){if(this.previous){const r=this.previous[e];return r??void 0}}set(e,r,n){return e!=null&&(typeof e=="object"?this.mutate(e,r):this.mutate({[e]:r},n)),this}remove(e,r){const i={};let a;if(typeof e=="string")i[e]=void 0,a=r;else if(Array.isArray(e))e.forEach(s=>i[s]=void 0),a=r;else{for(const s in this.data)i[s]=void 0;a=e}return this.mutate(i,Object.assign(Object.assign({},a),{unset:!0})),this}getByPath(e){return jZ(this.data,e,"/")}setByPath(e,r,n={}){const a=Array.isArray(e)?[...e]:e.split("/"),s=Array.isArray(e)?e.join("/"):e,o=a[0],l=a.length;if(n.propertyPath=s,n.propertyValue=r,n.propertyPathArray=a,l===1)this.set(o,r,n);else{const u={};let d=u,h=o;for(let g=1;g<l;g+=1){const m=a[g],U=Number.isFinite(Number(m));d=d[h]=U?[]:{},h=m}z4(u,a,r,"/");const f=Fi(this.data);n.rewrite&&joe(f,e,"/");const p=zi(f,u);this.set(o,p[o],n)}return this}removeByPath(e,r){const n=Array.isArray(e)?e:e.split("/"),i=n[0];if(n.length===1)this.remove(i,r);else{const a=n.slice(1),s=Fi(this.get(i));s&&joe(s,a),this.set(i,s,r)}return this}hasChanged(e){return e==null?Object.keys(this.changed).length>0:e in this.changed}getChanges(e){if(e==null)return this.hasChanged()?Fi(this.changed):null;const r=this.changing?this.previous:this.data,n={};let i;for(const a in e){const s=e[a];m0(r[a],s)||(n[a]=s,i=!0)}return i?Fi(n):null}toJSON(){return Fi(this.data)}clone(){const e=this.constructor;return new e(this.data)}dispose(){this.off(),this.data={},this.previous={},this.changed={},this.pending=!1,this.changing=!1,this.pendingOptions=null,this.trigger("disposed",{store:this})}}_n([Bn()],u8e.prototype,"dispose",null);class Ln extends Xl{static isCell(e){if(e==null)return!1;if(e instanceof Ln)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===Ln.toStringTag)&&typeof n.isNode=="function"&&typeof n.isEdge=="function"&&typeof n.prop=="function"&&typeof n.attr=="function"}static normalizeTools(e){if(typeof e=="string")return{items:[e]};if(Array.isArray(e))return{items:e};if(e.items)return e;if(Reflect.has(e,"local")){const r=e,{local:n}=r,i=Un(r,["local"]);return{local:n,items:[i]}}return{items:[e]}}static getCommonAncestor(...e){const r=e.filter(i=>i!=null).map(i=>i.getAncestors()).sort((i,a)=>i.length-a.length);return r.shift().find(i=>r.every(a=>a.includes(i)))||null}static getCellsBBox(e,r={}){let n=null;for(let i=0,a=e.length;i<a;i+=1){const s=e[i];let o=s.getBBox(r);if(o){if(s.isNode()){const l=s.getAngle();l!=null&&l!==0&&(o=o.bbox(l))}n=n==null?o:n.union(o)}}return n}static deepClone(e){const r=[e,...e.getDescendants({deep:!0})];return Ln.cloneCells(r)}static cloneCells(e){const r=C6e(e),n=r.reduce((i,a)=>(i[a.id]=a.clone(),i),{});return r.forEach(i=>{const a=n[i.id];if(a.isEdge()){const l=a.getSourceCellId(),u=a.getTargetCellId();l&&n[l]&&a.setSource(Object.assign(Object.assign({},a.getSource()),{cell:n[l].id})),u&&n[u]&&a.setTarget(Object.assign(Object.assign({},a.getTarget()),{cell:n[u].id}))}const s=i.getParent();s&&n[s.id]&&a.setParent(n[s.id]);const o=i.getChildren();if(o&&o.length){const l=o.reduce((u,d)=>(n[d.id]&&u.push(n[d.id]),u),[]);l.length>0&&a.setChildren(l)}}),n}static config(e){const{markup:r,propHooks:n,attrHooks:i}=e,a=Un(e,["markup","propHooks","attrHooks"]);r!=null&&(this.markup=r),n&&(this.propHooks=this.propHooks.slice(),Array.isArray(n)?this.propHooks.push(...n):typeof n=="function"?this.propHooks.push(n):Object.values(n).forEach(s=>{typeof s=="function"&&this.propHooks.push(s)})),i&&(this.attrHooks=Object.assign(Object.assign({},this.attrHooks),i)),this.defaults=zi({},this.defaults,a)}static getMarkup(){return this.markup}static getDefaults(e){return e?this.defaults:Fi(this.defaults)}static getAttrHooks(){return this.attrHooks}static applyPropHooks(e,r){return this.propHooks.reduce((n,i)=>i?vr(i,e,n):n,r)}static generateId(e={}){return WZ()}get[Symbol.toStringTag](){return Ln.toStringTag}constructor(e={}){super();const n=this.constructor.getDefaults(!0),i=zi({},this.preprocess(n),this.preprocess(e));this.id=i.id||Ln.generateId(e),this.store=new u8e(i),this.animationManager=new Dht,this.setup(),this.init(),this.postprocess(e)}init(){}get model(){return this._model}set model(e){this._model!==e&&(this._model=e)}preprocess(e,r){const n=e.id,a=this.constructor.applyPropHooks(this,e);return n==null&&r!==!0&&(a.id=Ln.generateId(e)),a}postprocess(e){}setup(){this.store.on("change:*",e=>{const{key:r,current:n,previous:i,options:a}=e;this.notify("change:*",{key:r,options:a,current:n,previous:i,cell:this}),this.notify(`change:${r}`,{options:a,current:n,previous:i,cell:this});const s=r;(s==="source"||s==="target")&&this.notify("change:terminal",{type:s,current:n,previous:i,options:a,cell:this})}),this.store.on("changed",({options:e})=>this.notify("changed",{options:e,cell:this})),this.on("added",({cell:e})=>{const r=this.store.get("animation");Iw(r)||r.forEach(n=>{e.animate(...n)})})}notify(e,r){this.trigger(e,r);const n=this.model;return n&&(n.notify(`cell:${e}`,r),this.isNode()?n.notify(`node:${e}`,Object.assign(Object.assign({},r),{node:this})):this.isEdge()&&n.notify(`edge:${e}`,Object.assign(Object.assign({},r),{edge:this}))),this}isNode(){return!1}isEdge(){return!1}isSameStore(e){return this.store===e.store}get view(){return this.store.get("view")}get shape(){return this.store.get("shape","")}getProp(e,r){return e==null?this.store.get():this.store.get(e,r)}setProp(e,r,n){if(typeof e=="string")this.store.set(e,r,n);else{const i=this.preprocess(e,!0);this.store.set(zi({},this.getProp(),i),r),this.postprocess(e)}return this}removeProp(e,r){return typeof e=="string"||Array.isArray(e)?this.store.removeByPath(e,r):this.store.remove(r),this}hasChanged(e){return e==null?this.store.hasChanged():this.store.hasChanged(e)}getPropByPath(e){return this.store.getByPath(e)}setPropByPath(e,r,n={}){return this.model&&(e==="children"?this._children=r?r.map(i=>this.model.getCell(i)).filter(i=>i!=null):null:e==="parent"&&(this._parent=r?this.model.getCell(r):null)),this.store.setByPath(e,r,n),this}removePropByPath(e,r={}){const n=Array.isArray(e)?e:e.split("/");return n[0]==="attrs"&&(r.dirty=!0),this.store.removeByPath(n,r),this}prop(e,r,n){return e==null?this.getProp():typeof e=="string"||Array.isArray(e)?arguments.length===1?this.getPropByPath(e):r==null?this.removePropByPath(e,n||{}):this.setPropByPath(e,r,n||{}):this.setProp(e,r||{})}previous(e){return this.store.getPrevious(e)}get zIndex(){return this.getZIndex()}set zIndex(e){e==null?this.removeZIndex():this.setZIndex(e)}getZIndex(){return this.store.get("zIndex")}setZIndex(e,r={}){return this.store.set("zIndex",e,r),this}removeZIndex(e={}){return this.store.remove("zIndex",e),this}toFront(e={}){const r=this.model;if(r){let n=r.getMaxZIndex(),i;e.deep?(i=this.getDescendants({deep:!0,breadthFirst:!0}),i.unshift(this)):i=[this],n=n-i.length+1;const a=r.total();let s=r.indexOf(this)!==a-i.length;s||(s=i.some((o,l)=>o.getZIndex()!==n+l)),s&&this.batchUpdate("to-front",()=>{n+=i.length,i.forEach((o,l)=>{o.setZIndex(n+l,e)})})}return this}toBack(e={}){const r=this.model;if(r){let n=r.getMinZIndex(),i;e.deep?(i=this.getDescendants({deep:!0,breadthFirst:!0}),i.unshift(this)):i=[this];let a=r.indexOf(this)!==0;a||(a=i.some((s,o)=>s.getZIndex()!==n+o)),a&&this.batchUpdate("to-back",()=>{n-=i.length,i.forEach((s,o)=>{s.setZIndex(n+o,e)})})}return this}get markup(){return this.getMarkup()}set markup(e){e==null?this.removeMarkup():this.setMarkup(e)}getMarkup(){let e=this.store.get("markup");return e==null&&(e=this.constructor.getMarkup()),e}setMarkup(e,r={}){return this.store.set("markup",e,r),this}removeMarkup(e={}){return this.store.remove("markup",e),this}get attrs(){return this.getAttrs()}set attrs(e){e==null?this.removeAttrs():this.setAttrs(e)}getAttrs(){const e=this.store.get("attrs");return e?Object.assign({},e):{}}setAttrs(e,r={}){if(e==null)this.removeAttrs(r);else{const n=i=>this.store.set("attrs",i,r);if(r.overwrite===!0)n(e);else{const i=this.getAttrs();r.deep===!1?n(Object.assign(Object.assign({},i),e)):n(zi({},i,e))}}return this}replaceAttrs(e,r={}){return this.setAttrs(e,Object.assign(Object.assign({},r),{overwrite:!0}))}updateAttrs(e,r={}){return this.setAttrs(e,Object.assign(Object.assign({},r),{deep:!1}))}removeAttrs(e={}){return this.store.remove("attrs",e),this}getAttrDefinition(e){if(!e)return null;const n=this.constructor.getAttrHooks()||{};let i=n[e]||$w.get(e);if(!i){const a=PC(e);i=n[a]||$w.get(a)}return i||null}getAttrByPath(e){return e==null||e===""?this.getAttrs():this.getPropByPath(this.prefixAttrPath(e))}setAttrByPath(e,r,n={}){return this.setPropByPath(this.prefixAttrPath(e),r,n),this}removeAttrByPath(e,r={}){return this.removePropByPath(this.prefixAttrPath(e),r),this}prefixAttrPath(e){return Array.isArray(e)?["attrs"].concat(e):`attrs/${e}`}attr(e,r,n){return e==null?this.getAttrByPath():typeof e=="string"||Array.isArray(e)?arguments.length===1?this.getAttrByPath(e):r==null?this.removeAttrByPath(e,n||{}):this.setAttrByPath(e,r,n||{}):this.setAttrs(e,r||{})}get visible(){return this.isVisible()}set visible(e){this.setVisible(e)}setVisible(e,r={}){return this.store.set("visible",e,r),this}isVisible(){return this.store.get("visible")!==!1}show(e={}){return this.isVisible()||this.setVisible(!0,e),this}hide(e={}){return this.isVisible()&&this.setVisible(!1,e),this}toggleVisible(e,r={}){const n=typeof e=="boolean"?e:!this.isVisible(),i=typeof e=="boolean"?r:e;return n?this.show(i):this.hide(i),this}get data(){return this.getData()}set data(e){this.setData(e)}getData(){return this.store.get("data")}setData(e,r={}){if(e==null)this.removeData(r);else{const n=i=>this.store.set("data",i,r);if(r.overwrite===!0)n(e);else{const i=this.getData();r.deep===!1?n(typeof e=="object"?Object.assign(Object.assign({},i),e):e):n(zi({},i,e))}}return this}replaceData(e,r={}){return this.setData(e,Object.assign(Object.assign({},r),{overwrite:!0}))}updateData(e,r={}){return this.setData(e,Object.assign(Object.assign({},r),{deep:!1}))}removeData(e={}){return this.store.remove("data",e),this}get parent(){return this.getParent()}get children(){return this.getChildren()}getParentId(){return this.store.get("parent")}getParent(){const e=this.getParentId();if(e&&this.model){const r=this.model.getCell(e);return this._parent=r,r}return null}getChildren(){const e=this.store.get("children");if(e&&e.length&&this.model){const r=e.map(n=>{var i;return(i=this.model)===null||i===void 0?void 0:i.getCell(n)}).filter(n=>n!=null);return this._children=r,[...r]}return null}hasParent(){return this.parent!=null}isParentOf(e){return e!=null&&e.getParent()===this}isChildOf(e){return e!=null&&this.getParent()===e}eachChild(e,r){return this.children&&this.children.forEach(e,r),this}filterChild(e,r){return this.children?this.children.filter(e,r):[]}getChildCount(){return this.children==null?0:this.children.length}getChildIndex(e){return this.children==null?-1:this.children.indexOf(e)}getChildAt(e){return this.children!=null&&e>=0?this.children[e]:null}getAncestors(e={}){const r=[];let n=this.getParent();for(;n;)r.push(n),n=e.deep!==!1?n.getParent():null;return r}getDescendants(e={}){if(e.deep!==!1){if(e.breadthFirst){const r=[],n=this.getChildren()||[];for(;n.length>0;){const i=n.shift(),a=i.getChildren();r.push(i),a&&n.push(...a)}return r}{const r=this.getChildren()||[];return r.forEach(n=>{r.push(...n.getDescendants(e))}),r}}return this.getChildren()||[]}isDescendantOf(e,r={}){if(e==null)return!1;if(r.deep!==!1){let n=this.getParent();for(;n;){if(n===e)return!0;n=n.getParent()}return!1}return this.isChildOf(e)}isAncestorOf(e,r={}){return e==null?!1:e.isDescendantOf(this,r)}contains(e){return this.isAncestorOf(e)}getCommonAncestor(...e){return Ln.getCommonAncestor(this,...e)}setParent(e,r={}){return this._parent=e,e?this.store.set("parent",e.id,r):this.store.remove("parent",r),this}setChildren(e,r={}){return this._children=e,e!=null?this.store.set("children",e.map(n=>n.id),r):this.store.remove("children",r),this}unembed(e,r={}){const n=this.children;if(n!=null&&e!=null){const i=this.getChildIndex(e);i!==-1&&(n.splice(i,1),e.setParent(null,r),this.setChildren(n,r))}return this}embed(e,r={}){return e.addTo(this,r),this}addTo(e,r={}){return Ln.isCell(e)?e.addChild(this,r):e.addCell(this,r),this}insertTo(e,r,n={}){return e.insertChild(this,r,n),this}addChild(e,r={}){return this.insertChild(e,void 0,r)}insertChild(e,r,n={}){if(e!=null&&e!==this){const i=e.getParent(),a=this!==i;let s=r;if(s==null&&(s=this.getChildCount(),a||(s-=1)),i){const l=i.getChildren();if(l){const u=l.indexOf(e);u>=0&&(e.setParent(null,n),l.splice(u,1),i.setChildren(l,n))}}let o=this.children;if(o==null?(o=[],o.push(e)):o.splice(s,0,e),e.setParent(this,n),this.setChildren(o,n),a&&this.model){const l=this.model.getIncomingEdges(this),u=this.model.getOutgoingEdges(this);l&&l.forEach(d=>{d.updateParent(n)}),u&&u.forEach(d=>{d.updateParent(n)})}this.model&&this.model.addCell(e,n)}return this}removeFromParent(e={}){const r=this.getParent();if(r!=null){const n=r.getChildIndex(this);r.removeChildAt(n,e)}return this}removeChild(e,r={}){const n=this.getChildIndex(e);return this.removeChildAt(n,r)}removeChildAt(e,r={}){const n=this.getChildAt(e);return this.children!=null&&n!=null&&(this.unembed(n,r),n.remove(r)),n}remove(e={}){return this.batchUpdate("remove",()=>{const r=this.getParentId(),n=r&&this.model?this.model.getCell(r):this._parent;if(n){const i=n.store.get("children");if(i&&i.length){const a=i.filter(s=>s!==this.id);a.length!==i.length&&(a.length?n.store.set("children",a,e):n.store.remove("children",e))}}this.setParent(null,e),e.deep!==!1&&this.eachChild(i=>i.remove(e)),this.model&&this.model.removeCell(this,e),this.dispose()}),this}animate(e,r){var n;const i=r0(r)?{duration:r}:Object.assign({},r),a=new Pht(this,e,i),s=new Oht(a,i.timeline);return this.animationManager.addAnimation(s),s.id=(n=i.id)!==null&&n!==void 0?n:"",s.play(),s}getAnimations(){return this.animationManager.getAnimations()}translate(e,r,n){return this}scale(e,r,n,i){return this}addTools(e,r,n){const i=Array.isArray(e)?e:[e],a=typeof r=="string"?r:null,s=typeof r=="object"?r:typeof n=="object"?n:{};if(s.reset)return this.setTools({name:a,items:i,local:s.local},s);let o=Fi(this.getTools());if(o==null||a==null||o.name===a)return o==null&&(o={}),o.items||(o.items=[]),o.name=a,o.items=[...o.items,...i],this.setTools(Object.assign({},o),s)}setTools(e,r={}){return e==null?this.removeTools():this.store.set("tools",Ln.normalizeTools(e),r),this}getTools(){return this.store.get("tools")}removeTools(e={}){return this.store.remove("tools",e),this}hasTools(e){const r=this.getTools();return r==null?!1:e==null?!0:r.name===e}hasTool(e){const r=this.getTools();return r==null?!1:r.items.some(n=>typeof n=="string"?n===e:n.name===e)}removeTool(e,r={}){const n=Fi(this.getTools());if(n){let i=!1;const a=n.items.slice(),s=o=>{a.splice(o,1),i=!0};if(typeof e=="number")s(e);else for(let o=a.length-1;o>=0;o-=1){const l=a[o];(typeof l=="string"?l===e:l.name===e)&&s(o)}i&&(n.items=a,this.setTools(n,r))}return this}getBBox(e){return new Bt}getConnectionPoint(e,r){return new Je}toJSON(e={}){const r=Object.assign({},this.store.get()),n=Object.prototype.toString,i=this.isNode()?"node":this.isEdge()?"edge":"cell";if(!r.shape){const g=this.constructor;throw new Error(`Unable to serialize ${i} missing "shape" prop, check the ${i} "${g.name||n.call(g)}"`)}const a=this.constructor,s=e.diff===!0,o=r.attrs||{},l=a.getDefaults(!0),u=s?this.preprocess(l,!0):l,d=u.attrs||{},h={};Object.entries(r).forEach(([g,m])=>{if(m!=null&&!Array.isArray(m)&&typeof m=="object"&&!Xd(m))throw new Error(`Can only serialize ${i} with plain-object props, but got a "${toString.call(m)}" type of key "${g}" on ${i} "${this.id}"`);if(g!=="attrs"&&g!=="shape"&&s){const U=u[g];m0(m,U)&&delete r[g]}}),Object.keys(o).forEach(g=>{const m=o[g],U=d[g];Object.keys(m).forEach(y=>{const b=m[y],v=U?U[y]:null;b!=null&&typeof b=="object"&&!Array.isArray(b)?Object.keys(b).forEach(w=>{const T=b[w];if(U==null||v==null||!Va(v)||!m0(v[w],T)){h[g]==null&&(h[g]={}),h[g][y]==null&&(h[g][y]={});const S=h[g][y];S[w]=T}}):(U==null||!m0(v,b))&&(h[g]==null&&(h[g]={}),h[g][y]=b)})});const f=Object.assign(Object.assign({},r),{attrs:Iw(h)?void 0:h});f.attrs==null&&delete f.attrs;const p=f;return p.angle===0&&delete p.angle,Fi(p)}clone(e={}){if(!e.deep){const n=Object.assign({},this.store.get());e.keepId||delete n.id,delete n.parent,delete n.children;const i=this.constructor;return new i(n)}return Ln.deepClone(this)[this.id]}findView(e){return e.findViewByCell(this)}startBatch(e,r={},n=this.model){return this.notify("batch:start",{name:e,data:r,cell:this}),n&&n.startBatch(e,Object.assign(Object.assign({},r),{cell:this})),this}stopBatch(e,r={},n=this.model){return n&&n.stopBatch(e,Object.assign(Object.assign({},r),{cell:this})),this.notify("batch:stop",{name:e,data:r,cell:this}),this}batchUpdate(e,r,n){const i=this.model;this.startBatch(e,n,i);const a=r();return this.stopBatch(e,n,i),a}dispose(){this.removeFromParent(),this.animationManager.cancelAnimations(),this.store.dispose()}}Ln.toStringTag="X6.cell";Ln.defaults={};Ln.attrHooks={};Ln.propHooks=[];_n([Bn()],Ln.prototype,"dispose",null);Ln.config({propHooks(t){var{tools:e}=t,r=Un(t,["tools"]);return e&&(r.tools=Ln.normalizeTools(e)),r}});class Bht{constructor(e){this.ports=[],this.groups={},this.init(Fi(e))}getPorts(){return this.ports}getGroup(e){return e!=null?this.groups[e]:null}getPortsByGroup(e){return this.ports.filter(r=>r.group===e||r.group==null&&e==null)}getPortsLayoutByGroup(e,r){const n=this.getPortsByGroup(e),i=e?this.getGroup(e):null,a=i?i.position:null,s=a?a.name:null;let o;if(s!=null){const h=Yw.get(s);if(h==null)return Yw.onNotFound(s);o=h}else o=H7e.left;const l=n.map(h=>h&&h.position&&h.position.args||{}),u=a&&a.args||{};return o(l,r,u).map((h,f)=>{const p=n[f];return{portLayout:h,portId:p.id,portSize:p.size,portAttrs:p.attrs,labelSize:p.label.size,labelLayout:this.getPortLabelLayout(p,Je.create(h.position),r)}})}init(e){const{groups:r,items:n}=e;r!=null&&Object.keys(r).forEach(i=>{this.groups[i]=this.parseGroup(r[i])}),Array.isArray(n)&&n.forEach(i=>{this.ports.push(this.parsePort(i))})}parseGroup(e){return Object.assign(Object.assign({},e),{label:this.getLabel(e,!0),position:this.getPortPosition(e.position,!0)})}parsePort(e){const r=Object.assign({},e),n=this.getGroup(e.group)||{};return r.markup=r.markup||n.markup,r.attrs=zi({},n.attrs,r.attrs),r.position=this.createPosition(n,r),r.label=zi({},n.label,this.getLabel(r)),r.zIndex=this.getZIndex(n,r),r.size=Object.assign(Object.assign({},n.size),r.size),r}getZIndex(e,r){return typeof r.zIndex=="number"?r.zIndex:typeof e.zIndex=="number"||e.zIndex==="auto"?e.zIndex:"auto"}createPosition(e,r){return zi({name:"left",args:{}},e.position,{args:r.args})}getPortPosition(e,r=!1){if(e==null){if(r)return{name:"left",args:{}}}else{if(typeof e=="string")return{name:e,args:{}};if(Array.isArray(e))return{name:"absolute",args:{x:e[0],y:e[1]}};if(typeof e=="object")return e}return{args:{}}}getPortLabelPosition(e,r=!1){if(e==null){if(r)return{name:"left",args:{}}}else{if(typeof e=="string")return{name:e,args:{}};if(typeof e=="object")return e}return{args:{}}}getLabel(e,r=!1){const n=e.label||{};return n.position=this.getPortLabelPosition(n.position,r),n}getPortLabelLayout(e,r,n){const i=e.label.position.name||"left",a=e.label.position.args||{},s=WO.get(i)||F7e.left;return s?s(r,n,a):null}}let ZV,JV;function d8e(t,e){return e?ZV!=null&&ZV.exist(t):JV!=null&&JV.exist(t)}function $ht(t){ZV=t}function Fht(t){JV=t}const h8e="X6.node";let Cle=0;function zht(t){return t?HZ(t):(Cle+=1,`CustomNode${Cle}`)}let Zs=class jy extends Ln{static isNode(e){if(e==null)return!1;if(e instanceof jy)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===h8e)&&typeof n.isNode=="function"&&typeof n.isEdge=="function"&&typeof n.prop=="function"&&typeof n.attr=="function"&&typeof n.size=="function"&&typeof n.position=="function"}static define(e){const{constructorName:r,overwrite:n}=e,i=Un(e,["constructorName","overwrite"]),a=qZ(zht(r||i.shape),this);return a.config(i),i.shape&&jy.registry.register(i.shape,a,n),a}static create(e){const r=e.shape||"rect",n=jy.registry.get(r);return n?new n(e):jy.registry.onNotFound(r)}get[Symbol.toStringTag](){return jy.toStringTag}constructor(e={}){super(e),this.initPorts()}preprocess(e,r){const{x:n,y:i,width:a,height:s}=e,o=Un(e,["x","y","width","height"]);if(n!=null||i!=null){const l=o.position;o.position=Object.assign(Object.assign({},l),{x:n??(l?l.x:0),y:i??(l?l.y:0)})}if(a!=null||s!=null){const l=o.size;o.size=Object.assign(Object.assign({},l),{width:a??(l?l.width:0),height:s??(l?l.height:0)})}return super.preprocess(o,r)}isNode(){return!0}size(e,r,n){return e===void 0?this.getSize():typeof e=="number"?this.setSize(e,r,n):this.setSize(e,r)}getSize(){const e=this.store.get("size");return e?Object.assign({},e):{width:1,height:1}}setSize(e,r,n){return typeof e=="object"?this.resize(e.width,e.height,r):this.resize(e,r,n),this}resize(e,r,n={}){this.startBatch("resize",n);const i=n.direction;if(i){const a=this.getSize();switch(i){case"left":case"right":r=a.height;break;case"top":case"bottom":e=a.width;break}let o={right:0,"top-right":0,top:1,"top-left":1,left:2,"bottom-left":2,bottom:3,"bottom-right":3}[i];const l=El(this.getAngle()||0);n.absolute&&(o+=Math.floor((l+45)/90),o%=4);const u=this.getBBox();let d;o===0?d=u.getBottomLeft():o===1?d=u.getCorner():o===2?d=u.getTopRight():d=u.getOrigin();const h=d.clone().rotate(-l,u.getCenter()),f=Math.sqrt(e*e+r*r)/2;let p=o*Math.PI/2;p+=Math.atan(o%2===0?r/e:e/r),p-=jo(l);const m=Je.fromPolar(f,p,h).clone().translate(e/-2,r/-2);this.store.set("size",{width:e,height:r},n),this.setPosition(m.x,m.y,n)}else this.store.set("size",{width:e,height:r},n);return this.stopBatch("resize",n),this}scale(e,r,n,i={}){const a=this.getBBox().scale(e,r,n??void 0);return this.startBatch("scale",i),this.setPosition(a.x,a.y,i),this.resize(a.width,a.height,i),this.stopBatch("scale"),this}position(e,r,n){return typeof e=="number"?this.setPosition(e,r,n):this.getPosition(e)}getPosition(e={}){if(e.relative){const n=this.getParent();if(n!=null&&n.isNode()){const i=this.getPosition(),a=n.getPosition();return{x:i.x-a.x,y:i.y-a.y}}}const r=this.store.get("position");return r?Object.assign({},r):{x:0,y:0}}setPosition(e,r,n={}){let i,a,s;if(typeof e=="object"?(i=e.x,a=e.y,s=r||{}):(i=e,a=r,s=n||{}),s.relative){const o=this.getParent();if(o!=null&&o.isNode()){const l=o.getPosition();i+=l.x,a+=l.y}}if(s.deep){const o=this.getPosition();this.translate(i-o.x,a-o.y,s)}else this.store.set("position",{x:i,y:a},s);return this}translate(e=0,r=0,n={}){if(e===0&&r===0)return this;n.translateBy=n.translateBy||this.id;const i=this.getPosition();if(n.restrict!=null&&n.translateBy===this.id){const s=this.getBBox({deep:!0}),o=n.restrict,l=i.x-s.x,u=i.y-s.y,d=Math.max(o.x+l,Math.min(o.x+o.width+l-s.width,i.x+e)),h=Math.max(o.y+u,Math.min(o.y+o.height+u-s.height,i.y+r));e=d-i.x,r=h-i.y}const a={x:i.x+e,y:i.y+r};if(n.tx=e,n.ty=r,n.transition){let s=typeof n.transition!="object"?{}:Object.assign({},n.transition);s=Object.assign({duration:100,fill:"forwards"},s),this.animate({"position/x":a.x,"position/y":a.y},s),this.eachChild(o=>{var l;((l=n.exclude)===null||l===void 0?void 0:l.includes(o))||o.translate(e,r,n)})}else this.startBatch("translate",n),this.store.set("position",a,n),this.eachChild(s=>{var o;((o=n.exclude)===null||o===void 0?void 0:o.includes(s))||s.translate(e,r,n)}),this.stopBatch("translate",n);return this}angle(e,r){return e==null?this.getAngle():this.rotate(e,r)}getAngle(){return this.store.get("angle",0)}rotate(e,r={}){const n=this.getAngle();if(r.center){const i=this.getSize(),a=this.getPosition(),s=this.getBBox().getCenter();s.rotate(n-e,r.center);const o=s.x-i.width/2-a.x,l=s.y-i.height/2-a.y;this.startBatch("rotate",{angle:e,options:r}),this.setPosition(a.x+o,a.y+l,r),this.rotate(e,Object.assign(Object.assign({},r),{center:null})),this.stopBatch("rotate")}else this.store.set("angle",r.absolute?e:(n+e)%360,r);return this}getBBox(e={}){if(e.deep){const r=this.getDescendants({deep:!0,breadthFirst:!0});return r.push(this),Ln.getCellsBBox(r)}return Bt.fromPositionAndSize(this.getPosition(),this.getSize())}getConnectionPoint(e,r){const n=this.getBBox(),i=n.getCenter(),a=e.getTerminal(r);if(a==null)return i;const s=a.port;if(!s||!this.hasPort(s))return i;const o=this.getPort(s);if(!o||!o.group)return i;const u=this.getPortsPosition(o.group)[s].position,d=Je.create(u).translate(n.getOrigin()),h=this.getAngle();return h&&d.rotate(-h,i),d}fit(e={}){const n=(this.getChildren()||[]).filter(u=>u.isNode());if(n.length===0)return this;this.startBatch("fit-embeds",e),e.deep&&n.forEach(u=>{u.fit(e)});let{x:i,y:a,width:s,height:o}=Ln.getCellsBBox(n);const l=Sd(e.padding);return i-=l.left,a-=l.top,s+=l.left+l.right,o+=l.bottom+l.top,this.store.set({position:{x:i,y:a},size:{width:s,height:o}},e),this.stopBatch("fit-embeds"),this}get portContainerMarkup(){return this.getPortContainerMarkup()}set portContainerMarkup(e){this.setPortContainerMarkup(e)}getDefaultPortContainerMarkup(){return this.store.get("defaultPortContainerMarkup")||Al.getPortContainerMarkup()}getPortContainerMarkup(){return this.store.get("portContainerMarkup")||this.getDefaultPortContainerMarkup()}setPortContainerMarkup(e,r={}){return this.store.set("portContainerMarkup",Al.clone(e),r),this}get portMarkup(){return this.getPortMarkup()}set portMarkup(e){this.setPortMarkup(e)}getDefaultPortMarkup(){return this.store.get("defaultPortMarkup")||Al.getPortMarkup()}getPortMarkup(){return this.store.get("portMarkup")||this.getDefaultPortMarkup()}setPortMarkup(e,r={}){return this.store.set("portMarkup",Al.clone(e),r),this}get portLabelMarkup(){return this.getPortLabelMarkup()}set portLabelMarkup(e){this.setPortLabelMarkup(e)}getDefaultPortLabelMarkup(){return this.store.get("defaultPortLabelMarkup")||Al.getPortLabelMarkup()}getPortLabelMarkup(){return this.store.get("portLabelMarkup")||this.getDefaultPortLabelMarkup()}setPortLabelMarkup(e,r={}){return this.store.set("portLabelMarkup",Al.clone(e),r),this}get ports(){const e=this.store.get("ports",{items:[]});return e.items==null&&(e.items=[]),e}getPorts(){return Fi(this.ports.items)}getPortsByGroup(e){return this.getPorts().filter(r=>r.group===e)}getPort(e){return Fi(this.ports.items.find(r=>r.id&&r.id===e))}getPortAt(e){return this.ports.items[e]||null}hasPorts(){return this.ports.items.length>0}hasPort(e){return this.getPortIndex(e)!==-1}getPortIndex(e){const r=typeof e=="string"?e:e.id;return r!=null?this.ports.items.findIndex(n=>n.id===r):-1}getPortsPosition(e){const r=this.getSize();return this.port.getPortsLayoutByGroup(e,new Bt(0,0,r.width,r.height)).reduce((i,a)=>{const s=a.portLayout;return i[a.portId]={position:Object.assign({},s.position),angle:s.angle||0},i},{})}getPortProp(e,r){return this.getPropByPath(this.prefixPortPath(e,r))}setPortProp(e,r,n,i){if(typeof r=="string"||Array.isArray(r)){const o=this.prefixPortPath(e,r),l=n;return this.setPropByPath(o,l,i)}const a=this.prefixPortPath(e),s=r;return this.setPropByPath(a,s,n)}removePortProp(e,r,n){return typeof r=="string"||Array.isArray(r)?this.removePropByPath(this.prefixPortPath(e,r),n):this.removePropByPath(this.prefixPortPath(e),r)}portProp(e,r,n,i){return r==null?this.getPortProp(e):typeof r=="string"||Array.isArray(r)?arguments.length===2?this.getPortProp(e,r):n==null?this.removePortProp(e,r,i):this.setPortProp(e,r,n,i):this.setPortProp(e,r,n)}prefixPortPath(e,r){const n=this.getPortIndex(e);if(n===-1)throw new Error(`Unable to find port with id: "${e}"`);return r==null||r===""?["ports","items",`${n}`]:Array.isArray(r)?["ports","items",`${n}`,...r]:`ports/items/${n}/${r}`}addPort(e,r){const n=[...this.ports.items];return n.push(e),this.setPropByPath("ports/items",n,r),this}addPorts(e,r){return this.setPropByPath("ports/items",[...this.ports.items,...e],r),this}insertPort(e,r,n){const i=[...this.ports.items];return i.splice(e,0,r),this.setPropByPath("ports/items",i,n),this}removePort(e,r={}){return this.removePortAt(this.getPortIndex(e),r)}removePortAt(e,r={}){if(e>=0){const n=[...this.ports.items];n.splice(e,1),r.rewrite=!0,this.setPropByPath("ports/items",n,r)}return this}removePorts(e,r){let n;if(Array.isArray(e)){if(n=r||{},e.length){n.rewrite=!0;const a=[...this.ports.items].filter(s=>!e.some(o=>{const l=typeof o=="string"?o:o.id;return s.id===l}));this.setPropByPath("ports/items",a,n)}}else n=e||{},n.rewrite=!0,this.setPropByPath("ports/items",[],n);return this}getParsedPorts(){return this.port.getPorts()}getParsedGroups(){return this.port.groups}getPortsLayoutByGroup(e,r){return this.port.getPortsLayoutByGroup(e,r)}initPorts(){this.updatePortData(),this.on("change:ports",()=>{this.processRemovedPort(),this.updatePortData()})}processRemovedPort(){const e=this.ports,r={};e.items.forEach(s=>{s.id&&(r[s.id]=!0)});const n={};(this.store.getPrevious("ports")||{items:[]}).items.forEach(s=>{s.id&&!r[s.id]&&(n[s.id]=!0)});const a=this.model;a&&!Iw(n)&&(a.getConnectedEdges(this,{incoming:!0}).forEach(l=>{const u=l.getTargetPortId();u&&n[u]&&l.remove()}),a.getConnectedEdges(this,{outgoing:!0}).forEach(l=>{const u=l.getSourcePortId();u&&n[u]&&l.remove()}))}validatePorts(){const e={},r=[];return this.ports.items.forEach(n=>{typeof n!="object"&&r.push(`Invalid port ${n}.`),n.id==null&&(n.id=this.generatePortId()),e[n.id]&&r.push("Duplicitied port id."),e[n.id]=!0}),r}generatePortId(){return WZ()}updatePortData(){const e=this.validatePorts();if(e.length>0)throw this.store.set("ports",this.store.getPrevious("ports")),new Error(e.join(" "));const r=this.port?this.port.getPorts():null;this.port=new Bht(this.ports);const n=this.port.getPorts(),i=r?n.filter(s=>r.find(o=>o.id===s.id)?null:s):[...n],a=r?r.filter(s=>n.find(o=>o.id===s.id)?null:s):[];i.length>0&&this.notify("ports:added",{added:i,cell:this,node:this}),a.length>0&&this.notify("ports:removed",{removed:a,cell:this,node:this})}};Zs.toStringTag=h8e;Zs.registry=ts.create({type:"node",process(t,e){if(d8e(t,!0))throw new Error(`Node with name '${t}' was registered by anthor Edge`);if(typeof e=="function")return e.config({shape:t}),e;let r=Zs;const{inherit:n}=e,i=Un(e,["inherit"]);if(n)if(typeof n=="string"){const s=this.get(n);s==null?this.onNotFound(n,"inherited"):r=s}else r=n;i.constructorName==null&&(i.constructorName=t);const a=r.define.call(r,i);return a.config({shape:t}),a}});Zs.defaults={angle:0,position:{x:0,y:0},size:{width:1,height:1}};Zs.config({markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"label"}],propHooks(t){var{ports:e}=t,r=Un(t,["ports"]);return e&&(r.ports=Array.isArray(e)?{items:e}:e),r}});Fht(Zs.registry);const f8e="X6.edge",p8e="basic.edge";let Sle=0;function Hht(t){return t?HZ(t):(Sle+=1,`CustomEdge${Sle}`)}let Is=class Yy extends Ln{static parseStringLabel(e){return{attrs:{label:{text:e}}}}static isEdge(e){if(e==null)return!1;if(e instanceof Yy)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===f8e)&&typeof n.isNode=="function"&&typeof n.isEdge=="function"&&typeof n.prop=="function"&&typeof n.attr=="function"&&typeof n.disconnect=="function"&&typeof n.getSource=="function"&&typeof n.getTarget=="function"}static equalTerminals(e,r){const n=e,i=r;return n.cell===i.cell?n.port===i.port||n.port==null&&i.port==null:!1}static define(e){const{constructorName:r,overwrite:n}=e,i=Un(e,["constructorName","overwrite"]),a=qZ(Hht(r||i.shape),this);return a.config(i),i.shape&&Yy.registry.register(i.shape,a,n),a}static create(e){const r=e.shape||"edge",n=Yy.registry.get(r);return n?new n(e):Yy.registry.onNotFound(r)}get[Symbol.toStringTag](){return Yy.toStringTag}constructor(e={}){super(e)}preprocess(e,r){const{source:n,sourceCell:i,sourcePort:a,sourcePoint:s,target:o,targetCell:l,targetPort:u,targetPoint:d}=e,f=Un(e,["source","sourceCell","sourcePort","sourcePoint","target","targetCell","targetPort","targetPoint"]),p=g=>typeof g=="string"||typeof g=="number";if(n!=null)if(Ln.isCell(n))f.source={cell:n.id};else if(p(n))f.source={cell:n};else if(Je.isPoint(n))f.source=n.toJSON();else if(Array.isArray(n))f.source={x:n[0],y:n[1]};else{const g=n.cell;Ln.isCell(g)?f.source=Object.assign(Object.assign({},n),{cell:g.id}):f.source=n}if(i!=null||a!=null){let g=f.source;if(i!=null){const m=p(i)?i:i.id;g?g.cell=m:g=f.source={cell:m}}a!=null&&g&&(g.port=a)}else s!=null&&(f.source=Je.create(s).toJSON());if(o!=null)if(Ln.isCell(o))f.target={cell:o.id};else if(p(o))f.target={cell:o};else if(Je.isPoint(o))f.target=o.toJSON();else if(Array.isArray(o))f.target={x:o[0],y:o[1]};else{const g=o.cell;Ln.isCell(g)?f.target=Object.assign(Object.assign({},o),{cell:g.id}):f.target=o}if(l!=null||u!=null){let g=f.target;if(l!=null){const m=p(l)?l:l.id;g?g.cell=m:g=f.target={cell:m}}u!=null&&g&&(g.port=u)}else d!=null&&(f.target=Je.create(d).toJSON());return super.preprocess(f,r)}setup(){super.setup(),this.on("change:labels",e=>this.onLabelsChanged(e)),this.on("change:vertices",e=>this.onVertexsChanged(e))}isEdge(){return!0}disconnect(e={}){return this.store.set({source:{x:0,y:0},target:{x:0,y:0}},e),this}get source(){return this.getSource()}set source(e){this.setSource(e)}getSource(){return this.getTerminal("source")}getSourceCellId(){return this.source.cell}getSourcePortId(){return this.source.port}setSource(e,r,n={}){return this.setTerminal("source",e,r,n)}get target(){return this.getTarget()}set target(e){this.setTarget(e)}getTarget(){return this.getTerminal("target")}getTargetCellId(){return this.target.cell}getTargetPortId(){return this.target.port}setTarget(e,r,n={}){return this.setTerminal("target",e,r,n)}getTerminal(e){return Object.assign({},this.store.get(e))}setTerminal(e,r,n,i={}){if(Ln.isCell(r))return this.store.set(e,zi({},n,{cell:r.id}),i),this;const a=r;return Je.isPoint(r)||a.x!=null&&a.y!=null?(this.store.set(e,zi({},n,{x:a.x,y:a.y}),i),this):(this.store.set(e,Fi(r),i),this)}getSourcePoint(){return this.getTerminalPoint("source")}getTargetPoint(){return this.getTerminalPoint("target")}getTerminalPoint(e){const r=this[e];if(Je.isPointLike(r))return Je.create(r);const n=this.getTerminalCell(e);return n?n.getConnectionPoint(this,e):new Je}getSourceCell(){return this.getTerminalCell("source")}getTargetCell(){return this.getTerminalCell("target")}getTerminalCell(e){if(this.model){const r=e==="source"?this.getSourceCellId():this.getTargetCellId();if(r)return this.model.getCell(r)}return null}getSourceNode(){return this.getTerminalNode("source")}getTargetNode(){return this.getTerminalNode("target")}getTerminalNode(e){let r=this;const n={};for(;r&&r.isEdge();){if(n[r.id])return null;n[r.id]=!0,r=r.getTerminalCell(e)}return r&&r.isNode()?r:null}get router(){return this.getRouter()}set router(e){e==null?this.removeRouter():this.setRouter(e)}getRouter(){return this.store.get("router")}setRouter(e,r,n){return typeof e=="object"?this.store.set("router",e,r):this.store.set("router",{name:e,args:r},n),this}removeRouter(e={}){return this.store.remove("router",e),this}get connector(){return this.getConnector()}set connector(e){e==null?this.removeConnector():this.setConnector(e)}getConnector(){return this.store.get("connector")}setConnector(e,r,n){return typeof e=="object"?this.store.set("connector",e,r):this.store.set("connector",{name:e,args:r},n),this}removeConnector(e={}){return this.store.remove("connector",e)}getDefaultLabel(){const e=this.constructor,r=this.store.get("defaultLabel")||e.defaultLabel||{};return Fi(r)}get labels(){return this.getLabels()}set labels(e){this.setLabels(e)}getLabels(){return[...this.store.get("labels",[])].map(e=>this.parseLabel(e))}setLabels(e,r={}){return this.store.set("labels",Array.isArray(e)?e:[e],r),this}insertLabel(e,r,n={}){const i=this.getLabels(),a=i.length;let s=r!=null&&Number.isFinite(r)?r:a;return s<0&&(s=a+s+1),i.splice(s,0,this.parseLabel(e)),this.setLabels(i,n)}appendLabel(e,r={}){return this.insertLabel(e,-1,r)}getLabelAt(e){const r=this.getLabels();return e!=null&&Number.isFinite(e)?this.parseLabel(r[e]):null}setLabelAt(e,r,n={}){if(e!=null&&Number.isFinite(e)){const i=this.getLabels();i[e]=this.parseLabel(r),this.setLabels(i,n)}return this}removeLabelAt(e,r={}){const n=this.getLabels(),i=e!=null&&Number.isFinite(e)?e:-1,a=n.splice(i,1);return this.setLabels(n,r),a.length?a[0]:null}parseLabel(e){return typeof e=="string"?this.constructor.parseStringLabel(e):e}onLabelsChanged({previous:e,current:r}){const n=e&&r?r.filter(a=>e.find(s=>a===s||m0(a,s))?null:a):r?[...r]:[],i=e&&r?e.filter(a=>r.find(s=>a===s||m0(a,s))?null:a):e?[...e]:[];n.length>0&&this.notify("labels:added",{added:n,cell:this,edge:this}),i.length>0&&this.notify("labels:removed",{removed:i,cell:this,edge:this})}get vertices(){return this.getVertices()}set vertices(e){this.setVertices(e)}getVertices(){return[...this.store.get("vertices",[])]}setVertices(e,r={}){const n=Array.isArray(e)?e:[e];return this.store.set("vertices",n.map(i=>Je.toJSON(i)),r),this}insertVertex(e,r,n={}){const i=this.getVertices(),a=i.length;let s=r!=null&&Number.isFinite(r)?r:a;return s<0&&(s=a+s+1),i.splice(s,0,Je.toJSON(e)),this.setVertices(i,n)}appendVertex(e,r={}){return this.insertVertex(e,-1,r)}getVertexAt(e){return e!=null&&Number.isFinite(e)?this.getVertices()[e]:null}setVertexAt(e,r,n={}){if(e!=null&&Number.isFinite(e)){const i=this.getVertices();i[e]=r,this.setVertices(i,n)}return this}removeVertexAt(e,r={}){const n=this.getVertices(),i=e!=null&&Number.isFinite(e)?e:-1;return n.splice(i,1),this.setVertices(n,r)}onVertexsChanged({previous:e,current:r}){const n=e&&r?r.filter(a=>e.find(s=>Je.equals(a,s))?null:a):r?[...r]:[],i=e&&r?e.filter(a=>r.find(s=>Je.equals(a,s))?null:a):e?[...e]:[];n.length>0&&this.notify("vertexs:added",{added:n,cell:this,edge:this}),i.length>0&&this.notify("vertexs:removed",{removed:i,cell:this,edge:this})}getDefaultMarkup(){return this.store.get("defaultMarkup")||Al.getEdgeMarkup()}getMarkup(){return super.getMarkup()||this.getDefaultMarkup()}translate(e,r,n={}){return n.translateBy=n.translateBy||this.id,n.tx=e,n.ty=r,this.applyToPoints(i=>({x:(i.x||0)+e,y:(i.y||0)+r}),n)}scale(e,r,n,i={}){return this.applyToPoints(a=>Je.create(a).scale(e,r,n).toJSON(),i)}applyToPoints(e,r={}){const n={},i=this.getSource(),a=this.getTarget();Je.isPointLike(i)&&(n.source=e(i)),Je.isPointLike(a)&&(n.target=e(a));const s=this.getVertices();return s.length>0&&(n.vertices=s.map(e)),this.store.set(n,r),this}getBBox(){return this.getPolyline().bbox()}getConnectionPoint(){return this.getPolyline().pointAt(.5)}getPolyline(){const e=[this.getSourcePoint(),...this.getVertices().map(r=>Je.create(r)),this.getTargetPoint()];return new qs(e)}updateParent(e){let r=null;const n=this.getSourceCell(),i=this.getTargetCell(),a=this.getParent();return n&&i&&(n===i||n.isDescendantOf(i)?r=i:i.isDescendantOf(n)?r=n:r=Ln.getCommonAncestor(n,i)),a&&r&&r.id!==a.id&&a.unembed(this,e),r&&(!a||a.id!==r.id)&&r.embed(this,e),r}hasLoop(e={}){const r=this.getSource(),n=this.getTarget(),i=r.cell,a=n.cell;if(!i||!a)return!1;let s=i===a;if(!s&&e.deep&&this._model){const o=this.getSourceCell(),l=this.getTargetCell();o&&l&&(s=o.isAncestorOf(l,e)||l.isAncestorOf(o,e))}return s}getFragmentAncestor(){const e=[this,this.getSourceNode(),this.getTargetNode()].filter(r=>r!=null);return this.getCommonAncestor(...e)}isFragmentDescendantOf(e){const r=this.getFragmentAncestor();return!!r&&(r.id===e.id||r.isDescendantOf(e))}};Is.toStringTag=f8e;Is.defaultLabel={markup:[{tagName:"rect",selector:"body"},{tagName:"text",selector:"label"}],attrs:{text:{fill:"#000",fontSize:14,textAnchor:"middle",textVerticalAnchor:"middle",pointerEvents:"none"},rect:{ref:"label",fill:"#fff",rx:3,ry:3,refWidth:1,refHeight:1,refX:0,refY:0}},position:{distance:.5}};Is.registry=ts.create({type:"edge",process(t,e){if(d8e(t,!1))throw new Error(`Edge with name '${t}' was registered by anthor Node`);if(typeof e=="function")return e.config({shape:t}),e;let r=Is;const{inherit:n="edge"}=e,i=Un(e,["inherit"]);if(typeof n=="string"){const s=this.get(n||"edge");s==null&&n?this.onNotFound(n,"inherited"):r=s}else r=n;i.constructorName==null&&(i.constructorName=t);const a=r.define.call(r,i);return a.config({shape:t}),a}});Is.defaults={};$ht(Is.registry);Is.config({shape:p8e,propHooks(t){const{label:e,vertices:r}=t,n=Un(t,["label","vertices"]);if(e){n.labels==null&&(n.labels=[]);const i=typeof e=="string"?Is.parseStringLabel(e):e;n.labels.push(i)}return r&&Array.isArray(r)&&(n.vertices=r.map(i=>Je.create(i).toJSON())),n}});Is.registry.register(p8e,Is);let aJ=class extends Xl{constructor(e,r={}){super(),this.length=0,this.comparator=r.comparator||"zIndex",this.clean(),e&&this.reset(e,{silent:!0})}toJSON(){return this.cells.map(e=>e.toJSON())}add(e,r,n){let i,a;typeof r=="number"?(i=r,a=Object.assign({merge:!1},n)):(i=this.length,a=Object.assign({merge:!1},r)),i>this.length&&(i=this.length),i<0&&(i+=this.length+1);const s=Array.isArray(e)?e:[e],o=this.comparator&&typeof r!="number"&&a.sort!==!1,l=this.comparator||null;let u=!1;const d=[],h=[];return s.forEach(f=>{const p=this.get(f);p?a.merge&&!f.isSameStore(p)&&(p.setProp(f.getProp(),n),h.push(p),o&&!u&&(l==null||typeof l=="function"?u=p.hasChanged():typeof l=="string"?u=p.hasChanged(l):u=l.some(g=>p.hasChanged(g)))):(d.push(f),this.reference(f))}),d.length&&(o&&(u=!0),this.cells.splice(i,0,...d),this.length=this.cells.length),u&&this.sort({silent:!0}),a.silent||(d.forEach((f,p)=>{const g={cell:f,index:i+p,options:a};this.trigger("added",g),a.dryrun||f.notify("added",Object.assign({},g))}),u&&this.trigger("sorted"),(d.length||h.length)&&this.trigger("updated",{added:d,merged:h,removed:[],options:a})),this}remove(e,r={}){const n=Array.isArray(e)?e:[e],i=this.removeCells(n,r);return!r.silent&&i.length>0&&this.trigger("updated",{options:r,removed:i,added:[],merged:[]}),Array.isArray(e)?i:i[0]}removeCells(e,r){const n=[];for(let i=0;i<e.length;i+=1){const a=this.get(e[i]);if(a==null)continue;const s=this.cells.indexOf(a);this.cells.splice(s,1),this.length-=1,delete this.map[a.id],n.push(a),this.unreference(a),r.silent||(this.trigger("removed",{cell:a,index:s,options:r}),r.dryrun||a.notify("removed",{cell:a,index:s,options:r})),r.dryrun||a.remove()}return n}reset(e,r={}){const n=this.cells.slice();if(r.diff||(n.forEach(i=>{this.unreference(i),i.remove()}),this.clean()),this.add(e,Object.assign({silent:!0},r)),!r.silent){const i=this.cells.slice();this.trigger("reseted",{options:r,previous:n,current:i});const a=[],s=[];i.forEach(o=>{n.some(u=>u.id===o.id)||a.push(o)}),n.forEach(o=>{i.some(u=>u.id===o.id)||s.push(o)}),this.trigger("updated",{options:r,added:a,removed:s,merged:[]})}return this}push(e,r){return this.add(e,this.length,r)}pop(e){const r=this.at(this.length-1);return r?this.remove(r,e):null}unshift(e,r){return this.add(e,0,r)}shift(e){const r=this.at(0);return r?this.remove(r,e):null}get(e){if(e==null)return null;const r=typeof e=="string"||typeof e=="number"?e:e.id;return this.map[r]||null}has(e){return this.get(e)!=null}at(e){return e<0&&(e+=this.length),this.cells[e]||null}first(){return this.at(0)}last(){return this.at(-1)}indexOf(e){return this.cells.indexOf(e)}toArray(){return this.cells.slice()}sort(e={}){return this.comparator!=null&&(this.cells=y1(this.cells,this.comparator),e.silent||this.trigger("sorted")),this}clone(){const e=this.constructor;return new e(this.cells.slice(),{comparator:this.comparator})}reference(e){this.map[e.id]=e,e.on("*",this.notifyCellEvent,this)}unreference(e){e.off("*",this.notifyCellEvent,this),delete this.map[e.id]}notifyCellEvent(e,r){const n=r.cell;this.trigger(`cell:${e}`,r),n&&(n.isNode()?this.trigger(`node:${e}`,Object.assign(Object.assign({},r),{node:n})):n.isEdge()&&this.trigger(`edge:${e}`,Object.assign(Object.assign({},r),{edge:n})))}clean(){this.length=0,this.cells=[],this.map={}}dispose(){this.reset([])}};_n([Bn()],aJ.prototype,"dispose",null);const Vht="X6.Model";class jc extends Xl{static isModel(e){if(e==null)return!1;if(e instanceof jc)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===Vht)&&typeof n.addNode=="function"&&typeof n.addEdge=="function"&&n.collection!=null}static toJSON(e,r={}){return{cells:e.map(n=>n.toJSON(r))}}static fromJSON(e){const r=[];return Array.isArray(e)?r.push(...e):(e.cells&&r.push(...e.cells),e.nodes&&e.nodes.forEach(n=>{n.shape==null&&(n.shape="rect"),r.push(n)}),e.edges&&e.edges.forEach(n=>{n.shape==null&&(n.shape="edge"),r.push(n)})),r.map(n=>{const i=n.shape;if(i){if(Zs.registry.exist(i))return Zs.create(n);if(Is.registry.exist(i))return Is.create(n)}throw new Error("The `shape` should be specified when creating a node/edge instance")})}constructor(e=[]){super(),this.batches={},this.addings=new WeakMap,this.nodes={},this.edges={},this.outgoings={},this.incomings={},this.collection=new aJ(e),this.setup()}notify(e,r){this.trigger(e,r);const n=this.graph;return n&&(e==="sorted"||e==="reseted"||e==="updated"?n.trigger(`model:${e}`,r):n.trigger(e,r)),this}setup(){const e=this.collection;e.on("sorted",()=>this.notify("sorted",null)),e.on("updated",r=>this.notify("updated",r)),e.on("cell:change:zIndex",()=>this.sortOnChangeZ()),e.on("added",({cell:r})=>{this.onCellAdded(r)}),e.on("removed",r=>{const n=r.cell;this.onCellRemoved(n,r.options),this.notify("cell:removed",r),n.isNode()?this.notify("node:removed",Object.assign(Object.assign({},r),{node:n})):n.isEdge()&&this.notify("edge:removed",Object.assign(Object.assign({},r),{edge:n}))}),e.on("reseted",r=>{this.onReset(r.current),this.notify("reseted",r)}),e.on("edge:change:source",({edge:r})=>this.onEdgeTerminalChanged(r,"source")),e.on("edge:change:target",({edge:r})=>{this.onEdgeTerminalChanged(r,"target")})}sortOnChangeZ(){this.collection.sort()}onCellAdded(e){const r=e.id;e.isEdge()?(e.updateParent(),this.edges[r]=!0,this.onEdgeTerminalChanged(e,"source"),this.onEdgeTerminalChanged(e,"target")):this.nodes[r]=!0}onCellRemoved(e,r){const n=e.id;if(e.isEdge()){delete this.edges[n];const i=e.getSource(),a=e.getTarget();if(i!=null&&i.cell){const s=this.outgoings[i.cell],o=s?s.indexOf(n):-1;o>=0&&(s.splice(o,1),s.length===0&&delete this.outgoings[i.cell])}if(a!=null&&a.cell){const s=this.incomings[a.cell],o=s?s.indexOf(n):-1;o>=0&&(s.splice(o,1),s.length===0&&delete this.incomings[a.cell])}}else delete this.nodes[n];r.clear||(r.disconnectEdges?this.disconnectConnectedEdges(e,r):this.removeConnectedEdges(e,r)),e.model===this&&(e.model=null)}onReset(e){this.nodes={},this.edges={},this.outgoings={},this.incomings={},e.forEach(r=>{this.onCellAdded(r)})}onEdgeTerminalChanged(e,r){const n=r==="source"?this.outgoings:this.incomings,i=e.previous(r);if(i!=null&&i.cell){const s=Ln.isCell(i.cell)?i.cell.id:i.cell,o=n[s],l=o?o.indexOf(e.id):-1;l>=0&&(o.splice(l,1),o.length===0&&delete n[s])}const a=e.getTerminal(r);if(a!=null&&a.cell){const s=Ln.isCell(a.cell)?a.cell.id:a.cell,o=n[s]||[];o.indexOf(e.id)===-1&&o.push(e.id),n[s]=o}}prepareCell(e,r){return!e.model&&(!r||!r.dryrun)&&(e.model=this),e.zIndex==null&&e.setZIndex(this.getMaxZIndex()+1,{silent:!0}),e}resetCells(e,r={}){return e.map(n=>this.prepareCell(n,Object.assign(Object.assign({},r),{dryrun:!0}))),this.collection.reset(e,r),e.map(n=>this.prepareCell(n,{options:r})),this}clear(e={}){const r=this.getCells();if(r.length===0)return this;const n=Object.assign(Object.assign({},e),{clear:!0});return this.batchUpdate("clear",()=>{const i=r.sort((a,s)=>{const o=a.isEdge()?1:2,l=s.isEdge()?1:2;return o-l});for(;i.length>0;){const a=i.shift();a&&a.remove(n)}},n),this}addNode(e,r={}){const n=Zs.isNode(e)?e:this.createNode(e);return this.addCell(n,r),n}updateNode(e,r={}){const n=this.createNode(e),i=n.getProp();return n.dispose(),this.updateCell(i,r)}createNode(e){return Zs.create(e)}addEdge(e,r={}){const n=Is.isEdge(e)?e:this.createEdge(e);return this.addCell(n,r),n}createEdge(e){return Is.create(e)}updateEdge(e,r={}){const n=this.createEdge(e),i=n.getProp();return n.dispose(),this.updateCell(i,r)}addCell(e,r={}){return Array.isArray(e)?this.addCells(e,r):(!this.collection.has(e)&&!this.addings.has(e)&&(this.addings.set(e,!0),this.collection.add(this.prepareCell(e,r),r),e.eachChild(n=>this.addCell(n,r)),this.addings.delete(e)),this)}addCells(e,r={}){const n=e.length;if(n===0)return this;const i=Object.assign(Object.assign({},r),{position:n-1,maxPosition:n-1});return this.startBatch("add",Object.assign(Object.assign({},i),{cells:e})),e.forEach(a=>{this.addCell(a,i),i.position-=1}),this.stopBatch("add",Object.assign(Object.assign({},i),{cells:e})),this}updateCell(e,r={}){const n=e.id&&this.getCell(e.id);return n?this.batchUpdate("update",()=>(Object.entries(e).forEach(([i,a])=>{n.setProp(i,a,r)}),!0),e):!1}removeCell(e,r={}){const n=typeof e=="string"?this.getCell(e):e;return n&&this.has(n)?this.collection.remove(n,r):null}updateCellId(e,r){if(e.id===r)return;this.startBatch("update",{id:r}),e.prop("id",r);const n=e.clone({keepId:!0});return this.addCell(n),this.getConnectedEdges(e).forEach(a=>{const s=a.getSourceCell(),o=a.getTargetCell();s===e&&a.setSource(Object.assign(Object.assign({},a.getSource()),{cell:r})),o===e&&a.setTarget(Object.assign(Object.assign({},a.getTarget()),{cell:r}))}),this.removeCell(e),this.stopBatch("update",{id:r}),n}removeCells(e,r={}){return e.length?this.batchUpdate("remove",()=>e.map(n=>this.removeCell(n,r))):[]}removeConnectedEdges(e,r={}){const n=this.getConnectedEdges(e);return n.forEach(i=>{i.remove(r)}),n}disconnectConnectedEdges(e,r={}){const n=typeof e=="string"?e:e.id;this.getConnectedEdges(e).forEach(i=>{const a=i.getSourceCellId(),s=i.getTargetCellId();a===n&&i.setSource({x:0,y:0},r),s===n&&i.setTarget({x:0,y:0},r)})}has(e){return this.collection.has(e)}total(){return this.collection.length}indexOf(e){return this.collection.indexOf(e)}getCell(e){return this.collection.get(e)}getCells(){return this.collection.toArray()}getFirstCell(){return this.collection.first()}getLastCell(){return this.collection.last()}getMinZIndex(){const e=this.collection.first();return e&&e.getZIndex()||0}getMaxZIndex(){const e=this.collection.last();return e&&e.getZIndex()||0}getCellsFromCache(e){return e?Object.keys(e).map(r=>this.getCell(r)).filter(r=>r!=null):[]}getNodes(){return this.getCellsFromCache(this.nodes)}getEdges(){return this.getCellsFromCache(this.edges)}getOutgoingEdges(e){const r=typeof e=="string"?e:e.id,n=this.outgoings[r];return n?n.map(i=>this.getCell(i)).filter(i=>i==null?void 0:i.isEdge()):null}getIncomingEdges(e){const r=typeof e=="string"?e:e.id,n=this.incomings[r];return n?n.map(i=>this.getCell(i)).filter(i=>i==null?void 0:i.isEdge()):null}getConnectedEdges(e,r={}){const n=[],i=typeof e=="string"?this.getCell(e):e;if(i==null)return n;const a={},s=r.indirect;let o=r.incoming,l=r.outgoing;o==null&&l==null&&(o=l=!0);const u=(d,h)=>{const f=h?this.getOutgoingEdges(d):this.getIncomingEdges(d);if(f!=null&&f.forEach(p=>{a[p.id]||(n.push(p),a[p.id]=!0,s&&(o&&u(p,!1),l&&u(p,!0)))}),s&&d.isEdge()){const p=h?d.getTargetCell():d.getSourceCell();p!=null&&p.isEdge()&&(a[p.id]||(n.push(p),u(p,h)))}};if(l&&u(i,!0),o&&u(i,!1),r.deep){const d=i.getDescendants({deep:!0}),h={};d.forEach(p=>{p.isNode()&&(h[p.id]=!0)});const f=(p,g)=>{const m=g?this.getOutgoingEdges(p.id):this.getIncomingEdges(p.id);m!=null&&m.forEach(U=>{if(!a[U.id]){const y=U.getSourceCell(),b=U.getTargetCell();if(!r.enclosed&&y&&h[y.id]&&b&&h[b.id])return;n.push(U),a[U.id]=!0}})};d.forEach(p=>{p.isEdge()||(l&&f(p,!0),o&&f(p,!1))})}return n}isBoundary(e,r){const n=typeof e=="string"?this.getCell(e):e,i=r?this.getIncomingEdges(n):this.getOutgoingEdges(n);return i==null||i.length===0}getBoundaryNodes(e){const r=[];return Object.keys(this.nodes).forEach(n=>{if(this.isBoundary(n,e)){const i=this.getCell(n);i&&r.push(i)}}),r}getRoots(){return this.getBoundaryNodes(!0)}getLeafs(){return this.getBoundaryNodes(!1)}isRoot(e){return this.isBoundary(e,!0)}isLeaf(e){return this.isBoundary(e,!1)}getNeighbors(e,r={}){let n=r.incoming,i=r.outgoing;n==null&&i==null&&(n=i=!0);const s=this.getConnectedEdges(e,r).reduce((o,l)=>{const u=l.hasLoop(r),d=l.getSourceCell(),h=l.getTargetCell();return n&&d&&d.isNode()&&!o[d.id]&&(u||d!==e&&(!r.deep||!d.isDescendantOf(e)))&&(o[d.id]=d),i&&h&&h.isNode()&&!o[h.id]&&(u||h!==e&&(!r.deep||!h.isDescendantOf(e)))&&(o[h.id]=h),o},{});if(e.isEdge()){if(n){const o=e.getSourceCell();o!=null&&o.isNode()&&!s[o.id]&&(s[o.id]=o)}if(i){const o=e.getTargetCell();o!=null&&o.isNode()&&!s[o.id]&&(s[o.id]=o)}}return Object.keys(s).map(o=>s[o])}isNeighbor(e,r,n={}){let i=n.incoming,a=n.outgoing;return i==null&&a==null&&(i=a=!0),this.getConnectedEdges(e,n).some(s=>{const o=s.getSourceCell(),l=s.getTargetCell();return!!(i&&o&&o.id===r.id||a&&l&&l.id===r.id)})}getSuccessors(e,r={}){const n=[];return this.search(e,(i,a)=>{i!==e&&this.matchDistance(a,r.distance)&&n.push(i)},Object.assign(Object.assign({},r),{outgoing:!0})),n}isSuccessor(e,r,n={}){let i=!1;return this.search(e,(a,s)=>{if(a===r&&a!==e&&this.matchDistance(s,n.distance))return i=!0,!1},Object.assign(Object.assign({},n),{outgoing:!0})),i}getPredecessors(e,r={}){const n=[];return this.search(e,(i,a)=>{i!==e&&this.matchDistance(a,r.distance)&&n.push(i)},Object.assign(Object.assign({},r),{incoming:!0})),n}isPredecessor(e,r,n={}){let i=!1;return this.search(e,(a,s)=>{if(a===r&&a!==e&&this.matchDistance(s,n.distance))return i=!0,!1},Object.assign(Object.assign({},n),{incoming:!0})),i}matchDistance(e,r){return r==null?!0:typeof r=="function"?r(e):Array.isArray(r)&&r.includes(e)?!0:e===r}getCommonAncestor(...e){const r=[];return e.forEach(n=>{n&&(Array.isArray(n)?r.push(...n):r.push(n))}),Ln.getCommonAncestor(...r)}getSubGraph(e,r={}){const n=[],i={},a=[],s=[],o=l=>{i[l.id]||(n.push(l),i[l.id]=l,l.isEdge()&&s.push(l),l.isNode()&&a.push(l))};return e.forEach(l=>{o(l),r.deep&&l.getDescendants({deep:!0}).forEach(d=>{o(d)})}),s.forEach(l=>{const u=l.getSourceCell(),d=l.getTargetCell();u&&!i[u.id]&&(n.push(u),i[u.id]=u,u.isNode()&&a.push(u)),d&&!i[d.id]&&(n.push(d),i[d.id]=d,d.isNode()&&a.push(d))}),a.forEach(l=>{this.getConnectedEdges(l,r).forEach(d=>{const h=d.getSourceCell(),f=d.getTargetCell();!i[d.id]&&h&&i[h.id]&&f&&i[f.id]&&(n.push(d),i[d.id]=d)})}),n}cloneSubGraph(e,r={}){const n=this.getSubGraph(e,r);return this.cloneCells(n)}cloneCells(e){return Ln.cloneCells(e)}getNodesFromPoint(e,r){const n=typeof e=="number"?{x:e,y:r||0}:e;return this.getNodes().filter(i=>i.getBBox().containsPoint(n))}getNodesInArea(e,r,n,i,a){const s=typeof e=="number"?new Bt(e,r,n,i):Bt.create(e),o=typeof e=="number"?a:r,l=o==null?void 0:o.strict;return this.getNodes().filter(u=>{const d=u.angle(),h=u.getBBox().bbox(d);return l?s.containsRect(h):s.isIntersectWithRect(h)})}getEdgesInArea(e,r,n,i,a){const s=typeof e=="number"?new Bt(e,r,n,i):Bt.create(e),o=typeof e=="number"?a:r,l=o==null?void 0:o.strict;return this.getEdges().filter(u=>{const d=u.getBBox();return d.width===0?d.inflate(1,0):d.height===0&&d.inflate(0,1),l?s.containsRect(d):s.isIntersectWithRect(d)})}getNodesUnderNode(e,r={}){const n=e.getBBox();return(r.by==null||r.by==="bbox"?this.getNodesInArea(n):this.getNodesFromPoint(n[r.by])).filter(a=>e.id!==a.id&&!a.isDescendantOf(e))}getAllCellsBBox(){return this.getCellsBBox(this.getCells())}getCellsBBox(e,r={}){return Ln.getCellsBBox(e,r)}search(e,r,n={}){n.breadthFirst?this.breadthFirstSearch(e,r,n):this.depthFirstSearch(e,r,n)}breadthFirstSearch(e,r,n={}){const i=[],a={},s={};for(i.push(e),s[e.id]=0;i.length>0;){const o=i.shift();if(o==null||a[o.id]||(a[o.id]=!0,vr(r,this,o,s[o.id])===!1))continue;this.getNeighbors(o,n).forEach(u=>{s[u.id]=s[o.id]+1,i.push(u)})}}depthFirstSearch(e,r,n={}){const i=[],a={},s={};for(i.push(e),s[e.id]=0;i.length>0;){const o=i.pop();if(o==null||a[o.id]||(a[o.id]=!0,vr(r,this,o,s[o.id])===!1))continue;const l=this.getNeighbors(o,n),u=i.length;l.forEach(d=>{s[d.id]=s[o.id]+1,i.splice(u,0,d)})}}getShortestPath(e,r,n={}){const i={};this.getEdges().forEach(u=>{const d=u.getSourceCellId(),h=u.getTargetCellId();d&&h&&(i[d]||(i[d]=[]),i[h]||(i[h]=[]),i[d].push(h),n.directed||i[h].push(d))});const a=typeof e=="string"?e:e.id,s=llt(i,a,n.weight),o=[];let l=typeof r=="string"?r:r.id;for(s[l]&&o.push(l);s[l];){const u=s[l];o.unshift(u),l=u}return o}translate(e,r,n){return this.getCells().filter(i=>!i.hasParent()).forEach(i=>{i.translate(e,r,n)}),this}resize(e,r,n){return this.resizeCells(e,r,this.getCells(),n)}resizeCells(e,r,n,i={}){const a=this.getCellsBBox(n);if(a){const s=Math.max(e/a.width,0),o=Math.max(r/a.height,0),l=a.getOrigin();n.forEach(u=>{u.scale(s,o,l,i)})}return this}toJSON(e={}){return jc.toJSON(this.getCells(),e)}parseJSON(e){return jc.fromJSON(e)}fromJSON(e,r={}){let n=[];if(!r.diff)n=this.parseJSON(e);else{const i=e,{nodes:a=[],edges:s=[]}=i,o=Un(i,["nodes","edges"]),l=a.filter(d=>!this.nodes[d.id])||[],u=s.filter(d=>!this.edges[d.id])||[];n=this.parseJSON(Object.assign(Object.assign({},o),{nodes:l,edges:u}))}return this.resetCells(n,r),this}startBatch(e,r={}){return this.batches[e]=(this.batches[e]||0)+1,this.notify("batch:start",{name:e,data:r}),this}stopBatch(e,r={}){return this.batches[e]=(this.batches[e]||0)-1,this.notify("batch:stop",{name:e,data:r}),this}batchUpdate(e,r,n={}){this.startBatch(e,n);const i=r();return this.stopBatch(e,n),i}hasActiveBatch(e=Object.keys(this.batches)){return(Array.isArray(e)?e:[e]).some(n=>this.batches[n]>0)}dispose(){this.collection.dispose()}}_n([Bn()],jc.prototype,"dispose",null);const g8e={fill:"#ffffff",stroke:"#333333",strokeWidth:2},Ght={fontSize:14,fill:"#000000",refX:.5,refY:.5,textAnchor:"middle",textVerticalAnchor:"middle",fontFamily:"Arial, helvetica, sans-serif"};let jC=class extends Zs{get label(){return this.getLabel()}set label(e){this.setLabel(e)}getLabel(){return this.getAttrByPath("text/text")}setLabel(e,r){return e==null?this.removeLabel():this.setAttrByPath("text/text",e,r),this}removeLabel(){return this.removeAttrByPath("text/text"),this}};jC.config({attrs:{text:Object.assign({},Ght)},propHooks(t){const{label:e}=t,r=Un(t,["label"]);return e!=null&&z4(r,"attrs/text/text",e),r},visible:!0});function Wht(t,e="body"){return[{tagName:t,selector:e},{tagName:"text",selector:"label"}]}function qht(t="xlink:href"){return r=>{const{imageUrl:n,imageWidth:i,imageHeight:a}=r,s=Un(r,["imageUrl","imageWidth","imageHeight"]);if(n!=null||i!=null||a!=null){const o=()=>{if(s.attrs){const l=s.attrs.image;n!=null&&(l[t]=n),i!=null&&(l.width=i),a!=null&&(l.height=a),s.attrs.image=l}};s.attrs?(s.attrs.image==null&&(s.attrs.image={}),o()):(s.attrs={image:{}},o())}return s}}function G4(t,e,r={}){const n={constructorName:t,markup:Wht(t,r.selector),attrs:{[t]:Object.assign({},g8e)}};return(r.parent||jC).define(zi(n,e,{shape:t}))}function m8e(t){return typeof t=="string"?t:t.map(e=>Array.isArray(e)?e.join(","):Je.isPointLike(e)?`${e.x}, ${e.y}`:"").join(" ")}G4("circle",{attrs:{body:{refCx:"50%",refCy:"50%",refR:"50%"}}});const jht=Is.define({shape:"edge",markup:[{tagName:"path",selector:"wrap",groupSelector:"lines",attrs:{fill:"none",cursor:"pointer",stroke:"transparent",strokeLinecap:"round"}},{tagName:"path",selector:"line",groupSelector:"lines",attrs:{fill:"none",pointerEvents:"none"}}],attrs:{lines:{connection:!0,strokeLinejoin:"round"},wrap:{strokeWidth:10},line:{stroke:"#333",strokeWidth:2,targetMarker:"classic"}}});G4("ellipse",{attrs:{body:{refCx:"50%",refCy:"50%",refRx:"50%",refRy:"50%"}}});class Xu extends H4{get options(){return this.graph.options}get model(){return this.graph.model}get view(){return this.graph.view}constructor(e){super(),this.graph=e,this.init()}init(){}}const U8e={mousemove:"onMouseMove",touchmove:"onMouseMove",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onDragEnd"},j1=1<<30,Yht=1<<29;class Wh extends Ys{constructor(){super(...arguments),this.portsCache={}}static isNodeView(e){if(e==null)return!1;if(e instanceof Wh)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===kle)&&typeof n.isNodeView=="function"&&typeof n.isEdgeView=="function"&&typeof n.confirmUpdate=="function"&&typeof n.update=="function"&&typeof n.findPortElem=="function"&&typeof n.resize=="function"&&typeof n.rotate=="function"&&typeof n.translate=="function"}get[Symbol.toStringTag](){return kle}getContainerClassName(){const e=[super.getContainerClassName(),this.prefixClassName("node")];return this.can("nodeMovable")||e.push(this.prefixClassName("node-immovable")),e.join(" ")}updateClassName(e){const r=e.target;if(r.hasAttribute("magnet")){const n=this.prefixClassName("port-unconnectable");this.can("magnetConnectable")?Vi(r,n):nr(r,n)}else{const n=this.prefixClassName("node-immovable");this.can("nodeMovable")?this.removeClass(n):this.addClass(n)}}isNodeView(){return!0}confirmUpdate(e,r={}){let n=e;const i=this.hasAction(e,["resize","translate","rotate"]);return this.hasAction(n,"ports")&&(this.removePorts(),this.cleanPortsCache()),this.hasAction(n,"render")?(this.render(),n=this.removeAction(n,["render","update","resize","translate","rotate","ports","tools"])):(n=this.handleAction(n,"resize",()=>this.resize(),"update"),n=this.handleAction(n,"update",()=>this.update(),"ports"),n=this.handleAction(n,"translate",()=>this.translate()),n=this.handleAction(n,"rotate",()=>this.rotate()),n=this.handleAction(n,"ports",()=>this.renderPorts()),n=this.handleAction(n,"tools",()=>{const a=this.cell.getTools()!=null;!i||this.tools==null||!a?this.renderTools():this.updateTools(r)})),n}update(e){this.cleanCache(),this.removePorts();const r=this.cell,n=r.getSize(),i=r.getAttrs();this.updateAttrs(this.container,i,{attrs:e===i?null:e,rootBBox:new Bt(0,0,n.width,n.height),selectors:this.selectors}),this.renderPorts()}renderMarkup(){const e=this.cell.markup;if(e){if(typeof e=="string")throw new TypeError("Not support string markup.");return this.renderJSONMarkup(e)}throw new TypeError("Invalid node markup.")}renderJSONMarkup(e){const r=this.parseJSONMarkup(e,this.container);this.selectors=r.selectors,this.container.appendChild(r.fragment)}render(){return this.empty(),this.renderMarkup(),this.resize(),this.updateTransform(),this.renderTools(),this.notify("view:render",{view:this}),this}resize(){this.cell.getAngle()&&this.rotate(),this.update()}translate(){this.updateTransform()}rotate(){this.updateTransform()}getTranslationString(){const e=this.cell.getPosition();return`translate(${e.x},${e.y})`}getRotationString(){const e=this.cell.getAngle();if(e){const r=this.cell.getSize();return`rotate(${e},${r.width/2},${r.height/2})`}}updateTransform(){let e=this.getTranslationString();const r=this.getRotationString();r&&(e+=` ${r}`),this.container.setAttribute("transform",e)}findPortElem(e,r){const n=e?this.portsCache[e]:null;if(!n)return null;const i=n.portContentElement,a=n.portContentSelectors||{};return this.findOne(r,i,a)}cleanPortsCache(){this.portsCache={}}removePorts(){Object.values(this.portsCache).forEach(e=>{Bu(e.portElement)})}renderPorts(){const e=this.container,r=[];e.childNodes.forEach(s=>{r.push(s)});const n=this.cell.getParsedPorts(),i=Loe(n,"zIndex"),a="auto";i[a]&&i[a].forEach(s=>{const o=this.getPortElement(s);e.append(o),r.push(o)}),Object.keys(i).forEach(s=>{if(s!==a){const o=parseInt(s,10);this.appendPorts(i[s],o,r)}}),this.updatePorts(),this.cleanCache(),this.updateConnectedEdges()}updateConnectedEdges(){const e=this.graph,r=this.cell,n=e.model.getConnectedEdges(r);for(let i=0,a=n.length;i<a;i+=1){const s=n[i],o=s.findView(e);if(!o||!e.renderer.isViewMounted(o))continue;const l=["update"];s.getSourceCell()===r&&l.push("source"),s.getTargetCell()===r&&l.push("target"),e.renderer.requestViewUpdate(o,o.getFlag(l))}}appendPorts(e,r,n){const i=e.map(a=>this.getPortElement(a));n[r]||r<0?Ow(n[Math.max(r,0)],i):Mo(this.container,i)}getPortElement(e){const r=this.portsCache[e.id];return r?r.portElement:this.createPortElement(e)}createPortElement(e){let r=Al.renderMarkup(this.cell.getPortContainerMarkup());const n=r.elem;if(n==null)throw new Error("Invalid port container markup.");r=Al.renderMarkup(this.getPortMarkup(e));const i=r.elem,a=r.selectors;if(i==null)throw new Error("Invalid port markup.");this.setAttrs({port:e.id,"port-group":e.group},i);let s="x6-port";e.group&&(s+=` x6-port-${e.group}`),nr(n,s),nr(n,"x6-port"),nr(i,"x6-port-body"),n.appendChild(i);let o=a,l,u;if(this.existPortLabel(e)){if(r=Al.renderMarkup(this.getPortLabelMarkup(e.label)),l=r.elem,u=r.selectors,l==null)throw new Error("Invalid port label markup.");if(a&&u){for(const h in u)if(a[h]&&h!==this.rootSelector)throw new Error("Selectors within port must be unique.");o=Object.assign(Object.assign({},a),u)}nr(l,"x6-port-label"),n.appendChild(l)}return this.portsCache[e.id]={portElement:n,portSelectors:o,portLabelElement:l,portLabelSelectors:u,portContentElement:i,portContentSelectors:a},this.graph.options.onPortRendered&&this.graph.options.onPortRendered({port:e,node:this.cell,container:n,selectors:o,labelContainer:l,labelSelectors:u,contentContainer:i,contentSelectors:a}),n}updatePorts(){const e=this.cell.getParsedGroups(),r=Object.keys(e);r.length===0?this.updatePortGroup():r.forEach(n=>{this.updatePortGroup(n)})}updatePortGroup(e){const r=Bt.fromSize(this.cell.getSize()),n=this.cell.getPortsLayoutByGroup(e,r);for(let i=0,a=n.length;i<a;i+=1){const s=n[i],o=s.portId,l=this.portsCache[o]||{},u=s.portLayout;if(this.applyPortTransform(l.portElement,u),s.portAttrs!=null){const h={selectors:l.portSelectors||{}};s.portSize&&(h.rootBBox=Bt.fromSize(s.portSize)),this.updateAttrs(l.portElement,s.portAttrs,h)}const d=s.labelLayout;if(d&&l.portLabelElement&&(this.applyPortTransform(l.portLabelElement,d,-(u.angle||0)),d.attrs)){const h={selectors:l.portLabelSelectors||{}};s.labelSize&&(h.rootBBox=Bt.fromSize(s.labelSize)),this.updateAttrs(l.portLabelElement,d.attrs,h)}}}applyPortTransform(e,r,n=0){const i=r.angle,a=r.position,s=ao().rotate(n).translate(a.x||0,a.y||0).rotate(i||0);Tv(e,s,{absolute:!0})}getPortMarkup(e){return e.markup||this.cell.portMarkup}getPortLabelMarkup(e){return e.markup||this.cell.portLabelMarkup}existPortLabel(e){return e.attrs&&e.attrs.text}getEventArgs(e,r,n){const i=this,a=i.cell,s=a;return r==null||n==null?{e,view:i,node:a,cell:s}:{e,x:r,y:n,view:i,node:a,cell:s}}getPortEventArgs(e,r,n){const i=this,a=i.cell,s=a;return n?{e,x:n.x,y:n.y,view:i,node:a,cell:s,port:r}:{e,view:i,node:a,cell:s,port:r}}notifyMouseDown(e,r,n){super.onMouseDown(e,r,n),this.notify("node:mousedown",this.getEventArgs(e,r,n))}notifyMouseMove(e,r,n){super.onMouseMove(e,r,n),this.notify("node:mousemove",this.getEventArgs(e,r,n))}notifyMouseUp(e,r,n){super.onMouseUp(e,r,n),this.notify("node:mouseup",this.getEventArgs(e,r,n))}notifyPortEvent(e,r,n){const i=this.findAttr("port",r.target);if(i){const a=r.type;e==="node:port:mouseenter"?r.type="mouseenter":e==="node:port:mouseleave"&&(r.type="mouseleave"),this.notify(e,this.getPortEventArgs(r,i,n)),r.type=a}}onClick(e,r,n){super.onClick(e,r,n),this.notify("node:click",this.getEventArgs(e,r,n)),this.notifyPortEvent("node:port:click",e,{x:r,y:n})}onDblClick(e,r,n){super.onDblClick(e,r,n),this.notify("node:dblclick",this.getEventArgs(e,r,n)),this.notifyPortEvent("node:port:dblclick",e,{x:r,y:n})}onContextMenu(e,r,n){super.onContextMenu(e,r,n),this.notify("node:contextmenu",this.getEventArgs(e,r,n)),this.notifyPortEvent("node:port:contextmenu",e,{x:r,y:n})}onMouseDown(e,r,n){this.isPropagationStopped(e)||(this.notifyMouseDown(e,r,n),this.notifyPortEvent("node:port:mousedown",e,{x:r,y:n}),this.startNodeDragging(e,r,n))}onMouseMove(e,r,n){const i=this.getEventData(e),a=i.action;if(a==="magnet")this.dragMagnet(e,r,n);else{if(a==="move"){const o=i.targetView||this;o.dragNode(e,r,n),o.notify("node:moving",{e,x:r,y:n,view:o,cell:o.cell,node:o.cell})}this.notifyMouseMove(e,r,n),this.notifyPortEvent("node:port:mousemove",e,{x:r,y:n})}this.setEventData(e,i)}onMouseUp(e,r,n){const i=this.getEventData(e),a=i.action;a==="magnet"?this.stopMagnetDragging(e,r,n):(this.notifyMouseUp(e,r,n),this.notifyPortEvent("node:port:mouseup",e,{x:r,y:n}),a==="move"&&(i.targetView||this).stopNodeDragging(e,r,n));const s=i.targetMagnet;s&&this.onMagnetClick(e,s,r,n),this.checkMouseleave(e)}onMouseOver(e){super.onMouseOver(e),this.notify("node:mouseover",this.getEventArgs(e)),this.notifyPortEvent("node:port:mouseenter",e),this.notifyPortEvent("node:port:mouseover",e)}onMouseOut(e){super.onMouseOut(e),this.notify("node:mouseout",this.getEventArgs(e)),this.notifyPortEvent("node:port:mouseleave",e),this.notifyPortEvent("node:port:mouseout",e)}onMouseEnter(e){this.updateClassName(e),super.onMouseEnter(e),this.notify("node:mouseenter",this.getEventArgs(e))}onMouseLeave(e){super.onMouseLeave(e),this.notify("node:mouseleave",this.getEventArgs(e))}onMouseWheel(e,r,n,i){super.onMouseWheel(e,r,n,i),this.notify("node:mousewheel",Object.assign({delta:i},this.getEventArgs(e,r,n)))}onMagnetClick(e,r,n,i){const a=this.graph;a.view.getMouseMovedCount(e)>a.options.clickThreshold||this.notify("node:magnet:click",Object.assign({magnet:r},this.getEventArgs(e,n,i)))}onMagnetDblClick(e,r,n,i){this.notify("node:magnet:dblclick",Object.assign({magnet:r},this.getEventArgs(e,n,i)))}onMagnetContextMenu(e,r,n,i){this.notify("node:magnet:contextmenu",Object.assign({magnet:r},this.getEventArgs(e,n,i)))}onMagnetMouseDown(e,r,n,i){this.startMagnetDragging(e,n,i)}onCustomEvent(e,r,n,i){this.notify("node:customevent",Object.assign({name:r},this.getEventArgs(e,n,i))),super.onCustomEvent(e,r,n,i)}prepareEmbedding(e){const r=this.graph,i=this.getEventData(e).cell||this.cell,a=r.findViewByCell(i),s=r.snapToGrid(e.clientX,e.clientY);this.notify("node:embed",{e,node:i,view:a,cell:i,x:s.x,y:s.y,currentParent:i.getParent()})}processEmbedding(e,r){const n=r.cell||this.cell,i=r.graph||this.graph,a=i.options.embedding,s=a.findParent;let o=typeof s=="function"?vr(s,i,{view:this,node:this.cell}).filter(f=>Ln.isCell(f)&&this.cell.id!==f.id&&!f.isDescendantOf(this.cell)):i.model.getNodesUnderNode(n,{by:s});if(a.frontOnly&&o.length>0){const f=Loe(o,"zIndex"),p=Og(Object.keys(f).map(g=>parseInt(g,10)));p&&(o=f[p])}o=o.filter(f=>f.visible);let l=null;const u=r.candidateEmbedView,d=a.validate;for(let f=o.length-1;f>=0;f-=1){const p=o[f];if(u&&u.cell.id===p.id){l=u;break}else{const g=p.findView(i);if(d&&vr(d,i,{child:this.cell,parent:g.cell,childView:this,parentView:g})){l=g;break}}}this.clearEmbedding(r),l&&l.highlight(null,{type:"embedding"}),r.candidateEmbedView=l;const h=i.snapToGrid(e.clientX,e.clientY);this.notify("node:embedding",{e,cell:n,node:n,view:i.findViewByCell(n),x:h.x,y:h.y,currentParent:n.getParent(),candidateParent:l?l.cell:null})}clearEmbedding(e){const r=e.candidateEmbedView;r&&(r.unhighlight(null,{type:"embedding"}),e.candidateEmbedView=null)}finalizeEmbedding(e,r){this.graph.startBatch("embedding");const n=r.cell||this.cell,i=r.graph||this.graph,a=i.findViewByCell(n),s=n.getParent(),o=r.candidateEmbedView;if(o?(o.unhighlight(null,{type:"embedding"}),r.candidateEmbedView=null,(s==null||s.id!==o.cell.id)&&o.cell.insertChild(n,void 0,{ui:!0})):s&&s.unembed(n,{ui:!0}),i.model.getConnectedEdges(n,{deep:!0}).forEach(l=>{l.updateParent({ui:!0})}),a&&o){const l=i.snapToGrid(e.clientX,e.clientY);a.notify("node:embedded",{e,cell:n,x:l.x,y:l.y,node:n,view:i.findViewByCell(n),previousParent:s,currentParent:n.getParent()})}this.graph.stopBatch("embedding")}getDelegatedView(){let e=this.cell,r=this;for(;r&&!e.isEdge();){if(!e.hasParent()||r.can("stopDelegateOnDragging"))return r;e=e.getParent(),r=this.graph.findViewByCell(e)}return null}validateMagnet(e,r,n){if(r.getAttribute("magnet")!=="passive"){const i=this.graph.options.connecting.validateMagnet;return i?vr(i,this.graph,{e:n,magnet:r,view:e,cell:e.cell}):!0}return!1}startMagnetDragging(e,r,n){if(!this.can("magnetConnectable"))return;e.stopPropagation();const i=e.currentTarget,a=this.graph;this.setEventData(e,{targetMagnet:i}),this.validateMagnet(this,i,e)?(a.options.magnetThreshold<=0&&this.startConnectting(e,i,r,n),this.setEventData(e,{action:"magnet"}),this.stopPropagation(e)):this.onMouseDown(e,r,n),a.view.delegateDragEvents(e,this)}startConnectting(e,r,n,i){this.graph.model.startBatch("add-edge");const a=this.createEdgeFromMagnet(r,n,i);a.setEventData(e,a.prepareArrowheadDragging("target",{x:n,y:i,isNewEdge:!0,fallbackAction:"remove"})),this.setEventData(e,{edgeView:a}),a.notifyMouseDown(e,n,i)}getDefaultEdge(e,r){let n;const i=this.graph.options.connecting.createEdge;return i&&(n=vr(i,this.graph,{sourceMagnet:r,sourceView:e,sourceCell:e.cell})),n}createEdgeFromMagnet(e,r,n){const i=this.graph,a=i.model,s=this.getDefaultEdge(this,e);return s.setSource(Object.assign(Object.assign({},s.getSource()),this.getEdgeTerminal(e,r,n,s,"source"))),s.setTarget(Object.assign(Object.assign({},s.getTarget()),{x:r,y:n})),s.addTo(a,{async:!1,ui:!0}),s.findView(i)}dragMagnet(e,r,n){const i=this.getEventData(e),a=i.edgeView;if(a)a.onMouseMove(e,r,n),this.autoScrollGraph(e.clientX,e.clientY);else{const s=this.graph,o=s.options.magnetThreshold,l=this.getEventTarget(e),u=i.targetMagnet;if(o==="onleave"){if(u===l||u.contains(l))return}else if(s.view.getMouseMovedCount(e)<=o)return;this.startConnectting(e,u,r,n)}}stopMagnetDragging(e,r,n){const a=this.eventData(e).edgeView;a&&(a.onMouseUp(e,r,n),this.graph.model.stopBatch("add-edge"))}notifyUnhandledMouseDown(e,r,n){this.notify("node:unhandled:mousedown",{e,x:r,y:n,view:this,cell:this.cell,node:this.cell})}notifyNodeMove(e,r,n,i,a){let s=[a];const o=this.graph.getPlugin("selection");if(o&&o.isSelectionMovable()){const l=o.getSelectedCells();l.includes(a)&&(s=l.filter(u=>u.isNode()))}s.forEach(l=>{this.notify(e,{e:r,x:n,y:i,cell:l,node:l,view:l.findView(this.graph)})})}getRestrictArea(e){const r=this.graph.options.translating.restrict,n=typeof r=="function"?vr(r,this.graph,e):r;return typeof n=="number"?this.graph.transform.getGraphArea().inflate(n):n===!0?this.graph.transform.getGraphArea():n||null}startNodeDragging(e,r,n){const i=this.getDelegatedView();if(i==null||!i.can("nodeMovable"))return this.notifyUnhandledMouseDown(e,r,n);this.setEventData(e,{targetView:i,action:"move"});const a=Je.create(i.cell.getPosition());i.setEventData(e,{moving:!1,offset:a.diff(r,n),restrict:this.getRestrictArea(i)})}dragNode(e,r,n){const i=this.cell,a=this.graph,s=a.getGridSize(),o=this.getEventData(e),l=o.offset,u=o.restrict;o.moving||(o.moving=!0,this.addClass("node-moving"),this.notifyNodeMove("node:move",e,r,n,this.cell)),this.autoScrollGraph(e.clientX,e.clientY);const d=kd(r+l.x,s),h=kd(n+l.y,s);i.setPosition(d,h,{restrict:u,deep:!0,ui:!0}),a.options.embedding.enabled&&(o.embedding||(this.prepareEmbedding(e),o.embedding=!0),this.processEmbedding(e,o))}autoOffsetNode(){const e=this.cell,r=this.graph,n=Object.assign({id:e.id},e.getPosition()),a=r.getNodes().map(u=>{const d=u.getPosition();return{id:u.id,x:d.x,y:d.y}}).filter(u=>u.id!==n.id),s=[[1,1],[1,-1],[-1,1],[-1,-1]];let o=r.getGridSize();const l=u=>a.some(d=>d.x===u.x&&d.y===u.y);for(;l(n);){let u=!1;for(let d=0;d<s.length;d+=1){const h=s[d],f={x:n.x+h[0]*o,y:n.y+h[1]*o};if(!l(f)){e.translate(h[0]*o,h[1]*o),u=!0;break}}if(u)break;o+=r.getGridSize()}}stopNodeDragging(e,r,n){const i=this.getEventData(e),a=this.graph;i.embedding&&this.finalizeEmbedding(e,i),i.moving&&(a.options.translating.autoOffset&&this.autoOffsetNode(),this.removeClass("node-moving"),this.notifyNodeMove("node:moved",e,r,n,this.cell)),i.moving=!1,i.embedding=!1}autoScrollGraph(e,r){const n=this.graph.getPlugin("scroller");n&&n.autoScroll(e,r)}}const kle=`X6.${Wh.name}`;Wh.config({isSvgElement:!0,priority:0,bootstrap:["render"],actions:{view:["render"],markup:["render"],attrs:["update"],size:["resize","ports","tools"],angle:["rotate","tools"],position:["translate","tools"],ports:["ports"],tools:["tools"]}});Wh.registry.register("node",Wh,!0);class Bg extends Ys{constructor(){super(...arguments),this.POINT_ROUNDING=2,this.labelDestroyFn={}}static isEdgeView(e){if(e==null)return!1;if(e instanceof Bg)return!0;const r=e[Symbol.toStringTag],n=e;return(r==null||r===Ele)&&typeof n.isNodeView=="function"&&typeof n.isEdgeView=="function"&&typeof n.confirmUpdate=="function"&&typeof n.update=="function"&&typeof n.getConnection=="function"}get[Symbol.toStringTag](){return Ele}getContainerClassName(){return[super.getContainerClassName(),this.prefixClassName("edge")].join(" ")}get sourceBBox(){const e=this.sourceView;if(!e||!this.graph.renderer.isViewMounted(e)){const n=this.cell.getSourceCell();if(n)return n.getBBox();const i=this.cell.getSourcePoint();return new Bt(i.x,i.y)}const r=this.sourceMagnet;return e.isEdgeElement(r)?new Bt(this.sourceAnchor.x,this.sourceAnchor.y):e.getBBoxOfElement(r||e.container)}get targetBBox(){const e=this.targetView;if(!e||!this.graph.renderer.isViewMounted(e)){const n=this.cell.getTargetCell();if(n)return n.getBBox();const i=this.cell.getTargetPoint();return new Bt(i.x,i.y)}const r=this.targetMagnet;return e.isEdgeElement(r)?new Bt(this.targetAnchor.x,this.targetAnchor.y):e.getBBoxOfElement(r||e.container)}isEdgeView(){return!0}confirmUpdate(e,r={}){let n=e;if(this.hasAction(n,"source")){if(!this.updateTerminalProperties("source"))return n;n=this.removeAction(n,"source")}if(this.hasAction(n,"target")){if(!this.updateTerminalProperties("target"))return n;n=this.removeAction(n,"target")}return this.hasAction(n,"render")?(this.render(),n=this.removeAction(n,["render","update","labels","tools"]),n):(n=this.handleAction(n,"update",()=>this.update(r)),n=this.handleAction(n,"labels",()=>this.onLabelsChange(r)),n=this.handleAction(n,"tools",()=>this.renderTools()),n)}render(){return this.empty(),this.renderMarkup(),this.labelContainer=null,this.renderLabels(),this.update(),this.renderTools(),this.notify("view:render",{view:this}),this}renderMarkup(){const e=this.cell.markup;if(e){if(typeof e=="string")throw new TypeError("Not support string markup.");return this.renderJSONMarkup(e)}throw new TypeError("Invalid edge markup.")}renderJSONMarkup(e){const r=this.parseJSONMarkup(e,this.container);this.selectors=r.selectors,this.container.append(r.fragment)}customizeLabels(){if(this.labelContainer){const e=this.cell,r=e.labels;for(let n=0,i=r.length;n<i;n+=1){const a=r[n],s=this.labelCache[n],o=this.labelSelectors[n],l=this.graph.options.onEdgeLabelRendered;if(l){const u=l({edge:e,label:a,container:s,selectors:o});u&&(this.labelDestroyFn[n]=u)}}}}destroyCustomizeLabels(){const e=this.cell.labels;if(this.labelCache&&this.labelSelectors&&this.labelDestroyFn)for(let r=0,n=e.length;r<n;r+=1){const i=this.labelDestroyFn[r],a=this.labelCache[r],s=this.labelSelectors[r];i&&a&&s&&i({edge:this.cell,label:e[r],container:a,selectors:s})}this.labelDestroyFn={}}renderLabels(){const e=this.cell,r=e.getLabels(),n=r.length;let i=this.labelContainer;if(this.labelCache={},this.labelSelectors={},n<=0)return i!=null&&i.parentNode&&i.parentNode.removeChild(i),this;i?this.empty(i):(i=Kd("g"),this.addClass(this.prefixClassName("edge-labels"),i),this.labelContainer=i);for(let a=0,s=r.length;a<s;a+=1){const o=r[a],l=this.normalizeLabelMarkup(this.parseLabelMarkup(o.markup));let u,d;if(l)u=l.node,d=l.selectors;else{const f=e.getDefaultLabel(),p=this.normalizeLabelMarkup(this.parseLabelMarkup(f.markup));u=p.node,d=p.selectors}u.setAttribute("data-index",`${a}`),i.appendChild(u);const h=this.rootSelector;if(d[h])throw new Error("Ambiguous label root selector.");d[h]=u,this.labelCache[a]=u,this.labelSelectors[a]=d}return i.parentNode==null&&this.container.appendChild(i),this.updateLabels(),this.customizeLabels(),this}onLabelsChange(e={}){this.destroyCustomizeLabels(),this.shouldRerenderLabels(e)?this.renderLabels():this.updateLabels(),this.updateLabelPositions()}shouldRerenderLabels(e={}){const r=this.cell.previous("labels");if(r==null)return!0;if("propertyPathArray"in e&&"propertyValue"in e){const n=e.propertyPathArray||[],i=n.length;if(i>1){const a=n[1];if(r[a]){if(i===2)return typeof e.propertyValue=="object"&&M2(e.propertyValue,"markup");if(n[2]!=="markup")return!1}}}return!0}parseLabelMarkup(e){return e?typeof e=="string"?this.parseLabelStringMarkup(e):this.parseJSONMarkup(e):null}parseLabelStringMarkup(e){const r=Ar.createVectors(e),n=document.createDocumentFragment();for(let i=0,a=r.length;i<a;i+=1){const s=r[i].node;n.appendChild(s)}return{fragment:n,selectors:{}}}normalizeLabelMarkup(e){if(e==null)return;const r=e.fragment;if(!(r instanceof DocumentFragment)||!r.hasChildNodes())throw new Error("Invalid label markup.");let n;const i=r.childNodes;return i.length>1||i[0].nodeName.toUpperCase()!=="G"?n=Ar.create("g").append(r):n=Ar.create(i[0]),n.addClass(this.prefixClassName("edge-label")),{node:n.node,selectors:e.selectors}}updateLabels(){if(this.labelContainer){const e=this.cell,r=e.labels,n=this.can("edgeLabelMovable"),i=e.getDefaultLabel();for(let a=0,s=r.length;a<s;a+=1){const o=this.labelCache[a],l=this.labelSelectors[a];o.setAttribute("cursor",n?"move":"default");const u=r[a],d=zi({},i.attrs,u.attrs);this.updateAttrs(o,d,{selectors:l,rootBBox:u.size?Bt.fromSize(u.size):void 0})}}}renderTools(){const e=this.cell.getTools();return this.addTools(e),this}update(e={}){var r;this.cleanCache(),this.updateConnection(e);const n=this.cell.getAttrs(),{text:i}=n,a=Un(n,["text"]);if(a!=null){if(((r=this.container)===null||r===void 0?void 0:r.tagName)==="g"&&this.isEdgeElement(this.container)&&Sst){const s=this.container.parentNode;if(s){const o=this.container.nextSibling;s.removeChild(this.container),s.insertBefore(this.container,o)}}this.updateAttrs(this.container,a,{selectors:this.selectors})}return this.updateLabelPositions(),this.updateTools(e),this}removeRedundantLinearVertices(e={}){const r=this.cell,n=r.getVertices(),i=[this.sourceAnchor,...n,this.targetAnchor],a=i.length,s=new qs(i);s.simplify({threshold:.01});const o=s.points.map(u=>u.toJSON()),l=o.length;return a===l?0:(r.setVertices(o.slice(1,l-1),e),a-l)}getTerminalView(e){switch(e){case"source":return this.sourceView||null;case"target":return this.targetView||null;default:throw new Error(`Unknown terminal type '${e}'`)}}getTerminalAnchor(e){switch(e){case"source":return Je.create(this.sourceAnchor);case"target":return Je.create(this.targetAnchor);default:throw new Error(`Unknown terminal type '${e}'`)}}getTerminalConnectionPoint(e){switch(e){case"source":return Je.create(this.sourcePoint);case"target":return Je.create(this.targetPoint);default:throw new Error(`Unknown terminal type '${e}'`)}}getTerminalMagnet(e,r={}){switch(e){case"source":{if(r.raw)return this.sourceMagnet;const n=this.sourceView;return n?this.sourceMagnet||n.container:null}case"target":{if(r.raw)return this.targetMagnet;const n=this.targetView;return n?this.targetMagnet||n.container:null}default:throw new Error(`Unknown terminal type '${e}'`)}}updateConnection(e={}){const r=this.cell;if(e.translateBy&&r.isFragmentDescendantOf(e.translateBy)){const n=e.tx||0,i=e.ty||0;this.routePoints=new qs(this.routePoints).translate(n,i).points,this.translateConnectionPoints(n,i),this.path.translate(n,i)}else{const n=r.getVertices(),i=this.findAnchors(n);this.sourceAnchor=i.source,this.targetAnchor=i.target,this.routePoints=this.findRoutePoints(n);const a=this.findConnectionPoints(this.routePoints,this.sourceAnchor,this.targetAnchor);this.sourcePoint=a.source,this.targetPoint=a.target;const s=this.findMarkerPoints(this.routePoints,this.sourcePoint,this.targetPoint);this.path=this.findPath(this.routePoints,s.source||this.sourcePoint,s.target||this.targetPoint)}this.cleanCache()}findAnchors(e){const r=this.cell,n=r.source,i=r.target,a=e[0],s=e[e.length-1];return i.priority&&!n.priority?this.findAnchorsOrdered("target",s,"source",a):this.findAnchorsOrdered("source",a,"target",s)}findAnchorsOrdered(e,r,n,i){let a,s;const o=this.cell,l=o[e],u=o[n],d=this.getTerminalView(e),h=this.getTerminalView(n),f=this.getTerminalMagnet(e),p=this.getTerminalMagnet(n);if(d){let g;r?g=Je.create(r):h?g=p:g=Je.create(u),a=this.getAnchor(l.anchor,d,f,g,e)}else a=Je.create(l);if(h){const g=Je.create(i||a);s=this.getAnchor(u.anchor,h,p,g,n)}else s=Je.isPointLike(u)?Je.create(u):new Je;return{[e]:a,[n]:s}}getAnchor(e,r,n,i,a){const s=r.isEdgeElement(n),o=this.graph.options.connecting;let l=typeof e=="string"?{name:e}:e;if(!l){const h=s?(a==="source"?o.sourceEdgeAnchor:o.targetEdgeAnchor)||o.edgeAnchor:(a==="source"?o.sourceAnchor:o.targetAnchor)||o.anchor;l=typeof h=="string"?{name:h}:h}if(!l)throw new Error("Anchor should be specified.");let u;const d=l.name;if(s){const h=Vw.get(d);if(typeof h!="function")return Vw.onNotFound(d);u=vr(h,this,r,n,i,l.args||{},a)}else{const h=jw.get(d);if(typeof h!="function")return jw.onNotFound(d);u=vr(h,this,r,n,i,l.args||{},a)}return u?u.round(this.POINT_ROUNDING):new Je}findRoutePoints(e=[]){const r=this.graph.options.connecting.router||XV.normal,n=this.cell.getRouter()||r;let i;if(typeof n=="function")i=vr(n,this,e,{},this);else{const a=typeof n=="string"?n:n.name,s=typeof n=="string"?{}:n.args||{},o=a?kv.get(a):XV.normal;if(typeof o!="function")return kv.onNotFound(a);i=vr(o,this,e,s,this)}return i==null?e.map(a=>Je.create(a)):i.map(a=>Je.create(a))}findConnectionPoints(e,r,n){const i=this.cell,a=this.graph.options.connecting,s=i.getSource(),o=i.getTarget(),l=this.sourceView,u=this.targetView,d=e[0],h=e[e.length-1];let f;if(l&&!l.isEdgeElement(this.sourceMagnet)){const g=this.sourceMagnet||l.container,m=d||n,U=new cr(m,r),y=s.connectionPoint||a.sourceConnectionPoint||a.connectionPoint;f=this.getConnectionPoint(y,l,g,U,"source")}else f=r;let p;if(u&&!u.isEdgeElement(this.targetMagnet)){const g=this.targetMagnet||u.container,m=o.connectionPoint||a.targetConnectionPoint||a.connectionPoint,U=h||r,y=new cr(U,n);p=this.getConnectionPoint(m,u,g,y,"target")}else p=n;return{source:f,target:p}}getConnectionPoint(e,r,n,i,a){const s=i.end;if(e==null)return s;const o=typeof e=="string"?e:e.name,l=typeof e=="string"?{}:e.args,u=Fw.get(o);if(typeof u!="function")return Fw.onNotFound(o);const d=vr(u,this,i,r,n,l||{},a);return d?d.round(this.POINT_ROUNDING):s}findMarkerPoints(e,r,n){const i=h=>{const f=this.cell.getAttrs(),p=Object.keys(f);for(let g=0,m=p.length;g<m;g+=1){const U=f[p[g]];if(U[`${h}Marker`]||U[`${h}-marker`]){const y=U.strokeWidth||U["stroke-width"];if(y)return parseFloat(y);break}}return null},a=e[0],s=e[e.length-1];let o,l;const u=i("source");u&&(o=r.clone().move(a||n,-u));const d=i("target");return d&&(l=n.clone().move(s||r,-d)),this.sourceMarkerPoint=o||r.clone(),this.targetMarkerPoint=l||n.clone(),{source:o,target:l}}findPath(e,r,n){const i=this.cell.getConnector()||this.graph.options.connecting.connector;let a,s,o;if(typeof i=="string"?a=i:(a=i.name,s=i.args),a){const u=Hw.get(a);if(typeof u!="function")return Hw.onNotFound(a);o=u}else o=L7e.normal;const l=vr(o,this,r,n,e,Object.assign(Object.assign({},s),{raw:!0}),this);return typeof l=="string"?hi.parse(l):l}translateConnectionPoints(e,r){this.sourcePoint.translate(e,r),this.targetPoint.translate(e,r),this.sourceAnchor.translate(e,r),this.targetAnchor.translate(e,r),this.sourceMarkerPoint.translate(e,r),this.targetMarkerPoint.translate(e,r)}updateLabelPositions(){if(this.labelContainer==null)return this;if(!this.path)return this;const r=this.cell,n=r.getLabels();if(n.length===0)return this;const i=r.getDefaultLabel(),a=this.normalizeLabelPosition(i.position);for(let s=0,o=n.length;s<o;s+=1){const l=n[s],u=this.labelCache[s];if(!u)continue;const d=this.normalizeLabelPosition(l.position),h=zi({},a,d),f=this.getLabelTransformationMatrix(h);u.setAttribute("transform",FC(f))}return this}updateTerminalProperties(e){const r=this.cell,n=this.graph,i=r[e],a=i&&i.cell,s=`${e}View`;if(!a)return this[s]=null,this.updateTerminalMagnet(e),!0;const o=n.getCellById(a);if(!o)throw new Error(`Edge's ${e} node with id "${a}" not exists`);const l=o.findView(n);return l?(this[s]=l,this.updateTerminalMagnet(e),!0):!1}updateTerminalMagnet(e){const r=`${e}Magnet`,n=this.getTerminalView(e);if(n){let i=n.getMagnetFromEdgeTerminal(this.cell[e]);i===n.container&&(i=null),this[r]=i}else this[r]=null}getLabelPositionAngle(e){const r=this.cell.getLabelAt(e);return r&&r.position&&typeof r.position=="object"&&r.position.angle||0}getLabelPositionArgs(e){const r=this.cell.getLabelAt(e);if(r&&r.position&&typeof r.position=="object")return r.position.options}getDefaultLabelPositionArgs(){const e=this.cell.getDefaultLabel();if(e&&e.position&&typeof e.position=="object")return e.position.options}mergeLabelPositionArgs(e,r){return e===null?null:e===void 0?r===null?null:r:zi({},r,e)}getConnection(){return this.path!=null?this.path.clone():null}getConnectionPathData(){if(this.path==null)return"";const e=this.cache.pathCache;return M2(e,"data")||(e.data=this.path.serialize()),e.data||""}getConnectionSubdivisions(){if(this.path==null)return null;const e=this.cache.pathCache;return M2(e,"segmentSubdivisions")||(e.segmentSubdivisions=this.path.getSegmentSubdivisions()),e.segmentSubdivisions}getConnectionLength(){if(this.path==null)return 0;const e=this.cache.pathCache;return M2(e,"length")||(e.length=this.path.length({segmentSubdivisions:this.getConnectionSubdivisions()})),e.length}getPointAtLength(e){return this.path==null?null:this.path.pointAtLength(e,{segmentSubdivisions:this.getConnectionSubdivisions()})}getPointAtRatio(e){return this.path==null?null:(E0(e)&&(e=parseFloat(e)/100),this.path.pointAt(e,{segmentSubdivisions:this.getConnectionSubdivisions()}))}getTangentAtLength(e){return this.path==null?null:this.path.tangentAtLength(e,{segmentSubdivisions:this.getConnectionSubdivisions()})}getTangentAtRatio(e){return this.path==null?null:this.path.tangentAt(e,{segmentSubdivisions:this.getConnectionSubdivisions()})}getClosestPoint(e){return this.path==null?null:this.path.closestPoint(e,{segmentSubdivisions:this.getConnectionSubdivisions()})}getClosestPointLength(e){return this.path==null?null:this.path.closestPointLength(e,{segmentSubdivisions:this.getConnectionSubdivisions()})}getClosestPointRatio(e){return this.path==null?null:this.path.closestPointNormalizedLength(e,{segmentSubdivisions:this.getConnectionSubdivisions()})}getLabelPosition(e,r,n,i){var a;const s={distance:0};let o=0,l;typeof n=="number"?(o=n,l=i):l=n,l!=null&&(s.options=l);const u=l==null?void 0:l.absoluteOffset,d=!(l!=null&&l.absoluteDistance),h=(l==null?void 0:l.absoluteDistance)&&l.reverseDistance,f=this.path,p={segmentSubdivisions:this.getConnectionSubdivisions()},g=new Je(e,r),m=(a=f.closestPointT(g,p))!==null&&a!==void 0?a:0,U=this.getConnectionLength()||0;let y=f.lengthAtT(m,p);d&&(y=U>0?y/U:0),h&&(y=-1*(U-y)||1),s.distance=y;let b;u||(b=f.tangentAtT(m));let v;if(b)v=b.pointOffset(g);else{const w=f.pointAtT(m);if(w){const T=g.diff(w);v={x:T.x,y:T.y}}else v={x:0,y:0}}return s.offset=v,s.angle=o,s}normalizeLabelPosition(e){return typeof e=="number"?{distance:e}:e}getLabelTransformationMatrix(e){const r=this.normalizeLabelPosition(e),n=r.options||{},i=r.angle||0,a=r.distance,s=a>0&&a<=1;let o=0;const l={x:0,y:0},u=r.offset;u&&(typeof u=="number"?o=u:(u.x!=null&&(l.x=u.x),u.y!=null&&(l.y=u.y)));const d=l.x!==0||l.y!==0||o===0,h=n.keepGradient,f=n.ensureLegibility,p=this.path,g={segmentSubdivisions:this.getConnectionSubdivisions()},m=s?a*(this.getConnectionLength()||0):a,U=p.tangentAtLength(m,g);let y,b=i;if(U){if(d)y=U.start,y.translate(l);else{const v=U.clone();v.rotate(-90,U.start),v.setLength(o),y=v.end}h&&(b=U.angle()+i,f&&(b=El((b+90)%180-90)))}else y=p.pointAtLength(0,g)||new Je,d&&y.translate(l);return ao().translate(y.x,y.y).rotate(b)}getVertexIndex(e,r){const i=this.cell.getVertices(),a=this.getClosestPointLength(new Je(e,r));let s=0;if(a!=null)for(const o=i.length;s<o;s+=1){const l=i[s],u=this.getClosestPointLength(l);if(u!=null&&a<u)break}return s}getEventArgs(e,r,n){const i=this,a=i.cell,s=a;return r==null||n==null?{e,view:i,edge:a,cell:s}:{e,x:r,y:n,view:i,edge:a,cell:s}}notifyUnhandledMouseDown(e,r,n){this.notify("edge:unhandled:mousedown",{e,x:r,y:n,view:this,cell:this.cell,edge:this.cell})}notifyMouseDown(e,r,n){super.onMouseDown(e,r,n),this.notify("edge:mousedown",this.getEventArgs(e,r,n))}notifyMouseMove(e,r,n){super.onMouseMove(e,r,n),this.notify("edge:mousemove",this.getEventArgs(e,r,n))}notifyMouseUp(e,r,n){super.onMouseUp(e,r,n),this.notify("edge:mouseup",this.getEventArgs(e,r,n))}onClick(e,r,n){super.onClick(e,r,n),this.notify("edge:click",this.getEventArgs(e,r,n))}onDblClick(e,r,n){super.onDblClick(e,r,n),this.notify("edge:dblclick",this.getEventArgs(e,r,n))}onContextMenu(e,r,n){super.onContextMenu(e,r,n),this.notify("edge:contextmenu",this.getEventArgs(e,r,n))}onMouseDown(e,r,n){this.notifyMouseDown(e,r,n),this.startEdgeDragging(e,r,n)}onMouseMove(e,r,n){const i=this.getEventData(e);switch(i.action){case"drag-label":{this.dragLabel(e,r,n);break}case"drag-arrowhead":{this.dragArrowhead(e,r,n);break}case"drag-edge":{this.dragEdge(e,r,n);break}}return this.notifyMouseMove(e,r,n),i}onMouseUp(e,r,n){const i=this.getEventData(e);switch(i.action){case"drag-label":{this.stopLabelDragging(e,r,n);break}case"drag-arrowhead":{this.stopArrowheadDragging(e,r,n);break}case"drag-edge":{this.stopEdgeDragging(e,r,n);break}}return this.notifyMouseUp(e,r,n),this.checkMouseleave(e),i}onMouseOver(e){super.onMouseOver(e),this.notify("edge:mouseover",this.getEventArgs(e))}onMouseOut(e){super.onMouseOut(e),this.notify("edge:mouseout",this.getEventArgs(e))}onMouseEnter(e){super.onMouseEnter(e),this.notify("edge:mouseenter",this.getEventArgs(e))}onMouseLeave(e){super.onMouseLeave(e),this.notify("edge:mouseleave",this.getEventArgs(e))}onMouseWheel(e,r,n,i){super.onMouseWheel(e,r,n,i),this.notify("edge:mousewheel",Object.assign({delta:i},this.getEventArgs(e,r,n)))}onCustomEvent(e,r,n,i){if(D6e(e.target,"edge-tool",this.container)){if(e.stopPropagation(),this.can("useEdgeTools")){if(r==="edge:remove"){this.cell.remove({ui:!0});return}this.notify("edge:customevent",Object.assign({name:r},this.getEventArgs(e,n,i)))}this.notifyMouseDown(e,n,i)}else this.notify("edge:customevent",Object.assign({name:r},this.getEventArgs(e,n,i))),super.onCustomEvent(e,r,n,i)}onLabelMouseDown(e,r,n){this.notifyMouseDown(e,r,n),this.startLabelDragging(e,r,n),this.getEventData(e).stopPropagation&&e.stopPropagation()}startEdgeDragging(e,r,n){if(!this.can("edgeMovable")){this.notifyUnhandledMouseDown(e,r,n);return}this.setEventData(e,{x:r,y:n,moving:!1,action:"drag-edge"})}dragEdge(e,r,n){const i=this.getEventData(e);i.moving||(i.moving=!0,this.addClass("edge-moving"),this.notify("edge:move",{e,x:r,y:n,view:this,cell:this.cell,edge:this.cell})),this.cell.translate(r-i.x,n-i.y,{ui:!0}),this.setEventData(e,{x:r,y:n}),this.notify("edge:moving",{e,x:r,y:n,view:this,cell:this.cell,edge:this.cell})}stopEdgeDragging(e,r,n){const i=this.getEventData(e);i.moving&&(this.removeClass("edge-moving"),this.notify("edge:moved",{e,x:r,y:n,view:this,cell:this.cell,edge:this.cell})),i.moving=!1}prepareArrowheadDragging(e,r){const n=this.getTerminalMagnet(e),i={action:"drag-arrowhead",x:r.x,y:r.y,isNewEdge:r.isNewEdge===!0,terminalType:e,initialMagnet:n,initialTerminal:vR(this.cell[e]),fallbackAction:r.fallbackAction||"revert",getValidateConnectionArgs:this.createValidateConnectionArgs(e),options:r.options};return this.beforeArrowheadDragging(i),i}createValidateConnectionArgs(e){const r=[void 0,void 0,void 0,void 0,e,this];let n,i=0,a=0;e==="source"?(i=2,n="target"):(a=2,n="source");const s=this.cell[n],o=s.cell;if(o){let l;const u=this.graph.findViewByCell(o);r[i]=u,u&&(l=u.getMagnetFromEdgeTerminal(s),l===u.container&&(l=void 0)),r[i+1]=l}return(l,u)=>(r[a]=l,r[a+1]=l.container===u?void 0:u,r)}beforeArrowheadDragging(e){e.zIndex=this.cell.zIndex,this.cell.toFront();const r=this.container.style;e.pointerEvents=r.pointerEvents,r.pointerEvents="none",this.graph.options.connecting.highlight&&this.highlightAvailableMagnets(e)}afterArrowheadDragging(e){e.zIndex!=null&&(this.cell.setZIndex(e.zIndex,{ui:!0}),e.zIndex=null);const r=this.container;r.style.pointerEvents=e.pointerEvents||"",this.graph.options.connecting.highlight&&this.unhighlightAvailableMagnets(e)}validateConnection(e,r,n,i,a,s,o){const l=this.graph.options.connecting,u=l.allowLoop,d=l.allowNode,h=l.allowEdge,f=l.allowPort,p=l.allowMulti,g=l.validateConnection,m=s?s.cell:null,U=a==="target"?n:e,y=a==="target"?i:r;let b=!0;const v=w=>{const T=a==="source"?o?o.port:null:m?m.getSourcePortId():null,S=a==="target"?o?o.port:null:m?m.getTargetPortId():null;return vr(w,this.graph,{edge:m,edgeView:s,sourceView:e,targetView:n,sourcePort:T,targetPort:S,sourceMagnet:r,targetMagnet:i,sourceCell:e?e.cell:null,targetCell:n?n.cell:null,type:a})};if(u!=null&&e!=null&&e===n&&(typeof u=="boolean"?u||(b=!1):b=v(u)),b&&f!=null&&(typeof f=="boolean"?!f&&y&&(b=!1):b=v(f)),b&&h!=null&&(typeof h=="boolean"?!h&&Bg.isEdgeView(U)&&(b=!1):b=v(h)),b&&d!=null&&y==null&&(typeof d=="boolean"?!d&&Wh.isNodeView(U)&&(b=!1):b=v(d)),b&&p!=null&&s){const w=s.cell,T=a==="source"?o:w.getSource(),S=a==="target"?o:w.getTarget(),C=o?this.graph.getCellById(o.cell):null;if(T&&S&&T.cell&&S.cell&&C)if(typeof p=="function")b=v(p);else{const k=this.graph.model.getConnectedEdges(C,{outgoing:a==="source",incoming:a==="target"});k.length&&(p==="withPort"?k.some(A=>{const M=A.getSource(),P=A.getTarget();return M&&P&&M.cell===T.cell&&P.cell===S.cell&&M.port!=null&&M.port===T.port&&P.port!=null&&P.port===S.port})&&(b=!1):p||k.some(A=>{const M=A.getSource(),P=A.getTarget();return M&&P&&M.cell===T.cell&&P.cell===S.cell})&&(b=!1))}}return b&&g!=null&&(b=v(g)),b}allowConnectToBlank(e){const r=this.graph,i=r.options.connecting.allowBlank;if(typeof i!="function")return!!i;const a=r.findViewByCell(e),s=e.getSourceCell(),o=e.getTargetCell(),l=r.findViewByCell(s),u=r.findViewByCell(o);return vr(i,r,{edge:e,edgeView:a,sourceCell:s,targetCell:o,sourceView:l,targetView:u,sourcePort:e.getSourcePortId(),targetPort:e.getTargetPortId(),sourceMagnet:a.sourceMagnet,targetMagnet:a.targetMagnet})}validateEdge(e,r,n){const i=this.graph;if(!this.allowConnectToBlank(e)){const s=e.getSourceCellId(),o=e.getTargetCellId();if(!(s&&o))return!1}const a=i.options.connecting.validateEdge;return a?vr(a,i,{edge:e,type:r,previous:n}):!0}arrowheadDragging(e,r,n,i){i.x=r,i.y=n,i.currentTarget!==e&&(i.currentMagnet&&i.currentView&&i.currentView.unhighlight(i.currentMagnet,{type:"magnetAdsorbed"}),i.currentView=this.graph.findViewByElem(e),i.currentView?(i.currentMagnet=i.currentView.findMagnet(e),i.currentMagnet&&this.validateConnection(...i.getValidateConnectionArgs(i.currentView,i.currentMagnet),i.currentView.getEdgeTerminal(i.currentMagnet,r,n,this.cell,i.terminalType))?i.currentView.highlight(i.currentMagnet,{type:"magnetAdsorbed"}):i.currentMagnet=null):i.currentMagnet=null),i.currentTarget=e,this.cell.prop(i.terminalType,{x:r,y:n},Object.assign(Object.assign({},i.options),{ui:!0}))}arrowheadDragged(e,r,n){const i=e.currentView,a=e.currentMagnet;if(!a||!i)return;i.unhighlight(a,{type:"magnetAdsorbed"});const s=e.terminalType,o=i.getEdgeTerminal(a,r,n,this.cell,s);this.cell.setTerminal(s,o,{ui:!0})}snapArrowhead(e,r,n){const i=this.graph,{snap:a,allowEdge:s}=i.options.connecting,o=typeof a=="object"&&a.radius||50,l=typeof a=="object"&&a.anchor||"center",u=i.renderer.findViewsInArea({x:e-o,y:r-o,width:2*o,height:2*o},{nodeOnly:!0});if(s){const v=i.renderer.findEdgeViewsFromPoint({x:e,y:r},o).filter(w=>w!==this);u.push(...v)}const d=n.closestView||null,h=n.closestMagnet||null;n.closestView=null,n.closestMagnet=null;let f,p=Number.MAX_SAFE_INTEGER;const g=new Je(e,r);u.forEach(v=>{if(v.container.getAttribute("magnet")!=="false"){if(v.isNodeView())f=l==="center"?v.cell.getBBox().getCenter().distance(g):v.cell.getBBox().getNearestPointToPoint(g).distance(g);else if(v.isEdgeView()){const w=v.getClosestPoint(g);w?f=w.distance(g):f=Number.MAX_SAFE_INTEGER}f<o&&f<p&&(h===v.container||this.validateConnection(...n.getValidateConnectionArgs(v,null),v.getEdgeTerminal(v.container,e,r,this.cell,n.terminalType)))&&(p=f,n.closestView=v,n.closestMagnet=v.container)}v.container.querySelectorAll("[magnet]").forEach(w=>{if(w.getAttribute("magnet")!=="false"){const T=v.getBBoxOfElement(w);f=l==="center"?g.distance(T.getCenter()):g.distance(T.getNearestPointToPoint(g)),f<o&&f<p&&(h===w||this.validateConnection(...n.getValidateConnectionArgs(v,w),v.getEdgeTerminal(w,e,r,this.cell,n.terminalType)))&&(p=f,n.closestView=v,n.closestMagnet=w)}})});const m=n.terminalType,U=n.closestView,y=n.closestMagnet,b=h!==y;if(d&&b&&d.unhighlight(h,{type:"magnetAdsorbed"}),U){if(!b)return;U.highlight(y,{type:"magnetAdsorbed"}),this.cell.setTerminal(m,U.getEdgeTerminal(y,e,r,this.cell,m),{},Object.assign(Object.assign({},n.options),{ui:!0}))}else this.cell.setTerminal(m,{x:e,y:r},{},Object.assign(Object.assign({},n.options),{ui:!0}))}snapArrowheadEnd(e){const r=e.closestView,n=e.closestMagnet;r&&n&&(r.unhighlight(n,{type:"magnetAdsorbed"}),e.currentMagnet=r.findMagnet(n)),e.closestView=null,e.closestMagnet=null}finishEmbedding(e){this.graph.options.embedding.enabled&&this.cell.updateParent()&&(e.zIndex=null)}fallbackConnection(e){switch(e.fallbackAction){case"remove":this.cell.remove({ui:!0});break;case"revert":default:this.cell.prop(e.terminalType,e.initialTerminal,{ui:!0});break}}notifyConnectionEvent(e,r){const n=e.terminalType,i=e.initialTerminal,a=this.cell[n];if(a&&!Is.equalTerminals(i,a)){const o=this.graph,l=i,u=l.cell?o.getCellById(l.cell):null,d=l.port,h=u?o.findViewByCell(u):null,f=u||e.isNewEdge?null:Je.create(i).toJSON(),p=a,g=p.cell?o.getCellById(p.cell):null,m=p.port,U=g?o.findViewByCell(g):null,y=g?null:Je.create(a).toJSON();this.notify("edge:connected",{e:r,previousCell:u,previousPort:d,previousView:h,previousPoint:f,currentCell:g,currentView:U,currentPort:m,currentPoint:y,previousMagnet:e.initialMagnet,currentMagnet:e.currentMagnet,edge:this.cell,view:this,type:n,isNew:e.isNewEdge})}}highlightAvailableMagnets(e){const r=this.graph,n=r.model.getCells();e.marked={};for(let i=0,a=n.length;i<a;i+=1){const s=r.findViewByCell(n[i]);if(!s||s.cell.id===this.cell.id)continue;const o=Array.prototype.slice.call(s.container.querySelectorAll("[magnet]"));s.container.getAttribute("magnet")!=="false"&&o.push(s.container);const l=o.filter(u=>this.validateConnection(...e.getValidateConnectionArgs(s,u),s.getEdgeTerminal(u,e.x,e.y,this.cell,e.terminalType)));if(l.length>0){for(let u=0,d=l.length;u<d;u+=1)s.highlight(l[u],{type:"magnetAvailable"});s.highlight(null,{type:"nodeAvailable"}),e.marked[s.cell.id]=l}}}unhighlightAvailableMagnets(e){const r=e.marked||{};Object.keys(r).forEach(n=>{const i=this.graph.findViewByCell(n);i&&(r[n].forEach(s=>{i.unhighlight(s,{type:"magnetAvailable"})}),i.unhighlight(null,{type:"nodeAvailable"}))}),e.marked=null}startArrowheadDragging(e,r,n){if(!this.can("arrowheadMovable")){this.notifyUnhandledMouseDown(e,r,n);return}const a=e.target.getAttribute("data-terminal"),s=this.prepareArrowheadDragging(a,{x:r,y:n});this.setEventData(e,s)}dragArrowhead(e,r,n){const i=this.getEventData(e);this.graph.options.connecting.snap?this.snapArrowhead(r,n,i):this.arrowheadDragging(this.getEventTarget(e),r,n,i)}stopArrowheadDragging(e,r,n){const i=this.graph,a=this.getEventData(e);i.options.connecting.snap?this.snapArrowheadEnd(a):this.arrowheadDragged(a,r,n),this.validateEdge(this.cell,a.terminalType,a.initialTerminal)?(this.finishEmbedding(a),this.notifyConnectionEvent(a,e)):this.fallbackConnection(a),this.afterArrowheadDragging(a)}startLabelDragging(e,r,n){if(this.can("edgeLabelMovable")){const i=e.currentTarget,a=parseInt(i.getAttribute("data-index"),10),s=this.getLabelPositionAngle(a),o=this.getLabelPositionArgs(a),l=this.getDefaultLabelPositionArgs(),u=this.mergeLabelPositionArgs(o,l);this.setEventData(e,{index:a,positionAngle:s,positionArgs:u,stopPropagation:!0,action:"drag-label"})}else this.setEventData(e,{stopPropagation:!0});this.graph.view.delegateDragEvents(e,this)}dragLabel(e,r,n){const i=this.getEventData(e),a=this.cell.getLabelAt(i.index),s=zi({},a,{position:this.getLabelPosition(r,n,i.positionAngle,i.positionArgs)});this.cell.setLabelAt(i.index,s)}stopLabelDragging(e,r,n){}}const Ele=`X6.${Bg.name}`;Bg.config({isSvgElement:!0,priority:1,bootstrap:["render","source","target"],actions:{view:["render"],markup:["render"],attrs:["update"],source:["source","update"],target:["target","update"],router:["update"],connector:["update"],labels:["labels"],defaultLabel:["labels"],tools:["tools"],vertices:["vertices","update"]}});Bg.registry.register("edge",Bg,!0);const dy={idle:"idle",raf:"raf",timeout:"timeout"};class Xht{constructor(){this.isFlushing=!1,this.isFlushPending=!1,this.scheduleId=0,this.queue=[],this.frameInterval=16,this.initialTime=Date.now(),this.pendingJobs=new Map,this.scheduleMode=null}queueJob(e){if(e.priority&Yf.PRIOR)e.cb();else{const r=this.pendingJobs.get(e.id);if(r){if(r.cb=e.cb,e.priority!==r.priority){r.priority=e.priority;const n=this.queue.indexOf(r);if(n>=0){this.queue.splice(n,1);const i=this.findInsertionIndex(r);this.queue.splice(i,0,r)}}}else{const n=this.findInsertionIndex(e);this.queue.splice(n,0,e),this.pendingJobs.set(e.id,e)}}}queueFlush(){!this.isFlushing&&!this.isFlushPending&&(this.isFlushPending=!0,this.scheduleJob())}queueFlushSync(){!this.isFlushing&&!this.isFlushPending&&(this.isFlushPending=!0,this.flushJobsSync())}clearJobs(){this.queue.length=0,this.pendingJobs.clear(),this.isFlushing=!1,this.isFlushPending=!1,this.cancelScheduleJob()}flushJobs(e){this.isFlushPending=!1,this.isFlushing=!0;const r=this.getCurrentTime();let n=this.frameInterval;if(e&&typeof e.timeRemaining=="function"){const i=e.timeRemaining();n=Math.max(0,Math.min(n,i))}for(;this.queue.length>0;){const i=this.queue.shift();if(i.cb(),this.pendingJobs.delete(i.id),this.getCurrentTime()-r>=n)break}this.isFlushing=!1,this.queue.length&&this.queueFlush()}flushJobsSync(){for(this.isFlushPending=!1,this.isFlushing=!0;this.queue.length>0;){const e=this.queue.shift();try{e.cb()}catch(r){console.error(r)}this.pendingJobs.delete(e.id)}this.isFlushing=!1}findInsertionIndex(e){let r=0,n=this.queue.length,i=n-1;const a=e.priority;for(;r<=i;){const s=(i-r>>1)+r;a<=this.queue[s].priority?r=s+1:(n=s,i=s-1)}return n}scheduleJob(){this.scheduleId&&this.cancelScheduleJob(),"requestAnimationFrame"in window?(this.scheduleMode=dy.raf,this.scheduleId=window.requestAnimationFrame(()=>this.flushJobs())):"requestIdleCallback"in window?(this.scheduleMode=dy.idle,this.scheduleId=window.requestIdleCallback(e=>this.flushJobs(e),{timeout:100})):(this.scheduleMode=dy.timeout,this.scheduleId=window.setTimeout(()=>this.flushJobs()))}cancelScheduleJob(){if(!this.scheduleId)return;const e={[dy.idle]:window==null?void 0:window.cancelIdleCallback,[dy.raf]:window==null?void 0:window.cancelAnimationFrame,[dy.timeout]:window==null?void 0:window.clearTimeout},r=this.scheduleMode,n=r?e[r]:void 0;typeof n=="function"&&n(this.scheduleId),this.scheduleId=0,this.scheduleMode=null}getCurrentTime(){return typeof performance=="object"&&typeof performance.now=="function"?performance.now():Date.now()-this.initialTime}}var Yf;(function(t){t[t.Update=2]="Update",t[t.RenderEdge=4]="RenderEdge",t[t.RenderNode=8]="RenderNode",t[t.PRIOR=1048576]="PRIOR"})(Yf||(Yf={}));var fh;(function(t){t[t.CREATED=0]="CREATED",t[t.MOUNTED=1]="MOUNTED",t[t.WAITING=2]="WAITING"})(fh||(fh={}));class y8e extends H4{get model(){return this.graph.model}get container(){return this.graph.view.stage}constructor(e){super(),this.views={},this.willRemoveViews={},this.queue=new Xht,this.graph=e,this.init()}init(){this.startListening(),this.renderViews(this.model.getCells())}startListening(){this.model.on("reseted",this.onModelReseted,this),this.model.on("cell:added",this.onCellAdded,this),this.model.on("cell:removed",this.onCellRemoved,this),this.model.on("cell:change:zIndex",this.onCellZIndexChanged,this),this.model.on("cell:change:visible",this.onCellVisibleChanged,this)}stopListening(){this.model.off("reseted",this.onModelReseted,this),this.model.off("cell:added",this.onCellAdded,this),this.model.off("cell:removed",this.onCellRemoved,this),this.model.off("cell:change:zIndex",this.onCellZIndexChanged,this),this.model.off("cell:change:visible",this.onCellVisibleChanged,this)}onModelReseted({options:e,previous:r}){let n=this.model.getCells();if(!(e!=null&&e.diff))this.queue.clearJobs(),this.removeZPivots(),this.resetViews();else{const i=new Set(r);n=n.filter(a=>!i.has(a))}this.renderViews(n,Object.assign(Object.assign({},e),{queue:n.map(i=>i.id)}))}onCellAdded({cell:e,options:r}){this.renderViews([e],r)}onCellRemoved({cell:e}){this.removeViews([e])}onCellZIndexChanged({cell:e,options:r}){const n=this.views[e.id];n&&this.requestViewUpdate(n.view,j1,r,Yf.Update,!0)}onCellVisibleChanged({cell:e,current:r}){this.toggleVisible(e,!!r)}requestViewUpdate(e,r,n={},i=Yf.Update,a=!0){const s=e.cell.id,o=this.views[s];if(!o)return;const l=o.flag|r;o.flag=l;const u=o.options||{},d=n||{};u.queue&&d.queue==null&&(d.queue=u.queue),(u.async===!1||d.async===!1)&&(d.async=!1),o.options=d,(e.hasAction(r,["translate","resize","rotate"])||d.async===!1)&&(i=Yf.PRIOR,a=!1),this.queue.queueJob({id:s,priority:i,cb:()=>{const p=this.views[s];if(!p)return;const g=p.options||{};this.renderViewInArea(p.view,p.flag,g);const m=g.queue;if(m){const U=m.indexOf(p.view.cell.id);U>=0&&m.splice(U,1),m.length===0&&this.graph.trigger("render:done")}}}),this.getEffectedEdges(e).forEach(p=>{this.requestViewUpdate(p.view,p.flag,n,i,!1)}),a&&this.flush()}setRenderArea(e){this.renderArea=e,Object.values(this.views).forEach(r=>{if(!r)return;const{view:n}=r;r.state===fh.MOUNTED&&(this.isUpdatable(n)||(n.remove(),this.graph.trigger("view:unmounted",{view:n}),r.state=fh.WAITING,r.flag|=j1|n.getBootstrapFlag()))}),this.flushWaitingViews()}isViewMounted(e){if(e==null)return!1;const r=this.views[e.cell.id];return r?r.state===fh.MOUNTED:!1}renderViews(e,r={}){e.sort((n,i)=>n.isNode()&&i.isEdge()?-1:0),e.forEach(n=>{const i=n.id,a=this.views;let s=0,o=a[i];if(o)s=j1;else{const l=this.createCellView(n);l&&(l.graph=this.graph,s=j1|l.getBootstrapFlag(),o={view:l,flag:s,options:r,state:fh.CREATED},this.views[i]=o)}o&&this.requestViewUpdate(o.view,s,r,this.getRenderPriority(o.view),!1)}),this.flush()}renderViewInArea(e,r,n={}){const i=e.cell,a=i.id,s=this.views[a];if(!s)return;let o=0;this.isUpdatable(e)?(o=this.updateView(e,r,n),s.flag=o):(s.state===fh.MOUNTED&&(e.remove(),this.graph.trigger("view:unmounted",{view:e}),o=0),s.state=fh.WAITING,s.flag=r|j1|e.getBootstrapFlag()),o&&i.isEdge()&&(o&e.getFlag(["source","target"]))===0&&this.queue.queueJob({id:a,priority:Yf.RenderEdge,cb:()=>{this.updateView(e,r,n)}})}removeViews(e){e.forEach(r=>{const n=r.id,i=this.views[n];i&&(this.willRemoveViews[n]=i,delete this.views[n],this.queue.queueJob({id:n,priority:this.getRenderPriority(i.view),cb:()=>{this.removeView(i.view)}}))}),this.flush()}flush(){this.graph.options.async?this.queue.queueFlush():this.queue.queueFlushSync()}flushWaitingViews(){Object.values(this.views).forEach(e=>{if(e&&e.state===fh.WAITING){const{view:r,flag:n,options:i}=e;this.requestViewUpdate(r,n,i,this.getRenderPriority(r),!1)}}),this.flush()}updateView(e,r,n={}){if(e==null)return 0;if(Ys.isCellView(e)){if(r&Yht)return this.removeView(e),0;r&j1&&(this.insertView(e),r^=j1)}return r?e.confirmUpdate(r,n):0}insertView(e){const r=this.views[e.cell.id];if(r){const n=e.cell.getZIndex(),i=this.addZPivot(n);this.container.insertBefore(e.container,i),e.cell.isVisible()||this.toggleVisible(e.cell,!1),r.state=fh.MOUNTED,this.graph.trigger("view:mounted",{view:e})}}resetViews(){this.willRemoveViews=Object.assign(Object.assign({},this.views),this.willRemoveViews),Object.values(this.willRemoveViews).forEach(e=>{e&&this.removeView(e.view)}),this.views={},this.willRemoveViews={}}removeView(e){const r=e.cell,n=this.willRemoveViews[r.id];n&&e&&(n.view.remove(),delete this.willRemoveViews[r.id],this.graph.trigger("view:unmounted",{view:e}))}toggleVisible(e,r){const n=this.model.getConnectedEdges(e);for(let a=0,s=n.length;a<s;a+=1){const o=n[a];if(r){const l=o.getSourceCell(),u=o.getTargetCell();if(l&&!l.isVisible()||u&&!u.isVisible())continue;this.toggleVisible(o,!0)}else this.toggleVisible(o,!1)}const i=this.views[e.id];i&&ai(i.view.container,{display:r?"unset":"none"})}addZPivot(e=0){this.zPivots==null&&(this.zPivots={});const r=this.zPivots;let n=r[e];if(n)return n;n=r[e]=document.createComment(`z-index:${e+1}`);let i=-1/0;for(const s in r){const o=+s;o<e&&o>i&&(i=o)}const a=this.container;if(i!==-1/0){const s=r[i];a.insertBefore(n,s.nextSibling)}else a.insertBefore(n,a.firstChild);return n}removeZPivots(){this.zPivots&&Object.values(this.zPivots).forEach(e=>{e&&e.parentNode&&e.parentNode.removeChild(e)}),this.zPivots={}}createCellView(e){const r={graph:this.graph},n=this.graph.options.createCellView;if(n){const a=vr(n,this.graph,e);if(a)return new a(e,r);if(a===null)return null}const i=e.view;if(i!=null&&typeof i=="string"){const a=Ys.registry.get(i);return a?new a(e,r):Ys.registry.onNotFound(i)}return e.isNode()?new Wh(e,r):e.isEdge()?new Bg(e,r):null}getEffectedEdges(e){const r=[],n=e.cell,i=this.model.getConnectedEdges(n);for(let a=0,s=i.length;a<s;a+=1){const o=i[a],l=this.views[o.id];if(!l)continue;const u=l.view;if(!this.isViewMounted(u))continue;const d=["update"];o.getTargetCell()===n&&d.push("target"),o.getSourceCell()===n&&d.push("source"),r.push({id:o.id,view:u,flag:u.getFlag(d)})}return r}isUpdatable(e){if(e.isNodeView())return this.renderArea?this.renderArea.isIntersectWithRect(e.cell.getBBox()):!0;if(e.isEdgeView()){const r=e.cell,n=this.renderArea?this.renderArea.isIntersectWithRect(r.getBBox()):!0;if(this.graph.virtualRender.isVirtualEnabled())return n;const i=r.getSourceCell(),a=r.getTargetCell();if(this.renderArea&&i&&a)return this.renderArea.isIntersectWithRect(i.getBBox())||this.renderArea.isIntersectWithRect(a.getBBox())}return!0}getRenderPriority(e){return e.cell.isNode()?Yf.RenderNode:Yf.RenderEdge}dispose(){this.stopListening(),Object.keys(this.views).forEach(e=>{this.views[e].view.dispose()}),this.views={}}}_n([Bn()],y8e.prototype,"dispose",null);class b8e extends Xu{constructor(){super(...arguments),this.schedule=new y8e(this.graph)}requestViewUpdate(e,r,n={}){this.schedule.requestViewUpdate(e,r,n)}isViewMounted(e){return this.schedule.isViewMounted(e)}setRenderArea(e){this.schedule.setRenderArea(e)}findViewByElem(e){if(e==null)return null;const r=this.options.container,n=typeof e=="string"?r.querySelector(e):e instanceof Element?e:e[0];if(n){const i=this.graph.view.findAttr("data-cell-id",n);if(i){const a=this.schedule.views;if(a[i])return a[i].view}}return null}findViewByCell(e){if(e==null)return null;const r=Ln.isCell(e)?e.id:e,n=this.schedule.views;return n[r]?n[r].view:null}findViewsFromPoint(e){const r={x:e.x,y:e.y};return this.model.getCells().map(n=>this.findViewByCell(n)).filter(n=>n!=null?Bh(n.container,{target:this.view.stage}).containsPoint(r):!1)}findEdgeViewsFromPoint(e,r=5){return this.model.getEdges().map(n=>this.findViewByCell(n)).filter(n=>{if(n!=null){const i=n.getClosestPoint(e);if(i)return i.distance(e)<=r}return!1})}findViewsInArea(e,r={}){const n=Bt.create(e);return this.model.getCells().map(i=>this.findViewByCell(i)).filter(i=>{if(i){if(r.nodeOnly&&!i.isNodeView())return!1;const a=Bh(i.container,{target:this.view.stage});return a.width===0?a.inflate(1,0):a.height===0&&a.inflate(0,1),r.strict?n.containsRect(a):n.isIntersectWithRect(a)}return!1})}dispose(){this.schedule.dispose()}}_n([Bn()],b8e.prototype,"dispose",null);class sJ extends Xu{get elem(){return this.view.background}init(){this.startListening(),this.options.background&&this.draw(this.options.background)}startListening(){this.graph.on("scale",this.update,this),this.graph.on("translate",this.update,this)}stopListening(){this.graph.off("scale",this.update,this),this.graph.off("translate",this.update,this)}updateBackgroundImage(e={}){let r=e.size||"auto auto",n=e.position||"center";const i=this.graph.transform.getScale(),a=this.graph.translate();if(typeof n=="object"){const s=a.tx+i.sx*(n.x||0),o=a.ty+i.sy*(n.y||0);n=`${s}px ${o}px`}typeof r=="object"&&(r=Bt.fromSize(r).scale(i.sx,i.sy),r=`${r.width}px ${r.height}px`),this.elem.style.backgroundSize=r,this.elem.style.backgroundPosition=n}drawBackgroundImage(e,r={}){if(!(e instanceof HTMLImageElement)){this.elem.style.backgroundImage="";return}const n=this.optionsCache;if(n&&n.image!==r.image)return;let i;const a=r.opacity,s=r.size;let o=r.repeat||"no-repeat";const l=HO.get(o);if(typeof l=="function"){const d=r.quality||1;e.width*=d,e.height*=d;const h=l(e,r);if(!(h instanceof HTMLCanvasElement))throw new Error("Background pattern must return an HTML Canvas instance");i=h.toDataURL("image/png"),r.repeat&&o!==r.repeat?o=r.repeat:o="repeat",typeof s=="object"?(s.width*=h.width/e.width,s.height*=h.height/e.height):s===void 0&&(r.size={width:h.width/d,height:h.height/d})}else i=e.src,s===void 0&&(r.size={width:e.width,height:e.height});n!=null&&typeof r.size=="object"&&r.image===n.image&&r.repeat===n.repeat&&r.quality===n.quality&&(n.size=vR(r.size));const u=this.elem.style;u.backgroundImage=`url(${i})`,u.backgroundRepeat=o,u.opacity=a==null||a>=1?"":`${a}`,this.updateBackgroundImage(r)}updateBackgroundColor(e){this.elem.style.backgroundColor=e||""}updateBackgroundOptions(e){this.graph.options.background=e}update(){this.optionsCache&&this.updateBackgroundImage(this.optionsCache)}draw(e){const r=e||{};if(this.updateBackgroundOptions(e),this.updateBackgroundColor(r.color),r.image){this.optionsCache=vR(r);const n=document.createElement("img");n.onload=()=>this.drawBackgroundImage(n,e),n.setAttribute("crossorigin","anonymous"),n.src=r.image}else this.drawBackgroundImage(null),this.optionsCache=null}clear(){this.draw()}dispose(){this.clear(),this.stopListening()}}_n([Bn()],sJ.prototype,"dispose",null);class Kht extends Xu{getClientMatrix(){return ao(this.view.stage.getScreenCTM())}getClientOffset(){const e=this.view.svg.getBoundingClientRect();return new Je(e.left,e.top)}getPageOffset(){return this.getClientOffset().translate(window.scrollX,window.scrollY)}snapToGrid(e,r){return(typeof e=="number"?this.clientToLocalPoint(e,r):this.clientToLocalPoint(e.x,e.y)).snapToGrid(this.graph.getGridSize())}localToGraphPoint(e,r){const n=Je.create(e,r);return Jf(n,this.graph.matrix())}localToClientPoint(e,r){const n=Je.create(e,r);return Jf(n,this.getClientMatrix())}localToPagePoint(e,r){return(typeof e=="number"?this.localToGraphPoint(e,r):this.localToGraphPoint(e)).translate(this.getPageOffset())}localToGraphRect(e,r,n,i){const a=Bt.create(e,r,n,i);return Iu(a,this.graph.matrix())}localToClientRect(e,r,n,i){const a=Bt.create(e,r,n,i);return Iu(a,this.getClientMatrix())}localToPageRect(e,r,n,i){return(typeof e=="number"?this.localToGraphRect(e,r,n,i):this.localToGraphRect(e)).translate(this.getPageOffset())}graphToLocalPoint(e,r){const n=Je.create(e,r);return Jf(n,this.graph.matrix().inverse())}clientToLocalPoint(e,r){const n=Je.create(e,r);return Jf(n,this.getClientMatrix().inverse())}clientToGraphPoint(e,r){const n=Je.create(e,r);return Jf(n,this.graph.matrix().multiply(this.getClientMatrix().inverse()))}pageToLocalPoint(e,r){const i=Je.create(e,r).diff(this.getPageOffset());return this.graphToLocalPoint(i)}graphToLocalRect(e,r,n,i){const a=Bt.create(e,r,n,i);return Iu(a,this.graph.matrix().inverse())}clientToLocalRect(e,r,n,i){const a=Bt.create(e,r,n,i);return Iu(a,this.getClientMatrix().inverse())}clientToGraphRect(e,r,n,i){const a=Bt.create(e,r,n,i);return Iu(a,this.graph.matrix().multiply(this.getClientMatrix().inverse()))}pageToLocalRect(e,r,n,i){const a=Bt.create(e,r,n,i),s=this.getPageOffset();return a.x-=s.x,a.y-=s.y,this.graphToLocalRect(a)}}const Zht=`.x6-graph {
position: relative;
overflow: hidden;
outline: none;
touch-action: none;
}
.x6-graph-background,
.x6-graph-grid,
.x6-graph-svg {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.x6-graph-background-stage,
.x6-graph-grid-stage,
.x6-graph-svg-stage {
user-select: none;
}
.x6-graph.x6-graph-pannable {
cursor: grab;
cursor: -moz-grab;
cursor: -webkit-grab;
}
.x6-graph.x6-graph-panning {
cursor: grabbing;
cursor: -moz-grabbing;
cursor: -webkit-grabbing;
user-select: none;
}
.x6-node {
cursor: move;
/* stylelint-disable-next-line */
}
.x6-node.x6-node-immovable {
cursor: default;
}
.x6-node * {
-webkit-user-drag: none;
}
.x6-node .scalable * {
vector-effect: non-scaling-stroke;
}
.x6-node [magnet='true'] {
cursor: crosshair;
transition: opacity 0.3s;
}
.x6-node [magnet='true']:hover {
opacity: 0.7;
}
.x6-node foreignObject {
display: block;
overflow: visible;
background-color: transparent;
}
.x6-node foreignObject > body {
position: static;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
overflow: visible;
background-color: transparent;
}
.x6-edge .source-marker,
.x6-edge .target-marker {
vector-effect: non-scaling-stroke;
}
.x6-edge .connection {
stroke-linejoin: round;
fill: none;
}
.x6-edge .connection-wrap {
cursor: move;
opacity: 0;
fill: none;
stroke: #000;
stroke-width: 15;
stroke-linecap: round;
stroke-linejoin: round;
}
.x6-edge .connection-wrap:hover {
opacity: 0.4;
stroke-opacity: 0.4;
}
.x6-edge .vertices {
cursor: move;
opacity: 0;
}
.x6-edge .vertices .vertex {
fill: #1abc9c;
}
.x6-edge .vertices .vertex :hover {
fill: #34495e;
stroke: none;
}
.x6-edge .vertices .vertex-remove {
cursor: pointer;
fill: #fff;
}
.x6-edge .vertices .vertex-remove-area {
cursor: pointer;
opacity: 0.1;
}
.x6-edge .vertices .vertex-group:hover .vertex-remove-area {
opacity: 1;
}
.x6-edge .arrowheads {
cursor: move;
opacity: 0;
}
.x6-edge .arrowheads .arrowhead {
fill: #1abc9c;
}
.x6-edge .arrowheads .arrowhead :hover {
fill: #f39c12;
stroke: none;
}
.x6-edge .tools {
cursor: pointer;
opacity: 0;
}
.x6-edge .tools .tool-options {
display: none;
}
.x6-edge .tools .tool-remove circle {
fill: #f00;
}
.x6-edge .tools .tool-remove path {
fill: #fff;
}
.x6-edge:hover .vertices,
.x6-edge:hover .arrowheads,
.x6-edge:hover .tools {
opacity: 1;
}
.x6-highlight-opacity {
opacity: 0.3;
}
.x6-cell-tool-editor {
position: relative;
display: inline-block;
min-height: 1em;
margin: 0;
padding: 0;
line-height: 1;
white-space: normal;
text-align: center;
vertical-align: top;
overflow-wrap: normal;
outline: none;
transform-origin: 0 0;
-webkit-user-drag: none;
cursor: text;
}
.x6-edge-tool-editor {
border: 1px solid #275fc5;
border-radius: 2px;
}
`;class v8e extends Xu{init(){b1("core",Zht)}dispose(){v1("core")}}_n([Bn()],v8e.prototype,"dispose",null);class Jht extends Xu{get cid(){return this.graph.view.cid}get svg(){return this.view.svg}get defs(){return this.view.defs}isDefined(e){return this.svg.getElementById(e)!=null}filter(e){let r=e.id;const n=e.name;if(r||(r=`filter-${n}-${this.cid}-${_B(JSON.stringify(e))}`),!this.isDefined(r)){const i=Gw.get(n);if(i==null)return Gw.onNotFound(n);const a=i(e.args||{}),s=Object.assign(Object.assign({x:-1,y:-1,width:3,height:3,filterUnits:"objectBoundingBox"},e.attrs),{id:r});Ar.create(Al.sanitize(a),s).appendTo(this.defs)}return r}gradient(e){let r=e.id;const n=e.type;if(r||(r=`gradient-${n}-${this.cid}-${_B(JSON.stringify(e))}`),!this.isDefined(r)){const a=e.stops.map(l=>{const u=l.opacity!=null&&Number.isFinite(l.opacity)?l.opacity:1;return`<stop offset="${l.offset}" stop-color="${l.color}" stop-opacity="${u}"/>`}),s=`<${n}>${a.join("")}</${n}>`,o=Object.assign({id:r},e.attrs);Ar.create(s,o).appendTo(this.defs)}return r}marker(e){const{id:r,refX:n,refY:i,markerUnits:a,markerOrient:s,tagName:o,children:l}=e,u=Un(e,["id","refX","refY","markerUnits","markerOrient","tagName","children"]);let d=r;if(d||(d=`marker-${this.cid}-${_B(JSON.stringify(e))}`),!this.isDefined(d)){o!=="path"&&delete u.d;const h=Ar.create("marker",{refX:n,refY:i,id:d,overflow:"visible",orient:s??"auto",markerUnits:a||"userSpaceOnUse"},l?l.map(f=>{var{tagName:p}=f,g=Un(f,["tagName"]);return Ar.create(`${p}`||"path",Dw(Object.assign(Object.assign({},u),g)))}):[Ar.create(o||"path",Dw(u))]);this.defs.appendChild(h.node)}return d}remove(e){const r=this.svg.getElementById(e);r&&r.parentNode&&r.parentNode.removeChild(r)}}class x8e extends Xu{get elem(){return this.view.grid}get grid(){return this.options.grid}init(){this.startListening(),this.draw(this.grid)}startListening(){this.graph.on("scale",this.update,this),this.graph.on("translate",this.update,this)}stopListening(){this.graph.off("scale",this.update,this),this.graph.off("translate",this.update,this)}setVisible(e){this.grid.visible!==e&&(this.grid.visible=e,this.update())}getGridSize(){return this.grid.size}setGridSize(e){this.grid.size=Math.max(e,1),this.update()}show(){this.setVisible(!0),this.update()}hide(){this.setVisible(!1),this.update()}clear(){this.elem.style.backgroundImage=""}draw(e){this.clear(),this.instance=null,Object.assign(this.grid,e),this.patterns=this.resolveGrid(e),this.update()}update(e={}){const r=this.grid.size;if(r<=1||!this.grid.visible)return this.clear();const n=this.graph.matrix(),i=this.getInstance(),a=Array.isArray(e)?e:[e];this.patterns.forEach((l,u)=>{const d=`pattern_${u}`,h=n.a||1,f=n.d||1,{update:p,markup:g}=l,m=Un(l,["update","markup"]),U=Object.assign(Object.assign(Object.assign({},m),a[u]),{sx:h,sy:f,ox:n.e||0,oy:n.f||0,width:r*h,height:r*f});i.has(d)||i.add(d,Ar.create("pattern",{id:d,patternUnits:"userSpaceOnUse"},Ar.createVectors(g)).node);const y=i.get(d);typeof p=="function"&&p(y.childNodes[0],U);let b=U.ox%U.width;b<0&&(b+=U.width);let v=U.oy%U.height;v<0&&(v+=U.height),Nn(y,{x:b,y:v,width:U.width,height:U.height})});const s=new XMLSerializer().serializeToString(i.root),o=`url(data:image/svg+xml;base64,${btoa(s)})`;this.elem.style.backgroundImage=o}getInstance(){return this.instance||(this.instance=new Fut),this.instance}resolveGrid(e){if(!e)return[];const r=e.type;if(r==null)return[Object.assign(Object.assign({},D7e.dot),e.args)];const n=Ww.get(r);if(n){let i=e.args||[];return Array.isArray(i)||(i=[i]),Array.isArray(n)?n.map((a,s)=>Object.assign(Object.assign({},a),i[s])):[Object.assign(Object.assign({},n),i[0])]}return Ww.onNotFound(r)}dispose(){this.stopListening(),this.clear()}}_n([Bn()],x8e.prototype,"dispose",null);class w8e extends Xu{constructor(){super(...arguments),this.highlights={}}init(){this.startListening()}startListening(){this.graph.on("cell:highlight",this.onCellHighlight,this),this.graph.on("cell:unhighlight",this.onCellUnhighlight,this)}stopListening(){this.graph.off("cell:highlight",this.onCellHighlight,this),this.graph.off("cell:unhighlight",this.onCellUnhighlight,this)}onCellHighlight({view:e,magnet:r,options:n={}}){const i=this.resolveHighlighter(n);if(!i)return;const a=this.getHighlighterId(r,i);if(!this.highlights[a]){const s=i.highlighter;s.highlight(e,r,Object.assign({},i.args)),this.highlights[a]={cellView:e,magnet:r,highlighter:s,args:i.args}}}onCellUnhighlight({magnet:e,options:r={}}){const n=this.resolveHighlighter(r);if(!n)return;const i=this.getHighlighterId(e,n);this.unhighlight(i)}resolveHighlighter(e){const r=this.options;let n=e.highlighter;if(n==null){const o=e.type;n=o&&r.highlighting[o]||r.highlighting.default}if(n==null)return null;const i=typeof n=="string"?{name:n}:n,a=i.name,s=qw.get(a);return s==null?qw.onNotFound(a):(Yut(a,s),{name:a,highlighter:s,args:i.args||{}})}getHighlighterId(e,r){return BZ(e),r.name+e.id+JSON.stringify(r.args)}unhighlight(e){const r=this.highlights[e];r&&(r.highlighter.unhighlight(r.cellView,r.magnet,r.args),delete this.highlights[e])}dispose(){Object.keys(this.highlights).forEach(e=>this.unhighlight(e)),this.stopListening()}}_n([Bn()],w8e.prototype,"dispose",null);class T8e extends Xu{constructor(){super(...arguments),this.cumulatedFactor=1}get widgetOptions(){return this.options.mousewheel}init(){this.container=this.graph.container,this.target=this.widgetOptions.global?document:this.container,this.mousewheelHandle=new i7e(this.target,this.onMouseWheel.bind(this),this.allowMouseWheel.bind(this)),this.widgetOptions.enabled&&this.enable(!0)}get disabled(){return this.widgetOptions.enabled!==!0}enable(e){(this.disabled||e)&&(this.widgetOptions.enabled=!0,this.mousewheelHandle.enable())}disable(){this.disabled||(this.widgetOptions.enabled=!1,this.mousewheelHandle.disable())}allowMouseWheel(e){const r=this.widgetOptions.guard;return(r==null||r(e))&&Pg(e,this.widgetOptions.modifiers)}onMouseWheel(e){const r=this.widgetOptions.guard;if((r==null||r(e))&&Pg(e,this.widgetOptions.modifiers)){const n=this.widgetOptions.factor||1.2;this.currentScale==null&&(this.startPos={x:e.clientX,y:e.clientY},this.currentScale=this.graph.transform.getScale().sx),e.deltaY<0?(this.currentScale<.15?this.cumulatedFactor=(this.currentScale+.01)/this.currentScale:this.cumulatedFactor=Math.round(this.currentScale*n*20)/20/this.currentScale,this.cumulatedFactor<=1&&(this.cumulatedFactor=1.05)):(this.currentScale<=.15?this.cumulatedFactor=(this.currentScale-.01)/this.currentScale:this.cumulatedFactor=Math.round(this.currentScale*(1/n)*20)/20/this.currentScale,this.cumulatedFactor>=1&&(this.cumulatedFactor=.95)),this.cumulatedFactor=Math.max(.01,Math.min(this.currentScale*this.cumulatedFactor,160)/this.currentScale);const a=this.currentScale;let s=this.graph.transform.clampScale(a*this.cumulatedFactor);const o=this.widgetOptions.minScale||Number.MIN_SAFE_INTEGER,l=this.widgetOptions.maxScale||Number.MAX_SAFE_INTEGER;if(s=wU(s,o,l),s!==a)if(this.widgetOptions.zoomAtMousePosition){const d=!!this.graph.getPlugin("scroller")?this.graph.clientToLocal(this.startPos):this.graph.clientToGraph(this.startPos);this.graph.zoom(s,{absolute:!0,center:d.clone()})}else this.graph.zoom(s,{absolute:!0});this.currentScale=null,this.cumulatedFactor=1}}dispose(){this.disable()}}_n([Bn()],T8e.prototype,"dispose",null);function Qht(t){const{container:e,grid:r,panning:n,mousewheel:i,embedding:a}=t,s=Un(t,["container","grid","panning","mousewheel","embedding"]),o=eft(e);s.width==null&&(s.width=o.clientWidth),s.height==null&&(s.height=o.clientHeight);const l=zi({},tft,s,{container:o}),u={size:10,visible:!1};return typeof r=="number"?l.grid={size:r,visible:!1}:typeof r=="boolean"?l.grid=Object.assign(Object.assign({},u),{visible:r}):l.grid=Object.assign(Object.assign({},u),r),["panning","mousewheel","embedding"].forEach(h=>{const f=t[h];typeof f=="boolean"?l[h].enabled=f:f!=null&&(l[h]=Object.assign(Object.assign({},l[h]),f))}),l}function eft(t){if(typeof t!="string"){if(Ale(t))return t;throw new Error("Ensure the container of the graph is specified and valid")}const e=t.trim(),r=e?document.getElementById(e):null;if(!Ale(r))throw new Error(`Cannot find the graph container: "${t}"`);return r}function Ale(t){var e;if(t==null||typeof t!="object")return!1;const r=(e=t.ownerDocument)===null||e===void 0?void 0:e.defaultView;return r!=null&&t instanceof r.HTMLElement}const tft={x:0,y:0,scaling:{min:.01,max:16},grid:{size:10,visible:!1},background:!1,panning:{enabled:!0,eventTypes:["leftMouseDown"]},mousewheel:{enabled:!1,factor:1.2,zoomAtMousePosition:!0},highlighting:{default:{name:"stroke",args:{padding:3}},nodeAvailable:{name:"className",args:{className:Kn.prefix("available-node")}},magnetAvailable:{name:"className",args:{className:Kn.prefix("available-magnet")}}},connecting:{snap:!1,allowLoop:!0,allowNode:!0,allowEdge:!1,allowPort:!0,allowBlank:!0,allowMulti:!0,highlight:!1,anchor:"center",edgeAnchor:"ratio",connectionPoint:"boundary",router:"normal",connector:"normal",validateConnection({type:t,sourceView:e,targetView:r}){return(t==="target"?r:e)!=null},createEdge(){return new jht}},translating:{restrict:!1},embedding:{enabled:!1,findParent:"bbox",frontOnly:!0,validate:()=>!0},moveThreshold:0,clickThreshold:0,magnetThreshold:0,preventDefaultDblClick:!0,preventDefaultMouseDown:!1,preventDefaultContextMenu:!0,preventDefaultBlankAction:!0,interacting:{edgeLabelMovable:!1},async:!0,virtual:!1,guard:()=>!1};class C8e extends Xu{get widgetOptions(){return this.options.panning}get pannable(){return this.widgetOptions&&this.widgetOptions.enabled===!0}init(){this.onRightMouseDown=this.onRightMouseDown.bind(this),this.onKeyDown=this.onKeyDown.bind(this),this.onKeyUp=this.onKeyUp.bind(this),this.startListening(),this.updateClassName()}startListening(){this.graph.on("blank:mousedown",this.onMouseDown,this),this.graph.on("node:unhandled:mousedown",this.onMouseDown,this),this.graph.on("edge:unhandled:mousedown",this.onMouseDown,this),Ei.on(this.graph.container,"mousedown",this.onRightMouseDown),Ei.on(document.body,{keydown:this.onKeyDown,keyup:this.onKeyUp}),this.mousewheelHandle=new i7e(this.graph.container,this.onMouseWheel.bind(this),this.allowMouseWheel.bind(this)),this.mousewheelHandle.enable()}stopListening(){this.graph.off("blank:mousedown",this.onMouseDown,this),this.graph.off("node:unhandled:mousedown",this.onMouseDown,this),this.graph.off("edge:unhandled:mousedown",this.onMouseDown,this),Ei.off(this.graph.container,"mousedown",this.onRightMouseDown),Ei.off(document.body,{keydown:this.onKeyDown,keyup:this.onKeyUp}),this.mousewheelHandle&&this.mousewheelHandle.disable()}allowPanning(e,r){return e.spaceKey=this.isSpaceKeyPressed,this.pannable&&Pg(e,this.widgetOptions.modifiers,r)}startPanning(e){const r=this.view.normalizeEvent(e);this.clientX=r.clientX,this.clientY=r.clientY,this.panning=!0,this.updateClassName(e),Ei.on(document.body,{"mousemove.panning touchmove.panning":this.pan.bind(this),"mouseup.panning touchend.panning":this.stopPanning.bind(this),"mouseleave.panning":this.stopPanning.bind(this)}),Ei.on(window,"mouseup.panning",this.stopPanning.bind(this))}pan(e){const r=this.view.normalizeEvent(e),n=r.clientX-this.clientX,i=r.clientY-this.clientY;this.clientX=r.clientX,this.clientY=r.clientY,this.graph.translateBy(n,i)}stopPanning(e){this.panning=!1,this.updateClassName(e),Ei.off(document.body,".panning"),Ei.off(window,".panning")}updateClassName(e){const r=this.widgetOptions.eventTypes;if((r==null?void 0:r.length)===1&&r.includes("mouseWheel"))return;const n=this.view.container,i=this.view.prefixClassName("graph-panning"),a=this.view.prefixClassName("graph-pannable"),s=this.graph.getPlugin("selection"),o=s&&s.allowRubberband(e,!0),l=(r==null?void 0:r.includes("leftMouseDown"))&&!o;this.allowPanning(e??{},!0)||this.allowPanning(e??{})&&l?this.panning?(nr(n,i),Vi(n,a)):(Vi(n,i),nr(n,a)):this.panning||(Vi(n,i),Vi(n,a))}onMouseDown({e}){if(!this.allowBlankMouseDown(e))return;const r=this.graph.getPlugin("selection"),n=r&&r.allowRubberband(e,!0);(this.allowPanning(e,!0)||this.allowPanning(e)&&!n)&&this.startPanning(e)}onRightMouseDown(e){const r=this.widgetOptions.eventTypes;r!=null&&r.includes("rightMouseDown")&&e.button===2&&this.allowPanning(e,!0)&&this.startPanning(e)}onMouseWheel(e,r,n){this.graph.translateBy(-r,-n)}onKeyDown(e){e.which===32&&(this.isSpaceKeyPressed=!0),this.updateClassName(e)}onKeyUp(e){e.which===32&&(this.isSpaceKeyPressed=!1),this.updateClassName(e)}allowBlankMouseDown(e){const r=this.widgetOptions.eventTypes;return typeof e.type=="string"&&e.type.startsWith("touch")||e.pointerType==="touch"?r==null?void 0:r.includes("leftMouseDown"):(r==null?void 0:r.includes("leftMouseDown"))&&e.button===0||(r==null?void 0:r.includes("mouseWheelDown"))&&e.button===1}allowMouseWheel(e){var r;return this.pannable&&!e.ctrlKey&&((r=this.widgetOptions.eventTypes)===null||r===void 0?void 0:r.includes("mouseWheel"))}autoPanning(e,r){const i=this.graph.getGraphArea();let a=0,s=0;e<=i.left+10&&(a=-10),r<=i.top+10&&(s=-10),e>=i.right-10&&(a=10),r>=i.bottom-10&&(s=10),(a!==0||s!==0)&&this.graph.translateBy(-a,-s)}enablePanning(){this.pannable||(this.widgetOptions.enabled=!0,this.updateClassName())}disablePanning(){this.pannable&&(this.widgetOptions.enabled=!1,this.updateClassName())}dispose(){this.stopListening()}}_n([Bn()],C8e.prototype,"dispose",null);class S8e extends Xu{getScroller(){const e=this.graph.getPlugin("scroller");return e&&e.options.enabled?e:null}getContainer(){const e=this.getScroller();return e?e.container.parentElement:this.graph.container.parentElement}getSensorTarget(){const e=this.options.autoResize;if(e)return typeof e=="boolean"?this.getContainer()||void 0:e}init(){if(this.options.autoResize){const r=this.getSensorTarget();if(r){if(typeof ResizeObserver>"u")return;this.ro=new ResizeObserver(a=>{if(!a||a.length===0)return;const{width:s,height:o}=a[0].contentRect;this.resize(Math.round(s),Math.round(o))}),this.ro.observe(r);const n=r.offsetWidth,i=r.offsetHeight;this.resize(n,i)}}}resize(e,r){const n=this.getScroller();n?n.resize(e,r):this.graph.transform.resize(e,r)}dispose(){this.ro&&(this.ro.disconnect(),this.ro=void 0)}}_n([Bn()],S8e.prototype,"dispose",null);class rft extends Xu{get container(){return this.graph.view.container}get viewport(){return this.graph.view.viewport}get stage(){return this.graph.view.stage}init(){this.resize()}getMatrix(){const e=this.viewport.getAttribute("transform");return e!==this.viewportTransformString&&(this.viewportMatrix=this.viewport.getCTM(),this.viewportTransformString=e),ao(this.viewportMatrix)}setMatrix(e){const r=ao(e),n=FC(r);this.viewport.setAttribute("transform",n),this.viewportMatrix=r,this.viewportTransformString=n}resize(e,r){let n=e===void 0?this.options.width:e,i=r===void 0?this.options.height:r;this.options.width=n,this.options.height=i,typeof n=="number"&&(n=Math.round(n)),typeof i=="number"&&(i=Math.round(i)),this.container.style.width=n==null?"":`${n}px`,this.container.style.height=i==null?"":`${i}px`;const a=this.getComputedSize();return this.graph.trigger("resize",Object.assign({},a)),this}getComputedSize(){let e=this.options.width,r=this.options.height;return r0(e)||(e=this.container.clientWidth),r0(r)||(r=this.container.clientHeight),{width:e,height:r}}getScale(){return _ot(this.getMatrix())}scale(e,r=e,n=0,i=0,a=!0){if(e=this.clampScale(e),r=this.clampScale(r),a&&(n||i)){const o=this.getTranslation(),l=this.getScale(),u=n-(n-o.tx)*(e/l.sx),d=i-(i-o.ty)*(r/l.sy);(u!==o.tx||d!==o.ty)&&this.translate(u,d)}const s=this.getMatrix();return s.a=e,s.d=r,this.setMatrix(s),this.graph.trigger("scale",{sx:e,sy:r,ox:n,oy:i}),this}clampScale(e){const r=this.graph.options.scaling;return wU(e,r.min||.01,r.max||16)}getZoom(){return this.getScale().sx}zoom(e,r){r=r||{};let n=e,i=e;const a=this.getScale(),s=this.getComputedSize();let o=s.width/2,l=s.height/2;return r.absolute||(n+=a.sx,i+=a.sy),r.scaleGrid&&(n=Math.round(n/r.scaleGrid)*r.scaleGrid,i=Math.round(i/r.scaleGrid)*r.scaleGrid),r.maxScale&&(n=Math.min(r.maxScale,n),i=Math.min(r.maxScale,i)),r.minScale&&(n=Math.max(r.minScale,n),i=Math.max(r.minScale,i)),r.center&&(o=r.center.x,l=r.center.y),n=this.clampScale(n),i=this.clampScale(i),this.scale(n,i,o,l),this}getRotation(){return Bot(this.getMatrix())}rotate(e,r,n){if(r==null||n==null){const a=Bh(this.stage);r=a.width/2,n=a.height/2}const i=this.getMatrix().translate(r,n).rotate(e).translate(-r,-n);return this.setMatrix(i),this}getTranslation(){return $ot(this.getMatrix())}translate(e,r){const n=this.getMatrix();n.e=e||0,n.f=r||0,this.setMatrix(n);const i=this.getTranslation();return this.options.x=i.tx,this.options.y=i.ty,this.graph.trigger("translate",Object.assign({},i)),this}setOrigin(e,r){return this.translate(e||0,r||0)}fitToContent(e,r,n,i){if(typeof e=="object"){const v=e;e=v.gridWidth||1,r=v.gridHeight||1,n=v.padding||0,i=v}else e=e||1,r=r||1,n=n||0,i==null&&(i={});const a=Sd(n),s=i.border||0,o=i.contentArea?Bt.create(i.contentArea):this.getContentArea(i);s>0&&o.inflate(s);const l=this.getScale(),u=this.getTranslation(),d=l.sx,h=l.sy;o.x*=d,o.y*=h,o.width*=d,o.height*=h;let f=Math.max(Math.ceil((o.width+o.x)/e),1)*e,p=Math.max(Math.ceil((o.height+o.y)/r),1)*r,g=0,m=0;(i.allowNewOrigin==="negative"&&o.x<0||i.allowNewOrigin==="positive"&&o.x>=0||i.allowNewOrigin==="any")&&(g=Math.ceil(-o.x/e)*e,g+=a.left,f+=g),(i.allowNewOrigin==="negative"&&o.y<0||i.allowNewOrigin==="positive"&&o.y>=0||i.allowNewOrigin==="any")&&(m=Math.ceil(-o.y/r)*r,m+=a.top,p+=m),f+=a.right,p+=a.bottom,f=Math.max(f,i.minWidth||0),p=Math.max(p,i.minHeight||0),f=Math.min(f,i.maxWidth||Number.MAX_SAFE_INTEGER),p=Math.min(p,i.maxHeight||Number.MAX_SAFE_INTEGER);const U=this.getComputedSize(),y=f!==U.width||p!==U.height;return(g!==u.tx||m!==u.ty)&&this.translate(g,m),y&&this.resize(f,p),new Bt(-g/d,-m/h,f/d,p/h)}scaleContentToFit(e={}){this.scaleContentToFitImpl(e)}scaleContentToFitImpl(e={},r=!0){let n,i;if(e.contentArea){const y=e.contentArea;n=this.graph.localToGraph(y),i=Je.create(y)}else n=this.getContentBBox(e),i=this.graph.graphToLocal(n);if(!n.width||!n.height)return;const a=Sd(e.padding),s=e.minScale||0,o=e.maxScale||Number.MAX_SAFE_INTEGER,l=e.minScaleX||s,u=e.maxScaleX||o,d=e.minScaleY||s,h=e.maxScaleY||o;let f;if(e.viewportArea)f=e.viewportArea;else{const y=this.getComputedSize(),b=this.getTranslation();f={x:b.tx,y:b.ty,width:y.width,height:y.height}}f=Bt.create(f).moveAndExpand({x:a.left,y:a.top,width:-a.left-a.right,height:-a.top-a.bottom});const p=this.getScale();let g=f.width/n.width*p.sx,m=f.height/n.height*p.sy;e.preserveAspectRatio!==!1&&(g=m=Math.min(g,m));const U=e.scaleGrid;if(U&&(g=U*Math.floor(g/U),m=U*Math.floor(m/U)),g=wU(g,l,u),m=wU(m,d,h),this.scale(g,m),r){const y=this.options,b=f.x-i.x*g-y.x,v=f.y-i.y*m-y.y;this.translate(b,v)}}getContentArea(e={}){return e.useCellGeometry!==!1?this.model.getAllCellsBBox()||new Bt:Bh(this.stage)}getContentBBox(e={}){return this.graph.localToGraph(this.getContentArea(e))}getGraphArea(){const e=Bt.fromSize(this.getComputedSize());return this.graph.graphToLocal(e)}zoomToRect(e,r={}){const n=Bt.create(e),i=this.graph;r.contentArea=n,r.viewportArea==null&&(r.viewportArea={x:i.options.x,y:i.options.y,width:this.options.width,height:this.options.height}),this.scaleContentToFitImpl(r,!1);const a=n.getCenter();return this.centerPoint(a.x,a.y),this}zoomToFit(e={}){return this.zoomToRect(this.getContentArea(e),e)}centerPoint(e,r){const n=this.getComputedSize(),i=this.getScale(),a=this.getTranslation(),s=n.width/2,o=n.height/2;e=typeof e=="number"?e:s,r=typeof r=="number"?r:o,e=s-e*i.sx,r=o-r*i.sy,(a.tx!==e||a.ty!==r)&&this.translate(e,r)}centerContent(e){const n=this.graph.getContentArea(e).getCenter();this.centerPoint(n.x,n.y)}centerCell(e){return this.positionCell(e,"center")}positionPoint(e,r,n){const i=this.getComputedSize();r=qc(r,Math.max(0,i.width)),r<0&&(r=i.width+r),n=qc(n,Math.max(0,i.height)),n<0&&(n=i.height+n);const a=this.getTranslation(),s=this.getScale(),o=r-e.x*s.sx,l=n-e.y*s.sy;(a.tx!==o||a.ty!==l)&&this.translate(o,l)}positionRect(e,r){const n=Bt.create(e);switch(r){case"center":return this.positionPoint(n.getCenter(),"50%","50%");case"top":return this.positionPoint(n.getTopCenter(),"50%",0);case"top-right":return this.positionPoint(n.getTopRight(),"100%",0);case"right":return this.positionPoint(n.getRightMiddle(),"100%","50%");case"bottom-right":return this.positionPoint(n.getBottomRight(),"100%","100%");case"bottom":return this.positionPoint(n.getBottomCenter(),"50%","100%");case"bottom-left":return this.positionPoint(n.getBottomLeft(),0,"100%");case"left":return this.positionPoint(n.getLeftMiddle(),0,"50%");case"top-left":return this.positionPoint(n.getTopLeft(),0,0);default:return this}}positionCell(e,r){const n=e.getBBox();return this.positionRect(n,r)}positionContent(e,r){const n=this.graph.getContentArea(r);return this.positionRect(n,e)}}const kp=`${Kn.prefixCls}-graph`;class A0 extends Ac{static snapshoot(e){const r=e.cloneNode();return e.childNodes.forEach(n=>{r.appendChild(n)}),()=>{for($C(e);e.attributes.length>0;)e.removeAttribute(e.attributes[0].name);for(let n=0,i=r.attributes.length;n<i;n+=1){const a=r.attributes[n];e.setAttribute(a.name,a.value)}r.childNodes.forEach(n=>{e.appendChild(n)})}}get disposeContainer(){return!1}get options(){return this.graph.options}constructor(e){super(),this.graph=e;const{selectors:r,fragment:n}=Al.parseJSONMarkup(A0.markup);this.background=r.background,this.grid=r.grid,this.svg=r.svg,this.defs=r.defs,this.viewport=r.viewport,this.primer=r.primer,this.stage=r.stage,this.decorator=r.decorator,this.overlay=r.overlay,this.container=this.options.container,this.restore=A0.snapshoot(this.container),nr(this.container,this.prefixClassName("graph")),Mo(this.container,n),this.delegateEvents()}delegateEvents(){const e=this.constructor;return super.delegateEvents(e.events),this}guard(e,r){return e.type==="mousedown"&&e.button===2||this.options.guard&&this.options.guard(e,r)?!0:e.data&&e.data.guarded!==void 0?e.data.guarded:!(r&&r.cell&&Ln.isCell(r.cell)||this.svg===e.target||this.container===e.target||this.svg.contains(e.target))}findView(e){return this.graph.findViewByElem(e)}onDblClick(e){this.options.preventDefaultDblClick&&e.preventDefault();const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.guard(r,n))return;const i=this.graph.snapToGrid(r.clientX,r.clientY);n?n.onDblClick(r,i.x,i.y):this.graph.trigger("blank:dblclick",{e:r,x:i.x,y:i.y})}onClick(e){if(this.getMouseMovedCount(e)<=this.options.clickThreshold){const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.guard(r,n))return;const i=this.graph.snapToGrid(r.clientX,r.clientY);n?n.onClick(r,i.x,i.y):this.graph.trigger("blank:click",{e:r,x:i.x,y:i.y})}}isPreventDefaultContextMenu(e){let r=this.options.preventDefaultContextMenu;return typeof r=="function"&&(r=vr(r,this.graph,{view:e})),r}onContextMenu(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.isPreventDefaultContextMenu(n)&&e.preventDefault(),this.guard(r,n))return;const i=this.graph.snapToGrid(r.clientX,r.clientY);n?n.onContextMenu(r,i.x,i.y):this.graph.trigger("blank:contextmenu",{e:r,x:i.x,y:i.y})}delegateDragEvents(e,r){e.data==null&&(e.data={}),this.setEventData(e,{currentView:r||null,mouseMovedCount:0,startPosition:{x:e.clientX,y:e.clientY}});const n=this.constructor;this.delegateDocumentEvents(n.documentEvents,e.data),this.undelegateEvents()}getMouseMovedCount(e){return this.getEventData(e).mouseMovedCount||0}onMouseDown(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.guard(r,n))return;this.options.preventDefaultMouseDown&&e.preventDefault();const i=this.graph.snapToGrid(r.clientX,r.clientY);n?n.onMouseDown(r,i.x,i.y):(this.options.preventDefaultBlankAction&&["touchstart"].includes(r.type)&&e.preventDefault(),this.graph.trigger("blank:mousedown",{e:r,x:i.x,y:i.y})),this.delegateDragEvents(r,n)}onMouseMove(e){const r=this.getEventData(e),n=r.startPosition;if(n&&n.x===e.clientX&&n.y===e.clientY||(r.mouseMovedCount==null&&(r.mouseMovedCount=0),r.mouseMovedCount+=1,r.mouseMovedCount<=this.options.moveThreshold))return;const a=this.normalizeEvent(e),s=this.graph.snapToGrid(a.clientX,a.clientY),o=r.currentView;o?o.onMouseMove(a,s.x,s.y):this.graph.trigger("blank:mousemove",{e:a,x:s.x,y:s.y}),this.setEventData(a,r)}onMouseUp(e){this.undelegateDocumentEvents();const r=this.normalizeEvent(e),n=this.graph.snapToGrid(r.clientX,r.clientY),a=this.getEventData(e).currentView;if(a?a.onMouseUp(r,n.x,n.y):this.graph.trigger("blank:mouseup",{e:r,x:n.x,y:n.y}),!e.isPropagationStopped()){const s=new y0(e,{type:"click",data:e.data});this.onClick(s)}e.stopImmediatePropagation(),this.delegateEvents()}onMouseOver(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(!this.guard(r,n))if(n)n.onMouseOver(r);else{if(this.container===r.target)return;this.graph.trigger("blank:mouseover",{e:r})}}onMouseOut(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(!this.guard(r,n))if(n)n.onMouseOut(r);else{if(this.container===r.target)return;this.graph.trigger("blank:mouseout",{e:r})}}onMouseEnter(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.guard(r,n))return;const i=this.graph.findViewByElem(r.relatedTarget);if(n){if(i===n)return;n.onMouseEnter(r)}else{if(i)return;this.graph.trigger("graph:mouseenter",{e:r})}}onMouseLeave(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.guard(r,n))return;const i=this.graph.findViewByElem(r.relatedTarget);if(n){if(i===n)return;n.onMouseLeave(r)}else{if(i)return;this.graph.trigger("graph:mouseleave",{e:r})}}onMouseWheel(e){const r=this.normalizeEvent(e),n=this.findView(r.target);if(this.guard(r,n))return;const i=r.originalEvent,a=this.graph.snapToGrid(i.clientX,i.clientY),s=Math.max(-1,Math.min(1,i.wheelDelta||-i.detail));n?n.onMouseWheel(r,a.x,a.y,s):this.graph.trigger("blank:mousewheel",{e:r,delta:s,x:a.x,y:a.y})}onCustomEvent(e){const r=e.currentTarget,n=r.getAttribute("event")||r.getAttribute("data-event");if(n){const i=this.findView(r);if(i){const a=this.normalizeEvent(e);if(this.guard(a,i))return;const s=this.graph.snapToGrid(a.clientX,a.clientY);i.onCustomEvent(a,n,s.x,s.y)}}}handleMagnetEvent(e,r){const n=e.currentTarget,i=n.getAttribute("magnet");if(i&&i.toLowerCase()!=="false"){const a=this.findView(n);if(a){const s=this.normalizeEvent(e);if(this.guard(s,a))return;const o=this.graph.snapToGrid(s.clientX,s.clientY);vr(r,this.graph,a,s,n,o.x,o.y)}}}onMagnetMouseDown(e){this.handleMagnetEvent(e,(r,n,i,a,s)=>{r.onMagnetMouseDown(n,i,a,s)})}onMagnetDblClick(e){this.handleMagnetEvent(e,(r,n,i,a,s)=>{r.onMagnetDblClick(n,i,a,s)})}onMagnetContextMenu(e){const r=this.findView(e.target);this.isPreventDefaultContextMenu(r)&&e.preventDefault(),this.handleMagnetEvent(e,(n,i,a,s,o)=>{n.onMagnetContextMenu(i,a,s,o)})}onLabelMouseDown(e){const r=e.currentTarget,n=this.findView(r);if(n){const i=this.normalizeEvent(e);if(this.guard(i,n))return;const a=this.graph.snapToGrid(i.clientX,i.clientY);n.onLabelMouseDown(i,a.x,a.y)}}onImageDragStart(){return!1}dispose(){this.undelegateEvents(),this.undelegateDocumentEvents(),this.restore(),this.restore=()=>{}}}A0.markup=[{ns:js.xhtml,tagName:"div",selector:"background",className:`${kp}-background`},{ns:js.xhtml,tagName:"div",selector:"grid",className:`${kp}-grid`},{ns:js.svg,tagName:"svg",selector:"svg",className:`${kp}-svg`,attrs:{width:"100%",height:"100%","xmlns:xlink":js.xlink},children:[{tagName:"defs",selector:"defs"},{tagName:"g",selector:"viewport",className:`${kp}-svg-viewport`,children:[{tagName:"g",selector:"primer",className:`${kp}-svg-primer`},{tagName:"g",selector:"stage",className:`${kp}-svg-stage`},{tagName:"g",selector:"decorator",className:`${kp}-svg-decorator`},{tagName:"g",selector:"overlay",className:`${kp}-svg-overlay`}]}]}];A0.events={dblclick:"onDblClick",contextmenu:"onContextMenu",touchstart:"onMouseDown",mousedown:"onMouseDown",mouseover:"onMouseOver",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",mousewheel:"onMouseWheel",DOMMouseScroll:"onMouseWheel",[`mouseenter .${Kn.prefixCls}-cell`]:"onMouseEnter",[`mouseleave .${Kn.prefixCls}-cell`]:"onMouseLeave",[`mouseenter .${Kn.prefixCls}-cell-tools`]:"onMouseEnter",[`mouseleave .${Kn.prefixCls}-cell-tools`]:"onMouseLeave",[`mousedown .${Kn.prefixCls}-cell [event]`]:"onCustomEvent",[`touchstart .${Kn.prefixCls}-cell [event]`]:"onCustomEvent",[`mousedown .${Kn.prefixCls}-cell [data-event]`]:"onCustomEvent",[`touchstart .${Kn.prefixCls}-cell [data-event]`]:"onCustomEvent",[`dblclick .${Kn.prefixCls}-cell [magnet]`]:"onMagnetDblClick",[`contextmenu .${Kn.prefixCls}-cell [magnet]`]:"onMagnetContextMenu",[`mousedown .${Kn.prefixCls}-cell [magnet]`]:"onMagnetMouseDown",[`touchstart .${Kn.prefixCls}-cell [magnet]`]:"onMagnetMouseDown",[`dblclick .${Kn.prefixCls}-cell [data-magnet]`]:"onMagnetDblClick",[`contextmenu .${Kn.prefixCls}-cell [data-magnet]`]:"onMagnetContextMenu",[`mousedown .${Kn.prefixCls}-cell [data-magnet]`]:"onMagnetMouseDown",[`touchstart .${Kn.prefixCls}-cell [data-magnet]`]:"onMagnetMouseDown",[`dragstart .${Kn.prefixCls}-cell image`]:"onImageDragStart",[`mousedown .${Kn.prefixCls}-edge .${Kn.prefixCls}-edge-label`]:"onLabelMouseDown",[`touchstart .${Kn.prefixCls}-edge .${Kn.prefixCls}-edge-label`]:"onLabelMouseDown"};A0.documentEvents={mousemove:"onMouseMove",touchmove:"onMouseMove",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onMouseUp"};_n([Bn()],A0.prototype,"dispose",null);const Mle=120;class k8e extends Xu{init(){this.resetRenderArea=Ust(this.resetRenderArea,200,{leading:!0}),this.resetRenderArea(),this.startListening()}bindScrollerEvents(e){this.scrollerRef=e,typeof e.on=="function"&&(e.on("pan:start",this.resetRenderArea,this),e.on("panning",this.resetRenderArea,this),e.on("pan:stop",this.resetRenderArea,this));const r=e.container;r&&(this.scrollerScrollHandler=n=>{this.resetRenderArea()},Ei.on(r,"scroll",this.scrollerScrollHandler))}startListening(){this.graph.on("translate",this.resetRenderArea,this),this.graph.on("scale",this.resetRenderArea,this),this.graph.on("resize",this.resetRenderArea,this);const e=this.graph.getPlugin("scroller");e&&this.bindScrollerEvents(e)}stopListening(){this.graph.off("translate",this.resetRenderArea,this),this.graph.off("scale",this.resetRenderArea,this),this.graph.off("resize",this.resetRenderArea,this),this.unbindScroller()}onScrollerReady(e){this.scrollerRef!==e&&(this.unbindScroller(),this.bindScrollerEvents(e),this.resetRenderArea())}unbindScroller(){if(this.scrollerRef){typeof this.scrollerRef.off=="function"&&(this.scrollerRef.off("pan:start",this.resetRenderArea,this),this.scrollerRef.off("panning",this.resetRenderArea,this),this.scrollerRef.off("pan:stop",this.resetRenderArea,this));const e=this.scrollerRef.container;e&&this.scrollerScrollHandler&&Ei.off(e,"scroll",this.scrollerScrollHandler),this.scrollerRef=void 0,this.scrollerScrollHandler=void 0}}setVirtualEnabled(e){const r=this.options.virtual;if(typeof r=="object"){const n=r;this.options.virtual=Object.assign(Object.assign({},n),{enabled:e})}else this.options.virtual=e}enableVirtualRender(){this.setVirtualEnabled(!0),this.resetRenderArea()}disableVirtualRender(){this.setVirtualEnabled(!1),this.graph.renderer.setRenderArea(void 0)}isVirtualEnabled(){const e=this.options.virtual;return e!=null&&typeof e=="object"?e.enabled!==!1:!!e}getVirtualMargin(){const e=this.options.virtual;if(typeof e=="object"){const r=e.margin;return typeof r=="number"?r:Mle}return Mle}resetRenderArea(){if(this.isVirtualEnabled()){const r=this.graph.getGraphArea();if(r){const n=this.getVirtualMargin(),i=r.clone();i.inflate(n,n),this.graph.renderer.setRenderArea(i);return}}}dispose(){this.stopListening()}}_n([Bn()],k8e.prototype,"dispose",null);let dt=class Xy extends Xl{static isGraph(e){if(e==null)return!1;if(e instanceof Xy)return!0;const r=e[Symbol.toStringTag];return r==null||r===Xy.toStringTag}static render(e,r){const n=typeof e=="string"||e instanceof HTMLElement?new Xy({container:e}):new Xy(e);return r!=null&&n.fromJSON(r),n}get container(){return this.options.container}get[Symbol.toStringTag](){return Xy.toStringTag}constructor(e){super(),this.installedPlugins=new Set,this.options=Qht(e),this.css=new v8e(this),this.view=new A0(this),this.defs=new Jht(this),this.coord=new Kht(this),this.transform=new rft(this),this.highlight=new w8e(this),this.grid=new x8e(this),this.background=new sJ(this),this.options.model?this.model=this.options.model:(this.model=new jc,this.model.graph=this),this.renderer=new b8e(this),this.panning=new C8e(this),this.mousewheel=new T8e(this),this.virtualRender=new k8e(this),this.size=new S8e(this)}isNode(e){return e.isNode()}isEdge(e){return e.isEdge()}resetCells(e,r={}){return this.model.resetCells(e,r),this}clearCells(e={}){return this.model.clear(e),this}toJSON(e={}){return this.model.toJSON(e)}parseJSON(e){return this.model.parseJSON(e)}fromJSON(e,r={}){return this.model.fromJSON(e,r),this}getCellById(e){return this.model.getCell(e)}addNode(e,r={}){return this.model.addNode(e,r)}addNodes(e,r={}){return this.addCell(e.map(n=>Zs.isNode(n)?n:this.createNode(n)),r)}createNode(e){return this.model.createNode(e)}removeNode(e,r={}){return this.model.removeCell(e,r)}addEdge(e,r={}){return this.model.addEdge(e,r)}addEdges(e,r={}){return this.addCell(e.map(n=>Is.isEdge(n)?n:this.createEdge(n)),r)}removeEdge(e,r={}){return this.model.removeCell(e,r)}createEdge(e){return this.model.createEdge(e)}addCell(e,r={}){return this.model.addCell(e,r),this}removeCell(e,r={}){return this.model.removeCell(e,r)}removeCells(e,r={}){return this.model.removeCells(e,r)}removeConnectedEdges(e,r={}){return this.model.removeConnectedEdges(e,r)}disconnectConnectedEdges(e,r={}){return this.model.disconnectConnectedEdges(e,r),this}hasCell(e){return this.model.has(e)}getCells(){return this.model.getCells()}getCellCount(){return this.model.total()}getNodes(){return this.model.getNodes()}getEdges(){return this.model.getEdges()}getOutgoingEdges(e){return this.model.getOutgoingEdges(e)}getIncomingEdges(e){return this.model.getIncomingEdges(e)}getConnectedEdges(e,r={}){return this.model.getConnectedEdges(e,r)}getRootNodes(){return this.model.getRoots()}getLeafNodes(){return this.model.getLeafs()}isRootNode(e){return this.model.isRoot(e)}isLeafNode(e){return this.model.isLeaf(e)}getNeighbors(e,r={}){return this.model.getNeighbors(e,r)}isNeighbor(e,r,n={}){return this.model.isNeighbor(e,r,n)}getSuccessors(e,r={}){return this.model.getSuccessors(e,r)}isSuccessor(e,r,n={}){return this.model.isSuccessor(e,r,n)}getPredecessors(e,r={}){return this.model.getPredecessors(e,r)}isPredecessor(e,r,n={}){return this.model.isPredecessor(e,r,n)}getCommonAncestor(...e){return this.model.getCommonAncestor(...e)}getSubGraph(e,r={}){return this.model.getSubGraph(e,r)}cloneSubGraph(e,r={}){return this.model.cloneSubGraph(e,r)}cloneCells(e){return this.model.cloneCells(e)}getNodesFromPoint(e,r){return this.model.getNodesFromPoint(e,r)}getNodesInArea(e,r,n,i,a){return this.model.getNodesInArea(e,r,n,i,a)}getNodesUnderNode(e,r={}){return this.model.getNodesUnderNode(e,r)}searchCell(e,r,n={}){return this.model.search(e,r,n),this}getShortestPath(e,r,n={}){return this.model.getShortestPath(e,r,n)}getAllCellsBBox(){return this.model.getAllCellsBBox()}getCellsBBox(e,r={}){return this.model.getCellsBBox(e,r)}startBatch(e,r={}){this.model.startBatch(e,r)}stopBatch(e,r={}){this.model.stopBatch(e,r)}batchUpdate(e,r,n){const i=typeof e=="string"?e:"update",a=typeof e=="string"?r:e,s=typeof r=="function"?n:r;this.startBatch(i,s);const o=a();return this.stopBatch(i,s),o}updateCellId(e,r){return this.model.updateCellId(e,r)}findView(e){return Ln.isCell(e)?this.findViewByCell(e):this.findViewByElem(e)}findViews(e){return Bt.isRectangleLike(e)?this.findViewsInArea(e):Je.isPointLike(e)?this.findViewsFromPoint(e):[]}findViewByCell(e){return this.renderer.findViewByCell(e)}findViewByElem(e){return this.renderer.findViewByElem(e)}findViewsFromPoint(e,r){const n=typeof e=="number"?{x:e,y:r}:e;return this.renderer.findViewsFromPoint(n)}findViewsInArea(e,r,n,i,a){const s=typeof e=="number"?{x:e,y:r,width:n,height:i}:e,o=typeof e=="number"?a:r;return this.renderer.findViewsInArea(s,o)}matrix(e){return typeof e>"u"?this.transform.getMatrix():(this.transform.setMatrix(e),this)}resize(e,r){const n=this.getPlugin("scroller");return n?n.resize(e,r):this.transform.resize(e,r),this}scale(e,r=e,n=0,i=0){return typeof e>"u"?this.transform.getScale():(this.transform.scale(e,r,n,i),this)}zoom(e,r){const n=this.getPlugin("scroller");if(n){if(typeof e>"u")return n.zoom();n.zoom(e,r)}else{if(typeof e>"u")return this.transform.getZoom();this.transform.zoom(e,r)}return this}zoomTo(e,r={}){const n=this.getPlugin("scroller");return n?n.zoom(e,Object.assign(Object.assign({},r),{absolute:!0})):this.transform.zoom(e,Object.assign(Object.assign({},r),{absolute:!0})),this}zoomToRect(e,r={}){const n=this.getPlugin("scroller");return n?n.zoomToRect(e,r):this.transform.zoomToRect(e,r),this}zoomToFit(e={}){const r=this.getPlugin("scroller");return r?r.zoomToFit(e):this.transform.zoomToFit(e),this}rotate(e,r,n){return typeof e>"u"?this.transform.getRotation():(this.transform.rotate(e,r,n),this)}translate(e,r){return typeof e>"u"?this.transform.getTranslation():(this.transform.translate(e,r),this)}translateBy(e,r){const n=this.translate(),i=n.tx+e,a=n.ty+r;return this.translate(i,a)}getGraphArea(){var e;const r=this.getPlugin("scroller");if(r){const n=(e=r.getVisibleArea)===null||e===void 0?void 0:e.call(r);if(n)return n}return this.transform.getGraphArea()}getContentArea(e={}){return this.transform.getContentArea(e)}getContentBBox(e={}){return this.transform.getContentBBox(e)}fitToContent(e,r,n,i){return this.transform.fitToContent(e,r,n,i)}scaleContentToFit(e={}){return this.transform.scaleContentToFit(e),this}center(e){return this.centerPoint(e)}centerPoint(e,r,n){const i=this.getPlugin("scroller");return i?i.centerPoint(e,r,n):this.transform.centerPoint(e,r),this}centerContent(e){const r=this.getPlugin("scroller");return r?r.centerContent(e):this.transform.centerContent(e),this}centerCell(e,r){const n=this.getPlugin("scroller");return n?n.centerCell(e,r):this.transform.centerCell(e),this}positionPoint(e,r,n,i={}){const a=this.getPlugin("scroller");return a?a.positionPoint(e,r,n,i):this.transform.positionPoint(e,r,n),this}positionRect(e,r,n){const i=this.getPlugin("scroller");return i?i.positionRect(e,r,n):this.transform.positionRect(e,r),this}positionCell(e,r,n){const i=this.getPlugin("scroller");return i?i.positionCell(e,r,n):this.transform.positionCell(e,r),this}positionContent(e,r){const n=this.getPlugin("scroller");return n?n.positionContent(e,r):this.transform.positionContent(e,r),this}snapToGrid(e,r){return this.coord.snapToGrid(e,r)}pageToLocal(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.pageToLocalRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.pageToLocalRect(e,r,n,i):this.coord.pageToLocalPoint(e,r)}localToPage(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.localToPageRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.localToPageRect(e,r,n,i):this.coord.localToPagePoint(e,r)}clientToLocal(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.clientToLocalRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.clientToLocalRect(e,r,n,i):this.coord.clientToLocalPoint(e,r)}localToClient(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.localToClientRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.localToClientRect(e,r,n,i):this.coord.localToClientPoint(e,r)}localToGraph(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.localToGraphRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.localToGraphRect(e,r,n,i):this.coord.localToGraphPoint(e,r)}graphToLocal(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.graphToLocalRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.graphToLocalRect(e,r,n,i):this.coord.graphToLocalPoint(e,r)}clientToGraph(e,r,n,i){return Bt.isRectangleLike(e)?this.coord.clientToGraphRect(e):typeof e=="number"&&typeof r=="number"&&typeof n=="number"&&typeof i=="number"?this.coord.clientToGraphRect(e,r,n,i):this.coord.clientToGraphPoint(e,r)}defineFilter(e){return this.defs.filter(e)}defineGradient(e){return this.defs.gradient(e)}defineMarker(e){return this.defs.marker(e)}getGridSize(){return this.grid.getGridSize()}setGridSize(e){return this.grid.setGridSize(e),this}showGrid(){return this.grid.show(),this}hideGrid(){return this.grid.hide(),this}clearGrid(){return this.grid.clear(),this}drawGrid(e){return this.grid.draw(e),this}updateBackground(){return this.background.update(),this}drawBackground(e,r){const n=this.getPlugin("scroller");return n!=null&&(this.options.background==null||!r)?n.drawBackground(e,r):this.background.draw(e),this}clearBackground(e){const r=this.getPlugin("scroller");return r!=null&&(this.options.background==null||!e)?r.clearBackground(e):this.background.clear(),this}enableVirtualRender(){return this.virtualRender.enableVirtualRender(),this}disableVirtualRender(){return this.virtualRender.disableVirtualRender(),this}isMouseWheelEnabled(){return!this.mousewheel.disabled}enableMouseWheel(){return this.mousewheel.enable(),this}disableMouseWheel(){return this.mousewheel.disable(),this}toggleMouseWheel(e){return e==null?this.isMouseWheelEnabled()?this.disableMouseWheel():this.enableMouseWheel():e?this.enableMouseWheel():this.disableMouseWheel(),this}isPannable(){const e=this.getPlugin("scroller");return e?e.isPannable():this.panning.pannable}enablePanning(){const e=this.getPlugin("scroller");return e?e.enablePanning():this.panning.enablePanning(),this}disablePanning(){const e=this.getPlugin("scroller");return e?e.disablePanning():this.panning.disablePanning(),this}togglePanning(e){return e==null?this.isPannable()?this.disablePanning():this.enablePanning():e!==this.isPannable()&&(e?this.enablePanning():this.disablePanning()),this}handleScrollerPluginStateChange(e,r){e.name==="scroller"&&(r?this.virtualRender.onScrollerReady(e):this.virtualRender.unbindScroller())}use(e,...r){return this.installedPlugins.has(e)||(this.installedPlugins.add(e),e.init(this,...r),this.handleScrollerPluginStateChange(e,!0)),this}getPlugin(e){return Array.from(this.installedPlugins).find(r=>r.name===e)}getPlugins(e){return Array.from(this.installedPlugins).filter(r=>e.includes(r.name))}enablePlugins(e){let r=e;Array.isArray(r)||(r=[r]);const n=this.getPlugins(r);return n==null||n.forEach(i=>{var a;(a=i==null?void 0:i.enable)===null||a===void 0||a.call(i),this.handleScrollerPluginStateChange(i,!0)}),this}disablePlugins(e){let r=e;Array.isArray(r)||(r=[r]);const n=this.getPlugins(r);return n==null||n.forEach(i=>{var a;(a=i==null?void 0:i.disable)===null||a===void 0||a.call(i),this.handleScrollerPluginStateChange(i,!1)}),this}isPluginEnabled(e){var r;const n=this.getPlugin(e);return(r=n==null?void 0:n.isEnabled)===null||r===void 0?void 0:r.call(n)}disposePlugins(e){let r=e;Array.isArray(r)||(r=[r]);const n=this.getPlugins(r);return n==null||n.forEach(i=>{i.dispose(),this.handleScrollerPluginStateChange(i,!1),this.installedPlugins.delete(i)}),this}dispose(e=!0){e&&this.model.dispose(),this.css.dispose(),this.defs.dispose(),this.grid.dispose(),this.coord.dispose(),this.transform.dispose(),this.highlight.dispose(),this.background.dispose(),this.mousewheel.dispose(),this.panning.dispose(),this.view.dispose(),this.renderer.dispose(),this.installedPlugins.forEach(r=>{r.dispose()})}};dt.toStringTag=`X6.${dt.name}`;dt.registerNode=Zs.registry.register;dt.registerEdge=Is.registry.register;dt.registerView=Ys.registry.register;dt.registerAttr=$w.register;dt.registerGrid=Ww.register;dt.registerFilter=Gw.register;dt.registerNodeTool=Xw.register;dt.registerEdgeTool=Kw.register;dt.registerBackground=HO.register;dt.registerHighlighter=qw.register;dt.registerPortLayout=Yw.register;dt.registerPortLabelLayout=WO.register;dt.registerMarker=Bw.register;dt.registerRouter=kv.register;dt.registerConnector=Hw.register;dt.registerAnchor=jw.register;dt.registerEdgeAnchor=Vw.register;dt.registerConnectionPoint=Fw.register;dt.unregisterNode=Zs.registry.unregister;dt.unregisterEdge=Is.registry.unregister;dt.unregisterView=Ys.registry.unregister;dt.unregisterAttr=$w.unregister;dt.unregisterGrid=Ww.unregister;dt.unregisterFilter=Gw.unregister;dt.unregisterNodeTool=Xw.unregister;dt.unregisterEdgeTool=Kw.unregister;dt.unregisterBackground=HO.unregister;dt.unregisterHighlighter=qw.unregister;dt.unregisterPortLayout=Yw.unregister;dt.unregisterPortLabelLayout=WO.unregister;dt.unregisterMarker=Bw.unregister;dt.unregisterRouter=kv.unregister;dt.unregisterConnector=Hw.unregister;dt.unregisterAnchor=jw.unregister;dt.unregisterEdgeAnchor=Vw.unregister;dt.unregisterConnectionPoint=Fw.unregister;_n([Bn()],dt.prototype,"dispose",null);const QV="html",eG={};class E8e extends Zs{static register(e){const{shape:r,html:n,effect:i,inherit:a}=e,s=Un(e,["shape","html","effect","inherit"]);if(!r)throw new Error("HTML.register should specify `shape` in config.");eG[r]={html:n,effect:i},dt.registerNode(r,Object.assign({inherit:a||"html"},s),!0)}}E8e.config({view:"html-view",markup:[{tagName:"rect",selector:"body"},Object.assign({},Al.getForeignObjectMarkup()),{tagName:"text",selector:"label"}],attrs:{body:{fill:"none",stroke:"none",refWidth:"100%",refHeight:"100%"},fo:{refWidth:"100%",refHeight:"100%"}}});Zs.registry.register("html",E8e,!0);class oJ extends Wh{init(){super.init(),this.cell.on("change:*",this.onCellChangeAny,this)}onCellChangeAny({key:e}){const r=eG[this.cell.shape];if(r){const{effect:n}=r;(!n||n.includes(e))&&this.renderHTMLComponent()}}confirmUpdate(e){const r=super.confirmUpdate(e);return this.handleAction(r,QV,()=>this.renderHTMLComponent())}renderHTMLComponent(){const e=this.selectors&&this.selectors.foContent;if(e){$C(e);const r=eG[this.cell.shape];if(!r)return;let{html:n}=r;typeof n=="function"&&(n=n(this.cell)),n&&(typeof n=="string"?e.innerHTML=n:Mo(e,n))}}dispose(){this.cell.off("change:*",this.onCellChangeAny,this)}}_n([Bn()],oJ.prototype,"dispose",null);oJ.config({bootstrap:[QV],actions:{html:QV}});Wh.registry.register("html-view",oJ,!0);G4("image",{attrs:{image:{refWidth:"100%",refHeight:"100%"}},propHooks:qht()},{selector:"image"});jC.define({shape:"path",markup:[{tagName:"rect",selector:"bg"},{tagName:"path",selector:"body"},{tagName:"text",selector:"label"}],attrs:{bg:{refWidth:"100%",refHeight:"100%",fill:"none",stroke:"none",pointerEvents:"all"},body:{fill:"none",stroke:"#000",strokeWidth:2}},propHooks(t){const{path:e}=t,r=Un(t,["path"]);return e&&z4(r,"attrs/body/refD",e),r}});class lJ extends jC{get points(){return this.getPoints()}set points(e){this.setPoints(e)}getPoints(){return this.getAttrByPath("body/refPoints")}setPoints(e,r){return e==null?this.removePoints():this.setAttrByPath("body/refPoints",m8e(e),r),this}removePoints(){return this.removeAttrByPath("body/refPoints"),this}}lJ.config({propHooks(t){const{points:e}=t,r=Un(t,["points"]);if(e){const n=m8e(e);n&&z4(r,"attrs/body/refPoints",n)}return r}});G4("polygon",{},{parent:lJ});G4("polyline",{},{parent:lJ});G4("rect",{attrs:{body:{refWidth:"100%",refHeight:"100%"}}});function nft(t){return t?{tagName:"foreignObject",selector:"foreignObject",children:[{tagName:"div",ns:js.xhtml,selector:"label",style:{width:"100%",height:"100%",position:"static",backgroundColor:"transparent",textAlign:"center",margin:0,padding:"0px 5px",boxSizing:"border-box",display:"flex",alignItems:"center",justifyContent:"center"}}]}:{tagName:"text",selector:"label",attrs:{textAnchor:"middle"}}}const ift={shape:"text-block",markup:[{tagName:"rect",selector:"body"},nft(Est)],attrs:{body:Object.assign(Object.assign({},g8e),{refWidth:"100%",refHeight:"100%"}),foreignObject:{refWidth:"100%",refHeight:"100%"},label:{style:{fontSize:14}}},propHooks(t){const{text:e}=t,r=Un(t,["text"]);return e&&z4(r,"attrs/label/text",e),r},attrHooks:{text:{set(t,{cell:e,view:r,refBBox:n,elem:i,attrs:a}){if(i instanceof HTMLElement)i.textContent=t;else{const s=a.style||{},o={text:t,width:-5,height:"100%"},l=Object.assign({textVerticalAnchor:"middle"},s),u=E7e.textWrap;return vr(u.set,this,o,{cell:e,view:r,elem:i,refBBox:n,attrs:l}),{fill:s.color||null}}},position(t,{refBBox:e,elem:r}){if(r instanceof SVGElement)return e.getCenter()}}}};jC.define(ift);const cJ=`${Kn.prefixCls}.clipboard.cells`;function aft(t){if(window.localStorage){const e=t.map(r=>r.toJSON());localStorage.setItem(cJ,JSON.stringify(e))}}function sft(){if(window.localStorage){const t=localStorage.getItem(cJ),e=t?JSON.parse(t):[];if(e)return jc.fromJSON(e)}}function oft(){window.localStorage&&localStorage.removeItem(cJ)}class lft{constructor(){this.cells=[]}copy(e,r,n={}){this.options=Object.assign({},n);const a=(jc.isModel(r)?r:r.model).cloneSubGraph(e,n);this.cells=y1(Object.keys(a).map(s=>a[s]),s=>s.isEdge()?2:1),this.serialize(n)}cut(e,r,n={}){this.copy(e,r,n),(dt.isGraph(r)?r.model:r).batchUpdate("cut",()=>{e.forEach(a=>a.remove())})}paste(e,r={}){const n=Object.assign(Object.assign({},this.options),r),{offset:i,edgeProps:a,nodeProps:s}=n;let o=20,l=20;i&&(o=typeof i=="number"?i:i.dx,l=typeof i=="number"?i:i.dy),this.deserialize(n);const u=this.cells;u.forEach(h=>{h.model=null,h.removeProp("zIndex"),(o||l)&&h.translate(o,l),s&&h.isNode()&&h.prop(s),a&&h.isEdge()&&h.prop(a)});const d=dt.isGraph(e)?e.model:e;return d.batchUpdate("paste",()=>{d.addCells(this.cells)}),this.copy(u,e,r),u}serialize(e){e.useLocalStorage!==!1&&aft(this.cells)}deserialize(e){if(e.useLocalStorage){const r=sft();r&&(this.cells=r)}}isEmpty(e={}){return e.useLocalStorage&&this.deserialize(e),this.cells.length<=0}clean(){this.options={},this.cells=[],oft()}}dt.prototype.isClipboardEnabled=function(){const t=this.getPlugin("clipboard");return t?t.isEnabled():!1};dt.prototype.enableClipboard=function(){const t=this.getPlugin("clipboard");return t&&t.enable(),this};dt.prototype.disableClipboard=function(){const t=this.getPlugin("clipboard");return t&&t.disable(),this};dt.prototype.toggleClipboard=function(t){const e=this.getPlugin("clipboard");return e&&e.toggleEnabled(t),this};dt.prototype.isClipboardEmpty=function(t){const e=this.getPlugin("clipboard");return e?e.isEmpty(t):!0};dt.prototype.getCellsInClipboard=function(){const t=this.getPlugin("clipboard");return t?t.getCellsInClipboard():[]};dt.prototype.cleanClipboard=function(){const t=this.getPlugin("clipboard");return t&&t.clean(),this};dt.prototype.copy=function(t,e){const r=this.getPlugin("clipboard");return r&&r.copy(t,e),this};dt.prototype.cut=function(t,e){const r=this.getPlugin("clipboard");return r&&r.cut(t,e),this};dt.prototype.paste=function(t,e){const r=this.getPlugin("clipboard");return r?r.paste(t,e):[]};class cft extends Xl{get disabled(){return this.options.enabled!==!0}get cells(){return this.clipboardImpl.cells}constructor(e={}){super(),this.name="clipboard",this.options=Object.assign({enabled:!0},e)}init(e){this.graph=e,this.clipboardImpl=new lft,this.clipboardImpl.deserialize(this.options)}isEnabled(){return!this.disabled}enable(){this.disabled&&(this.options.enabled=!0)}disable(){this.disabled||(this.options.enabled=!1)}toggleEnabled(e){return e===void 0&&(e=!this.isEnabled()),e?this.enable():this.disable(),this}isEmpty(e={}){return this.clipboardImpl.isEmpty(e)}getCellsInClipboard(){return this.cells}clean(e){return(!this.disabled||e)&&(this.clipboardImpl.clean(),this.notify("clipboard:changed",{cells:[]})),this}copy(e,r={}){return this.disabled||(this.clipboardImpl.copy(e,this.graph,Object.assign(Object.assign({},this.commonOptions),r)),this.notify("clipboard:changed",{cells:e})),this}cut(e,r={}){return this.disabled||(this.clipboardImpl.cut(e,this.graph,Object.assign(Object.assign({},this.commonOptions),r)),this.notify("clipboard:changed",{cells:e})),this}paste(e={},r=this.graph){return this.disabled?[]:this.clipboardImpl.paste(r,Object.assign(Object.assign({},this.commonOptions),e))}get commonOptions(){const e=this.options,{enabled:r}=e;return Un(e,["enabled"])}notify(e,r){this.trigger(e,r),this.graph.trigger(e,r)}dispose(){this.clean(!0),this.off()}}_n([Bn()],cft.prototype,"dispose",null);function Rle(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),r.push.apply(r,n)}return r}function Ile(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{};e%2?Rle(Object(r),!0).forEach(function(n){uft(t,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Rle(Object(r)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(r,n))})}return t}function tG(t){"@babel/helpers - typeof";return tG=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},tG(t)}function uft(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var I3,dft={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-",O:"-o-"};function LR(){if(I3!==void 0)return I3;I3="";var t=document.createElement("p").style,e="Transform";for(var r in dft)r+e in t&&(I3=r);return I3}function A8e(){return LR()?"".concat(LR(),"TransitionProperty"):"transitionProperty"}function jO(){return LR()?"".concat(LR(),"Transform"):"transform"}function Lle(t,e){var r=A8e();r&&(t.style[r]=e,r!=="transitionProperty"&&(t.style.transitionProperty=e))}function WB(t,e){var r=jO();r&&(t.style[r]=e,r!=="transform"&&(t.style.transform=e))}function hft(t){return t.style.transitionProperty||t.style[A8e()]}function fft(t){var e=window.getComputedStyle(t,null),r=e.getPropertyValue("transform")||e.getPropertyValue(jO());if(r&&r!=="none"){var n=r.replace(/[^0-9\-.,]/g,"").split(",");return{x:parseFloat(n[12]||n[4],0),y:parseFloat(n[13]||n[5],0)}}return{x:0,y:0}}var pft=/matrix\((.*)\)/,gft=/matrix3d\((.*)\)/;function mft(t,e){var r=window.getComputedStyle(t,null),n=r.getPropertyValue("transform")||r.getPropertyValue(jO());if(n&&n!=="none"){var i,a=n.match(pft);if(a)a=a[1],i=a.split(",").map(function(o){return parseFloat(o,10)}),i[4]=e.x,i[5]=e.y,WB(t,"matrix(".concat(i.join(","),")"));else{var s=n.match(gft)[1];i=s.split(",").map(function(o){return parseFloat(o,10)}),i[12]=e.x,i[13]=e.y,WB(t,"matrix3d(".concat(i.join(","),")"))}}else WB(t,"translateX(".concat(e.x,"px) translateY(").concat(e.y,"px) translateZ(0)"))}var Uft=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,YC;function Nle(t){var e=t.style.display;t.style.display="none",t.offsetHeight,t.style.display=e}function ib(t,e,r){var n=r;if(tG(e)==="object"){for(var i in e)e.hasOwnProperty(i)&&ib(t,i,e[i]);return}if(typeof n<"u"){typeof n=="number"&&(n="".concat(n,"px")),t.style[e]=n;return}return YC(t,e)}function yft(t){var e,r,n,i=t.ownerDocument,a=i.body,s=i&&i.documentElement;return e=t.getBoundingClientRect(),r=Math.floor(e.left),n=Math.floor(e.top),r-=s.clientLeft||a.clientLeft||0,n-=s.clientTop||a.clientTop||0,{left:r,top:n}}function M8e(t,e){var r=t["page".concat(e?"Y":"X","Offset")],n="scroll".concat(e?"Top":"Left");if(typeof r!="number"){var i=t.document;r=i.documentElement[n],typeof r!="number"&&(r=i.body[n])}return r}function R8e(t){return M8e(t)}function I8e(t){return M8e(t,!0)}function Zw(t){var e=yft(t),r=t.ownerDocument,n=r.defaultView||r.parentWindow;return e.left+=R8e(n),e.top+=I8e(n),e}function uJ(t){return t!=null&&t==t.window}function L8e(t){return uJ(t)?t.document:t.nodeType===9?t:t.ownerDocument}function bft(t,e,r){var n=r,i="",a=L8e(t);return n=n||a.defaultView.getComputedStyle(t,null),n&&(i=n.getPropertyValue(e)||n[e]),i}var vft=new RegExp("^(".concat(Uft,")(?!px)[a-z%]+$"),"i"),xft=/^(top|right|bottom|left)$/,qB="currentStyle",jB="runtimeStyle",Y1="left",wft="px";function Tft(t,e){var r=t[qB]&&t[qB][e];if(vft.test(r)&&!xft.test(e)){var n=t.style,i=n[Y1],a=t[jB][Y1];t[jB][Y1]=t[qB][Y1],n[Y1]=e==="fontSize"?"1em":r||0,r=n.pixelLeft+wft,n[Y1]=i,t[jB][Y1]=a}return r===""?"auto":r}typeof window<"u"&&(YC=window.getComputedStyle?bft:Tft);function yk(t,e){return t==="left"?e.useCssRight?"right":t:e.useCssBottom?"bottom":t}function Ole(t){if(t==="left")return"right";if(t==="right")return"left";if(t==="top")return"bottom";if(t==="bottom")return"top"}function Dle(t,e,r){ib(t,"position")==="static"&&(t.style.position="relative");var n=-999,i=-999,a=yk("left",r),s=yk("top",r),o=Ole(a),l=Ole(s);a!=="left"&&(n=999),s!=="top"&&(i=999);var u="",d=Zw(t);("left"in e||"top"in e)&&(u=hft(t)||"",Lle(t,"none")),"left"in e&&(t.style[o]="",t.style[a]="".concat(n,"px")),"top"in e&&(t.style[l]="",t.style[s]="".concat(i,"px")),Nle(t);var h=Zw(t),f={};for(var p in e)if(e.hasOwnProperty(p)){var g=yk(p,r),m=p==="left"?n:i,U=d[p]-h[p];g===p?f[g]=m+U:f[g]=m-U}ib(t,f),Nle(t),("left"in e||"top"in e)&&Lle(t,u);var y={};for(var b in e)if(e.hasOwnProperty(b)){var v=yk(b,r),w=e[b]-d[b];b===v?y[v]=f[v]+w:y[v]=f[v]-w}ib(t,y)}function Cft(t,e){var r=Zw(t),n=fft(t),i={x:n.x,y:n.y};"left"in e&&(i.x=n.x+e.left-r.left),"top"in e&&(i.y=n.y+e.top-r.top),mft(t,i)}function Sft(t,e,r){if(r.ignoreShake){var n=Zw(t),i=n.left.toFixed(0),a=n.top.toFixed(0),s=e.left.toFixed(0),o=e.top.toFixed(0);if(i===s&&a===o)return}r.useCssRight||r.useCssBottom?Dle(t,e,r):r.useCssTransform&&jO()in document.body.style?Cft(t,e):Dle(t,e,r)}function dJ(t,e){for(var r=0;r<t.length;r++)e(t[r])}function N8e(t){return YC(t,"boxSizing")==="border-box"}var kft=["margin","border","padding"],rG=-1,Eft=2,nG=1,Aft=0;function Mft(t,e,r){var n={},i=t.style,a;for(a in e)e.hasOwnProperty(a)&&(n[a]=i[a],i[a]=e[a]);r.call(t);for(a in e)e.hasOwnProperty(a)&&(i[a]=n[a])}function k9(t,e,r){var n=0,i,a,s;for(a=0;a<e.length;a++)if(i=e[a],i)for(s=0;s<r.length;s++){var o=void 0;i==="border"?o="".concat(i).concat(r[s],"Width"):o=i+r[s],n+=parseFloat(YC(t,o))||0}return n}var Rh={getParent:function(e){var r=e;do r.nodeType===11&&r.host?r=r.host:r=r.parentNode;while(r&&r.nodeType!==1&&r.nodeType!==9);return r}};dJ(["Width","Height"],function(t){Rh["doc".concat(t)]=function(e){var r=e.document;return Math.max(r.documentElement["scroll".concat(t)],r.body["scroll".concat(t)],Rh["viewport".concat(t)](r))},Rh["viewport".concat(t)]=function(e){var r="client".concat(t),n=e.document,i=n.body,a=n.documentElement,s=a[r];return n.compatMode==="CSS1Compat"&&s||i&&i[r]||s}});function Ple(t,e,r){var n=r;if(uJ(t))return e==="width"?Rh.viewportWidth(t):Rh.viewportHeight(t);if(t.nodeType===9)return e==="width"?Rh.docWidth(t):Rh.docHeight(t);var i=e==="width"?["Left","Right"]:["Top","Bottom"],a=Math.floor(e==="width"?t.getBoundingClientRect().width:t.getBoundingClientRect().height),s=N8e(t),o=0;(a==null||a<=0)&&(a=void 0,o=YC(t,e),(o==null||Number(o)<0)&&(o=t.style[e]||0),o=Math.floor(parseFloat(o))||0),n===void 0&&(n=s?nG:rG);var l=a!==void 0||s,u=a||o;return n===rG?l?u-k9(t,["border","padding"],i):o:l?n===nG?u:u+(n===Eft?-k9(t,["border"],i):k9(t,["margin"],i)):o+k9(t,kft.slice(n),i)}var Rft={position:"absolute",visibility:"hidden",display:"block"};function _le(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var n,i=e[0];return i.offsetWidth!==0?n=Ple.apply(void 0,e):Mft(i,Rft,function(){n=Ple.apply(void 0,e)}),n}dJ(["width","height"],function(t){var e=t.charAt(0).toUpperCase()+t.slice(1);Rh["outer".concat(e)]=function(n,i){return n&&_le(n,t,i?Aft:nG)};var r=t==="width"?["Left","Right"]:["Top","Bottom"];Rh[t]=function(n,i){var a=i;if(a!==void 0){if(n){var s=N8e(n);return s&&(a+=k9(n,["padding","border"],r)),ib(n,t,a)}return}return n&&_le(n,t,rG)}});function O8e(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}var gn={getWindow:function(e){if(e&&e.document&&e.setTimeout)return e;var r=e.ownerDocument||e;return r.defaultView||r.parentWindow},getDocument:L8e,offset:function(e,r,n){if(typeof r<"u")Sft(e,r,n||{});else return Zw(e)},isWindow:uJ,each:dJ,css:ib,clone:function(e){var r,n={};for(r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);var i=e.overflow;if(i)for(r in e)e.hasOwnProperty(r)&&(n.overflow[r]=e.overflow[r]);return n},mix:O8e,getWindowScrollLeft:function(e){return R8e(e)},getWindowScrollTop:function(e){return I8e(e)},merge:function(){for(var e={},r=0;r<arguments.length;r++)gn.mix(e,r<0||arguments.length<=r?void 0:arguments[r]);return e},viewportWidth:0,viewportHeight:0};O8e(gn,Rh);var YB=gn.getParent;function Ble(t){if(gn.isWindow(t)||t.nodeType===9)return null;var e=gn.getDocument(t),r=e.body,n,i=gn.css(t,"position"),a=i==="fixed"||i==="absolute";if(!a)return t.nodeName.toLowerCase()==="html"?null:YB(t);for(n=YB(t);n&&n!==r&&n.nodeType!==9;n=YB(n))if(i=gn.css(n,"position"),i!=="static")return n;return null}var $le=gn.getParent;function Ift(t){if(gn.isWindow(t)||t.nodeType===9)return!1;var e=gn.getDocument(t),r=e.body,n=null;for(n=$le(t);n&&n!==r&&n!==e;n=$le(n)){var i=gn.css(n,"position");if(i==="fixed")return!0}return!1}function Lft(t,e){for(var r={left:0,right:1/0,top:0,bottom:1/0},n=Ble(t),i=gn.getDocument(t),a=i.defaultView||i.parentWindow,s=i.body,o=i.documentElement;n;){if((navigator.userAgent.indexOf("MSIE")===-1||n.clientWidth!==0)&&n!==s&&n!==o&&gn.css(n,"overflow")!=="visible"){var l=gn.offset(n);l.left+=n.clientLeft,l.top+=n.clientTop,r.top=Math.max(r.top,l.top),r.right=Math.min(r.right,l.left+n.clientWidth),r.bottom=Math.min(r.bottom,l.top+n.clientHeight),r.left=Math.max(r.left,l.left)}else if(n===s||n===o)break;n=Ble(n)}var u=null;if(!gn.isWindow(t)&&t.nodeType!==9){u=t.style.position;var d=gn.css(t,"position");d==="absolute"&&(t.style.position="fixed")}var h=gn.getWindowScrollLeft(a),f=gn.getWindowScrollTop(a),p=gn.viewportWidth(a),g=gn.viewportHeight(a),m=o.scrollWidth,U=o.scrollHeight,y=window.getComputedStyle(s);if(y.overflowX==="hidden"&&(m=a.innerWidth),y.overflowY==="hidden"&&(U=a.innerHeight),t.style&&(t.style.position=u),e||Ift(t))r.left=Math.max(r.left,h),r.top=Math.max(r.top,f),r.right=Math.min(r.right,h+p),r.bottom=Math.min(r.bottom,f+g);else{var b=Math.max(m,h+p);r.right=Math.min(r.right,b);var v=Math.max(U,f+g);r.bottom=Math.min(r.bottom,v)}return r.top>=0&&r.left>=0&&r.bottom>r.top&&r.right>r.left?r:null}function Nft(t,e,r,n){var i=gn.clone(t),a={width:e.width,height:e.height};return n.adjustX&&i.left<r.left&&(i.left=r.left),n.resizeWidth&&i.left>=r.left&&i.left+a.width>r.right&&(a.width-=i.left+a.width-r.right),n.adjustX&&i.left+a.width>r.right&&(i.left=Math.max(r.right-a.width,r.left)),n.adjustY&&i.top<r.top&&(i.top=r.top),n.resizeHeight&&i.top>=r.top&&i.top+a.height>r.bottom&&(a.height-=i.top+a.height-r.bottom),n.adjustY&&i.top+a.height>r.bottom&&(i.top=Math.max(r.bottom-a.height,r.top)),gn.mix(i,a)}function Oft(t){var e,r,n;if(!gn.isWindow(t)&&t.nodeType!==9)e=gn.offset(t),r=gn.outerWidth(t),n=gn.outerHeight(t);else{var i=gn.getWindow(t);e={left:gn.getWindowScrollLeft(i),top:gn.getWindowScrollTop(i)},r=gn.viewportWidth(i),n=gn.viewportHeight(i)}return e.width=r,e.height=n,e}function Fle(t,e){var r=e.charAt(0),n=e.charAt(1),i=t.width,a=t.height,s=t.left,o=t.top;return r==="c"?o+=a/2:r==="b"&&(o+=a),n==="c"?s+=i/2:n==="r"&&(s+=i),{left:s,top:o}}function bk(t,e,r,n,i){var a=Fle(e,r[1]),s=Fle(t,r[0]),o=[s.left-a.left,s.top-a.top];return{left:Math.round(t.left-o[0]+n[0]-i[0]),top:Math.round(t.top-o[1]+n[1]-i[1])}}function zle(t,e,r){return t.left<r.left||t.left+e.width>r.right}function Hle(t,e,r){return t.top<r.top||t.top+e.height>r.bottom}function Dft(t,e,r){return t.left>r.right||t.left+e.width<r.left}function Pft(t,e,r){return t.top>r.bottom||t.top+e.height<r.top}function vk(t,e,r){var n=[];return gn.each(t,function(i){n.push(i.replace(e,function(a){return r[a]}))}),n}function xk(t,e){return t[e]=-t[e],t}function Vle(t,e){var r;return/%$/.test(t)?r=parseInt(t.substring(0,t.length-1),10)/100*e:r=parseInt(t,10),r||0}function Gle(t,e){t[0]=Vle(t[0],e.width),t[1]=Vle(t[1],e.height)}function _ft(t,e,r,n){var i=r.points,a=r.offset||[0,0],s=r.targetOffset||[0,0],o=r.overflow,l=r.source||t;a=[].concat(a),s=[].concat(s),o=o||{};var u={},d=0,h=!!(o&&o.alwaysByViewport),f=Lft(l,h),p=Oft(l);Gle(a,p),Gle(s,e);var g=bk(p,e,i,a,s),m=gn.merge(p,g);if(f&&(o.adjustX||o.adjustY)&&n){if(o.adjustX&&zle(g,p,f)){var U=vk(i,/[lr]/gi,{l:"r",r:"l"}),y=xk(a,0),b=xk(s,0),v=bk(p,e,U,y,b);Dft(v,p,f)||(d=1,i=U,a=y,s=b)}if(o.adjustY&&Hle(g,p,f)){var w=vk(i,/[tb]/gi,{t:"b",b:"t"}),T=xk(a,1),S=xk(s,1),C=bk(p,e,w,T,S);Pft(C,p,f)||(d=1,i=w,a=T,s=S)}d&&(g=bk(p,e,i,a,s),gn.mix(m,g));var k=zle(g,p,f),E=Hle(g,p,f);if(k||E){var A=i;k&&(A=vk(i,/[lr]/gi,{l:"r",r:"l"})),E&&(A=vk(i,/[tb]/gi,{t:"b",b:"t"})),i=A,a=r.offset||[0,0],s=r.targetOffset||[0,0]}u.adjustX=o.adjustX&&k,u.adjustY=o.adjustY&&E,(u.adjustX||u.adjustY)&&(m=Nft(g,p,f,u))}return m.width!==p.width&&gn.css(l,"width",gn.width(l)+m.width-p.width),m.height!==p.height&&gn.css(l,"height",gn.height(l)+m.height-p.height),gn.offset(l,{left:m.left,top:m.top},{useCssRight:r.useCssRight,useCssBottom:r.useCssBottom,useCssTransform:r.useCssTransform,ignoreShake:r.ignoreShake}),{points:i,offset:a,targetOffset:s,overflow:u}}function Bft(t,e,r){var n,i,a=gn.getDocument(t),s=a.defaultView||a.parentWindow,o=gn.getWindowScrollLeft(s),l=gn.getWindowScrollTop(s),u=gn.viewportWidth(s),d=gn.viewportHeight(s);"pageX"in e?n=e.pageX:n=o+e.clientX,"pageY"in e?i=e.pageY:i=l+e.clientY;var h={left:n,top:i,width:0,height:0},f=n>=0&&n<=o+u&&i>=0&&i<=l+d,p=[r.points[0],"cc"];return _ft(t,h,Ile(Ile({},r),{},{points:p}),f)}const $ft=`.x6-widget-dnd {
position: absolute;
top: -10000px;
left: -10000px;
z-index: 999999;
display: none;
cursor: move;
opacity: 0.7;
}
.x6-widget-dnd.dragging {
display: inline-block;
}
.x6-widget-dnd.dragging * {
pointer-events: none !important;
}
.x6-widget-dnd .x6-graph {
background: transparent;
box-shadow: none;
}
`,D8e={getDragNode:t=>t.clone(),getDropNode:t=>t.clone()};class P8e extends Ac{get targetScroller(){return this.options.target.getPlugin("scroller")}get targetGraph(){return this.options.target}get targetModel(){return this.targetGraph.model}get snapline(){return this.options.target.getPlugin("snapline")}constructor(e){super(),this.name="dnd",this.options=Object.assign(Object.assign({},D8e),e),this.init()}init(){b1(this.name,$ft),this.container=document.createElement("div"),nr(this.container,this.prefixClassName("widget-dnd")),this.draggingGraph=new dt(Object.assign(Object.assign({},this.options.delegateGraphOptions),{container:document.createElement("div"),width:1,height:1,async:!1})),Mo(this.container,this.draggingGraph.container)}start(e,r){var n;const i=r;i.preventDefault(),this.targetModel.startBatch("dnd"),nr(this.container,"dragging"),$u(this.container,this.options.draggingContainer||document.body),this.sourceNode=e,this.prepareDragging(e,i.clientX,i.clientY);const a=this.updateNodePosition(i.clientX,i.clientY);this.isSnaplineEnabled()&&(this.snapline.captureCursorOffset({e:i,node:e,cell:e,view:this.draggingView,x:a.x,y:a.y}),(n=this.draggingNode)===null||n===void 0||n.on("change:position",this.snap,this)),this.delegateDocumentEvents(U8e,i.data)}isSnaplineEnabled(){var e;return(e=this.snapline)===null||e===void 0?void 0:e.isEnabled()}prepareDragging(e,r,n){const i=this.draggingGraph,a=i.model,s=this.options.getDragNode(e,{sourceNode:e,draggingGraph:i,targetGraph:this.targetGraph});s.position(0,0);let o=5;if(this.isSnaplineEnabled()&&(o+=this.snapline.options.tolerance||0),this.isSnaplineEnabled()||this.options.scaled){const d=this.targetGraph.transform.getScale();i.scale(d.sx,d.sy),o*=Math.max(d.sx,d.sy)}else i.scale(1,1);this.clearDragging(),a.resetCells([s]);const l=i.findViewByCell(s);l.undelegateEvents(),l.cell.off("changed"),i.fitToContent({padding:o,allowNewOrigin:"any",useCellGeometry:!1});const u=l.getBBox();this.geometryBBox=l.getBBox({useCellGeometry:!0}),this.delta=this.geometryBBox.getTopLeft().diff(u.getTopLeft()),this.draggingNode=s,this.draggingView=l,this.draggingBBox=s.getBBox(),this.padding=o,this.updateGraphPosition(r,n)}updateGraphPosition(e,r){const n=this.delta,i=this.geometryBBox,a=this.padding||5,s={left:e-n.x-i.width/2-a,top:r-n.y-i.height/2-a};this.draggingGraph&&Bft(this.container,{clientX:s.left,clientY:s.top},{points:["tl"]})}updateNodePosition(e,r){const n=this.targetGraph.clientToLocal(e,r),i=this.draggingBBox;return i&&(n.x-=i.width/2,n.y-=i.height/2,this.draggingNode.position(n.x,n.y)),n}snap({cell:e,current:r,options:n}){const i=e;if(n.snapped){const a=this.draggingBBox;i.position(a.x+n.tx,a.y+n.ty,{silent:!0}),this.draggingView.translate(),i.position(r.x,r.y,{silent:!0}),this.snapOffset={x:n.tx,y:n.ty}}else this.snapOffset=null}onMouseMove(e){this.onDragging(e)}onMouseUp(e){this.onDragEnd(e)}onDragging(e){const r=this.draggingView;if(r){e.preventDefault();const n=this.normalizeEvent(e),i=n.clientX,a=n.clientY;this.updateGraphPosition(i,a);const s=this.updateNodePosition(i,a),o=this.targetGraph.options.embedding.enabled,l=(o||this.isSnaplineEnabled())&&this.isInsideValidArea({x:i,y:a});if(o){r.setEventData(n,{graph:this.targetGraph,candidateEmbedView:this.candidateEmbedView});const u=r.getEventData(n);l?r.processEmbedding(n,u):r.clearEmbedding(u),this.candidateEmbedView=u.candidateEmbedView}this.isSnaplineEnabled()&&(l?this.snapline.snapOnMoving({e:n,view:r,x:s.x,y:s.y}):this.snapline.hide())}}onDragEnd(e){const r=this.draggingNode;if(r){const n=this.normalizeEvent(e),i=this.draggingView,a=this.draggingBBox,s=this.snapOffset;let o=a.x,l=a.y;s&&(o+=s.x,l+=s.y),r.position(o,l,{silent:!0});const u=this.drop(r,{x:n.clientX,y:n.clientY}),d=h=>{h?(this.onDropped(r),this.targetGraph.options.embedding.enabled&&i&&(i.setEventData(n,{cell:h,graph:this.targetGraph,candidateEmbedView:this.candidateEmbedView}),i.finalizeEmbedding(n,i.getEventData(n)))):this.onDropInvalid(),this.candidateEmbedView=null,this.targetModel.stopBatch("dnd")};_V(u)?(this.undelegateDocumentEvents(),u.then(d)):d(u)}}clearDragging(){this.draggingNode&&(this.sourceNode=null,this.draggingNode.remove(),this.draggingNode=null,this.draggingView=null,this.delta=null,this.padding=null,this.snapOffset=null,this.undelegateDocumentEvents())}onDropped(e){this.draggingNode===e&&(this.clearDragging(),Vi(this.container,"dragging"),Bu(this.container))}onDropInvalid(){const e=this.draggingNode;e&&this.onDropped(e)}isInsideValidArea(e){let r,n=null;const i=this.targetGraph,a=this.targetScroller;this.options.dndContainer&&(n=this.getDropArea(this.options.dndContainer));const s=n==null?void 0:n.containsPoint(e);if(a)if(a.options.autoResize)r=this.getDropArea(a.container);else{const o=this.getDropArea(a.container);r=this.getDropArea(i.container).intersectsWithRect(o)}else r=this.getDropArea(i.container);return!s&&r&&r.containsPoint(e)}getDropArea(e){const r=Sv(e),n=document.body.scrollTop||document.documentElement.scrollTop,i=document.body.scrollLeft||document.documentElement.scrollLeft;return Bt.create({x:r.left+parseInt(ai(e,"border-left-width"),10)-i,y:r.top+parseInt(ai(e,"border-top-width"),10)-n,width:e.clientWidth,height:e.clientHeight})}drop(e,r){if(this.isInsideValidArea(r)){const n=this.targetGraph,i=n.model,a=n.clientToLocal(r),s=this.sourceNode,o=this.options.getDropNode(e,{sourceNode:s,draggingNode:e,targetGraph:this.targetGraph,draggingGraph:this.draggingGraph}),l=o.getBBox();a.x+=l.x-l.width/2,a.y+=l.y-l.height/2;const u=this.snapOffset?1:n.getGridSize();o.position(kd(a.x,u),kd(a.y,u)),o.removeZIndex();const d=this.options.validateNode,h=d?d(o,{sourceNode:s,draggingNode:e,droppingNode:o,targetGraph:n,draggingGraph:this.draggingGraph}):!0;return typeof h=="boolean"?h?(i.addCell(o,{stencil:this.cid}),o):null:Bst(h).then(f=>f?(i.addCell(o,{stencil:this.cid}),o):null)}return null}onRemove(){this.draggingGraph&&(this.draggingGraph.view.remove(),this.draggingGraph.dispose())}dispose(){this.remove(),v1(this.name)}}_n([Bn()],P8e.prototype,"dispose",null);dt.prototype.toSVG=function(t,e){const r=this.getPlugin("export");r&&r.toSVG(t,e)};dt.prototype.toSVGAsync=function(t){return bZ(this,void 0,void 0,function*(){return new Promise(e=>{this.toSVG(e,t)})})};dt.prototype.toPNG=function(t,e){const r=this.getPlugin("export");r&&r.toPNG(t,e)};dt.prototype.toPNGAsync=function(t){return bZ(this,void 0,void 0,function*(){return new Promise(e=>{this.toPNG(e,t)})})};dt.prototype.toJPEG=function(t,e){const r=this.getPlugin("export");r&&r.toJPEG(t,e)};dt.prototype.toJPEGAsync=function(t){return bZ(this,void 0,void 0,function*(){return new Promise(e=>{this.toJPEG(e,t)})})};dt.prototype.exportPNG=function(t,e){const r=this.getPlugin("export");r&&r.exportPNG(t,e)};dt.prototype.exportJPEG=function(t,e){const r=this.getPlugin("export");r&&r.exportJPEG(t,e)};dt.prototype.exportSVG=function(t,e){const r=this.getPlugin("export");r&&r.exportSVG(t,e)};class Fft extends Xl{constructor(){super(...arguments),this.name="export"}get view(){return this.graph.view}init(e){this.graph=e}exportPNG(e="chart",r={}){this.toPNG(n=>{OB(n,e)},r)}exportJPEG(e="chart",r={}){this.toJPEG(n=>{OB(n,e)},r)}exportSVG(e="chart",r={}){this.toSVG(n=>{OB(Pst(n),e)},r)}toSVG(e,r={}){this.notify("before:export",r),Object.hasOwn(r,"copyStyles")||(r.copyStyles=!0),Object.hasOwn(r,"serializeImages")||(r.serializeImages=!0);const n=this.view.svg,i=Ar.create(n).clone();let a=i.node;const s=i.findOne(`.${this.view.prefixClassName("graph-svg-stage")}`),o=r.viewBox||this.graph.graphToLocal(this.graph.getContentBBox()),l=r.preserveDimensions;if(l){const h=typeof l=="boolean"?o:l;i.attr({width:h.width,height:h.height})}if(i.removeAttribute("style").attr("viewBox",[o.x,o.y,o.width,o.height].join(" ")),s.removeAttribute("transform"),r.copyStyles){const h=n.ownerDocument,f=Array.from(n.querySelectorAll("*")),p=Array.from(a.querySelectorAll("*")),g=h.implementation.createHTMLDocument("x6-export-defaults"),m=g.importNode(n,!0);g.body.appendChild(m);const U=Array.from(m.querySelectorAll("*")),y={};U.forEach((v,w)=>{const T=window.getComputedStyle(v,null),S={};for(let C=0;C<T.length;C+=1){const k=T[C],E=T.getPropertyValue(k);S[k]=E}y[w]=S});const b={};f.forEach((v,w)=>{const T=window.getComputedStyle(v,null),S=y[w]||{},C={};for(let k=0;k<T.length;k+=1){const E=T[k],A=T.getPropertyValue(E);A!==S[E]&&(C[E]=A)}b[w]=C}),p.forEach((v,w)=>{ai(v,b[w])})}const u=r.stylesheet;if(typeof u=="string"){const h=n.ownerDocument.implementation.createDocument(null,"xml",null).createCDATASection(u);i.prepend(Ar.create("style",{type:"text/css"},[h]))}const d=()=>{const h=r.beforeSerialize;if(typeof h=="function"){const p=vr(h,this.graph,a);p instanceof SVGSVGElement&&(a=p)}const f=new XMLSerializer().serializeToString(a).replace(/&nbsp;/g," ");this.notify("after:export",r),e(f)};if(r.serializeImages){const h=i.find("image").map(f=>new Promise(p=>{const g=f.attr("xlink:href")||f.attr("href");Nst(g,(m,U)=>{!m&&U&&(f.attr("xlink:href",U),f.attr("href",U)),p()})}));Promise.all(h).then(d)}else d()}toDataURL(e,r){let n=r.viewBox||this.graph.getContentBBox();const i=Sd(r.padding);r.width&&r.height&&(i.left+i.right>=r.width&&(i.left=i.right=0),i.top+i.bottom>=r.height&&(i.top=i.bottom=0));const a=new Bt(-i.left,-i.top,i.left+i.right,i.top+i.bottom);if(r.width&&r.height){const d=n.width+i.left+i.right,h=n.height+i.top+i.bottom;a.scale(d/r.width,h/r.height)}n=Bt.create(n).moveAndExpand(a);const s=typeof r.width=="number"&&typeof r.height=="number"?{width:r.width,height:r.height}:n;let o=r.ratio?r.ratio:1;(!Number.isFinite(o)||o===0)&&(o=1);const l={width:Math.max(Math.round(s.width*o),1),height:Math.max(Math.round(s.height*o),1)};{const d=document.createElement("canvas"),h=d.getContext("2d");d.width=l.width,d.height=l.height;const f=l.width-1,p=l.height-1;h.fillStyle="rgb(1,1,1)",h.fillRect(f,p,1,1);const g=h.getImageData(f,p,1,1).data;if(g[0]!==1||g[1]!==1||g[2]!==1)throw new Error("size exceeded")}const u=new Image;u.onload=()=>{const d=document.createElement("canvas");d.width=l.width,d.height=l.height;const h=d.getContext("2d");h.fillStyle=r.backgroundColor||"white",h.fillRect(0,0,l.width,l.height);try{h.drawImage(u,0,0,l.width,l.height);const f=d.toDataURL(r.type,r.quality);e(f)}catch{}},this.toSVG(d=>{u.src=`data:image/svg+xml,${encodeURIComponent(d)}`},Object.assign(Object.assign({},r),{viewBox:n,serializeImages:!0,preserveDimensions:Object.assign({},l)}))}toPNG(e,r={}){this.toDataURL(e,Object.assign(Object.assign({},r),{type:"image/png"}))}toJPEG(e,r={}){this.toDataURL(e,Object.assign(Object.assign({},r),{type:"image/jpeg"}))}notify(e,r){this.trigger(e,r),this.graph.trigger(e,r)}dispose(){this.off()}}_n([Bn()],Fft.prototype,"dispose",null);function zp(t){return t==="cell:added"}function X1(t){return t==="cell:removed"}function E9(t){return t!=null&&t.startsWith("cell:change:")}function zft(t){const e=["cell:added","cell:removed","cell:change:*"],r=["batch:start","batch:stop"],n=t.eventNames?t.eventNames.filter(i=>!(E9(i)||e.includes(i)||r.includes(i))):e;return Object.assign(Object.assign({enabled:!0},t),{eventNames:n,applyOptionsList:t.applyOptionsList||["propertyPath"],revertOptionsList:t.revertOptionsList||["propertyPath"]})}function Wle(t){const e=[];for(let r=0,n=t.length;r<n;r+=1){const i=t[r];let a=null;if(zp(i.event)){const s=i.data.id;for(let o=0;o<r;o+=1)if(t[o].data.id===s){a=o;break}}a!==null?e.splice(a,0,i):e.push(i)}return e}class _8e extends Xl{constructor(e){super(),this.map={},this.command=e.history,this.cancelInvalid=e.cancelInvalid!==!1,this.command.on("add",this.onCommandAdded,this)}onCommandAdded({cmds:e}){return Array.isArray(e)?e.every(r=>this.isValidCommand(r)):this.isValidCommand(e)}isValidCommand(e){if(e.options&&e.options.validation===!1)return!0;const r=e.event&&this.map[e.event]||[];let n=null;return r.forEach(i=>{let a=0;const s=o=>{const l=i[a];a+=1;try{l?l(o,e,s):n=o}catch(u){s(u)}};s(n)}),n?(this.cancelInvalid&&this.command.cancel(),this.emit("invalid",{err:n}),!1):!0}validate(e,...r){const n=Array.isArray(e)?e:e.split(/\s+/);return r.forEach(i=>{if(typeof i!="function")throw new Error(`${n.join(" ")} requires callback functions.`)}),n.forEach(i=>{this.map[i]==null&&(this.map[i]=[]),this.map[i].push(r)}),this}dispose(){this.command.off("add",this.onCommandAdded,this)}}_n([Bn()],_8e.prototype,"dispose",null);dt.prototype.isHistoryEnabled=function(){const t=this.getPlugin("history");return t?t.isEnabled():!1};dt.prototype.enableHistory=function(){const t=this.getPlugin("history");return t&&t.enable(),this};dt.prototype.disableHistory=function(){const t=this.getPlugin("history");return t&&t.disable(),this};dt.prototype.toggleHistory=function(t){const e=this.getPlugin("history");return e&&e.toggleEnabled(t),this};dt.prototype.undo=function(t){const e=this.getPlugin("history");return e&&e.undo(t),this};dt.prototype.redo=function(t){const e=this.getPlugin("history");return e&&e.redo(t),this};dt.prototype.undoAndCancel=function(t){const e=this.getPlugin("history");return e&&e.cancel(t),this};dt.prototype.canUndo=function(){const t=this.getPlugin("history");return t?t.canUndo():!1};dt.prototype.canRedo=function(){const t=this.getPlugin("history");return t?t.canRedo():!1};dt.prototype.cleanHistory=function(t){const e=this.getPlugin("history");return e&&e.clean(t),this};dt.prototype.getHistoryStackSize=function(){return this.getPlugin("history").getSize()};dt.prototype.getUndoStackSize=function(){return this.getPlugin("history").getUndoSize()};dt.prototype.getRedoStackSize=function(){return this.getPlugin("history").getRedoSize()};dt.prototype.getUndoRemainSize=function(){return this.getPlugin("history").getUndoRemainSize()};class Hft extends Xl{constructor(e={}){super(),this.name="history",this.batchCommands=null,this.batchLevel=0,this.lastBatchIndex=-1,this.freezed=!1,this.stackSize=0,this.handlers=[];const{stackSize:r=0}=e;this.stackSize=r,this.options=zft(e),this.validator=new _8e({history:this,cancelInvalid:this.options.cancelInvalid})}init(e){this.graph=e,this.model=this.graph.model,this.clean(),this.startListening()}isEnabled(){return!this.disabled}enable(){this.disabled&&(this.options.enabled=!0)}disable(){this.disabled||(this.options.enabled=!1)}toggleEnabled(e){return e!=null?e!==this.isEnabled()&&(e?this.enable():this.disable()):this.isEnabled()?this.disable():this.enable(),this}undo(e={}){if(!this.disabled){const r=this.undoStack.pop();r&&(this.revertCommand(r,e),this.redoStack.push(r),this.notify("undo",r,e))}return this}redo(e={}){if(!this.disabled){const r=this.redoStack.pop();r&&(this.applyCommand(r,e),this.undoStackPush(r),this.notify("redo",r,e))}return this}cancel(e={}){if(!this.disabled){const r=this.undoStack.pop();r&&(this.revertCommand(r,e),this.redoStack=[],this.notify("cancel",r,e))}return this}getSize(){return this.stackSize}getUndoRemainSize(){const e=this.undoStack.length;return this.stackSize-e}getUndoSize(){return this.undoStack.length}getRedoSize(){return this.redoStack.length}canUndo(){return!this.disabled&&this.undoStack.length>0}canRedo(){return!this.disabled&&this.redoStack.length>0}clean(e={}){return this.undoStack=[],this.redoStack=[],this.notify("clean",null,e),this}get disabled(){return this.options.enabled!==!0}validate(e,...r){return this.validator.validate(e,...r),this}startListening(){this.model.on("batch:start",this.initBatchCommand,this),this.model.on("batch:stop",this.storeBatchCommand,this),this.options.eventNames&&this.options.eventNames.forEach((e,r)=>{this.handlers[r]=this.addCommand.bind(this,e),this.model.on(e,this.handlers[r])}),this.validator.on("invalid",e=>this.trigger("invalid",e))}stopListening(){this.model.off("batch:start",this.initBatchCommand,this),this.model.off("batch:stop",this.storeBatchCommand,this),this.options.eventNames&&(this.options.eventNames.forEach((e,r)=>{this.model.off(e,this.handlers[r])}),this.handlers.length=0),this.validator.off("invalid")}createCommand(e){return{batch:e?e.batch:!1,data:{}}}revertCommand(e,r){this.freezed=!0;const n=Array.isArray(e)?Wle(e):[e];for(let i=n.length-1;i>=0;i-=1){const a=n[i],s=Object.assign(Object.assign({},r),bv(a.options,this.options.revertOptionsList||[]));this.executeCommand(a,!0,s)}this.freezed=!1}applyCommand(e,r){this.freezed=!0;const n=Array.isArray(e)?Wle(e):[e];for(let i=0;i<n.length;i+=1){const a=n[i],s=Object.assign(Object.assign({},r),bv(a.options,this.options.applyOptionsList||[]));this.executeCommand(a,!1,s)}this.freezed=!1}executeCommand(e,r,n){const i=this.model,a=i.getCell(e.data.id),s=e.event;if(zp(s)&&r||X1(s)&&!r)a&&a.remove(n);else if(zp(s)&&!r||X1(s)&&r){const o=e.data;o.node?i.addNode(o.props,n):o.edge&&i.addEdge(o.props,n)}else if(E9(s)){const o=e.data,l=o.key;if(l&&a){const u=r?o.prev[l]:o.next[l];o.key==="attrs"&&this.ensureUndefinedAttrs(u,r?o.next[l]:o.prev[l])&&(n.dirty=!0),a.prop(l,u,n)}}else{const o=this.options.executeCommand;o&&vr(o,this,e,r,n)}}addCommand(e,r){if(this.freezed||this.disabled)return;const n=r,i=n.options||{};if(i.dryrun||zp(e)&&this.options.ignoreAdd||X1(e)&&this.options.ignoreRemove||E9(e)&&this.options.ignoreChange)return;const a=this.options.beforeAddCommand;if(a!=null&&vr(a,this,e,r)===!1)return;e==="cell:change:*"&&(e=`cell:change:${n.key}`);const s=n.cell,o=jc.isModel(s);let l;if(this.batchCommands){l=this.batchCommands[Math.max(this.lastBatchIndex,0)];const d=o&&!l.modelChange||l.data.id!==s.id,h=l.event!==e;if(this.lastBatchIndex>=0&&(d||h)){const f=this.batchCommands.findIndex(p=>(o&&p.modelChange||p.data.id===s.id)&&p.event===e);f<0||zp(e)||X1(e)?l=this.createCommand({batch:!0}):(l=this.batchCommands[f],this.batchCommands.splice(f,1)),this.batchCommands.push(l),this.lastBatchIndex=this.batchCommands.length-1}}else l=this.createCommand({batch:!1});if(zp(e)||X1(e)){const d=l.data;return l.event=e,l.options=i,d.id=s.id,d.props=Fi(s.toJSON()),s.isEdge()?d.edge=!0:s.isNode()&&(d.node=!0),this.push(l,i)}if(E9(e)){const d=r.key,h=l.data;return(!l.batch||!l.event)&&(l.event=e,l.options=i,h.key=d,h.prev==null&&(h.prev={}),h.prev[d]=Fi(s.previous(d)),o?l.modelChange=!0:h.id=s.id),h.next==null&&(h.next={}),h.next[d]=Fi(s.prop(d)),this.push(l,i)}const u=this.options.afterAddCommand;u&&vr(u,this,e,r,l),this.push(l,i)}initBatchCommand(e){this.freezed||(this.batchCommands?this.batchLevel+=1:(this.batchCommands=[this.createCommand({batch:!0})],this.batchLevel=0,this.lastBatchIndex=-1))}storeBatchCommand(e){if(!this.freezed)if(this.batchCommands&&this.batchLevel<=0){const r=this.filterBatchCommand(this.batchCommands);r.length>0&&(this.redoStack=[],this.undoStackPush(r),this.consolidateCommands(),this.notify("add",r,e)),this.batchCommands=null,this.lastBatchIndex=-1,this.batchLevel=0}else this.batchCommands&&this.batchLevel>0&&(this.batchLevel-=1)}filterBatchCommand(e){let r=e.slice();const n=[];for(;r.length>0;){const i=r.shift(),a=i.event,s=i.data.id;if(a!=null&&(s!=null||i.modelChange)){if(zp(a)){const o=r.findIndex(l=>X1(l.event)&&l.data.id===s);if(o>=0){r=r.filter((l,u)=>o<u||l.data.id!==s);continue}}else if(X1(a)){const o=r.findIndex(l=>zp(l.event)&&l.data.id===s);if(o>=0){r.splice(o,1);continue}}else if(E9(a)){const o=i.data;if(m0(o.prev,o.next))continue}n.push(i)}}return n}notify(e,r,n){const i=r==null?null:Array.isArray(r)?r:[r];this.emit(e,{cmds:i,options:n}),this.graph.trigger(`history:${e}`,{cmds:i,options:n}),this.emit("change",{cmds:i,options:n}),this.graph.trigger("history:change",{cmds:i,options:n})}push(e,r){this.redoStack=[],e.batch?(this.lastBatchIndex=Math.max(this.lastBatchIndex,0),this.emit("batch",{cmd:e,options:r})):(this.undoStackPush(e),this.consolidateCommands(),this.notify("add",e,r))}consolidateCommands(){var e;const r=this.undoStack[this.undoStack.length-1],n=this.undoStack[this.undoStack.length-2];if(!Array.isArray(r))return;const i=new Set(r.map(s=>s.event));if(i.size!==2||!i.has("cell:change:parent")||!i.has("cell:change:children")||!r.every(s=>{var o;return s.batch&&((o=s.options)===null||o===void 0?void 0:o.ui)})||!Array.isArray(n)||n.length!==1)return;const a=n[0];a.event!=="cell:change:position"||!(!((e=a.options)===null||e===void 0)&&e.ui)||(n.push(...r),this.undoStack.pop())}undoStackPush(e){if(this.stackSize===0){this.undoStack.push(e);return}this.undoStack.length>=this.stackSize&&this.undoStack.shift(),this.undoStack.push(e)}ensureUndefinedAttrs(e,r){let n=!1;return e!==null&&r!==null&&typeof e=="object"&&typeof r=="object"&&Object.keys(r).forEach(i=>{e[i]===void 0&&r[i]!==void 0?(e[i]=void 0,n=!0):typeof e[i]=="object"&&typeof r[i]=="object"&&(n=this.ensureUndefinedAttrs(e[i],r[i]))}),n}dispose(){this.validator.dispose(),this.clean(),this.stopListening(),this.off()}}_n([Bn()],Hft.prototype,"dispose",null);function T1(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var XB={exports:{}},qle;function Vft(){return qle||(qle=1,(function(t){(function(e,r,n){if(!e)return;for(var i={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"ins",46:"del",91:"meta",93:"meta",224:"meta"},a={106:"*",107:"+",109:"-",110:".",111:"/",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},s={"~":"`","!":"1","@":"2","#":"3",$:"4","%":"5","^":"6","&":"7","*":"8","(":"9",")":"0",_:"-","+":"=",":":";",'"':"'","<":",",">":".","?":"/","|":"\\"},o={option:"alt",command:"meta",return:"enter",escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},l,u=1;u<20;++u)i[111+u]="f"+u;for(u=0;u<=9;++u)i[u+96]=u.toString();function d(C,k,E){if(C.addEventListener){C.addEventListener(k,E,!1);return}C.attachEvent("on"+k,E)}function h(C){if(C.type=="keypress"){var k=String.fromCharCode(C.which);return C.shiftKey||(k=k.toLowerCase()),k}return i[C.which]?i[C.which]:a[C.which]?a[C.which]:String.fromCharCode(C.which).toLowerCase()}function f(C,k){return C.sort().join(",")===k.sort().join(",")}function p(C){var k=[];return C.shiftKey&&k.push("shift"),C.altKey&&k.push("alt"),C.ctrlKey&&k.push("ctrl"),C.metaKey&&k.push("meta"),k}function g(C){if(C.preventDefault){C.preventDefault();return}C.returnValue=!1}function m(C){if(C.stopPropagation){C.stopPropagation();return}C.cancelBubble=!0}function U(C){return C=="shift"||C=="ctrl"||C=="alt"||C=="meta"}function y(){if(!l){l={};for(var C in i)C>95&&C<112||i.hasOwnProperty(C)&&(l[i[C]]=C)}return l}function b(C,k,E){return E||(E=y()[C]?"keydown":"keypress"),E=="keypress"&&k.length&&(E="keydown"),E}function v(C){return C==="+"?["+"]:(C=C.replace(/\+{2}/g,"+plus"),C.split("+"))}function w(C,k){var E,A,M,P=[];for(E=v(C),M=0;M<E.length;++M)A=E[M],o[A]&&(A=o[A]),k&&k!="keypress"&&s[A]&&(A=s[A],P.push("shift")),U(A)&&P.push(A);return k=b(A,P,k),{key:A,modifiers:P,action:k}}function T(C,k){return C===null||C===r?!1:C===k?!0:T(C.parentNode,k)}function S(C){var k=this;if(C=C||r,!(k instanceof S))return new S(C);k.target=C,k._callbacks={},k._directMap={};var E={},A,M=!1,P=!1,N=!1;function I(z){z=z||{};var $=!1,H;for(H in E){if(z[H]){$=!0;continue}E[H]=0}$||(N=!1)}function L(z,$,H,V,G,K){var W,oe,Z=[],J=H.type;if(!k._callbacks[z])return[];for(J=="keyup"&&U(z)&&($=[z]),W=0;W<k._callbacks[z].length;++W)if(oe=k._callbacks[z][W],!(!V&&oe.seq&&E[oe.seq]!=oe.level)&&J==oe.action&&(J=="keypress"&&!H.metaKey&&!H.ctrlKey||f($,oe.modifiers))){var ne=!V&&oe.combo==G,ie=V&&oe.seq==V&&oe.level==K;(ne||ie)&&k._callbacks[z].splice(W,1),Z.push(oe)}return Z}function _(z,$,H,V){k.stopCallback($,$.target||$.srcElement,H,V)||z($,H)===!1&&(g($),m($))}k._handleKey=function(z,$,H){var V=L(z,$,H),G,K={},W=0,oe=!1;for(G=0;G<V.length;++G)V[G].seq&&(W=Math.max(W,V[G].level));for(G=0;G<V.length;++G){if(V[G].seq){if(V[G].level!=W)continue;oe=!0,K[V[G].seq]=1,_(V[G].callback,H,V[G].combo,V[G].seq);continue}oe||_(V[G].callback,H,V[G].combo)}var Z=H.type=="keypress"&&P;H.type==N&&!U(z)&&!Z&&I(K),P=oe&&H.type=="keydown"};function D(z){typeof z.which!="number"&&(z.which=z.keyCode);var $=h(z);if($){if(z.type=="keyup"&&M===$){M=!1;return}k.handleKey($,p(z),z)}}function O(){clearTimeout(A),A=setTimeout(I,1e3)}function B(z,$,H,V){E[z]=0;function G(J){return function(){N=J,++E[z],O()}}function K(J){_(H,J,z),V!=="keyup"&&(M=h(J)),setTimeout(I,10)}for(var W=0;W<$.length;++W){var oe=W+1===$.length,Z=oe?K:G(V||w($[W+1]).action);F($[W],Z,V,z,W)}}function F(z,$,H,V,G){k._directMap[z+":"+H]=$,z=z.replace(/\s+/g," ");var K=z.split(" "),W;if(K.length>1){B(z,K,$,H);return}W=w(z,H),k._callbacks[W.key]=k._callbacks[W.key]||[],L(W.key,W.modifiers,{type:W.action},V,z,G),k._callbacks[W.key][V?"unshift":"push"]({callback:$,modifiers:W.modifiers,action:W.action,seq:V,level:G,combo:z})}k._bindMultiple=function(z,$,H){for(var V=0;V<z.length;++V)F(z[V],$,H)},d(C,"keypress",D),d(C,"keydown",D),d(C,"keyup",D)}S.prototype.bind=function(C,k,E){var A=this;return C=C instanceof Array?C:[C],A._bindMultiple.call(A,C,k,E),A},S.prototype.unbind=function(C,k){var E=this;return E.bind.call(E,C,function(){},k)},S.prototype.trigger=function(C,k){var E=this;return E._directMap[C+":"+k]&&E._directMap[C+":"+k]({},C),E},S.prototype.reset=function(){var C=this;return C._callbacks={},C._directMap={},C},S.prototype.stopCallback=function(C,k){var E=this;if((" "+k.className+" ").indexOf(" mousetrap ")>-1||T(k,E.target))return!1;if("composedPath"in C&&typeof C.composedPath=="function"){var A=C.composedPath()[0];A!==C.target&&(k=A)}return k.tagName=="INPUT"||k.tagName=="SELECT"||k.tagName=="TEXTAREA"||k.isContentEditable},S.prototype.handleKey=function(){var C=this;return C._handleKey.apply(C,arguments)},S.addKeycodes=function(C){for(var k in C)C.hasOwnProperty(k)&&(i[k]=C[k]);l=null},S.init=function(){var C=S(r);for(var k in C)k.charAt(0)!=="_"&&(S[k]=(function(E){return function(){return C[E].apply(C,arguments)}})(k))},S.init(),e.Mousetrap=S,t.exports&&(t.exports=S)})(typeof window<"u"?window:null,typeof window<"u"?document:null)})(XB)),XB.exports}var Gft=Vft();const Wft=T1(Gft);function jle(t,e,r){const n=t.toLocaleLowerCase().replace(/\s/g,"").replace("delete","del").replace("cmd","command").replace("arrowup","up").replace("arrowright","right").replace("arrowdown","down").replace("arrowleft","left");return e?vr(e,r,n):n}function Yle(t){var e;const r=t.target,n=(e=r==null?void 0:r.tagName)===null||e===void 0?void 0:e.toLowerCase();let i=["input","textarea"].includes(n);return Nn(r,"contenteditable")==="true"&&(i=!0),i}function qft(t,e,r){const n=t.target,i=t.currentTarget;return n?n===e||i===e||n===document.body?!0:zZ(r,n):!1}function jft(t){const e=new Wft(t.target),r=e.stopCallback;return e.stopCallback=(n,i,a)=>t.isEnabledForEvent(n)?r?r.call(e,n,i,a):!1:!0,e}class B8e extends H4{get graph(){return this.options.graph}constructor(e){super(),this.options=e;const r=this.graph.getPlugin("scroller");this.container=r?r.container:this.graph.container,e.global?this.target=document:(this.target=this.container,this.disabled||this.target.setAttribute("tabindex","-1"),this.graph.on("cell:mouseup",this.focus.bind(this),this),this.graph.on("blank:mouseup",this.focus.bind(this),this)),this.mousetrap=jft(this)}get disabled(){return this.options.enabled!==!0}enable(){this.disabled&&(this.options.enabled=!0,this.target instanceof HTMLElement&&this.target.setAttribute("tabindex","-1"))}disable(){this.disabled||(this.options.enabled=!1,this.target instanceof HTMLElement&&this.target.removeAttribute("tabindex"))}on(e,r,n){this.mousetrap.bind(this.getKeys(e),r,n)}off(e,r){this.mousetrap.unbind(this.getKeys(e),r)}clear(){this.mousetrap.reset()}trigger(e,r){this.mousetrap.trigger(jle(e,this.options.format,this.graph),r)}focus(e){if(Yle(e.e))return;this.target.focus({preventScroll:!0})}getKeys(e){return(Array.isArray(e)?e:[e]).map(r=>jle(r,this.options.format,this.graph))}isEnabledForEvent(e){const r=!this.disabled&&qft(e,this.target,this.container),n=Yle(e);if(r){if(n&&(e.key==="Backspace"||e.key==="Delete"))return!1;if(this.options.guard)return vr(this.options.guard,this.graph,e)}return r}dispose(){this.mousetrap.reset()}}_n([Bn()],B8e.prototype,"dispose",null);dt.prototype.isKeyboardEnabled=function(){const t=this.getPlugin("keyboard");return t?t.isEnabled():!1};dt.prototype.enableKeyboard=function(){const t=this.getPlugin("keyboard");return t&&t.enable(),this};dt.prototype.disableKeyboard=function(){const t=this.getPlugin("keyboard");return t&&t.disable(),this};dt.prototype.toggleKeyboard=function(t){const e=this.getPlugin("keyboard");return e&&e.toggleEnabled(t),this};dt.prototype.bindKey=function(t,e,r){const n=this.getPlugin("keyboard");return n&&n.bindKey(t,e,r),this};dt.prototype.unbindKey=function(t,e){const r=this.getPlugin("keyboard");return r&&r.unbindKey(t,e),this};dt.prototype.clearKeys=function(){const t=this.getPlugin("keyboard");return t&&t.clear(),this};dt.prototype.triggerKey=function(t,e){const r=this.getPlugin("keyboard");return r&&r.trigger(t,e),this};class Yft extends H4{constructor(e={}){super(),this.name="keyboard",this.options=Object.assign({enabled:!0},e)}init(e){this.keyboardImpl=new B8e(Object.assign(Object.assign({},this.options),{graph:e}))}isEnabled(){return!this.keyboardImpl.disabled}enable(){this.keyboardImpl.enable()}disable(){this.keyboardImpl.disable()}toggleEnabled(e){return e===void 0&&(e=!this.isEnabled()),e?this.enable():this.disable(),this}bindKey(e,r,n){return this.keyboardImpl.on(e,r,n),this}trigger(e,r){return this.keyboardImpl.trigger(e,r),this}clear(){return this.keyboardImpl.clear(),this}unbindKey(e,r){return this.keyboardImpl.off(e,r),this}dispose(){this.keyboardImpl.dispose()}}_n([Bn()],Yft.prototype,"dispose",null);class Mu extends Ac{get graph(){return this.options.graph}get boxClassName(){return this.prefixClassName(td.box)}get $boxes(){return eot(this.container,this.boxClassName)}get handleOptions(){return this.options}constructor(e){super(),this.updateThrottleTimer=null,this.isDragging=!1,this.batchUpdating=!1,this.dragRafId=null,this.transformRafId=null,this.dragPendingOffset=null,this.containerLocalOffsetX=0,this.containerLocalOffsetY=0,this.containerOffsetX=0,this.containerOffsetY=0,this.draggingPreviewMode="translate",this.translatingCache=null,this.movingRouterRestoreCache=null,this.movingRouterRestoreTimer=null,this.lastMovingTs=null,this.movingDegradeActivatedTs=null,this.options=e,this.options.model&&(this.options.collection=this.options.model.collection),this.options.collection?this.collection=this.options.collection:(this.collection=new aJ([],{comparator:Xft}),this.options.collection=this.collection),this.boxCount=0,this.boxesUpdated=!1,this.createContainer(),this.startListening()}startListening(){const e=this.graph,r=this.collection;this.delegateEvents({[`mousedown .${this.boxClassName}`]:"onSelectionBoxMouseDown",[`touchstart .${this.boxClassName}`]:"onSelectionBoxMouseDown",[`mousedown .${this.prefixClassName(td.inner)}`]:"onSelectionContainerMouseDown",[`touchstart .${this.prefixClassName(td.inner)}`]:"onSelectionContainerMouseDown"},!0),e.on("scale",this.onGraphTransformed,this),e.on("translate",this.onGraphTransformed,this),e.model.on("updated",this.onModelUpdated,this),r.on("added",this.onCellAdded,this),r.on("removed",this.onCellRemoved,this),r.on("reseted",this.onReseted,this),r.on("updated",this.onCollectionUpdated,this),r.on("node:change:position",this.onNodePositionChanged,this),r.on("cell:changed",this.onCellChanged,this)}stopListening(){const e=this.graph,r=this.collection;this.undelegateEvents(),e.off("scale",this.onGraphTransformed,this),e.off("translate",this.onGraphTransformed,this),this.transformRafId!=null&&(cancelAnimationFrame(this.transformRafId),this.transformRafId=null),this.updateThrottleTimer&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=null),e.model.off("updated",this.onModelUpdated,this),r.off("added",this.onCellAdded,this),r.off("removed",this.onCellRemoved,this),r.off("reseted",this.onReseted,this),r.off("updated",this.onCollectionUpdated,this),r.off("node:change:position",this.onNodePositionChanged,this),r.off("cell:changed",this.onCellChanged,this)}onRemove(){this.stopListening()}onGraphTransformed(){this.updateThrottleTimer&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=null),this.transformRafId==null&&(this.transformRafId=window.requestAnimationFrame(()=>{if(this.transformRafId=null,!(this.collection.length<=0)){if(this.isDragging){this.repositionSelectionBoxesInPlace(),this.options.following?this.resetContainerPosition():this.syncContainerPosition();return}this.refreshSelectionBoxes()}}))}onCellChanged(){this.updateSelectionBoxes()}onNodePositionChanged({node:e,options:r}){const{showNodeSelectionBox:n,pointerEvents:i}=this.options,{ui:a,selection:s,translateBy:o,snapped:l}=r,u=(n!==!0||i&&this.getPointerEventsValue(i)==="none")&&!this.translating&&!s,d=a&&o&&e.id===o;if(u&&(d||l)){this.translating=!0;const h=e.position(),f=e.previous("position");if(f){const p=h.x-f.x,g=h.y-f.y;(p!==0||g!==0)&&this.translateSelectedNodes(p,g,e,r)}this.translating=!1}}onModelUpdated({removed:e}){e!=null&&e.length&&this.unselect(e)}isEmpty(){return this.length<=0}isSelected(e){return this.collection.has(e)}get length(){return this.collection.length}get cells(){return this.collection.toArray()}select(e,r={}){r.dryrun=!0;const n=this.filter(Array.isArray(e)?e:[e]);return this.collection.add(n,r),this}unselect(e,r={}){return r.dryrun=!0,this.collection.remove(Array.isArray(e)?e:[e],r),this}reset(e,r={}){if(e){this.batchUpdating=!!r.batch;const n=this.cells,i=this.filter(Array.isArray(e)?e:[e]),a={},s={};for(const u of n)a[u.id]=u;for(const u of i)s[u.id]=u;const o=[],l=[];return i.forEach(u=>{a[u.id]||o.push(u)}),n.forEach(u=>{s[u.id]||l.push(u)}),l.length&&this.unselect(l,Object.assign(Object.assign({},r),{ui:!0})),o.length&&this.select(o,Object.assign(Object.assign({},r),{ui:!0})),this.updateContainer(),this.batchUpdating=!1,this}return this.clean(r)}clean(e={}){return this.length&&this.unselect(this.cells,e),this.resetContainerPosition(),this.draggingPreviewMode="translate",this}setFilter(e){this.options.filter=e}setContent(e){this.options.content=e}startSelecting(e){e=this.normalizeEvent(e),this.clean();let r,n;const i=this.graph.container;if(e.offsetX!=null&&e.offsetY!=null&&i.contains(e.target))r=e.offsetX,n=e.offsetY;else{const s=Sv(i),o=i.scrollLeft,l=i.scrollTop;r=e.clientX-s.left+window.pageXOffset+o,n=e.clientY-s.top+window.pageYOffset+l}ai(this.container,{top:n,left:r,width:1,height:1}),this.setEventData(e,{action:"selecting",clientX:e.clientX,clientY:e.clientY,offsetX:r,offsetY:n,scrollerX:0,scrollerY:0,moving:!1});const a=this.graph.snapToGrid(e.clientX,e.clientY);this.notifyBoxEvent("box:mousedown",e,a.x,a.y,[]),this.delegateDocumentEvents(Xle,e.data)}filter(e){const r=this.options.filter;return e.filter(n=>Array.isArray(r)?r.some(i=>typeof i=="string"?n.shape===i:n.id===i.id):typeof r=="function"?vr(r,this.graph,n):!0)}stopSelecting(e){this.isDragging=!1,this.boxesUpdated=!1,this.updateThrottleTimer&&(clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=null);const r=this.graph;switch(this.getEventData(e).action){case"selecting":{const a=r.snapToGrid(e.clientX,e.clientY),s=this.getSelectingRect(),o=this.getCellsInArea(s);this.reset(o,{batch:!0}),this.hideRubberband(),this.notifyBoxEvent("box:mouseup",e,a.x,a.y,o);break}case"translating":{const a=r.snapToGrid(e.clientX,e.clientY);if(this.dragPendingOffset){const s=this.dragPendingOffset;this.dragPendingOffset=null,this.applyDraggingPreview(s)}this.dragRafId!=null&&(cancelAnimationFrame(this.dragRafId),this.dragRafId=null),this.resetContainerPosition(),this.movingRouterRestoreTimer&&(clearTimeout(this.movingRouterRestoreTimer),this.movingRouterRestoreTimer=null),this.restoreMovingRouters(),this.graph.model.stopBatch("move-selection"),this.translatingCache=null,this.draggingPreviewMode="translate",this.notifyBoxEvent("box:mouseup",e,a.x,a.y),this.repositionSelectionBoxesInPlace();break}default:{this.clean();break}}this.undelegateDocumentEvents()}onMouseUp(e){const r=this.normalizeEvent(e);this.getEventData(r)&&this.stopSelecting(e)}onSelectionBoxMouseDown(e){this.handleSelectionMouseDown(e,!0)}onSelectionContainerMouseDown(e){this.handleSelectionMouseDown(e,!1)}handleSelectionMouseDown(e,r){var n;e.stopPropagation(),(n=e.preventDefault)===null||n===void 0||n.call(e);const i=this.normalizeEvent(e),a=this.graph.snapToGrid(i.clientX,i.clientY);if(!r&&Pg(i,this.options.multipleSelectionModifiers)){const l=this.graph.findViewsFromPoint(a.x,a.y).find(u=>u.isNodeView());if(l){const u=l.cell;this.isSelected(u)?this.unselect(u,{ui:!0}):this.options.multiple===!1?this.reset(u,{ui:!0}):this.select(u,{ui:!0})}return}this.options.movable&&this.startTranslating(i);let s=r?this.getCellViewFromElem(i.target):null;if(!s&&(s=this.graph.findViewsFromPoint(a.x,a.y).filter(l=>this.isSelected(l.cell))[0]||null,!s)){const l=this.collection.first();l&&(s=this.graph.renderer.findViewByCell(l))}s&&(this.setEventData(i,{activeView:s}),r&&this.notifyBoxEvent("box:mousedown",i,a.x,a.y),this.delegateDocumentEvents(Xle,i.data))}startTranslating(e){this.graph.model.startBatch("move-selection");const r=this.graph.snapToGrid(e.clientX,e.clientY);this.setEventData(e,{action:"translating",clientX:r.x,clientY:r.y,originX:r.x,originY:r.y}),this.prepareTranslatingCache(),this.draggingPreviewMode=this.getDraggingPreviewMode()}getRestrictArea(){const e=this.graph.options.translating.restrict,r=typeof e=="function"?vr(e,this.graph,null):e;return typeof r=="number"?this.graph.transform.getGraphArea().inflate(r):r===!0?this.graph.transform.getGraphArea():r||null}prepareTranslatingCache(){const e=this.collection.toArray().filter(s=>s.isNode()),r=new Set(e.map(s=>s.id)),n=this.collection.toArray().filter(s=>s.isEdge()),i=new Set,a=s=>s.getVertices().length>0||!s.getSourceCellId()||!s.getTargetCellId();this.graph.model.getEdges().forEach(s=>{const o=s.getSourceCellId(),l=s.getTargetCellId();(o!=null&&r.has(o)||l!=null&&r.has(l))&&a(s)&&i.add(s)}),n.forEach(s=>{a(s)&&i.add(s)}),this.translatingCache={selectedNodes:e,nodeIdSet:r,edgesToTranslate:Array.from(i)}}applyMovingRouterFallback(){var e;if(this.movingRouterRestoreCache)return;const r=(e=this.translatingCache)===null||e===void 0?void 0:e.selectedNodes;if(!r||r.length<2)return;const n=this.options.movingRouterFallback;if(!n||!kv.exist(n))return;const i={name:n},a={},s=new Set;r.forEach(o=>{this.graph.model.getConnectedEdges(o).forEach(l=>{if(s.has(l.id))return;s.add(l.id);const u=l.getRouter();a[l.id]=u,l.setRouter(i,{silent:!0})})}),this.movingRouterRestoreCache=a,this.movingDegradeActivatedTs=Date.now()}restoreMovingRouters(){const e=this.movingRouterRestoreCache;e&&(Object.keys(e).forEach(r=>{const n=this.graph.getCellById(r);if(!n||!n.isEdge())return;const i=e[r];i==null?n.removeRouter({silent:!0}):n.setRouter(i,{silent:!0});const a=this.graph.findViewByCell(n);a&&this.graph.renderer.requestViewUpdate(a,a.getFlag("update"),{async:!0})}),this.movingRouterRestoreCache=null)}scheduleMovingRouterRestoreThrottle(){this.movingRouterRestoreTimer&&(clearTimeout(this.movingRouterRestoreTimer),this.movingRouterRestoreTimer=null),this.movingRouterRestoreTimer=setTimeout(()=>{const e=Date.now(),r=this.lastMovingTs||0,n=e-r,i=this.movingDegradeActivatedTs!=null?e-this.movingDegradeActivatedTs:1/0;if(n<Mu.RESTORE_IDLE_TIME||i<Mu.RESTORE_HOLD_TIME){const a=Math.max(Mu.RESTORE_IDLE_TIME-n,Mu.RESTORE_HOLD_TIME-i,Mu.MIN_RESTORE_WAIT_TIME);this.movingRouterRestoreTimer=setTimeout(()=>{this.movingRouterRestoreTimer=null,this.restoreMovingRouters()},a);return}this.movingRouterRestoreTimer=null,this.restoreMovingRouters()},Mu.RESTORE_IDLE_TIME)}getSelectionOffset(e,r){let n=e.x-r.clientX,i=e.y-r.clientY;const a=this.getRestrictArea();if(a){const s=this.collection.toArray(),o=Ln.getCellsBBox(s,{deep:!0})||Bt.create(),l=a.x-o.x,u=a.y-o.y,d=a.x+a.width-(o.x+o.width),h=a.y+a.height-(o.y+o.height);if(n<l&&(n=l),i<u&&(i=u),d<n&&(n=d),h<i&&(i=h),!this.options.following){const f=e.x-r.originX,p=e.y-r.originY;n=f<=l||f>=d?0:n,i=p<=u||p>=h?0:i}}return{dx:n,dy:i}}updateSelectedNodesPosition(e){e.dx===0&&e.dy===0||(this.dragPendingOffset?(this.dragPendingOffset.dx+=e.dx,this.dragPendingOffset.dy+=e.dy):this.dragPendingOffset={dx:e.dx,dy:e.dy},this.dragRafId==null&&(this.dragRafId=requestAnimationFrame(()=>{const r=this.dragPendingOffset||{dx:0,dy:0};this.dragPendingOffset=null,this.dragRafId=null,this.applyDraggingPreview(r),this.boxesUpdated=!0,this.isDragging=!0})))}autoScrollGraph(e,r){const n=this.graph.getPlugin("scroller");return n!=null&&n.autoScroll?n.autoScroll(e,r):{scrollerX:0,scrollerY:0}}adjustSelection(e){const r=this.normalizeEvent(e),n=this.getEventData(r);switch(n.action){case"selecting":{const a=n;a.moving!==!0&&($u(this.container,this.graph.container),this.showRubberband(),a.moving=!0);const{scrollerX:s,scrollerY:o}=this.autoScrollGraph(r.clientX,r.clientY);a.scrollerX+=s,a.scrollerY+=o;const l=r.clientX-a.clientX+a.scrollerX,u=r.clientY-a.clientY+a.scrollerY;ai(this.container,{left:l<0?a.offsetX+l:a.offsetX,top:u<0?a.offsetY+u:a.offsetY,width:Math.abs(l),height:Math.abs(u)});const d=this.graph.snapToGrid(r.clientX,r.clientY),h=this.getSelectingRect(),f=this.getCellsInArea(h);this.notifyBoxEvent("box:mousemove",e,d.x,d.y,f);break}case"translating":{this.isDragging=!0;const a=this.graph.snapToGrid(r.clientX,r.clientY),s=n,o=this.getSelectionOffset(a,s);this.options.following?this.updateSelectedNodesPosition(o):this.updateContainerPosition(o),o.dx&&(s.clientX=a.x),o.dy&&(s.clientY=a.y),(o.dx!==0||o.dy!==0)&&(this.lastMovingTs=Date.now(),this.applyMovingRouterFallback(),this.scheduleMovingRouterRestoreThrottle()),this.notifyBoxEvent("box:mousemove",e,a.x,a.y);break}}this.boxesUpdated=!1}translateSelectedNodes(e,r,n,i){var a,s;const o={},l=[];if(n&&(o[n.id]=!0),this.collection.toArray().forEach(m=>{m.getDescendants({deep:!0}).forEach(U=>{o[U.id]=!0})}),i!=null&&i.translateBy){const m=this.graph.getCellById(i.translateBy);m&&(o[m.id]=!0,m.getDescendants({deep:!0}).forEach(U=>{o[U.id]=!0}),l.push(m))}const u=Object.assign(Object.assign({},i),{selection:this.cid,exclude:l}),d=(a=this.translatingCache)===null||a===void 0?void 0:a.selectedNodes,h=(d??this.collection.toArray().filter(m=>m.isNode())).filter(m=>!o[m.id]);h.forEach(m=>{m.translate(e,r,u)});const f=(s=this.translatingCache)===null||s===void 0?void 0:s.edgesToTranslate,p=new Set;if(f)f.forEach(m=>{p.add(m)});else{const m=new Set(h.map(U=>U.id));this.graph.model.getEdges().forEach(U=>{const y=U.getSourceCellId(),b=U.getTargetCellId(),v=y?m.has(y):!1,w=b?m.has(b):!1;(v||w)&&(U.getVertices().length>0||(!y||!b))&&p.add(U)})}this.collection.toArray().filter(m=>m.isEdge()&&!o[m.id]).forEach(m=>{const U=m.getVertices().length>0,y=!m.getSourceCellId()||!m.getTargetCellId();(U||y)&&p.add(m)}),p.forEach(m=>{m.translate(e,r,u)})}getCellViewsInArea(e){const r=this.graph,n={strict:this.options.strict};let i=[];return this.options.rubberNode&&(i=i.concat(r.model.getNodesInArea(e,n).map(a=>r.renderer.findViewByCell(a)).filter(a=>a!=null))),this.options.rubberEdge&&(i=i.concat(r.model.getEdgesInArea(e,n).map(a=>r.renderer.findViewByCell(a)).filter(a=>a!=null))),i}getCellsInArea(e){return this.filter(this.getCellViewsInArea(e).map(r=>r.cell))}getSelectingRect(){let e=elt(this.container),r=tlt(this.container);const n=Sv(this.container),i=this.graph.pageToLocal(n.left,n.top),a=this.graph.transform.getScale();return e/=a.sx,r/=a.sy,new Bt(i.x,i.y,e,r)}getBoxEventCells(e,r=null){var n;const i=[],a=[];let s=r;return(e??this.cells).forEach(o=>{const l=this.graph.getCellById(o.id);l&&(s||(s=this.graph.renderer.findViewByCell(l)),l.isNode()?i.push(l):l.isEdge()&&a.push(l))}),{view:s,cell:(n=s==null?void 0:s.cell)!==null&&n!==void 0?n:null,nodes:i,edges:a}}notifyBoxEvent(e,r,n,i,a){var s,o;const l=(o=(s=this.getEventData(r))===null||s===void 0?void 0:s.activeView)!==null&&o!==void 0?o:null,{view:u,cell:d,nodes:h,edges:f}=this.getBoxEventCells(a,l);this.trigger(e,{e:r,view:u,x:n,y:i,cell:d,nodes:h,edges:f})}getSelectedClassName(e){return this.prefixClassName(`${e.isNode()?"node":"edge"}-selected`)}addCellSelectedClassName(e){const r=this.graph.renderer.findViewByCell(e);r&&r.addClass(this.getSelectedClassName(e))}removeCellUnSelectedClassName(e){const r=this.graph.renderer.findViewByCell(e);r&&r.removeClass(this.getSelectedClassName(e))}destroySelectionBox(e){this.removeCellUnSelectedClassName(e),this.canShowSelectionBox(e)&&(Bu(this.container.querySelector(`[data-cell-id="${e.id}"]`)),this.$boxes.length===0&&this.hide(),this.boxCount=Math.max(0,this.boxCount-1))}destroyAllSelectionBoxes(e){e.forEach(r=>{this.removeCellUnSelectedClassName(r)}),this.hide(),Bu(this.$boxes),this.boxCount=0}hide(){Vi(this.container,this.prefixClassName(td.rubberband)),Vi(this.container,this.prefixClassName(td.selected))}showRubberband(){nr(this.container,this.prefixClassName(td.rubberband))}hideRubberband(){Vi(this.container,this.prefixClassName(td.rubberband))}showSelected(){VZ(this.container,"style"),nr(this.container,this.prefixClassName(td.selected))}createContainer(){this.container=document.createElement("div"),nr(this.container,this.prefixClassName(td.root)),this.options.className&&nr(this.container,this.options.className),ai(this.container,{willChange:"transform"}),this.selectionContainer=document.createElement("div"),nr(this.selectionContainer,this.prefixClassName(td.inner)),this.selectionContent=document.createElement("div"),nr(this.selectionContent,this.prefixClassName(td.content)),Mo(this.selectionContainer,this.selectionContent),Nn(this.selectionContainer,"data-selection-length",this.collection.length),P6e(this.container,this.selectionContainer)}getDraggingPreviewMode(){return this.options.following&&this.collection.toArray().some(r=>r.isEdge()&&this.canShowSelectionBox(r))?"geometry":"translate"}applyDraggingPreview(e){if(!(e.dx===0&&e.dy===0)){if(this.options.following&&(this.translateSelectedNodes(e.dx,e.dy),this.draggingPreviewMode==="geometry")){this.repositionSelectionBoxesInPlace(),this.resetContainerPosition();return}this.updateContainerPosition(e)}}resetContainerPosition(){this.containerLocalOffsetX=0,this.containerLocalOffsetY=0,this.containerOffsetX=0,this.containerOffsetY=0,ai(this.container,"transform","")}syncContainerPosition(){const e=this.graph.coord.localToGraphPoint(0,0),r=this.graph.coord.localToGraphPoint(this.containerLocalOffsetX,this.containerLocalOffsetY);if(this.containerOffsetX=r.x-e.x,this.containerOffsetY=r.y-e.y,this.containerOffsetX===0&&this.containerOffsetY===0){ai(this.container,"transform","");return}ai(this.container,"transform",`translate3d(${this.containerOffsetX}px, ${this.containerOffsetY}px, 0)`)}updateContainerPosition(e){(e.dx||e.dy)&&(this.containerLocalOffsetX+=e.dx,this.containerLocalOffsetY+=e.dy,this.syncContainerPosition())}updateContainer(){const e={x:1/0,y:1/0},r={x:0,y:0};this.collection.toArray().filter(a=>this.canShowSelectionBox(a)).forEach(a=>{const s=this.graph.renderer.findViewByCell(a);if(s){const o=s.getBBox({useCellGeometry:!0});e.x=Math.min(e.x,o.x),e.y=Math.min(e.y,o.y),r.x=Math.max(r.x,o.x+o.width),r.y=Math.max(r.y,o.y+o.height)}}),ai(this.selectionContainer,{position:"absolute",pointerEvents:this.options.movable?"auto":"none",cursor:this.options.movable?"move":"default",left:e.x,top:e.y,width:r.x-e.x,height:r.y-e.y}),Nn(this.selectionContainer,"data-selection-length",this.collection.length);const i=this.options.content;if(i)if(typeof i=="function"){const a=vr(i,this.graph,this,this.selectionContent);a&&(this.selectionContent.innerHTML=a)}else this.selectionContent.innerHTML=i;this.collection.length>0&&!this.container.parentNode?$u(this.container,this.graph.container):this.collection.length<=0&&this.container.parentNode&&this.container.parentNode.removeChild(this.container)}canShowSelectionBox(e){return e.isNode()&&this.options.showNodeSelectionBox===!0||e.isEdge()&&this.options.showEdgeSelectionBox===!0}getPointerEventsValue(e){return typeof e=="string"?e:e(this.cells)}createSelectionBox(e){if(this.addCellSelectedClassName(e),this.canShowSelectionBox(e)){const r=this.graph.renderer.findViewByCell(e);if(r){const n=r.getBBox({useCellGeometry:!0}),i=this.boxClassName,a=document.createElement("div"),s=this.options.pointerEvents;nr(a,i),nr(a,`${i}-${e.isNode()?"node":"edge"}`),Nn(a,"data-cell-id",e.id),ai(a,{position:"absolute",left:n.x,top:n.y,width:n.width,height:n.height,pointerEvents:s?this.getPointerEventsValue(s):"auto"}),$u(a,this.container),this.showSelected(),this.boxCount+=1}}}updateSelectionBoxes(){if(this.collection.length>0){if(this.isDragging)return;this.updateThrottleTimer&&clearTimeout(this.updateThrottleTimer),this.updateThrottleTimer=setTimeout(()=>{this.refreshSelectionBoxes(),this.updateThrottleTimer=null},16)}}refreshSelectionBoxes(){Bu(this.$boxes),this.boxCount=0,this.collection.toArray().forEach(e=>{this.createSelectionBox(e)}),this.updateContainer(),this.boxesUpdated=!0}repositionSelectionBoxesInPlace(){const e=this.$boxes;if(e.length===0){this.refreshSelectionBoxes();return}for(const r of e){const n=r.getAttribute("data-cell-id");if(!n)continue;const i=this.collection.get(n);if(!i)continue;const a=this.graph.renderer.findViewByCell(i);if(!a)continue;const s=a.getBBox({useCellGeometry:!0});ai(r,{left:s.x,top:s.y,width:s.width,height:s.height})}this.updateContainer(),this.boxesUpdated=!0}getCellViewFromElem(e){const r=e.getAttribute("data-cell-id");if(r){const n=this.collection.get(r);if(n)return this.graph.renderer.findViewByCell(n)}return null}onCellRemoved({cell:e}){this.destroySelectionBox(e),this.batchUpdating||this.updateContainer()}onReseted({previous:e,current:r}){this.destroyAllSelectionBoxes(e),r.forEach(n=>{this.listenCellRemoveEvent(n),this.createSelectionBox(n)}),this.updateContainer()}onCellAdded({cell:e}){this.listenCellRemoveEvent(e),this.createSelectionBox(e),this.batchUpdating||this.updateContainer()}listenCellRemoveEvent(e){e.off("removed",this.onCellRemoved,this),e.on("removed",this.onCellRemoved,this)}onCollectionUpdated({added:e,removed:r,options:n}){e.forEach(a=>{this.trigger("cell:selected",{cell:a,options:n}),a.isNode()?this.trigger("node:selected",{cell:a,options:n,node:a}):a.isEdge()&&this.trigger("edge:selected",{cell:a,options:n,edge:a})}),r.forEach(a=>{this.trigger("cell:unselected",{cell:a,options:n}),a.isNode()?this.trigger("node:unselected",{cell:a,options:n,node:a}):a.isEdge()&&this.trigger("edge:unselected",{cell:a,options:n,edge:a})});const i={added:e,removed:r,options:n,selected:this.cells.filter(a=>!!this.graph.getCellById(a.id))};this.trigger("selection:changed",i)}dispose(){this.clean(),this.remove(),this.off()}}Mu.RESTORE_IDLE_TIME=100;Mu.RESTORE_HOLD_TIME=150;Mu.MIN_RESTORE_WAIT_TIME=50;_n([Bn()],Mu.prototype,"dispose",null);const hy="widget-selection",td={root:hy,inner:`${hy}-inner`,box:`${hy}-box`,content:`${hy}-content`,rubberband:`${hy}-rubberband`,selected:`${hy}-selected`},Xle={mousemove:"adjustSelection",touchmove:"adjustSelection",mouseup:"onMouseUp",touchend:"onMouseUp",touchcancel:"onMouseUp"};function Xft(t){return t.getAncestors().length}const Kft=`.x6-widget-selection {
position: absolute;
top: 0;
left: 0;
display: none;
width: 0;
height: 0;
touch-action: none;
}
.x6-widget-selection-rubberband {
display: block;
overflow: visible;
opacity: 0.3;
}
.x6-widget-selection-selected {
display: block;
}
.x6-widget-selection-box {
cursor: move;
}
.x6-widget-selection-inner[data-selection-length='0'],
.x6-widget-selection-inner[data-selection-length='1'] {
display: none;
}
.x6-widget-selection-content {
position: absolute;
top: 100%;
right: -20px;
left: -20px;
margin-top: 30px;
padding: 6px;
line-height: 14px;
text-align: center;
border-radius: 6px;
}
.x6-widget-selection-content:empty {
display: none;
}
.x6-widget-selection-rubberband {
background-color: #3498db;
border: 2px solid #2980b9;
}
.x6-widget-selection-box {
box-sizing: content-box !important;
margin-top: -4px;
margin-left: -4px;
padding-right: 4px;
padding-bottom: 4px;
border: 2px dashed #feb663;
box-shadow: 2px 2px 5px #d3d3d3;
}
.x6-widget-selection-inner {
box-sizing: content-box !important;
margin-top: -8px;
margin-left: -8px;
padding-right: 12px;
padding-bottom: 12px;
border: 2px solid #feb663;
box-shadow: 2px 2px 5px #d3d3d3;
}
.x6-widget-selection-content {
color: #fff;
font-size: 10px;
background-color: #6a6b8a;
}
`;dt.prototype.isSelectionEnabled=function(){const t=this.getPlugin("selection");return t?t.isEnabled():!1};dt.prototype.enableSelection=function(){const t=this.getPlugin("selection");return t&&t.enable(),this};dt.prototype.disableSelection=function(){const t=this.getPlugin("selection");return t&&t.disable(),this};dt.prototype.toggleSelection=function(t){const e=this.getPlugin("selection");return e&&e.toggleEnabled(t),this};dt.prototype.isMultipleSelection=function(){const t=this.getPlugin("selection");return t?t.isMultipleSelection():!1};dt.prototype.enableMultipleSelection=function(){const t=this.getPlugin("selection");return t&&t.enableMultipleSelection(),this};dt.prototype.disableMultipleSelection=function(){const t=this.getPlugin("selection");return t&&t.disableMultipleSelection(),this};dt.prototype.toggleMultipleSelection=function(t){const e=this.getPlugin("selection");return e&&e.toggleMultipleSelection(t),this};dt.prototype.isSelectionMovable=function(){const t=this.getPlugin("selection");return t?t.isSelectionMovable():!1};dt.prototype.enableSelectionMovable=function(){const t=this.getPlugin("selection");return t&&t.enableSelectionMovable(),this};dt.prototype.disableSelectionMovable=function(){const t=this.getPlugin("selection");return t&&t.disableSelectionMovable(),this};dt.prototype.toggleSelectionMovable=function(t){const e=this.getPlugin("selection");return e&&e.toggleSelectionMovable(t),this};dt.prototype.isRubberbandEnabled=function(){const t=this.getPlugin("selection");return t?t.isRubberbandEnabled():!1};dt.prototype.enableRubberband=function(){const t=this.getPlugin("selection");return t&&t.enableRubberband(),this};dt.prototype.disableRubberband=function(){const t=this.getPlugin("selection");return t&&t.disableRubberband(),this};dt.prototype.toggleRubberband=function(t){const e=this.getPlugin("selection");return e&&e.toggleRubberband(t),this};dt.prototype.isStrictRubberband=function(){const t=this.getPlugin("selection");return t?t.isStrictRubberband():!1};dt.prototype.enableStrictRubberband=function(){const t=this.getPlugin("selection");return t&&t.enableStrictRubberband(),this};dt.prototype.disableStrictRubberband=function(){const t=this.getPlugin("selection");return t&&t.disableStrictRubberband(),this};dt.prototype.toggleStrictRubberband=function(t){const e=this.getPlugin("selection");return e&&e.toggleStrictRubberband(t),this};dt.prototype.setRubberbandModifiers=function(t){const e=this.getPlugin("selection");return e&&e.setRubberbandModifiers(t),this};dt.prototype.setSelectionFilter=function(t){const e=this.getPlugin("selection");return e&&e.setSelectionFilter(t),this};dt.prototype.setSelectionDisplayContent=function(t){const e=this.getPlugin("selection");return e&&e.setSelectionDisplayContent(t),this};dt.prototype.isSelectionEmpty=function(){const t=this.getPlugin("selection");return t?t.isEmpty():!0};dt.prototype.cleanSelection=function(t){const e=this.getPlugin("selection");return e&&e.clean(t),this};dt.prototype.resetSelection=function(t,e){const r=this.getPlugin("selection");return r&&r.reset(t,e),this};dt.prototype.getSelectedCells=function(){const t=this.getPlugin("selection");return t?t.getSelectedCells():[]};dt.prototype.getSelectedCellCount=function(){const t=this.getPlugin("selection");return t?t.getSelectedCellCount():0};dt.prototype.isSelected=function(t){const e=this.getPlugin("selection");return e?e.isSelected(t):!1};dt.prototype.select=function(t,e){const r=this.getPlugin("selection");return r&&r.select(t,e),this};dt.prototype.unselect=function(t,e){const r=this.getPlugin("selection");return r&&r.unselect(t,e),this};const Zft={rubberband:!1,rubberNode:!0,rubberEdge:!1,pointerEvents:"auto",multiple:!0,multipleSelectionModifiers:["ctrl","meta"],movable:!0,strict:!1,selectCellOnMoved:!1,selectNodeOnMoved:!1,selectEdgeOnMoved:!1,following:!0,content:null,eventTypes:["leftMouseDown","mouseWheelDown"]};let Jft=class extends Xl{get rubberbandDisabled(){return this.options.enabled!==!0||this.options.rubberband!==!0}get disabled(){return this.options.enabled!==!0}get length(){return this.selectionImpl.length}get cells(){return this.selectionImpl.cells}constructor(e={}){super(),this.name="selection",this.movedMap=new WeakMap,this.unselectMap=new WeakMap,this.options=Object.assign(Object.assign({enabled:!0},Zft),e),b1(this.name,Kft)}init(e){this.graph=e,this.selectionImpl=new Mu(Object.assign(Object.assign({},this.options),{graph:e})),this.resolvePanningSelectionConflict(),this.setup(),this.startListening()}isEnabled(){return!this.disabled}enable(){this.disabled&&(this.options.enabled=!0)}disable(){this.disabled||(this.options.enabled=!1)}toggleEnabled(e){return e!=null?e!==this.isEnabled()&&(e?this.enable():this.disable()):this.isEnabled()?this.disable():this.enable(),this}isMultipleSelection(){return this.isMultiple()}enableMultipleSelection(){return this.enableMultiple(),this}disableMultipleSelection(){return this.disableMultiple(),this}toggleMultipleSelection(e){return e!=null?e!==this.isMultipleSelection()&&(e?this.enableMultipleSelection():this.disableMultipleSelection()):this.isMultipleSelection()?this.disableMultipleSelection():this.enableMultipleSelection(),this}isSelectionMovable(){return this.options.movable!==!1}enableSelectionMovable(){return this.selectionImpl.options.movable=!0,this}disableSelectionMovable(){return this.selectionImpl.options.movable=!1,this}toggleSelectionMovable(e){return e!=null?e!==this.isSelectionMovable()&&(e?this.enableSelectionMovable():this.disableSelectionMovable()):this.isSelectionMovable()?this.disableSelectionMovable():this.enableSelectionMovable(),this}isRubberbandEnabled(){return!this.rubberbandDisabled}enableRubberband(){return this.rubberbandDisabled&&(this.options.rubberband=!0),this}disableRubberband(){return this.rubberbandDisabled||(this.options.rubberband=!1),this}toggleRubberband(e){return e!=null?e!==this.isRubberbandEnabled()&&(e?this.enableRubberband():this.disableRubberband()):this.isRubberbandEnabled()?this.disableRubberband():this.enableRubberband(),this}isStrictRubberband(){return this.selectionImpl.options.strict===!0}enableStrictRubberband(){return this.selectionImpl.options.strict=!0,this}disableStrictRubberband(){return this.selectionImpl.options.strict=!1,this}toggleStrictRubberband(e){return e!=null?e!==this.isStrictRubberband()&&(e?this.enableStrictRubberband():this.disableStrictRubberband()):this.isStrictRubberband()?this.disableStrictRubberband():this.enableStrictRubberband(),this}setRubberbandModifiers(e){this.setModifiers(e)}setSelectionFilter(e){return this.setFilter(e),this}setSelectionDisplayContent(e){return this.setContent(e),this}isEmpty(){return this.length<=0}clean(e={}){return this.selectionImpl.clean(e),this}reset(e,r={}){return this.selectionImpl.reset(e?this.getCells(e):[],r),this}getSelectedCells(){return this.cells}getSelectedCellCount(){return this.length}isSelected(e){return this.selectionImpl.isSelected(e)}select(e,r={}){const n=this.getCells(e);return n.length&&(this.isMultiple()?this.selectionImpl.select(n,r):this.reset(n.slice(0,1),r)),this}unselect(e,r={}){return this.selectionImpl.unselect(this.getCells(e),r),this}setup(){this.selectionImpl.on("*",(e,r)=>{this.trigger(e,r),this.graph.trigger(e,r)})}startListening(){this.graph.on("blank:mousedown",this.onBlankMouseDown,this),this.graph.on("blank:click",this.onBlankClick,this),this.graph.on("cell:mousemove",this.onCellMouseMove,this),this.graph.on("cell:mouseup",this.onCellMouseUp,this),this.selectionImpl.on("box:mousedown",this.onBoxMouseDown,this)}stopListening(){this.graph.off("blank:mousedown",this.onBlankMouseDown,this),this.graph.off("blank:click",this.onBlankClick,this),this.graph.off("cell:mousemove",this.onCellMouseMove,this),this.graph.off("cell:mouseup",this.onCellMouseUp,this),this.selectionImpl.off("box:mousedown",this.onBoxMouseDown,this)}onBlankMouseDown({e}){if(!this.allowBlankMouseDown(e))return;const r=this.graph.panning.allowPanning(e,!0),n=this.graph.getPlugin("scroller"),i=n&&n.allowPanning(e,!0);(this.allowRubberband(e,!0)||this.allowRubberband(e)&&!i&&!r)&&this.startRubberband(e)}allowBlankMouseDown(e){const r=this.options.eventTypes;return typeof e.type=="string"&&e.type.startsWith("touch")||e.pointerType==="touch"?r==null?void 0:r.includes("leftMouseDown"):(r==null?void 0:r.includes("leftMouseDown"))&&e.button===0||(r==null?void 0:r.includes("mouseWheelDown"))&&e.button===1}onBlankClick(){this.clean()}allowRubberband(e,r){const n=e??{altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1};return!this.rubberbandDisabled&&Pg(n,this.options.modifiers,r)}resolvePanningSelectionConflict(){if(this.options.enabled!==!0||this.options.rubberband!==!0)return;const e=this.graph.options.panning;if(!e||e.enabled===!1)return;(()=>{var n,i;const a=(n=this.options.eventTypes)!==null&&n!==void 0?n:[],s=(i=e.eventTypes)!==null&&i!==void 0?i:[],o=new Set(s),l=a.some(d=>o.has(d)),u=jlt(e.modifiers,this.options.modifiers);return l&&u})()&&this.graph.panning.disablePanning()}allowMultipleSelection(e){return this.isMultiple()&&Pg(e,this.options.multipleSelectionModifiers)}onCellMouseMove({cell:e}){this.movedMap.set(e,!0)}onCellMouseUp({e,cell:r}){const n=this.options;let i=this.disabled;!i&&this.movedMap.has(r)&&(i=n.selectCellOnMoved===!1,i||(i=n.selectNodeOnMoved===!1&&r.isNode()),i||(i=n.selectEdgeOnMoved===!1&&r.isEdge())),i||(this.allowMultipleSelection(e)?this.unselectMap.has(r)?this.unselectMap.delete(r):this.isSelected(r)?this.unselect(r):this.select(r):this.reset(r)),this.movedMap.delete(r)}onBoxMouseDown({e,cell:r}){!this.disabled&&r&&this.allowMultipleSelection(e)&&(this.unselect(r),this.unselectMap.set(r,!0))}getCells(e){return(Array.isArray(e)?e:[e]).map(r=>typeof r=="string"?this.graph.getCellById(r):r).filter(r=>r!=null)}startRubberband(e){return this.rubberbandDisabled||this.selectionImpl.startSelecting(e),this}isMultiple(){return this.options.multiple!==!1}enableMultiple(){return this.options.multiple=!0,this}disableMultiple(){return this.options.multiple=!1,this}setModifiers(e){return this.options.modifiers=e,this}setContent(e){return this.selectionImpl.setContent(e),this}setFilter(e){return this.selectionImpl.setFilter(e),this}dispose(){this.stopListening(),this.off(),this.selectionImpl.dispose(),v1(this.name)}};_n([Bn()],Jft.prototype,"dispose",null);const Qft=`.x6-widget-minimap {
position: relative;
display: table-cell;
box-sizing: border-box;
overflow: hidden;
text-align: center;
vertical-align: middle;
background-color: #fff;
user-select: none;
}
.x6-widget-minimap .x6-graph {
display: inline-block;
box-shadow: 0 0 4px 0 #eee;
cursor: pointer;
}
.x6-widget-minimap .x6-graph > svg {
pointer-events: none;
shape-rendering: optimizespeed;
}
.x6-widget-minimap .x6-graph .x6-node * {
/* stylelint-disable-next-line */
vector-effect: initial;
}
.x6-widget-minimap-viewport {
position: absolute;
box-sizing: content-box !important;
margin: -2px 0 0 -2px;
border: 2px solid #31d0c6;
cursor: move;
}
.x6-widget-minimap-viewport-zoom {
position: absolute;
right: 0;
bottom: 0;
box-sizing: border-box;
width: 12px;
height: 12px;
margin: 0 -6px -6px 0;
background-color: #fff;
border: 2px solid #31d0c6;
border-radius: 50%;
cursor: nwse-resize;
}
`,e0t={width:300,height:200,padding:10,scalable:!0,minScale:.01,maxScale:16,graphOptions:{},createGraph:t=>new dt(t)},t0t={mousemove:"doAction",touchmove:"doAction",mouseup:"stopAction",touchend:"stopAction"},$8e="widget-minimap",F8e=`${$8e}-viewport`,r0t=`${F8e}-zoom`;class n0t extends Ac{get scroller(){return this.graph.getPlugin("scroller")}get graphContainer(){return this.scroller?this.scroller.container:this.graph.container}constructor(e){super(),this.name="minimap",this.options=Object.assign(Object.assign({},e0t),e),b1(this.name,Qft)}init(e){this.graph=e,this.updateViewport=LO(this.updateViewport.bind(this),0),this.container=document.createElement("div"),nr(this.container,this.prefixClassName($8e));const r=document.createElement("div");this.container.appendChild(r),this.viewport=document.createElement("div"),nr(this.viewport,this.prefixClassName(F8e)),this.options.scalable&&(this.zoomHandle=document.createElement("div"),nr(this.zoomHandle,this.prefixClassName(r0t)),$u(this.zoomHandle,this.viewport)),Mo(this.container,this.viewport),ai(this.container,{width:this.options.width,height:this.options.height,padding:this.options.padding}),this.options.container&&this.options.container.appendChild(this.container),this.sourceGraph=this.graph;const n=Object.assign(Object.assign({},this.options.graphOptions),{container:r,model:this.sourceGraph.model,interacting:!1,grid:!1,background:!1,embedding:!1,panning:!1});this.targetGraph=this.options.createGraph?this.options.createGraph(n):new dt(n),this.updatePaper(this.sourceGraph.options.width,this.sourceGraph.options.height),this.startListening()}startListening(){this.scroller?Ei.on(this.graphContainer,`scroll${this.getEventNamespace()}`,this.updateViewport):(this.sourceGraph.on("translate",this.onTransform,this),this.sourceGraph.on("scale",this.onTransform,this),this.sourceGraph.on("model:updated",this.onModelUpdated,this)),this.sourceGraph.on("resize",this.updatePaper,this),this.delegateEvents({mousedown:"startAction",touchstart:"startAction",[`mousedown .${this.prefixClassName("graph")}`]:"scrollTo",[`touchstart .${this.prefixClassName("graph")}`]:"scrollTo"})}stopListening(){this.scroller?Ei.off(this.graphContainer,this.getEventNamespace()):(this.sourceGraph.off("translate",this.onTransform,this),this.sourceGraph.off("scale",this.onTransform,this),this.sourceGraph.off("model:updated",this.onModelUpdated,this)),this.sourceGraph.off("resize",this.updatePaper,this),this.undelegateEvents()}onRemove(){this.stopListening(),this.targetGraph.dispose(!1)}onTransform(e){(e.ui||this.targetGraphTransforming||!this.scroller)&&this.updateViewport()}onModelUpdated(){this.targetGraph.zoomToFit()}updatePaper(e,r){let n,i;typeof e=="object"?(n=e.width,i=e.height):(n=e,i=r);const a=this.sourceGraph.options,s=this.sourceGraph.transform.getScale(),o=this.options.width-2*this.options.padding,l=this.options.height-2*this.options.padding;n/=s.sx,i/=s.sy,this.ratio=Math.min(o/n,l/i);const u=this.ratio,d=a.x*u/s.sx,h=a.y*u/s.sy;return n*=u,i*=u,this.targetGraph.resize(n,i),this.targetGraph.translate(d,h),this.scroller?this.targetGraph.scale(u,u):this.targetGraph.zoomToFit(),this.updateViewport(),this}updateViewport(){const e=this.sourceGraph.transform.getScale(),r=this.targetGraph.transform.getScale(),n=this.scroller?this.scroller.clientToLocalPoint(0,0):this.graph.graphToLocal(0,0),i=rlt(this.targetGraph.container),a=this.targetGraph.translate();a.ty=a.ty||0,this.geometry={top:i.top+n.y*r.sy+a.ty,left:i.left+n.x*r.sx+a.tx,width:this.graphContainer.clientWidth*r.sx/e.sx,height:this.graphContainer.clientHeight*r.sy/e.sy},ai(this.viewport,this.geometry)}startAction(e){const r=this.normalizeEvent(e),n=r.target===this.zoomHandle?"zooming":"panning",{tx:i,ty:a}=this.sourceGraph.translate(),s={action:n,clientX:r.clientX,clientY:r.clientY,scrollLeft:this.graphContainer.scrollLeft,scrollTop:this.graphContainer.scrollTop,zoom:this.sourceGraph.zoom(),scale:this.sourceGraph.transform.getScale(),geometry:this.geometry,translateX:i,translateY:a};this.targetGraphTransforming=!0,this.delegateDocumentEvents(t0t,s)}doAction(e){const r=this.normalizeEvent(e),n=r.clientX,i=r.clientY,a=r.data;switch(a.action){case"panning":{const s=this.sourceGraph.transform.getScale(),o=(n-a.clientX)*s.sx,l=(i-a.clientY)*s.sy;this.scroller?(this.graphContainer.scrollLeft=a.scrollLeft+o/this.ratio,this.graphContainer.scrollTop=a.scrollTop+l/this.ratio):this.sourceGraph.translate(a.translateX-o/this.ratio,a.translateY-l/this.ratio);break}case"zooming":{const s=a.scale,o=a.geometry,l=1+(a.clientX-n)/o.width/s.sx;a.frameId&&cancelAnimationFrame(a.frameId),a.frameId=requestAnimationFrame(()=>{this.sourceGraph.zoom(l*a.zoom,{absolute:!0,minScale:this.options.minScale,maxScale:this.options.maxScale})});break}}}stopAction(){this.undelegateDocumentEvents(),this.targetGraphTransforming=!1}scrollTo(e){const r=this.normalizeEvent(e);let n,i;const a=this.targetGraph.translate();if(a.ty=a.ty||0,r.offsetX==null){const l=Sv(this.targetGraph.container);n=r.pageX-l.left,i=r.pageY-l.top}else n=r.offsetX,i=r.offsetY;const s=(n-a.tx)/this.ratio,o=(i-a.ty)/this.ratio;this.sourceGraph.centerPoint(s,o)}dispose(){this.remove(),v1(this.name)}}_n([Bn()],n0t.prototype,"dispose",null);const YO="graph-scroller",i0t=`${YO}-paged`,a0t=`${YO}-content`,s0t=`${YO}-background`,Kle="transition-in-progress",KB="transitionend.graph-scroller-transition",o0t={padding(){const t=this.getClientSize(),e=Math.max(this.options.minVisibleWidth||0,1)||1,r=Math.max(this.options.minVisibleHeight||0,1)||1,n=Math.max(t.width-e,0),i=Math.max(t.height-r,0);return{left:n,top:i,right:n,bottom:i}},minVisibleWidth:50,minVisibleHeight:50,pageVisible:!1,pageBreak:!1,autoResize:!0};function z8e(t){const e=zi({},o0t,t);e.pageWidth==null&&(e.pageWidth=t.graph.options.width),e.pageHeight==null&&(e.pageHeight=t.graph.options.height);const r=t.graph.options;return r.background&&e.enabled&&e.background==null&&(e.background=r.background,t.graph.background.clear()),e}class H8e extends Ac{get graph(){return this.options.graph}get model(){return this.graph.model}constructor(e){super(),this.padding={left:0,top:0,right:0,bottom:0},this.options=z8e(e),this.onUpdate=LO(this.onUpdate,200);const r=this.graph.transform.getScale();this.sx=r.sx,this.sy=r.sy;const n=this.options.width||this.graph.options.width,i=this.options.height||this.graph.options.height;this.container=document.createElement("div"),nr(this.container,this.prefixClassName(YO)),ai(this.container,{width:n,height:i}),this.options.pageVisible&&nr(this.container,this.prefixClassName(i0t)),this.options.className&&nr(this.container,this.options.className);const a=this.graph.container;a.parentNode&&Ow(a,this.container),this.content=document.createElement("div"),nr(this.content,this.prefixClassName(a0t)),ai(this.content,{width:this.graph.options.width,height:this.graph.options.height}),this.background=document.createElement("div"),nr(this.background,this.prefixClassName(s0t)),Mo(this.content,this.background),this.options.pageVisible||Mo(this.content,this.graph.view.grid),Mo(this.content,a),$u(this.content,this.container),this.startListening(),this.options.pageVisible||this.graph.grid.update(),this.backgroundManager=new l0t(this),this.options.autoResize||this.update()}startListening(){const e=this.graph,r=this.model;e.on("scale",this.onScale,this),e.on("resize",this.onResize,this),e.on("before:print",this.storeScrollPosition,this),e.on("before:export",this.storeScrollPosition,this),e.on("after:print",this.restoreScrollPosition,this),e.on("after:export",this.restoreScrollPosition,this),r.on("reseted",this.onUpdate,this),r.on("cell:added",this.onUpdate,this),r.on("cell:removed",this.onUpdate,this),r.on("cell:changed",this.onUpdate,this),this.delegateBackgroundEvents()}stopListening(){const e=this.graph,r=this.model;e.off("scale",this.onScale,this),e.off("resize",this.onResize,this),e.off("beforeprint",this.storeScrollPosition,this),e.off("beforeexport",this.storeScrollPosition,this),e.off("afterprint",this.restoreScrollPosition,this),e.off("afterexport",this.restoreScrollPosition,this),r.off("reseted",this.onUpdate,this),r.off("cell:added",this.onUpdate,this),r.off("cell:removed",this.onUpdate,this),r.off("cell:changed",this.onUpdate,this),this.undelegateBackgroundEvents()}enableAutoResize(){this.options.autoResize=!0}disableAutoResize(){this.options.autoResize=!1}onUpdate(){this.options.autoResize&&this.update()}delegateBackgroundEvents(e){const r=e||A0.events;this.delegatedHandlers=Object.keys(r).reduce((n,i)=>{const a=r[i];if(i.indexOf(" ")===-1)if(typeof a=="function")n[i]=a;else{let s=this.graph.view[a];typeof s=="function"&&(s=s.bind(this.graph.view),n[i]=s)}return n},{}),this.onBackgroundEvent=this.onBackgroundEvent.bind(this),Object.keys(this.delegatedHandlers).forEach(n=>{this.delegateEvent(n,{guarded:!1},this.onBackgroundEvent)})}undelegateBackgroundEvents(){Object.keys(this.delegatedHandlers).forEach(e=>{this.undelegateEvent(e,this.onBackgroundEvent)})}onBackgroundEvent(e){let r=!1;const n=e.target;if(this.options.pageVisible)this.options.background?r=this.background===n:r=this.content===n;else{const i=this.graph.view;r=i.background===n||i.grid===n}if(r){const i=this.delegatedHandlers[e.type];typeof i=="function"&&i.apply(this.graph,arguments)}}onResize(){this.cachedCenterPoint&&(this.centerPoint(this.cachedCenterPoint.x,this.cachedCenterPoint.y),this.updatePageBreak())}onScale({sx:e,sy:r,ox:n,oy:i}){this.updateScale(e,r),(n||i)&&(this.centerPoint(n,i),this.updatePageBreak()),typeof this.options.autoResizeOptions=="function"&&this.update()}storeScrollPosition(){this.cachedScrollLeft=this.container.scrollLeft,this.cachedScrollTop=this.container.scrollTop}restoreScrollPosition(){this.container.scrollLeft=this.cachedScrollLeft,this.container.scrollTop=this.cachedScrollTop,this.cachedScrollLeft=null,this.cachedScrollTop=null}storeClientSize(){this.cachedClientSize={width:this.container.clientWidth,height:this.container.clientHeight}}restoreClientSize(){this.cachedClientSize=null}beforeManipulation(){(Noe||Ooe)&&ai(this.container,{visibility:"hidden"})}afterManipulation(){(Noe||Ooe)&&ai(this.container,{visibility:"visible"})}updatePageSize(e,r){e!=null&&(this.options.pageWidth=e),r!=null&&(this.options.pageHeight=r),this.updatePageBreak()}updatePageBreak(){if(this.pageBreak&&this.pageBreak.parentNode&&this.pageBreak.parentNode.removeChild(this.pageBreak),this.pageBreak=null,this.options.pageVisible&&this.options.pageBreak){const e=this.graph.options.width,r=this.graph.options.height,n=this.options.pageWidth*this.sx,i=this.options.pageHeight*this.sy;if(n===0||i===0)return;if(e>n||r>i){let a=!1;const s=document.createElement("div");for(let o=1,l=Math.floor(e/n);o<l;o+=1){const u=document.createElement("div");nr(u,this.prefixClassName("graph-pagebreak-vertical")),ai(u,{left:o*n}),$u(u,s),a=!0}for(let o=1,l=Math.floor(r/i);o<l;o+=1){const u=document.createElement("div");nr(u,this.prefixClassName("graph-pagebreak-horizontal")),ai(u,{top:o*i}),$u(u,s),a=!0}a&&(nr(s,this.prefixClassName("graph-pagebreak")),Jst(this.graph.view.grid,s),this.pageBreak=s)}}}update(){const e=this.getClientSize();this.cachedCenterPoint=this.clientToLocalPoint(e.width/2,e.height/2);let r=this.options.autoResizeOptions;typeof r=="function"&&(r=vr(r,this,this));const n=Object.assign({gridWidth:this.options.pageWidth,gridHeight:this.options.pageHeight,allowNewOrigin:"negative"},r);this.graph.fitToContent(this.getFitToContentOptions(n))}getFitToContentOptions(e){const r=this.sx,n=this.sy;return e.gridWidth&&(e.gridWidth*=r),e.gridHeight&&(e.gridHeight*=n),e.minWidth&&(e.minWidth*=r),e.minHeight&&(e.minHeight*=n),typeof e.padding=="object"?e.padding={left:(e.padding.left||0)*r,right:(e.padding.right||0)*r,top:(e.padding.top||0)*n,bottom:(e.padding.bottom||0)*n}:typeof e.padding=="number"&&(e.padding*=r),this.options.autoResize||(e.contentArea=Bt.create()),e}updateScale(e,r){const n=this.graph.options,i=e/this.sx,a=r/this.sy;this.sx=e,this.sy=r,this.graph.translate(n.x*i,n.y*a),this.graph.transform.resize(n.width*i,n.height*a)}scrollbarPosition(e,r){if(e==null&&r==null)return{left:this.container.scrollLeft,top:this.container.scrollTop};const n={};return typeof e=="number"&&(n.scrollLeft=e),typeof r=="number"&&(n.scrollTop=r),$V(this.container,n),this}scrollToPoint(e,r){const n=this.getClientSize(),i=this.graph.matrix(),a={};return typeof e=="number"&&(a.scrollLeft=e-n.width/2+i.e+(this.padding.left||0)),typeof r=="number"&&(a.scrollTop=r-n.height/2+i.f+(this.padding.top||0)),$V(this.container,a),this}scrollToContent(){const e=this.sx,r=this.sy,n=this.graph.getContentArea().getCenter();return this.scrollToPoint(n.x*e,n.y*r)}scrollToCell(e){const r=this.sx,n=this.sy,i=e.getBBox().getCenter();return this.scrollToPoint(i.x*r,i.y*n)}center(e){return this.centerPoint(e)}centerPoint(e,r,n){const i=this.graph.matrix(),a=i.a,s=i.d,o=-i.e,l=-i.f,u=o+this.graph.options.width,d=l+this.graph.options.height;let h;if(this.storeClientSize(),typeof e=="number"||typeof r=="number"){h=n;const T=this.getVisibleArea().getCenter();typeof e=="number"?e*=a:e=T.x,typeof r=="number"?r*=s:r=T.y}else h=e,e=(o+u)/2,r=(l+d)/2;if(h&&h.padding)return this.positionPoint({x:e,y:r},"50%","50%",h);const f=this.getPadding(),p=this.getClientSize(),g=p.width/2,m=p.height/2,U=g-f.left-e+o,y=g-f.right+e-u,b=m-f.top-r+l,v=m-f.bottom+r-d;this.addPadding(Math.max(U,0),Math.max(y,0),Math.max(b,0),Math.max(v,0));const w=this.scrollToPoint(e,r);return this.restoreClientSize(),w}centerContent(e){return this.positionContent("center",e)}centerCell(e,r){return this.positionCell(e,"center",r)}positionContent(e,r){const n=this.graph.getContentArea(r);return this.positionRect(n,e,r)}positionCell(e,r,n){const i=e.getBBox();return this.positionRect(i,r,n)}positionRect(e,r,n){const i=Bt.create(e);switch(r){case"center":return this.positionPoint(i.getCenter(),"50%","50%",n);case"top":return this.positionPoint(i.getTopCenter(),"50%",0,n);case"top-right":return this.positionPoint(i.getTopRight(),"100%",0,n);case"right":return this.positionPoint(i.getRightMiddle(),"100%","50%",n);case"bottom-right":return this.positionPoint(i.getBottomRight(),"100%","100%",n);case"bottom":return this.positionPoint(i.getBottomCenter(),"50%","100%",n);case"bottom-left":return this.positionPoint(i.getBottomLeft(),0,"100%",n);case"left":return this.positionPoint(i.getLeftMiddle(),0,"50%",n);case"top-left":return this.positionPoint(i.getTopLeft(),0,0,n);default:return this}}positionPoint(e,r,n,i={}){const{padding:a}=i,s=Un(i,["padding"]),o=Sd(a),l=Bt.fromSize(this.getClientSize()),u=l.clone().moveAndExpand({x:o.left,y:o.top,width:-o.right-o.left,height:-o.top-o.bottom});r=qc(r,Math.max(0,u.width)),r<0&&(r=u.width+r),n=qc(n,Math.max(0,u.height)),n<0&&(n=u.height+n);const d=u.getTopLeft().translate(r,n),h=l.getCenter().diff(d),f=this.zoom(),p=h.scale(1/f,1/f),g=Je.create(e).translate(p);return this.centerPoint(g.x,g.y,s)}zoom(e,r){if(e==null)return this.sx;r=r||{};let n,i;const a=this.getClientSize(),s=this.clientToLocalPoint(a.width/2,a.height/2);let o=e,l=e;if(r.absolute||(o+=this.sx,l+=this.sy),r.scaleGrid&&(o=Math.round(o/r.scaleGrid)*r.scaleGrid,l=Math.round(l/r.scaleGrid)*r.scaleGrid),r.maxScale&&(o=Math.min(r.maxScale,o),l=Math.min(r.maxScale,l)),r.minScale&&(o=Math.max(r.minScale,o),l=Math.max(r.minScale,l)),o=this.graph.transform.clampScale(o),l=this.graph.transform.clampScale(l),r.center){const u=o/this.sx,d=l/this.sy;n=r.center.x-(r.center.x-s.x)/u,i=r.center.y-(r.center.y-s.y)/d}else n=s.x,i=s.y;return this.beforeManipulation(),this.graph.transform.scale(o,l,n,i,!1),this.centerPoint(n,i),this.afterManipulation(),this}zoomToRect(e,r={}){const n=Bt.create(e),i=this.graph;if(r.contentArea=n,r.viewportArea==null){const s=this.container.getBoundingClientRect();r.viewportArea={x:i.options.x,y:i.options.y,width:s.width,height:s.height}}this.beforeManipulation(),i.transform.scaleContentToFitImpl(r,!1);const a=n.getCenter();return this.centerPoint(a.x,a.y),this.afterManipulation(),this}zoomToFit(e={}){return this.zoomToRect(this.graph.getContentArea(e),e)}transitionToPoint(e,r,n){typeof e=="object"?(n=r,r=e.y,e=e.x):r=r,n==null&&(n={});let i,a;const s=this.sx,o=Math.max(n.scale||s,1e-6),l=this.getClientSize(),u=new Je(e,r),d=this.clientToLocalPoint(l.width/2,l.height/2);if(s===o){const f=d.diff(u).scale(s,s).round();i=`translate(${f.x}px,${f.y}px)`}else{const f=o/(s-o)*u.distance(d),p=d.clone().move(u,f),g=this.localToBackgroundPoint(p).round();i=`scale(${o/s})`,a=`${g.x}px ${g.y}px`}const h=n.onTransitionEnd;return nr(this.container,Kle),Ei.off(this.content,KB),Ei.on(this.content,KB,f=>{this.syncTransition(o,{x:e,y:r}),typeof h=="function"&&vr(h,this,f.originalEvent)}),ai(this.content,{transform:i,transformOrigin:a,transition:"transform",transitionDuration:n.duration||"1s",transitionDelay:n.delay,transitionTimingFunction:n.timing}),this}syncTransition(e,r){return this.beforeManipulation(),this.graph.scale(e),this.removeTransition(),this.centerPoint(r.x,r.y),this.afterManipulation(),this}removeTransition(){return Vi(this.container,Kle),Ei.off(this.content,KB),ai(this.content,{transform:"",transformOrigin:"",transition:"",transitionDuration:"",transitionDelay:"",transitionTimingFunction:""}),this}transitionToRect(e,r={}){const n=Bt.create(e),i=r.maxScale||1/0,a=r.minScale||Number.MIN_VALUE,s=r.scaleGrid||null,o=r.visibility||1,l=r.center?Je.create(r.center):n.getCenter(),u=this.getClientSize(),d=u.width*o,h=u.height*o;let f=new Bt(l.x-d/2,l.y-h/2,d,h).getMaxUniformScaleToFit(n,l);return f=Math.min(f,i),s&&(f=Math.floor(f/s)*s),f=Math.max(a,f),this.transitionToPoint(l,Object.assign({scale:f},r))}startPanning(e){const r=this.normalizeEvent(e);this.clientX=r.clientX,this.clientY=r.clientY,this.trigger("pan:start",{e:r}),Ei.on(document.body,{"mousemove.panning touchmove.panning":this.pan.bind(this),"mouseup.panning touchend.panning":this.stopPanning.bind(this),"mouseleave.panning":this.stopPanning.bind(this)}),Ei.on(window,"mouseup.panning",this.stopPanning.bind(this))}pan(e){const r=this.normalizeEvent(e),n=r.clientX-this.clientX,i=r.clientY-this.clientY;this.container.scrollTop-=i,this.container.scrollLeft-=n,this.clientX=r.clientX,this.clientY=r.clientY,this.trigger("panning",{e:r})}stopPanning(e){Ei.off(document.body,".panning"),Ei.off(window,".panning"),this.trigger("pan:stop",{e})}clientToLocalPoint(e,r){let n=typeof e=="object"?e.x:e,i=typeof e=="object"?e.y:r;const a=this.graph.matrix();return n+=this.container.scrollLeft-this.padding.left-a.e,i+=this.container.scrollTop-this.padding.top-a.f,new Je(n/a.a,i/a.d)}localToBackgroundPoint(e,r){const n=typeof e=="object"?Je.create(e):new Je(e,r),i=this.graph.matrix(),a=this.padding;return Jf(n,i).translate(a.left,a.top)}resize(e,r){let n=e??this.container.offsetWidth,i=r??this.container.offsetHeight;typeof n=="number"&&(n=Math.round(n)),typeof i=="number"&&(i=Math.round(i)),this.options.width=n,this.options.height=i,ai(this.container,{width:n,height:i}),this.update()}getClientSize(){return this.cachedClientSize?this.cachedClientSize:{width:this.container.clientWidth,height:this.container.clientHeight}}autoScroll(e,r){const i=this.container,a=i.getBoundingClientRect();let s=0,o=0;return e<=a.left+10&&(s=-10),r<=a.top+10&&(o=-10),e>=a.right-10&&(s=10),r>=a.bottom-10&&(o=10),s!==0&&(i.scrollLeft+=s),o!==0&&(i.scrollTop+=o),{scrollerX:s,scrollerY:o}}addPadding(e,r,n,i){let a=this.getPadding();this.padding={left:Math.round(a.left+(e||0)),top:Math.round(a.top+(n||0)),bottom:Math.round(a.bottom+(i||0)),right:Math.round(a.right+(r||0))},a=this.padding,ai(this.content,{width:a.left+this.graph.options.width+a.right,height:a.top+this.graph.options.height+a.bottom});const s=this.graph.container;return s.style.left=`${this.padding.left}px`,s.style.top=`${this.padding.top}px`,this}getPadding(){const e=this.options.padding;return Sd(typeof e=="function"?vr(e,this,this):e)}getVisibleArea(){const e=this.graph.matrix(),r=this.getClientSize(),n={x:this.container.scrollLeft||0,y:this.container.scrollTop||0,width:r.width,height:r.height},i=Iu(n,e.inverse());return i.x-=(this.padding.left||0)/this.sx,i.y-=(this.padding.top||0)/this.sy,i}isCellVisible(e,r={}){const n=e.getBBox(),i=this.getVisibleArea();return r.strict?i.containsRect(n):i.isIntersectWithRect(n)}isPointVisible(e){return this.getVisibleArea().containsPoint(e)}lock(){return ai(this.container,{overflow:"hidden"}),this}unlock(){return ai(this.container,{overflow:"scroll"}),this}onRemove(){this.stopListening()}dispose(){Ow(this.container,this.graph.container),this.remove()}}_n([Bn()],H8e.prototype,"dispose",null);class l0t extends sJ{get elem(){return this.scroller.background}constructor(e){super(e.graph),this.scroller=e,e.options.background&&this.draw(e.options.background)}init(){this.graph.on("scale",this.update,this),this.graph.on("translate",this.update,this)}updateBackgroundOptions(e){this.scroller.options.background=e}}const c0t=`.x6-graph-scroller {
position: relative;
box-sizing: border-box;
overflow: scroll;
outline: none;
}
.x6-graph-scroller-content {
position: relative;
}
.x6-graph-scroller-background {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.x6-graph-scroller .x6-graph {
position: absolute;
display: inline-block;
margin: 0;
box-shadow: none;
}
.x6-graph-scroller .x6-graph > svg {
display: block;
}
.x6-graph-scroller.x6-graph-scroller-paged .x6-graph {
box-shadow: 0 0 4px 0 #eee;
}
.x6-graph-scroller.x6-graph-scroller-pannable[data-panning='false'] {
cursor: grab;
}
.x6-graph-scroller.x6-graph-scroller-pannable[data-panning='true'] {
cursor: grabbing;
user-select: none;
}
.x6-graph-pagebreak {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.x6-graph-pagebreak-vertical {
position: absolute;
top: 0;
bottom: 0;
box-sizing: border-box;
width: 1px;
border-left: 1px dashed #bdbdbd;
}
.x6-graph-pagebreak-horizontal {
position: absolute;
right: 0;
left: 0;
box-sizing: border-box;
height: 1px;
border-top: 1px dashed #bdbdbd;
}
`;dt.prototype.lockScroller=function(){const t=this.getPlugin("scroller");return t&&t.lockScroller(),this};dt.prototype.unlockScroller=function(){const t=this.getPlugin("scroller");return t&&t.unlockScroller(),this};dt.prototype.updateScroller=function(){const t=this.getPlugin("scroller");return t&&t.updateScroller(),this};dt.prototype.getScrollbarPosition=function(){const t=this.getPlugin("scroller");return t?t.getScrollbarPosition():{left:0,top:0}};dt.prototype.setScrollbarPosition=function(t,e){const r=this.getPlugin("scroller");return r&&r.setScrollbarPosition(t,e),this};class u0t extends Xl{get pannable(){return this.options?typeof this.options.pannable=="object"?this.options.pannable.enabled:!!this.options.pannable:!1}get container(){return this.scrollerImpl.container}constructor(e={}){super(),this.name="scroller",this.options=e,b1(this.name,c0t)}init(e){this.graph=e;const r=z8e(Object.assign(Object.assign({enabled:!0},this.options),{graph:e}));this.options=r,this.scrollerImpl=new H8e(r),this.setup(),this.autoDisableGraphPanning(),this.startListening(),this.updateClassName(),this.scrollerImpl.center()}resize(e,r){this.scrollerImpl.resize(e,r)}resizePage(e,r){this.scrollerImpl.updatePageSize(e,r)}zoom(e,r){return typeof e>"u"?this.scrollerImpl.zoom():(this.scrollerImpl.zoom(e,r),this)}zoomTo(e,r={}){return this.scrollerImpl.zoom(e,Object.assign(Object.assign({},r),{absolute:!0})),this}zoomToRect(e,r={}){return this.scrollerImpl.zoomToRect(e,r),this}zoomToFit(e={}){return this.scrollerImpl.zoomToFit(e),this}center(e){return this.centerPoint(e)}centerPoint(e,r,n){return this.scrollerImpl.centerPoint(e,r,n),this}centerContent(e){return this.scrollerImpl.centerContent(e),this}centerCell(e,r){return this.scrollerImpl.centerCell(e,r),this}positionPoint(e,r,n,i={}){return this.scrollerImpl.positionPoint(e,r,n,i),this}positionRect(e,r,n){return this.scrollerImpl.positionRect(e,r,n),this}positionCell(e,r,n){return this.scrollerImpl.positionCell(e,r,n),this}positionContent(e,r){return this.scrollerImpl.positionContent(e,r),this}drawBackground(e,r){return(this.graph.options.background==null||!r)&&this.scrollerImpl.backgroundManager.draw(e),this}clearBackground(e){return(this.graph.options.background==null||!e)&&this.scrollerImpl.backgroundManager.clear(),this}isPannable(){return this.pannable}enablePanning(){this.pannable||(this.options.pannable=!0,this.updateClassName())}disablePanning(){this.pannable&&(this.options.pannable=!1,this.updateClassName())}togglePanning(e){return e==null?this.isPannable()?this.disablePanning():this.enablePanning():e!==this.isPannable()&&(e?this.enablePanning():this.disablePanning()),this}lockScroller(){return this.scrollerImpl.lock(),this}unlockScroller(){return this.scrollerImpl.unlock(),this}updateScroller(){return this.scrollerImpl.update(),this}getScrollbarPosition(){return this.scrollerImpl.scrollbarPosition()}setScrollbarPosition(e,r){return this.scrollerImpl.scrollbarPosition(e,r),this}scrollToPoint(e,r){return this.scrollerImpl.scrollToPoint(e,r),this}scrollToContent(){return this.scrollerImpl.scrollToContent(),this}scrollToCell(e){return this.scrollerImpl.scrollToCell(e),this}transitionToPoint(e,r,n){return this.scrollerImpl.transitionToPoint(e,r,n),this}transitionToRect(e,r={}){return this.scrollerImpl.transitionToRect(e,r),this}enableAutoResize(){this.scrollerImpl.enableAutoResize()}disableAutoResize(){this.scrollerImpl.disableAutoResize()}autoScroll(e,r){return this.scrollerImpl.autoScroll(e,r)}clientToLocalPoint(e,r){return this.scrollerImpl.clientToLocalPoint(e,r)}getVisibleArea(){return this.scrollerImpl.getVisibleArea()}isCellVisible(e,r={}){return this.scrollerImpl.isCellVisible(e,r)}isPointVisible(e){return this.scrollerImpl.isPointVisible(e)}setup(){this.scrollerImpl.on("*",(e,r)=>{this.trigger(e,r)})}startListening(){let e=[];const r=this.options.pannable;typeof r=="object"?e=r.eventTypes||[]:e=["leftMouseDown"],e.includes("leftMouseDown")&&(this.graph.on("blank:mousedown",this.preparePanning,this),this.graph.on("node:unhandled:mousedown",this.preparePanning,this),this.graph.on("edge:unhandled:mousedown",this.preparePanning,this)),e.includes("rightMouseDown")&&(this.onRightMouseDown=this.onRightMouseDown.bind(this),Ei.on(this.scrollerImpl.container,"mousedown",this.onRightMouseDown))}stopListening(){let e=[];const r=this.options.pannable;typeof r=="object"?e=r.eventTypes||[]:e=["leftMouseDown"],e.includes("leftMouseDown")&&(this.graph.off("blank:mousedown",this.preparePanning,this),this.graph.off("node:unhandled:mousedown",this.preparePanning,this),this.graph.off("edge:unhandled:mousedown",this.preparePanning,this)),e.includes("rightMouseDown")&&Ei.off(this.scrollerImpl.container,"mousedown",this.onRightMouseDown)}onRightMouseDown(e){e.button===2&&this.allowPanning(e,!0)&&(this.updateClassName(!0),this.scrollerImpl.startPanning(e),this.scrollerImpl.once("pan:stop",()=>this.updateClassName(!1)))}preparePanning({e}){const r=this.allowPanning(e,!0),n=this.graph.getPlugin("selection"),i=n&&n.allowRubberband(e,!0);(r||this.allowPanning(e)&&!i)&&(this.updateClassName(!0),this.scrollerImpl.startPanning(e),this.scrollerImpl.once("pan:stop",()=>this.updateClassName(!1)))}allowPanning(e,r){return this.pannable&&Pg(e,this.options.modifiers,r)}updateClassName(e){const r=this.scrollerImpl.container,n=Kn.prefix("graph-scroller-pannable");this.pannable?(nr(r,n),r.dataset.panning=(!!e).toString()):Vi(r,n)}autoDisableGraphPanning(){var e;const r=(e=this.graph)===null||e===void 0?void 0:e.panning;r!=null&&r.pannable&&(r.disablePanning(),console.warn("Detected Scroller plugin; Graph panning has been disabled by default to avoid conflicts."))}dispose(){this.scrollerImpl.dispose(),this.stopListening(),this.off(),v1(this.name)}}_n([Bn()],u0t.prototype,"dispose",null);function wk(t,e){return t.reduce((r,n)=>Math.max(n==null?void 0:n.getSize()[e],r),0)}function d0t(t,e,r){const n=[];for(let i=r*e,a=i+r;i<a;i+=1)t[i]&&n.push(t[i]);return n}function h0t(t,e,r){const n=[];for(let i=e,a=t.length;i<a;i+=r)t[i]&&n.push(t[i]);return n}function Zle(t,e){return t.reduce((r,n,i)=>(r.push(r[i]+n),r),[e||0])}function f0t(t,e={}){const r=jc.isModel(t)?t:new jc().resetCells(t,{sort:!1,dryrun:!0}),n=r.getNodes(),i=e.columns||1,a=Math.ceil(n.length/i),s=e.dx||0,o=e.dy||0,l=e.center!==!1,u=e.resizeToFit===!0,d=e.marginX||0,h=e.marginY||0,f=[];let p=e.columnWidth;if(p==="compact")for(let b=0;b<i;b+=1){const v=h0t(n,b,i);f.push(wk(v,"width")+s)}else{(p==null||p==="auto")&&(p=wk(n,"width")+s);for(let b=0;b<i;b+=1)f.push(p)}const g=Zle(f,d),m=[];let U=e.rowHeight;if(U==="compact")for(let b=0;b<a;b+=1){const v=d0t(n,b,i);m.push(wk(v,"height")+o)}else{(U==null||U==="auto")&&(U=wk(n,"height")+o);for(let b=0;b<a;b+=1)m.push(U)}const y=Zle(m,h);r.startBatch("layout"),n.forEach((b,v)=>{const w=v%i,T=Math.floor(v/i),S=f[w],C=m[T];let k=0,E=0,A=b.getSize();if(u){let M=S-2*s,P=C-2*o;const N=A.height*(A.width?M/A.width:1),I=A.width*(A.height?P/A.height:1);C<N?M=I:P=N,A={width:M,height:P},b.setSize(A,e)}l&&(k=(S-A.width)/2,E=(C-A.height)/2),b.position(g[w]+s+k,y[T]+o+E,e)}),r.stopBatch("layout")}const p0t=`.x6-widget-dnd {
position: absolute;
top: -10000px;
left: -10000px;
z-index: 999999;
display: none;
cursor: move;
opacity: 0.7;
pointer-events: 'cursor';
}
.x6-widget-dnd.dragging {
display: inline-block;
}
.x6-widget-dnd.dragging * {
pointer-events: none !important;
}
.x6-widget-dnd .x6-graph {
background: transparent;
box-shadow: none;
}
.x6-widget-stencil {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.x6-widget-stencil::after {
position: absolute;
top: 0;
display: block;
width: 100%;
height: 20px;
padding: 8px 0;
line-height: 20px;
text-align: center;
opacity: 0;
transition: top 0.1s linear, opacity 0.1s linear;
content: ' ';
pointer-events: none;
}
.x6-widget-stencil-content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
height: auto;
overflow-x: hidden;
overflow-y: auto;
}
.x6-widget-stencil .x6-node [magnet]:not([magnet='passive']) {
pointer-events: none;
}
.x6-widget-stencil-group {
padding: 0;
padding-bottom: 8px;
overflow: hidden;
user-select: none;
}
.x6-widget-stencil-group.collapsed {
height: auto;
padding-bottom: 0;
}
.x6-widget-stencil-group-title {
position: relative;
margin-top: 0;
margin-bottom: 0;
padding: 4px;
cursor: pointer;
}
.x6-widget-stencil-title,
.x6-widget-stencil-group > .x6-widget-stencil-group-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
user-select: none;
}
.x6-widget-stencil .unmatched {
opacity: 0.3;
}
.x6-widget-stencil .x6-node.unmatched {
display: none;
}
.x6-widget-stencil-group.unmatched {
display: none;
}
.x6-widget-stencil-search-text {
position: relative;
z-index: 1;
box-sizing: border-box;
width: 100%;
height: 30px;
max-height: 30px;
line-height: 30px;
outline: 0;
}
.x6-widget-stencil.not-found::after {
opacity: 1;
content: attr(data-not-found-text);
}
.x6-widget-stencil.not-found.searchable::after {
top: 30px;
}
.x6-widget-stencil.not-found.searchable.collapsable::after {
top: 50px;
}
.x6-widget-stencil {
color: #333;
background: #f5f5f5;
}
.x6-widget-stencil-content {
position: absolute;
top: 32px;
}
.x6-widget-stencil.searchable > .x6-widget-stencil-content {
top: 80px;
}
.x6-widget-stencil.not-found::after {
position: absolute;
}
.x6-widget-stencil.not-found.searchable.collapsable::after {
top: 80px;
}
.x6-widget-stencil.not-found.searchable::after {
top: 60px;
}
.x6-widget-stencil-group {
height: auto;
margin-bottom: 1px;
padding: 0;
transition: none;
}
.x6-widget-stencil-group .x6-graph {
background: transparent;
box-shadow: none;
}
.x6-widget-stencil .x6-node.x6-node-immovable {
cursor: move;
}
.x6-widget-stencil-group.collapsed {
height: auto;
max-height: 32px;
}
.x6-widget-stencil-title,
.x6-widget-stencil-group > .x6-widget-stencil-group-title {
position: relative;
left: 0;
box-sizing: border-box;
width: 100%;
height: 32px;
padding: 0 5px 0 8px;
color: #666;
font-weight: 700;
font-size: 12px;
line-height: 32px;
cursor: default;
transition: all 0.3;
}
.x6-widget-stencil-title:hover,
.x6-widget-stencil-group > .x6-widget-stencil-group-title:hover {
color: #444;
}
.x6-widget-stencil-title {
background: #e9e9e9;
}
.x6-widget-stencil-group > .x6-widget-stencil-group-title {
background: #ededed;
}
.x6-widget-stencil.collapsable > .x6-widget-stencil-title,
.x6-widget-stencil-group.collapsable > .x6-widget-stencil-group-title {
padding-left: 32px;
cursor: pointer;
}
.x6-widget-stencil.collapsable > .x6-widget-stencil-title::before,
.x6-widget-stencil-group.collapsable > .x6-widget-stencil-group-title::before {
position: absolute;
top: 6px;
left: 8px;
display: block;
width: 18px;
height: 18px;
margin: 0;
padding: 0;
background-color: transparent;
background-repeat: no-repeat;
background-position: 0 0;
border: none;
content: ' ';
}
.x6-widget-stencil.collapsable > .x6-widget-stencil-title::before,
.x6-widget-stencil-group.collapsable > .x6-widget-stencil-group-title::before {
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJNOS4zNzUuNUM0LjY4Ny41Ljg3NSA0LjMxMy44NzUgOWMwIDQuNjg4IDMuODEyIDguNSA4LjUgOC41IDQuNjg3IDAgOC41LTMuODEyIDguNS04LjUgMC00LjY4Ny0zLjgxMy04LjUtOC41LTguNXptMCAxNS44ODZDNS4zMDMgMTYuMzg2IDEuOTkgMTMuMDcyIDEuOTkgOXMzLjMxMi03LjM4NSA3LjM4NS03LjM4NVMxNi43NiA0LjkyOCAxNi43NiA5YzAgNC4wNzItMy4zMTMgNy4zODYtNy4zODUgNy4zODZ6Ii8+PHBhdGggZD0iTTEyLjc1MyA4LjQ0M0g1Ljk5N2EuNTU4LjU1OCAwIDAwMCAxLjExNmg2Ljc1NmEuNTU4LjU1OCAwIDAwMC0xLjExNnoiLz48L2c+PC9zdmc+');
opacity: 0.4;
transition: all 0.3s;
}
.x6-widget-stencil.collapsable > .x6-widget-stencil-title:hover::before,
.x6-widget-stencil-group.collapsable > .x6-widget-stencil-group-title:hover::before {
opacity: 0.6;
}
.x6-widget-stencil.collapsable.collapsed > .x6-widget-stencil-title::before,
.x6-widget-stencil-group.collapsable.collapsed > .x6-widget-stencil-group-title::before {
background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0iIzAwMCIgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJNOS4zNzUuNUM0LjY4Ny41Ljg3NSA0LjMxMy44NzUgOWMwIDQuNjg4IDMuODEyIDguNSA4LjUgOC41IDQuNjg3IDAgOC41LTMuODEyIDguNS04LjUgMC00LjY4Ny0zLjgxMy04LjUtOC41LTguNXptMCAxNS44ODZDNS4zMDMgMTYuMzg2IDEuOTkgMTMuMDcyIDEuOTkgOXMzLjMxMi03LjM4NSA3LjM4NS03LjM4NVMxNi43NiA0LjkyOCAxNi43NiA5YzAgNC4wNzItMy4zMTMgNy4zODYtNy4zODUgNy4zODZ6Ii8+PHBhdGggZD0iTTEyLjc1MyA4LjQ0M0g1Ljk5N2EuNTU4LjU1OCAwIDAwMCAxLjExNmg2Ljc1NmEuNTU4LjU1OCAwIDAwMC0xLjExNnoiLz48cGF0aCBkPSJNOC44MTcgNS42MjN2Ni43NTZhLjU1OC41NTggMCAwMDEuMTE2IDBWNS42MjNhLjU1OC41NTggMCAxMC0xLjExNiAweiIvPjwvZz48L3N2Zz4=');
opacity: 0.4;
}
.x6-widget-stencil.collapsable.collapsed > .x6-widget-stencil-title:hover::before,
.x6-widget-stencil-group.collapsable.collapsed > .x6-widget-stencil-group-title:hover::before {
opacity: 0.6;
}
.x6-widget-stencil input[type='search'] {
appearance: textfield;
}
.x6-widget-stencil input[type='search']::-webkit-search-cancel-button,
.x6-widget-stencil input[type='search']::-webkit-search-decoration {
appearance: none;
}
.x6-widget-stencil-search-text {
display: block;
width: 90%;
margin: 8px 5%;
padding-left: 8px;
color: #333;
background: #fff;
border: 1px solid #e9e9e9;
border-radius: 12px;
outline: 0;
}
.x6-widget-stencil-search-text:focus {
outline: 0;
}
.x6-widget-stencil::after {
color: #808080;
font-weight: 600;
font-size: 12px;
background: 0 0;
}
`,gu={base:"widget-stencil",title:"widget-stencil-title",search:"widget-stencil-search",searchText:"widget-stencil-search-text",content:"widget-stencil-content",group:"widget-stencil-group",groupTitle:"widget-stencil-group-title",groupContent:"widget-stencil-group-content"},ZB="__default__",g0t=Object.assign({stencilGraphWidth:200,stencilGraphHeight:800,title:"Stencil",collapsable:!1,placeholder:"Search",notFoundText:"No matches found",layout(t,e){const r={columnWidth:this.options.stencilGraphWidth/2-10,columns:2,rowHeight:80,resizeToFit:!1,dx:10,dy:10};f0t(t,Object.assign(Object.assign(Object.assign({},r),this.options.layoutOptions),e?e.layoutOptions:{}))}},D8e);class m0t extends Ac{get targetScroller(){return this.options.target.getPlugin("scroller")}get targetGraph(){return this.options.target}get targetModel(){return this.targetGraph.model}constructor(e={}){super(),this.name="stencil",b1(this.name,p0t),this.graphs={},this.groups={},this.options=Object.assign(Object.assign({},g0t),e),this.init()}init(){this.dnd=new P8e(this.options),this.onSearch=LO(this.onSearch,200),this.initContainer(),this.initSearch(),this.initContent(),this.initGroups(),this.setTitle(),this.startListening()}load(e,r){return Array.isArray(e)?this.loadGroup(e,r):this.options.groups&&Object.keys(this.options.groups).forEach(n=>{e[n]&&this.loadGroup(e[n],n)}),this}unload(e,r){return Array.isArray(e)?this.loadGroup(e,r,!0):this.options.groups&&Object.keys(this.options.groups).forEach(n=>{e[n]&&this.loadGroup(e[n],n,!0)}),this}toggleGroup(e){return this.isGroupCollapsed(e)?this.expandGroup(e):this.collapseGroup(e),this}collapseGroup(e){if(this.isGroupCollapsable(e)){const r=this.groups[e];r&&!this.isGroupCollapsed(e)&&(this.trigger("group:collapse",{name:e}),nr(r,"collapsed"))}return this}expandGroup(e){if(this.isGroupCollapsable(e)){const r=this.groups[e];r&&this.isGroupCollapsed(e)&&(this.trigger("group:expand",{name:e}),Vi(r,"collapsed"))}return this}isGroupCollapsable(e){const r=this.groups[e];return Mh(r,"collapsable")}isGroupCollapsed(e){const r=this.groups[e];return r&&Mh(r,"collapsed")}collapseGroups(){return Object.keys(this.groups).forEach(e=>{this.collapseGroup(e)}),this}expandGroups(){return Object.keys(this.groups).forEach(e=>{this.expandGroup(e)}),this}resizeGroup(e,r){const n=this.graphs[e];return n&&n.resize(r.width,r.height),this}addGroup(e){const r=Array.isArray(e)?e:[e];this.options.groups?this.options.groups.push(...r):this.options.groups=r,r.forEach(n=>{this.initGroup(n)})}removeGroup(e){const r=Array.isArray(e)?e:[e];this.options.groups&&(this.options.groups=this.options.groups.filter(n=>!r.includes(n.name)),r.forEach(n=>{const i=this.graphs[n];this.unregisterGraphEvents(i),i.dispose(),delete this.graphs[n];const a=this.groups[n];Bu(a),delete this.groups[n]}))}initContainer(){this.container=document.createElement("div"),nr(this.container,this.prefixClassName(gu.base)),Nn(this.container,"data-not-found-text",this.options.notFoundText||"No matches found")}initContent(){this.content=document.createElement("div"),nr(this.content,this.prefixClassName(gu.content)),$u(this.content,this.container)}buildGraphConfig(e){const r=this.options.stencilGraphOptions||{},n=e==null?void 0:e.graphOptions,i=Object.assign(Object.assign({},r),n);i.panning==null&&(i.panning=!1);const a=e&&e.graphWidth||this.options.stencilGraphWidth,s=e&&e.graphHeight||this.options.stencilGraphHeight,o=i.model||new jc;return{mergedGraphOptions:i,width:a,height:s,model:o}}createStencilGraph(e,r,n,i){const a=new dt(Object.assign(Object.assign({},e),{container:document.createElement("div"),model:i,width:r,height:n,interacting:!1,preventDefaultBlankAction:!1}));return this.registerGraphEvents(a),a}initSearch(){this.options.search&&(nr(this.container,"searchable"),Mo(this.container,this.renderSearch()))}initGroup(e){const r=document.createElement("div");nr(r,this.prefixClassName(gu.group)),Nn(r,"data-name",e.name),(e.collapsable==null&&this.options.collapsable||e.collapsable!==!1)&&nr(r,"collapsable"),cd(r,"collapsed",e.collapsed===!0);const n=document.createElement("h3");nr(n,this.prefixClassName(gu.groupTitle)),n.innerHTML=e.title||e.name;const i=document.createElement("div");nr(i,this.prefixClassName(gu.groupContent));const{mergedGraphOptions:a,width:s,height:o,model:l}=this.buildGraphConfig(e),u=this.createStencilGraph(a,s,o,l);Mo(i,u.container),Mo(r,[n,i]),$u(r,this.content),this.groups[e.name]=r,this.graphs[e.name]=u}initGroups(){if(this.clearGroups(),this.setCollapsableState(),this.options.groups&&this.options.groups.length)this.options.groups.forEach(e=>{this.initGroup(e)});else{const{mergedGraphOptions:e,width:r,height:n,model:i}=this.buildGraphConfig(),a=this.createStencilGraph(e,r,n,i);Mo(this.content,a.container),this.graphs[ZB]=a}}setCollapsableState(){this.options.collapsable=this.options.collapsable&&this.options.groups&&this.options.groups.some(e=>e.collapsable!==!1),this.options.collapsable?(nr(this.container,"collapsable"),this.options.groups&&this.options.groups.every(r=>r.collapsed||r.collapsable===!1)?nr(this.container,"collapsed"):Vi(this.container,"collapsed")):Vi(this.container,"collapsable")}setTitle(){const e=document.createElement("div");nr(e,this.prefixClassName(gu.title)),e.innerHTML=this.options.title,$u(e,this.container)}renderSearch(){const e=document.createElement("div");nr(e,this.prefixClassName(gu.search));const r=document.createElement("input");return Nn(r,{type:"search",placeholder:this.options.placeholder||"Search"}),nr(r,this.prefixClassName(gu.searchText)),Mo(e,r),e}startListening(){const e=this.prefixClassName(gu.title),r=this.prefixClassName(gu.searchText),n=this.prefixClassName(gu.groupTitle);this.delegateEvents({[`click .${e}`]:"onTitleClick",[`touchstart .${e}`]:"onTitleClick",[`click .${n}`]:"onGroupTitleClick",[`touchstart .${n}`]:"onGroupTitleClick",[`input .${r}`]:"onSearch",[`focusin .${r}`]:"onSearchFocusIn",[`focusout .${r}`]:"onSearchFocusOut"})}stopListening(){this.undelegateEvents()}registerGraphEvents(e){e.on("cell:mousedown",this.onDragStart,this)}unregisterGraphEvents(e){e.off("cell:mousedown",this.onDragStart,this)}getGraphHeight(e){const r=this.getGroup(e);return r&&r.graphHeight!=null?r.graphHeight:this.options.stencilGraphHeight}loadGroup(e,r,n){const i=this.getModel(r);if(i){const l=e.map(u=>Zs.isNode(u)?u:Zs.create(u));n===!0?i.removeCells(l):i.resetCells(l)}const a=this.getGroup(r),s=this.getGraphHeight(r),o=a&&a.layout||this.options.layout;if(o&&i&&vr(o,this,i,a),!s){const l=this.getGraph(r);l.fitToContent({minWidth:l.options.width,gridHeight:1,padding:a&&a.graphPadding||this.options.stencilGraphPadding||10})}return this}onDragStart(e){const{e:r,node:n}=e,i=this.getGroupByNode(n);if(i&&i.nodeMovable===!1)return;const a=this.getGraph(i?i.name:void 0),s=a&&typeof a.isPannable=="function"?a.isPannable():!1;s&&a.disablePanning();const o=()=>{s&&a.enablePanning(),this.undelegateDocumentEvents()};this.delegateDocumentEvents({mouseup:o,touchend:o,touchcancel:o}),this.dnd.start(n,r)}filter(e,r){const n=Object.keys(this.graphs).reduce((i,a)=>{const s=this.graphs[a],o=a===ZB?null:a,l=s.model.getNodes().filter(p=>{let g=!1;typeof r=="function"?g=vr(r,this,p,e,o,this):typeof r=="boolean"?g=r:g=this.isCellMatched(p,e,r,e.toLowerCase()!==e);const m=s.renderer.findViewByCell(p);return m&&cd(m.container,"unmatched",!g),g}),u=l.length>0,d=this.options,h=new jc;return h.resetCells(l),d.layout&&vr(d.layout,this,h,this.getGroup(a)),this.groups[a]&&cd(this.groups[a],"unmatched",!u),this.getGraphHeight(a)||s.fitToContent({gridWidth:1,gridHeight:1,padding:d.stencilGraphPadding||10,contentArea:h.getAllCellsBBox()||{x:0,y:0,width:0,height:0}}),i||u},!1);cd(this.container,"not-found",!n)}isCellMatched(e,r,n,i){return r&&n?Object.keys(n).some(a=>{if(a==="*"||e.shape===a){const s=n[a];return typeof s=="boolean"?s:(Array.isArray(s)?s:[s]).some(l=>{let u=e.getPropByPath(l);return u!=null?(u=`${u}`,i||(u=u.toLowerCase()),u.indexOf(r)>=0):!1})}return!1}):!0}onSearch(e){this.filter(e.target.value,this.options.search)}onSearchFocusIn(){nr(this.container,"is-focused")}onSearchFocusOut(){Vi(this.container,"is-focused")}onTitleClick(){this.options.collapsable&&(cd(this.container,"collapsed"),Mh(this.container,"collapsed")?this.collapseGroups():this.expandGroups())}onGroupTitleClick(e){const r=e.target.closest(`.${this.prefixClassName(gu.group)}`);r&&this.toggleGroup(Nn(r,"data-name")||"");const n=Object.keys(this.groups).every(i=>{const a=this.getGroup(i),s=this.groups[i];return a&&a.collapsable===!1||Mh(s,"collapsed")});cd(this.container,"collapsed",n)}getModel(e){const r=this.getGraph(e);return r?r.model:null}getGraph(e){return this.graphs[e||ZB]}getGroup(e){const r=this.options.groups;return e!=null&&r&&r.length?r.find(n=>n.name===e):null}getGroupByNode(e){const r=this.options.groups;return r?r.find(n=>{const i=this.getModel(n.name);return i?i.has(e.id):!1}):null}clearGroups(){Object.keys(this.graphs).forEach(e=>{const r=this.graphs[e];this.unregisterGraphEvents(r),r.dispose()}),Object.keys(this.groups).forEach(e=>{const r=this.groups[e];Bu(r)}),this.graphs={},this.groups={}}onRemove(){this.clearGroups(),this.dnd.remove(),this.stopListening(),this.undelegateDocumentEvents()}dispose(){this.remove(),v1(this.name)}}_n([Bn()],m0t.prototype,"dispose",null);class V8e extends Ac{get model(){return this.graph.model}get containerClassName(){return this.prefixClassName("widget-snapline")}get verticalClassName(){return`${this.containerClassName}-vertical`}get horizontalClassName(){return`${this.containerClassName}-horizontal`}constructor(e){super();const{graph:r}=e,n=Un(e,["graph"]);this.graph=r,this.options=Object.assign({},n),this.offset={x:0,y:0},this.render(),this.disabled||this.startListening()}get disabled(){return this.options.enabled!==!0}enable(){this.disabled&&(this.options.enabled=!0,this.startListening())}disable(){this.disabled||(this.options.enabled=!1,this.stopListening())}setFilter(e){this.options.filter=e}render(){const e=this.containerWrapper=new Ar("svg"),r=this.horizontal=new Ar("line"),n=this.vertical=new Ar("line");e.addClass(this.containerClassName),r.addClass(this.horizontalClassName),n.addClass(this.verticalClassName),e.setAttribute("width","100%"),e.setAttribute("height","100%"),r.setAttribute("display","none"),n.setAttribute("display","none"),e.append([r,n]),this.options.className&&e.addClass(this.options.className),this.container=this.containerWrapper.node}startListening(){this.stopListening(),this.graph.on("node:mousedown",this.captureCursorOffset,this),this.graph.on("node:mousemove",this.snapOnMoving,this),this.model.on("batch:stop",this.onBatchStop,this),this.delegateDocumentEvents({mouseup:"hide",touchend:"hide"})}stopListening(){this.graph.off("node:mousedown",this.captureCursorOffset,this),this.graph.off("node:mousemove",this.snapOnMoving,this),this.model.off("batch:stop",this.onBatchStop,this),this.undelegateDocumentEvents()}onBatchStop({name:e,data:r}){e==="resize"&&this.snapOnResizing(r.cell,r)}captureCursorOffset({view:e,x:r,y:n}){const i=e.getDelegatedView();if(i&&this.isNodeMovable(i)){const a=e.cell.getPosition();this.offset={x:r-a.x,y:n-a.y}}}isNodeMovable(e){return e&&e.cell.isNode()&&e.can("nodeMovable")}getRestrictArea(e){const r=this.graph.options.translating.restrict,n=typeof r=="function"?vr(r,this.graph,e):r;return typeof n=="number"?this.graph.transform.getGraphArea().inflate(n):n===!0?this.graph.transform.getGraphArea():n||null}snapOnResizing(e,r){if(this.options.resizing&&!r.snapped&&r.ui&&r.direction&&r.trueDirection){const n=this.graph.renderer.findViewByCell(e);if(n&&n.cell.isNode()){const i=e.getBBox(),a=i.bbox(e.getAngle()),s=a.getTopLeft(),o=a.getBottomRight(),l=El(e.getAngle()),u=this.options.tolerance||0;let d,h,f,p,g,m;const U={vertical:0,horizontal:0},y=r.direction,b=r.trueDirection,v=r.relativeDirection;b.indexOf("right")!==-1?U.vertical=o.x:U.vertical=s.x,b.indexOf("bottom")!==-1?U.horizontal=o.y:U.horizontal=s.y,this.model.getNodes().some(P=>{if(this.isIgnored(e,P))return!1;const N=P.getBBox().bbox(P.getAngle()),I=N.getTopLeft(),L=N.getBottomRight(),_={vertical:[I.x,L.x],horizontal:[I.y,L.y]},D={};return Object.keys(_).forEach(O=>{const B=O,F=_[B].map(z=>({position:z,distance:Math.abs(z-U[B])})).filter(z=>z.distance<=u);D[B]=y1(F,z=>z.distance)}),d==null&&D.vertical.length>0&&(d=D.vertical[0].position,h=Math.min(a.y,N.y),f=Math.max(o.y,L.y)-h),p==null&&D.horizontal.length>0&&(p=D.horizontal[0].position,g=Math.min(a.x,N.x),m=Math.max(o.x,L.x)-g),d!=null&&p!=null}),this.hide();let w=0,T=0;(p!=null||d!=null)&&(d!=null&&(w=b.indexOf("right")!==-1?d-o.x:s.x-d),p!=null&&(T=b.indexOf("bottom")!==-1?p-o.y:s.y-p));let S=0,C=0;if(l%90===0)l===90||l===270?(S=T,C=w):(S=w,C=T);else{const P=l>=0&&l<90?1:l>=90&&l<180?4:l>=180&&l<270?3:2;p!=null&&d!=null&&(w<T?(T=0,p=void 0):(w=0,d=void 0));const N=jo(l%90);w&&(S=P===3?w/Math.cos(N):w/Math.sin(N)),T&&(C=P===3?T/Math.cos(N):T/Math.sin(N));const I=P===1||P===3;switch(v){case"top":case"bottom":C=T?T/(I?Math.cos(N):Math.sin(N)):w/(I?Math.sin(N):Math.cos(N));break;case"left":case"right":S=w?w/(I?Math.cos(N):Math.sin(N)):T/(I?Math.sin(N):Math.cos(N));break}}switch(v){case"top":case"bottom":S=0;break;case"left":case"right":C=0;break}const k=this.graph.getGridSize();let E=Math.max(i.width+S,k),A=Math.max(i.height+C,k);r.minWidth&&r.minWidth>k&&(E=Math.max(E,r.minWidth)),r.minHeight&&r.minHeight>k&&(A=Math.max(A,r.minHeight)),r.maxWidth&&(E=Math.min(E,r.maxWidth)),r.maxHeight&&(A=Math.min(A,r.maxHeight)),r.preserveAspectRatio&&(C<S?A=E*(i.height/i.width):E=A*(i.width/i.height)),(E!==i.width||A!==i.height)&&(e.resize(E,A,{direction:y,relativeDirection:v,trueDirection:b,snapped:!0,snaplines:this.cid,restrict:this.getRestrictArea(n)}),f&&(f+=A-i.height),m&&(m+=E-i.width));const M=e.getBBox().bbox(l);d&&Math.abs(M.x-d)>1&&Math.abs(M.width+M.x-d)>1&&(d=void 0),p&&Math.abs(M.y-p)>1&&Math.abs(M.height+M.y-p)>1&&(p=void 0),this.update({verticalLeft:d,verticalTop:h,verticalHeight:f,horizontalTop:p,horizontalLeft:g,horizontalWidth:m})}}}snapOnMoving({view:e,e:r,x:n,y:i}){const a=e.getEventData(r).delegatedView||e;if(!this.isNodeMovable(a))return;const s=a.cell,o=s.getSize(),l=s.getPosition(),u=new Bt(n-this.offset.x,i-this.offset.y,o.width,o.height),d=s.getAngle(),h=u.getCenter(),f=u.bbox(d),p=f.getTopLeft(),g=f.getBottomRight(),m=this.options.tolerance||0;let U,y,b,v,w,T,S=0,C=0;if(this.model.getNodes().some(k=>{if(this.isIgnored(s,k))return!1;const E=k.getBBox().bbox(k.getAngle()),A=E.getCenter(),M=E.getTopLeft(),P=E.getBottomRight();return U==null&&(Math.abs(A.x-h.x)<m?(U=A.x,S=.5):Math.abs(M.x-p.x)<m?(U=M.x,S=0):Math.abs(M.x-g.x)<m?(U=M.x,S=1):Math.abs(P.x-g.x)<m?(U=P.x,S=1):Math.abs(P.x-p.x)<m&&(U=P.x),U!=null&&(y=Math.min(f.y,E.y),b=Math.max(g.y,P.y)-y)),v==null&&(Math.abs(A.y-h.y)<m?(v=A.y,C=.5):Math.abs(M.y-p.y)<m?v=M.y:Math.abs(M.y-g.y)<m?(v=M.y,C=1):Math.abs(P.y-g.y)<m?(v=P.y,C=1):Math.abs(P.y-p.y)<m&&(v=P.y),v!=null&&(w=Math.min(f.x,E.x),T=Math.max(g.x,P.x)-w)),U!=null&&v!=null}),this.hide(),v!=null||U!=null){v!=null&&(f.y=v-C*f.height),U!=null&&(f.x=U-S*f.width);const k=f.getCenter(),E=k.x-u.width/2,A=k.y-u.height/2,M=E-l.x,P=A-l.y;(M!==0||P!==0)&&(s.translate(M,P,{snapped:!0,restrict:this.getRestrictArea(a)}),T&&(T+=M),b&&(b+=P)),this.update({verticalLeft:U,verticalTop:y,verticalHeight:b,horizontalTop:v,horizontalLeft:w,horizontalWidth:T})}}isIgnored(e,r){return r.id===e.id||r.isDescendantOf(e)||!this.filter(r)}filter(e){const r=this.options.filter;return Array.isArray(r)?r.some(n=>typeof n=="string"?e.shape===n:e.id===n.id):typeof r=="function"?vr(r,this.graph,e):!0}update(e){if(e.horizontalTop){const r=this.graph.localToGraph(new Je(e.horizontalLeft,e.horizontalTop)),n=this.graph.localToGraph(new Je(e.horizontalLeft+e.horizontalWidth,e.horizontalTop));this.horizontal.setAttributes({x1:this.options.sharp?`${r.x}`:"0",y1:`${r.y}`,x2:this.options.sharp?`${n.x}`:"100%",y2:`${n.y}`,display:"inherit"})}else this.horizontal.setAttribute("display","none");if(e.verticalLeft){const r=this.graph.localToGraph(new Je(e.verticalLeft,e.verticalTop)),n=this.graph.localToGraph(new Je(e.verticalLeft,e.verticalTop+e.verticalHeight));this.vertical.setAttributes({x1:`${r.x}`,y1:this.options.sharp?`${r.y}`:"0",x2:`${n.x}`,y2:this.options.sharp?`${n.y}`:"100%",display:"inherit"})}else this.vertical.setAttribute("display","none");this.show()}resetTimer(){this.timer&&(clearTimeout(this.timer),this.timer=null)}show(){return this.resetTimer(),this.container.parentNode==null&&this.graph.container.appendChild(this.container),this}hide(){this.resetTimer(),this.vertical.setAttribute("display","none"),this.horizontal.setAttribute("display","none");const e=this.options.clean,r=typeof e=="number"?e:e!==!1?3e3:0;return r>0&&(this.timer=window.setTimeout(()=>{this.container.parentNode!==null&&this.unmount()},r)),this}onRemove(){this.stopListening(),this.hide()}dispose(){this.remove()}}_n([Bn()],V8e.prototype,"dispose",null);const U0t=`.x6-widget-snapline {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
pointer-events: none;
}
.x6-widget-snapline-vertical,
.x6-widget-snapline-horizontal {
stroke: #2ecc71;
stroke-width: 1px;
}
`;dt.prototype.isSnaplineEnabled=function(){const t=this.getPlugin("snapline");return t?t.isEnabled():!1};dt.prototype.enableSnapline=function(){const t=this.getPlugin("snapline");return t&&t.enable(),this};dt.prototype.disableSnapline=function(){const t=this.getPlugin("snapline");return t&&t.disable(),this};dt.prototype.toggleSnapline=function(){const t=this.getPlugin("snapline");return t&&t.toggleEnabled(),this};dt.prototype.hideSnapline=function(){const t=this.getPlugin("snapline");return t&&t.hide(),this};dt.prototype.setSnaplineFilter=function(t){const e=this.getPlugin("snapline");return e&&e.setFilter(t),this};dt.prototype.isSnaplineOnResizingEnabled=function(){const t=this.getPlugin("snapline");return t?t.isOnResizingEnabled():!1};dt.prototype.enableSnaplineOnResizing=function(){const t=this.getPlugin("snapline");return t&&t.enableOnResizing(),this};dt.prototype.disableSnaplineOnResizing=function(){const t=this.getPlugin("snapline");return t&&t.disableOnResizing(),this};dt.prototype.toggleSnaplineOnResizing=function(t){const e=this.getPlugin("snapline");return e&&e.toggleOnResizing(t),this};dt.prototype.isSharpSnapline=function(){const t=this.getPlugin("snapline");return t?t.isSharp():!1};dt.prototype.enableSharpSnapline=function(){const t=this.getPlugin("snapline");return t&&t.enableSharp(),this};dt.prototype.disableSharpSnapline=function(){const t=this.getPlugin("snapline");return t&&t.disableSharp(),this};dt.prototype.toggleSharpSnapline=function(t){const e=this.getPlugin("snapline");return e&&e.toggleSharp(t),this};dt.prototype.getSnaplineTolerance=function(){const t=this.getPlugin("snapline");if(t)return t.getTolerance()};dt.prototype.setSnaplineTolerance=function(t){const e=this.getPlugin("snapline");return e&&e.setTolerance(t),this};class y0t extends H4{constructor(e={}){super(),this.name="snapline",this.options=Object.assign({enabled:!0,tolerance:10},e),b1(this.name,U0t)}init(e){this.snaplineImpl=new V8e(Object.assign(Object.assign({},this.options),{graph:e}))}isEnabled(){return!this.snaplineImpl.disabled}enable(){this.snaplineImpl.enable()}disable(){this.snaplineImpl.disable()}toggleEnabled(e){if(e!=null)e!==this.isEnabled()&&(e?this.enable():this.disable());else return this.isEnabled()?this.disable():this.enable(),this}hide(){return this.snaplineImpl.hide(),this}setFilter(e){return this.snaplineImpl.setFilter(e),this}isOnResizingEnabled(){return this.snaplineImpl.options.resizing===!0}enableOnResizing(){return this.snaplineImpl.options.resizing=!0,this}disableOnResizing(){return this.snaplineImpl.options.resizing=!1,this}toggleOnResizing(e){return e!=null?e!==this.isOnResizingEnabled()&&(e?this.enableOnResizing():this.disableOnResizing()):this.isOnResizingEnabled()?this.disableOnResizing():this.enableOnResizing(),this}isSharp(){return this.snaplineImpl.options.sharp===!0}enableSharp(){return this.snaplineImpl.options.sharp=!0,this}disableSharp(){return this.snaplineImpl.options.sharp=!1,this}toggleSharp(e){return e!=null?e!==this.isSharp()&&(e?this.enableSharp():this.disableSharp()):this.isSharp()?this.disableSharp():this.enableSharp(),this}getTolerance(){return this.snaplineImpl.options.tolerance}setTolerance(e){return this.snaplineImpl.options.tolerance=e,this}captureCursorOffset(e){this.snaplineImpl.captureCursorOffset(e)}snapOnMoving(e){this.snaplineImpl.snapOnMoving(e)}dispose(){this.snaplineImpl.dispose(),v1(this.name)}}_n([Bn()],y0t.prototype,"dispose",null);const b0t=`.x6-widget-transform {
position: absolute;
box-sizing: content-box !important;
margin: -5px 0 0 -5px;
padding: 4px;
border: 1px dashed #000;
border-radius: 5px;
user-select: none;
pointer-events: none;
}
.x6-widget-transform > div {
position: absolute;
box-sizing: border-box;
background-color: #fff;
border: 1px solid #000;
transition: background-color 0.2s;
pointer-events: auto;
-webkit-user-drag: none;
user-drag: none;
/* stylelint-disable-line */
}
.x6-widget-transform > div:hover {
background-color: #d3d3d3;
}
.x6-widget-transform-cursor-n {
cursor: n-resize;
}
.x6-widget-transform-cursor-s {
cursor: s-resize;
}
.x6-widget-transform-cursor-e {
cursor: e-resize;
}
.x6-widget-transform-cursor-w {
cursor: w-resize;
}
.x6-widget-transform-cursor-ne {
cursor: ne-resize;
}
.x6-widget-transform-cursor-nw {
cursor: nw-resize;
}
.x6-widget-transform-cursor-se {
cursor: se-resize;
}
.x6-widget-transform-cursor-sw {
cursor: sw-resize;
}
.x6-widget-transform-resize {
width: 10px;
height: 10px;
border-radius: 6px;
}
.x6-widget-transform-resize[data-position='top-left'] {
top: -5px;
left: -5px;
}
.x6-widget-transform-resize[data-position='top-right'] {
top: -5px;
right: -5px;
}
.x6-widget-transform-resize[data-position='bottom-left'] {
bottom: -5px;
left: -5px;
}
.x6-widget-transform-resize[data-position='bottom-right'] {
right: -5px;
bottom: -5px;
}
.x6-widget-transform-resize[data-position='top'] {
top: -5px;
left: 50%;
margin-left: -5px;
}
.x6-widget-transform-resize[data-position='bottom'] {
bottom: -5px;
left: 50%;
margin-left: -5px;
}
.x6-widget-transform-resize[data-position='left'] {
top: 50%;
left: -5px;
margin-top: -5px;
}
.x6-widget-transform-resize[data-position='right'] {
top: 50%;
right: -5px;
margin-top: -5px;
}
.x6-widget-transform.prevent-aspect-ratio .x6-widget-transform-resize[data-position='top'],
.x6-widget-transform.prevent-aspect-ratio .x6-widget-transform-resize[data-position='bottom'],
.x6-widget-transform.prevent-aspect-ratio .x6-widget-transform-resize[data-position='left'],
.x6-widget-transform.prevent-aspect-ratio .x6-widget-transform-resize[data-position='right'] {
display: none;
}
.x6-widget-transform.no-orth-resize .x6-widget-transform-resize[data-position='bottom'],
.x6-widget-transform.no-orth-resize .x6-widget-transform-resize[data-position='left'],
.x6-widget-transform.no-orth-resize .x6-widget-transform-resize[data-position='right'],
.x6-widget-transform.no-orth-resize .x6-widget-transform-resize[data-position='top'] {
display: none;
}
.x6-widget-transform.no-resize .x6-widget-transform-resize {
display: none;
}
.x6-widget-transform-rotate {
top: -20px;
left: -20px;
width: 12px;
height: 12px;
border-radius: 6px;
cursor: crosshair;
}
.x6-widget-transform.no-rotate .x6-widget-transform-rotate {
display: none;
}
.x6-widget-transform-active {
border-color: transparent;
pointer-events: all;
}
.x6-widget-transform-active > div {
display: none;
}
.x6-widget-transform-active > .x6-widget-transform-active-handle {
display: block;
background-color: #808080;
}
`,Jle="has-widget-transform",fy=["nw","n","ne","e","se","s","sw","w"],K1=["top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"],v0t={minWidth:0,minHeight:0,maxWidth:1/0,maxHeight:1/0,rotateGrid:15,rotatable:!0,preserveAspectRatio:!1,orthogonalResizing:!0,restrictedResizing:!1,autoScrollOnResizing:!0,allowReverse:!0};class G8e extends Ac{get model(){return this.graph.model}get view(){return this.graph.renderer.findViewByCell(this.node)}get containerClassName(){return this.prefixClassName("widget-transform")}get resizeClassName(){return`${this.containerClassName}-resize`}get rotateClassName(){return`${this.containerClassName}-rotate`}constructor(e,r,n){super(),this.node=r,this.graph=n,this.options=Object.assign(Object.assign({},v0t),e),this.render(),this.startListening()}startListening(){this.delegateEvents({[`mousedown .${this.resizeClassName}`]:"startResizing",[`touchstart .${this.resizeClassName}`]:"startResizing",[`mousedown .${this.rotateClassName}`]:"startRotating",[`touchstart .${this.rotateClassName}`]:"startRotating"}),this.model.on("*",this.update,this),this.graph.on("scale",this.update,this),this.graph.on("translate",this.update,this),this.node.on("removed",this.remove,this),this.model.on("reseted",this.remove,this),this.view.on("cell:knob:mousedown",this.onKnobMouseDown,this),this.view.on("cell:knob:mouseup",this.onKnobMouseUp,this)}stopListening(){this.undelegateEvents(),this.model.off("*",this.update,this),this.graph.off("scale",this.update,this),this.graph.off("translate",this.update,this),this.node.off("removed",this.remove,this),this.model.off("reseted",this.remove,this),this.view.off("cell:knob:mousedown",this.onKnobMouseDown,this),this.view.off("cell:knob:mouseup",this.onKnobMouseUp,this)}renderHandles(){this.container=document.createElement("div");const e=document.createElement("div");Nn(e,"draggable","false");const r=e.cloneNode(!0);nr(r,this.rotateClassName);const n=K1.map(i=>{const a=e.cloneNode(!0);return nr(a,this.resizeClassName),Nn(a,"data-position",i),a});this.empty(),Mo(this.container,[...n,r])}render(){return this.renderHandles(),this.view&&this.view.addClass(Jle),nr(this.container,this.containerClassName),cd(this.container,"no-orth-resize",this.options.preserveAspectRatio||!this.options.orthogonalResizing),cd(this.container,"no-resize",!this.options.resizable),cd(this.container,"no-rotate",!this.options.rotatable),this.options.className&&nr(this.container,this.options.className),this.graph.container.appendChild(this.container),this.update()}update(){const e=this.graph.matrix(),r=this.node.getBBox();r.x*=e.a,r.x+=e.e,r.y*=e.d,r.y+=e.f,r.width*=e.a,r.height*=e.d;const n=El(this.node.getAngle()),i=n!==0?`rotate(${n}deg)`:"";return ai(this.container,{transform:i,width:r.width,height:r.height,left:r.x,top:r.y}),this.updateResizerDirections(),this}remove(){return this.view&&this.view.removeClass(Jle),super.remove()}onKnobMouseDown(){this.startHandle()}onKnobMouseUp(){this.stopHandle()}updateResizerDirections(){const e=El(this.node.getAngle()),r=Math.floor(e*(fy.length/360));if(r!==this.prevShift){const n=fy.slice(r).concat(fy.slice(0,r)),i=s=>`${this.containerClassName}-cursor-${s}`;this.container.querySelectorAll(`.${this.resizeClassName}`).forEach((s,o)=>{Vi(s,fy.map(l=>i(l)).join(" ")),nr(s,i(n[o]))}),this.prevShift=r}}getTrueDirection(e){const r=El(this.node.getAngle());let n=K1.indexOf(e);return n+=Math.floor(r*(K1.length/360)),n%=K1.length,K1[n]}toValidResizeDirection(e){return{top:"top-left",bottom:"bottom-right",left:"bottom-left",right:"top-right"}[e]||e}startResizing(e){e.stopPropagation(),this.model.startBatch("resize",{cid:this.cid});const r=Nn(e.target,"data-position");this.prepareResizing(e,r),this.startAction(e)}prepareResizing(e,r){const n=this.getTrueDirection(r);let i=0,a=0;r.split("-").forEach(u=>{i={left:-1,right:1}[u]||i,a={top:-1,bottom:1}[u]||a});const s=this.toValidResizeDirection(r),o={"top-right":"bottomLeft","top-left":"bottomRight","bottom-left":"topRight","bottom-right":"topLeft"}[s],l=El(this.node.getAngle());this.setEventData(e,{selector:o,direction:s,trueDirection:n,relativeDirection:r,angle:l,resizeX:i,resizeY:a,action:"resizing"})}startRotating(e){e.stopPropagation(),this.model.startBatch("rotate",{cid:this.cid});const r=this.node.getBBox().getCenter(),n=this.normalizeEvent(e),i=this.graph.snapToGrid(n.clientX,n.clientY);this.setEventData(e,{center:r,action:"rotating",angle:El(this.node.getAngle()),start:Je.create(i).theta(r)}),this.startAction(e)}onMouseMove(e){const r=this.graph.findViewByCell(this.node);let n=this.getEventData(e);if(n.action){const i=this.normalizeEvent(e);let a=i.clientX,s=i.clientY;const o=this.graph.getPlugin("scroller"),l=this.options.restrictedResizing;if(l===!0||typeof l=="number"){const p=l===!0?0:l,g=o?Math.max(p,8):p,m=this.graph.container.getBoundingClientRect();a=wU(a,m.left+g,m.right-g),s=wU(s,m.top+g,m.bottom-g)}else this.options.autoScrollOnResizing&&o&&o.autoScroll(a,s);const u=this.graph.snapToGrid(a,s),d=this.graph.getGridSize(),h=this.node,f=this.options;if(n.action==="resizing"){n=n,n.resized||(r&&(r.addClass("node-resizing"),this.notify("node:resize",e,r)),n.resized=!0);const p=h.getBBox(),g=Je.create(u).rotate(n.angle,p.getCenter()).diff(p[n.selector]);let m=n.resizeX?g.x*n.resizeX:p.width,U=n.resizeY?g.y*n.resizeY:p.height;const y=m,b=U;if(m=kd(m,d),U=kd(U,d),m=Math.max(m,f.minWidth||d),U=Math.max(U,f.minHeight||d),m=Math.min(m,f.maxWidth||1/0),U=Math.min(U,f.maxHeight||1/0),f.preserveAspectRatio){const w=p.width*U/p.height,T=p.height*m/p.width;m<w?U=T:m=w}const v=n.relativeDirection;if(f.allowReverse&&(y<=-m||b<=-U)){let w;v==="left"?y<=-m&&(w="right"):v==="right"?y<=-m&&(w="left"):v==="top"?b<=-U&&(w="bottom"):v==="bottom"?b<=-U&&(w="top"):v==="top-left"?y<=-m&&b<=-U?w="bottom-right":y<=-m?w="top-right":b<=-U&&(w="bottom-left"):v==="top-right"?y<=-m&&b<=-U?w="bottom-left":y<=-m?w="top-left":b<=-U&&(w="bottom-right"):v==="bottom-left"?y<=-m&&b<=-U?w="top-right":y<=-m?w="bottom-right":b<=-U&&(w="top-left"):v==="bottom-right"&&(y<=-m&&b<=-U?w="top-left":y<=-m?w="bottom-left":b<=-U&&(w="top-right"));const T=w;this.stopHandle();const S=this.container.querySelector(`.${this.resizeClassName}[data-position="${T}"]`);this.startHandle(S),this.prepareResizing(e,T),this.onMouseMove(e)}if(p.width!==m||p.height!==U){const w={ui:!0,direction:n.direction,relativeDirection:n.relativeDirection,trueDirection:n.trueDirection,minWidth:f.minWidth,minHeight:f.minHeight,maxWidth:f.maxWidth,maxHeight:f.maxHeight,preserveAspectRatio:f.preserveAspectRatio===!0};h.resize(m,U,w),this.notify("node:resizing",e,r)}}else if(n.action==="rotating"){n=n,n.rotated||(r&&(r.addClass("node-rotating"),this.notify("node:rotate",e,r)),n.rotated=!0);const p=h.getAngle(),g=n.start-Je.create(u).theta(n.center);let m=n.angle+g;f.rotateGrid&&(m=kd(m,f.rotateGrid)),m=El(m),p!==m&&(h.rotate(m,{absolute:!0}),this.notify("node:rotating",e,r))}}}onMouseUp(e){const r=this.getEventData(e);r.action&&(this.stopAction(e),this.model.stopBatch(r.action==="resizing"?"resize":"rotate",{cid:this.cid}))}startHandle(e){if(this.handle=e||null,nr(this.container,`${this.containerClassName}-active`),e){nr(e,`${this.containerClassName}-active-handle`);const r=e.getAttribute("data-position");if(r){const n=fy[K1.indexOf(r)];nr(this.container,`${this.containerClassName}-cursor-${n}`)}}}stopHandle(){if(Vi(this.container,`${this.containerClassName}-active`),this.handle){Vi(this.handle,`${this.containerClassName}-active-handle`);const e=this.handle.getAttribute("data-position");if(e){const r=fy[K1.indexOf(e)];Vi(this.container,`${this.containerClassName}-cursor-${r}`)}this.handle=null}}startAction(e){this.startHandle(e.target),this.graph.view.undelegateEvents(),this.delegateDocumentEvents(U8e,e.data)}stopAction(e){this.stopHandle(),this.undelegateDocumentEvents(),this.graph.view.delegateEvents();const r=this.graph.findViewByCell(this.node),n=this.getEventData(e);r&&(r.removeClass(`node-${n.action}`),n.action==="resizing"&&n.resized?this.notify("node:resized",e,r):n.action==="rotating"&&n.rotated&&this.notify("node:rotated",e,r))}notify(e,r,n,i={}){if(n){const a=n.graph,s=a.view.normalizeEvent(r),o=a.snapToGrid(s.clientX,s.clientY);this.trigger(e,Object.assign({e:s,view:n,node:n.cell,cell:n.cell,x:o.x,y:o.y},i))}}dispose(){this.stopListening(),this.remove(),this.off()}}_n([Bn()],G8e.prototype,"dispose",null);dt.prototype.createTransformWidget=function(t){const e=this.getPlugin("transform");return e&&e.createWidget(t),this};dt.prototype.clearTransformWidgets=function(){const t=this.getPlugin("transform");return t&&t.clearWidgets(),this};let x0t=class extends Xl{constructor(e={}){super(),this.name="transform",this.widgets=new Map,this.disabled=!1,this.options=e,b1(this.name,b0t)}init(e){this.graph=e,!this.disabled&&this.startListening()}startListening(){this.graph.on("node:click",this.onNodeClick,this),this.graph.on("blank:mousedown",this.onBlankMouseDown,this)}stopListening(){this.graph.off("node:click",this.onNodeClick,this),this.graph.off("blank:mousedown",this.onBlankMouseDown,this)}enable(){this.disabled&&(this.disabled=!1,this.startListening())}disable(){this.disabled||(this.disabled=!0,this.stopListening())}isEnabled(){return!this.disabled}createWidget(e){this.clearWidgets();const r=this.createTransform(e);r&&(this.widgets.set(e,r),r.on("*",(n,i)=>{this.trigger(n,i),this.graph.trigger(n,i)}))}onNodeClick({node:e}){this.createWidget(e)}onBlankMouseDown(){this.clearWidgets()}createTransform(e){const r=this.getTransformOptions(e);return r.resizable||r.rotatable?new G8e(r,e,this.graph):null}parseOptionGroup(e,r,n){const i={};return Object.keys(n||{}).forEach(a=>{const s=n[a];i[a]=typeof s=="function"?s.call(e,r):s}),i}getTransformOptions(e){this.options.resizing||(this.options.resizing={enabled:!1}),this.options.rotating||(this.options.rotating={enabled:!1}),typeof this.options.resizing=="boolean"&&(this.options.resizing={enabled:this.options.resizing}),typeof this.options.rotating=="boolean"&&(this.options.rotating={enabled:this.options.rotating});const r=this.parseOptionGroup(this.graph,e,this.options.resizing),n=this.parseOptionGroup(this.graph,e,this.options.rotating);return{resizable:!!r.enabled,minWidth:r.minWidth||0,maxWidth:r.maxWidth||Number.MAX_SAFE_INTEGER,minHeight:r.minHeight||0,maxHeight:r.maxHeight||Number.MAX_SAFE_INTEGER,orthogonalResizing:typeof r.orthogonal=="boolean"?r.orthogonal:!0,restrictedResizing:!!r.restrict,autoScrollOnResizing:typeof r.autoScroll=="boolean"?r.autoScroll:!0,preserveAspectRatio:!!r.preserveAspectRatio,allowReverse:typeof r.allowReverse=="boolean"?r.allowReverse:!0,rotatable:!!n.enabled,rotateGrid:n.grid||15}}clearWidgets(){this.widgets.forEach((e,r)=>{this.graph.getCellById(r.id)&&e.dispose()}),this.widgets.clear()}dispose(){this.clearWidgets(),this.stopListening(),this.off(),v1(this.name)}};_n([Bn()],x0t.prototype,"dispose",null);var Qle=Object.defineProperty,w0t=(t,e)=>{let r={};for(var n in t)Qle(r,n,{get:t[n],enumerable:!0});return Qle(r,Symbol.toStringTag,{value:"Module"}),r};function Co(t){this.content=t}Co.prototype={constructor:Co,find:function(t){for(var e=0;e<this.content.length;e+=2)if(this.content[e]===t)return e;return-1},get:function(t){var e=this.find(t);return e==-1?void 0:this.content[e+1]},update:function(t,e,r){var n=r&&r!=t?this.remove(r):this,i=n.find(t),a=n.content.slice();return i==-1?a.push(r||t,e):(a[i+1]=e,r&&(a[i]=r)),new Co(a)},remove:function(t){var e=this.find(t);if(e==-1)return this;var r=this.content.slice();return r.splice(e,2),new Co(r)},addToStart:function(t,e){return new Co([t,e].concat(this.remove(t).content))},addToEnd:function(t,e){var r=this.remove(t).content.slice();return r.push(t,e),new Co(r)},addBefore:function(t,e,r){var n=this.remove(e),i=n.content.slice(),a=n.find(t);return i.splice(a==-1?i.length:a,0,e,r),new Co(i)},forEach:function(t){for(var e=0;e<this.content.length;e+=2)t(this.content[e],this.content[e+1])},prepend:function(t){return t=Co.from(t),t.size?new Co(t.content.concat(this.subtract(t).content)):this},append:function(t){return t=Co.from(t),t.size?new Co(this.subtract(t).content.concat(t.content)):this},subtract:function(t){var e=this;t=Co.from(t);for(var r=0;r<t.content.length;r+=2)e=e.remove(t.content[r]);return e},toObject:function(){var t={};return this.forEach(function(e,r){t[e]=r}),t},get size(){return this.content.length>>1}};Co.from=function(t){if(t instanceof Co)return t;var e=[];if(t)for(var r in t)e.push(r,t[r]);return new Co(e)};function W8e(t,e,r){for(let n=0;;n++){if(n==t.childCount||n==e.childCount)return t.childCount==e.childCount?null:r;let i=t.child(n),a=e.child(n);if(i==a){r+=i.nodeSize;continue}if(!i.sameMarkup(a))return r;if(i.isText&&i.text!=a.text){let s=i.text,o=a.text,l=0;for(;s[l]==o[l];l++)r++;return l&&l<s.length&&l<o.length&&Y8e(s.charCodeAt(l-1))&&j8e(s.charCodeAt(l))&&r--,r}if(i.content.size||a.content.size){let s=W8e(i.content,a.content,r+1);if(s!=null)return s}r+=i.nodeSize}}function q8e(t,e,r,n){for(let i=t.childCount,a=e.childCount;;){if(i==0||a==0)return i==a?null:{a:r,b:n};let s=t.child(--i),o=e.child(--a),l=s.nodeSize;if(s==o){r-=l,n-=l;continue}if(!s.sameMarkup(o))return{a:r,b:n};if(s.isText&&s.text!=o.text){let u=s.text,d=o.text,h=u.length,f=d.length;for(;h>0&&f>0&&u[h-1]==d[f-1];)h--,f--,r--,n--;return h&&f&&h<u.length&&Y8e(u.charCodeAt(h-1))&&j8e(u.charCodeAt(h))&&(r++,n++),{a:r,b:n}}if(s.content.size||o.content.size){let u=q8e(s.content,o.content,r-1,n-1);if(u)return u}r-=l,n-=l}}function j8e(t){return t>=56320&&t<57344}function Y8e(t){return t>=55296&&t<56320}class At{constructor(e,r){if(this.content=e,this.size=r||0,r==null)for(let n=0;n<e.length;n++)this.size+=e[n].nodeSize}nodesBetween(e,r,n,i=0,a){for(let s=0,o=0;o<r;s++){let l=this.content[s],u=o+l.nodeSize;if(u>e&&n(l,i+o,a||null,s)!==!1&&l.content.size){let d=o+1;l.nodesBetween(Math.max(0,e-d),Math.min(l.content.size,r-d),n,i+d)}o=u}}descendants(e){this.nodesBetween(0,this.size,e)}textBetween(e,r,n,i){let a="",s=!0;return this.nodesBetween(e,r,(o,l)=>{let u=o.isText?o.text.slice(Math.max(e,l)-l,r-l):o.isLeaf?i?typeof i=="function"?i(o):i:o.type.spec.leafText?o.type.spec.leafText(o):"":"";o.isBlock&&(o.isLeaf&&u||o.isTextblock)&&n&&(s?s=!1:a+=n),a+=u},0),a}append(e){if(!e.size)return this;if(!this.size)return e;let r=this.lastChild,n=e.firstChild,i=this.content.slice(),a=0;for(r.isText&&r.sameMarkup(n)&&(i[i.length-1]=r.withText(r.text+n.text),a=1);a<e.content.length;a++)i.push(e.content[a]);return new At(i,this.size+e.size)}cut(e,r=this.size){if(e==0&&r==this.size)return this;let n=[],i=0;if(r>e)for(let a=0,s=0;s<r;a++){let o=this.content[a],l=s+o.nodeSize;l>e&&((s<e||l>r)&&(o.isText?o=o.cut(Math.max(0,e-s),Math.min(o.text.length,r-s)):o=o.cut(Math.max(0,e-s-1),Math.min(o.content.size,r-s-1))),n.push(o),i+=o.nodeSize),s=l}return new At(n,i)}cutByIndex(e,r){return e==r?At.empty:e==0&&r==this.content.length?this:new At(this.content.slice(e,r))}replaceChild(e,r){let n=this.content[e];if(n==r)return this;let i=this.content.slice(),a=this.size+r.nodeSize-n.nodeSize;return i[e]=r,new At(i,a)}addToStart(e){return new At([e].concat(this.content),this.size+e.nodeSize)}addToEnd(e){return new At(this.content.concat(e),this.size+e.nodeSize)}eq(e){if(this.content.length!=e.content.length)return!1;for(let r=0;r<this.content.length;r++)if(!this.content[r].eq(e.content[r]))return!1;return!0}get firstChild(){return this.content.length?this.content[0]:null}get lastChild(){return this.content.length?this.content[this.content.length-1]:null}get childCount(){return this.content.length}child(e){let r=this.content[e];if(!r)throw new RangeError("Index "+e+" out of range for "+this);return r}maybeChild(e){return this.content[e]||null}forEach(e){for(let r=0,n=0;r<this.content.length;r++){let i=this.content[r];e(i,n,r),n+=i.nodeSize}}findDiffStart(e,r=0){return W8e(this,e,r)}findDiffEnd(e,r=this.size,n=e.size){return q8e(this,e,r,n)}findIndex(e){if(e==0)return Tk(0,e);if(e==this.size)return Tk(this.content.length,e);if(e>this.size||e<0)throw new RangeError(`Position ${e} outside of fragment (${this})`);for(let r=0,n=0;;r++){let i=this.child(r),a=n+i.nodeSize;if(a>=e)return a==e?Tk(r+1,a):Tk(r,n);n=a}}toString(){return"<"+this.toStringInner()+">"}toStringInner(){return this.content.join(", ")}toJSON(){return this.content.length?this.content.map(e=>e.toJSON()):null}static fromJSON(e,r){if(!r)return At.empty;if(!Array.isArray(r))throw new RangeError("Invalid input for Fragment.fromJSON");return At.fromArray(r.map(e.nodeFromJSON))}static fromArray(e){if(!e.length)return At.empty;let r,n=0;for(let i=0;i<e.length;i++){let a=e[i];n+=a.nodeSize,i&&a.isText&&e[i-1].sameMarkup(a)?(r||(r=e.slice(0,i)),r[r.length-1]=a.withText(r[r.length-1].text+a.text)):r&&r.push(a)}return new At(r||e,n)}static from(e){if(!e)return At.empty;if(e instanceof At)return e;if(Array.isArray(e))return this.fromArray(e);if(e.attrs)return new At([e],e.nodeSize);throw new RangeError("Can not convert "+e+" to a Fragment"+(e.nodesBetween?" (looks like multiple versions of prosemirror-model were loaded)":""))}}At.empty=new At([],0);const JB={index:0,offset:0};function Tk(t,e){return JB.index=t,JB.offset=e,JB}function NR(t,e){if(t===e)return!0;if(!(t&&typeof t=="object")||!(e&&typeof e=="object"))return!1;let r=Array.isArray(t);if(Array.isArray(e)!=r)return!1;if(r){if(t.length!=e.length)return!1;for(let n=0;n<t.length;n++)if(!NR(t[n],e[n]))return!1}else{for(let n in t)if(!(n in e)||!NR(t[n],e[n]))return!1;for(let n in e)if(!(n in t))return!1}return!0}let Ri=class iG{constructor(e,r){this.type=e,this.attrs=r}addToSet(e){let r,n=!1;for(let i=0;i<e.length;i++){let a=e[i];if(this.eq(a))return e;if(this.type.excludes(a.type))r||(r=e.slice(0,i));else{if(a.type.excludes(this.type))return e;!n&&a.type.rank>this.type.rank&&(r||(r=e.slice(0,i)),r.push(this),n=!0),r&&r.push(a)}}return r||(r=e.slice()),n||r.push(this),r}removeFromSet(e){for(let r=0;r<e.length;r++)if(this.eq(e[r]))return e.slice(0,r).concat(e.slice(r+1));return e}isInSet(e){for(let r=0;r<e.length;r++)if(this.eq(e[r]))return!0;return!1}eq(e){return this==e||this.type==e.type&&NR(this.attrs,e.attrs)}toJSON(){let e={type:this.type.name};for(let r in this.attrs){e.attrs=this.attrs;break}return e}static fromJSON(e,r){if(!r)throw new RangeError("Invalid input for Mark.fromJSON");let n=e.marks[r.type];if(!n)throw new RangeError(`There is no mark type ${r.type} in this schema`);let i=n.create(r.attrs);return n.checkAttrs(i.attrs),i}static sameSet(e,r){if(e==r)return!0;if(e.length!=r.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].eq(r[n]))return!1;return!0}static setFrom(e){if(!e||Array.isArray(e)&&e.length==0)return iG.none;if(e instanceof iG)return[e];let r=e.slice();return r.sort((n,i)=>n.type.rank-i.type.rank),r}};Ri.none=[];class Jw extends Error{}class tr{constructor(e,r,n){this.content=e,this.openStart=r,this.openEnd=n}get size(){return this.content.size-this.openStart-this.openEnd}insertAt(e,r){let n=K8e(this.content,e+this.openStart,r,this.openStart+1,this.openEnd+1);return n&&new tr(n,this.openStart,this.openEnd)}removeBetween(e,r){return new tr(X8e(this.content,e+this.openStart,r+this.openStart),this.openStart,this.openEnd)}eq(e){return this.content.eq(e.content)&&this.openStart==e.openStart&&this.openEnd==e.openEnd}toString(){return this.content+"("+this.openStart+","+this.openEnd+")"}toJSON(){if(!this.content.size)return null;let e={content:this.content.toJSON()};return this.openStart>0&&(e.openStart=this.openStart),this.openEnd>0&&(e.openEnd=this.openEnd),e}static fromJSON(e,r){if(!r)return tr.empty;let n=r.openStart||0,i=r.openEnd||0;if(typeof n!="number"||typeof i!="number")throw new RangeError("Invalid input for Slice.fromJSON");return new tr(At.fromJSON(e,r.content),n,i)}static maxOpen(e,r=!0){let n=0,i=0;for(let a=e.firstChild;a&&!a.isLeaf&&(r||!a.type.spec.isolating);a=a.firstChild)n++;for(let a=e.lastChild;a&&!a.isLeaf&&(r||!a.type.spec.isolating);a=a.lastChild)i++;return new tr(e,n,i)}}tr.empty=new tr(At.empty,0,0);function X8e(t,e,r){let{index:n,offset:i}=t.findIndex(e),a=t.maybeChild(n),{index:s,offset:o}=t.findIndex(r);if(i==e||a.isText){if(o!=r&&!t.child(s).isText)throw new RangeError("Removing non-flat range");return t.cut(0,e).append(t.cut(r))}if(n!=s)throw new RangeError("Removing non-flat range");return t.replaceChild(n,a.copy(X8e(a.content,e-i-1,r-i-1)))}function K8e(t,e,r,n,i,a){let{index:s,offset:o}=t.findIndex(e),l=t.maybeChild(s);if(o==e||l.isText)return a&&n<=0&&i<=0&&!a.canReplace(s,s,r)?null:t.cut(0,e).append(r).append(t.cut(e));let u=K8e(l.content,e-o-1,r,s==0?n-1:0,s==t.childCount-1?i-1:0,l);return u&&t.replaceChild(s,l.copy(u))}function T0t(t,e,r){if(r.openStart>t.depth)throw new Jw("Inserted content deeper than insertion position");if(t.depth-r.openStart!=e.depth-r.openEnd)throw new Jw("Inconsistent open depths");return Z8e(t,e,r,0)}function Z8e(t,e,r,n){let i=t.index(n),a=t.node(n);if(i==e.index(n)&&n<t.depth-r.openStart){let s=Z8e(t,e,r,n+1);return a.copy(a.content.replaceChild(i,s))}else if(r.content.size)if(!r.openStart&&!r.openEnd&&t.depth==n&&e.depth==n){let s=t.parent,o=s.content;return CU(s,o.cut(0,t.parentOffset).append(r.content).append(o.cut(e.parentOffset)))}else{let{start:s,end:o}=C0t(r,t);return CU(a,Q8e(t,s,o,e,n))}else return CU(a,OR(t,e,n))}function J8e(t,e){if(!e.type.compatibleContent(t.type))throw new Jw("Cannot join "+e.type.name+" onto "+t.type.name)}function aG(t,e,r){let n=t.node(r);return J8e(n,e.node(r)),n}function TU(t,e){let r=e.length-1;r>=0&&t.isText&&t.sameMarkup(e[r])?e[r]=t.withText(e[r].text+t.text):e.push(t)}function Ox(t,e,r,n){let i=(e||t).node(r),a=0,s=e?e.index(r):i.childCount;t&&(a=t.index(r),t.depth>r?a++:t.textOffset&&(TU(t.nodeAfter,n),a++));for(let o=a;o<s;o++)TU(i.child(o),n);e&&e.depth==r&&e.textOffset&&TU(e.nodeBefore,n)}function CU(t,e){if(!t.type.validContent(e))throw new Jw("Invalid content for node "+t.type.name);return t.copy(e)}function Q8e(t,e,r,n,i){let a=t.depth>i&&aG(t,e,i+1),s=n.depth>i&&aG(r,n,i+1),o=[];return Ox(null,t,i,o),a&&s&&e.index(i)==r.index(i)?(J8e(a,s),TU(CU(a,Q8e(t,e,r,n,i+1)),o)):(a&&TU(CU(a,OR(t,e,i+1)),o),Ox(e,r,i,o),s&&TU(CU(s,OR(r,n,i+1)),o)),Ox(n,null,i,o),new At(o)}function OR(t,e,r){let n=[];if(Ox(null,t,r,n),t.depth>r){let i=aG(t,e,r+1);TU(CU(i,OR(t,e,r+1)),n)}return Ox(e,null,r,n),new At(n)}function C0t(t,e){let r=e.depth-t.openStart,i=e.node(r).copy(t.content);for(let a=r-1;a>=0;a--)i=e.node(a).copy(At.from(i));return{start:i.resolveNoCache(t.openStart+r),end:i.resolveNoCache(i.content.size-t.openEnd-r)}}class Qw{constructor(e,r,n){this.pos=e,this.path=r,this.parentOffset=n,this.depth=r.length/3-1}resolveDepth(e){return e==null?this.depth:e<0?this.depth+e:e}get parent(){return this.node(this.depth)}get doc(){return this.node(0)}node(e){return this.path[this.resolveDepth(e)*3]}index(e){return this.path[this.resolveDepth(e)*3+1]}indexAfter(e){return e=this.resolveDepth(e),this.index(e)+(e==this.depth&&!this.textOffset?0:1)}start(e){return e=this.resolveDepth(e),e==0?0:this.path[e*3-1]+1}end(e){return e=this.resolveDepth(e),this.start(e)+this.node(e).content.size}before(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position before the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]}after(e){if(e=this.resolveDepth(e),!e)throw new RangeError("There is no position after the top-level node");return e==this.depth+1?this.pos:this.path[e*3-1]+this.path[e*3].nodeSize}get textOffset(){return this.pos-this.path[this.path.length-1]}get nodeAfter(){let e=this.parent,r=this.index(this.depth);if(r==e.childCount)return null;let n=this.pos-this.path[this.path.length-1],i=e.child(r);return n?e.child(r).cut(n):i}get nodeBefore(){let e=this.index(this.depth),r=this.pos-this.path[this.path.length-1];return r?this.parent.child(e).cut(0,r):e==0?null:this.parent.child(e-1)}posAtIndex(e,r){r=this.resolveDepth(r);let n=this.path[r*3],i=r==0?0:this.path[r*3-1]+1;for(let a=0;a<e;a++)i+=n.child(a).nodeSize;return i}marks(){let e=this.parent,r=this.index();if(e.content.size==0)return Ri.none;if(this.textOffset)return e.child(r).marks;let n=e.maybeChild(r-1),i=e.maybeChild(r);if(!n){let o=n;n=i,i=o}let a=n.marks;for(var s=0;s<a.length;s++)a[s].type.spec.inclusive===!1&&(!i||!a[s].isInSet(i.marks))&&(a=a[s--].removeFromSet(a));return a}marksAcross(e){let r=this.parent.maybeChild(this.index());if(!r||!r.isInline)return null;let n=r.marks,i=e.parent.maybeChild(e.index());for(var a=0;a<n.length;a++)n[a].type.spec.inclusive===!1&&(!i||!n[a].isInSet(i.marks))&&(n=n[a--].removeFromSet(n));return n}sharedDepth(e){for(let r=this.depth;r>0;r--)if(this.start(r)<=e&&this.end(r)>=e)return r;return 0}blockRange(e=this,r){if(e.pos<this.pos)return e.blockRange(this);for(let n=this.depth-(this.parent.inlineContent||this.pos==e.pos?1:0);n>=0;n--)if(e.pos<=this.end(n)&&(!r||r(this.node(n))))return new DR(this,e,n);return null}sameParent(e){return this.pos-this.parentOffset==e.pos-e.parentOffset}max(e){return e.pos>this.pos?e:this}min(e){return e.pos<this.pos?e:this}toString(){let e="";for(let r=1;r<=this.depth;r++)e+=(e?"/":"")+this.node(r).type.name+"_"+this.index(r-1);return e+":"+this.parentOffset}static resolve(e,r){if(!(r>=0&&r<=e.content.size))throw new RangeError("Position "+r+" out of range");let n=[],i=0,a=r;for(let s=e;;){let{index:o,offset:l}=s.content.findIndex(a),u=a-l;if(n.push(s,o,i+l),!u||(s=s.child(o),s.isText))break;a=u-1,i+=l+1}return new Qw(r,n,a)}static resolveCached(e,r){let n=ece.get(e);if(n)for(let a=0;a<n.elts.length;a++){let s=n.elts[a];if(s.pos==r)return s}else ece.set(e,n=new S0t);let i=n.elts[n.i]=Qw.resolve(e,r);return n.i=(n.i+1)%k0t,i}}class S0t{constructor(){this.elts=[],this.i=0}}const k0t=12,ece=new WeakMap;class DR{constructor(e,r,n){this.$from=e,this.$to=r,this.depth=n}get start(){return this.$from.before(this.depth+1)}get end(){return this.$to.after(this.depth+1)}get parent(){return this.$from.node(this.depth)}get startIndex(){return this.$from.index(this.depth)}get endIndex(){return this.$to.indexAfter(this.depth)}}const E0t=Object.create(null);let SU=class sG{constructor(e,r,n,i=Ri.none){this.type=e,this.attrs=r,this.marks=i,this.content=n||At.empty}get children(){return this.content.content}get nodeSize(){return this.isLeaf?1:2+this.content.size}get childCount(){return this.content.childCount}child(e){return this.content.child(e)}maybeChild(e){return this.content.maybeChild(e)}forEach(e){this.content.forEach(e)}nodesBetween(e,r,n,i=0){this.content.nodesBetween(e,r,n,i,this)}descendants(e){this.nodesBetween(0,this.content.size,e)}get textContent(){return this.isLeaf&&this.type.spec.leafText?this.type.spec.leafText(this):this.textBetween(0,this.content.size,"")}textBetween(e,r,n,i){return this.content.textBetween(e,r,n,i)}get firstChild(){return this.content.firstChild}get lastChild(){return this.content.lastChild}eq(e){return this==e||this.sameMarkup(e)&&this.content.eq(e.content)}sameMarkup(e){return this.hasMarkup(e.type,e.attrs,e.marks)}hasMarkup(e,r,n){return this.type==e&&NR(this.attrs,r||e.defaultAttrs||E0t)&&Ri.sameSet(this.marks,n||Ri.none)}copy(e=null){return e==this.content?this:new sG(this.type,this.attrs,e,this.marks)}mark(e){return e==this.marks?this:new sG(this.type,this.attrs,this.content,e)}cut(e,r=this.content.size){return e==0&&r==this.content.size?this:this.copy(this.content.cut(e,r))}slice(e,r=this.content.size,n=!1){if(e==r)return tr.empty;let i=this.resolve(e),a=this.resolve(r),s=n?0:i.sharedDepth(r),o=i.start(s),u=i.node(s).content.cut(i.pos-o,a.pos-o);return new tr(u,i.depth-s,a.depth-s)}replace(e,r,n){return T0t(this.resolve(e),this.resolve(r),n)}nodeAt(e){for(let r=this;;){let{index:n,offset:i}=r.content.findIndex(e);if(r=r.maybeChild(n),!r)return null;if(i==e||r.isText)return r;e-=i+1}}childAfter(e){let{index:r,offset:n}=this.content.findIndex(e);return{node:this.content.maybeChild(r),index:r,offset:n}}childBefore(e){if(e==0)return{node:null,index:0,offset:0};let{index:r,offset:n}=this.content.findIndex(e);if(n<e)return{node:this.content.child(r),index:r,offset:n};let i=this.content.child(r-1);return{node:i,index:r-1,offset:n-i.nodeSize}}resolve(e){return Qw.resolveCached(this,e)}resolveNoCache(e){return Qw.resolve(this,e)}rangeHasMark(e,r,n){let i=!1;return r>e&&this.nodesBetween(e,r,a=>(n.isInSet(a.marks)&&(i=!0),!i)),i}get isBlock(){return this.type.isBlock}get isTextblock(){return this.type.isTextblock}get inlineContent(){return this.type.inlineContent}get isInline(){return this.type.isInline}get isText(){return this.type.isText}get isLeaf(){return this.type.isLeaf}get isAtom(){return this.type.isAtom}toString(){if(this.type.spec.toDebugString)return this.type.spec.toDebugString(this);let e=this.type.name;return this.content.size&&(e+="("+this.content.toStringInner()+")"),eve(this.marks,e)}contentMatchAt(e){let r=this.type.contentMatch.matchFragment(this.content,0,e);if(!r)throw new Error("Called contentMatchAt on a node with invalid content");return r}canReplace(e,r,n=At.empty,i=0,a=n.childCount){let s=this.contentMatchAt(e).matchFragment(n,i,a),o=s&&s.matchFragment(this.content,r);if(!o||!o.validEnd)return!1;for(let l=i;l<a;l++)if(!this.type.allowsMarks(n.child(l).marks))return!1;return!0}canReplaceWith(e,r,n,i){if(i&&!this.type.allowsMarks(i))return!1;let a=this.contentMatchAt(e).matchType(n),s=a&&a.matchFragment(this.content,r);return s?s.validEnd:!1}canAppend(e){return e.content.size?this.canReplace(this.childCount,this.childCount,e.content):this.type.compatibleContent(e.type)}check(){this.type.checkContent(this.content),this.type.checkAttrs(this.attrs);let e=Ri.none;for(let r=0;r<this.marks.length;r++){let n=this.marks[r];n.type.checkAttrs(n.attrs),e=n.addToSet(e)}if(!Ri.sameSet(e,this.marks))throw new RangeError(`Invalid collection of marks for node ${this.type.name}: ${this.marks.map(r=>r.type.name)}`);this.content.forEach(r=>r.check())}toJSON(){let e={type:this.type.name};for(let r in this.attrs){e.attrs=this.attrs;break}return this.content.size&&(e.content=this.content.toJSON()),this.marks.length&&(e.marks=this.marks.map(r=>r.toJSON())),e}static fromJSON(e,r){if(!r)throw new RangeError("Invalid input for Node.fromJSON");let n;if(r.marks){if(!Array.isArray(r.marks))throw new RangeError("Invalid mark data for Node.fromJSON");n=r.marks.map(e.markFromJSON)}if(r.type=="text"){if(typeof r.text!="string")throw new RangeError("Invalid text node in JSON");return e.text(r.text,n)}let i=At.fromJSON(e,r.content),a=e.nodeType(r.type).create(r.attrs,i,n);return a.type.checkAttrs(a.attrs),a}};SU.prototype.text=void 0;let A0t=class oG extends SU{constructor(e,r,n,i){if(super(e,r,null,i),!n)throw new RangeError("Empty text nodes are not allowed");this.text=n}toString(){return this.type.spec.toDebugString?this.type.spec.toDebugString(this):eve(this.marks,JSON.stringify(this.text))}get textContent(){return this.text}textBetween(e,r){return this.text.slice(e,r)}get nodeSize(){return this.text.length}mark(e){return e==this.marks?this:new oG(this.type,this.attrs,this.text,e)}withText(e){return e==this.text?this:new oG(this.type,this.attrs,e,this.marks)}cut(e=0,r=this.text.length){return e==0&&r==this.text.length?this:this.withText(this.text.slice(e,r))}eq(e){return this.sameMarkup(e)&&this.text==e.text}toJSON(){let e=super.toJSON();return e.text=this.text,e}};function eve(t,e){for(let r=t.length-1;r>=0;r--)e=t[r].type.name+"("+e+")";return e}class VU{constructor(e){this.validEnd=e,this.next=[],this.wrapCache=[]}static parse(e,r){let n=new M0t(e,r);if(n.next==null)return VU.empty;let i=tve(n);n.next&&n.err("Unexpected trailing text");let a=P0t(D0t(i));return _0t(a,n),a}matchType(e){for(let r=0;r<this.next.length;r++)if(this.next[r].type==e)return this.next[r].next;return null}matchFragment(e,r=0,n=e.childCount){let i=this;for(let a=r;i&&a<n;a++)i=i.matchType(e.child(a).type);return i}get inlineContent(){return this.next.length!=0&&this.next[0].type.isInline}get defaultType(){for(let e=0;e<this.next.length;e++){let{type:r}=this.next[e];if(!(r.isText||r.hasRequiredAttrs()))return r}return null}compatible(e){for(let r=0;r<this.next.length;r++)for(let n=0;n<e.next.length;n++)if(this.next[r].type==e.next[n].type)return!0;return!1}fillBefore(e,r=!1,n=0){let i=[this];function a(s,o){let l=s.matchFragment(e,n);if(l&&(!r||l.validEnd))return At.from(o.map(u=>u.createAndFill()));for(let u=0;u<s.next.length;u++){let{type:d,next:h}=s.next[u];if(!(d.isText||d.hasRequiredAttrs())&&i.indexOf(h)==-1){i.push(h);let f=a(h,o.concat(d));if(f)return f}}return null}return a(this,[])}findWrapping(e){for(let n=0;n<this.wrapCache.length;n+=2)if(this.wrapCache[n]==e)return this.wrapCache[n+1];let r=this.computeWrapping(e);return this.wrapCache.push(e,r),r}computeWrapping(e){let r=Object.create(null),n=[{match:this,type:null,via:null}];for(;n.length;){let i=n.shift(),a=i.match;if(a.matchType(e)){let s=[];for(let o=i;o.type;o=o.via)s.push(o.type);return s.reverse()}for(let s=0;s<a.next.length;s++){let{type:o,next:l}=a.next[s];!o.isLeaf&&!o.hasRequiredAttrs()&&!(o.name in r)&&(!i.type||l.validEnd)&&(n.push({match:o.contentMatch,type:o,via:i}),r[o.name]=!0)}}return null}get edgeCount(){return this.next.length}edge(e){if(e>=this.next.length)throw new RangeError(`There's no ${e}th edge in this content match`);return this.next[e]}toString(){let e=[];function r(n){e.push(n);for(let i=0;i<n.next.length;i++)e.indexOf(n.next[i].next)==-1&&r(n.next[i].next)}return r(this),e.map((n,i)=>{let a=i+(n.validEnd?"*":" ")+" ";for(let s=0;s<n.next.length;s++)a+=(s?", ":"")+n.next[s].type.name+"->"+e.indexOf(n.next[s].next);return a}).join(`
`)}}VU.empty=new VU(!0);class M0t{constructor(e,r){this.string=e,this.nodeTypes=r,this.inline=null,this.pos=0,this.tokens=e.split(/\s*(?=\b|\W|$)/),this.tokens[this.tokens.length-1]==""&&this.tokens.pop(),this.tokens[0]==""&&this.tokens.shift()}get next(){return this.tokens[this.pos]}eat(e){return this.next==e&&(this.pos++||!0)}err(e){throw new SyntaxError(e+" (in content expression '"+this.string+"')")}}function tve(t){let e=[];do e.push(R0t(t));while(t.eat("|"));return e.length==1?e[0]:{type:"choice",exprs:e}}function R0t(t){let e=[];do e.push(I0t(t));while(t.next&&t.next!=")"&&t.next!="|");return e.length==1?e[0]:{type:"seq",exprs:e}}function I0t(t){let e=O0t(t);for(;;)if(t.eat("+"))e={type:"plus",expr:e};else if(t.eat("*"))e={type:"star",expr:e};else if(t.eat("?"))e={type:"opt",expr:e};else if(t.eat("{"))e=L0t(t,e);else break;return e}function tce(t){/\D/.test(t.next)&&t.err("Expected number, got '"+t.next+"'");let e=Number(t.next);return t.pos++,e}function L0t(t,e){let r=tce(t),n=r;return t.eat(",")&&(t.next!="}"?n=tce(t):n=-1),t.eat("}")||t.err("Unclosed braced range"),{type:"range",min:r,max:n,expr:e}}function N0t(t,e){let r=t.nodeTypes,n=r[e];if(n)return[n];let i=[];for(let a in r){let s=r[a];s.isInGroup(e)&&i.push(s)}return i.length==0&&t.err("No node type or group '"+e+"' found"),i}function O0t(t){if(t.eat("(")){let e=tve(t);return t.eat(")")||t.err("Missing closing paren"),e}else if(/\W/.test(t.next))t.err("Unexpected token '"+t.next+"'");else{let e=N0t(t,t.next).map(r=>(t.inline==null?t.inline=r.isInline:t.inline!=r.isInline&&t.err("Mixing inline and block content"),{type:"name",value:r}));return t.pos++,e.length==1?e[0]:{type:"choice",exprs:e}}}function D0t(t){let e=[[]];return i(a(t,0),r()),e;function r(){return e.push([])-1}function n(s,o,l){let u={term:l,to:o};return e[s].push(u),u}function i(s,o){s.forEach(l=>l.to=o)}function a(s,o){if(s.type=="choice")return s.exprs.reduce((l,u)=>l.concat(a(u,o)),[]);if(s.type=="seq")for(let l=0;;l++){let u=a(s.exprs[l],o);if(l==s.exprs.length-1)return u;i(u,o=r())}else if(s.type=="star"){let l=r();return n(o,l),i(a(s.expr,l),l),[n(l)]}else if(s.type=="plus"){let l=r();return i(a(s.expr,o),l),i(a(s.expr,l),l),[n(l)]}else{if(s.type=="opt")return[n(o)].concat(a(s.expr,o));if(s.type=="range"){let l=o;for(let u=0;u<s.min;u++){let d=r();i(a(s.expr,l),d),l=d}if(s.max==-1)i(a(s.expr,l),l);else for(let u=s.min;u<s.max;u++){let d=r();n(l,d),i(a(s.expr,l),d),l=d}return[n(l)]}else{if(s.type=="name")return[n(o,void 0,s.value)];throw new Error("Unknown expr type")}}}}function rve(t,e){return e-t}function rce(t,e){let r=[];return n(e),r.sort(rve);function n(i){let a=t[i];if(a.length==1&&!a[0].term)return n(a[0].to);r.push(i);for(let s=0;s<a.length;s++){let{term:o,to:l}=a[s];!o&&r.indexOf(l)==-1&&n(l)}}}function P0t(t){let e=Object.create(null);return r(rce(t,0));function r(n){let i=[];n.forEach(s=>{t[s].forEach(({term:o,to:l})=>{if(!o)return;let u;for(let d=0;d<i.length;d++)i[d][0]==o&&(u=i[d][1]);rce(t,l).forEach(d=>{u||i.push([o,u=[]]),u.indexOf(d)==-1&&u.push(d)})})});let a=e[n.join(",")]=new VU(n.indexOf(t.length-1)>-1);for(let s=0;s<i.length;s++){let o=i[s][1].sort(rve);a.next.push({type:i[s][0],next:e[o.join(",")]||r(o)})}return a}}function _0t(t,e){for(let r=0,n=[t];r<n.length;r++){let i=n[r],a=!i.validEnd,s=[];for(let o=0;o<i.next.length;o++){let{type:l,next:u}=i.next[o];s.push(l.name),a&&!(l.isText||l.hasRequiredAttrs())&&(a=!1),n.indexOf(u)==-1&&n.push(u)}a&&e.err("Only non-generatable nodes ("+s.join(", ")+") in a required position (see https://prosemirror.net/docs/guide/#generatable)")}}function nve(t){let e=Object.create(null);for(let r in t){let n=t[r];if(!n.hasDefault)return null;e[r]=n.default}return e}function ive(t,e){let r=Object.create(null);for(let n in t){let i=e&&e[n];if(i===void 0){let a=t[n];if(a.hasDefault)i=a.default;else throw new RangeError("No value supplied for attribute "+n)}r[n]=i}return r}function ave(t,e,r,n){for(let i in e)if(!(i in t))throw new RangeError(`Unsupported attribute ${i} for ${r} of type ${n}`);for(let i in t)t[i].validate&&t[i].validate(e[i])}function sve(t,e){let r=Object.create(null);if(e)for(let n in e)r[n]=new $0t(t,n,e[n]);return r}let nce=class ove{constructor(e,r,n){this.name=e,this.schema=r,this.spec=n,this.markSet=null,this.groups=n.group?n.group.split(" "):[],this.attrs=sve(e,n.attrs),this.defaultAttrs=nve(this.attrs),this.contentMatch=null,this.inlineContent=null,this.isBlock=!(n.inline||e=="text"),this.isText=e=="text"}get isInline(){return!this.isBlock}get isTextblock(){return this.isBlock&&this.inlineContent}get isLeaf(){return this.contentMatch==VU.empty}get isAtom(){return this.isLeaf||!!this.spec.atom}isInGroup(e){return this.groups.indexOf(e)>-1}get whitespace(){return this.spec.whitespace||(this.spec.code?"pre":"normal")}hasRequiredAttrs(){for(let e in this.attrs)if(this.attrs[e].isRequired)return!0;return!1}compatibleContent(e){return this==e||this.contentMatch.compatible(e.contentMatch)}computeAttrs(e){return!e&&this.defaultAttrs?this.defaultAttrs:ive(this.attrs,e)}create(e=null,r,n){if(this.isText)throw new Error("NodeType.create can't construct text nodes");return new SU(this,this.computeAttrs(e),At.from(r),Ri.setFrom(n))}createChecked(e=null,r,n){return r=At.from(r),this.checkContent(r),new SU(this,this.computeAttrs(e),r,Ri.setFrom(n))}createAndFill(e=null,r,n){if(e=this.computeAttrs(e),r=At.from(r),r.size){let s=this.contentMatch.fillBefore(r);if(!s)return null;r=s.append(r)}let i=this.contentMatch.matchFragment(r),a=i&&i.fillBefore(At.empty,!0);return a?new SU(this,e,r.append(a),Ri.setFrom(n)):null}validContent(e){let r=this.contentMatch.matchFragment(e);if(!r||!r.validEnd)return!1;for(let n=0;n<e.childCount;n++)if(!this.allowsMarks(e.child(n).marks))return!1;return!0}checkContent(e){if(!this.validContent(e))throw new RangeError(`Invalid content for node ${this.name}: ${e.toString().slice(0,50)}`)}checkAttrs(e){ave(this.attrs,e,"node",this.name)}allowsMarkType(e){return this.markSet==null||this.markSet.indexOf(e)>-1}allowsMarks(e){if(this.markSet==null)return!0;for(let r=0;r<e.length;r++)if(!this.allowsMarkType(e[r].type))return!1;return!0}allowedMarks(e){if(this.markSet==null)return e;let r;for(let n=0;n<e.length;n++)this.allowsMarkType(e[n].type)?r&&r.push(e[n]):r||(r=e.slice(0,n));return r?r.length?r:Ri.none:e}static compile(e,r){let n=Object.create(null);e.forEach((a,s)=>n[a]=new ove(a,r,s));let i=r.spec.topNode||"doc";if(!n[i])throw new RangeError("Schema is missing its top node type ('"+i+"')");if(!n.text)throw new RangeError("Every schema needs a 'text' type");for(let a in n.text.attrs)throw new RangeError("The text node type should not have attributes");return n}};function B0t(t,e,r){let n=r.split("|");return i=>{let a=i===null?"null":typeof i;if(n.indexOf(a)<0)throw new RangeError(`Expected value of type ${n} for attribute ${e} on type ${t}, got ${a}`)}}class $0t{constructor(e,r,n){this.hasDefault=Object.prototype.hasOwnProperty.call(n,"default"),this.default=n.default,this.validate=typeof n.validate=="string"?B0t(e,r,n.validate):n.validate}get isRequired(){return!this.hasDefault}}class XO{constructor(e,r,n,i){this.name=e,this.rank=r,this.schema=n,this.spec=i,this.attrs=sve(e,i.attrs),this.excluded=null;let a=nve(this.attrs);this.instance=a?new Ri(this,a):null}create(e=null){return!e&&this.instance?this.instance:new Ri(this,ive(this.attrs,e))}static compile(e,r){let n=Object.create(null),i=0;return e.forEach((a,s)=>n[a]=new XO(a,i++,r,s)),n}removeFromSet(e){for(var r=0;r<e.length;r++)e[r].type==this&&(e=e.slice(0,r).concat(e.slice(r+1)),r--);return e}isInSet(e){for(let r=0;r<e.length;r++)if(e[r].type==this)return e[r]}checkAttrs(e){ave(this.attrs,e,"mark",this.name)}excludes(e){return this.excluded.indexOf(e)>-1}}class lve{constructor(e){this.linebreakReplacement=null,this.cached=Object.create(null);let r=this.spec={};for(let i in e)r[i]=e[i];r.nodes=Co.from(e.nodes),r.marks=Co.from(e.marks||{}),this.nodes=nce.compile(this.spec.nodes,this),this.marks=XO.compile(this.spec.marks,this);let n=Object.create(null);for(let i in this.nodes){if(i in this.marks)throw new RangeError(i+" can not be both a node and a mark");let a=this.nodes[i],s=a.spec.content||"",o=a.spec.marks;if(a.contentMatch=n[s]||(n[s]=VU.parse(s,this.nodes)),a.inlineContent=a.contentMatch.inlineContent,a.spec.linebreakReplacement){if(this.linebreakReplacement)throw new RangeError("Multiple linebreak nodes defined");if(!a.isInline||!a.isLeaf)throw new RangeError("Linebreak replacement nodes must be inline leaf nodes");this.linebreakReplacement=a}a.markSet=o=="_"?null:o?ice(this,o.split(" ")):o==""||!a.inlineContent?[]:null}for(let i in this.marks){let a=this.marks[i],s=a.spec.excludes;a.excluded=s==null?[a]:s==""?[]:ice(this,s.split(" "))}this.nodeFromJSON=i=>SU.fromJSON(this,i),this.markFromJSON=i=>Ri.fromJSON(this,i),this.topNodeType=this.nodes[this.spec.topNode||"doc"],this.cached.wrappings=Object.create(null)}node(e,r=null,n,i){if(typeof e=="string")e=this.nodeType(e);else if(e instanceof nce){if(e.schema!=this)throw new RangeError("Node type from different schema used ("+e.name+")")}else throw new RangeError("Invalid node type: "+e);return e.createChecked(r,n,i)}text(e,r){let n=this.nodes.text;return new A0t(n,n.defaultAttrs,e,Ri.setFrom(r))}mark(e,r){return typeof e=="string"&&(e=this.marks[e]),e.create(r)}nodeType(e){let r=this.nodes[e];if(!r)throw new RangeError("Unknown node type: "+e);return r}}function ice(t,e){let r=[];for(let n=0;n<e.length;n++){let i=e[n],a=t.marks[i],s=a;if(a)r.push(a);else for(let o in t.marks){let l=t.marks[o];(i=="_"||l.spec.group&&l.spec.group.split(" ").indexOf(i)>-1)&&r.push(s=l)}if(!s)throw new SyntaxError("Unknown mark type: '"+e[n]+"'")}return r}function F0t(t){return t.tag!=null}function z0t(t){return t.style!=null}let ab=class lG{constructor(e,r){this.schema=e,this.rules=r,this.tags=[],this.styles=[];let n=this.matchedStyles=[];r.forEach(i=>{if(F0t(i))this.tags.push(i);else if(z0t(i)){let a=/[^=]*/.exec(i.style)[0];n.indexOf(a)<0&&n.push(a),this.styles.push(i)}}),this.normalizeLists=!this.tags.some(i=>{if(!/^(ul|ol)\b/.test(i.tag)||!i.node)return!1;let a=e.nodes[i.node];return a.contentMatch.matchType(a)})}parse(e,r={}){let n=new sce(this,r,!1);return n.addAll(e,Ri.none,r.from,r.to),n.finish()}parseSlice(e,r={}){let n=new sce(this,r,!0);return n.addAll(e,Ri.none,r.from,r.to),tr.maxOpen(n.finish())}matchTag(e,r,n){for(let i=n?this.tags.indexOf(n)+1:0;i<this.tags.length;i++){let a=this.tags[i];if(G0t(e,a.tag)&&(a.namespace===void 0||e.namespaceURI==a.namespace)&&(!a.context||r.matchesContext(a.context))){if(a.getAttrs){let s=a.getAttrs(e);if(s===!1)continue;a.attrs=s||void 0}return a}}}matchStyle(e,r,n,i){for(let a=i?this.styles.indexOf(i)+1:0;a<this.styles.length;a++){let s=this.styles[a],o=s.style;if(!(o.indexOf(e)!=0||s.context&&!n.matchesContext(s.context)||o.length>e.length&&(o.charCodeAt(e.length)!=61||o.slice(e.length+1)!=r))){if(s.getAttrs){let l=s.getAttrs(r);if(l===!1)continue;s.attrs=l||void 0}return s}}}static schemaRules(e){let r=[];function n(i){let a=i.priority==null?50:i.priority,s=0;for(;s<r.length;s++){let o=r[s];if((o.priority==null?50:o.priority)<a)break}r.splice(s,0,i)}for(let i in e.marks){let a=e.marks[i].spec.parseDOM;a&&a.forEach(s=>{n(s=oce(s)),s.mark||s.ignore||s.clearMark||(s.mark=i)})}for(let i in e.nodes){let a=e.nodes[i].spec.parseDOM;a&&a.forEach(s=>{n(s=oce(s)),s.node||s.ignore||s.mark||(s.node=i)})}return r}static fromSchema(e){return e.cached.domParser||(e.cached.domParser=new lG(e,lG.schemaRules(e)))}};const cve={address:!0,article:!0,aside:!0,blockquote:!0,body:!0,canvas:!0,dd:!0,div:!0,dl:!0,fieldset:!0,figcaption:!0,figure:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,li:!0,noscript:!0,ol:!0,output:!0,p:!0,pre:!0,section:!0,table:!0,tfoot:!0,ul:!0},H0t={head:!0,noscript:!0,object:!0,script:!0,style:!0,title:!0},uve={ol:!0,ul:!0},eT=1,cG=2,Dx=4;function ace(t,e,r){return e!=null?(e?eT:0)|(e==="full"?cG:0):t&&t.whitespace=="pre"?eT|cG:r&~Dx}class Ck{constructor(e,r,n,i,a,s){this.type=e,this.attrs=r,this.marks=n,this.solid=i,this.options=s,this.content=[],this.activeMarks=Ri.none,this.match=a||(s&Dx?null:e.contentMatch)}findWrapping(e){if(!this.match){if(!this.type)return[];let r=this.type.contentMatch.fillBefore(At.from(e));if(r)this.match=this.type.contentMatch.matchFragment(r);else{let n=this.type.contentMatch,i;return(i=n.findWrapping(e.type))?(this.match=n,i):null}}return this.match.findWrapping(e.type)}finish(e){if(!(this.options&eT)){let n=this.content[this.content.length-1],i;if(n&&n.isText&&(i=/[ \t\r\n\u000c]+$/.exec(n.text))){let a=n;n.text.length==i[0].length?this.content.pop():this.content[this.content.length-1]=a.withText(a.text.slice(0,a.text.length-i[0].length))}}let r=At.from(this.content);return!e&&this.match&&(r=r.append(this.match.fillBefore(At.empty,!0))),this.type?this.type.create(this.attrs,r,this.marks):r}inlineContext(e){return this.type?this.type.inlineContent:this.content.length?this.content[0].isInline:e.parentNode&&!cve.hasOwnProperty(e.parentNode.nodeName.toLowerCase())}}class sce{constructor(e,r,n){this.parser=e,this.options=r,this.isOpen=n,this.open=0,this.localPreserveWS=!1;let i=r.topNode,a,s=ace(null,r.preserveWhitespace,0)|(n?Dx:0);i?a=new Ck(i.type,i.attrs,Ri.none,!0,r.topMatch||i.type.contentMatch,s):n?a=new Ck(null,null,Ri.none,!0,null,s):a=new Ck(e.schema.topNodeType,null,Ri.none,!0,null,s),this.nodes=[a],this.find=r.findPositions,this.needsBlock=!1}get top(){return this.nodes[this.open]}addDOM(e,r){e.nodeType==3?this.addTextNode(e,r):e.nodeType==1&&this.addElement(e,r)}addTextNode(e,r){let n=e.nodeValue,i=this.top,a=i.options&cG?"full":this.localPreserveWS||(i.options&eT)>0,{schema:s}=this.parser;if(a==="full"||i.inlineContext(e)||/[^ \t\r\n\u000c]/.test(n)){if(a)if(a==="full")n=n.replace(/\r\n?/g,`
`);else if(s.linebreakReplacement&&/[\r\n]/.test(n)&&this.top.findWrapping(s.linebreakReplacement.create())){let o=n.split(/\r?\n|\r/);for(let l=0;l<o.length;l++)l&&this.insertNode(s.linebreakReplacement.create(),r,!0),o[l]&&this.insertNode(s.text(o[l]),r,!/\S/.test(o[l]));n=""}else n=n.replace(/\r?\n|\r/g," ");else if(n=n.replace(/[ \t\r\n\u000c]+/g," "),/^[ \t\r\n\u000c]/.test(n)&&this.open==this.nodes.length-1){let o=i.content[i.content.length-1],l=e.previousSibling;(!o||l&&l.nodeName=="BR"||o.isText&&/[ \t\r\n\u000c]$/.test(o.text))&&(n=n.slice(1))}n&&this.insertNode(s.text(n),r,!/\S/.test(n)),this.findInText(e)}else this.findInside(e)}addElement(e,r,n){let i=this.localPreserveWS,a=this.top;(e.tagName=="PRE"||/pre/.test(e.style&&e.style.whiteSpace))&&(this.localPreserveWS=!0);let s=e.nodeName.toLowerCase(),o;uve.hasOwnProperty(s)&&this.parser.normalizeLists&&V0t(e);let l=this.options.ruleFromNode&&this.options.ruleFromNode(e)||(o=this.parser.matchTag(e,this,n));e:if(l?l.ignore:H0t.hasOwnProperty(s))this.findInside(e),this.ignoreFallback(e,r);else if(!l||l.skip||l.closeParent){l&&l.closeParent?this.open=Math.max(0,this.open-1):l&&l.skip.nodeType&&(e=l.skip);let u,d=this.needsBlock;if(cve.hasOwnProperty(s))a.content.length&&a.content[0].isInline&&this.open&&(this.open--,a=this.top),u=!0,a.type||(this.needsBlock=!0);else if(!e.firstChild){this.leafFallback(e,r);break e}let h=l&&l.skip?r:this.readStyles(e,r);h&&this.addAll(e,h),u&&this.sync(a),this.needsBlock=d}else{let u=this.readStyles(e,r);u&&this.addElementByRule(e,l,u,l.consuming===!1?o:void 0)}this.localPreserveWS=i}leafFallback(e,r){e.nodeName=="BR"&&this.top.type&&this.top.type.inlineContent&&this.addTextNode(e.ownerDocument.createTextNode(`
`),r)}ignoreFallback(e,r){e.nodeName=="BR"&&(!this.top.type||!this.top.type.inlineContent)&&this.findPlace(this.parser.schema.text("-"),r,!0)}readStyles(e,r){let n=e.style;if(n&&n.length)for(let i=0;i<this.parser.matchedStyles.length;i++){let a=this.parser.matchedStyles[i],s=n.getPropertyValue(a);if(s)for(let o=void 0;;){let l=this.parser.matchStyle(a,s,this,o);if(!l)break;if(l.ignore)return null;if(l.clearMark?r=r.filter(u=>!l.clearMark(u)):r=r.concat(this.parser.schema.marks[l.mark].create(l.attrs)),l.consuming===!1)o=l;else break}}return r}addElementByRule(e,r,n,i){let a,s;if(r.node)if(s=this.parser.schema.nodes[r.node],s.isLeaf)this.insertNode(s.create(r.attrs),n,e.nodeName=="BR")||this.leafFallback(e,n);else{let l=this.enter(s,r.attrs||null,n,r.preserveWhitespace);l&&(a=!0,n=l)}else{let l=this.parser.schema.marks[r.mark];n=n.concat(l.create(r.attrs))}let o=this.top;if(s&&s.isLeaf)this.findInside(e);else if(i)this.addElement(e,n,i);else if(r.getContent)this.findInside(e),r.getContent(e,this.parser.schema).forEach(l=>this.insertNode(l,n,!1));else{let l=e;typeof r.contentElement=="string"?l=e.querySelector(r.contentElement):typeof r.contentElement=="function"?l=r.contentElement(e):r.contentElement&&(l=r.contentElement),this.findAround(e,l,!0),this.addAll(l,n),this.findAround(e,l,!1)}a&&this.sync(o)&&this.open--}addAll(e,r,n,i){let a=n||0;for(let s=n?e.childNodes[n]:e.firstChild,o=i==null?null:e.childNodes[i];s!=o;s=s.nextSibling,++a)this.findAtPoint(e,a),this.addDOM(s,r);this.findAtPoint(e,a)}findPlace(e,r,n){let i,a;for(let s=this.open,o=0;s>=0;s--){let l=this.nodes[s],u=l.findWrapping(e);if(u&&(!i||i.length>u.length+o)&&(i=u,a=l,!u.length))break;if(l.solid){if(n)break;o+=2}}if(!i)return null;this.sync(a);for(let s=0;s<i.length;s++)r=this.enterInner(i[s],null,r,!1);return r}insertNode(e,r,n){if(e.isInline&&this.needsBlock&&!this.top.type){let a=this.textblockFromContext();a&&(r=this.enterInner(a,null,r))}let i=this.findPlace(e,r,n);if(i){this.closeExtra();let a=this.top;a.match&&(a.match=a.match.matchType(e.type));let s=Ri.none;for(let o of i.concat(e.marks))(a.type?a.type.allowsMarkType(o.type):lce(o.type,e.type))&&(s=o.addToSet(s));return a.content.push(e.mark(s)),!0}return!1}enter(e,r,n,i){let a=this.findPlace(e.create(r),n,!1);return a&&(a=this.enterInner(e,r,n,!0,i)),a}enterInner(e,r,n,i=!1,a){this.closeExtra();let s=this.top;s.match=s.match&&s.match.matchType(e);let o=ace(e,a,s.options);s.options&Dx&&s.content.length==0&&(o|=Dx);let l=Ri.none;return n=n.filter(u=>(s.type?s.type.allowsMarkType(u.type):lce(u.type,e))?(l=u.addToSet(l),!1):!0),this.nodes.push(new Ck(e,r,l,i,null,o)),this.open++,n}closeExtra(e=!1){let r=this.nodes.length-1;if(r>this.open){for(;r>this.open;r--)this.nodes[r-1].content.push(this.nodes[r].finish(e));this.nodes.length=this.open+1}}finish(){return this.open=0,this.closeExtra(this.isOpen),this.nodes[0].finish(!!(this.isOpen||this.options.topOpen))}sync(e){for(let r=this.open;r>=0;r--){if(this.nodes[r]==e)return this.open=r,!0;this.localPreserveWS&&(this.nodes[r].options|=eT)}return!1}get currentPos(){this.closeExtra();let e=0;for(let r=this.open;r>=0;r--){let n=this.nodes[r].content;for(let i=n.length-1;i>=0;i--)e+=n[i].nodeSize;r&&e++}return e}findAtPoint(e,r){if(this.find)for(let n=0;n<this.find.length;n++)this.find[n].node==e&&this.find[n].offset==r&&(this.find[n].pos=this.currentPos)}findInside(e){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].pos==null&&e.nodeType==1&&e.contains(this.find[r].node)&&(this.find[r].pos=this.currentPos)}findAround(e,r,n){if(e!=r&&this.find)for(let i=0;i<this.find.length;i++)this.find[i].pos==null&&e.nodeType==1&&e.contains(this.find[i].node)&&r.compareDocumentPosition(this.find[i].node)&(n?2:4)&&(this.find[i].pos=this.currentPos)}findInText(e){if(this.find)for(let r=0;r<this.find.length;r++)this.find[r].node==e&&(this.find[r].pos=this.currentPos-(e.nodeValue.length-this.find[r].offset))}matchesContext(e){if(e.indexOf("|")>-1)return e.split(/\s*\|\s*/).some(this.matchesContext,this);let r=e.split("/"),n=this.options.context,i=!this.isOpen&&(!n||n.parent.type==this.nodes[0].type),a=-(n?n.depth+1:0)+(i?0:1),s=(o,l)=>{for(;o>=0;o--){let u=r[o];if(u==""){if(o==r.length-1||o==0)continue;for(;l>=a;l--)if(s(o-1,l))return!0;return!1}else{let d=l>0||l==0&&i?this.nodes[l].type:n&&l>=a?n.node(l-a).type:null;if(!d||d.name!=u&&!d.isInGroup(u))return!1;l--}}return!0};return s(r.length-1,this.open)}textblockFromContext(){let e=this.options.context;if(e)for(let r=e.depth;r>=0;r--){let n=e.node(r).contentMatchAt(e.indexAfter(r)).defaultType;if(n&&n.isTextblock&&n.defaultAttrs)return n}for(let r in this.parser.schema.nodes){let n=this.parser.schema.nodes[r];if(n.isTextblock&&n.defaultAttrs)return n}}}function V0t(t){for(let e=t.firstChild,r=null;e;e=e.nextSibling){let n=e.nodeType==1?e.nodeName.toLowerCase():null;n&&uve.hasOwnProperty(n)&&r?(r.appendChild(e),e=r):n=="li"?r=e:n&&(r=null)}}function G0t(t,e){return(t.matches||t.msMatchesSelector||t.webkitMatchesSelector||t.mozMatchesSelector).call(t,e)}function oce(t){let e={};for(let r in t)e[r]=t[r];return e}function lce(t,e){let r=e.schema.nodes;for(let n in r){let i=r[n];if(!i.allowsMarkType(t))continue;let a=[],s=o=>{a.push(o);for(let l=0;l<o.edgeCount;l++){let{type:u,next:d}=o.edge(l);if(u==e||a.indexOf(d)<0&&s(d))return!0}};if(s(i.contentMatch))return!0}}class w5{constructor(e,r){this.nodes=e,this.marks=r}serializeFragment(e,r={},n){n||(n=Sk(r).createDocumentFragment());let i=n,a=[];return e.forEach(s=>{if(a.length||s.marks.length){let o=0,l=0;for(;o<a.length&&l<s.marks.length;){let u=s.marks[l];if(!this.marks[u.type.name]){l++;continue}if(!u.eq(a[o][0])||u.type.spec.spanning===!1)break;o++,l++}for(;o<a.length;)i=a.pop()[1];for(;l<s.marks.length;){let u=s.marks[l++],d=this.serializeMark(u,s.isInline,r);d&&(a.push([u,i]),i.appendChild(d.dom),i=d.contentDOM||d.dom)}}i.appendChild(this.serializeNodeInner(s,r))}),n}serializeNodeInner(e,r){if(e.isText)return Sk(r).createTextNode(e.text);let{dom:n,contentDOM:i}=EA(Sk(r),this.nodes[e.type.name](e),null,e.attrs);if(i){if(e.isLeaf)throw new RangeError("Content hole not allowed in a leaf node spec");this.serializeFragment(e.content,r,i)}return n}serializeNode(e,r={}){let n=this.serializeNodeInner(e,r);for(let i=e.marks.length-1;i>=0;i--){let a=this.serializeMark(e.marks[i],e.isInline,r);a&&((a.contentDOM||a.dom).appendChild(n),n=a.dom)}return n}serializeMark(e,r,n={}){let i=this.marks[e.type.name];return i&&EA(Sk(n),i(e,r),null,e.attrs)}static renderSpec(e,r,n=null,i){return typeof r=="string"?{dom:e.createTextNode(r)}:EA(e,r,n,i)}static fromSchema(e){return e.cached.domSerializer||(e.cached.domSerializer=new w5(this.nodesFromSchema(e),this.marksFromSchema(e)))}static nodesFromSchema(e){let r=cce(e.nodes);return r.text||(r.text=n=>n.text),r}static marksFromSchema(e){return cce(e.marks)}}function cce(t){let e={};for(let r in t){let n=t[r].spec.toDOM;n&&(e[r]=n)}return e}function Sk(t){return t.document||window.document}const uce=new WeakMap;function W0t(t){let e=uce.get(t);return e===void 0&&uce.set(t,e=q0t(t)),e}function q0t(t){let e=null;function r(n){if(n&&typeof n=="object")if(Array.isArray(n))if(typeof n[0]=="string")e||(e=[]),e.push(n);else for(let i=0;i<n.length;i++)r(n[i]);else for(let i in n)r(n[i])}return r(t),e}function EA(t,e,r,n){if(e.nodeType==1)return{dom:e};if(e.dom&&e.dom.nodeType==1)return e;let i=e[0],a;if(typeof i!="string")throw new RangeError("Invalid array passed to renderSpec");if(n&&(a=W0t(n))&&a.indexOf(e)>-1)throw new RangeError("Using an array from an attribute object as a DOM spec. This may be an attempted cross site scripting attack.");let s=i.indexOf(" ");s>0&&(r=i.slice(0,s),i=i.slice(s+1));let o,l=r?t.createElementNS(r,i):t.createElement(i),u=e[1],d=1;if(u&&typeof u=="object"&&u.nodeType==null&&!Array.isArray(u)){d=2;for(let h in u)if(u[h]!=null){let f=h.indexOf(" ");f>0?l.setAttributeNS(h.slice(0,f),h.slice(f+1),u[h]):h=="style"&&l.style?l.style.cssText=u[h]:l.setAttribute(h,u[h])}}for(let h=d;h<e.length;h++){let f=e[h];if(f===0){if(h<e.length-1||h>d)throw new RangeError("Content hole must be the only child of its parent node");return{dom:l,contentDOM:l}}else if(typeof f=="string")l.appendChild(t.createTextNode(f));else{let{dom:p,contentDOM:g}=EA(t,f,r,n);if(l.appendChild(p),g){if(o)throw new RangeError("Multiple content holes");o=g}}}return{dom:l,contentDOM:o}}const dve=65535,hve=Math.pow(2,16);function j0t(t,e){return t+e*hve}function dce(t){return t&dve}function Y0t(t){return(t-(t&dve))/hve}const fve=1,pve=2,AA=4,gve=8;class uG{constructor(e,r,n){this.pos=e,this.delInfo=r,this.recover=n}get deleted(){return(this.delInfo&gve)>0}get deletedBefore(){return(this.delInfo&(fve|AA))>0}get deletedAfter(){return(this.delInfo&(pve|AA))>0}get deletedAcross(){return(this.delInfo&AA)>0}}class Hc{constructor(e,r=!1){if(this.ranges=e,this.inverted=r,!e.length&&Hc.empty)return Hc.empty}recover(e){let r=0,n=dce(e);if(!this.inverted)for(let i=0;i<n;i++)r+=this.ranges[i*3+2]-this.ranges[i*3+1];return this.ranges[n*3]+r+Y0t(e)}mapResult(e,r=1){return this._map(e,r,!1)}map(e,r=1){return this._map(e,r,!0)}_map(e,r,n){let i=0,a=this.inverted?2:1,s=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let l=this.ranges[o]-(this.inverted?i:0);if(l>e)break;let u=this.ranges[o+a],d=this.ranges[o+s],h=l+u;if(e<=h){let f=u?e==l?-1:e==h?1:r:r,p=l+i+(f<0?0:d);if(n)return p;let g=e==(r<0?l:h)?null:j0t(o/3,e-l),m=0;return u&&(m|=e==l?pve:e==h?fve:AA,(r<0?e!=l:e!=h)&&(m|=gve)),new uG(p,m,g)}i+=d-u}return n?e+i:new uG(e+i,0,null)}touches(e,r){let n=0,i=dce(r),a=this.inverted?2:1,s=this.inverted?1:2;for(let o=0;o<this.ranges.length;o+=3){let l=this.ranges[o]-(this.inverted?n:0);if(l>e)break;let u=this.ranges[o+a],d=l+u;if(e<=d&&o==i*3)return!0;n+=this.ranges[o+s]-u}return!1}forEach(e){let r=this.inverted?2:1,n=this.inverted?1:2;for(let i=0,a=0;i<this.ranges.length;i+=3){let s=this.ranges[i],o=s-(this.inverted?a:0),l=s+(this.inverted?0:a),u=this.ranges[i+r],d=this.ranges[i+n];e(o,o+u,l,l+d),a+=d-u}}invert(){return new Hc(this.ranges,!this.inverted)}toString(){return(this.inverted?"-":"")+JSON.stringify(this.ranges)}static offset(e){return e==0?Hc.empty:new Hc(e<0?[0,-e,0]:[0,0,e])}}Hc.empty=new Hc([]);class tT{constructor(e,r,n=0,i=e?e.length:0){this.mirror=r,this.from=n,this.to=i,this._maps=e||[],this.ownData=!(e||r)}get maps(){return this._maps}slice(e=0,r=this.maps.length){return new tT(this._maps,this.mirror,e,r)}appendMap(e,r){this.ownData||(this._maps=this._maps.slice(),this.mirror=this.mirror&&this.mirror.slice(),this.ownData=!0),this.to=this._maps.push(e),r!=null&&this.setMirror(this._maps.length-1,r)}appendMapping(e){for(let r=0,n=this._maps.length;r<e._maps.length;r++){let i=e.getMirror(r);this.appendMap(e._maps[r],i!=null&&i<r?n+i:void 0)}}getMirror(e){if(this.mirror){for(let r=0;r<this.mirror.length;r++)if(this.mirror[r]==e)return this.mirror[r+(r%2?-1:1)]}}setMirror(e,r){this.mirror||(this.mirror=[]),this.mirror.push(e,r)}appendMappingInverted(e){for(let r=e.maps.length-1,n=this._maps.length+e._maps.length;r>=0;r--){let i=e.getMirror(r);this.appendMap(e._maps[r].invert(),i!=null&&i>r?n-i-1:void 0)}}invert(){let e=new tT;return e.appendMappingInverted(this),e}map(e,r=1){if(this.mirror)return this._map(e,r,!0);for(let n=this.from;n<this.to;n++)e=this._maps[n].map(e,r);return e}mapResult(e,r=1){return this._map(e,r,!1)}_map(e,r,n){let i=0;for(let a=this.from;a<this.to;a++){let s=this._maps[a],o=s.mapResult(e,r);if(o.recover!=null){let l=this.getMirror(a);if(l!=null&&l>a&&l<this.to){a=l,e=this._maps[l].recover(o.recover);continue}}i|=o.delInfo,e=o.pos}return n?e:new uG(e,i,null)}}const QB=Object.create(null);let al=class{getMap(){return Hc.empty}merge(e){return null}static fromJSON(e,r){if(!r||!r.stepType)throw new RangeError("Invalid input for Step.fromJSON");let n=QB[r.stepType];if(!n)throw new RangeError(`No step type ${r.stepType} defined`);return n.fromJSON(e,r)}static jsonID(e,r){if(e in QB)throw new RangeError("Duplicate use of step JSON ID "+e);return QB[e]=r,r.prototype.jsonID=e,r}};class ds{constructor(e,r){this.doc=e,this.failed=r}static ok(e){return new ds(e,null)}static fail(e){return new ds(null,e)}static fromReplace(e,r,n,i){try{return ds.ok(e.replace(r,n,i))}catch(a){if(a instanceof Jw)return ds.fail(a.message);throw a}}}function hJ(t,e,r){let n=[];for(let i=0;i<t.childCount;i++){let a=t.child(i);a.content.size&&(a=a.copy(hJ(a.content,e,a))),a.isInline&&(a=e(a,r,i)),n.push(a)}return At.fromArray(n)}class og extends al{constructor(e,r,n){super(),this.from=e,this.to=r,this.mark=n}apply(e){let r=e.slice(this.from,this.to),n=e.resolve(this.from),i=n.node(n.sharedDepth(this.to)),a=new tr(hJ(r.content,(s,o)=>!s.isAtom||!o.type.allowsMarkType(this.mark.type)?s:s.mark(this.mark.addToSet(s.marks)),i),r.openStart,r.openEnd);return ds.fromReplace(e,this.from,this.to,a)}invert(){return new bd(this.from,this.to,this.mark)}map(e){let r=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return r.deleted&&n.deleted||r.pos>=n.pos?null:new og(r.pos,n.pos,this.mark)}merge(e){return e instanceof og&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new og(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"addMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,r){if(typeof r.from!="number"||typeof r.to!="number")throw new RangeError("Invalid input for AddMarkStep.fromJSON");return new og(r.from,r.to,e.markFromJSON(r.mark))}}al.jsonID("addMark",og);class bd extends al{constructor(e,r,n){super(),this.from=e,this.to=r,this.mark=n}apply(e){let r=e.slice(this.from,this.to),n=new tr(hJ(r.content,i=>i.mark(this.mark.removeFromSet(i.marks)),e),r.openStart,r.openEnd);return ds.fromReplace(e,this.from,this.to,n)}invert(){return new og(this.from,this.to,this.mark)}map(e){let r=e.mapResult(this.from,1),n=e.mapResult(this.to,-1);return r.deleted&&n.deleted||r.pos>=n.pos?null:new bd(r.pos,n.pos,this.mark)}merge(e){return e instanceof bd&&e.mark.eq(this.mark)&&this.from<=e.to&&this.to>=e.from?new bd(Math.min(this.from,e.from),Math.max(this.to,e.to),this.mark):null}toJSON(){return{stepType:"removeMark",mark:this.mark.toJSON(),from:this.from,to:this.to}}static fromJSON(e,r){if(typeof r.from!="number"||typeof r.to!="number")throw new RangeError("Invalid input for RemoveMarkStep.fromJSON");return new bd(r.from,r.to,e.markFromJSON(r.mark))}}al.jsonID("removeMark",bd);class lg extends al{constructor(e,r){super(),this.pos=e,this.mark=r}apply(e){let r=e.nodeAt(this.pos);if(!r)return ds.fail("No node at mark step's position");let n=r.type.create(r.attrs,null,this.mark.addToSet(r.marks));return ds.fromReplace(e,this.pos,this.pos+1,new tr(At.from(n),0,r.isLeaf?0:1))}invert(e){let r=e.nodeAt(this.pos);if(r){let n=this.mark.addToSet(r.marks);if(n.length==r.marks.length){for(let i=0;i<r.marks.length;i++)if(!r.marks[i].isInSet(n))return new lg(this.pos,r.marks[i]);return new lg(this.pos,this.mark)}}return new GU(this.pos,this.mark)}map(e){let r=e.mapResult(this.pos,1);return r.deletedAfter?null:new lg(r.pos,this.mark)}toJSON(){return{stepType:"addNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,r){if(typeof r.pos!="number")throw new RangeError("Invalid input for AddNodeMarkStep.fromJSON");return new lg(r.pos,e.markFromJSON(r.mark))}}al.jsonID("addNodeMark",lg);class GU extends al{constructor(e,r){super(),this.pos=e,this.mark=r}apply(e){let r=e.nodeAt(this.pos);if(!r)return ds.fail("No node at mark step's position");let n=r.type.create(r.attrs,null,this.mark.removeFromSet(r.marks));return ds.fromReplace(e,this.pos,this.pos+1,new tr(At.from(n),0,r.isLeaf?0:1))}invert(e){let r=e.nodeAt(this.pos);return!r||!this.mark.isInSet(r.marks)?this:new lg(this.pos,this.mark)}map(e){let r=e.mapResult(this.pos,1);return r.deletedAfter?null:new GU(r.pos,this.mark)}toJSON(){return{stepType:"removeNodeMark",pos:this.pos,mark:this.mark.toJSON()}}static fromJSON(e,r){if(typeof r.pos!="number")throw new RangeError("Invalid input for RemoveNodeMarkStep.fromJSON");return new GU(r.pos,e.markFromJSON(r.mark))}}al.jsonID("removeNodeMark",GU);class va extends al{constructor(e,r,n,i=!1){super(),this.from=e,this.to=r,this.slice=n,this.structure=i}apply(e){return this.structure&&dG(e,this.from,this.to)?ds.fail("Structure replace would overwrite content"):ds.fromReplace(e,this.from,this.to,this.slice)}getMap(){return new Hc([this.from,this.to-this.from,this.slice.size])}invert(e){return new va(this.from,this.from+this.slice.size,e.slice(this.from,this.to))}map(e){let r=e.mapResult(this.to,-1),n=this.from==this.to&&va.MAP_BIAS<0?r:e.mapResult(this.from,1);return n.deletedAcross&&r.deletedAcross?null:new va(n.pos,Math.max(n.pos,r.pos),this.slice,this.structure)}merge(e){if(!(e instanceof va)||e.structure||this.structure)return null;if(this.from+this.slice.size==e.from&&!this.slice.openEnd&&!e.slice.openStart){let r=this.slice.size+e.slice.size==0?tr.empty:new tr(this.slice.content.append(e.slice.content),this.slice.openStart,e.slice.openEnd);return new va(this.from,this.to+(e.to-e.from),r,this.structure)}else if(e.to==this.from&&!this.slice.openStart&&!e.slice.openEnd){let r=this.slice.size+e.slice.size==0?tr.empty:new tr(e.slice.content.append(this.slice.content),e.slice.openStart,this.slice.openEnd);return new va(e.from,this.to,r,this.structure)}else return null}toJSON(){let e={stepType:"replace",from:this.from,to:this.to};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,r){if(typeof r.from!="number"||typeof r.to!="number")throw new RangeError("Invalid input for ReplaceStep.fromJSON");return new va(r.from,r.to,tr.fromJSON(e,r.slice),!!r.structure)}}va.MAP_BIAS=1;al.jsonID("replace",va);class eo extends al{constructor(e,r,n,i,a,s,o=!1){super(),this.from=e,this.to=r,this.gapFrom=n,this.gapTo=i,this.slice=a,this.insert=s,this.structure=o}apply(e){if(this.structure&&(dG(e,this.from,this.gapFrom)||dG(e,this.gapTo,this.to)))return ds.fail("Structure gap-replace would overwrite content");let r=e.slice(this.gapFrom,this.gapTo);if(r.openStart||r.openEnd)return ds.fail("Gap is not a flat range");let n=this.slice.insertAt(this.insert,r.content);return n?ds.fromReplace(e,this.from,this.to,n):ds.fail("Content does not fit in gap")}getMap(){return new Hc([this.from,this.gapFrom-this.from,this.insert,this.gapTo,this.to-this.gapTo,this.slice.size-this.insert])}invert(e){let r=this.gapTo-this.gapFrom;return new eo(this.from,this.from+this.slice.size+r,this.from+this.insert,this.from+this.insert+r,e.slice(this.from,this.to).removeBetween(this.gapFrom-this.from,this.gapTo-this.from),this.gapFrom-this.from,this.structure)}map(e){let r=e.mapResult(this.from,1),n=e.mapResult(this.to,-1),i=this.from==this.gapFrom?r.pos:e.map(this.gapFrom,-1),a=this.to==this.gapTo?n.pos:e.map(this.gapTo,1);return r.deletedAcross&&n.deletedAcross||i<r.pos||a>n.pos?null:new eo(r.pos,n.pos,i,a,this.slice,this.insert,this.structure)}toJSON(){let e={stepType:"replaceAround",from:this.from,to:this.to,gapFrom:this.gapFrom,gapTo:this.gapTo,insert:this.insert};return this.slice.size&&(e.slice=this.slice.toJSON()),this.structure&&(e.structure=!0),e}static fromJSON(e,r){if(typeof r.from!="number"||typeof r.to!="number"||typeof r.gapFrom!="number"||typeof r.gapTo!="number"||typeof r.insert!="number")throw new RangeError("Invalid input for ReplaceAroundStep.fromJSON");return new eo(r.from,r.to,r.gapFrom,r.gapTo,tr.fromJSON(e,r.slice),r.insert,!!r.structure)}}al.jsonID("replaceAround",eo);function dG(t,e,r){let n=t.resolve(e),i=r-e,a=n.depth;for(;i>0&&a>0&&n.indexAfter(a)==n.node(a).childCount;)a--,i--;if(i>0){let s=n.node(a).maybeChild(n.indexAfter(a));for(;i>0;){if(!s||s.isLeaf)return!0;s=s.firstChild,i--}}return!1}function X0t(t,e,r,n){let i=[],a=[],s,o;t.doc.nodesBetween(e,r,(l,u,d)=>{if(!l.isInline)return;let h=l.marks;if(!n.isInSet(h)&&d.type.allowsMarkType(n.type)){let f=Math.max(u,e),p=Math.min(u+l.nodeSize,r),g=n.addToSet(h);for(let m=0;m<h.length;m++)h[m].isInSet(g)||(s&&s.to==f&&s.mark.eq(h[m])?s.to=p:i.push(s=new bd(f,p,h[m])));o&&o.to==f?o.to=p:a.push(o=new og(f,p,n))}}),i.forEach(l=>t.step(l)),a.forEach(l=>t.step(l))}function K0t(t,e,r,n){let i=[],a=0;t.doc.nodesBetween(e,r,(s,o)=>{if(!s.isInline)return;a++;let l=null;if(n instanceof XO){let u=s.marks,d;for(;d=n.isInSet(u);)(l||(l=[])).push(d),u=d.removeFromSet(u)}else n?n.isInSet(s.marks)&&(l=[n]):l=s.marks;if(l&&l.length){let u=Math.min(o+s.nodeSize,r);for(let d=0;d<l.length;d++){let h=l[d],f;for(let p=0;p<i.length;p++){let g=i[p];g.step==a-1&&h.eq(i[p].style)&&(f=g)}f?(f.to=u,f.step=a):i.push({style:h,from:Math.max(o,e),to:u,step:a})}}}),i.forEach(s=>t.step(new bd(s.from,s.to,s.style)))}function fJ(t,e,r,n=r.contentMatch,i=!0){let a=t.doc.nodeAt(e),s=[],o=e+1;for(let l=0;l<a.childCount;l++){let u=a.child(l),d=o+u.nodeSize,h=n.matchType(u.type);if(!h)s.push(new va(o,d,tr.empty));else{n=h;for(let f=0;f<u.marks.length;f++)r.allowsMarkType(u.marks[f].type)||t.step(new bd(o,d,u.marks[f]));if(i&&u.isText&&r.whitespace!="pre"){let f,p=/\r?\n|\r/g,g;for(;f=p.exec(u.text);)g||(g=new tr(At.from(r.schema.text(" ",r.allowedMarks(u.marks))),0,0)),s.push(new va(o+f.index,o+f.index+f[0].length,g))}}o=d}if(!n.validEnd){let l=n.fillBefore(At.empty,!0);t.replace(o,o,new tr(l,0,0))}for(let l=s.length-1;l>=0;l--)t.step(s[l])}function Z0t(t,e,r){return(e==0||t.canReplace(e,t.childCount))&&(r==t.childCount||t.canReplace(0,r))}function W4(t){let r=t.parent.content.cutByIndex(t.startIndex,t.endIndex);for(let n=t.depth,i=0,a=0;;--n){let s=t.$from.node(n),o=t.$from.index(n)+i,l=t.$to.indexAfter(n)-a;if(n<t.depth&&s.canReplace(o,l,r))return n;if(n==0||s.type.spec.isolating||!Z0t(s,o,l))break;o&&(i=1),l<s.childCount&&(a=1)}return null}function J0t(t,e,r){let{$from:n,$to:i,depth:a}=e,s=n.before(a+1),o=i.after(a+1),l=s,u=o,d=At.empty,h=0;for(let g=a,m=!1;g>r;g--)m||n.index(g)>0?(m=!0,d=At.from(n.node(g).copy(d)),h++):l--;let f=At.empty,p=0;for(let g=a,m=!1;g>r;g--)m||i.after(g+1)<i.end(g)?(m=!0,f=At.from(i.node(g).copy(f)),p++):u++;t.step(new eo(l,u,s,o,new tr(d.append(f),h,p),d.size-h,!0))}function pJ(t,e,r=null,n=t){let i=Q0t(t,e),a=i&&ept(n,e);return a?i.map(hce).concat({type:e,attrs:r}).concat(a.map(hce)):null}function hce(t){return{type:t,attrs:null}}function Q0t(t,e){let{parent:r,startIndex:n,endIndex:i}=t,a=r.contentMatchAt(n).findWrapping(e);if(!a)return null;let s=a.length?a[0]:e;return r.canReplaceWith(n,i,s)?a:null}function ept(t,e){let{parent:r,startIndex:n,endIndex:i}=t,a=r.child(n),s=e.contentMatch.findWrapping(a.type);if(!s)return null;let l=(s.length?s[s.length-1]:e).contentMatch;for(let u=n;l&&u<i;u++)l=l.matchType(r.child(u).type);return!l||!l.validEnd?null:s}function tpt(t,e,r){let n=At.empty;for(let s=r.length-1;s>=0;s--){if(n.size){let o=r[s].type.contentMatch.matchFragment(n);if(!o||!o.validEnd)throw new RangeError("Wrapper type given to Transform.wrap does not form valid content of its parent wrapper")}n=At.from(r[s].type.create(r[s].attrs,n))}let i=e.start,a=e.end;t.step(new eo(i,a,i,a,new tr(n,0,0),r.length,!0))}function rpt(t,e,r,n,i){if(!n.isTextblock)throw new RangeError("Type given to setBlockType should be a textblock");let a=t.steps.length;t.doc.nodesBetween(e,r,(s,o)=>{let l=typeof i=="function"?i(s):i;if(s.isTextblock&&!s.hasMarkup(n,l)&&npt(t.doc,t.mapping.slice(a).map(o),n)){let u=null;if(n.schema.linebreakReplacement){let p=n.whitespace=="pre",g=!!n.contentMatch.matchType(n.schema.linebreakReplacement);p&&!g?u=!1:!p&&g&&(u=!0)}u===!1&&Uve(t,s,o,a),fJ(t,t.mapping.slice(a).map(o,1),n,void 0,u===null);let d=t.mapping.slice(a),h=d.map(o,1),f=d.map(o+s.nodeSize,1);return t.step(new eo(h,f,h+1,f-1,new tr(At.from(n.create(l,null,s.marks)),0,0),1,!0)),u===!0&&mve(t,s,o,a),!1}})}function mve(t,e,r,n){e.forEach((i,a)=>{if(i.isText){let s,o=/\r?\n|\r/g;for(;s=o.exec(i.text);){let l=t.mapping.slice(n).map(r+1+a+s.index);t.replaceWith(l,l+1,e.type.schema.linebreakReplacement.create())}}})}function Uve(t,e,r,n){e.forEach((i,a)=>{if(i.type==i.type.schema.linebreakReplacement){let s=t.mapping.slice(n).map(r+1+a);t.replaceWith(s,s+1,e.type.schema.text(`
`))}})}function npt(t,e,r){let n=t.resolve(e),i=n.index();return n.parent.canReplaceWith(i,i+1,r)}function ipt(t,e,r,n,i){let a=t.doc.nodeAt(e);if(!a)throw new RangeError("No node at given position");r||(r=a.type);let s=r.create(n,null,i||a.marks);if(a.isLeaf)return t.replaceWith(e,e+a.nodeSize,s);if(!r.validContent(a.content))throw new RangeError("Invalid content for node type "+r.name);t.step(new eo(e,e+a.nodeSize,e+1,e+a.nodeSize-1,new tr(At.from(s),0,0),1,!0))}function b0(t,e,r=1,n){let i=t.resolve(e),a=i.depth-r,s=n&&n[n.length-1]||i.parent;if(a<0||i.parent.type.spec.isolating||!i.parent.canReplace(i.index(),i.parent.childCount)||!s.type.validContent(i.parent.content.cutByIndex(i.index(),i.parent.childCount)))return!1;for(let u=i.depth-1,d=r-2;u>a;u--,d--){let h=i.node(u),f=i.index(u);if(h.type.spec.isolating)return!1;let p=h.content.cutByIndex(f,h.childCount),g=n&&n[d+1];g&&(p=p.replaceChild(0,g.type.create(g.attrs)));let m=n&&n[d]||h;if(!h.canReplace(f+1,h.childCount)||!m.type.validContent(p))return!1}let o=i.indexAfter(a),l=n&&n[0];return i.node(a).canReplaceWith(o,o,l?l.type:i.node(a+1).type)}function apt(t,e,r=1,n){let i=t.doc.resolve(e),a=At.empty,s=At.empty;for(let o=i.depth,l=i.depth-r,u=r-1;o>l;o--,u--){a=At.from(i.node(o).copy(a));let d=n&&n[u];s=At.from(d?d.type.create(d.attrs,s):i.node(o).copy(s))}t.step(new va(e,e,new tr(a.append(s),r,r),!0))}function Ml(t,e){let r=t.resolve(e),n=r.index();return yve(r.nodeBefore,r.nodeAfter)&&r.parent.canReplace(n,n+1)}function spt(t,e){e.content.size||t.type.compatibleContent(e.type);let r=t.contentMatchAt(t.childCount),{linebreakReplacement:n}=t.type.schema;for(let i=0;i<e.childCount;i++){let a=e.child(i),s=a.type==n?t.type.schema.nodes.text:a.type;if(r=r.matchType(s),!r||!t.type.allowsMarks(a.marks))return!1}return r.validEnd}function yve(t,e){return!!(t&&e&&!t.isLeaf&&spt(t,e))}function KO(t,e,r=-1){let n=t.resolve(e);for(let i=n.depth;;i--){let a,s,o=n.index(i);if(i==n.depth?(a=n.nodeBefore,s=n.nodeAfter):r>0?(a=n.node(i+1),o++,s=n.node(i).maybeChild(o)):(a=n.node(i).maybeChild(o-1),s=n.node(i+1)),a&&!a.isTextblock&&yve(a,s)&&n.node(i).canReplace(o,o+1))return e;if(i==0)break;e=r<0?n.before(i):n.after(i)}}function opt(t,e,r){let n=null,{linebreakReplacement:i}=t.doc.type.schema,a=t.doc.resolve(e-r),s=a.node().type;if(i&&s.inlineContent){let d=s.whitespace=="pre",h=!!s.contentMatch.matchType(i);d&&!h?n=!1:!d&&h&&(n=!0)}let o=t.steps.length;if(n===!1){let d=t.doc.resolve(e+r);Uve(t,d.node(),d.before(),o)}s.inlineContent&&fJ(t,e+r-1,s,a.node().contentMatchAt(a.index()),n==null);let l=t.mapping.slice(o),u=l.map(e-r);if(t.step(new va(u,l.map(e+r,-1),tr.empty,!0)),n===!0){let d=t.doc.resolve(u);mve(t,d.node(),d.before(),t.steps.length)}return t}function lpt(t,e,r){let n=t.resolve(e);if(n.parent.canReplaceWith(n.index(),n.index(),r))return e;if(n.parentOffset==0)for(let i=n.depth-1;i>=0;i--){let a=n.index(i);if(n.node(i).canReplaceWith(a,a,r))return n.before(i+1);if(a>0)return null}if(n.parentOffset==n.parent.content.size)for(let i=n.depth-1;i>=0;i--){let a=n.indexAfter(i);if(n.node(i).canReplaceWith(a,a,r))return n.after(i+1);if(a<n.node(i).childCount)return null}return null}function bve(t,e,r){let n=t.resolve(e);if(!r.content.size)return e;let i=r.content;for(let a=0;a<r.openStart;a++)i=i.firstChild.content;for(let a=1;a<=(r.openStart==0&&r.size?2:1);a++)for(let s=n.depth;s>=0;s--){let o=s==n.depth?0:n.pos<=(n.start(s+1)+n.end(s+1))/2?-1:1,l=n.index(s)+(o>0?1:0),u=n.node(s),d=!1;if(a==1)d=u.canReplace(l,l,i);else{let h=u.contentMatchAt(l).findWrapping(i.firstChild.type);d=h&&u.canReplaceWith(l,l,h[0])}if(d)return o==0?n.pos:o<0?n.before(s+1):n.after(s+1)}return null}function ZO(t,e,r=e,n=tr.empty){if(e==r&&!n.size)return null;let i=t.resolve(e),a=t.resolve(r);return vve(i,a,n)?new va(e,r,n):new cpt(i,a,n).fit()}function vve(t,e,r){return!r.openStart&&!r.openEnd&&t.start()==e.start()&&t.parent.canReplace(t.index(),e.index(),r.content)}class cpt{constructor(e,r,n){this.$from=e,this.$to=r,this.unplaced=n,this.frontier=[],this.placed=At.empty;for(let i=0;i<=e.depth;i++){let a=e.node(i);this.frontier.push({type:a.type,match:a.contentMatchAt(e.indexAfter(i))})}for(let i=e.depth;i>0;i--)this.placed=At.from(e.node(i).copy(this.placed))}get depth(){return this.frontier.length-1}fit(){for(;this.unplaced.size;){let u=this.findFittable();u?this.placeNodes(u):this.openMore()||this.dropNode()}let e=this.mustMoveInline(),r=this.placed.size-this.depth-this.$from.depth,n=this.$from,i=this.close(e<0?this.$to:n.doc.resolve(e));if(!i)return null;let a=this.placed,s=n.depth,o=i.depth;for(;s&&o&&a.childCount==1;)a=a.firstChild.content,s--,o--;let l=new tr(a,s,o);return e>-1?new eo(n.pos,e,this.$to.pos,this.$to.end(),l,r):l.size||n.pos!=this.$to.pos?new va(n.pos,i.pos,l):null}findFittable(){let e=this.unplaced.openStart;for(let r=this.unplaced.content,n=0,i=this.unplaced.openEnd;n<e;n++){let a=r.firstChild;if(r.childCount>1&&(i=0),a.type.spec.isolating&&i<=n){e=n;break}r=a.content}for(let r=1;r<=2;r++)for(let n=r==1?e:this.unplaced.openStart;n>=0;n--){let i,a=null;n?(a=fce(this.unplaced.content,n-1).firstChild,i=a.content):i=this.unplaced.content;let s=i.firstChild;for(let o=this.depth;o>=0;o--){let{type:l,match:u}=this.frontier[o],d,h=null;if(r==1&&(s?u.matchType(s.type)||(h=u.fillBefore(At.from(s),!1)):a&&l.compatibleContent(a.type)))return{sliceDepth:n,frontierDepth:o,parent:a,inject:h};if(r==2&&s&&(d=u.findWrapping(s.type)))return{sliceDepth:n,frontierDepth:o,parent:a,wrap:d};if(a&&u.matchType(a.type))break}}}openMore(){let{content:e,openStart:r,openEnd:n}=this.unplaced;return pce(e,-1)<=r?!1:(this.unplaced.size>1&&pce(e,1)>n&&n++,this.unplaced=new tr(e,r+1,n),!0)}dropNode(){let{content:e,openStart:r,openEnd:n}=this.unplaced,i=fce(e,r);if(i.childCount<=1&&r>0){let a=e.size-r<=r+i.size;this.unplaced=new tr(A9(e,r-1,1),r-1,a?r-1:n)}else this.unplaced=new tr(A9(e,r,1),r,n)}placeNodes({sliceDepth:e,frontierDepth:r,parent:n,inject:i,wrap:a}){for(;this.depth>r;)this.closeFrontierNode();if(a)for(let m=0;m<a.length;m++)this.openFrontierNode(a[m]);let s=this.unplaced,o=n?n.content:s.content,l=s.openStart-e,u=0,d=[],{match:h,type:f}=this.frontier[r];if(i){for(let m=0;m<i.childCount;m++)d.push(i.child(m));h=h.matchFragment(i)}let p=o.size+e-(s.content.size-s.openEnd);for(;u<o.childCount;){let m=o.child(u),U=h.matchType(m.type);if(!U)break;u++,(u>1||l==0||m.content.size)&&(h=U,d.push(xve(m.mark(f.allowedMarks(m.marks)),u==1?l:0,u==o.childCount?p:-1)))}let g=u==o.childCount;g||(p=-1),this.placed=M9(this.placed,r,At.from(d)),this.frontier[r].match=h,g&&p<0&&n&&n.type==this.frontier[this.depth].type&&this.frontier.length>1&&this.closeFrontierNode();for(let m=0,U=o;m<p;m++){let y=U.lastChild;this.frontier.push({type:y.type,match:y.contentMatchAt(y.childCount)}),U=y.content}this.unplaced=g?e==0?tr.empty:new tr(A9(s.content,e-1,1),e-1,p<0?s.openEnd:e-1):new tr(A9(s.content,e,u),s.openStart,s.openEnd)}mustMoveInline(){if(!this.$to.parent.isTextblock)return-1;let e=this.frontier[this.depth],r;if(!e.type.isTextblock||!e$(this.$to,this.$to.depth,e.type,e.match,!1)||this.$to.depth==this.depth&&(r=this.findCloseLevel(this.$to))&&r.depth==this.depth)return-1;let{depth:n}=this.$to,i=this.$to.after(n);for(;n>1&&i==this.$to.end(--n);)++i;return i}findCloseLevel(e){e:for(let r=Math.min(this.depth,e.depth);r>=0;r--){let{match:n,type:i}=this.frontier[r],a=r<e.depth&&e.end(r+1)==e.pos+(e.depth-(r+1)),s=e$(e,r,i,n,a);if(s){for(let o=r-1;o>=0;o--){let{match:l,type:u}=this.frontier[o],d=e$(e,o,u,l,!0);if(!d||d.childCount)continue e}return{depth:r,fit:s,move:a?e.doc.resolve(e.after(r+1)):e}}}}close(e){let r=this.findCloseLevel(e);if(!r)return null;for(;this.depth>r.depth;)this.closeFrontierNode();r.fit.childCount&&(this.placed=M9(this.placed,r.depth,r.fit)),e=r.move;for(let n=r.depth+1;n<=e.depth;n++){let i=e.node(n),a=i.type.contentMatch.fillBefore(i.content,!0,e.index(n));this.openFrontierNode(i.type,i.attrs,a)}return e}openFrontierNode(e,r=null,n){let i=this.frontier[this.depth];i.match=i.match.matchType(e),this.placed=M9(this.placed,this.depth,At.from(e.create(r,n))),this.frontier.push({type:e,match:e.contentMatch})}closeFrontierNode(){let r=this.frontier.pop().match.fillBefore(At.empty,!0);r.childCount&&(this.placed=M9(this.placed,this.frontier.length,r))}}function A9(t,e,r){return e==0?t.cutByIndex(r,t.childCount):t.replaceChild(0,t.firstChild.copy(A9(t.firstChild.content,e-1,r)))}function M9(t,e,r){return e==0?t.append(r):t.replaceChild(t.childCount-1,t.lastChild.copy(M9(t.lastChild.content,e-1,r)))}function fce(t,e){for(let r=0;r<e;r++)t=t.firstChild.content;return t}function xve(t,e,r){if(e<=0)return t;let n=t.content;return e>1&&(n=n.replaceChild(0,xve(n.firstChild,e-1,n.childCount==1?r-1:0))),e>0&&(n=t.type.contentMatch.fillBefore(n).append(n),r<=0&&(n=n.append(t.type.contentMatch.matchFragment(n).fillBefore(At.empty,!0)))),t.copy(n)}function e$(t,e,r,n,i){let a=t.node(e),s=i?t.indexAfter(e):t.index(e);if(s==a.childCount&&!r.compatibleContent(a.type))return null;let o=n.fillBefore(a.content,!0,s);return o&&!upt(r,a.content,s)?o:null}function upt(t,e,r){for(let n=r;n<e.childCount;n++)if(!t.allowsMarks(e.child(n).marks))return!0;return!1}function dpt(t){return t.spec.defining||t.spec.definingForContent}function pce(t,e){for(let r=0;;r++){let n=e<0?t.firstChild:t.lastChild;if(!n||n.isAtom)return r;t=n.content}}function hpt(t,e,r,n){if(!n.size)return t.deleteRange(e,r);let i=t.doc.resolve(e),a=t.doc.resolve(r);if(vve(i,a,n))return t.step(new va(e,r,n));let s=Tve(i,a);s[s.length-1]==0&&s.pop();let o=-(i.depth+1);s.unshift(o);for(let f=i.depth,p=i.pos-1;f>0;f--,p--){let g=i.node(f).type.spec;if(g.defining||g.definingAsContext||g.isolating)break;s.indexOf(f)>-1?o=f:i.before(f)==p&&s.splice(1,0,-f)}let l=s.indexOf(o),u=[],d=n.openStart;for(let f=n.content,p=0;;p++){let g=f.firstChild;if(u.push(g),p==n.openStart)break;f=g.content}for(let f=d-1;f>=0;f--){let p=u[f],g=dpt(p.type);if(g&&!p.sameMarkup(i.node(Math.abs(o)-1)))d=f;else if(g||!p.type.isTextblock)break}for(let f=n.openStart;f>=0;f--){let p=(f+d+1)%(n.openStart+1),g=u[p];if(g)for(let m=0;m<s.length;m++){let U=s[(m+l)%s.length],y=!0;U<0&&(y=!1,U=-U);let b=i.node(U-1),v=i.index(U-1);if(b.canReplaceWith(v,v,g.type,g.marks))return t.replace(i.before(U),y?a.after(U):r,new tr(wve(n.content,0,n.openStart,p),p,n.openEnd))}}let h=t.steps.length;for(let f=s.length-1;f>=0&&(t.replace(e,r,n),!(t.steps.length>h));f--){let p=s[f];p<0||(e=i.before(p),r=a.after(p))}}function wve(t,e,r,n,i){if(e<r){let a=t.firstChild;t=t.replaceChild(0,a.copy(wve(a.content,e+1,r,n,a)))}if(e>n){let a=i.contentMatchAt(0),s=a.fillBefore(t).append(t);t=s.append(a.matchFragment(s).fillBefore(At.empty,!0))}return t}function fpt(t,e,r,n){if(!n.isInline&&e==r&&t.doc.resolve(e).parent.content.size){let i=lpt(t.doc,e,n.type);i!=null&&(e=r=i)}t.replaceRange(e,r,new tr(At.from(n),0,0))}function ppt(t,e,r){let n=t.doc.resolve(e),i=t.doc.resolve(r);if(n.parent.isTextblock&&i.parent.isTextblock&&n.start()!=i.start()&&n.parentOffset==0&&i.parentOffset==0){let s=n.sharedDepth(r),o=!1;for(let l=n.depth;l>s;l--)n.node(l).type.spec.isolating&&(o=!0);for(let l=i.depth;l>s;l--)i.node(l).type.spec.isolating&&(o=!0);if(!o){for(let l=n.depth;l>0&&e==n.start(l);l--)e=n.before(l);for(let l=i.depth;l>0&&r==i.start(l);l--)r=i.before(l);n=t.doc.resolve(e),i=t.doc.resolve(r)}}let a=Tve(n,i);for(let s=0;s<a.length;s++){let o=a[s],l=s==a.length-1;if(l&&o==0||n.node(o).type.contentMatch.validEnd)return t.delete(n.start(o),i.end(o));if(o>0&&(l||n.node(o-1).canReplace(n.index(o-1),i.indexAfter(o-1))))return t.delete(n.before(o),i.after(o))}for(let s=1;s<=n.depth&&s<=i.depth;s++)if(e-n.start(s)==n.depth-s&&r>n.end(s)&&i.end(s)-r!=i.depth-s&&n.start(s-1)==i.start(s-1)&&n.node(s-1).canReplace(n.index(s-1),i.index(s-1)))return t.delete(n.before(s),r);t.delete(e,r)}function Tve(t,e){let r=[],n=Math.min(t.depth,e.depth);for(let i=n;i>=0;i--){let a=t.start(i);if(a<t.pos-(t.depth-i)||e.end(i)>e.pos+(e.depth-i)||t.node(i).type.spec.isolating||e.node(i).type.spec.isolating)break;(a==e.start(i)||i==t.depth&&i==e.depth&&t.parent.inlineContent&&e.parent.inlineContent&&i&&e.start(i-1)==a-1)&&r.push(i)}return r}class sb extends al{constructor(e,r,n){super(),this.pos=e,this.attr=r,this.value=n}apply(e){let r=e.nodeAt(this.pos);if(!r)return ds.fail("No node at attribute step's position");let n=Object.create(null);for(let a in r.attrs)n[a]=r.attrs[a];n[this.attr]=this.value;let i=r.type.create(n,null,r.marks);return ds.fromReplace(e,this.pos,this.pos+1,new tr(At.from(i),0,r.isLeaf?0:1))}getMap(){return Hc.empty}invert(e){return new sb(this.pos,this.attr,e.nodeAt(this.pos).attrs[this.attr])}map(e){let r=e.mapResult(this.pos,1);return r.deletedAfter?null:new sb(r.pos,this.attr,this.value)}toJSON(){return{stepType:"attr",pos:this.pos,attr:this.attr,value:this.value}}static fromJSON(e,r){if(typeof r.pos!="number"||typeof r.attr!="string")throw new RangeError("Invalid input for AttrStep.fromJSON");return new sb(r.pos,r.attr,r.value)}}al.jsonID("attr",sb);class rT extends al{constructor(e,r){super(),this.attr=e,this.value=r}apply(e){let r=Object.create(null);for(let i in e.attrs)r[i]=e.attrs[i];r[this.attr]=this.value;let n=e.type.create(r,e.content,e.marks);return ds.ok(n)}getMap(){return Hc.empty}invert(e){return new rT(this.attr,e.attrs[this.attr])}map(e){return this}toJSON(){return{stepType:"docAttr",attr:this.attr,value:this.value}}static fromJSON(e,r){if(typeof r.attr!="string")throw new RangeError("Invalid input for DocAttrStep.fromJSON");return new rT(r.attr,r.value)}}al.jsonID("docAttr",rT);let Ev=class extends Error{};Ev=function t(e){let r=Error.call(this,e);return r.__proto__=t.prototype,r};Ev.prototype=Object.create(Error.prototype);Ev.prototype.constructor=Ev;Ev.prototype.name="TransformError";let gJ=class{constructor(e){this.doc=e,this.steps=[],this.docs=[],this.mapping=new tT}get before(){return this.docs.length?this.docs[0]:this.doc}step(e){let r=this.maybeStep(e);if(r.failed)throw new Ev(r.failed);return this}maybeStep(e){let r=e.apply(this.doc);return r.failed||this.addStep(e,r.doc),r}get docChanged(){return this.steps.length>0}changedRange(){let e=1e9,r=-1e9;for(let n=0;n<this.mapping.maps.length;n++){let i=this.mapping.maps[n];n&&(e=i.map(e,1),r=i.map(r,-1)),i.forEach((a,s,o,l)=>{e=Math.min(e,o),r=Math.max(r,l)})}return e==1e9?null:{from:e,to:r}}addStep(e,r){this.docs.push(this.doc),this.steps.push(e),this.mapping.appendMap(e.getMap()),this.doc=r}replace(e,r=e,n=tr.empty){let i=ZO(this.doc,e,r,n);return i&&this.step(i),this}replaceWith(e,r,n){return this.replace(e,r,new tr(At.from(n),0,0))}delete(e,r){return this.replace(e,r,tr.empty)}insert(e,r){return this.replaceWith(e,e,r)}replaceRange(e,r,n){return hpt(this,e,r,n),this}replaceRangeWith(e,r,n){return fpt(this,e,r,n),this}deleteRange(e,r){return ppt(this,e,r),this}lift(e,r){return J0t(this,e,r),this}join(e,r=1){return opt(this,e,r),this}wrap(e,r){return tpt(this,e,r),this}setBlockType(e,r=e,n,i=null){return rpt(this,e,r,n,i),this}setNodeMarkup(e,r,n=null,i){return ipt(this,e,r,n,i),this}setNodeAttribute(e,r,n){return this.step(new sb(e,r,n)),this}setDocAttribute(e,r){return this.step(new rT(e,r)),this}addNodeMark(e,r){return this.step(new lg(e,r)),this}removeNodeMark(e,r){let n=this.doc.nodeAt(e);if(!n)throw new RangeError("No node at position "+e);if(r instanceof Ri)r.isInSet(n.marks)&&this.step(new GU(e,r));else{let i=n.marks,a,s=[];for(;a=r.isInSet(i);)s.push(new GU(e,a)),i=a.removeFromSet(i);for(let o=s.length-1;o>=0;o--)this.step(s[o])}return this}split(e,r=1,n){return apt(this,e,r,n),this}addMark(e,r,n){return X0t(this,e,r,n),this}removeMark(e,r,n){return K0t(this,e,r,n),this}clearIncompatible(e,r,n){return fJ(this,e,r,n),this}};const t$=Object.create(null);let Vr=class{constructor(e,r,n){this.$anchor=e,this.$head=r,this.ranges=n||[new Cve(e.min(r),e.max(r))]}get anchor(){return this.$anchor.pos}get head(){return this.$head.pos}get from(){return this.$from.pos}get to(){return this.$to.pos}get $from(){return this.ranges[0].$from}get $to(){return this.ranges[0].$to}get empty(){let e=this.ranges;for(let r=0;r<e.length;r++)if(e[r].$from.pos!=e[r].$to.pos)return!1;return!0}content(){return this.$from.doc.slice(this.from,this.to,!0)}replace(e,r=tr.empty){let n=r.content.lastChild,i=null;for(let o=0;o<r.openEnd;o++)i=n,n=n.lastChild;let a=e.steps.length,s=this.ranges;for(let o=0;o<s.length;o++){let{$from:l,$to:u}=s[o],d=e.mapping.slice(a);e.replaceRange(d.map(l.pos),d.map(u.pos),o?tr.empty:r),o==0&&Uce(e,a,(n?n.isInline:i&&i.isTextblock)?-1:1)}}replaceWith(e,r){let n=e.steps.length,i=this.ranges;for(let a=0;a<i.length;a++){let{$from:s,$to:o}=i[a],l=e.mapping.slice(n),u=l.map(s.pos),d=l.map(o.pos);a?e.deleteRange(u,d):(e.replaceRangeWith(u,d,r),Uce(e,n,r.isInline?-1:1))}}static findFrom(e,r,n=!1){let i=e.parent.inlineContent?new yr(e):Ky(e.node(0),e.parent,e.pos,e.index(),r,n);if(i)return i;for(let a=e.depth-1;a>=0;a--){let s=r<0?Ky(e.node(0),e.node(a),e.before(a+1),e.index(a),r,n):Ky(e.node(0),e.node(a),e.after(a+1),e.index(a)+1,r,n);if(s)return s}return null}static near(e,r=1){return this.findFrom(e,r)||this.findFrom(e,-r)||new Yc(e.node(0))}static atStart(e){return Ky(e,e,0,0,1)||new Yc(e)}static atEnd(e){return Ky(e,e,e.content.size,e.childCount,-1)||new Yc(e)}static fromJSON(e,r){if(!r||!r.type)throw new RangeError("Invalid input for Selection.fromJSON");let n=t$[r.type];if(!n)throw new RangeError(`No selection type ${r.type} defined`);return n.fromJSON(e,r)}static jsonID(e,r){if(e in t$)throw new RangeError("Duplicate use of selection JSON ID "+e);return t$[e]=r,r.prototype.jsonID=e,r}getBookmark(){return yr.between(this.$anchor,this.$head).getBookmark()}};Vr.prototype.visible=!0;let Cve=class{constructor(e,r){this.$from=e,this.$to=r}},gce=!1;function mce(t){!gce&&!t.parent.inlineContent&&(gce=!0,console.warn("TextSelection endpoint not pointing into a node with inline content ("+t.parent.type.name+")"))}class yr extends Vr{constructor(e,r=e){mce(e),mce(r),super(e,r)}get $cursor(){return this.$anchor.pos==this.$head.pos?this.$head:null}map(e,r){let n=e.resolve(r.map(this.head));if(!n.parent.inlineContent)return Vr.near(n);let i=e.resolve(r.map(this.anchor));return new yr(i.parent.inlineContent?i:n,n)}replace(e,r=tr.empty){if(super.replace(e,r),r==tr.empty){let n=this.$from.marksAcross(this.$to);n&&e.ensureMarks(n)}}eq(e){return e instanceof yr&&e.anchor==this.anchor&&e.head==this.head}getBookmark(){return new JO(this.anchor,this.head)}toJSON(){return{type:"text",anchor:this.anchor,head:this.head}}static fromJSON(e,r){if(typeof r.anchor!="number"||typeof r.head!="number")throw new RangeError("Invalid input for TextSelection.fromJSON");return new yr(e.resolve(r.anchor),e.resolve(r.head))}static create(e,r,n=r){let i=e.resolve(r);return new this(i,n==r?i:e.resolve(n))}static between(e,r,n){let i=e.pos-r.pos;if((!n||i)&&(n=i>=0?1:-1),!r.parent.inlineContent){let a=Vr.findFrom(r,n,!0)||Vr.findFrom(r,-n,!0);if(a)r=a.$head;else return Vr.near(r,n)}return e.parent.inlineContent||(i==0?e=r:(e=(Vr.findFrom(e,-n,!0)||Vr.findFrom(e,n,!0)).$anchor,e.pos<r.pos!=i<0&&(e=r))),new yr(e,r)}}Vr.jsonID("text",yr);class JO{constructor(e,r){this.anchor=e,this.head=r}map(e){return new JO(e.map(this.anchor),e.map(this.head))}resolve(e){return yr.between(e.resolve(this.anchor),e.resolve(this.head))}}class Nr extends Vr{constructor(e){let r=e.nodeAfter,n=e.node(0).resolve(e.pos+r.nodeSize);super(e,n),this.node=r}map(e,r){let{deleted:n,pos:i}=r.mapResult(this.anchor),a=e.resolve(i);return n?Vr.near(a):new Nr(a)}content(){return new tr(At.from(this.node),0,0)}eq(e){return e instanceof Nr&&e.anchor==this.anchor}toJSON(){return{type:"node",anchor:this.anchor}}getBookmark(){return new mJ(this.anchor)}static fromJSON(e,r){if(typeof r.anchor!="number")throw new RangeError("Invalid input for NodeSelection.fromJSON");return new Nr(e.resolve(r.anchor))}static create(e,r){return new Nr(e.resolve(r))}static isSelectable(e){return!e.isText&&e.type.spec.selectable!==!1}}Nr.prototype.visible=!1;Vr.jsonID("node",Nr);class mJ{constructor(e){this.anchor=e}map(e){let{deleted:r,pos:n}=e.mapResult(this.anchor);return r?new JO(n,n):new mJ(n)}resolve(e){let r=e.resolve(this.anchor),n=r.nodeAfter;return n&&Nr.isSelectable(n)?new Nr(r):Vr.near(r)}}class Yc extends Vr{constructor(e){super(e.resolve(0),e.resolve(e.content.size))}replace(e,r=tr.empty){if(r==tr.empty){e.delete(0,e.doc.content.size);let n=Vr.atStart(e.doc);n.eq(e.selection)||e.setSelection(n)}else super.replace(e,r)}toJSON(){return{type:"all"}}static fromJSON(e){return new Yc(e)}map(e){return new Yc(e)}eq(e){return e instanceof Yc}getBookmark(){return gpt}}Vr.jsonID("all",Yc);const gpt={map(){return this},resolve(t){return new Yc(t)}};function Ky(t,e,r,n,i,a=!1){if(e.inlineContent)return yr.create(t,r);for(let s=n-(i>0?0:1);i>0?s<e.childCount:s>=0;s+=i){let o=e.child(s);if(o.isAtom){if(!a&&Nr.isSelectable(o))return Nr.create(t,r-(i<0?o.nodeSize:0))}else{let l=Ky(t,o,r+i,i<0?o.childCount:0,i,a);if(l)return l}r+=o.nodeSize*i}return null}function Uce(t,e,r){let n=t.steps.length-1;if(n<e)return;let i=t.steps[n];if(!(i instanceof va||i instanceof eo))return;let a=t.mapping.maps[n],s;a.forEach((o,l,u,d)=>{s==null&&(s=d)}),t.setSelection(Vr.near(t.doc.resolve(s),r))}const yce=1,kk=2,bce=4;class mpt extends gJ{constructor(e){super(e.doc),this.curSelectionFor=0,this.updated=0,this.meta=Object.create(null),this.time=Date.now(),this.curSelection=e.selection,this.storedMarks=e.storedMarks}get selection(){return this.curSelectionFor<this.steps.length&&(this.curSelection=this.curSelection.map(this.doc,this.mapping.slice(this.curSelectionFor)),this.curSelectionFor=this.steps.length),this.curSelection}setSelection(e){if(e.$from.doc!=this.doc)throw new RangeError("Selection passed to setSelection must point at the current document");return this.curSelection=e,this.curSelectionFor=this.steps.length,this.updated=(this.updated|yce)&~kk,this.storedMarks=null,this}get selectionSet(){return(this.updated&yce)>0}setStoredMarks(e){return this.storedMarks=e,this.updated|=kk,this}ensureMarks(e){return Ri.sameSet(this.storedMarks||this.selection.$from.marks(),e)||this.setStoredMarks(e),this}addStoredMark(e){return this.ensureMarks(e.addToSet(this.storedMarks||this.selection.$head.marks()))}removeStoredMark(e){return this.ensureMarks(e.removeFromSet(this.storedMarks||this.selection.$head.marks()))}get storedMarksSet(){return(this.updated&kk)>0}addStep(e,r){super.addStep(e,r),this.updated=this.updated&~kk,this.storedMarks=null}setTime(e){return this.time=e,this}replaceSelection(e){return this.selection.replace(this,e),this}replaceSelectionWith(e,r=!0){let n=this.selection;return r&&(e=e.mark(this.storedMarks||(n.empty?n.$from.marks():n.$from.marksAcross(n.$to)||Ri.none))),n.replaceWith(this,e),this}deleteSelection(){return this.selection.replace(this),this}insertText(e,r,n){let i=this.doc.type.schema;if(r==null)return e?this.replaceSelectionWith(i.text(e),!0):this.deleteSelection();{if(n==null&&(n=r),!e)return this.deleteRange(r,n);let a=this.storedMarks;if(!a){let s=this.doc.resolve(r);a=n==r?s.marks():s.marksAcross(this.doc.resolve(n))}return this.replaceRangeWith(r,n,i.text(e,a)),!this.selection.empty&&this.selection.to==r+e.length&&this.setSelection(Vr.near(this.selection.$to)),this}}setMeta(e,r){return this.meta[typeof e=="string"?e:e.key]=r,this}getMeta(e){return this.meta[typeof e=="string"?e:e.key]}get isGeneric(){for(let e in this.meta)return!1;return!0}scrollIntoView(){return this.updated|=bce,this}get scrolledIntoView(){return(this.updated&bce)>0}}function vce(t,e){return!e||!t?t:t.bind(e)}class R9{constructor(e,r,n){this.name=e,this.init=vce(r.init,n),this.apply=vce(r.apply,n)}}const Upt=[new R9("doc",{init(t){return t.doc||t.schema.topNodeType.createAndFill()},apply(t){return t.doc}}),new R9("selection",{init(t,e){return t.selection||Vr.atStart(e.doc)},apply(t){return t.selection}}),new R9("storedMarks",{init(t){return t.storedMarks||null},apply(t,e,r,n){return n.selection.$cursor?t.storedMarks:null}}),new R9("scrollToSelection",{init(){return 0},apply(t,e){return t.scrolledIntoView?e+1:e}})];class r${constructor(e,r){this.schema=e,this.plugins=[],this.pluginsByKey=Object.create(null),this.fields=Upt.slice(),r&&r.forEach(n=>{if(this.pluginsByKey[n.key])throw new RangeError("Adding different instances of a keyed plugin ("+n.key+")");this.plugins.push(n),this.pluginsByKey[n.key]=n,n.spec.state&&this.fields.push(new R9(n.key,n.spec.state,n))})}}class vd{constructor(e){this.config=e}get schema(){return this.config.schema}get plugins(){return this.config.plugins}apply(e){return this.applyTransaction(e).state}filterTransaction(e,r=-1){for(let n=0;n<this.config.plugins.length;n++)if(n!=r){let i=this.config.plugins[n];if(i.spec.filterTransaction&&!i.spec.filterTransaction.call(i,e,this))return!1}return!0}applyTransaction(e){if(!this.filterTransaction(e))return{state:this,transactions:[]};let r=[e],n=this.applyInner(e),i=null;for(;;){let a=!1;for(let s=0;s<this.config.plugins.length;s++){let o=this.config.plugins[s];if(o.spec.appendTransaction){let l=i?i[s].n:0,u=i?i[s].state:this,d=l<r.length&&o.spec.appendTransaction.call(o,l?r.slice(l):r,u,n);if(d&&n.filterTransaction(d,s)){if(d.setMeta("appendedTransaction",e),!i){i=[];for(let h=0;h<this.config.plugins.length;h++)i.push(h<s?{state:n,n:r.length}:{state:this,n:0})}r.push(d),n=n.applyInner(d),a=!0}i&&(i[s]={state:n,n:r.length})}}if(!a)return{state:n,transactions:r}}}applyInner(e){if(!e.before.eq(this.doc))throw new RangeError("Applying a mismatched transaction");let r=new vd(this.config),n=this.config.fields;for(let i=0;i<n.length;i++){let a=n[i];r[a.name]=a.apply(e,this[a.name],this,r)}return r}get tr(){return new mpt(this)}static create(e){let r=new r$(e.doc?e.doc.type.schema:e.schema,e.plugins),n=new vd(r);for(let i=0;i<r.fields.length;i++)n[r.fields[i].name]=r.fields[i].init(e,n);return n}reconfigure(e){let r=new r$(this.schema,e.plugins),n=r.fields,i=new vd(r);for(let a=0;a<n.length;a++){let s=n[a].name;i[s]=this.hasOwnProperty(s)?this[s]:n[a].init(e,i)}return i}toJSON(e){let r={doc:this.doc.toJSON(),selection:this.selection.toJSON()};if(this.storedMarks&&(r.storedMarks=this.storedMarks.map(n=>n.toJSON())),e&&typeof e=="object")for(let n in e){if(n=="doc"||n=="selection")throw new RangeError("The JSON fields `doc` and `selection` are reserved");let i=e[n],a=i.spec.state;a&&a.toJSON&&(r[n]=a.toJSON.call(i,this[i.key]))}return r}static fromJSON(e,r,n){if(!r)throw new RangeError("Invalid input for EditorState.fromJSON");if(!e.schema)throw new RangeError("Required config field 'schema' missing");let i=new r$(e.schema,e.plugins),a=new vd(i);return i.fields.forEach(s=>{if(s.name=="doc")a.doc=SU.fromJSON(e.schema,r.doc);else if(s.name=="selection")a.selection=Vr.fromJSON(a.doc,r.selection);else if(s.name=="storedMarks")r.storedMarks&&(a.storedMarks=r.storedMarks.map(e.schema.markFromJSON));else{if(n)for(let o in n){let l=n[o],u=l.spec.state;if(l.key==s.name&&u&&u.fromJSON&&Object.prototype.hasOwnProperty.call(r,o)){a[s.name]=u.fromJSON.call(l,e,r[o],a);return}}a[s.name]=s.init(e,a)}}),a}}function Sve(t,e,r){for(let n in t){let i=t[n];i instanceof Function?i=i.bind(e):n=="handleDOMEvents"&&(i=Sve(i,e,{})),r[n]=i}return r}class ci{constructor(e){this.spec=e,this.props={},e.props&&Sve(e.props,this,this.props),this.key=e.key?e.key.key:kve("plugin")}getState(e){return e[this.key]}}const n$=Object.create(null);function kve(t){return t in n$?t+"$"+ ++n$[t]:(n$[t]=0,t+"$")}class Mi{constructor(e="key"){this.key=kve(e)}get(e){return e.config.pluginsByKey[this.key]}getState(e){return e[this.key]}}const Eve=(t,e)=>t.selection.empty?!1:(e&&e(t.tr.deleteSelection().scrollIntoView()),!0);function Ave(t,e){let{$cursor:r}=t.selection;return!r||(e?!e.endOfTextblock("backward",t):r.parentOffset>0)?null:r}const Mve=(t,e,r)=>{let n=Ave(t,r);if(!n)return!1;let i=UJ(n);if(!i){let s=n.blockRange(),o=s&&W4(s);return o==null?!1:(e&&e(t.tr.lift(s,o).scrollIntoView()),!0)}let a=i.nodeBefore;if(Bve(t,i,e,-1))return!0;if(n.parent.content.size==0&&(Av(a,"end")||Nr.isSelectable(a)))for(let s=n.depth;;s--){let o=ZO(t.doc,n.before(s),n.after(s),tr.empty);if(o&&o.slice.size<o.to-o.from){if(e){let l=t.tr.step(o);l.setSelection(Av(a,"end")?Vr.findFrom(l.doc.resolve(l.mapping.map(i.pos,-1)),-1):Nr.create(l.doc,i.pos-a.nodeSize)),e(l.scrollIntoView())}return!0}if(s==1||n.node(s-1).childCount>1)break}return a.isAtom&&i.depth==n.depth-1?(e&&e(t.tr.delete(i.pos-a.nodeSize,i.pos).scrollIntoView()),!0):!1},ypt=(t,e,r)=>{let n=Ave(t,r);if(!n)return!1;let i=UJ(n);return i?Rve(t,i,e):!1},bpt=(t,e,r)=>{let n=Lve(t,r);if(!n)return!1;let i=yJ(n);return i?Rve(t,i,e):!1};function Rve(t,e,r){let n=e.nodeBefore,i=n,a=e.pos-1;for(;!i.isTextblock;a--){if(i.type.spec.isolating)return!1;let d=i.lastChild;if(!d)return!1;i=d}let s=e.nodeAfter,o=s,l=e.pos+1;for(;!o.isTextblock;l++){if(o.type.spec.isolating)return!1;let d=o.firstChild;if(!d)return!1;o=d}let u=ZO(t.doc,a,l,tr.empty);if(!u||u.from!=a||u instanceof va&&u.slice.size>=l-a)return!1;if(r){let d=t.tr.step(u);d.setSelection(yr.create(d.doc,a)),r(d.scrollIntoView())}return!0}function Av(t,e,r=!1){for(let n=t;n;n=e=="start"?n.firstChild:n.lastChild){if(n.isTextblock)return!0;if(r&&n.childCount!=1)return!1}return!1}const Ive=(t,e,r)=>{let{$head:n,empty:i}=t.selection,a=n;if(!i)return!1;if(n.parent.isTextblock){if(r?!r.endOfTextblock("backward",t):n.parentOffset>0)return!1;a=UJ(n)}let s=a&&a.nodeBefore;return!s||!Nr.isSelectable(s)?!1:(e&&e(t.tr.setSelection(Nr.create(t.doc,a.pos-s.nodeSize)).scrollIntoView()),!0)};function UJ(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){if(t.index(e)>0)return t.doc.resolve(t.before(e+1));if(t.node(e).type.spec.isolating)break}return null}function Lve(t,e){let{$cursor:r}=t.selection;return!r||(e?!e.endOfTextblock("forward",t):r.parentOffset<r.parent.content.size)?null:r}const Nve=(t,e,r)=>{let n=Lve(t,r);if(!n)return!1;let i=yJ(n);if(!i)return!1;let a=i.nodeAfter;if(Bve(t,i,e,1))return!0;if(n.parent.content.size==0&&(Av(a,"start")||Nr.isSelectable(a))){let s=ZO(t.doc,n.before(),n.after(),tr.empty);if(s&&s.slice.size<s.to-s.from){if(e){let o=t.tr.step(s);o.setSelection(Av(a,"start")?Vr.findFrom(o.doc.resolve(o.mapping.map(i.pos)),1):Nr.create(o.doc,o.mapping.map(i.pos))),e(o.scrollIntoView())}return!0}}return a.isAtom&&i.depth==n.depth-1?(e&&e(t.tr.delete(i.pos,i.pos+a.nodeSize).scrollIntoView()),!0):!1},Ove=(t,e,r)=>{let{$head:n,empty:i}=t.selection,a=n;if(!i)return!1;if(n.parent.isTextblock){if(r?!r.endOfTextblock("forward",t):n.parentOffset<n.parent.content.size)return!1;a=yJ(n)}let s=a&&a.nodeAfter;return!s||!Nr.isSelectable(s)?!1:(e&&e(t.tr.setSelection(Nr.create(t.doc,a.pos)).scrollIntoView()),!0)};function yJ(t){if(!t.parent.type.spec.isolating)for(let e=t.depth-1;e>=0;e--){let r=t.node(e);if(t.index(e)+1<r.childCount)return t.doc.resolve(t.after(e+1));if(r.type.spec.isolating)break}return null}const vpt=(t,e)=>{let r=t.selection,n=r instanceof Nr,i;if(n){if(r.node.isTextblock||!Ml(t.doc,r.from))return!1;i=r.from}else if(i=KO(t.doc,r.from,-1),i==null)return!1;if(e){let a=t.tr.join(i);n&&a.setSelection(Nr.create(a.doc,i-t.doc.resolve(i).nodeBefore.nodeSize)),e(a.scrollIntoView())}return!0},xpt=(t,e)=>{let r=t.selection,n;if(r instanceof Nr){if(r.node.isTextblock||!Ml(t.doc,r.to))return!1;n=r.to}else if(n=KO(t.doc,r.to,1),n==null)return!1;return e&&e(t.tr.join(n).scrollIntoView()),!0},wpt=(t,e)=>{let{$from:r,$to:n}=t.selection,i=r.blockRange(n),a=i&&W4(i);return a==null?!1:(e&&e(t.tr.lift(i,a).scrollIntoView()),!0)},Dve=(t,e)=>{let{$head:r,$anchor:n}=t.selection;return!r.parent.type.spec.code||!r.sameParent(n)?!1:(e&&e(t.tr.insertText(`
`).scrollIntoView()),!0)};function bJ(t){for(let e=0;e<t.edgeCount;e++){let{type:r}=t.edge(e);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}const Tpt=(t,e)=>{let{$head:r,$anchor:n}=t.selection;if(!r.parent.type.spec.code||!r.sameParent(n))return!1;let i=r.node(-1),a=r.indexAfter(-1),s=bJ(i.contentMatchAt(a));if(!s||!i.canReplaceWith(a,a,s))return!1;if(e){let o=r.after(),l=t.tr.replaceWith(o,o,s.createAndFill());l.setSelection(Vr.near(l.doc.resolve(o),1)),e(l.scrollIntoView())}return!0},Pve=(t,e)=>{let r=t.selection,{$from:n,$to:i}=r;if(r instanceof Yc||n.parent.inlineContent||i.parent.inlineContent)return!1;let a=bJ(i.parent.contentMatchAt(i.indexAfter()));if(!a||!a.isTextblock)return!1;if(e){let s=(!n.parentOffset&&i.index()<i.parent.childCount?n:i).pos,o=t.tr.insert(s,a.createAndFill());o.setSelection(yr.create(o.doc,s+1)),e(o.scrollIntoView())}return!0},_ve=(t,e)=>{let{$cursor:r}=t.selection;if(!r||r.parent.content.size)return!1;if(r.depth>1&&r.after()!=r.end(-1)){let a=r.before();if(b0(t.doc,a))return e&&e(t.tr.split(a).scrollIntoView()),!0}let n=r.blockRange(),i=n&&W4(n);return i==null?!1:(e&&e(t.tr.lift(n,i).scrollIntoView()),!0)};function Cpt(t){return(e,r)=>{if(e.selection instanceof Nr&&e.selection.node.isBlock){let{$from:p}=e.selection;return!p.parentOffset||!b0(e.doc,p.pos)?!1:(r&&r(e.tr.split(p.pos).scrollIntoView()),!0)}if(!e.selection.$from.depth)return!1;let n=e.tr;!e.selection.empty&&(e.selection instanceof yr||e.selection instanceof Yc)&&n.deleteSelection();let{$from:i}=n.selection,a=n.steps.length,s=[],o,l,u=!1,d=!1;for(let p=i.depth;;p--)if(i.node(p).isBlock){u=i.end(p)==i.pos+(i.depth-p),d=i.start(p)==i.pos-(i.depth-p),l=bJ(i.node(p-1).contentMatchAt(i.indexAfter(p-1))),s.unshift(u&&l?{type:l}:null),o=p;break}else{if(p==1)return!1;s.unshift(null)}let h=i.pos,f=b0(n.doc,h,s.length,s);if(f||(s[0]=l?{type:l}:null,f=b0(n.doc,h,s.length,s)),!f)return!1;if(n.split(h,s.length,s),!u&&d&&i.node(o).type!=l){let p=n.mapping.slice(a),g=p.map(i.before(o)),m=n.doc.resolve(g);l&&i.node(o-1).canReplaceWith(m.index(),m.index()+1,l)&&n.setNodeMarkup(p.map(i.before(o)),l)}return r&&r(n.scrollIntoView()),!0}}const Spt=Cpt(),kpt=(t,e)=>{let{$from:r,to:n}=t.selection,i,a=r.sharedDepth(n);return a==0?!1:(i=r.before(a),e&&e(t.tr.setSelection(Nr.create(t.doc,i))),!0)};function Ept(t,e,r){let n=e.nodeBefore,i=e.nodeAfter,a=e.index();return!n||!i||!n.type.compatibleContent(i.type)?!1:!n.content.size&&e.parent.canReplace(a-1,a)?(r&&r(t.tr.delete(e.pos-n.nodeSize,e.pos).scrollIntoView()),!0):!e.parent.canReplace(a,a+1)||!(i.isTextblock||Ml(t.doc,e.pos))?!1:(r&&r(t.tr.join(e.pos).scrollIntoView()),!0)}function Bve(t,e,r,n){let i=e.nodeBefore,a=e.nodeAfter,s,o,l=i.type.spec.isolating||a.type.spec.isolating;if(!l&&Ept(t,e,r))return!0;let u=!l&&e.parent.canReplace(e.index(),e.index()+1);if(u&&(s=(o=i.contentMatchAt(i.childCount)).findWrapping(a.type))&&o.matchType(s[0]||a.type).validEnd){if(r){let p=e.pos+a.nodeSize,g=At.empty;for(let y=s.length-1;y>=0;y--)g=At.from(s[y].create(null,g));g=At.from(i.copy(g));let m=t.tr.step(new eo(e.pos-1,p,e.pos,p,new tr(g,1,0),s.length,!0)),U=m.doc.resolve(p+2*s.length);U.nodeAfter&&U.nodeAfter.type==i.type&&Ml(m.doc,U.pos)&&m.join(U.pos),r(m.scrollIntoView())}return!0}let d=a.type.spec.isolating||n>0&&l?null:Vr.findFrom(e,1),h=d&&d.$from.blockRange(d.$to),f=h&&W4(h);if(f!=null&&f>=e.depth)return r&&r(t.tr.lift(h,f).scrollIntoView()),!0;if(u&&Av(a,"start",!0)&&Av(i,"end")){let p=i,g=[];for(;g.push(p),!p.isTextblock;)p=p.lastChild;let m=a,U=1;for(;!m.isTextblock;m=m.firstChild)U++;if(p.canReplace(p.childCount,p.childCount,m.content)){if(r){let y=At.empty;for(let v=g.length-1;v>=0;v--)y=At.from(g[v].copy(y));let b=t.tr.step(new eo(e.pos-g.length,e.pos+a.nodeSize,e.pos+U,e.pos+a.nodeSize-U,new tr(y,g.length,0),0,!0));r(b.scrollIntoView())}return!0}}return!1}function $ve(t){return function(e,r){let n=e.selection,i=t<0?n.$from:n.$to,a=i.depth;for(;i.node(a).isInline;){if(!a)return!1;a--}return i.node(a).isTextblock?(r&&r(e.tr.setSelection(yr.create(e.doc,t<0?i.start(a):i.end(a)))),!0):!1}}const Apt=$ve(-1),Mpt=$ve(1);function Rpt(t,e=null){return function(r,n){let{$from:i,$to:a}=r.selection,s=i.blockRange(a),o=s&&pJ(s,t,e);return o?(n&&n(r.tr.wrap(s,o).scrollIntoView()),!0):!1}}function xce(t,e=null){return function(r,n){let i=!1;for(let a=0;a<r.selection.ranges.length&&!i;a++){let{$from:{pos:s},$to:{pos:o}}=r.selection.ranges[a];r.doc.nodesBetween(s,o,(l,u)=>{if(i)return!1;if(!(!l.isTextblock||l.hasMarkup(t,e)))if(l.type==t)i=!0;else{let d=r.doc.resolve(u),h=d.index();i=d.parent.canReplaceWith(h,h+1,t)}})}if(!i)return!1;if(n){let a=r.tr;for(let s=0;s<r.selection.ranges.length;s++){let{$from:{pos:o},$to:{pos:l}}=r.selection.ranges[s];a.setBlockType(o,l,t,e)}n(a.scrollIntoView())}return!0}}function vJ(...t){return function(e,r,n){for(let i=0;i<t.length;i++)if(t[i](e,r,n))return!0;return!1}}vJ(Eve,Mve,Ive);vJ(Eve,Nve,Ove);vJ(Dve,Pve,_ve,Spt);typeof navigator<"u"?/Mac|iP(hone|[oa]d)/.test(navigator.platform):typeof os<"u"&&os.platform&&os.platform()=="darwin";function Ipt(t,e=null){return function(r,n){let{$from:i,$to:a}=r.selection,s=i.blockRange(a);if(!s)return!1;let o=n?r.tr:null;return Lpt(o,s,t,e)?(n&&n(o.scrollIntoView()),!0):!1}}function Lpt(t,e,r,n=null){let i=!1,a=e,s=e.$from.doc;if(e.depth>=2&&e.$from.node(e.depth-1).type.compatibleContent(r)&&e.startIndex==0){if(e.$from.index(e.depth-1)==0)return!1;let l=s.resolve(e.start-2);a=new DR(l,l,e.depth),e.endIndex<e.parent.childCount&&(e=new DR(e.$from,s.resolve(e.$to.end(e.depth)),e.depth)),i=!0}let o=pJ(a,r,n,e);return o?(t&&Npt(t,e,o,i,r),!0):!1}function Npt(t,e,r,n,i){let a=At.empty;for(let d=r.length-1;d>=0;d--)a=At.from(r[d].type.create(r[d].attrs,a));t.step(new eo(e.start-(n?2:0),e.end,e.start,e.end,new tr(a,0,0),r.length,!0));let s=0;for(let d=0;d<r.length;d++)r[d].type==i&&(s=d+1);let o=r.length-s,l=e.start+r.length-(n?2:0),u=e.parent;for(let d=e.startIndex,h=e.endIndex,f=!0;d<h;d++,f=!1)!f&&b0(t.doc,l,o)&&(t.split(l,o),l+=2*o),l+=u.child(d).nodeSize;return t}function Opt(t){return function(e,r){let{$from:n,$to:i}=e.selection,a=n.blockRange(i,s=>s.childCount>0&&s.firstChild.type==t);return a?r?n.node(a.depth-1).type==t?Dpt(e,r,t,a):Ppt(e,r,a):!0:!1}}function Dpt(t,e,r,n){let i=t.tr,a=n.end,s=n.$to.end(n.depth);a<s&&(i.step(new eo(a-1,s,a,s,new tr(At.from(r.create(null,n.parent.copy())),1,0),1,!0)),n=new DR(i.doc.resolve(n.$from.pos),i.doc.resolve(s),n.depth));const o=W4(n);if(o==null)return!1;i.lift(n,o);let l=i.doc.resolve(i.mapping.map(a,-1)-1);return Ml(i.doc,l.pos)&&l.nodeBefore.type==l.nodeAfter.type&&i.join(l.pos),e(i.scrollIntoView()),!0}function Ppt(t,e,r){let n=t.tr,i=r.parent;for(let p=r.end,g=r.endIndex-1,m=r.startIndex;g>m;g--)p-=i.child(g).nodeSize,n.delete(p-1,p+1);let a=n.doc.resolve(r.start),s=a.nodeAfter;if(n.mapping.map(r.end)!=r.start+a.nodeAfter.nodeSize)return!1;let o=r.startIndex==0,l=r.endIndex==i.childCount,u=a.node(-1),d=a.index(-1);if(!u.canReplace(d+(o?0:1),d+1,s.content.append(l?At.empty:At.from(i))))return!1;let h=a.pos,f=h+s.nodeSize;return n.step(new eo(h-(o?1:0),f+(l?1:0),h+1,f-1,new tr((o?At.empty:At.from(i.copy(At.empty))).append(l?At.empty:At.from(i.copy(At.empty))),o?0:1,l?0:1),o?0:1)),e(n.scrollIntoView()),!0}function _pt(t){return function(e,r){let{$from:n,$to:i}=e.selection,a=n.blockRange(i,u=>u.childCount>0&&u.firstChild.type==t);if(!a)return!1;let s=a.startIndex;if(s==0)return!1;let o=a.parent,l=o.child(s-1);if(l.type!=t)return!1;if(r){let u=l.lastChild&&l.lastChild.type==o.type,d=At.from(u?t.create():null),h=new tr(At.from(t.create(null,At.from(o.type.create(null,d)))),u?3:1,0),f=a.start,p=a.end;r(e.tr.step(new eo(f-(u?3:1),p,f,p,h,1,!0)).scrollIntoView())}return!0}}const Eo=function(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e},Mv=function(t){let e=t.assignedSlot||t.parentNode;return e&&e.nodeType==11?e.host:e};let hG=null;const Wf=function(t,e,r){let n=hG||(hG=document.createRange());return n.setEnd(t,r??t.nodeValue.length),n.setStart(t,e||0),n},Bpt=function(){hG=null},WU=function(t,e,r,n){return r&&(wce(t,e,r,n,-1)||wce(t,e,r,n,1))},$pt=/^(img|br|input|textarea|hr)$/i;function wce(t,e,r,n,i){for(var a;;){if(t==r&&e==n)return!0;if(e==(i<0?0:Yo(t))){let s=t.parentNode;if(!s||!_r(s)||XC(t)||$pt.test(t.nodeName)||t.contentEditable=="false")return!1;e=Eo(t)+(i<0?0:1),t=s}else if(_r(t)){let s=t.childNodes[e+(i<0?-1:0)];if(_r(s)&&s.contentEditable=="false")if(!((a=s.pmViewDesc)===null||a===void 0)&&a.ignoreForSelection)e+=i;else return!1;else t=s,e=i<0?Yo(t):0}else return!1}}function Yo(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function _r(t){return t.nodeType==1}function Ls(t){return t.nodeType==3}function qU(t,e){return e?t.contains(_r(e)?e:e.parentNode):!1}function Fpt(t,e){for(;;){if(Ls(t)&&e)return t;if(_r(t)&&e>0){if(t.contentEditable=="false")return null;t=t.childNodes[e-1],e=Yo(t)}else if(t.parentNode&&!XC(t))e=Eo(t),t=t.parentNode;else return null}}function zpt(t,e){for(;;){if(Ls(t)&&e<t.nodeValue.length)return t;if(_r(t)&&e<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[e],e=0}else if(t.parentNode&&!XC(t))e=Eo(t)+1,t=t.parentNode;else return null}}function Hpt(t,e,r){for(let n=e==0,i=e==Yo(t);n||i;){if(t==r)return!0;let a=Eo(t);if(t=t.parentNode,!t)return!1;n=n&&a==0,i=i&&a==Yo(t)}}function XC(t){let e;for(let r=t;r&&!(e=r.pmViewDesc);r=r.parentNode);return e&&e.node&&e.node.isBlock&&(e.dom==t||e.contentDOM==t)}const QO=function(t){return t.focusNode&&WU(t.focusNode,t.focusOffset,t.anchorNode,t.anchorOffset)};function Pm(t,e){let r=document.createEvent("Event");return r.initEvent("keydown",!0,!0),r.keyCode=t,r.key=r.code=e,r}function Vpt(t){let e=t.activeElement;for(;e&&e.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Gpt(t,e,r){if(t.caretPositionFromPoint)try{let n=t.caretPositionFromPoint(e,r);if(n)return{node:n.offsetNode,offset:Math.min(Yo(n.offsetNode),n.offset)}}catch{}if(t.caretRangeFromPoint){let n=t.caretRangeFromPoint(e,r);if(n)return{node:n.startContainer,offset:Math.min(Yo(n.startContainer),n.startOffset)}}}const qh=typeof navigator<"u"?navigator:null,Tce=typeof document<"u"?document:null,C1=qh&&qh.userAgent||"",fG=/Edge\/(\d+)/.exec(C1),Fve=/MSIE \d/.exec(C1),pG=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(C1),xc=!!(Fve||pG||fG),vg=Fve?document.documentMode:pG?+pG[1]:fG?+fG[1]:0,Xc=!xc&&/gecko\/(\d+)/i.test(C1);Xc&&+(/Firefox\/(\d+)/.exec(C1)||[0,0])[1];const gG=!xc&&/Chrome\/(\d+)/.exec(C1),Ro=!!gG,zve=gG?+gG[1]:0,el=!xc&&!!qh&&/Apple Computer/.test(qh.vendor),Rv=el&&(/Mobile\/\w+/.test(C1)||!!qh&&qh.maxTouchPoints>2),Su=Rv||(qh?/Mac/.test(qh.platform):!1),Hve=qh?/Win/.test(qh.platform):!1,n0=/Android \d/.test(C1),eD=!!Tce&&"webkitFontSmoothing"in Tce.documentElement.style,Wpt=eD?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0;function qpt(t){let e=t.defaultView&&t.defaultView.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.documentElement.clientWidth,top:0,bottom:t.documentElement.clientHeight}}function Sf(t,e){return typeof t=="number"?t:t[e]}function jpt(t){let e=t.getBoundingClientRect(),r=e.width/t.offsetWidth||1,n=e.height/t.offsetHeight||1;return{left:e.left,right:e.left+t.clientWidth*r,top:e.top,bottom:e.top+t.clientHeight*n}}function Cce(t,e,r){if(!mG(e)&&e.left==0)return;let n=t.someProp("scrollThreshold")||0,i=t.someProp("scrollMargin")||5,a=t.dom.ownerDocument;for(let s=r||t.dom;s;){if(!_r(s)){s=Mv(s);continue}let o=s==a.body,l=o?qpt(a):jpt(s),u=0,d=0;if(e.top<l.top+Sf(n,"top")?d=-(l.top-e.top+Sf(i,"top")):e.bottom>l.bottom-Sf(n,"bottom")&&(d=e.bottom-e.top>l.bottom-l.top?e.top+Sf(i,"top")-l.top:e.bottom-l.bottom+Sf(i,"bottom")),e.left<l.left+Sf(n,"left")?u=-(l.left-e.left+Sf(i,"left")):e.right>l.right-Sf(n,"right")&&(u=e.right-l.right+Sf(i,"right")),u||d)if(o)a.defaultView.scrollBy(u,d);else{let f=s.scrollLeft,p=s.scrollTop;d&&(s.scrollTop+=d),u&&(s.scrollLeft+=u);let g=s.scrollLeft-f,m=s.scrollTop-p;e={left:e.left-g,top:e.top-m,right:e.right-g,bottom:e.bottom-m}}let h=o?"fixed":getComputedStyle(s).position;if(/^(fixed|sticky)$/.test(h))break;s=h=="absolute"?s.offsetParent:Mv(s)}}function Ypt(t){let e=t.dom.getBoundingClientRect(),r=Math.max(0,e.top),n,i;for(let a=(e.left+e.right)/2,s=r+1;s<Math.min(innerHeight,e.bottom);s+=5){let o=t.root.elementFromPoint(a,s);if(!o||o==t.dom||!t.dom.contains(o))continue;let l=o.getBoundingClientRect();if(l.top>=r-20){n=o,i=l.top;break}}return{refDOM:n,refTop:i,stack:Vve(t.dom)}}function Vve(t){let e=[],r=t.ownerDocument;for(let n=t;n&&(e.push({dom:n,top:n.scrollTop,left:n.scrollLeft}),t!=r);n=Mv(n));return e}function Xpt({refDOM:t,refTop:e,stack:r}){let n=t?t.getBoundingClientRect().top:0;Gve(r,n==0?0:n-e)}function Gve(t,e){for(let r=0;r<t.length;r++){let{dom:n,top:i,left:a}=t[r];n.scrollTop!=i+e&&(n.scrollTop=i+e),n.scrollLeft!=a&&(n.scrollLeft=a)}}let py=null;function Kpt(t){if(t.setActive)return t.setActive();if(py)return t.focus(py);let e=Vve(t);t.focus(py==null?{get preventScroll(){return py={preventScroll:!0},!0}}:void 0),py||(py=!1,Gve(e,0))}function Wve(t,e){let r,n=2e8,i,a=0,s=e.top,o=e.top,l,u;for(let d=t.firstChild,h=0;d;d=d.nextSibling,h++){let f;if(_r(d))f=d.getClientRects();else if(Ls(d))f=Wf(d).getClientRects();else continue;for(let p=0;p<f.length;p++){let g=f[p];if(g.top<=s&&g.bottom>=o){s=Math.max(g.bottom,s),o=Math.min(g.top,o);let m=g.left>e.left?g.left-e.left:g.right<e.left?e.left-g.right:0;if(m<n){r=d,n=m,i=m&&Ls(r)?{left:g.right<e.left?g.right:g.left,top:e.top}:e,_r(d)&&m&&(a=h+(e.left>=(g.left+g.right)/2?1:0));continue}}else g.top>e.top&&!l&&g.left<=e.left&&g.right>=e.left&&(l=d,u={left:Math.max(g.left,Math.min(g.right,e.left)),top:g.top});!r&&(e.left>=g.right&&e.top>=g.top||e.left>=g.left&&e.top>=g.bottom)&&(a=h+1)}}return!r&&l&&(r=l,i=u,n=0),r&&Ls(r)?Zpt(r,i):!r||n?{node:t,offset:a}:Wve(r,i)}function Zpt(t,e){let r=t.nodeValue.length,n=document.createRange(),i;for(let a=0;a<r;a++){n.setEnd(t,a+1),n.setStart(t,a);let s=Hp(n,1);if(s.top!=s.bottom&&xJ(e,s)){i={node:t,offset:a+(e.left>=(s.left+s.right)/2?1:0)};break}}return n.detach(),i||{node:t,offset:0}}function xJ(t,e){return t.left>=e.left-1&&t.left<=e.right+1&&t.top>=e.top-1&&t.top<=e.bottom+1}function Jpt(t,e){let r=t.parentNode;return r&&/^li$/i.test(r.nodeName)&&e.left<t.getBoundingClientRect().left?r:t}function Qpt(t,e,r){let{node:n,offset:i}=Wve(e,r),a=-1;if(_r(n)&&!n.firstChild){let s=n.getBoundingClientRect();a=s.left!=s.right&&r.left>(s.left+s.right)/2?1:-1}return t.docView.posFromDOM(n,i,a)}function egt(t,e,r,n){let i=-1;for(let a=e,s=!1;a!=t.dom;){let o=t.docView.nearestDesc(a,!0),l;if(!o)return null;if(_r(o.dom)&&(o.node.isBlock&&o.parent||!o.contentDOM)&&((l=o.dom.getBoundingClientRect()).width||l.height)&&(o.node.isBlock&&o.parent&&!/^T(R|BODY|HEAD|FOOT)$/.test(o.dom.nodeName)&&(!s&&l.left>n.left||l.top>n.top?i=o.posBefore:(!s&&l.right<n.left||l.bottom<n.top)&&(i=o.posAfter),s=!0),!o.contentDOM&&i<0&&!o.node.isText))return(o.node.isBlock?n.top<(l.top+l.bottom)/2:n.left<(l.left+l.right)/2)?o.posBefore:o.posAfter;a=o.dom.parentNode}return i>-1?i:t.docView.posFromDOM(e,r,-1)}function qve(t,e,r){let n=t.childNodes.length;if(n&&r.top<r.bottom)for(let i=Math.max(0,Math.min(n-1,Math.floor(n*(e.top-r.top)/(r.bottom-r.top))-2)),a=i;;){let s=t.childNodes[a];if(_r(s)){let o=s.getClientRects();for(let l=0;l<o.length;l++){let u=o[l];if(xJ(e,u))return qve(s,e,u)}}if((a=(a+1)%n)==i)break}return t}function tgt(t,e){let r=t.dom.ownerDocument,n,i=0,a=Gpt(r,e.left,e.top);a&&({node:n,offset:i}=a);let s=(t.root.elementFromPoint?t.root:r).elementFromPoint(e.left,e.top),o;if(!s||!t.dom.contains(s)){let u=t.dom.getBoundingClientRect();if(!xJ(e,u)||(s=qve(t.dom,e,u),!s))return null}if(el)for(let u=s;n&&u;u=Mv(u))u.draggable&&(n=void 0);if(s=Jpt(s,e),n){if(Xc&&_r(n)&&(i=Math.min(i,n.childNodes.length),i<n.childNodes.length)){let d=n.childNodes[i],h;d.nodeName=="IMG"&&(h=d.getBoundingClientRect()).right<=e.left&&h.bottom>e.top&&i++}let u;eD&&i&&_r(n)&&_r(u=n.childNodes[i-1])&&u.contentEditable=="false"&&u.getBoundingClientRect().top>=e.top&&i--,n==t.dom&&i==n.childNodes.length-1&&_r(n.lastChild)&&e.top>n.lastChild.getBoundingClientRect().bottom?o=t.state.doc.content.size:(i==0||!_r(n)||n.childNodes[i-1].nodeName!="BR")&&(o=egt(t,n,i,e))}o==null&&(o=Qpt(t,s,e));let l=t.docView.nearestDesc(s,!0);return{pos:o,inside:l?l.posAtStart-l.border:-1}}function mG(t){return t.top<t.bottom||t.left<t.right}function Hp(t,e){let r=t.getClientRects();if(r.length){let n=r[e<0?0:r.length-1];if(mG(n))return n}return Array.prototype.find.call(r,mG)||t.getBoundingClientRect()}const rgt=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/;function jve(t,e,r){let{node:n,offset:i,atom:a}=t.docView.domFromPos(e,r<0?-1:1),s=eD||Xc;if(Ls(n))if(s&&(rgt.test(n.nodeValue)||(r<0?!i:i==n.nodeValue.length))){let l=Hp(Wf(n,i,i),r);if(Xc&&i&&/\s/.test(n.nodeValue[i-1])&&i<n.nodeValue.length){let u=Hp(Wf(n,i-1,i-1),-1);if(u.top==l.top){let d=Hp(Wf(n,i,i+1),-1);if(d.top!=l.top)return L3(d,d.left<u.left)}}return l}else{let l=i,u=i,d=r<0?1:-1;return r<0&&!i?(u++,d=-1):r>=0&&i==n.nodeValue.length?(l--,d=1):r<0?l--:u++,L3(Hp(Wf(n,l,u),d),d<0)}if(!t.state.doc.resolve(e-(a||0)).parent.inlineContent){if(a==null&&i&&(r<0||i==Yo(n))){let l=n.childNodes[i-1];if(_r(l))return i$(l.getBoundingClientRect(),!1)}if(a==null&&i<Yo(n)){let l=n.childNodes[i];if(_r(l))return i$(l.getBoundingClientRect(),!0)}return i$(n.getBoundingClientRect(),r>=0)}if(a==null&&i&&(r<0||i==Yo(n))){let l=n.childNodes[i-1],u=Ls(l)?Wf(l,Yo(l)-(s?0:1)):_r(l)&&(l.nodeName!="BR"||!l.nextSibling)?l:null;if(u)return L3(Hp(u,1),!1)}if(a==null&&i<Yo(n)){let l=n.childNodes[i];for(;l.pmViewDesc&&l.pmViewDesc.ignoreForCoords;)l=l.nextSibling;let u=l?Ls(l)?Wf(l,0,s?0:1):_r(l)?l:null:null;if(u)return L3(Hp(u,-1),!0)}return L3(Hp(Ls(n)?Wf(n):n,-r),r>=0)}function L3(t,e){if(t.width==0)return t;let r=e?t.left:t.right;return{top:t.top,bottom:t.bottom,left:r,right:r}}function i$(t,e){if(t.height==0)return t;let r=e?t.top:t.bottom;return{top:r,bottom:r,left:t.left,right:t.right}}function Yve(t,e,r){let n=t.state,i=t.root.activeElement;n!=e&&t.updateState(e),i!=t.dom&&t.focus();try{return r()}finally{n!=e&&t.updateState(n),i!=t.dom&&i&&i.focus()}}function ngt(t,e,r){let n=e.selection,i=r=="up"?n.$from:n.$to;return Yve(t,e,()=>{let{node:a}=t.docView.domFromPos(i.pos,r=="up"?-1:1);for(;;){let o=t.docView.nearestDesc(a,!0);if(!o)break;if(o.node.isBlock){a=o.contentDOM||o.dom;break}a=o.dom.parentNode}let s=jve(t,i.pos,1);for(let o=a.firstChild;o;o=o.nextSibling){let l;if(_r(o))l=o.getClientRects();else if(Ls(o))l=Wf(o,0,o.nodeValue.length).getClientRects();else continue;for(let u=0;u<l.length;u++){let d=l[u];if(d.bottom>d.top+1&&(r=="up"?s.top-d.top>(d.bottom-s.top)*2:d.bottom-s.bottom>(s.bottom-d.top)*2))return!1}}return!0})}const igt=/[\u0590-\u08ac]/;function agt(t,e,r){let{$head:n}=e.selection;if(!n.parent.isTextblock)return!1;let i=n.parentOffset,a=!i,s=i==n.parent.content.size,o=t.domSelection();return o?!igt.test(n.parent.textContent)||!o.modify?r=="left"||r=="backward"?a:s:Yve(t,e,()=>{let{focusNode:l,focusOffset:u,anchorNode:d,anchorOffset:h}=t.domSelectionRange(),f=o.caretBidiLevel;o.modify("move",r,"character");let p=n.depth?t.docView.domAfterPos(n.before()):t.dom,{focusNode:g,focusOffset:m}=t.domSelectionRange(),U=g&&!qU(p,g)||l==g&&u==m;try{o.collapse(d,h),l&&(l!=d||u!=h)&&o.extend&&o.extend(l,u)}catch{}return f!=null&&(o.caretBidiLevel=f),U}):n.pos==n.start()||n.pos==n.end()}let Sce=null,kce=null,Ece=!1;function sgt(t,e,r){return Sce==e&&kce==r?Ece:(Sce=e,kce=r,Ece=r=="up"||r=="down"?ngt(t,e,r):agt(t,e,r))}const Fu=0,Ace=1,aU=2,Ed=3;class KC{constructor(e,r,n,i){this.parent=e,this.children=r,this.dom=n,this.contentDOM=i,this.dirty=Fu,n.pmViewDesc=this}matchesWidget(e){return!1}matchesMark(e){return!1}matchesNode(e,r,n){return!1}matchesHack(e){return!1}parseRule(e){return null}stopEvent(e){return!1}get size(){let e=0;for(let r=0;r<this.children.length;r++)e+=this.children[r].size;return e}get border(){return 0}destroy(){this.parent=void 0,this.dom.pmViewDesc==this&&(this.dom.pmViewDesc=void 0);for(let e=0;e<this.children.length;e++)this.children[e].destroy()}posBeforeChild(e){for(let r=0,n=this.posAtStart;;r++){let i=this.children[r];if(i==e)return n;n+=i.size}}get posBefore(){return this.parent.posBeforeChild(this)}get posAtStart(){return this.parent?this.parent.posBeforeChild(this)+this.border:0}get posAfter(){return this.posBefore+this.size}get posAtEnd(){return this.posAtStart+this.size-2*this.border}localPosFromDOM(e,r,n){if(this.contentDOM&&qU(this.contentDOM,e))if(n<0){let a,s;if(e==this.contentDOM)a=e.childNodes[r-1];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;a=e.previousSibling}for(;a&&!((s=a.pmViewDesc)&&s.parent==this);)a=a.previousSibling;return a?this.posBeforeChild(s)+s.size:this.posAtStart}else{let a,s;if(e==this.contentDOM)a=e.childNodes[r];else{for(;e.parentNode!=this.contentDOM;)e=e.parentNode;a=e.nextSibling}for(;a&&!((s=a.pmViewDesc)&&s.parent==this);)a=a.nextSibling;return a?this.posBeforeChild(s):this.posAtEnd}let i;if(e==this.dom&&this.contentDOM)i=r>Eo(this.contentDOM);else if(this.contentDOM&&this.contentDOM!=this.dom&&this.dom.contains(this.contentDOM))i=!!(e.compareDocumentPosition(this.contentDOM)&4);else if(this.dom.firstChild){if(r==0)for(let a=e;;a=a.parentNode){if(a==this.dom){i=!1;break}if(a.previousSibling)break}if(i==null&&r==e.childNodes.length)for(let a=e;;a=a.parentNode){if(a==this.dom){i=!0;break}if(a.nextSibling)break}}return i??n>0?this.posAtEnd:this.posAtStart}nearestDesc(e,r=!1){for(let n=!0,i=e;i;i=i.parentNode){let a=this.getDesc(i),s;if(a&&(!r||a.node))if(n&&(s=a.nodeDOM)&&!(_r(s)?qU(s,e):s==e))n=!1;else return a}}getDesc(e){let r=e.pmViewDesc;for(let n=r;n;n=n.parent)if(n==this)return r}posFromDOM(e,r,n){for(let i=e;i;i=i.parentNode){let a=this.getDesc(i);if(a)return a.localPosFromDOM(e,r,n)}return-1}descAt(e){for(let r=0,n=0;r<this.children.length;r++){let i=this.children[r],a=n+i.size;if(n==e&&a!=n){for(;!i.border&&i.children.length;)for(let s=0;s<i.children.length;s++){let o=i.children[s];if(o.size){i=o;break}}return i}if(e<a)return i.descAt(e-n-i.border);n=a}}domFromPos(e,r){if(!this.contentDOM)return{node:this.dom,offset:0,atom:e+1};let n=0,i=0;for(let a=0;n<this.children.length;n++){let s=this.children[n],o=a+s.size;if(o>e){i=e-a;break}a=o}if(i)return this.children[n].domFromPos(i-this.children[n].border,r);for(;n>0;n--){let a=this.children[n-1];if(a.size||!(a instanceof Kve||a instanceof Xve&&a.side>=0))break}if(r<=0){let a,s=!0;for(;a=n?this.children[n-1]:null,!(!a||a.dom.parentNode==this.contentDOM);n--,s=!1);return a&&r&&s&&!a.border&&!a.domAtom?a.domFromPos(a.size,r):{node:this.contentDOM,offset:a?Eo(a.dom)+1:0}}else{let a,s=!0;for(;a=n<this.children.length?this.children[n]:null,!(!a||a.dom.parentNode==this.contentDOM);n++,s=!1);return a&&s&&!a.border&&!a.domAtom?a.domFromPos(0,r):{node:this.contentDOM,offset:a?Eo(a.dom):this.contentDOM.childNodes.length}}}parseRange(e,r,n=0){if(this.children.length==0)return{node:this.contentDOM,from:e,to:r,fromOffset:0,toOffset:this.contentDOM.childNodes.length};let i=-1,a=-1;for(let s=n,o=0;;o++){let l=this.children[o],u=s+l.size;if(i==-1&&e<=u){let d=s+l.border;if(e>=d&&r<=u-l.border&&l.node&&l.contentDOM&&this.contentDOM.contains(l.contentDOM))return l.parseRange(e,r,d);e=s;for(let h=o;h>0;h--){let f=this.children[h-1];if(f.size&&f.dom.parentNode==this.contentDOM&&!f.emptyChildAt(1)){i=Eo(f.dom)+1;break}e-=f.size}i==-1&&(i=0)}if(i>-1&&(u>r||o==this.children.length-1)){r=u;for(let d=o+1;d<this.children.length;d++){let h=this.children[d];if(h.size&&h.dom.parentNode==this.contentDOM&&!h.emptyChildAt(-1)){a=Eo(h.dom);break}r+=h.size}a==-1&&(a=this.contentDOM.childNodes.length);break}s=u}return{node:this.contentDOM,from:e,to:r,fromOffset:i,toOffset:a}}emptyChildAt(e){if(this.border||!this.contentDOM||!this.children.length)return!1;let r=this.children[e<0?0:this.children.length-1];return r.size==0||r.emptyChildAt(e)}domAfterPos(e){let{node:r,offset:n}=this.domFromPos(e,0);if(!_r(r)||n==r.childNodes.length)throw new RangeError("No node after pos "+e);return r.childNodes[n]}setSelection(e,r,n,i=!1){let a=Math.min(e,r),s=Math.max(e,r);for(let p=0,g=0;p<this.children.length;p++){let m=this.children[p],U=g+m.size;if(a>g&&s<U)return m.setSelection(e-g-m.border,r-g-m.border,n,i);g=U}let o=this.domFromPos(e,e?-1:1),l=r==e?o:this.domFromPos(r,r?-1:1),u=n.root.getSelection(),d=n.domSelectionRange(),h=!1;if((Xc||el)&&e==r){let{node:p,offset:g}=o;if(Ls(p)){if(h=!!(g&&p.nodeValue[g-1]==`
`),h&&g==p.nodeValue.length)for(let m=p,U;m;m=m.parentNode){if(U=m.nextSibling){U.nodeName=="BR"&&(o=l={node:U.parentNode,offset:Eo(U)+1});break}let y=m.pmViewDesc;if(y&&y.node&&y.node.isBlock)break}}else{let m=p.childNodes[g-1];h=m&&(m.nodeName=="BR"||m.contentEditable=="false")}}if(Xc&&d.focusNode&&d.focusNode!=l.node&&_r(d.focusNode)){let p=d.focusNode.childNodes[d.focusOffset];p&&p.contentEditable=="false"&&(i=!0)}if(!(i||h&&el)&&WU(o.node,o.offset,d.anchorNode,d.anchorOffset)&&WU(l.node,l.offset,d.focusNode,d.focusOffset))return;let f=!1;if((u.extend||e==r)&&!(h&&Xc)){u.collapse(o.node,o.offset);try{e!=r&&u.extend(l.node,l.offset),f=!0}catch{}}if(!f){if(e>r){let g=o;o=l,l=g}let p=document.createRange();p.setEnd(l.node,l.offset),p.setStart(o.node,o.offset),u.removeAllRanges(),u.addRange(p)}}ignoreMutation(e){return!this.contentDOM&&e.type!="selection"}get contentLost(){return this.contentDOM&&this.contentDOM!=this.dom&&!this.dom.contains(this.contentDOM)}markDirty(e,r){for(let n=0,i=0;i<this.children.length;i++){let a=this.children[i],s=n+a.size;if(n==s?e<=s&&r>=n:e<s&&r>n){let o=n+a.border,l=s-a.border;if(e>=o&&r<=l){this.dirty=e==n||r==s?aU:Ace,e==o&&r==l&&(a.contentLost||a.dom.parentNode!=this.contentDOM)?a.dirty=Ed:a.markDirty(e-o,r-o);return}else a.dirty=a.dom==a.contentDOM&&a.dom.parentNode==this.contentDOM&&!a.children.length?aU:Ed}n=s}this.dirty=aU}markParentsDirty(){let e=1;for(let r=this.parent;r;r=r.parent,e++){let n=e==1?aU:Ace;r.dirty<n&&(r.dirty=n)}}get domAtom(){return!1}get ignoreForCoords(){return!1}get ignoreForSelection(){return!1}isText(e){return!1}}class Xve extends KC{constructor(e,r,n,i){let a,s=r.type.toDOM;if(typeof s=="function"&&(s=s(n,()=>{if(!a)return i;if(a.parent)return a.parent.posBeforeChild(a)})),!r.type.spec.raw){let o=_r(s)?s:document.createElement("span");o!=s&&o.appendChild(s),o.hasAttribute("contenteditable")||(o.contentEditable="false"),o.classList.add("ProseMirror-widget")}super(e,[],s,null),this.widget=r,this.widget=r,a=this}matchesWidget(e){return this.dirty==Fu&&e.type.eq(this.widget.type)}parseRule(){return{ignore:!0}}stopEvent(e){let r=this.widget.spec.stopEvent;return r?r(e):!1}ignoreMutation(e){return e.type!="selection"||this.widget.spec.ignoreSelection}destroy(){this.widget.type.destroy(this.dom),super.destroy()}get domAtom(){return!0}get ignoreForSelection(){return!!this.widget.type.spec.relaxedSide}get side(){return this.widget.type.side}}class ogt extends KC{constructor(e,r,n,i){super(e,[],r,null),this.textDOM=n,this.text=i}get size(){return this.text.length}localPosFromDOM(e,r){return e!=this.textDOM?this.posAtStart+(r?this.size:0):this.posAtStart+r}domFromPos(e){return{node:this.textDOM,offset:e}}ignoreMutation(e){return e.type==="characterData"&&e.target.nodeValue==e.oldValue}}class xg extends KC{constructor(e,r,n,i,a){super(e,[],n,i),this.mark=r,this.spec=a}static create(e,r,n,i){let a=i.nodeViews[r.type.name],s=a&&a(r,i,n);return(!s||!s.dom)&&(s=w5.renderSpec(document,r.type.spec.toDOM(r,n),null,r.attrs)),new xg(e,r,s.dom,s.contentDOM||s.dom,s)}parseRule(){return this.dirty&Ed||this.mark.type.spec.reparseInView?null:{mark:this.mark.type.name,attrs:this.mark.attrs,contentElement:this.contentDOM}}matchesMark(e){return this.dirty!=Ed&&this.mark.eq(e)}markDirty(e,r){if(super.markDirty(e,r),this.dirty!=Fu){let n=this.parent;for(;!n.node;)n=n.parent;n.dirty<this.dirty&&(n.dirty=this.dirty),this.dirty=Fu}}slice(e,r,n){let i=xg.create(this.parent,this.mark,!0,n),a=this.children,s=this.size;r<s&&(a=yG(a,r,s,n)),e>0&&(a=yG(a,0,e,n));for(let o=0;o<a.length;o++)a[o].parent=i;return i.children=a,i}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}}class wg extends KC{constructor(e,r,n,i,a,s,o){super(e,[],a,s),this.node=r,this.outerDeco=n,this.innerDeco=i,this.nodeDOM=o}static create(e,r,n,i,a,s){let o=a.nodeViews[r.type.name],l,u=o&&o(r,a,()=>{if(!l)return s;if(l.parent)return l.parent.posBeforeChild(l)},n,i),d=u&&u.dom,h=u&&u.contentDOM;if(r.isText){if(!d)d=document.createTextNode(r.text);else if(!Ls(d))throw new RangeError("Text must be rendered as a DOM text node")}else d||({dom:d,contentDOM:h}=w5.renderSpec(document,r.type.spec.toDOM(r),null,r.attrs));!h&&!r.isText&&d.nodeName!="BR"&&(d.hasAttribute("contenteditable")||(d.contentEditable="false"),r.type.spec.draggable&&(d.draggable=!0));let f=d;return d=Qve(d,n,r),u?l=new lgt(e,r,n,i,d,h||null,f,u):r.isText?new tD(e,r,n,i,d,f):new wg(e,r,n,i,d,h||null,f)}parseRule(e){if(this.node.type.spec.reparseInView)return null;let r={node:this.node.type.name,attrs:this.node.attrs};if(this.node.type.whitespace=="pre"&&(r.preserveWhitespace="full"),!this.contentDOM)r.getContent=()=>this.node.content;else if(!this.contentLost)r.contentElement=this.contentDOM;else{for(let n=this.children.length-1;n>=0;n--){let i=this.children[n];if(this.dom.contains(i.dom.parentNode)){r.contentElement=i.dom.parentNode;break}}if(!r.contentElement){let n=e&&e.find(i=>_r(i)&&e.indexOf(i.parentNode)<0&&this.dom.contains(i));n?r.contentElement=n:r.getContent=()=>At.empty}}return r}matchesNode(e,r,n){return this.dirty==Fu&&e.eq(this.node)&&PR(r,this.outerDeco)&&n.eq(this.innerDeco)}get size(){return this.node.nodeSize}get border(){return this.node.isLeaf?0:1}updateChildren(e,r){let n=this.node.inlineContent,i=r,a=e.composing?this.localCompositionInfo(e,r):null,s=a&&a.pos>-1?a:null,o=a&&a.pos<0,l=new ugt(this,s&&s.node,e),u=this.node.inlineContent,d=u&&this.node.isBlock;fgt(this.node,this.innerDeco,(h,f,p)=>{h.spec.marks?l.syncToMarks(h.spec.marks,n,e,f):h.type.side>=0&&!p&&l.syncToMarks(f==this.node.childCount?Ri.none:this.node.child(f).marks,n,e,f),l.placeWidget(h,e,i)},(h,f,p,g)=>{l.syncToMarks(h.marks,n,e,g),d&&h.isAtom&&!h.isText&&l.addHackNode("IMG",l.top);let m;l.findNodeMatch(h,f,p,g)||o&&e.state.selection.from>i&&e.state.selection.to<i+h.nodeSize&&(m=l.findIndexWithChild(a.node))>-1&&l.updateNodeAt(h,f,p,m,e)||l.updateNextNode(h,f,p,e,g,i)||l.addNode(h,f,p,e,i),i+=h.nodeSize,u&&(d=h.isAtom&&!h.isText)}),l.syncToMarks([],n,e,0),this.node.isTextblock&&l.addTextblockHacks(),l.destroyRest(),(l.changed||this.dirty==aU)&&(s&&this.protectLocalComposition(e,s),Zve(this.contentDOM,this.children,e),Rv&&pgt(this.dom))}localCompositionInfo(e,r){let{from:n,to:i}=e.state.selection;if(!(e.state.selection instanceof yr)||n<r||i>r+this.node.content.size)return null;let a=e.input.compositionNode;if(!a||!this.dom.contains(a.parentNode))return null;if(this.node.inlineContent){let s=a.nodeValue,o=ggt(this.node.content,s,n-r,i-r);return o<0?null:{node:a,pos:o,text:s}}else return{node:a,pos:-1,text:""}}protectLocalComposition(e,{node:r,pos:n,text:i}){if(this.getDesc(r))return;let a=r;for(;a.parentNode!=this.contentDOM;a=a.parentNode){for(;a.previousSibling;)a.parentNode.removeChild(a.previousSibling);for(;a.nextSibling;)a.parentNode.removeChild(a.nextSibling);a.pmViewDesc&&(a.pmViewDesc=void 0)}let s=new ogt(this,a,r,i);e.input.compositionNodes.push(s),this.children=yG(this.children,n,n+i.length,e,s)}update(e,r,n,i){return this.dirty==Ed||!e.sameMarkup(this.node)?!1:(this.updateInner(e,r,n,i),!0)}updateInner(e,r,n,i){this.updateOuterDeco(r),this.node=e,this.innerDeco=n,this.contentDOM&&this.updateChildren(i,this.posAtStart),this.dirty=Fu}updateOuterDeco(e){if(PR(e,this.outerDeco))return;let r=!_r(this.nodeDOM),n=this.dom;this.dom=Jve(this.dom,this.nodeDOM,UG(this.outerDeco,this.node,r),UG(e,this.node,r)),this.dom!=n&&(n.pmViewDesc=void 0,this.dom.pmViewDesc=this),this.outerDeco=e}selectNode(){_r(this.nodeDOM)&&(this.nodeDOM.classList.add("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&(this.nodeDOM.draggable=!0))}deselectNode(){_r(this.nodeDOM)&&(this.nodeDOM.classList.remove("ProseMirror-selectednode"),(this.contentDOM||!this.node.type.spec.draggable)&&this.nodeDOM.removeAttribute("draggable"))}get domAtom(){return this.node.isAtom}}function Mce(t,e,r,n,i){Qve(n,e,t);let a=new wg(void 0,t,e,r,n,n,n);return a.contentDOM&&a.updateChildren(i,0),a}class tD extends wg{constructor(e,r,n,i,a,s){super(e,r,n,i,a,null,s)}parseRule(){let e=this.nodeDOM.parentNode;for(;e&&e!=this.dom&&!e.pmIsDeco;)e=e.parentNode;return{skip:e||!0}}update(e,r,n,i){return this.dirty==Ed||this.dirty!=Fu&&!this.inParent()||!e.sameMarkup(this.node)?!1:(this.updateOuterDeco(r),(this.dirty!=Fu||e.text!=this.node.text)&&e.text!=this.nodeDOM.nodeValue&&(this.nodeDOM.nodeValue=e.text,i.trackWrites==this.nodeDOM&&(i.trackWrites=null)),this.node=e,this.dirty=Fu,!0)}inParent(){let e=this.parent.contentDOM;for(let r=this.nodeDOM;r;r=r.parentNode)if(r==e)return!0;return!1}domFromPos(e){return{node:this.nodeDOM,offset:e}}localPosFromDOM(e,r,n){return e==this.nodeDOM?this.posAtStart+Math.min(r,this.node.text.length):super.localPosFromDOM(e,r,n)}ignoreMutation(e){return e.type!="characterData"&&e.type!="selection"}slice(e,r,n){let i=this.node.cut(e,r),a=document.createTextNode(i.text);return new tD(this.parent,i,this.outerDeco,this.innerDeco,a,a)}markDirty(e,r){super.markDirty(e,r),this.dom!=this.nodeDOM&&(e==0||r==this.nodeDOM.nodeValue.length)&&(this.dirty=Ed)}get domAtom(){return!1}isText(e){return this.node.text==e}}class Kve extends KC{parseRule(){return{ignore:!0}}matchesHack(e){return this.dirty==Fu&&this.dom.nodeName==e}get domAtom(){return!0}get ignoreForCoords(){return this.dom.nodeName=="IMG"}}class lgt extends wg{constructor(e,r,n,i,a,s,o,l){super(e,r,n,i,a,s,o),this.spec=l}update(e,r,n,i){if(this.dirty==Ed)return!1;if(this.spec.update&&(this.node.type==e.type||this.spec.multiType)){let a=this.spec.update(e,r,n);return a&&this.updateInner(e,r,n,i),a}else return!this.contentDOM&&!e.isLeaf?!1:super.update(e,r,n,i)}selectNode(){this.spec.selectNode?this.spec.selectNode():super.selectNode()}deselectNode(){this.spec.deselectNode?this.spec.deselectNode():super.deselectNode()}setSelection(e,r,n,i){this.spec.setSelection?this.spec.setSelection(e,r,n.root):super.setSelection(e,r,n,i)}destroy(){this.spec.destroy&&this.spec.destroy(),super.destroy()}stopEvent(e){return this.spec.stopEvent?this.spec.stopEvent(e):!1}ignoreMutation(e){return this.spec.ignoreMutation?this.spec.ignoreMutation(e):super.ignoreMutation(e)}}function Zve(t,e,r){let n=t.firstChild,i=!1;for(let a=0;a<e.length;a++){let s=e[a],o=s.dom;if(o.parentNode==t){for(;o!=n;)n=Rce(n),i=!0;n=n.nextSibling}else i=!0,t.insertBefore(o,n);if(s instanceof xg){let l=n?n.previousSibling:t.lastChild;Zve(s.contentDOM,s.children,r),n=l?l.nextSibling:t.firstChild}}for(;n;)n=Rce(n),i=!0;i&&r.trackWrites==t&&(r.trackWrites=null)}const Px=function(t){t&&(this.nodeName=t)};Px.prototype=Object.create(null);const sU=[new Px];function UG(t,e,r){if(t.length==0)return sU;let n=r?sU[0]:new Px,i=[n];for(let a=0;a<t.length;a++){let s=t[a].type.attrs;if(s){s.nodeName&&i.push(n=new Px(s.nodeName));for(let o in s){let l=s[o];l!=null&&(r&&i.length==1&&i.push(n=new Px(e.isInline?"span":"div")),o=="class"?n.class=(n.class?n.class+" ":"")+l:o=="style"?n.style=(n.style?n.style+";":"")+l:o!="nodeName"&&(n[o]=l))}}}return i}function Jve(t,e,r,n){if(r==sU&&n==sU)return e;let i=e;for(let a=0;a<n.length;a++){let s=n[a],o=r[a];if(a){let l;o&&o.nodeName==s.nodeName&&i!=t&&(l=i.parentNode)&&l.nodeName.toLowerCase()==s.nodeName||(l=document.createElement(s.nodeName),l.pmIsDeco=!0,l.appendChild(i),o=sU[0]),i=l}cgt(i,o||sU[0],s)}return i}function cgt(t,e,r){for(let n in e)n!="class"&&n!="style"&&n!="nodeName"&&!(n in r)&&t.removeAttribute(n);for(let n in r)n!="class"&&n!="style"&&n!="nodeName"&&r[n]!=e[n]&&t.setAttribute(n,r[n]);if(e.class!=r.class){let n=e.class?e.class.split(" ").filter(Boolean):[],i=r.class?r.class.split(" ").filter(Boolean):[];for(let a=0;a<n.length;a++)i.indexOf(n[a])==-1&&t.classList.remove(n[a]);for(let a=0;a<i.length;a++)n.indexOf(i[a])==-1&&t.classList.add(i[a]);t.classList.length==0&&t.removeAttribute("class")}if(e.style!=r.style){if(e.style){let n=/\s*([\w\-\xa1-\uffff]+)\s*:(?:"(?:\\.|[^"])*"|'(?:\\.|[^'])*'|\(.*?\)|[^;])*/g,i;for(;i=n.exec(e.style);)t.style.removeProperty(i[1])}r.style&&(t.style.cssText+=r.style)}}function Qve(t,e,r){return Jve(t,t,sU,UG(e,r,!_r(t)))}function PR(t,e){if(t.length!=e.length)return!1;for(let r=0;r<t.length;r++)if(!t[r].type.eq(e[r].type))return!1;return!0}function Rce(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class ugt{constructor(e,r,n){this.lock=r,this.view=n,this.index=0,this.stack=[],this.changed=!1,this.top=e,this.preMatch=dgt(e.node.content,e)}destroyBetween(e,r){if(e!=r){for(let n=e;n<r;n++)this.top.children[n].destroy();this.top.children.splice(e,r-e),this.changed=!0}}destroyRest(){this.destroyBetween(this.index,this.top.children.length)}syncToMarks(e,r,n,i){let a=0,s=this.stack.length>>1,o=Math.min(s,e.length);for(;a<o&&(a==s-1?this.top:this.stack[a+1<<1]).matchesMark(e[a])&&e[a].type.spec.spanning!==!1;)a++;for(;a<s;)this.destroyRest(),this.top.dirty=Fu,this.index=this.stack.pop(),this.top=this.stack.pop(),s--;for(;s<e.length;){this.stack.push(this.top,this.index+1);let l=-1,u=this.top.children.length;i<this.preMatch.index&&(u=Math.min(this.index+3,u));for(let d=this.index;d<u;d++){let h=this.top.children[d];if(h.matchesMark(e[s])&&!this.isLocked(h.dom)){l=d;break}}if(l<0&&this.index<this.top.children.length){let d=this.top.children[this.index];d instanceof xg&&d.dirty!=Ed&&d.mark.type==e[s].type&&d.spec.update&&!this.isLocked(d.dom)&&d.spec.update(e[s])&&(d.mark=e[s],l=this.index,this.changed=!0)}if(l>-1)l>this.index&&(this.changed=!0,this.destroyBetween(this.index,l)),this.top=this.top.children[this.index];else{let d=xg.create(this.top,e[s],r,n);this.top.children.splice(this.index,0,d),this.top=d,this.changed=!0}this.index=0,s++}}findNodeMatch(e,r,n,i){let a=-1,s;if(i>=this.preMatch.index&&(s=this.preMatch.matches[i-this.preMatch.index]).parent==this.top&&s.matchesNode(e,r,n))a=this.top.children.indexOf(s,this.index);else for(let o=this.index,l=Math.min(this.top.children.length,o+5);o<l;o++){let u=this.top.children[o];if(u.matchesNode(e,r,n)&&!this.preMatch.matched.has(u)){a=o;break}}return a<0?!1:(this.destroyBetween(this.index,a),this.index++,!0)}updateNodeAt(e,r,n,i,a){let s=this.top.children[i];return s.dirty==Ed&&s.dom==s.contentDOM&&(s.dirty=aU),s.update(e,r,n,a)?(this.destroyBetween(this.index,i),this.index++,!0):!1}findIndexWithChild(e){for(;;){let r=e.parentNode;if(!r)return-1;if(r==this.top.contentDOM){let n=e.pmViewDesc;if(n){for(let i=this.index;i<this.top.children.length;i++)if(this.top.children[i]==n)return i}return-1}e=r}}updateNextNode(e,r,n,i,a,s){for(let o=this.index;o<this.top.children.length;o++){let l=this.top.children[o];if(l instanceof wg){let u=this.preMatch.matched.get(l);if(u!=null&&u!=a)return!1;let d=l.dom,h,f=this.isLocked(d)&&!(e.isText&&l.node&&l.node.isText&&l.nodeDOM.nodeValue==e.text&&l.dirty!=Ed&&PR(r,l.outerDeco));if(!f&&l.update(e,r,n,i))return this.destroyBetween(this.index,o),l.dom!=d&&(this.changed=!0),this.index++,!0;if(!f&&(h=this.recreateWrapper(l,e,r,n,i,s)))return this.destroyBetween(this.index,o),this.top.children[this.index]=h,h.contentDOM&&(h.dirty=aU,h.updateChildren(i,s+1),h.dirty=Fu),this.changed=!0,this.index++,!0;break}}return!1}recreateWrapper(e,r,n,i,a,s){if(e.dirty||r.isAtom||!e.children.length||!e.node.content.eq(r.content)||!PR(n,e.outerDeco)||!i.eq(e.innerDeco))return null;let o=wg.create(this.top,r,n,i,a,s);if(o.contentDOM){o.children=e.children,e.children=[];for(let l of o.children)l.parent=o}return e.destroy(),o}addNode(e,r,n,i,a){let s=wg.create(this.top,e,r,n,i,a);s.contentDOM&&s.updateChildren(i,a+1),this.top.children.splice(this.index++,0,s),this.changed=!0}placeWidget(e,r,n){let i=this.index<this.top.children.length?this.top.children[this.index]:null;if(i&&i.matchesWidget(e)&&(e==i.widget||!i.widget.type.toDOM.parentNode))this.index++;else{let a=new Xve(this.top,e,r,n);this.top.children.splice(this.index++,0,a),this.changed=!0}}addTextblockHacks(){let e=this.top.children[this.index-1],r=this.top;for(;e instanceof xg;)r=e,e=r.children[r.children.length-1];(!e||!(e instanceof tD)||/\n$/.test(e.node.text)||this.view.requiresGeckoHackNode&&/\s$/.test(e.node.text))&&((el||Ro)&&e&&e.dom.contentEditable=="false"&&this.addHackNode("IMG",r),this.addHackNode("BR",this.top))}addHackNode(e,r){if(r==this.top&&this.index<r.children.length&&r.children[this.index].matchesHack(e))this.index++;else{let n=document.createElement(e);e=="IMG"&&(n.className="ProseMirror-separator",n.alt=""),e=="BR"&&(n.className="ProseMirror-trailingBreak");let i=new Kve(this.top,[],n,null);r!=this.top?r.children.push(i):r.children.splice(this.index++,0,i),this.changed=!0}}isLocked(e){return this.lock&&(e==this.lock||_r(e)&&e.contains(this.lock.parentNode))}}function dgt(t,e){let r=e,n=r.children.length,i=t.childCount,a=new Map,s=[];e:for(;i>0;){let o;for(;;)if(n){let u=r.children[n-1];if(u instanceof xg)r=u,n=u.children.length;else{o=u,n--;break}}else{if(r==e)break e;n=r.parent.children.indexOf(r),r=r.parent}let l=o.node;if(l){if(l!=t.child(i-1))break;--i,a.set(o,i),s.push(o)}}return{index:i,matched:a,matches:s.reverse()}}function hgt(t,e){return t.type.side-e.type.side}function fgt(t,e,r,n){let i=e.locals(t),a=0;if(i.length==0){for(let u=0;u<t.childCount;u++){let d=t.child(u);n(d,i,e.forChild(a,d),u),a+=d.nodeSize}return}let s=0,o=[],l=null;for(let u=0;;){let d,h;for(;s<i.length&&i[s].to==a;){let U=i[s++];U.widget&&(d?(h||(h=[d])).push(U):d=U)}if(d)if(h){h.sort(hgt);for(let U=0;U<h.length;U++)r(h[U],u,!!l)}else r(d,u,!!l);let f,p;if(l)p=-1,f=l,l=null;else if(u<t.childCount)p=u,f=t.child(u++);else break;for(let U=0;U<o.length;U++)o[U].to<=a&&o.splice(U--,1);for(;s<i.length&&i[s].from<=a&&i[s].to>a;)o.push(i[s++]);let g=a+f.nodeSize;if(f.isText){let U=g;s<i.length&&i[s].from<U&&(U=i[s].from);for(let y=0;y<o.length;y++)o[y].to<U&&(U=o[y].to);U<g&&(l=f.cut(U-a),f=f.cut(0,U-a),g=U,p=-1)}else for(;s<i.length&&i[s].to<g;)s++;let m=f.isInline&&!f.isLeaf?o.filter(U=>!U.inline):o.slice();n(f,m,e.forChild(a,f),p),a=g}}function pgt(t){if(t.nodeName=="UL"||t.nodeName=="OL"){let e=t.style.cssText;t.style.cssText=e+"; list-style: square !important",window.getComputedStyle(t).listStyle,t.style.cssText=e}}function ggt(t,e,r,n){for(let i=0,a=0;i<t.childCount&&a<=n;){let s=t.child(i++),o=a;if(a+=s.nodeSize,!s.isText)continue;let l=s.text;for(;i<t.childCount;){let u=t.child(i++);if(a+=u.nodeSize,!u.isText)break;l+=u.text}if(a>=r){if(a>=n&&l.slice(n-e.length-o,n-o)==e)return n-e.length;let u=o<n?l.lastIndexOf(e,n-o-1):-1;if(u>=0&&u+e.length+o>=r)return o+u;if(r==n&&l.length>=n+e.length-o&&l.slice(n-o,n-o+e.length)==e)return n}}return-1}function yG(t,e,r,n,i){let a=[];for(let s=0,o=0;s<t.length;s++){let l=t[s],u=o,d=o+=l.size;u>=r||d<=e?a.push(l):(u<e&&a.push(l.slice(0,e-u,n)),i&&(a.push(i),i=void 0),d>r&&a.push(l.slice(r-u,l.size,n)))}return a}function wJ(t,e=null){let r=t.domSelectionRange(),n=t.state.doc;if(!r.focusNode)return null;let i=t.docView.nearestDesc(r.focusNode),a=i&&i.size==0,s=t.docView.posFromDOM(r.focusNode,r.focusOffset,1);if(s<0)return null;let o=n.resolve(s),l,u;if(QO(r)){for(l=s;i&&!i.node;)i=i.parent;if(i&&i.node.isAtom&&Nr.isSelectable(i.node)&&i.parent&&!(i.node.isInline&&Hpt(r.focusNode,r.focusOffset,i.dom))){let h=i.posBefore;u=new Nr(s==h?o:n.resolve(h))}else if(Xc&&e=="key"&&s>t.state.selection.to&&_r(r.focusNode)&&r.focusOffset==r.focusNode.childNodes.length&&i&&i.posAtStart>t.state.selection.to)for(let h=r.focusNode;;h=h.parentNode){if(getComputedStyle(h).overflow!="visible"){u=Vr.findFrom(n.resolve(i.posAtStart),1);break}if(h==i.dom||h.nextSibling||!h.parentNode||!_r(h.parentNode))break}}else{if(r instanceof t.dom.ownerDocument.defaultView.Selection&&r.rangeCount>1){let h=s,f=s;for(let p=0;p<r.rangeCount;p++){let g=r.getRangeAt(p);h=Math.min(h,t.docView.posFromDOM(g.startContainer,g.startOffset,1)),f=Math.max(f,t.docView.posFromDOM(g.endContainer,g.endOffset,-1))}if(h<0)return null;[l,s]=f==t.state.selection.anchor?[f,h]:[h,f],o=n.resolve(s)}else l=t.docView.posFromDOM(r.anchorNode,r.anchorOffset,1);if(l<0)return null}let d=n.resolve(l);if(!u){let h=e=="pointer"||t.state.selection.head<o.pos&&!a?1:-1;u=TJ(t,d,o,h)}return u}function e4e(t){return t.editable?t.hasFocus():r4e(t)&&document.activeElement&&document.activeElement.contains(t.dom)}function v0(t,e=!1){let r=t.state.selection;if(t4e(t,r),!e4e(t))return;let n=t.input.mouseDown;if(!e&&Ro&&n){let i=t.domSelectionRange(),a=t.domObserver.currentSelection;if(i.anchorNode&&a.anchorNode&&WU(i.anchorNode,i.anchorOffset,a.anchorNode,a.anchorOffset)&&n.delaySelUpdate()){t.domObserver.setCurSelection();return}}if(t.domObserver.disconnectSelection(),t.cursorWrapper)Ugt(t);else{let{anchor:i,head:a}=r,s,o;Ice&&!(r instanceof yr)&&(r.$from.parent.inlineContent||(s=Lce(t,r.from)),!r.empty&&!r.$from.parent.inlineContent&&(o=Lce(t,r.to))),t.docView.setSelection(i,a,t,e),Ice&&(s&&Nce(s),o&&Nce(o)),r.visible?t.dom.classList.remove("ProseMirror-hideselection"):(t.dom.classList.add("ProseMirror-hideselection"),"onselectionchange"in document&&mgt(t))}t.domObserver.setCurSelection(),t.domObserver.connectSelection()}const Ice=el||Ro&&zve<63;function Lce(t,e){let{node:r,offset:n}=t.docView.domFromPos(e,0),i=n<r.childNodes.length?r.childNodes[n]:null,a=n?r.childNodes[n-1]:null;if(el&&i&&i.contentEditable=="false")return a$(i);if((!i||i.contentEditable=="false")&&(!a||a.contentEditable=="false")){if(i)return a$(i);if(a)return a$(a)}}function a$(t){return t.contentEditable="true",el&&t.draggable&&(t.draggable=!1,t.wasDraggable=!0),t}function Nce(t){t.contentEditable="false",t.wasDraggable&&(t.draggable=!0,t.wasDraggable=null)}function mgt(t){let e=t.dom.ownerDocument;e.removeEventListener("selectionchange",t.input.hideSelectionGuard);let r=t.domSelectionRange(),n=r.anchorNode,i=r.anchorOffset;e.addEventListener("selectionchange",t.input.hideSelectionGuard=()=>{(r.anchorNode!=n||r.anchorOffset!=i)&&(e.removeEventListener("selectionchange",t.input.hideSelectionGuard),setTimeout(()=>{(!e4e(t)||t.state.selection.visible)&&t.dom.classList.remove("ProseMirror-hideselection")},20))})}function Ugt(t){let e=t.domSelection();if(!e)return;let r=t.cursorWrapper.dom,n=r.nodeName=="IMG";n?e.collapse(r.parentNode,Eo(r)+1):e.collapse(r,0),!n&&!t.state.selection.visible&&xc&&vg<=11&&(r.disabled=!0,r.disabled=!1)}function t4e(t,e){if(e instanceof Nr){let r=t.docView.descAt(e.from);r!=t.lastSelectedViewDesc&&(Oce(t),r&&r.selectNode(),t.lastSelectedViewDesc=r)}else Oce(t)}function Oce(t){t.lastSelectedViewDesc&&(t.lastSelectedViewDesc.parent&&t.lastSelectedViewDesc.deselectNode(),t.lastSelectedViewDesc=void 0)}function TJ(t,e,r,n){return t.someProp("createSelectionBetween",i=>i(t,e,r))||yr.between(e,r,n)}function Dce(t){return t.editable&&!t.hasFocus()?!1:r4e(t)}function r4e(t){let e=t.domSelectionRange();if(!e.anchorNode)return!1;try{return qU(t.dom,e.anchorNode)&&(t.editable||qU(t.dom,e.focusNode))}catch{return!1}}function ygt(t){let e=t.docView.domFromPos(t.state.selection.anchor,0),r=t.domSelectionRange();return WU(e.node,e.offset,r.anchorNode,r.anchorOffset)}function bG(t,e){let{$anchor:r,$head:n}=t.selection,i=e>0?r.max(n):r.min(n),a=i.parent.inlineContent?i.depth?t.doc.resolve(e>0?i.after():i.before()):null:i;return a&&Vr.findFrom(a,e)}function Wp(t,e){return t.dispatch(t.state.tr.setSelection(e).scrollIntoView()),!0}function Pce(t,e,r){let n=t.state.selection;if(n instanceof yr)if(r.indexOf("s")>-1){let{$head:i}=n,a=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter;if(!a||a.isText||!a.isLeaf)return!1;let s=t.state.doc.resolve(i.pos+a.nodeSize*(e<0?-1:1));return Wp(t,new yr(n.$anchor,s))}else if(n.empty){if(t.endOfTextblock(e>0?"forward":"backward")){let i=bG(t.state,e);return i&&i instanceof Nr?Wp(t,i):!1}else if(!(Su&&r.indexOf("m")>-1)){let i=n.$head,a=i.textOffset?null:e<0?i.nodeBefore:i.nodeAfter,s;if(!a||a.isText)return!1;let o=e<0?i.pos-a.nodeSize:i.pos;return a.isAtom||(s=t.docView.descAt(o))&&!s.contentDOM?Nr.isSelectable(a)?Wp(t,new Nr(e<0?t.state.doc.resolve(i.pos-a.nodeSize):i)):Wp(t,new yr(t.state.doc.resolve(e<0?o:o+a.nodeSize))):!1}}else return!1;else{if(n instanceof Nr&&n.node.isInline)return Wp(t,new yr(e>0?n.$to:n.$from));{let i=bG(t.state,e);return i?Wp(t,i):!1}}}function _x(t,e){let r=t.pmViewDesc;return r?r.size==0&&(e<0||t.nextSibling||t.nodeName!="BR"):_r(t)&&t.contentEditable=="false"}function gy(t,e){return e<0?bgt(t):vgt(t)}function bgt(t){let e=t.domSelectionRange(),r=e.focusNode,n=e.focusOffset;if(!r)return;let i,a,s=!1;for(Xc&&_r(r)&&n<Yo(r)&&_x(r.childNodes[n],-1)&&(s=!0);;)if(n>0){if(!_r(r))break;let o=r.childNodes[n-1];if(_x(o,-1))i=r,a=--n;else if(Ls(o))r=o,n=r.nodeValue.length;else break}else{if(n4e(r))break;{let o=r.previousSibling;for(;o&&_x(o,-1);)i=r.parentNode,a=Eo(o),o=o.previousSibling;if(o)r=o,n=Yo(r);else{if(r=r.parentNode,r==t.dom)break;n=0}}}s?vG(t,r,n):i&&vG(t,i,a)}function vgt(t){let e=t.domSelectionRange(),r=e.focusNode,n=e.focusOffset;if(!r)return;let i=Yo(r),a,s;for(;;)if(n<i){if(!_r(r))break;let o=r.childNodes[n];if(_x(o,1))a=r,s=++n;else break}else{if(n4e(r))break;{let o=r.nextSibling;for(;o&&_x(o,1);)a=o.parentNode,s=Eo(o)+1,o=o.nextSibling;if(o)r=o,n=0,i=Yo(r);else{if(r=r.parentNode,r==t.dom)break;n=i=0}}}a&&vG(t,a,s)}function n4e(t){let e=t.pmViewDesc;return e&&e.node&&e.node.isBlock}function xgt(t,e){for(;t&&e==t.childNodes.length&&!XC(t);)e=Eo(t)+1,t=t.parentNode;for(;t&&e<t.childNodes.length;){let r=t.childNodes[e];if(Ls(r))return r;if(_r(r)&&r.contentEditable=="false")break;t=r,e=0}}function wgt(t,e){for(;t&&!e&&!XC(t);)e=Eo(t),t=t.parentNode;for(;t&&e;){let r=t.childNodes[e-1];if(Ls(r))return r;if(_r(r)&&r.contentEditable=="false")break;t=r,e=t.childNodes.length}}function vG(t,e,r){if(!Ls(e)){let a,s;(s=xgt(e,r))?(e=s,r=0):(a=wgt(e,r))&&(e=a,r=a.nodeValue.length)}let n=t.domSelection();if(!n)return;if(QO(n)){let a=document.createRange();a.setEnd(e,r),a.setStart(e,r),n.removeAllRanges(),n.addRange(a)}else n.extend&&n.extend(e,r);t.domObserver.setCurSelection();let{state:i}=t;setTimeout(()=>{t.state==i&&v0(t)},50)}function _ce(t,e){let r=t.state.doc.resolve(e);if(!(Ro||Hve)&&r.parent.inlineContent){let i=t.coordsAtPos(e);if(e>r.start()){let a=t.coordsAtPos(e-1),s=(a.top+a.bottom)/2;if(s>i.top&&s<i.bottom&&Math.abs(a.left-i.left)>1)return a.left<i.left?"ltr":"rtl"}if(e<r.end()){let a=t.coordsAtPos(e+1),s=(a.top+a.bottom)/2;if(s>i.top&&s<i.bottom&&Math.abs(a.left-i.left)>1)return a.left>i.left?"ltr":"rtl"}}return getComputedStyle(t.dom).direction=="rtl"?"rtl":"ltr"}function Bce(t,e,r){let n=t.state.selection;if(n instanceof yr&&!n.empty||r.indexOf("s")>-1||Su&&r.indexOf("m")>-1)return!1;let{$from:i,$to:a}=n;if(!i.parent.inlineContent||t.endOfTextblock(e<0?"up":"down")){let s=bG(t.state,e);if(s&&s instanceof Nr)return Wp(t,s)}if(!i.parent.inlineContent){let s=e<0?i:a,o=n instanceof Yc?Vr.near(s,e):Vr.findFrom(s,e);return o?Wp(t,o):!1}return!1}function $ce(t,e){if(!(t.state.selection instanceof yr))return!0;let{$head:r,$anchor:n,empty:i}=t.state.selection;if(!r.sameParent(n))return!0;if(!i)return!1;if(t.endOfTextblock(e>0?"forward":"backward"))return!0;let a=!r.textOffset&&(e<0?r.nodeBefore:r.nodeAfter);if(a&&!a.isText){let s=t.state.tr;return e<0?s.delete(r.pos-a.nodeSize,r.pos):s.delete(r.pos,r.pos+a.nodeSize),t.dispatch(s),!0}return!1}function Fce(t,e,r){t.domObserver.stop(),e.contentEditable=r,t.domObserver.start()}function Tgt(t){if(!el||t.state.selection.$head.parentOffset>0)return!1;let{focusNode:e,focusOffset:r}=t.domSelectionRange();if(e&&_r(e)&&r==0&&e.firstChild&&_r(e.firstChild)&&e.firstChild.contentEditable=="false"){let n=e.firstChild;Fce(t,n,"true"),setTimeout(()=>Fce(t,n,"false"),20)}return!1}function Cgt(t){let e="";return t.ctrlKey&&(e+="c"),t.metaKey&&(e+="m"),t.altKey&&(e+="a"),t.shiftKey&&(e+="s"),e}function Sgt(t,e){let r=e.keyCode,n=Cgt(e);if(r==8||Su&&r==72&&n=="c")return $ce(t,-1)||gy(t,-1);if(r==46&&!e.shiftKey||Su&&r==68&&n=="c")return $ce(t,1)||gy(t,1);if(r==13||r==27)return!0;if(r==37||Su&&r==66&&n=="c"){let i=r==37?_ce(t,t.state.selection.from)=="ltr"?-1:1:-1;return Pce(t,i,n)||gy(t,i)}else if(r==39||Su&&r==70&&n=="c"){let i=r==39?_ce(t,t.state.selection.from)=="ltr"?1:-1:1;return Pce(t,i,n)||gy(t,i)}else{if(r==38||Su&&r==80&&n=="c")return Bce(t,-1,n)||gy(t,-1);if(r==40||Su&&r==78&&n=="c")return Tgt(t)||Bce(t,1,n)||gy(t,1);if(n==(Su?"m":"c")&&(r==66||r==73||r==89||r==90))return!0}return!1}function CJ(t,e){t.someProp("transformCopied",p=>{e=p(e,t)});let r=[],{content:n,openStart:i,openEnd:a}=e;for(;i>1&&a>1&&n.childCount==1&&n.firstChild.childCount==1;){i--,a--;let p=n.firstChild;r.push(p.type.name,p.attrs!=p.type.defaultAttrs?p.attrs:null),n=p.content}let s=t.someProp("clipboardSerializer")||w5.fromSchema(t.state.schema),o=c4e(),l=o.createElement("div");l.appendChild(s.serializeFragment(n,{document:o}));let u=l.firstChild,d,h=0;for(;u&&_r(u)&&(d=l4e[u.nodeName.toLowerCase()]);){for(let p=d.length-1;p>=0;p--){let g=o.createElement(d[p]);for(;l.firstChild;)g.appendChild(l.firstChild);l.appendChild(g),h++}u=l.firstChild}u&&_r(u)&&u.setAttribute("data-pm-slice",`${i} ${a}${h?` -${h}`:""} ${JSON.stringify(r)}`);let f=t.someProp("clipboardTextSerializer",p=>p(e,t))||e.content.textBetween(0,e.content.size,`
`);return{dom:l,text:f,slice:e}}function i4e(t,e,r,n,i){let a=i.parent.type.spec.code,s,o;if(!r&&!e)return null;let l=!!e&&(n||a||!r);if(l){if(t.someProp("transformPastedText",f=>{e=f(e,a||n,t)}),a)return o=new tr(At.from(t.state.schema.text(e.replace(/\r\n?/g,`
`))),0,0),t.someProp("transformPasted",f=>{o=f(o,t,!0)}),o;let h=t.someProp("clipboardTextParser",f=>f(e,i,n,t));if(h)o=h;else{let f=i.marks(),{schema:p}=t.state,g=w5.fromSchema(p);s=document.createElement("div"),e.split(/(?:\r\n?|\n)+/).forEach(m=>{let U=s.appendChild(document.createElement("p"));m&&U.appendChild(g.serializeNode(p.text(m,f)))})}}else t.someProp("transformPastedHTML",h=>{r=h(r,t)}),s=Mgt(r),eD&&Rgt(s);let u=s&&s.querySelector("[data-pm-slice]"),d=u&&/^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(u.getAttribute("data-pm-slice")||"");if(d&&d[3])for(let h=+d[3];h>0;h--){let f=s.firstChild;for(;f&&!_r(f);)f=f.nextSibling;if(!f)break;s=f}if(o||(o=(t.someProp("clipboardParser")||t.someProp("domParser")||ab.fromSchema(t.state.schema)).parseSlice(s,{preserveWhitespace:!!(l||d),context:i,ruleFromNode(f){return f.nodeName=="BR"&&!f.nextSibling&&f.parentNode&&!kgt.test(f.parentNode.nodeName)?{ignore:!0}:null}})),d)o=Igt(zce(o,+d[1],+d[2]),d[4]);else if(o=tr.maxOpen(Egt(o.content,i),!0),o.openStart||o.openEnd){let h=0,f=0;for(let p=o.content.firstChild;h<o.openStart&&!p.type.spec.isolating;h++,p=p.firstChild);for(let p=o.content.lastChild;f<o.openEnd&&!p.type.spec.isolating;f++,p=p.lastChild);o=zce(o,h,f)}return t.someProp("transformPasted",h=>{o=h(o,t,l)}),o}const kgt=/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;function Egt(t,e){if(t.childCount<2)return t;for(let r=e.depth;r>=0;r--){let i=e.node(r).contentMatchAt(e.index(r)),a,s=[];if(t.forEach(o=>{if(!s)return;let l=i.findWrapping(o.type),u;if(!l)return s=null;if(u=s.length&&a.length&&s4e(l,a,o,s[s.length-1],0))s[s.length-1]=u;else{s.length&&(s[s.length-1]=o4e(s[s.length-1],a.length));let d=a4e(o,l);s.push(d),i=i.matchType(d.type),a=l}}),s)return At.from(s)}return t}function a4e(t,e,r=0){for(let n=e.length-1;n>=r;n--)t=e[n].create(null,At.from(t));return t}function s4e(t,e,r,n,i){if(i<t.length&&i<e.length&&t[i]==e[i]){let a=s4e(t,e,r,n.lastChild,i+1);if(a)return n.copy(n.content.replaceChild(n.childCount-1,a));if(n.contentMatchAt(n.childCount).matchType(i==t.length-1?r.type:t[i+1]))return n.copy(n.content.append(At.from(a4e(r,t,i+1))))}}function o4e(t,e){if(e==0)return t;let r=t.content.replaceChild(t.childCount-1,o4e(t.lastChild,e-1)),n=t.contentMatchAt(t.childCount).fillBefore(At.empty,!0);return t.copy(r.append(n))}function xG(t,e,r,n,i,a){let s=e<0?t.firstChild:t.lastChild,o=s.content;return t.childCount>1&&(a=0),i<n-1&&(o=xG(o,e,r,n,i+1,a)),i>=r&&(o=e<0?s.contentMatchAt(0).fillBefore(o,a<=i).append(o):o.append(s.contentMatchAt(s.childCount).fillBefore(At.empty,!0))),t.replaceChild(e<0?0:t.childCount-1,s.copy(o))}function zce(t,e,r){return e<t.openStart&&(t=new tr(xG(t.content,-1,e,t.openStart,0,t.openEnd),e,t.openEnd)),r<t.openEnd&&(t=new tr(xG(t.content,1,r,t.openEnd,0,0),t.openStart,r)),t}const l4e={thead:["table"],tbody:["table"],tfoot:["table"],caption:["table"],colgroup:["table"],col:["table","colgroup"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","tbody","tr"]};function c4e(){return document.implementation.createHTMLDocument("title")}let N3=null;function Agt(t){let e=window.trustedTypes;if(!e)return t;if(!N3){if(N3=e.defaultPolicy)try{return N3.createHTML(t)}catch{}N3=e.createPolicy("ProseMirrorClipboard",{createHTML:r=>r})}return N3.createHTML(t)}function Mgt(t){let e=/^(\s*<meta [^>]*>)*/.exec(t);e&&(t=t.slice(e[0].length));let r=c4e(),n=r.body,i=/<([a-z][^>\s]+)/i.exec(t),a;if((a=i&&l4e[i[1].toLowerCase()])&&(t=a.map(s=>"<"+s+">").join("")+t+a.map(s=>"</"+s+">").reverse().join("")),n.innerHTML=Agt(t),a)for(let s=0;s<a.length;s++)n=n.querySelector(a[s])||n;for(let s=0;s<r.styleSheets.length;s++){let o=r.styleSheets[s];for(let l=0;l<o.rules.length;l++){let u=o.rules[l];if(u instanceof CSSStyleRule){let d=n.querySelectorAll(u.selectorText);for(let h=0;h<d.length;h++)d[h].style.cssText+=u.style.cssText}}}return n}function Rgt(t){let e=t.querySelectorAll(Ro?"span:not([class]):not([style])":"span.Apple-converted-space");for(let r=0;r<e.length;r++){let n=e[r];n.childNodes.length==1&&n.textContent==" "&&n.parentNode&&n.parentNode.replaceChild(t.ownerDocument.createTextNode(" "),n)}}function Igt(t,e){if(!t.size)return t;let r=t.content.firstChild.type.schema,n;try{n=JSON.parse(e)}catch{return t}let{content:i,openStart:a,openEnd:s}=t;for(let o=n.length-2;o>=0;o-=2){let l=r.nodes[n[o]];if(!l||l.hasRequiredAttrs())break;try{i=At.from(l.create(n[o+1],i))}catch{break}a++,s++}return new tr(i,a,s)}const zl={},Hl={},Lgt={touchstart:!0,touchmove:!0};class Ngt{constructor(){this.shiftKey=!1,this.mouseDown=null,this.lastKeyCode=null,this.lastKeyCodeTime=0,this.lastClick={time:0,x:0,y:0,type:"",button:0},this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastIOSEnter=0,this.lastIOSEnterFallbackTimeout=-1,this.lastFocus=0,this.lastTouch=0,this.lastChromeDelete=0,this.composing=!1,this.compositionNode=null,this.composingTimeout=-1,this.compositionNodes=[],this.compositionEndedAt=-2e8,this.compositionID=1,this.badSafariComposition=!1,this.compositionPendingChanges=0,this.domChangeCount=0,this.eventHandlers=Object.create(null),this.hideSelectionGuard=null}}function Ogt(t){for(let e in zl){let r=zl[e];t.dom.addEventListener(e,t.input.eventHandlers[e]=n=>{Pgt(t,n)&&!SJ(t,n)&&(t.editable||!(n.type in Hl))&&r(t,n)},Lgt[e]?{passive:!0}:void 0)}el&&t.dom.addEventListener("input",()=>null),wG(t)}function i0(t,e){t.input.lastSelectionOrigin=e,t.input.lastSelectionTime=Date.now()}function Dgt(t){t.input.mouseDown&&t.input.mouseDown.done(),t.domObserver.stop();for(let e in t.input.eventHandlers)t.dom.removeEventListener(e,t.input.eventHandlers[e]);clearTimeout(t.input.composingTimeout),clearTimeout(t.input.lastIOSEnterFallbackTimeout)}function wG(t){t.someProp("handleDOMEvents",e=>{for(let r in e)t.input.eventHandlers[r]||t.dom.addEventListener(r,t.input.eventHandlers[r]=n=>SJ(t,n))})}function SJ(t,e){return t.someProp("handleDOMEvents",r=>{let n=r[e.type];return n?n(t,e)||e.defaultPrevented:!1})}function Pgt(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let r=e.target;r!=t.dom;r=r.parentNode)if(!r||r.nodeType==11||r.pmViewDesc&&r.pmViewDesc.stopEvent(e))return!1;return!0}function _gt(t,e){!SJ(t,e)&&zl[e.type]&&(t.editable||!(e.type in Hl))&&zl[e.type](t,e)}Hl.keydown=(t,e)=>{let r=e;if(t.input.shiftKey=r.keyCode==16||r.shiftKey,!f4e(t)&&(t.input.lastKeyCode=r.keyCode,t.input.lastKeyCodeTime=Date.now(),!(n0&&Ro&&r.keyCode==13)))if(r.keyCode!=229&&t.domObserver.forceFlush(),Rv&&r.keyCode==13&&!r.ctrlKey&&!r.altKey&&!r.metaKey){let n=Date.now();t.input.lastIOSEnter=n,t.input.lastIOSEnterFallbackTimeout=setTimeout(()=>{t.input.lastIOSEnter==n&&(t.someProp("handleKeyDown",i=>i(t,Pm(13,"Enter"))),t.input.lastIOSEnter=0)},200)}else t.someProp("handleKeyDown",n=>n(t,r))||Sgt(t,r)?r.preventDefault():i0(t,"key")};Hl.keyup=(t,e)=>{e.keyCode==16&&(t.input.shiftKey=!1)};Hl.keypress=(t,e)=>{let r=e;if(f4e(t)||!r.charCode||r.ctrlKey&&!r.altKey||Su&&r.metaKey)return;if(t.someProp("handleKeyPress",i=>i(t,r))){r.preventDefault();return}let n=t.state.selection;if(!(n instanceof yr)||!n.$from.sameParent(n.$to)){let i=String.fromCharCode(r.charCode),a=()=>t.state.tr.insertText(i).scrollIntoView();!/[\r\n]/.test(i)&&!t.someProp("handleTextInput",s=>s(t,n.$from.pos,n.$to.pos,i,a))&&t.dispatch(a()),r.preventDefault()}};function ZC(t){return{left:t.clientX,top:t.clientY}}function Bgt(t,e){let r=e.x-t.clientX,n=e.y-t.clientY;return r*r+n*n<100}function kJ(t,e,r,n,i){if(n==-1)return!1;let a=t.state.doc.resolve(n);for(let s=a.depth+1;s>0;s--)if(t.someProp(e,o=>s>a.depth?o(t,r,a.nodeAfter,a.before(s),i,!0):o(t,r,a.node(s),a.before(s),i,!1)))return!0;return!1}function JC(t,e,r){if(t.focused||t.focus(),t.state.selection.eq(e))return;let n=t.state.tr.setSelection(e);n.setMeta("pointer",!0),t.dispatch(n)}function $gt(t,e){if(e==-1)return!1;let r=t.state.doc.resolve(e),n=r.nodeAfter;return n&&n.isAtom&&Nr.isSelectable(n)?(JC(t,new Nr(r)),!0):!1}function Fgt(t,e){if(e==-1)return!1;let r=t.state.selection,n,i;r instanceof Nr&&(n=r.node);let a=t.state.doc.resolve(e);for(let s=a.depth+1;s>0;s--){let o=s>a.depth?a.nodeAfter:a.node(s);if(Nr.isSelectable(o)){n&&r.$from.depth>0&&s>=r.$from.depth&&a.before(r.$from.depth+1)==r.$from.pos?i=a.before(r.$from.depth):i=a.before(s);break}}return i!=null?(JC(t,Nr.create(t.state.doc,i)),!0):!1}function zgt(t,e,r,n,i){return kJ(t,"handleClickOn",e,r,n)||t.someProp("handleClick",a=>a(t,e,n))||(i?Fgt(t,r):$gt(t,r))}function Hgt(t,e,r,n){return kJ(t,"handleDoubleClickOn",e,r,n)||t.someProp("handleDoubleClick",i=>i(t,e,n))}function Vgt(t,e,r,n){return kJ(t,"handleTripleClickOn",e,r,n)||t.someProp("handleTripleClick",i=>i(t,e,n))||Ggt(t,r,n)}function Ggt(t,e,r){if(r.button!=0)return!1;let n=u4e(t,e,!0),i=t.state.doc;return n?(JC(t,n),n instanceof yr&&i.eq(t.state.doc)&&(t.input.mouseDown=new qgt(t,n)),!0):!1}function u4e(t,e,r){let n=t.state.doc;if(e==-1)return n.inlineContent?yr.create(n,0,n.content.size):null;let i=n.resolve(e);for(let a=i.depth+1;a>0;a--){let s=a>i.depth?i.nodeAfter:i.node(a),o=i.before(a);if(s.inlineContent)return yr.create(n,o+1,o+1+s.content.size);if(r&&Nr.isSelectable(s))return Nr.create(n,o)}return null}function EJ(t){return _R(t)}const d4e=Su?"metaKey":"ctrlKey";zl.mousedown=(t,e)=>{let r=e;t.input.shiftKey=r.shiftKey;let n=EJ(t),i=Date.now(),a="singleClick";i-t.input.lastClick.time<500&&Bgt(r,t.input.lastClick)&&!r[d4e]&&t.input.lastClick.button==r.button&&(t.input.lastClick.type=="singleClick"?a="doubleClick":t.input.lastClick.type=="doubleClick"&&(a="tripleClick")),t.input.lastClick={time:i,x:r.clientX,y:r.clientY,type:a,button:r.button},t.input.mouseDown&&t.input.mouseDown.done();let s=t.posAtCoords(ZC(r));s&&(a=="singleClick"?t.input.mouseDown=new Wgt(t,s,r,!!n):(a=="doubleClick"?Hgt:Vgt)(t,s.pos,s.inside,r)?r.preventDefault():i0(t,"pointer"))};class h4e{constructor(e){this.view=e,this.mightDrag=null,e.root.addEventListener("mouseup",this.up=this.up.bind(this)),e.root.addEventListener("mousemove",this.move=this.move.bind(this))}up(e){this.done()}move(e){e.buttons==0&&this.done()}done(){this.view.root.removeEventListener("mouseup",this.up),this.view.root.removeEventListener("mousemove",this.move),this.view.input.mouseDown==this&&(this.view.input.mouseDown=null)}delaySelUpdate(){return!1}}class Wgt extends h4e{constructor(e,r,n,i){super(e),this.pos=r,this.event=n,this.flushed=i,this.delayedSelectionSync=!1,this.startDoc=e.state.doc,this.selectNode=!!n[d4e],this.allowDefault=n.shiftKey;let a,s;if(r.inside>-1)a=e.state.doc.nodeAt(r.inside),s=r.inside;else{let d=e.state.doc.resolve(r.pos);a=d.parent,s=d.depth?d.before():0}const o=i?null:n.target,l=o?e.docView.nearestDesc(o,!0):null;this.target=l&&_r(l.nodeDOM)?l.nodeDOM:null;let{selection:u}=e.state;n.button==0&&(a.type.spec.draggable&&a.type.spec.selectable!==!1||u instanceof Nr&&u.from<=s&&u.to>s)&&(this.mightDrag={node:a,pos:s,addAttr:!!(this.target&&!this.target.draggable),setUneditable:!!(this.target&&Xc&&!this.target.hasAttribute("contentEditable"))}),this.target&&this.mightDrag&&(this.mightDrag.addAttr||this.mightDrag.setUneditable)&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&(this.target.draggable=!0),this.mightDrag.setUneditable&&setTimeout(()=>{this.view.input.mouseDown==this&&this.target.setAttribute("contentEditable","false")},20),this.view.domObserver.start()),i0(e,"pointer")}done(){super.done(),this.mightDrag&&this.target&&(this.view.domObserver.stop(),this.mightDrag.addAttr&&this.target.removeAttribute("draggable"),this.mightDrag.setUneditable&&this.target.removeAttribute("contentEditable"),this.view.domObserver.start()),this.delayedSelectionSync&&setTimeout(()=>{this.view.isDestroyed||v0(this.view)})}up(e){if(this.done(),!this.view.dom.contains(e.target))return;let r=this.pos;this.view.state.doc!=this.startDoc&&(r=this.view.posAtCoords(ZC(e))),this.updateAllowDefault(e),this.allowDefault||!r?i0(this.view,"pointer"):zgt(this.view,r.pos,r.inside,e,this.selectNode)?e.preventDefault():e.button==0&&(this.flushed||el&&this.mightDrag&&!this.mightDrag.node.isAtom||Ro&&!this.view.state.selection.visible&&Math.min(Math.abs(r.pos-this.view.state.selection.from),Math.abs(r.pos-this.view.state.selection.to))<=2)?(JC(this.view,Vr.near(this.view.state.doc.resolve(r.pos))),e.preventDefault()):i0(this.view,"pointer")}move(e){this.updateAllowDefault(e),i0(this.view,"pointer"),super.move(e)}updateAllowDefault(e){!this.allowDefault&&(Math.abs(this.event.x-e.clientX)>4||Math.abs(this.event.y-e.clientY)>4)&&(this.allowDefault=!0)}delaySelUpdate(){return this.allowDefault?(this.delayedSelectionSync=!0,!0):!1}}class qgt extends h4e{constructor(e,r){super(e),this.startSelection=r,this.startDoc=e.state.doc}move(e){if(e.buttons==0||this.view.isDestroyed||!this.view.state.doc.eq(this.startDoc)){this.done();return}e.preventDefault(),i0(this.view,"pointer");let r=this.view.posAtCoords(ZC(e)),n=r&&u4e(this.view,r.inside,!1);if(!n)return;let{doc:i}=this.view.state,a=this.startSelection,[s,o]=n.from<a.from?[a.to,n.from]:[a.from,n.to];JC(this.view,yr.create(i,s,o))}}zl.touchstart=t=>{t.input.lastTouch=Date.now(),EJ(t),i0(t,"pointer")};zl.touchmove=t=>{t.input.lastTouch=Date.now(),i0(t,"pointer")};zl.contextmenu=t=>EJ(t);function f4e(t,e){return t.composing?!0:el&&Math.abs(Date.now()-t.input.compositionEndedAt)<500?(t.input.compositionEndedAt=-2e8,!0):!1}const jgt=n0?5e3:-1;Hl.compositionstart=Hl.compositionupdate=t=>{if(!t.composing){t.domObserver.flush();let{state:e}=t,r=e.selection.$to;if(e.selection instanceof yr&&e.selection.empty&&(e.storedMarks||!r.textOffset&&r.parentOffset&&r.nodeBefore.marks.some(n=>n.type.spec.inclusive===!1)||Ro&&Hve&&Ygt(t)))t.markCursor=t.state.storedMarks||r.marks(),_R(t,!0),t.markCursor=null;else if(_R(t,!e.selection.empty),Xc&&e.selection.empty&&r.parentOffset&&!r.textOffset&&r.nodeBefore.marks.length){let n=t.domSelectionRange();for(let i=n.focusNode,a=n.focusOffset;i&&_r(i)&&a!=0;){let s=a<0?i.lastChild:i.childNodes[a-1];if(!s)break;if(Ls(s)){let o=t.domSelection();o&&o.collapse(s,s.nodeValue.length);break}else i=s,a=-1}}t.input.composing=!0}p4e(t,jgt)};function Ygt(t){let{focusNode:e,focusOffset:r}=t.domSelectionRange();if(!e||!_r(e)||r>=e.childNodes.length)return!1;let n=e.childNodes[r];return _r(n)&&n.contentEditable=="false"}Hl.compositionend=(t,e)=>{t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=Date.now(),t.input.compositionPendingChanges=t.domObserver.pendingRecords().length?t.input.compositionID:0,t.input.compositionNode=null,t.input.badSafariComposition?t.domObserver.forceFlush():t.input.compositionPendingChanges&&Promise.resolve().then(()=>t.domObserver.flush()),t.input.compositionID++,p4e(t,20))};function p4e(t,e){clearTimeout(t.input.composingTimeout),e>-1&&(t.input.composingTimeout=setTimeout(()=>_R(t),e))}function g4e(t){for(t.composing&&(t.input.composing=!1,t.input.compositionEndedAt=Date.now());t.input.compositionNodes.length>0;)t.input.compositionNodes.pop().markParentsDirty()}function Xgt(t){let e=t.domSelectionRange();if(!e.focusNode)return null;let r=Fpt(e.focusNode,e.focusOffset),n=zpt(e.focusNode,e.focusOffset);if(r&&n&&r!=n){let i=n.pmViewDesc,a=t.domObserver.lastChangedTextNode;if(r==a||n==a)return a;if(!i||!i.isText(n.nodeValue))return n;if(t.input.compositionNode==n){let s=r.pmViewDesc;if(!(!s||!s.isText(r.nodeValue)))return n}}return r||n}function _R(t,e=!1){if(!(n0&&t.domObserver.flushingSoon>=0)){if(t.domObserver.forceFlush(),g4e(t),e||t.docView&&t.docView.dirty){let r=wJ(t),n=t.state.selection;return r&&!r.eq(n)?t.dispatch(t.state.tr.setSelection(r)):(t.markCursor||e)&&!n.$from.node(n.$from.sharedDepth(n.to)).inlineContent?t.dispatch(t.state.tr.deleteSelection()):t.updateState(t.state),!0}return!1}}function Kgt(t,e){if(!t.dom.parentNode)return;let r=t.dom.parentNode.appendChild(document.createElement("div"));r.appendChild(e),r.style.cssText="position: fixed; left: -10000px; top: 10px";let n=getSelection(),i=document.createRange();i.selectNodeContents(e),t.dom.blur(),n.removeAllRanges(),n.addRange(i),setTimeout(()=>{r.parentNode&&r.parentNode.removeChild(r),t.focus()},50)}const nT=xc&&vg<15||Rv&&Wpt<604;zl.copy=Hl.cut=(t,e)=>{let r=e,n=t.state.selection,i=r.type=="cut";if(n.empty)return;let a=nT?null:r.clipboardData,s=n.content(),{dom:o,text:l}=CJ(t,s);a?(r.preventDefault(),a.clearData(),a.setData("text/html",o.innerHTML),a.setData("text/plain",l)):Kgt(t,o),i&&t.dispatch(t.state.tr.deleteSelection().scrollIntoView().setMeta("uiEvent","cut"))};function Zgt(t){return t.openStart==0&&t.openEnd==0&&t.content.childCount==1?t.content.firstChild:null}function Jgt(t,e){if(!t.dom.parentNode)return;let r=t.input.shiftKey||t.state.selection.$from.parent.type.spec.code,n=t.dom.parentNode.appendChild(document.createElement(r?"textarea":"div"));r||(n.contentEditable="true"),n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus();let i=t.input.shiftKey&&t.input.lastKeyCode!=45;setTimeout(()=>{t.focus(),n.parentNode&&n.parentNode.removeChild(n),r?iT(t,n.value,null,i,e):iT(t,n.textContent,n.innerHTML,i,e)},50)}function iT(t,e,r,n,i){let a=i4e(t,e,r,n,t.state.selection.$from);if(t.someProp("handlePaste",l=>l(t,i,a||tr.empty)))return!0;if(!a)return!1;let s=Zgt(a),o=s?t.state.tr.replaceSelectionWith(s,n):t.state.tr.replaceSelection(a);return t.dispatch(o.scrollIntoView().setMeta("paste",!0).setMeta("uiEvent","paste")),!0}function m4e(t){let e=t.getData("text/plain")||t.getData("Text");if(e)return e;let r=t.getData("text/uri-list");return r?r.replace(/\r?\n/g," "):""}Hl.paste=(t,e)=>{let r=e;if(t.composing&&!n0)return;let n=nT?null:r.clipboardData,i=t.input.shiftKey&&t.input.lastKeyCode!=45;n&&iT(t,m4e(n),n.getData("text/html"),i,r)?r.preventDefault():Jgt(t,r)};class U4e{constructor(e,r,n){this.slice=e,this.move=r,this.node=n}}const Qgt=Su?"altKey":"ctrlKey";function y4e(t,e){let r;return t.someProp("dragCopies",n=>{r=r||n(e)}),r!=null?!r:!e[Qgt]}zl.dragstart=(t,e)=>{let r=e,n=t.input.mouseDown;if(n&&n.done(),!r.dataTransfer)return;let i=t.state.selection,a=i.empty?null:t.posAtCoords(ZC(r)),s;if(!(a&&a.pos>=i.from&&a.pos<=(i instanceof Nr?i.to-1:i.to))){if(n&&n.mightDrag)s=Nr.create(t.state.doc,n.mightDrag.pos);else if(r.target&&_r(r.target)){let h=t.docView.nearestDesc(r.target,!0);h&&h.node.type.spec.draggable&&h!=t.docView&&(s=Nr.create(t.state.doc,h.posBefore))}}let o=(s||t.state.selection).content(),{dom:l,text:u,slice:d}=CJ(t,o);(!r.dataTransfer.files.length||!Ro||zve>120)&&r.dataTransfer.clearData(),r.dataTransfer.setData(nT?"Text":"text/html",l.innerHTML),r.dataTransfer.effectAllowed="copyMove",nT||r.dataTransfer.setData("text/plain",u),t.dragging=new U4e(d,y4e(t,r),s)};zl.dragend=t=>{let e=t.dragging;window.setTimeout(()=>{t.dragging==e&&(t.dragging=null)},50)};Hl.dragover=Hl.dragenter=(t,e)=>e.preventDefault();Hl.drop=(t,e)=>{try{e1t(t,e,t.dragging)}finally{t.dragging=null}};function e1t(t,e,r){if(!e.dataTransfer)return;let n=t.posAtCoords(ZC(e));if(!n)return;let i=t.state.doc.resolve(n.pos),a=r&&r.slice;a?t.someProp("transformPasted",p=>{a=p(a,t,!1)}):a=i4e(t,m4e(e.dataTransfer),nT?null:e.dataTransfer.getData("text/html"),!1,i);let s=!!(r&&y4e(t,e));if(t.someProp("handleDrop",p=>p(t,e,a||tr.empty,s))){e.preventDefault();return}if(!a)return;e.preventDefault();let o=a?bve(t.state.doc,i.pos,a):i.pos;o==null&&(o=i.pos);let l=t.state.tr;if(s){let{node:p}=r;p?p.replace(l):l.deleteSelection()}let u=l.mapping.map(o),d=a.openStart==0&&a.openEnd==0&&a.content.childCount==1,h=l.doc;if(d?l.replaceRangeWith(u,u,a.content.firstChild):l.replaceRange(u,u,a),l.doc.eq(h))return;let f=l.doc.resolve(u);if(d&&Nr.isSelectable(a.content.firstChild)&&f.nodeAfter&&f.nodeAfter.sameMarkup(a.content.firstChild))l.setSelection(new Nr(f));else{let p=l.mapping.map(o);l.mapping.maps[l.mapping.maps.length-1].forEach((g,m,U,y)=>p=y),l.setSelection(TJ(t,f,l.doc.resolve(p)))}t.focus(),t.dispatch(l.setMeta("uiEvent","drop"))}zl.focus=t=>{t.input.lastFocus=Date.now(),t.focused||(t.domObserver.stop(),t.dom.classList.add("ProseMirror-focused"),t.domObserver.start(),t.focused=!0,setTimeout(()=>{t.docView&&t.hasFocus()&&!t.domObserver.currentSelection.eq(t.domSelectionRange())&&v0(t)},20))};zl.blur=(t,e)=>{let r=e;t.focused&&(t.domObserver.stop(),t.dom.classList.remove("ProseMirror-focused"),t.domObserver.start(),r.relatedTarget&&t.dom.contains(r.relatedTarget)&&t.domObserver.currentSelection.clear(),t.focused=!1)};zl.beforeinput=(t,e)=>{if(n0&&e.inputType=="deleteContentBackward"){t.domObserver.flushSoon();let{domChangeCount:n}=t.input;setTimeout(()=>{if(t.input.domChangeCount!=n||(t.dom.blur(),t.focus(),t.someProp("handleKeyDown",a=>a(t,Pm(8,"Backspace")))))return;let{$cursor:i}=t.state.selection;i&&i.pos>0&&t.dispatch(t.state.tr.delete(i.pos-1,i.pos).scrollIntoView())},50)}};for(let t in Hl)zl[t]=Hl[t];function aT(t,e){if(t==e)return!0;for(let r in t)if(t[r]!==e[r])return!1;for(let r in e)if(!(r in t))return!1;return!0}class BR{constructor(e,r){this.toDOM=e,this.spec=r||kU,this.side=this.spec.side||0}map(e,r,n,i){let{pos:a,deleted:s}=e.mapResult(r.from+i,this.side<0?-1:1);return s?null:new Js(a-n,a-n,this)}valid(){return!0}eq(e){return this==e||e instanceof BR&&(this.spec.key&&this.spec.key==e.spec.key||this.toDOM==e.toDOM&&aT(this.spec,e.spec))}destroy(e){this.spec.destroy&&this.spec.destroy(e)}}class Tg{constructor(e,r){this.attrs=e,this.spec=r||kU}map(e,r,n,i){let a=e.map(r.from+i,this.spec.inclusiveStart?-1:1)-n,s=e.map(r.to+i,this.spec.inclusiveEnd?1:-1)-n;return a>=s?null:new Js(a,s,this)}valid(e,r){return r.from<r.to}eq(e){return this==e||e instanceof Tg&&aT(this.attrs,e.attrs)&&aT(this.spec,e.spec)}static is(e){return e.type instanceof Tg}destroy(){}}class AJ{constructor(e,r){this.attrs=e,this.spec=r||kU}map(e,r,n,i){let a=e.mapResult(r.from+i,1);if(a.deleted)return null;let s=e.mapResult(r.to+i,-1);return s.deleted||s.pos<=a.pos?null:new Js(a.pos-n,s.pos-n,this)}valid(e,r){let{index:n,offset:i}=e.content.findIndex(r.from),a;return i==r.from&&!(a=e.child(n)).isText&&i+a.nodeSize==r.to}eq(e){return this==e||e instanceof AJ&&aT(this.attrs,e.attrs)&&aT(this.spec,e.spec)}destroy(){}}class Js{constructor(e,r,n){this.from=e,this.to=r,this.type=n}copy(e,r){return new Js(e,r,this.type)}eq(e,r=0){return this.type.eq(e.type)&&this.from+r==e.from&&this.to+r==e.to}map(e,r,n){return this.type.map(e,this,r,n)}static widget(e,r,n){return new Js(e,e,new BR(r,n))}static inline(e,r,n,i){return new Js(e,r,new Tg(n,i))}static node(e,r,n,i){return new Js(e,r,new AJ(n,i))}get spec(){return this.type.spec}get inline(){return this.type instanceof Tg}get widget(){return this.type instanceof BR}}const Zy=[],kU={};class qn{constructor(e,r){this.local=e.length?e:Zy,this.children=r.length?r:Zy}static create(e,r){return r.length?$R(r,e,0,kU):qo}find(e,r,n){let i=[];return this.findInner(e??0,r??1e9,i,0,n),i}findInner(e,r,n,i,a){for(let s=0;s<this.local.length;s++){let o=this.local[s];o.from<=r&&o.to>=e&&(!a||a(o.spec))&&n.push(o.copy(o.from+i,o.to+i))}for(let s=0;s<this.children.length;s+=3)if(this.children[s]<r&&this.children[s+1]>e){let o=this.children[s]+1;this.children[s+2].findInner(e-o,r-o,n,i+o,a)}}map(e,r,n){return this==qo||e.maps.length==0?this:this.mapInner(e,r,0,0,n||kU)}mapInner(e,r,n,i,a){let s;for(let o=0;o<this.local.length;o++){let l=this.local[o].map(e,n,i);l&&l.type.valid(r,l)?(s||(s=[])).push(l):a.onRemove&&a.onRemove(this.local[o].spec)}return this.children.length?t1t(this.children,s||[],e,r,n,i,a):s?new qn(s.sort(EU),Zy):qo}add(e,r){return r.length?this==qo?qn.create(e,r):this.addInner(e,r,0):this}addInner(e,r,n){let i,a=0;e.forEach((o,l)=>{let u=l+n,d;if(d=v4e(r,o,u)){for(i||(i=this.children.slice());a<i.length&&i[a]<l;)a+=3;i[a]==l?i[a+2]=i[a+2].addInner(o,d,u+1):i.splice(a,0,l,l+o.nodeSize,$R(d,o,u+1,kU)),a+=3}});let s=b4e(a?x4e(r):r,-n);for(let o=0;o<s.length;o++)s[o].type.valid(e,s[o])||s.splice(o--,1);return new qn(s.length?this.local.concat(s).sort(EU):this.local,i||this.children)}remove(e){return e.length==0||this==qo?this:this.removeInner(e,0)}removeInner(e,r){let n=this.children,i=this.local;for(let a=0;a<n.length;a+=3){let s,o=n[a]+r,l=n[a+1]+r;for(let d=0,h;d<e.length;d++)(h=e[d])&&h.from>o&&h.to<l&&(e[d]=null,(s||(s=[])).push(h));if(!s)continue;n==this.children&&(n=this.children.slice());let u=n[a+2].removeInner(s,o+1);u!=qo?n[a+2]=u:(n.splice(a,3),a-=3)}if(i.length){for(let a=0,s;a<e.length;a++)if(s=e[a])for(let o=0;o<i.length;o++)i[o].eq(s,r)&&(i==this.local&&(i=this.local.slice()),i.splice(o--,1))}return n==this.children&&i==this.local?this:i.length||n.length?new qn(i,n):qo}forChild(e,r){if(this==qo)return this;if(r.isLeaf)return qn.empty;let n,i;for(let o=0;o<this.children.length;o+=3)if(this.children[o]>=e){this.children[o]==e&&(n=this.children[o+2]);break}let a=e+1,s=a+r.content.size;for(let o=0;o<this.local.length;o++){let l=this.local[o];if(l.from<s&&l.to>a&&l.type instanceof Tg){let u=Math.max(a,l.from)-a,d=Math.min(s,l.to)-a;u<d&&(i||(i=[])).push(l.copy(u,d))}}if(i){let o=new qn(i.sort(EU),Zy);return n?new ig([o,n]):o}return n||qo}eq(e){if(this==e)return!0;if(!(e instanceof qn)||this.local.length!=e.local.length||this.children.length!=e.children.length)return!1;for(let r=0;r<this.local.length;r++)if(!this.local[r].eq(e.local[r]))return!1;for(let r=0;r<this.children.length;r+=3)if(this.children[r]!=e.children[r]||this.children[r+1]!=e.children[r+1]||!this.children[r+2].eq(e.children[r+2]))return!1;return!0}locals(e){return MJ(this.localsInner(e))}localsInner(e){if(this==qo)return Zy;if(e.inlineContent||!this.local.some(Tg.is))return this.local;let r=[];for(let n=0;n<this.local.length;n++)this.local[n].type instanceof Tg||r.push(this.local[n]);return r}forEachSet(e){e(this)}}qn.empty=new qn([],[]);qn.removeOverlap=MJ;const qo=qn.empty;class ig{constructor(e){this.members=e}map(e,r){const n=this.members.map(i=>i.map(e,r,kU));return ig.from(n)}forChild(e,r){if(r.isLeaf)return qn.empty;let n=[];for(let i=0;i<this.members.length;i++){let a=this.members[i].forChild(e,r);a!=qo&&(a instanceof ig?n=n.concat(a.members):n.push(a))}return ig.from(n)}eq(e){if(!(e instanceof ig)||e.members.length!=this.members.length)return!1;for(let r=0;r<this.members.length;r++)if(!this.members[r].eq(e.members[r]))return!1;return!0}locals(e){let r,n=!0;for(let i=0;i<this.members.length;i++){let a=this.members[i].localsInner(e);if(a.length)if(!r)r=a;else{n&&(r=r.slice(),n=!1);for(let s=0;s<a.length;s++)r.push(a[s])}}return r?MJ(n?r:r.sort(EU)):Zy}static from(e){switch(e.length){case 0:return qo;case 1:return e[0];default:return new ig(e.every(r=>r instanceof qn)?e:e.reduce((r,n)=>r.concat(n instanceof qn?n:n.members),[]))}}forEachSet(e){for(let r=0;r<this.members.length;r++)this.members[r].forEachSet(e)}}function t1t(t,e,r,n,i,a,s){let o=t.slice();for(let u=0,d=a;u<r.maps.length;u++){let h=0;r.maps[u].forEach((f,p,g,m)=>{let U=m-g-(p-f);for(let y=0;y<o.length;y+=3){let b=o[y+1];if(b<0||f>b+d-h)continue;let v=o[y]+d-h;p>=v?o[y+1]=f<=v?-2:-1:f>=d&&U&&(o[y]+=U,o[y+1]+=U)}h+=U}),d=r.maps[u].map(d,-1)}let l=!1;for(let u=0;u<o.length;u+=3)if(o[u+1]<0){if(o[u+1]==-2){l=!0,o[u+1]=-1;continue}let d=r.map(t[u]+a),h=d-i;if(h<0||h>=n.content.size){l=!0;continue}let f=r.map(t[u+1]+a,-1),p=f-i,{index:g,offset:m}=n.content.findIndex(h),U=n.maybeChild(g);if(U&&m==h&&m+U.nodeSize==p){let y=o[u+2].mapInner(r,U,d+1,t[u]+a+1,s);y!=qo?(o[u]=h,o[u+1]=p,o[u+2]=y):(o[u+1]=-2,l=!0)}else l=!0}if(l){let u=r1t(o,t,e,r,i,a,s),d=$R(u,n,0,s);e=d.local;for(let h=0;h<o.length;h+=3)o[h+1]<0&&(o.splice(h,3),h-=3);for(let h=0,f=0;h<d.children.length;h+=3){let p=d.children[h];for(;f<o.length&&o[f]<p;)f+=3;o.splice(f,0,d.children[h],d.children[h+1],d.children[h+2])}}return new qn(e.sort(EU),o)}function b4e(t,e){if(!e||!t.length)return t;let r=[];for(let n=0;n<t.length;n++){let i=t[n];r.push(new Js(i.from+e,i.to+e,i.type))}return r}function r1t(t,e,r,n,i,a,s){function o(l,u){for(let d=0;d<l.local.length;d++){let h=l.local[d].map(n,i,u);h?r.push(h):s.onRemove&&s.onRemove(l.local[d].spec)}for(let d=0;d<l.children.length;d+=3)o(l.children[d+2],l.children[d]+u+1)}for(let l=0;l<t.length;l+=3)t[l+1]==-1&&o(t[l+2],e[l]+a+1);return r}function v4e(t,e,r){if(e.isLeaf)return null;let n=r+e.nodeSize,i=null;for(let a=0,s;a<t.length;a++)(s=t[a])&&s.from>r&&s.to<n&&((i||(i=[])).push(s),t[a]=null);return i}function x4e(t){let e=[];for(let r=0;r<t.length;r++)t[r]!=null&&e.push(t[r]);return e}function $R(t,e,r,n){let i=[],a=!1;e.forEach((o,l)=>{let u=v4e(t,o,l+r);if(u){a=!0;let d=$R(u,o,r+l+1,n);d!=qo&&i.push(l,l+o.nodeSize,d)}});let s=b4e(a?x4e(t):t,-r).sort(EU);for(let o=0;o<s.length;o++)s[o].type.valid(e,s[o])||(n.onRemove&&n.onRemove(s[o].spec),s.splice(o--,1));return s.length||i.length?new qn(s,i):qo}function EU(t,e){return t.from-e.from||t.to-e.to}function MJ(t){let e=t;for(let r=0;r<e.length-1;r++){let n=e[r];if(n.from!=n.to)for(let i=r+1;i<e.length;i++){let a=e[i];if(a.from==n.from){a.to!=n.to&&(e==t&&(e=t.slice()),e[i]=a.copy(a.from,n.to),Hce(e,i+1,a.copy(n.to,a.to)));continue}else{a.from<n.to&&(e==t&&(e=t.slice()),e[r]=n.copy(n.from,a.from),Hce(e,i,n.copy(a.from,n.to)));break}}}return e}function Hce(t,e,r){for(;e<t.length&&EU(r,t[e])>0;)e++;t.splice(e,0,r)}function s$(t){let e=[];return t.someProp("decorations",r=>{let n=r(t.state);n&&n!=qo&&e.push(n)}),t.cursorWrapper&&e.push(qn.create(t.state.doc,[t.cursorWrapper.deco])),ig.from(e)}const n1t={childList:!0,characterData:!0,characterDataOldValue:!0,attributes:!0,attributeOldValue:!0,subtree:!0},i1t=xc&&vg<=11;class a1t{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}clear(){this.anchorNode=this.focusNode=null}eq(e){return e.anchorNode==this.anchorNode&&e.anchorOffset==this.anchorOffset&&e.focusNode==this.focusNode&&e.focusOffset==this.focusOffset}}class s1t{constructor(e,r){this.view=e,this.handleDOMChange=r,this.queue=[],this.flushingSoon=-1,this.observer=null,this.currentSelection=new a1t,this.onCharData=null,this.suppressingSelectionUpdates=!1,this.lastChangedTextNode=null,this.observer=window.MutationObserver&&new window.MutationObserver(n=>{for(let i=0;i<n.length;i++)this.queue.push(n[i]);xc&&vg<=11&&n.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():el&&e.composing&&n.some(i=>i.type=="childList"&&i.target.nodeName=="TR")?(e.input.badSafariComposition=!0,this.flushSoon()):this.flush()}),i1t&&(this.onCharData=n=>{this.queue.push({target:n.target,type:"characterData",oldValue:n.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this)}flushSoon(){this.flushingSoon<0&&(this.flushingSoon=window.setTimeout(()=>{this.flushingSoon=-1,this.flush()},20))}forceFlush(){this.flushingSoon>-1&&(window.clearTimeout(this.flushingSoon),this.flushingSoon=-1,this.flush())}start(){this.observer&&(this.observer.takeRecords(),this.observer.observe(this.view.dom,n1t)),this.onCharData&&this.view.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.connectSelection()}stop(){if(this.observer){let e=this.observer.takeRecords();if(e.length){for(let r=0;r<e.length;r++)this.queue.push(e[r]);window.setTimeout(()=>this.flush(),20)}this.observer.disconnect()}this.onCharData&&this.view.dom.removeEventListener("DOMCharacterDataModified",this.onCharData),this.disconnectSelection()}connectSelection(){this.view.dom.ownerDocument.addEventListener("selectionchange",this.onSelectionChange)}disconnectSelection(){this.view.dom.ownerDocument.removeEventListener("selectionchange",this.onSelectionChange)}suppressSelectionUpdates(){this.suppressingSelectionUpdates=!0,setTimeout(()=>this.suppressingSelectionUpdates=!1,50)}onSelectionChange(){if(Dce(this.view)){if(this.suppressingSelectionUpdates)return v0(this.view);if(xc&&vg<=11&&!this.view.state.selection.empty){let e=this.view.domSelectionRange();if(e.focusNode&&WU(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset))return this.flushSoon()}this.flush()}}setCurSelection(){this.currentSelection.set(this.view.domSelectionRange())}ignoreSelectionChange(e){if(!e.focusNode)return!0;let r=new Set,n;for(let a=e.focusNode;a;a=Mv(a))r.add(a);for(let a=e.anchorNode;a;a=Mv(a))if(r.has(a)){n=a;break}let i=n&&this.view.docView.nearestDesc(n);if(i&&i.ignoreMutation({type:"selection",target:Ls(n)?n.parentNode:n}))return this.setCurSelection(),!0}pendingRecords(){if(this.observer)for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}flush(){let{view:e}=this;if(!e.docView||this.flushingSoon>-1)return;let r=this.pendingRecords();r.length&&(this.queue=[]);let n=e.domSelectionRange(),i=!this.suppressingSelectionUpdates&&!this.currentSelection.eq(n)&&Dce(e)&&!this.ignoreSelectionChange(n),a=-1,s=-1,o=!1,l=[];if(e.editable)for(let d=0;d<r.length;d++){let h=this.registerMutation(r[d],l);h&&(a=a<0?h.from:Math.min(h.from,a),s=s<0?h.to:Math.max(h.to,s),h.typeOver&&(o=!0))}if(l.some(d=>d.nodeName=="BR")&&(e.input.lastKeyCode==8||e.input.lastKeyCode==46||Ro&&(e.composing||e.input.compositionEndedAt>Date.now()-50)&&r.some(d=>d.type=="childList"&&d.removedNodes.length))){for(let d of l)if(d.nodeName=="BR"&&d.parentNode){let h=d.nextSibling;for(;h&&_r(h);){if(h.contentEditable=="false"){d.parentNode.removeChild(d);break}h=h.firstChild}}}else if(Xc&&l.length){let d=l.filter(h=>h.nodeName=="BR");if(d.length==2){let[h,f]=d;h.parentNode&&h.parentNode.parentNode==f.parentNode?f.remove():h.remove()}else{let{focusNode:h}=this.currentSelection;for(let f of d){let p=f.parentNode;p&&p.nodeName=="LI"&&(!h||c1t(e,h)!=p)&&f.remove()}}}let u=null;a<0&&i&&e.input.lastFocus>Date.now()-200&&Math.max(e.input.lastTouch,e.input.lastClick.time)<Date.now()-300&&QO(n)&&(u=wJ(e))&&u.eq(Vr.near(e.state.doc.resolve(0),1))?(e.input.lastFocus=0,v0(e),this.currentSelection.set(n),e.scrollToSelection()):(a>-1||i)&&(a>-1&&(e.docView.markDirty(a,s),o1t(e)),e.input.badSafariComposition&&(e.input.badSafariComposition=!1,u1t(e,l)),this.handleDOMChange(a,s,o,l),e.docView&&e.docView.dirty?e.updateState(e.state):this.currentSelection.eq(n)||v0(e),this.currentSelection.set(n))}registerMutation(e,r){if(r.indexOf(e.target)>-1)return null;let n=this.view.docView.nearestDesc(e.target);if(e.type=="attributes"&&(n==this.view.docView||e.attributeName=="contenteditable"||e.attributeName=="style"&&!e.oldValue&&!e.target.getAttribute("style"))||!n||n.ignoreMutation(e))return null;if(e.type=="childList"){for(let d=0;d<e.addedNodes.length;d++){let h=e.addedNodes[d];r.push(h),Ls(h)&&(this.lastChangedTextNode=h)}if(n.contentDOM&&n.contentDOM!=n.dom&&!n.contentDOM.contains(e.target))return{from:n.posBefore,to:n.posAfter};let i=e.previousSibling,a=e.nextSibling;if(xc&&vg<=11&&e.addedNodes.length)for(let d=0;d<e.addedNodes.length;d++){let{previousSibling:h,nextSibling:f}=e.addedNodes[d];(!h||Array.prototype.indexOf.call(e.addedNodes,h)<0)&&(i=h),(!f||Array.prototype.indexOf.call(e.addedNodes,f)<0)&&(a=f)}let s=i&&i.parentNode==e.target?Eo(i)+1:0,o=n.localPosFromDOM(e.target,s,-1),l=a&&a.parentNode==e.target?Eo(a):e.target.childNodes.length,u=n.localPosFromDOM(e.target,l,1);return{from:o,to:u}}else return e.type=="attributes"?{from:n.posAtStart-n.border,to:n.posAtEnd+n.border}:(this.lastChangedTextNode=e.target,{from:n.posAtStart,to:n.posAtEnd,typeOver:e.target.nodeValue==e.oldValue})}}let Vce=new WeakMap,Gce=!1;function o1t(t){if(!Vce.has(t)&&(Vce.set(t,null),["normal","nowrap","pre-line"].indexOf(getComputedStyle(t.dom).whiteSpace)!==-1)){if(t.requiresGeckoHackNode=Xc,Gce)return;console.warn("ProseMirror expects the CSS white-space property to be set, preferably to 'pre-wrap'. It is recommended to load style/prosemirror.css from the prosemirror-view package."),Gce=!0}}function Wce(t,e){let r=e.startContainer,n=e.startOffset,i=e.endContainer,a=e.endOffset,s=t.domAtPos(t.state.selection.anchor);return WU(s.node,s.offset,i,a)&&([r,n,i,a]=[i,a,r,n]),{anchorNode:r,anchorOffset:n,focusNode:i,focusOffset:a}}function l1t(t,e){if(e.getComposedRanges){let i=e.getComposedRanges(t.root)[0];if(i)return Wce(t,i)}let r;function n(i){i.preventDefault(),i.stopImmediatePropagation(),r=i.getTargetRanges()[0]}return t.dom.addEventListener("beforeinput",n,!0),document.execCommand("indent"),t.dom.removeEventListener("beforeinput",n,!0),r?Wce(t,r):null}function c1t(t,e){for(let r=e.parentNode;r&&r!=t.dom;r=r.parentNode){let n=t.docView.nearestDesc(r,!0);if(n&&n.node.isBlock)return r}return null}function u1t(t,e){var r;let{focusNode:n,focusOffset:i}=t.domSelectionRange();for(let a of e)if(((r=a.parentNode)===null||r===void 0?void 0:r.nodeName)=="TR"){let s=a.nextSibling;for(;s&&s.nodeName!="TD"&&s.nodeName!="TH";)s=s.nextSibling;if(s){let o=s;for(;;){let l=o.firstChild;if(!l||!_r(l)||l.contentEditable=="false"||/^(BR|IMG)$/.test(l.nodeName))break;o=l}o.insertBefore(a,o.firstChild),n==a&&t.domSelection().collapse(a,i)}else a.parentNode.removeChild(a)}}function d1t(t,e,r,n){let{node:i,fromOffset:a,toOffset:s,from:o,to:l}=t.docView.parseRange(e,r),u=t.domSelectionRange(),d,h=u.anchorNode;if(h&&qU(t.dom,h)&&(d=[{node:h,offset:u.anchorOffset}],QO(u)||d.push({node:u.focusNode,offset:u.focusOffset})),Ro&&t.input.lastKeyCode===8)for(let y=s;y>a;y--){let b=i.childNodes[y-1],v=b.pmViewDesc;if(b.nodeName=="BR"&&!v){s=y;break}if(!v||v.size)break}let f=t.state.doc,p=t.someProp("domParser")||ab.fromSchema(t.state.schema),g=f.resolve(o),m=null,U=p.parse(i,{topNode:g.parent,topMatch:g.parent.contentMatchAt(g.index()),topOpen:!0,from:a,to:s,preserveWhitespace:g.parent.type.whitespace=="pre"?"full":!0,findPositions:d,ruleFromNode:h1t(n),context:g});if(d&&d[0].pos!=null){let y=d[0].pos,b=d[1]&&d[1].pos;b==null&&(b=y),m={anchor:y+o,head:b+o}}return{doc:U,sel:m,from:o,to:l}}const h1t=t=>e=>{let r=e.pmViewDesc;if(r)return r.parseRule(t);if(e.nodeName=="BR"&&e.parentNode){if(el&&/^(ul|ol)$/i.test(e.parentNode.nodeName)){let n=document.createElement("div");return n.appendChild(document.createElement("li")),{skip:n}}else if(e.parentNode.lastChild==e||el&&/^(tr|table)$/i.test(e.parentNode.nodeName))return{ignore:!0}}else if(e.nodeName=="IMG"&&e.getAttribute("mark-placeholder"))return{ignore:!0};return null},f1t=/^(a|abbr|acronym|b|bd[io]|big|br|button|cite|code|data(list)?|del|dfn|em|i|img|ins|kbd|label|map|mark|meter|output|q|ruby|s|samp|small|span|strong|su[bp]|time|u|tt|var)$/i;function p1t(t,e,r,n,i){let a=t.input.compositionPendingChanges||(t.composing?t.input.compositionID:0);if(t.input.compositionPendingChanges=0,e<0){let C=t.input.lastSelectionTime>Date.now()-50?t.input.lastSelectionOrigin:null,k=wJ(t,C);if(k&&!t.state.selection.eq(k)){if(Ro&&n0&&t.input.lastKeyCode===13&&Date.now()-100<t.input.lastKeyCodeTime&&t.someProp("handleKeyDown",A=>A(t,Pm(13,"Enter"))))return;let E=t.state.tr.setSelection(k);C=="pointer"?E.setMeta("pointer",!0):C=="key"&&E.scrollIntoView(),a&&E.setMeta("composition",a),t.dispatch(E)}return}let s=t.state.doc.resolve(e),o=s.sharedDepth(r);e=s.before(o+1),r=t.state.doc.resolve(r).after(o+1);let l=t.state.selection,u=d1t(t,e,r,i),d=t.state.doc,h=d.slice(u.from,u.to),f,p;t.input.lastKeyCode===8&&Date.now()-100<t.input.lastKeyCodeTime?(f=t.state.selection.to,p="end"):(f=t.state.selection.from,p="start"),t.input.lastKeyCode=null;let g=y1t(h.content,u.doc.content,u.from,f,p);if(g&&t.input.domChangeCount++,(Rv&&t.input.lastIOSEnter>Date.now()-225||n0)&&i.some(C=>_r(C)&&!f1t.test(C.nodeName))&&(!g||g.endA>=g.endB)&&t.someProp("handleKeyDown",C=>C(t,Pm(13,"Enter")))){t.input.lastIOSEnter=0;return}if(!g)if(n&&l instanceof yr&&!l.empty&&l.$head.sameParent(l.$anchor)&&!t.composing&&!(u.sel&&u.sel.anchor!=u.sel.head))g={start:l.from,endA:l.to,endB:l.to};else{if(u.sel){let C=qce(t,t.state.doc,u.sel);if(C&&!C.eq(t.state.selection)){let k=t.state.tr.setSelection(C);a&&k.setMeta("composition",a),t.dispatch(k)}}return}t.state.selection.from<t.state.selection.to&&g.start==g.endB&&t.state.selection instanceof yr&&(g.start>t.state.selection.from&&g.start<=t.state.selection.from+2&&t.state.selection.from>=u.from?g.start=t.state.selection.from:g.endA<t.state.selection.to&&g.endA>=t.state.selection.to-2&&t.state.selection.to<=u.to&&(g.endB+=t.state.selection.to-g.endA,g.endA=t.state.selection.to)),xc&&vg<=11&&g.endB==g.start+1&&g.endA==g.start&&g.start>u.from&&u.doc.textBetween(g.start-u.from-1,g.start-u.from+1)=="  "&&(g.start--,g.endA--,g.endB--);let m=u.doc.resolveNoCache(g.start-u.from),U=u.doc.resolveNoCache(g.endB-u.from),y=d.resolve(g.start),b=m.sameParent(U)&&m.parent.inlineContent&&y.end()>=g.endA;if((Rv&&t.input.lastIOSEnter>Date.now()-225&&(!b||i.some(C=>C.nodeName=="DIV"||C.nodeName=="P"))||!b&&U1t(u.doc,m.pos,U.pos))&&t.someProp("handleKeyDown",C=>C(t,Pm(13,"Enter")))){t.input.lastIOSEnter=0;return}if(t.state.selection.anchor>g.start&&m1t(d,g.start,g.endA,m,U)&&t.someProp("handleKeyDown",C=>C(t,Pm(8,"Backspace")))){n0&&Ro&&t.domObserver.suppressSelectionUpdates();return}Ro&&g.endB==g.start&&(t.input.lastChromeDelete=Date.now()),n0&&!b&&m.start()!=U.start()&&U.parentOffset==0&&m.depth==U.depth&&u.sel&&u.sel.anchor==u.sel.head&&u.sel.head==g.endA&&(g.endB-=2,U=u.doc.resolveNoCache(g.endB-u.from),setTimeout(()=>{t.someProp("handleKeyDown",function(C){return C(t,Pm(13,"Enter"))})},20));let v=g.start,w=g.endA,T=C=>{let k=C||t.state.tr.replace(v,w,u.doc.slice(g.start-u.from,g.endB-u.from));if(u.sel){let E=qce(t,k.doc,u.sel);E&&!(Ro&&t.composing&&E.empty&&(g.start!=g.endB||t.input.lastChromeDelete<Date.now()-100)&&(E.head==v||E.head==k.mapping.map(w)-1)||xc&&E.empty&&E.head==v)&&k.setSelection(E)}return a&&k.setMeta("composition",a),k.scrollIntoView()},S;if(b)if(m.pos==U.pos){xc&&vg<=11&&m.parentOffset==0&&(t.domObserver.suppressSelectionUpdates(),setTimeout(()=>v0(t),20));let C=T(t.state.tr.delete(v,w)),k=d.resolve(g.start).marksAcross(d.resolve(g.endA));k&&C.ensureMarks(k),t.dispatch(C)}else if(g.endA==g.endB&&(S=g1t(m.parent.content.cut(m.parentOffset,U.parentOffset),y.parent.content.cut(y.parentOffset,g.endA-y.start())))){let C=T(t.state.tr);S.type=="add"?C.addMark(v,w,S.mark):C.removeMark(v,w,S.mark),t.dispatch(C)}else if(m.parent.child(m.index()).isText&&m.index()==U.index()-(U.textOffset?0:1)){let C=m.parent.textBetween(m.parentOffset,U.parentOffset),k=()=>T(t.state.tr.insertText(C,v,w));t.someProp("handleTextInput",E=>E(t,v,w,C,k))||t.dispatch(k())}else t.dispatch(T());else t.dispatch(T())}function qce(t,e,r){return Math.max(r.anchor,r.head)>e.content.size?null:TJ(t,e.resolve(r.anchor),e.resolve(r.head))}function g1t(t,e){let r=t.firstChild.marks,n=e.firstChild.marks,i=r,a=n,s,o,l;for(let d=0;d<n.length;d++)i=n[d].removeFromSet(i);for(let d=0;d<r.length;d++)a=r[d].removeFromSet(a);if(i.length==1&&a.length==0)o=i[0],s="add",l=d=>d.mark(o.addToSet(d.marks));else if(i.length==0&&a.length==1)o=a[0],s="remove",l=d=>d.mark(o.removeFromSet(d.marks));else return null;let u=[];for(let d=0;d<e.childCount;d++)u.push(l(e.child(d)));if(At.from(u).eq(t))return{mark:o,type:s}}function m1t(t,e,r,n,i){if(r-e<=i.pos-n.pos||o$(n,!0,!1)<i.pos)return!1;let a=t.resolve(e);if(!n.parent.isTextblock){let o=a.nodeAfter;return o!=null&&r==e+o.nodeSize}if(a.parentOffset<a.parent.content.size||!a.parent.isTextblock)return!1;let s=t.resolve(o$(a,!0,!0));return!s.parent.isTextblock||s.pos>r||o$(s,!0,!1)<r?!1:n.parent.content.cut(n.parentOffset).eq(s.parent.content)}function U1t(t,e,r){let n=0,i=0;return t.nodesBetween(e,r,(a,s)=>{a.isTextblock&&s>=e&&s<r?n++:(a.isText?/\S/.test(a.text.slice(Math.max(0,e-s),Math.min(a.nodeSize,r-s))):a.isLeaf)&&i++}),i==0&&n==1}function o$(t,e,r){let n=t.depth,i=e?t.end():t.pos;for(;n>0&&(e||t.indexAfter(n)==t.node(n).childCount);)n--,i++,e=!1;if(r){let a=t.node(n).maybeChild(t.indexAfter(n));for(;a&&!a.isLeaf;)a=a.firstChild,i++}return i}function y1t(t,e,r,n,i){let a=t.findDiffStart(e,r),s=r+t.size,o=r+e.size;if(a==null)return null;let{a:l,b:u}=t.findDiffEnd(e,s,o);if(i=="end"){let d=Math.max(0,a-Math.min(l,u));n-=l+d-a}if(l<a&&s<o){let d=n<=a&&n>=l?a-n:0;a-=d,u=a+(u-l),l=a}else if(u<a){let d=n<=a&&n>=u?a-n:0;a-=d,l=a+(l-u),u=a}return{start:a,endA:l,endB:u}}class w4e{constructor(e,r){this._root=null,this.focused=!1,this.trackWrites=null,this.mounted=!1,this.markCursor=null,this.cursorWrapper=null,this.lastSelectedViewDesc=void 0,this.input=new Ngt,this.prevDirectPlugins=[],this.pluginViews=[],this.requiresGeckoHackNode=!1,this.dragging=null,this._props=r,this.state=r.state,this.directPlugins=r.plugins||[],this.directPlugins.forEach(Zce),this.dispatch=this.dispatch.bind(this),this.dom=e&&e.mount||document.createElement("div"),e&&(e.appendChild?e.appendChild(this.dom):typeof e=="function"?e(this.dom):e.mount&&(this.mounted=!0)),this.editable=Xce(this),Yce(this),this.nodeViews=Kce(this),this.docView=Mce(this.state.doc,jce(this),s$(this),this.dom,this),this.domObserver=new s1t(this,(n,i,a,s)=>p1t(this,n,i,a,s)),this.domObserver.start(),Ogt(this),this.updatePluginViews()}get composing(){return this.input.composing}get props(){if(this._props.state!=this.state){let e=this._props;this._props={};for(let r in e)this._props[r]=e[r];this._props.state=this.state}return this._props}update(e){e.handleDOMEvents!=this._props.handleDOMEvents&&wG(this);let r=this._props;this._props=e,e.plugins&&(e.plugins.forEach(Zce),this.directPlugins=e.plugins),this.updateStateInner(e.state,r)}setProps(e){let r={};for(let n in this._props)r[n]=this._props[n];r.state=this.state;for(let n in e)r[n]=e[n];this.update(r)}updateState(e){this.updateStateInner(e,this._props)}updateStateInner(e,r){var n;let i=this.state,a=!1,s=!1;e.storedMarks&&this.composing&&(g4e(this),s=!0),this.state=e;let o=i.plugins!=e.plugins||this._props.plugins!=r.plugins;if(o||this._props.plugins!=r.plugins||this._props.nodeViews!=r.nodeViews){let p=Kce(this);v1t(p,this.nodeViews)&&(this.nodeViews=p,a=!0)}(o||r.handleDOMEvents!=this._props.handleDOMEvents)&&wG(this),this.editable=Xce(this),Yce(this);let l=s$(this),u=jce(this),d=i.plugins!=e.plugins&&!i.doc.eq(e.doc)?"reset":e.scrollToSelection>i.scrollToSelection?"to selection":"preserve",h=a||!this.docView.matchesNode(e.doc,u,l);(h||!e.selection.eq(i.selection))&&(s=!0);let f=d=="preserve"&&s&&this.dom.style.overflowAnchor==null&&Ypt(this);if(s){this.domObserver.stop();let p=h&&(xc||Ro)&&!this.composing&&!i.selection.empty&&!e.selection.empty&&b1t(i.selection,e.selection);if(h){let m=Ro?this.trackWrites=this.domSelectionRange().focusNode:null;this.composing&&(this.input.compositionNode=Xgt(this)),(a||!this.docView.update(e.doc,u,l,this))&&(this.docView.updateOuterDeco(u),this.docView.destroy(),this.docView=Mce(e.doc,u,l,this.dom,this)),m&&(!this.trackWrites||!this.dom.contains(this.trackWrites))&&(p=!0)}let g=this.input.mouseDown;p||!(g&&this.domObserver.currentSelection.eq(this.domSelectionRange())&&ygt(this)&&g.delaySelUpdate())?v0(this,p):(t4e(this,e.selection),this.domObserver.setCurSelection()),this.domObserver.start()}this.updatePluginViews(i),!((n=this.dragging)===null||n===void 0)&&n.node&&!i.doc.eq(e.doc)&&this.updateDraggedNode(this.dragging,i),d=="reset"?this.dom.scrollTop=0:d=="to selection"?this.scrollToSelection():f&&Xpt(f)}scrollToSelection(){let e=this.domSelectionRange().focusNode;if(!(!e||!qU(this.dom,e))){if(!this.someProp("handleScrollToSelection",r=>r(this)))if(this.state.selection instanceof Nr){let r=this.docView.domAfterPos(this.state.selection.from);_r(r)&&Cce(this,r.getBoundingClientRect(),e)}else Cce(this,this.coordsAtPos(this.state.selection.head,1),e)}}destroyPluginViews(){let e;for(;e=this.pluginViews.pop();)e.destroy&&e.destroy()}updatePluginViews(e){if(!e||e.plugins!=this.state.plugins||this.directPlugins!=this.prevDirectPlugins){this.prevDirectPlugins=this.directPlugins,this.destroyPluginViews();for(let r=0;r<this.directPlugins.length;r++){let n=this.directPlugins[r];n.spec.view&&this.pluginViews.push(n.spec.view(this))}for(let r=0;r<this.state.plugins.length;r++){let n=this.state.plugins[r];n.spec.view&&this.pluginViews.push(n.spec.view(this))}}else for(let r=0;r<this.pluginViews.length;r++){let n=this.pluginViews[r];n.update&&n.update(this,e)}}updateDraggedNode(e,r){let n=e.node,i=-1;if(n.from<this.state.doc.content.size&&this.state.doc.nodeAt(n.from)==n.node)i=n.from;else{let a=n.from+(this.state.doc.content.size-r.doc.content.size);(a>0&&a<this.state.doc.content.size&&this.state.doc.nodeAt(a))==n.node&&(i=a)}this.dragging=new U4e(e.slice,e.move,i<0?void 0:Nr.create(this.state.doc,i))}someProp(e,r){let n=this._props&&this._props[e],i;if(n!=null&&(i=r?r(n):n))return i;for(let s=0;s<this.directPlugins.length;s++){let o=this.directPlugins[s].props[e];if(o!=null&&(i=r?r(o):o))return i}let a=this.state.plugins;if(a)for(let s=0;s<a.length;s++){let o=a[s].props[e];if(o!=null&&(i=r?r(o):o))return i}}hasFocus(){if(xc){let e=this.root.activeElement;if(e==this.dom)return!0;if(!e||!this.dom.contains(e))return!1;for(;e&&this.dom!=e&&this.dom.contains(e);){if(e.contentEditable=="false")return!1;e=e.parentElement}return!0}return this.root.activeElement==this.dom}focus(){this.domObserver.stop(),this.editable&&Kpt(this.dom),v0(this),this.domObserver.start()}get root(){let e=this._root;if(e==null){for(let r=this.dom.parentNode;r;r=r.parentNode)if(r.nodeType==9||r.nodeType==11&&r.host)return r.getSelection||(Object.getPrototypeOf(r).getSelection=()=>r.ownerDocument.getSelection()),this._root=r}return e||document}updateRoot(){this._root=null}posAtCoords(e){return tgt(this,e)}coordsAtPos(e,r=1){return jve(this,e,r)}domAtPos(e,r=0){return this.docView.domFromPos(e,r)}nodeDOM(e){let r=this.docView.descAt(e);return r?r.nodeDOM:null}posAtDOM(e,r,n=-1){let i=this.docView.posFromDOM(e,r,n);if(i==null)throw new RangeError("DOM position not inside the editor");return i}endOfTextblock(e,r){return sgt(this,r||this.state,e)}pasteHTML(e,r){return iT(this,"",e,!1,r||new ClipboardEvent("paste"))}pasteText(e,r){return iT(this,e,null,!0,r||new ClipboardEvent("paste"))}serializeForClipboard(e){return CJ(this,e)}destroy(){this.docView&&(Dgt(this),this.destroyPluginViews(),this.mounted?(this.docView.update(this.state.doc,[],s$(this),this),this.dom.textContent=""):this.dom.parentNode&&this.dom.parentNode.removeChild(this.dom),this.docView.destroy(),this.docView=null,Bpt())}get isDestroyed(){return this.docView==null}dispatchEvent(e){return _gt(this,e)}domSelectionRange(){let e=this.dom.isConnected!==!1&&this.domSelection();return e?el&&this.root.nodeType===11&&Vpt(this.dom.ownerDocument)==this.dom&&l1t(this,e)||e:{focusNode:null,focusOffset:0,anchorNode:null,anchorOffset:0}}domSelection(){return this.root.getSelection()}}w4e.prototype.dispatch=function(t){let e=this._props.dispatchTransaction;e?e.call(this,t):this.updateState(this.state.apply(t))};function jce(t){let e=Object.create(null);return e.class="ProseMirror",e.contenteditable=String(t.editable),t.someProp("attributes",r=>{if(typeof r=="function"&&(r=r(t.state)),r)for(let n in r)n=="class"?e.class+=" "+r[n]:n=="style"?e.style=(e.style?e.style+";":"")+r[n]:!e[n]&&n!="contenteditable"&&n!="nodeName"&&(e[n]=String(r[n]))}),e.translate||(e.translate="no"),[Js.node(0,t.state.doc.content.size,e)]}function Yce(t){if(t.markCursor){let e=document.createElement("img");e.className="ProseMirror-separator",e.setAttribute("mark-placeholder","true"),e.setAttribute("alt",""),t.cursorWrapper={dom:e,deco:Js.widget(t.state.selection.from,e,{raw:!0,marks:t.markCursor})}}else t.cursorWrapper=null}function Xce(t){return!t.someProp("editable",e=>e(t.state)===!1)}function b1t(t,e){let r=Math.min(t.$anchor.sharedDepth(t.head),e.$anchor.sharedDepth(e.head));return t.$anchor.start(r)!=e.$anchor.start(r)}function Kce(t){let e=Object.create(null);function r(n){for(let i in n)Object.prototype.hasOwnProperty.call(e,i)||(e[i]=n[i])}return t.someProp("nodeViews",r),t.someProp("markViews",r),e}function v1t(t,e){let r=0,n=0;for(let i in t){if(t[i]!=e[i])return!0;r++}for(let i in e)n++;return r!=n}function Zce(t){if(t.spec.state||t.spec.filterTransaction||t.spec.appendTransaction)throw new RangeError("Plugins passed directly to the view must not have a state component")}var $g={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},FR={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},x1t=typeof navigator<"u"&&/Mac/.test(navigator.platform),w1t=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var Ao=0;Ao<10;Ao++)$g[48+Ao]=$g[96+Ao]=String(Ao);for(var Ao=1;Ao<=24;Ao++)$g[Ao+111]="F"+Ao;for(var Ao=65;Ao<=90;Ao++)$g[Ao]=String.fromCharCode(Ao+32),FR[Ao]=String.fromCharCode(Ao);for(var l$ in $g)FR.hasOwnProperty(l$)||(FR[l$]=$g[l$]);function T1t(t){var e=x1t&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||w1t&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",r=!e&&t.key||(t.shiftKey?FR:$g)[t.keyCode]||t.key||"Unidentified";return r=="Esc"&&(r="Escape"),r=="Del"&&(r="Delete"),r=="Left"&&(r="ArrowLeft"),r=="Up"&&(r="ArrowUp"),r=="Right"&&(r="ArrowRight"),r=="Down"&&(r="ArrowDown"),r}const C1t=typeof navigator<"u"&&/Mac|iP(hone|[oa]d)/.test(navigator.platform),S1t=typeof navigator<"u"&&/Win/.test(navigator.platform);function k1t(t){let e=t.split(/-(?!$)/),r=e[e.length-1];r=="Space"&&(r=" ");let n,i,a,s;for(let o=0;o<e.length-1;o++){let l=e[o];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))i=!0;else if(/^s(hift)?$/i.test(l))a=!0;else if(/^mod$/i.test(l))C1t?s=!0:i=!0;else throw new Error("Unrecognized modifier name: "+l)}return n&&(r="Alt-"+r),i&&(r="Ctrl-"+r),s&&(r="Meta-"+r),a&&(r="Shift-"+r),r}function E1t(t){let e=Object.create(null);for(let r in t)e[k1t(r)]=t[r];return e}function c$(t,e,r=!0){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),r&&e.shiftKey&&(t="Shift-"+t),t}function A1t(t){return new ci({props:{handleKeyDown:RJ(t)}})}function RJ(t){let e=E1t(t);return function(r,n){let i=T1t(n),a,s=e[c$(i,n)];if(s&&s(r.state,r.dispatch,r))return!0;if(i.length==1&&i!=" "){if(n.shiftKey){let o=e[c$(i,n,!1)];if(o&&o(r.state,r.dispatch,r))return!0}if((n.altKey||n.metaKey||n.ctrlKey)&&!(S1t&&n.ctrlKey&&n.altKey)&&(a=$g[n.keyCode])&&a!=i){let o=e[c$(a,n)];if(o&&o(r.state,r.dispatch,r))return!0}}return!1}}var zR=200,to=function(){};to.prototype.append=function(e){return e.length?(e=to.from(e),!this.length&&e||e.length<zR&&this.leafAppend(e)||this.length<zR&&e.leafPrepend(this)||this.appendInner(e)):this};to.prototype.prepend=function(e){return e.length?to.from(e).append(this):this};to.prototype.appendInner=function(e){return new M1t(this,e)};to.prototype.slice=function(e,r){return e===void 0&&(e=0),r===void 0&&(r=this.length),e>=r?to.empty:this.sliceInner(Math.max(0,e),Math.min(this.length,r))};to.prototype.get=function(e){if(!(e<0||e>=this.length))return this.getInner(e)};to.prototype.forEach=function(e,r,n){r===void 0&&(r=0),n===void 0&&(n=this.length),r<=n?this.forEachInner(e,r,n,0):this.forEachInvertedInner(e,r,n,0)};to.prototype.map=function(e,r,n){r===void 0&&(r=0),n===void 0&&(n=this.length);var i=[];return this.forEach(function(a,s){return i.push(e(a,s))},r,n),i};to.from=function(e){return e instanceof to?e:e&&e.length?new T4e(e):to.empty};var T4e=(function(t){function e(n){t.call(this),this.values=n}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={length:{configurable:!0},depth:{configurable:!0}};return e.prototype.flatten=function(){return this.values},e.prototype.sliceInner=function(i,a){return i==0&&a==this.length?this:new e(this.values.slice(i,a))},e.prototype.getInner=function(i){return this.values[i]},e.prototype.forEachInner=function(i,a,s,o){for(var l=a;l<s;l++)if(i(this.values[l],o+l)===!1)return!1},e.prototype.forEachInvertedInner=function(i,a,s,o){for(var l=a-1;l>=s;l--)if(i(this.values[l],o+l)===!1)return!1},e.prototype.leafAppend=function(i){if(this.length+i.length<=zR)return new e(this.values.concat(i.flatten()))},e.prototype.leafPrepend=function(i){if(this.length+i.length<=zR)return new e(i.flatten().concat(this.values))},r.length.get=function(){return this.values.length},r.depth.get=function(){return 0},Object.defineProperties(e.prototype,r),e})(to);to.empty=new T4e([]);var M1t=(function(t){function e(r,n){t.call(this),this.left=r,this.right=n,this.length=r.length+n.length,this.depth=Math.max(r.depth,n.depth)+1}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.flatten=function(){return this.left.flatten().concat(this.right.flatten())},e.prototype.getInner=function(n){return n<this.left.length?this.left.get(n):this.right.get(n-this.left.length)},e.prototype.forEachInner=function(n,i,a,s){var o=this.left.length;if(i<o&&this.left.forEachInner(n,i,Math.min(a,o),s)===!1||a>o&&this.right.forEachInner(n,Math.max(i-o,0),Math.min(this.length,a)-o,s+o)===!1)return!1},e.prototype.forEachInvertedInner=function(n,i,a,s){var o=this.left.length;if(i>o&&this.right.forEachInvertedInner(n,i-o,Math.max(a,o)-o,s+o)===!1||a<o&&this.left.forEachInvertedInner(n,Math.min(i,o),a,s)===!1)return!1},e.prototype.sliceInner=function(n,i){if(n==0&&i==this.length)return this;var a=this.left.length;return i<=a?this.left.slice(n,i):n>=a?this.right.slice(n-a,i-a):this.left.slice(n,a).append(this.right.slice(0,i-a))},e.prototype.leafAppend=function(n){var i=this.right.leafAppend(n);if(i)return new e(this.left,i)},e.prototype.leafPrepend=function(n){var i=this.left.leafPrepend(n);if(i)return new e(i,this.right)},e.prototype.appendInner=function(n){return this.left.depth>=Math.max(this.right.depth,n.depth)+1?new e(this.left,new e(this.right,n)):new e(this,n)},e})(to);const R1t=500;let sT=class Jy{constructor(e,r){this.items=e,this.eventCount=r}popEvent(e,r){if(this.eventCount==0)return null;let n=this.items.length;for(;;n--)if(this.items.get(n-1).selection){--n;break}let i,a;r&&(i=this.remapping(n,this.items.length),a=i.maps.length);let s=e.tr,o,l,u=[],d=[];return this.items.forEach((h,f)=>{if(!h.step){i||(i=this.remapping(n,f+1),a=i.maps.length),a--,d.push(h);return}if(i){d.push(new Ep(h.map));let p=h.step.map(i.slice(a)),g;p&&s.maybeStep(p).doc&&(g=s.mapping.maps[s.mapping.maps.length-1],u.push(new Ep(g,void 0,void 0,u.length+d.length))),a--,g&&i.appendMap(g,a)}else s.maybeStep(h.step);if(h.selection)return o=i?h.selection.map(i.slice(a)):h.selection,l=new Jy(this.items.slice(0,n).append(d.reverse().concat(u)),this.eventCount-1),!1},this.items.length,0),{remaining:l,transform:s,selection:o}}addTransform(e,r,n,i){let a=[],s=this.eventCount,o=this.items,l=!i&&o.length?o.get(o.length-1):null;for(let d=0;d<e.steps.length;d++){let h=e.steps[d].invert(e.docs[d]),f=new Ep(e.mapping.maps[d],h,r),p;(p=l&&l.merge(f))&&(f=p,d?a.pop():o=o.slice(0,o.length-1)),a.push(f),r&&(s++,r=void 0),i||(l=f)}let u=s-n.depth;return u>L1t&&(o=I1t(o,u),s-=u),new Jy(o.append(a),s)}remapping(e,r){let n=new tT;return this.items.forEach((i,a)=>{let s=i.mirrorOffset!=null&&a-i.mirrorOffset>=e?n.maps.length-i.mirrorOffset:void 0;n.appendMap(i.map,s)},e,r),n}addMaps(e){return this.eventCount==0?this:new Jy(this.items.append(e.map(r=>new Ep(r))),this.eventCount)}rebased(e,r){if(!this.eventCount)return this;r=Math.min(this.items.length,r);let n=[],i=this.items.length-r,a=e.mapping,s=e.steps.length,o=this.eventCount;this.items.forEach(f=>{f.selection&&o--},i);let l=r;this.items.forEach(f=>{let p=a.getMirror(--l);if(p==null)return;s=Math.min(s,p);let g=a.maps[p];if(f.step){let m=e.steps[p].invert(e.docs[p]),U=f.selection&&f.selection.map(a.slice(l+1,p));U&&o++,n.push(new Ep(g,m,U))}else n.push(new Ep(g))},i);let u=[];for(let f=r;f<s;f++)u.push(new Ep(a.maps[f]));let d=this.items.slice(0,i).append(u).append(n),h=new Jy(d,o);return h.emptyItemCount()>R1t&&(h=h.compress(this.items.length-n.length)),h}emptyItemCount(){let e=0;return this.items.forEach(r=>{r.step||e++}),e}compress(e=this.items.length){let r=this.remapping(0,e),n=r.maps.length,i=[],a=0;return this.items.forEach((s,o)=>{if(o>=e)i.push(s),s.selection&&a++;else if(s.step){let l=s.step.map(r.slice(n)),u=l&&l.getMap();if(n--,u&&r.appendMap(u,n),l){let d=s.selection&&s.selection.map(r.slice(n));d&&a++;let h=new Ep(u.invert(),l,d),f,p=i.length-1;(f=i.length&&i[p].merge(h))?i[p]=f:i.push(h)}}else s.map&&n--},this.items.length,0),new Jy(to.from(i.reverse()),a)}};sT.empty=new sT(to.empty,0);function I1t(t,e){let r;return t.forEach((n,i)=>{if(n.selection&&e--==0)return r=i,!1}),t.slice(r)}let Ep=class C4e{constructor(e,r,n,i){this.map=e,this.step=r,this.selection=n,this.mirrorOffset=i}merge(e){if(this.step&&e.step&&!e.selection){let r=e.step.merge(this.step);if(r)return new C4e(r.getMap().invert(),r,this.selection)}}};class qp{constructor(e,r,n,i,a){this.done=e,this.undone=r,this.prevRanges=n,this.prevTime=i,this.prevComposition=a}}const L1t=20;function N1t(t,e,r,n){let i=r.getMeta(Cg),a;if(i)return i.historyState;r.getMeta(S4e)&&(t=new qp(t.done,t.undone,null,0,-1));let s=r.getMeta("appendedTransaction");if(r.steps.length==0)return t;if(s&&s.getMeta(Cg))return s.getMeta(Cg).redo?new qp(t.done.addTransform(r,void 0,n,MA(e)),t.undone,Jce(r.mapping.maps),t.prevTime,t.prevComposition):new qp(t.done,t.undone.addTransform(r,void 0,n,MA(e)),null,t.prevTime,t.prevComposition);if(r.getMeta("addToHistory")!==!1&&!(s&&s.getMeta("addToHistory")===!1)){let o=r.getMeta("composition"),l=t.prevTime==0||!s&&t.prevComposition!=o&&(t.prevTime<(r.time||0)-n.newGroupDelay||!O1t(r,t.prevRanges)),u=s?u$(t.prevRanges,r.mapping):Jce(r.mapping.maps);return new qp(t.done.addTransform(r,l?e.selection.getBookmark():void 0,n,MA(e)),sT.empty,u,r.time,o??t.prevComposition)}else return(a=r.getMeta("rebased"))?new qp(t.done.rebased(r,a),t.undone.rebased(r,a),u$(t.prevRanges,r.mapping),t.prevTime,t.prevComposition):new qp(t.done.addMaps(r.mapping.maps),t.undone.addMaps(r.mapping.maps),u$(t.prevRanges,r.mapping),t.prevTime,t.prevComposition)}function O1t(t,e){if(!e)return!1;if(!t.docChanged)return!0;let r=!1;return t.mapping.maps[0].forEach((n,i)=>{for(let a=0;a<e.length;a+=2)n<=e[a+1]&&i>=e[a]&&(r=!0)}),r}function Jce(t){let e=[];for(let r=t.length-1;r>=0&&e.length==0;r--)t[r].forEach((n,i,a,s)=>e.push(a,s));return e}function u$(t,e){if(!t)return null;let r=[];for(let n=0;n<t.length;n+=2){let i=e.map(t[n],1),a=e.map(t[n+1],-1);i<=a&&r.push(i,a)}return r}function D1t(t,e,r){let n=MA(e),i=Cg.get(e).spec.config,a=(r?t.undone:t.done).popEvent(e,n);if(!a)return null;let s=a.selection.resolve(a.transform.doc),o=(r?t.done:t.undone).addTransform(a.transform,e.selection.getBookmark(),i,n),l=new qp(r?o:a.remaining,r?a.remaining:o,null,0,-1);return a.transform.setSelection(s).setMeta(Cg,{redo:r,historyState:l})}let d$=!1,Qce=null;function MA(t){let e=t.plugins;if(Qce!=e){d$=!1,Qce=e;for(let r=0;r<e.length;r++)if(e[r].spec.historyPreserveItems){d$=!0;break}}return d$}function P1t(t){return t.setMeta(S4e,!0)}const Cg=new Mi("history"),S4e=new Mi("closeHistory");function _1t(t={}){return t={depth:t.depth||100,newGroupDelay:t.newGroupDelay||500},new ci({key:Cg,state:{init(){return new qp(sT.empty,sT.empty,null,0,-1)},apply(e,r,n){return N1t(r,n,e,t)}},config:t,props:{handleDOMEvents:{beforeinput(e,r){let n=r.inputType,i=n=="historyUndo"?E4e:n=="historyRedo"?A4e:null;return!i||!e.editable?!1:(r.preventDefault(),i(e.state,e.dispatch))}}}})}function k4e(t,e){return(r,n)=>{let i=Cg.getState(r);if(!i||(t?i.undone:i.done).eventCount==0)return!1;if(n){let a=D1t(i,r,t);a&&n(e?a.scrollIntoView():a)}return!0}}const E4e=k4e(!1,!0),A4e=k4e(!0,!0);function M4e(t){return t.getMeta(Cg)!=null}function rD(t){const{state:e,transaction:r}=t;let{selection:n}=r,{doc:i}=r,{storedMarks:a}=r;return{...e,apply:e.apply.bind(e),applyTransaction:e.applyTransaction.bind(e),plugins:e.plugins,schema:e.schema,reconfigure:e.reconfigure.bind(e),toJSON:e.toJSON.bind(e),get storedMarks(){return a},get selection(){return n},get doc(){return i},get tr(){return n=r.selection,i=r.doc,a=r.storedMarks,r}}}var ob=class R4e{constructor(e){this.editor=e.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=e.state}get hasCustomState(){return!!this.customState}get state(){return this.customState||this.editor.state}get commands(){const{rawCommands:e,editor:r,state:n}=this,{view:i}=r,{tr:a}=n,s=this.buildProps(a);return Object.fromEntries(Object.entries(e).map(([o,l])=>[o,(...d)=>{const h=l(...d)(s);return!a.getMeta("preventDispatch")&&!this.hasCustomState&&i.dispatch(a),h}]))}get chain(){return()=>this.createChain()}get can(){return()=>this.createCan()}createChain(e,r=!0){const{rawCommands:n,editor:i,state:a}=this,{view:s}=i,o=[],l=!!e,u=e||a.tr,d=()=>(!l&&r&&!u.getMeta("preventDispatch")&&!this.hasCustomState&&s.dispatch(u),o.every(f=>f===!0)),h={...Object.fromEntries(Object.entries(n).map(([f,p])=>[f,(...m)=>{const U=this.buildProps(u,r),y=p(...m)(U);return o.push(y),h}])),run:d};return h}static createFakeChain(){const e=new Proxy({},{get:(r,n)=>{if(n!=="then")return n==="run"?()=>!1:()=>e}});return e}createCan(e){const{rawCommands:r,state:n}=this,i=!1,a=e||n.tr,s=this.buildProps(a,i);return{...Object.fromEntries(Object.entries(r).map(([o,l])=>[o,(...u)=>l(...u)({...s,dispatch:void 0})])),chain:()=>this.createChain(a,i)}}static createFallbackCan(){const e=R4e.createFakeChain();return new Proxy({chain:()=>e},{get:(r,n)=>{if(n!=="then")return n==="chain"?r.chain:()=>!1}})}buildProps(e,r=!0){const{rawCommands:n,editor:i,state:a}=this,{view:s}=i,o={tr:e,editor:i,view:s,state:rD({state:a,transaction:e}),dispatch:r?()=>{}:void 0,chain:()=>this.createChain(e,r),can:()=>this.createCan(e),get commands(){return Object.fromEntries(Object.entries(n).map(([l,u])=>[l,(...d)=>u(...d)(o)]))}};return o}};const B1t=()=>({editor:t,view:e})=>(requestAnimationFrame(()=>{if(!t.isDestroyed){var r;e.dom.blur(),(r=window)===null||r===void 0||(r=r.getSelection())===null||r===void 0||r.removeAllRanges()}}),!0),$1t=(t=!0)=>({commands:e})=>e.setContent("",{emitUpdate:t}),F1t=()=>({state:t,tr:e,dispatch:r})=>{const{selection:n}=e,{ranges:i}=n;return r&&i.forEach(({$from:a,$to:s})=>{t.doc.nodesBetween(a.pos,s.pos,(o,l)=>{if(o.type.isText)return;const{doc:u,mapping:d}=e,h=u.resolve(d.map(l)),f=u.resolve(d.map(l+o.nodeSize)),p=h.blockRange(f);if(!p)return;const g=W4(p);if(o.type.isTextblock){const{defaultType:m}=h.parent.contentMatchAt(h.index());e.setNodeMarkup(p.start,m)}(g||g===0)&&e.lift(p,g)})}),!0},z1t=t=>e=>t(e),H1t=()=>({state:t,dispatch:e})=>Pve(t,e),V1t=(t,e)=>({editor:r,tr:n})=>{const{state:i}=r,a=i.doc.slice(t.from,t.to);n.deleteRange(t.from,t.to);const s=n.mapping.map(e);return n.insert(s,a.content),n.setSelection(new yr(n.doc.resolve(Math.max(s-1,0)))),!0},G1t=()=>({tr:t,dispatch:e})=>{const{selection:r}=t,n=r.$anchor.node();if(n.content.size>0)return!1;const i=t.selection.$anchor;for(let a=i.depth;a>0;a-=1)if(i.node(a).type===n.type){if(e){const s=i.before(a),o=i.after(a);t.delete(s,o).scrollIntoView()}return!0}return!1};function Ps(t,e){if(typeof t=="string"){if(!e.nodes[t])throw Error(`There is no node type named '${t}'. Maybe you forgot to add the extension?`);return e.nodes[t]}return t}const W1t=t=>({tr:e,state:r,dispatch:n})=>{const i=Ps(t,r.schema),a=e.selection.$anchor;for(let s=a.depth;s>0;s-=1)if(a.node(s).type===i){if(n){const o=a.before(s),l=a.after(s);e.delete(o,l).scrollIntoView()}return!0}return!1},q1t=t=>({tr:e,dispatch:r})=>{const{from:n,to:i}=t;return r&&e.delete(n,i),!0},j1t=t=>t.content?/^text(\*|\+)/.test(t.content):!1,eue=(t,e,r)=>{if(!t.parent.isInline||r==="left"&&t.pos>t.start()||r==="right"&&t.pos<t.end())return t.pos;const n=e.nodes[t.parent.type.name].spec;return j1t(n)?r==="left"?t.start()-1:t.end()+1:t.pos},Y1t=(t,e,r)=>({from:eue(t,r,"left"),to:eue(e,r,"right")}),X1t=()=>({state:t,dispatch:e})=>{if(t.selection.empty)return!1;if(e){const r=t.tr,{ranges:n}=t.selection,i=r.steps.length;n.forEach(a=>{const s=r.mapping.slice(i),o=r.doc.resolve(s.map(a.$from.pos)),l=r.doc.resolve(s.map(a.$to.pos)),{from:u,to:d}=Y1t(o,l,t.schema);r.deleteRange(u,d)}),r.selection.empty||r.setSelection(yr.near(r.doc.resolve(r.selection.from))),r.scrollIntoView(),e(r)}return!0},K1t=()=>({commands:t})=>t.keyboardShortcut("Enter"),Z1t=()=>({state:t,dispatch:e})=>Tpt(t,e);function IJ(t){return Object.prototype.toString.call(t)==="[object RegExp]"}function HR(t,e,r={strict:!0}){const n=Object.keys(e);return n.length?n.every(i=>r.strict?e[i]===t[i]:IJ(e[i])?e[i].test(t[i]):e[i]===t[i]):!0}function I4e(t,e,r={}){return t.find(n=>n.type===e&&HR(Object.fromEntries(Object.keys(r).map(i=>[i,n.attrs[i]])),r))}function tue(t,e,r={}){return!!I4e(t,e,r)}function LJ(t,e,r){if(!t||!e)return;let n=t.parent.childAfter(t.parentOffset);if((!n.node||!n.node.marks.some(l=>l.type===e))&&(n=t.parent.childBefore(t.parentOffset)),!n.node||!n.node.marks.some(l=>l.type===e))return;if(!r){const l=n.node.marks.find(u=>u.type===e);l&&(r=l.attrs)}if(!I4e([...n.node.marks],e,r))return;let i=n.index,a=t.start()+n.offset,s=i+1,o=a+n.node.nodeSize;for(;i>0&&tue([...t.parent.child(i-1).marks],e,r);)i-=1,a-=t.parent.child(i).nodeSize;for(;s<t.parent.childCount&&tue([...t.parent.child(s).marks],e,r);)o+=t.parent.child(s).nodeSize,s+=1;return{from:a,to:o}}function rp(t,e){if(typeof t=="string"){if(!e.marks[t])throw Error(`There is no mark type named '${t}'. Maybe you forgot to add the extension?`);return e.marks[t]}return t}const J1t=(t,e)=>({tr:r,state:n,dispatch:i})=>{const a=rp(t,n.schema),{doc:s,selection:o}=r,{$from:l,from:u,to:d}=o;if(i){const h=LJ(l,a,e);if(h&&h.from<=u&&h.to>=d){const f=yr.create(s,h.from,h.to);r.setSelection(f)}}return!0},Q1t=t=>e=>{const r=typeof t=="function"?t(e):t;for(let n=0;n<r.length;n+=1)if(r[n](e))return!0;return!1};function L4e(t){return t instanceof yr}function oU(t=0,e=0,r=0){return Math.min(Math.max(t,e),r)}function TG(t,e=null){if(!e)return null;const r=Vr.atStart(t),n=Vr.atEnd(t);if(e==="start"||e===!0)return r;if(e==="end")return n;const i=r.from,a=n.to;return e==="all"?yr.create(t,oU(0,i,a),oU(t.content.size,i,a)):yr.create(t,oU(e,i,a),oU(e,i,a))}function rue(){return["Android"].includes(navigator.platform)||/android/i.test(navigator.userAgent)}function VR(){return["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}function emt(){return typeof navigator<"u"?/^((?!chrome|android).)*safari/i.test(navigator.userAgent):!1}const tmt=(t=null,e={})=>({editor:r,view:n,tr:i,dispatch:a})=>{e={scrollIntoView:!0,...e};const s=()=>{(VR()||rue())&&n.dom.focus(),emt()&&!VR()&&!rue()&&n.dom.focus({preventScroll:!0}),requestAnimationFrame(()=>{r.isDestroyed||(n.focus(),e!=null&&e.scrollIntoView&&r.commands.scrollIntoView())})};try{if(n.hasFocus()&&t===null||t===!1)return!0}catch{return!1}if(a&&t===null&&!L4e(r.state.selection))return s(),!0;const o=TG(i.doc,t)||r.state.selection,l=r.state.selection.eq(o);return a&&(l||i.setSelection(o),l&&i.storedMarks&&i.setStoredMarks(i.storedMarks),s()),!0},rmt=(t,e)=>r=>t.every((n,i)=>e(n,{...r,index:i})),nmt=(t,e)=>({tr:r,commands:n})=>n.insertContentAt({from:r.selection.from,to:r.selection.to},t,e),N4e=t=>{const e=t.childNodes;for(let r=e.length-1;r>=0;r-=1){const n=e[r];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?t.removeChild(n):n.nodeType===1&&N4e(n)}return t};function I9(t){if(typeof window>"u")throw new Error("[tiptap error]: there is no window object available, so this function cannot be used");const e=`<body>${t}</body>`,r=new window.DOMParser().parseFromString(e,"text/html").body;return N4e(r)}function O4e(t){return typeof(t==null?void 0:t.nodesBetween)=="function"}function Iv(t,e,r){if(O4e(t))return t;const n=typeof t=="object"&&t!==null;r={slice:!0,parseOptions:{},...r};const i=typeof t=="string";if(n)try{if(Array.isArray(t)&&t.length>0)return At.fromArray(t.map(s=>e.nodeFromJSON(s)));const a=e.nodeFromJSON(t);return r.errorOnInvalidContent&&a.check(),a}catch(a){if(r.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:a});return console.warn("[tiptap warn]: Invalid content.","Passed value:",t,"Error:",a),Iv("",e,r)}if(i){if(r.errorOnInvalidContent){let s=!1,o="";const l=new lve({topNode:e.spec.topNode,marks:e.spec.marks,nodes:e.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(s=!0,o=typeof u=="string"?u:u.outerHTML,null)}]}})});if(r.slice?ab.fromSchema(l).parseSlice(I9(t),r.parseOptions):ab.fromSchema(l).parse(I9(t),r.parseOptions),r.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${o}`)})}const a=ab.fromSchema(e);return r.slice?a.parseSlice(I9(t),r.parseOptions).content:a.parse(I9(t),r.parseOptions)}return Iv("",e,r)}function D4e(t){return!("type"in t)}function P4e(t,e,r){const n=t.steps.length-1;if(n<e)return;const i=t.steps[n];if(!(i instanceof va||i instanceof eo))return;const a=t.mapping.maps[n];let s=0;a.forEach((o,l,u,d)=>{s===0&&(s=d)}),t.setSelection(Vr.near(t.doc.resolve(s),r))}const imt=(t,e,r)=>({tr:n,dispatch:i,editor:a})=>{if(i){r={parseOptions:a.options.parseOptions,updateSelection:!0,applyInputRules:!1,applyPasteRules:!1,...r};let o;const l=U=>{a.emit("contentError",{editor:a,error:U,disableCollaboration:()=>{"collaboration"in a.storage&&typeof a.storage.collaboration=="object"&&a.storage.collaboration&&(a.storage.collaboration.isDisabled=!0)}})},u={preserveWhitespace:"full",...r.parseOptions};if(!r.errorOnInvalidContent&&!a.options.enableContentCheck&&a.options.emitContentError)try{Iv(e,a.schema,{parseOptions:u,errorOnInvalidContent:!0})}catch(U){l(U)}try{var s;o=Iv(e,a.schema,{parseOptions:u,errorOnInvalidContent:(s=r.errorOnInvalidContent)!==null&&s!==void 0?s:a.options.enableContentCheck})}catch(U){return l(U),!1}let{from:d,to:h}=typeof t=="number"?{from:t,to:t}:{from:t.from,to:t.to},f=!0,p=!0;const g=D4e(o)?o.content:[o];if(g.forEach(U=>{U.check(),f=f?U.isText&&U.marks.length===0:!1,p=p?U.isBlock:!1}),d===h&&p){const{parent:U}=n.doc.resolve(d);U.isTextblock&&!U.type.spec.code&&!U.childCount&&(d-=1,h+=1)}let m;if(f)Array.isArray(e)?m=e.map(U=>U.text||"").join(""):O4e(e)?m=g.map(U=>{var y;return(y=U.text)!==null&&y!==void 0?y:""}).join(""):typeof e=="object"&&e&&e.text?m=e.text:m=e,n.insertText(m,d,h);else{m=At.from(g);const U=n.doc.resolve(d),y=U.node(),b=U.parentOffset===0,v=y.isText||y.isTextblock,w=y.content.size>0;b&&v&&w&&p&&(d=Math.max(0,d-1)),n.replaceWith(d,h,g)}r.updateSelection&&P4e(n,n.steps.length-1,-1),r.applyInputRules&&n.setMeta("applyInputRules",{from:d,text:m}),r.applyPasteRules&&n.setMeta("applyPasteRules",{from:d,text:m})}return!0};function nD(t){for(let e=0;e<t.edgeCount;e+=1){const{type:r}=t.edge(e);if(r.isTextblock&&!r.hasRequiredAttrs())return r}return null}const amt=(t={})=>({tr:e,dispatch:r,editor:n})=>{const{pos:i,attrs:a,content:s,updateSelection:o=!0}=t;let l;typeof i=="number"?l=e.doc.resolve(i):i?l=i:l=e.selection.$from;const u=nD(l.parent.contentMatchAt(l.index()));if(!u)return!1;const d=Object.keys(u.spec.attrs||{}),h=a?Object.fromEntries(Object.entries(a).filter(([p])=>d.includes(p))):{};let f;if(s){const p=Iv(s,n.schema);f=u.createAndFill(h,p)}else f=u.createAndFill(h);return f?(r&&(e.insert(l.pos,f),o&&P4e(e,e.steps.length-1,-1)),!0):!1},smt=()=>({state:t,dispatch:e})=>vpt(t,e),omt=()=>({state:t,dispatch:e})=>xpt(t,e),lmt=()=>({state:t,dispatch:e})=>Mve(t,e),cmt=()=>({state:t,dispatch:e})=>Nve(t,e),_4e=(t,e)=>{const r=t.resolve(e),n=r.nodeBefore,i=r.nodeAfter;return!n||!i?!1:!n.type.spec.isolating&&!i.type.spec.isolating},umt=()=>({state:t,dispatch:e,tr:r})=>{try{const n=KO(t.doc,t.selection.$from.pos,-1);return n==null||!_4e(t.doc,n)?!1:(r.join(n,2),e&&e(r),!0)}catch{return!1}},dmt=()=>({state:t,dispatch:e,tr:r})=>{try{const n=KO(t.doc,t.selection.$from.pos,1);return n==null||!_4e(t.doc,n)?!1:(r.join(n,2),e&&e(r),!0)}catch{return!1}},hmt=()=>({state:t,dispatch:e})=>ypt(t,e),fmt=()=>({state:t,dispatch:e})=>bpt(t,e);function B4e(){return typeof navigator<"u"?/Mac/.test(navigator.platform):!1}function pmt(t){const e=t.split(/-(?!$)/);let r=e[e.length-1];r==="Space"&&(r=" ");let n,i,a,s;for(let o=0;o<e.length-1;o+=1){const l=e[o];if(/^(cmd|meta|m)$/i.test(l))s=!0;else if(/^a(lt)?$/i.test(l))n=!0;else if(/^(c|ctrl|control)$/i.test(l))i=!0;else if(/^s(hift)?$/i.test(l))a=!0;else if(/^mod$/i.test(l))VR()||B4e()?s=!0:i=!0;else throw new Error(`Unrecognized modifier name: ${l}`)}return n&&(r=`Alt-${r}`),i&&(r=`Ctrl-${r}`),s&&(r=`Meta-${r}`),a&&(r=`Shift-${r}`),r}const gmt=t=>({editor:e,view:r,tr:n,dispatch:i})=>{const a=pmt(t).split(/-(?!$)/),s=a.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),o=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:a.includes("Alt"),ctrlKey:a.includes("Ctrl"),metaKey:a.includes("Meta"),shiftKey:a.includes("Shift"),bubbles:!0,cancelable:!0}),l=e.captureTransaction(()=>{r.someProp("handleKeyDown",u=>u(r,o))});return l==null||l.steps.forEach(u=>{const d=u.map(n.mapping);d&&i&&n.maybeStep(d)}),!0};function M0(t,e,r={}){const{from:n,to:i,empty:a}=t.selection,s=e?Ps(e,t.schema):null,o=[];t.doc.nodesBetween(n,i,(d,h)=>{if(d.isText)return;const f=Math.max(n,h),p=Math.min(i,h+d.nodeSize);o.push({node:d,from:f,to:p})});const l=i-n,u=o.filter(d=>s?s.name===d.node.type.name:!0).filter(d=>HR(d.node.attrs,r,{strict:!1}));return a?!!u.length:u.reduce((d,h)=>d+h.to-h.from,0)>=l}const mmt=(t,e={})=>({state:r,dispatch:n})=>M0(r,Ps(t,r.schema),e)?wpt(r,n):!1,Umt=()=>({state:t,dispatch:e})=>_ve(t,e),ymt=t=>({state:e,dispatch:r})=>{const n=Ps(t,e.schema);return Opt(n)(e,r)},bmt=()=>({state:t,dispatch:e})=>Dve(t,e);function iD(t,e){return e.nodes[t]?"node":e.marks[t]?"mark":null}function nue(t,e){const r=typeof e=="string"?[e]:e;return Object.keys(t).reduce((n,i)=>(r.includes(i)||(n[i]=t[i]),n),{})}const vmt=(t,e)=>({tr:r,state:n,dispatch:i})=>{let a=null,s=null;const o=iD(typeof t=="string"?t:t.name,n.schema);if(!o)return!1;o==="node"&&(a=Ps(t,n.schema)),o==="mark"&&(s=rp(t,n.schema));let l=!1;return r.selection.ranges.forEach(u=>{n.doc.nodesBetween(u.$from.pos,u.$to.pos,(d,h)=>{a&&a===d.type&&(l=!0,i&&r.setNodeMarkup(h,void 0,nue(d.attrs,e))),s&&d.marks.length&&d.marks.forEach(f=>{s===f.type&&(l=!0,i&&r.addMark(h,h+d.nodeSize,s.create(nue(f.attrs,e))))})})}),l},xmt=()=>({tr:t,dispatch:e})=>(e&&t.scrollIntoView(),!0),wmt=()=>({tr:t,dispatch:e})=>{if(e){const r=new Yc(t.doc);t.setSelection(r)}return!0},Tmt=()=>({state:t,dispatch:e})=>Ive(t,e),Cmt=()=>({state:t,dispatch:e})=>Ove(t,e),Smt=()=>({state:t,dispatch:e})=>kpt(t,e),kmt=()=>({state:t,dispatch:e})=>Mpt(t,e),Emt=()=>({state:t,dispatch:e})=>Apt(t,e);function CG(t,e,r={},n={}){return Iv(t,e,{slice:!1,parseOptions:r,errorOnInvalidContent:n.errorOnInvalidContent})}const Amt=(t,{errorOnInvalidContent:e,emitUpdate:r=!0,parseOptions:n={}}={})=>({editor:i,tr:a,dispatch:s,commands:o})=>{const{doc:l}=a;if(n.preserveWhitespace!=="full"){const u=CG(t,i.schema,n,{errorOnInvalidContent:e??i.options.enableContentCheck});if(s){const d=D4e(u)?u.content:[u];a.replaceWith(0,l.content.size,d).setMeta("preventUpdate",!r)}return!0}return s&&a.setMeta("preventUpdate",!r),o.insertContentAt({from:0,to:l.content.size},t,{parseOptions:n,errorOnInvalidContent:e??i.options.enableContentCheck})};function $4e(t,e){const r=rp(e,t.schema),{from:n,to:i,empty:a}=t.selection,s=[];a?(t.storedMarks&&s.push(...t.storedMarks),s.push(...t.selection.$head.marks())):t.doc.nodesBetween(n,i,l=>{s.push(...l.marks)});const o=s.find(l=>l.type.name===r.name);return o?{...o.attrs}:{}}function NJ(t,e){const r=new gJ(t);return e.forEach(n=>{n.steps.forEach(i=>{r.step(i)})}),r}function RA(t,e){const r=[];return t.descendants((n,i)=>{e(n)&&r.push({node:n,pos:i})}),r}function F4e(t,e,r){const n=[];return t.nodesBetween(e.from,e.to,(i,a)=>{r(i)&&n.push({node:i,pos:a})}),n}function oT(t,e){for(let r=t.depth;r>0;r-=1){const n=t.node(r);if(e(n))return{pos:r>0?t.before(r):0,start:t.start(r),depth:r,node:n}}}function T5(t){return e=>oT(e.$from,t)}function mr(t,e,r){return t.config[e]===void 0&&t.parent?mr(t.parent,e,r):typeof t.config[e]=="function"?t.config[e].bind({...r,parent:t.parent?mr(t.parent,e,r):null}):t.config[e]}function aD(t){return t.map(e=>{const r=mr(e,"addExtensions",{name:e.name,options:e.options,storage:e.storage});return r?[e,...aD(r())]:e}).flat(10)}function OJ(t,e){const r=w5.fromSchema(e).serializeFragment(t),n=document.implementation.createHTMLDocument().createElement("div");return n.appendChild(r),n.innerHTML}function SG(t){return typeof t=="function"}function ni(t,e=void 0,...r){return SG(t)?e?t.bind(e)(...r):t(...r):t}function Mmt(t={}){return Object.keys(t).length===0&&t.constructor===Object}function Lv(t){return{baseExtensions:t.filter(e=>e.type==="extension"),nodeExtensions:t.filter(e=>e.type==="node"),markExtensions:t.filter(e=>e.type==="mark")}}function z4e(t){const e=[],{nodeExtensions:r,markExtensions:n}=Lv(t),i=[...r,...n],a={default:null,validate:void 0,rendered:!0,renderHTML:null,parseHTML:null,keepOnSplit:!0,isRequired:!1},s=r.filter(u=>u.name!=="text").map(u=>u.name),o=n.map(u=>u.name),l=[...s,...o];return t.forEach(u=>{const d=mr(u,"addGlobalAttributes",{name:u.name,options:u.options,storage:u.storage,extensions:i});d&&d().forEach(h=>{let f;Array.isArray(h.types)?f=h.types:h.types==="*"?f=l:h.types==="nodes"?f=s:h.types==="marks"?f=o:f=[],f.forEach(p=>{Object.entries(h.attributes).forEach(([g,m])=>{e.push({type:p,name:g,attribute:{...a,...m}})})})})}),i.forEach(u=>{const d=mr(u,"addAttributes",{name:u.name,options:u.options,storage:u.storage});if(!d)return;const h=d();Object.entries(h).forEach(([f,p])=>{const g={...a,...p};typeof(g==null?void 0:g.default)=="function"&&(g.default=g.default()),g!=null&&g.isRequired&&(g==null?void 0:g.default)===void 0&&delete g.default,e.push({type:u.name,name:f,attribute:g})})}),e}function Rmt(t){const e=[];let r="",n=!1,i=!1,a=0;const s=t.length;for(let o=0;o<s;o+=1){const l=t[o];if(l==="'"&&!i){n=!n,r+=l;continue}if(l==='"'&&!n){i=!i,r+=l;continue}if(!n&&!i){if(l==="("){a+=1,r+=l;continue}if(l===")"&&a>0){a-=1,r+=l;continue}if(l===";"&&a===0){e.push(r),r="";continue}}r+=l}return r&&e.push(r),e}function iue(t){const e=[],r=Rmt(t||""),n=r.length;for(let i=0;i<n;i+=1){const a=r[i],s=a.indexOf(":");if(s===-1)continue;const o=a.slice(0,s).trim(),l=a.slice(s+1).trim();o&&l&&e.push([o,l])}return e}function yn(...t){return t.filter(e=>!!e).reduce((e,r)=>{const n={...e};return Object.entries(r).forEach(([i,a])=>{if(i==="__proto__"){Object.defineProperty(n,i,{configurable:!0,enumerable:!0,value:a,writable:!0});return}if(!n[i]){n[i]=a;return}if(i==="class"){const s=a?String(a).split(" "):[],o=n[i]?n[i].split(" "):[],l=s.filter(u=>!o.includes(u));n[i]=[...o,...l].join(" ")}else if(i==="style"){const s=new Map([...iue(n[i]),...iue(a)]);n[i]=Array.from(s.entries()).map(([o,l])=>`${o}: ${l}`).join("; ")}else n[i]=a}),n},{})}function Nv(t,e){return e.filter(r=>r.type===t.type.name).filter(r=>r.attribute.rendered).map(r=>r.attribute.renderHTML?r.attribute.renderHTML(t.attrs)||{}:{[r.name]:t.attrs[r.name]}).reduce((r,n)=>yn(r,n),{})}function Imt(t){return typeof t!="string"?t:t.match(/^[+-]?(?:\d*\.)?\d+$/)?Number(t):t==="true"?!0:t==="false"?!1:t}function aue(t,e){return"style"in t?t:{...t,getAttrs:r=>{const n=t.getAttrs?t.getAttrs(r):t.attrs;if(n===!1)return!1;const i=e.reduce((a,s)=>{const o=s.attribute.parseHTML?s.attribute.parseHTML(r):Imt(r.getAttribute(s.name));return o==null?a:{...a,[s.name]:o}},{});return{...n,...i}}}}function sue(t){return Object.fromEntries(Object.entries(t).filter(([e,r])=>e==="attrs"&&Mmt(r)?!1:r!=null))}function oue(t){var e,r;const n={};return!(!(t==null||(e=t.attribute)===null||e===void 0)&&e.isRequired)&&"default"in((t==null?void 0:t.attribute)||{})&&(n.default=t.attribute.default),(t==null||(r=t.attribute)===null||r===void 0?void 0:r.validate)!==void 0&&(n.validate=t.attribute.validate),[t.name,n]}function H4e(t,e){var r;const n=z4e(t),{nodeExtensions:i,markExtensions:a}=Lv(t),s=(r=i.find(u=>mr(u,"topNode")))===null||r===void 0?void 0:r.name,o=Object.fromEntries(i.map(u=>{const d=n.filter(U=>U.type===u.name),h={name:u.name,options:u.options,storage:u.storage,editor:e},f=sue({...t.reduce((U,y)=>{const b=mr(y,"extendNodeSchema",h);return{...U,...b?b(u):{}}},{}),content:ni(mr(u,"content",h)),marks:ni(mr(u,"marks",h)),group:ni(mr(u,"group",h)),inline:ni(mr(u,"inline",h)),atom:ni(mr(u,"atom",h)),selectable:ni(mr(u,"selectable",h)),draggable:ni(mr(u,"draggable",h)),code:ni(mr(u,"code",h)),whitespace:ni(mr(u,"whitespace",h)),linebreakReplacement:ni(mr(u,"linebreakReplacement",h)),defining:ni(mr(u,"defining",h)),isolating:ni(mr(u,"isolating",h)),attrs:Object.fromEntries(d.map(oue))}),p=ni(mr(u,"parseHTML",h));p&&(f.parseDOM=p.map(U=>aue(U,d)));const g=mr(u,"renderHTML",h);g&&(f.toDOM=U=>g({node:U,HTMLAttributes:Nv(U,d)}));const m=mr(u,"renderText",h);return m&&(f.toText=m),[u.name,f]})),l=Object.fromEntries(a.map(u=>{const d=n.filter(m=>m.type===u.name),h={name:u.name,options:u.options,storage:u.storage,editor:e},f=sue({...t.reduce((m,U)=>{const y=mr(U,"extendMarkSchema",h);return{...m,...y?y(u):{}}},{}),inclusive:ni(mr(u,"inclusive",h)),excludes:ni(mr(u,"excludes",h)),group:ni(mr(u,"group",h)),spanning:ni(mr(u,"spanning",h)),code:ni(mr(u,"code",h)),attrs:Object.fromEntries(d.map(oue))}),p=ni(mr(u,"parseHTML",h));p&&(f.parseDOM=p.map(m=>aue(m,d)));const g=mr(u,"renderHTML",h);return g&&(f.toDOM=m=>g({mark:m,HTMLAttributes:Nv(m,d)})),[u.name,f]}));return new lve({topNode:s,nodes:o,marks:l})}function Lmt(t){const e=t.filter((r,n)=>t.indexOf(r)!==n);return Array.from(new Set(e))}function lb(t){return t.sort((r,n)=>{const i=mr(r,"priority")||100,a=mr(n,"priority")||100;return i>a?-1:i<a?1:0})}function DJ(t){const e=lb(aD(t)),r=Lmt(e.map(n=>n.name));return r.length&&console.warn(`[tiptap warn]: Duplicate extension names found: [${r.map(n=>`'${n}'`).join(", ")}]. This can lead to issues.`),e}function kG(t,e){return H4e(DJ(t),e)}function Nmt(t,e){const r=kG(e),n=I9(t);return ab.fromSchema(r).parse(n).toJSON()}function V4e(t,e,r){const{from:n,to:i}=e,{blockSeparator:a=`
`,textSerializers:s={}}=r||{};let o="";return t.nodesBetween(n,i,(l,u,d,h)=>{l.isBlock&&u>n&&(o+=a);const f=s==null?void 0:s[l.type.name];if(f)return d&&(o+=f({node:l,pos:u,parent:d,index:h,range:e})),!1;if(l.isText){var p;o+=l==null||(p=l.text)===null||p===void 0?void 0:p.slice(Math.max(n,u)-u,i-u)}}),o}function Omt(t,e){return V4e(t,{from:0,to:t.content.size},e)}function G4e(t){return Object.fromEntries(Object.entries(t.nodes).filter(([,e])=>e.spec.toText).map(([e,r])=>[e,r.spec.toText]))}function Dmt(t,e){const r=Ps(e,t.schema),{from:n,to:i}=t.selection,a=[];t.doc.nodesBetween(n,i,o=>{a.push(o)});const s=a.reverse().find(o=>o.type.name===r.name);return s?{...s.attrs}:{}}function PJ(t,e){const r=iD(typeof e=="string"?e:e.name,t.schema);return r==="node"?Dmt(t,e):r==="mark"?$4e(t,e):{}}function Pmt(t,e=JSON.stringify){const r={};return t.filter(n=>{const i=e(n);return Object.prototype.hasOwnProperty.call(r,i)?!1:r[i]=!0})}function _mt(t){const e=Pmt(t);return e.length===1?e:e.filter((r,n)=>!e.filter((i,a)=>a!==n).some(i=>r.oldRange.from>=i.oldRange.from&&r.oldRange.to<=i.oldRange.to&&r.newRange.from>=i.newRange.from&&r.newRange.to<=i.newRange.to))}function QC(t){const{mapping:e,steps:r}=t,n=[];return e.maps.forEach((i,a)=>{const s=[];if(i.ranges.length)i.forEach((o,l)=>{s.push({from:o,to:l})});else{const{from:o,to:l}=r[a];if(o===void 0||l===void 0)return;s.push({from:o,to:l})}s.forEach(({from:o,to:l})=>{const u=e.slice(a).map(o,-1),d=e.slice(a).map(l),h=e.invert().map(u,-1),f=e.invert().map(d);n.push({oldRange:{from:h,to:f},newRange:{from:u,to:d}})})}),_mt(n)}function q4(t,e,r){const n=[];return t===e?r.resolve(t).marks().forEach(i=>{const a=LJ(r.resolve(t),i.type);a&&n.push({mark:i,...a})}):r.nodesBetween(t,e,(i,a)=>{!i||(i==null?void 0:i.nodeSize)===void 0||n.push(...i.marks.map(s=>({from:a,to:a+i.nodeSize,mark:s})))}),n}const Bmt=(t,e,r,n=20)=>{const i=t.doc.resolve(r);let a=n,s=null;for(;a>0&&s===null;){const o=i.node(a);(o==null?void 0:o.type.name)===e?s=o:a-=1}return[s,a]},$mt=t=>{const e=t.depth-1;if(e<0)return null;const r=t.index(e);return r===0?null:t.node(e).child(r-1)};function my(t,e){return e.nodes[t]||e.marks[t]||null}function IA(t,e,r){return Object.fromEntries(Object.entries(r).filter(([n])=>{const i=t.find(a=>a.type===e&&a.name===n);return i?i.attribute.keepOnSplit:!1}))}const Fmt=(t,e=500)=>{let r="";const n=t.parentOffset;return t.parent.nodesBetween(Math.max(0,n-e),n,(i,a,s,o)=>{var l,u;const d=((l=(u=i.type.spec).toText)===null||l===void 0?void 0:l.call(u,{node:i,pos:a,parent:s,index:o}))||i.textContent||"%leaf%";r+=i.isAtom&&!i.isText?d:d.slice(0,Math.max(0,n-a))}),r};function EG(t,e,r={}){const{empty:n,ranges:i}=t.selection,a=e?rp(e,t.schema):null;if(n)return!!(t.storedMarks||t.selection.$from.marks()).filter(d=>a?a.name===d.type.name:!0).find(d=>HR(d.attrs,r,{strict:!1}));let s=0;const o=[];if(i.forEach(({$from:d,$to:h})=>{const f=d.pos,p=h.pos;t.doc.nodesBetween(f,p,(g,m)=>{if(a&&g.inlineContent&&!g.type.allowsMarkType(a))return!1;if(!g.isText&&!g.marks.length)return;const U=Math.max(f,m),y=Math.min(p,m+g.nodeSize),b=y-U;s+=b,o.push(...g.marks.map(v=>({mark:v,from:U,to:y})))})}),s===0)return!1;const l=o.filter(d=>a?a.name===d.mark.type.name:!0).filter(d=>HR(d.mark.attrs,r,{strict:!1})).reduce((d,h)=>d+h.to-h.from,0),u=o.filter(d=>a?d.mark.type!==a&&d.mark.type.excludes(a):!0).reduce((d,h)=>d+h.to-h.from,0);return(l>0?l+u:l)>=s}function W4e(t,e,r={}){if(!e)return M0(t,null,r)||EG(t,null,r);const n=iD(e,t.schema);return n==="node"?M0(t,e,r):n==="mark"?EG(t,e,r):!1}const zmt=(t,e)=>{const{$from:r,$to:n,$anchor:i}=t.selection;if(e){const a=T5(o=>o.type.name===e)(t.selection);if(!a)return!1;const s=t.doc.resolve(a.pos+1);return i.pos+1===s.end()}return!(n.parentOffset<n.parent.nodeSize-2||r.pos!==n.pos)},Hmt=t=>{const{$from:e,$to:r}=t.selection;return!(e.parentOffset>0||e.pos!==r.pos)};function lue(t,e){return Array.isArray(e)?e.some(r=>(typeof r=="string"?r:r.name)===t.name):e}function h$(t,e){const{nodeExtensions:r}=Lv(e),n=r.find(a=>a.name===t);if(!n)return!1;const i=ni(mr(n,"group",{name:n.name,options:n.options,storage:n.storage}));return typeof i!="string"?!1:i.split(" ").includes("list")}function eS(t,{checkChildren:e=!0,ignoreWhitespace:r=!1}={}){if(r){if(t.type.name==="hardBreak")return!0;if(t.isText){var n;return!/\S/.test((n=t.text)!==null&&n!==void 0?n:"")}}if(t.isText)return!t.text;if(t.isAtom||t.isLeaf)return!1;if(t.content.childCount===0)return!0;if(e){let i=!0;return t.content.forEach(a=>{i!==!1&&(eS(a,{ignoreWhitespace:r,checkChildren:e})||(i=!1))}),i}return!1}function q4e(t){return t instanceof Nr}var j4e=class Y4e{constructor(e){this.position=e}static fromJSON(e){return new Y4e(e.position)}toJSON(){return{position:this.position}}};function Vmt(t,e){const r=e.mapping.mapResult(t.position);return{position:new j4e(r.pos),mapResult:r}}function Gmt(t){return new j4e(t)}function Wmt(t,e,r){const{selection:n}=e;let i=null;if(L4e(n)&&(i=n.$cursor),i){var a;const o=(a=t.storedMarks)!==null&&a!==void 0?a:i.marks();return i.parent.type.allowsMarkType(r)&&(!!r.isInSet(o)||!o.some(l=>l.type.excludes(r)))}const{ranges:s}=n;return s.some(({$from:o,$to:l})=>{let u=o.depth===0?t.doc.inlineContent&&t.doc.type.allowsMarkType(r):!1;return t.doc.nodesBetween(o.pos,l.pos,(d,h,f)=>{if(u)return!1;if(d.isInline){const p=!f||f.type.allowsMarkType(r),g=!!r.isInSet(d.marks)||!d.marks.some(m=>m.type.excludes(r));u=p&&g}return!u}),u})}const qmt=(t,e={})=>({tr:r,state:n,dispatch:i})=>{const{selection:a}=r,{empty:s,ranges:o}=a,l=rp(t,n.schema);if(i)if(s){const u=$4e(n,l);r.addStoredMark(l.create({...u,...e}))}else o.forEach(u=>{const d=u.$from.pos,h=u.$to.pos;n.doc.nodesBetween(d,h,(f,p)=>{const g=Math.max(p,d),m=Math.min(p+f.nodeSize,h);f.marks.find(U=>U.type===l)?f.marks.forEach(U=>{l===U.type&&r.addMark(g,m,l.create({...U.attrs,...e}))}):r.addMark(g,m,l.create(e))})});return Wmt(n,r,l)},jmt=(t,e)=>({tr:r})=>(r.setMeta(t,e),!0),Ymt=(t,e={})=>({state:r,dispatch:n,chain:i})=>{const a=Ps(t,r.schema);let s;return r.selection.$anchor.sameParent(r.selection.$head)&&(s=r.selection.$anchor.parent.attrs),a.isTextblock?i().command(({commands:o})=>xce(a,{...s,...e})(r)?!0:o.clearNodes()).command(({state:o})=>xce(a,{...s,...e})(o,n)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),!1)},Xmt=t=>({tr:e,dispatch:r})=>{if(r){const{doc:n}=e,i=oU(t,0,n.content.size),a=Nr.create(n,i);e.setSelection(a)}return!0},Kmt=(t,e)=>({tr:r,state:n,dispatch:i})=>{const{selection:a}=n;let s,o;return typeof e=="number"?(s=e,o=e):e&&"from"in e&&"to"in e?(s=e.from,o=e.to):(s=a.from,o=a.to),i&&r.doc.nodesBetween(s,o,(l,u)=>{l.isText||r.setNodeMarkup(u,void 0,{...l.attrs,dir:t})}),!0},Zmt=t=>({tr:e,dispatch:r})=>{if(r){const{doc:n}=e,{from:i,to:a}=typeof t=="number"?{from:t,to:t}:t,s=yr.atStart(n).from,o=yr.atEnd(n).to,l=oU(i,s,o),u=oU(a,s,o),d=yr.create(n,l,u);e.setSelection(d)}return!0},Jmt=t=>({state:e,dispatch:r})=>{const n=Ps(t,e.schema);return _pt(n)(e,r)};function cue(t,e){const r=t.storedMarks||t.selection.$to.parentOffset&&t.selection.$from.marks();if(r){const n=r.filter(i=>e==null?void 0:e.includes(i.type.name));t.tr.ensureMarks(n)}}const Qmt=({keepMarks:t=!0}={})=>({tr:e,state:r,dispatch:n,editor:i})=>{const{selection:a,doc:s}=e,{$from:o,$to:l}=a,u=i.extensionManager.attributes,d=IA(u,o.node().type.name,o.node().attrs);if(a instanceof Nr&&a.node.isBlock)return!o.parentOffset||!b0(s,o.pos)?!1:(n&&(t&&cue(r,i.extensionManager.splittableMarks),e.split(o.pos).scrollIntoView()),!0);if(!o.parent.isBlock)return!1;const h=l.parentOffset===l.parent.content.size,f=o.depth===0?void 0:nD(o.node(-1).contentMatchAt(o.indexAfter(-1)));let p=h&&f?[{type:f,attrs:d}]:void 0;const g=a instanceof yr&&!a.empty?vd.create({doc:e.doc,selection:a}).tr.deleteSelection():null,m=g?g.doc:e.doc,U=g?g.mapping.map(o.pos):o.pos;let y=b0(m,U,1,p);if(!p&&!y&&b0(m,U,1,f?[{type:f}]:void 0)&&(y=!0,p=f?[{type:f,attrs:d}]:void 0),n){if(y){const b=e.steps.length;if(a instanceof yr&&e.deleteSelection(),e.split(e.mapping.slice(b).map(o.pos),1,p),f&&!h&&!o.parentOffset&&o.parent.type!==f){const v=e.mapping.slice(b).map(o.before()),w=e.doc.resolve(v);o.node(-1).canReplaceWith(w.index(),w.index()+1,f)&&e.setNodeMarkup(e.mapping.slice(b).map(o.before()),f)}}t&&cue(r,i.extensionManager.splittableMarks),e.scrollIntoView()}return y},eUt=(t,e={})=>({tr:r,state:n,dispatch:i,editor:a})=>{const s=Ps(t,n.schema),{$from:o,$to:l}=n.selection,u=n.selection.node;if(u&&u.isBlock||o.depth<2||!o.sameParent(l))return!1;const d=o.node(-1);if(d.type!==s)return!1;const h=a.extensionManager.attributes;if(o.parent.content.size===0&&o.node(-1).childCount===o.indexAfter(-1)){if(o.depth===2||o.node(-3).type!==s||o.index(-2)!==o.node(-2).childCount-1)return!1;if(i){var f;let w=At.empty;const T=o.index(-1)?1:o.index(-2)?2:3;for(let M=o.depth-T;M>=o.depth-3;M-=1)w=At.from(o.node(M).copy(w));const S=o.indexAfter(-1)<o.node(-2).childCount?1:o.indexAfter(-2)<o.node(-3).childCount?2:3,C={...IA(h,o.node().type.name,o.node().attrs),...e},k=((f=s.contentMatch.defaultType)===null||f===void 0?void 0:f.createAndFill(C))||void 0;w=w.append(At.from(s.createAndFill(null,k)||void 0));const E=o.before(o.depth-(T-1));r.replace(E,o.after(-S),new tr(w,4-T,0));let A=-1;r.doc.nodesBetween(E,r.doc.content.size,(M,P)=>{if(A>-1)return!1;M.isTextblock&&M.content.size===0&&(A=P+1)}),A>-1&&r.setSelection(yr.near(r.doc.resolve(A))),r.scrollIntoView()}return!0}const p=l.pos===o.end()?d.contentMatchAt(0).defaultType:null,g={...IA(h,d.type.name,d.attrs),...e},m={...IA(h,o.node().type.name,o.node().attrs),...e},U=o.parentOffset===0&&o.index(-1)===0,y=o.before(-1);r.delete(o.pos,l.pos);const b=U?d.attrs:g,v=p?[{type:s,attrs:b},{type:p,attrs:m}]:[{type:s,attrs:b}];if(!b0(r.doc,o.pos,2))return!1;if(i){const{selection:w,storedMarks:T}=n,{splittableMarks:S}=a.extensionManager,C=T||w.$to.parentOffset&&w.$from.marks();if(r.split(o.pos,2,v).scrollIntoView(),U&&r.setNodeMarkup(y,void 0,g),!C||!i)return!0;const k=C.filter(E=>S.includes(E.type.name));r.ensureMarks(k)}return!0};function uue(t){return!t||t==="1"?null:t}function X4e(t,e){return uue(t)===uue(e)}const f$=(t,e)=>{const r=T5(a=>a.type===e)(t.selection);if(!r)return!0;const n=t.doc.resolve(Math.max(0,r.pos-1)).before(r.depth);if(n===void 0)return!0;const i=t.doc.nodeAt(n);return!(r.node.type===(i==null?void 0:i.type)&&Ml(t.doc,r.pos))||!X4e(r.node.attrs.type,i==null?void 0:i.attrs.type)||t.join(r.pos),!0},p$=(t,e)=>{const r=T5(a=>a.type===e)(t.selection);if(!r)return!0;const n=t.doc.resolve(r.start).after(r.depth);if(n===void 0)return!0;const i=t.doc.nodeAt(n);return!(r.node.type===(i==null?void 0:i.type)&&Ml(t.doc,n))||!X4e(r.node.attrs.type,i==null?void 0:i.attrs.type)||t.join(n),!0};function tUt(t){const e=t.doc,r=e.firstChild;if(!r)return null;const n=e.resolve(1),i=e.resolve(r.nodeSize-1);return yr.between(n,i)}const rUt=(t,e,r,n={})=>({editor:i,tr:a,state:s,dispatch:o,chain:l,commands:u,can:d})=>{const{extensions:h,splittableMarks:f}=i.extensionManager,p=Ps(t,s.schema),g=Ps(e,s.schema),{selection:m,storedMarks:U}=s,{$from:y,$to:b}=m,v=y.blockRange(b),w=U||m.$to.parentOffset&&m.$from.marks();if(!v)return!1;const T=T5(N=>h$(N.type.name,h))(m),S=m.from===0&&m.to===s.doc.content.size,C=s.doc.content.content,k=C.length===1?C[0]:null,E=S&&k&&h$(k.type.name,h)?{node:k,pos:0}:null,A=T??E,M=!!T&&v.depth>=1&&v.depth-T.depth<=1,P=!!E;if((M||P)&&A){if(A.node.type===p)return S&&P?l().command(({tr:N,dispatch:I})=>{const L=tUt(N);return L?(N.setSelection(L),I&&I(N),!0):!1}).liftListItem(g).run():u.liftListItem(g);if(h$(A.node.type.name,h)&&p.validContent(A.node.content))return l().command(()=>(a.setNodeMarkup(A.pos,p),!0)).command(()=>f$(a,p)).command(()=>p$(a,p)).run()}return!r||!w||!o?l().command(()=>d().wrapInList(p,n)?!0:u.clearNodes()).wrapInList(p,n).command(()=>f$(a,p)).command(()=>p$(a,p)).run():l().command(()=>{const N=d().wrapInList(p,n),I=w.filter(L=>f.includes(L.type.name));return a.ensureMarks(I),N?!0:u.clearNodes()}).wrapInList(p,n).command(()=>f$(a,p)).command(()=>p$(a,p)).run()},nUt=(t,e={},r={})=>({state:n,commands:i})=>{const{extendEmptyMarkRange:a=!1}=r,s=rp(t,n.schema);return EG(n,s,e)?i.unsetMark(s,{extendEmptyMarkRange:a}):i.setMark(s,e)},iUt=(t,e,r={})=>({state:n,commands:i})=>{const a=Ps(t,n.schema),s=Ps(e,n.schema),o=M0(n,a,r);let l;return n.selection.$anchor.sameParent(n.selection.$head)&&(l=n.selection.$anchor.parent.attrs),o?i.setNode(s,l):i.setNode(a,{...l,...r})},aUt=(t,e={})=>({state:r,commands:n})=>{const i=Ps(t,r.schema);return M0(r,i,e)?n.lift(i):n.wrapIn(i,e)},sUt=()=>({state:t,dispatch:e})=>{const r=t.plugins;for(let n=0;n<r.length;n+=1){const i=r[n];let a;if(i.spec.isInputRules&&(a=i.getState(t))){if(e){const s=t.tr,o=a.transform;for(let l=o.steps.length-1;l>=0;l-=1)s.step(o.steps[l].invert(o.docs[l]));if(a.text){const l=s.doc.resolve(a.from).marks();s.replaceWith(a.from,a.to,t.schema.text(a.text,l))}else s.delete(a.from,a.to)}return!0}}return!1},oUt=(t={})=>({tr:e,dispatch:r,editor:n})=>{const{ignoreClearable:i=!1}=t,{selection:a}=e,{empty:s,ranges:o}=a;if(s)return!0;const{nonClearableMarks:l}=n.extensionManager;if(r){const u=Object.values(n.schema.marks).filter(d=>i||!l.includes(d.name));o.forEach(d=>{for(const h of u)e.removeMark(d.$from.pos,d.$to.pos,h)})}return!0},lUt=(t,e={})=>({tr:r,state:n,dispatch:i})=>{const{extendEmptyMarkRange:a=!1}=e,{selection:s}=r,o=rp(t,n.schema),{$from:l,empty:u,ranges:d}=s;if(!i)return!0;if(u&&a){var h;let{from:f,to:p}=s;const g=LJ(l,o,(h=l.marks().find(m=>m.type===o))===null||h===void 0?void 0:h.attrs);g&&(f=g.from,p=g.to),r.removeMark(f,p,o)}else d.forEach(f=>{r.removeMark(f.$from.pos,f.$to.pos,o)});return r.removeStoredMark(o),!0},cUt=t=>({tr:e,state:r,dispatch:n})=>{const{selection:i}=r;let a,s;return typeof t=="number"?(a=t,s=t):t&&"from"in t&&"to"in t?(a=t.from,s=t.to):(a=i.from,s=i.to),n&&e.doc.nodesBetween(a,s,(o,l)=>{if(o.isText)return;const u={...o.attrs};delete u.dir,e.setNodeMarkup(l,void 0,u)}),!0},uUt=(t,e={})=>({tr:r,state:n,dispatch:i})=>{let a=null,s=null;const o=iD(typeof t=="string"?t:t.name,n.schema);if(!o)return!1;o==="node"&&(a=Ps(t,n.schema)),o==="mark"&&(s=rp(t,n.schema));let l=!1;return r.selection.ranges.forEach(u=>{const d=u.$from.pos,h=u.$to.pos;let f,p,g,m;r.selection.empty?n.doc.nodesBetween(d,h,(U,y)=>{a&&a===U.type&&(l=!0,g=Math.max(y,d),m=Math.min(y+U.nodeSize,h),f=y,p=U)}):n.doc.nodesBetween(d,h,(U,y)=>{y<d&&a&&a===U.type&&(l=!0,g=Math.max(y,d),m=Math.min(y+U.nodeSize,h),f=y,p=U),y>=d&&y<=h&&(a&&a===U.type&&(l=!0,i&&r.setNodeMarkup(y,void 0,{...U.attrs,...e})),s&&U.marks.length&&U.marks.forEach(b=>{if(s===b.type&&(l=!0,i)){const v=Math.max(y,d),w=Math.min(y+U.nodeSize,h);r.addMark(v,w,s.create({...b.attrs,...e}))}}))}),p&&(f!==void 0&&i&&r.setNodeMarkup(f,void 0,{...p.attrs,...e}),s&&p.marks.length&&p.marks.forEach(U=>{s===U.type&&i&&r.addMark(g,m,s.create({...U.attrs,...e}))}))}),l},Qy=new Mi("__tiptap_decorations__"),dUt=t=>({tr:e,dispatch:r})=>(r&&e.setMeta(Qy,{type:"force",name:t}),!0),hUt=(t,e={})=>({state:r,dispatch:n})=>{const i=Ps(t,r.schema);return Rpt(i,e)(r,n)},fUt=(t,e={})=>({state:r,dispatch:n})=>{const i=Ps(t,r.schema);return Ipt(i,e)(r,n)};var sh=w0t({blur:()=>B1t,clearContent:()=>$1t,clearNodes:()=>F1t,command:()=>z1t,createParagraphNear:()=>H1t,cut:()=>V1t,deleteCurrentNode:()=>G1t,deleteNode:()=>W1t,deleteRange:()=>q1t,deleteSelection:()=>X1t,enter:()=>K1t,exitCode:()=>Z1t,extendMarkRange:()=>J1t,first:()=>Q1t,focus:()=>tmt,forEach:()=>rmt,insertContent:()=>nmt,insertContentAt:()=>imt,insertDefaultBlock:()=>amt,joinBackward:()=>lmt,joinDown:()=>omt,joinForward:()=>cmt,joinItemBackward:()=>umt,joinItemForward:()=>dmt,joinTextblockBackward:()=>hmt,joinTextblockForward:()=>fmt,joinUp:()=>smt,keyboardShortcut:()=>gmt,lift:()=>mmt,liftEmptyBlock:()=>Umt,liftListItem:()=>ymt,newlineInCode:()=>bmt,resetAttributes:()=>vmt,scrollIntoView:()=>xmt,selectAll:()=>wmt,selectNodeBackward:()=>Tmt,selectNodeForward:()=>Cmt,selectParentNode:()=>Smt,selectTextblockEnd:()=>kmt,selectTextblockStart:()=>Emt,setContent:()=>Amt,setMark:()=>qmt,setMeta:()=>jmt,setNode:()=>Ymt,setNodeSelection:()=>Xmt,setTextDirection:()=>Kmt,setTextSelection:()=>Zmt,sinkListItem:()=>Jmt,splitBlock:()=>Qmt,splitListItem:()=>eUt,toggleList:()=>rUt,toggleMark:()=>nUt,toggleNode:()=>iUt,toggleWrap:()=>aUt,undoInputRule:()=>sUt,unsetAllMarks:()=>oUt,unsetMark:()=>lUt,unsetTextDirection:()=>cUt,updateAttributes:()=>uUt,updateDecorations:()=>dUt,wrapIn:()=>hUt,wrapInList:()=>fUt});const O3=new WeakMap;function pUt(t,e){var r;O3.set(t,((r=O3.get(t))!==null&&r!==void 0?r:0)+1);try{return e()}finally{var n;const i=((n=O3.get(t))!==null&&n!==void 0?n:1)-1;i>0?O3.set(t,i):O3.delete(t)}}var gUt=class{constructor(){this.callbacks={}}on(t,e){return this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(e),this}emit(t,...e){const r=this.callbacks[t];return r&&r.forEach(n=>n.apply(this,e)),this}off(t,e){const r=this.callbacks[t];return r&&(e?this.callbacks[t]=r.filter(n=>n!==e):delete this.callbacks[t]),this}once(t,e){const r=(...n)=>{this.off(t,r),e.apply(this,n)};return this.on(t,r)}removeAllListeners(){this.callbacks={}}};function mUt(t){return t.kind==="widget"}function K4e(t,e){const r=[],n=new Set;for(const i of t)i.kind==="widget"&&mUt(i)&&n.add(i.key),r.push(i.toPMDecoration(e));return{decorations:r,widgetKeys:n}}function UUt(t,e,r){const{decorations:n,widgetKeys:i}=K4e(e,r);return{set:qn.create(t,n),widgetKeys:i}}function Z4e({position:t,from:e,to:r,docSize:n}){return t<e?!1:t<r?!0:t===r&&r===n}function yUt({decorations:t,from:e,to:r,docSize:n,extensionName:i,warnedExtensions:a}){return t.filter(s=>Z4e({position:s.anchor,from:e,to:r,docSize:n})?!0:(s.anchor===r||a.has(i)||(a.add(i),console.warn(`[tiptap warn]: Extension "${i}" returned a decoration outside the requested range [${e}, ${r}). It was ignored.`)),!1))}function bUt(t){var e;const r=(e=t.spec)===null||e===void 0?void 0:e.key;return typeof r=="string"?r:void 0}function J4e(t){return t.jsonID==="attr"}function vUt(t){let e=!1;if(t.getMap().forEach(()=>{e=!0}),e||J4e(t))return!0;const r=t;return typeof r.from=="number"&&typeof r.to=="number"}function xUt(t,e){let r=null,n=0,i=0;for(let a=0;a<t.childCount&&!(i>e.to);a+=1){const s=i+t.child(a).nodeSize;s>=e.from&&(r===null&&(r=i),n=s),i=s}return r===null?null:{from:r,to:n}}function wUt(t,e){if(t.steps.some(a=>!vUt(a)))return{type:"full"};const r=QC(t).map(({newRange:a})=>a);t.steps.forEach((a,s)=>{if(!J4e(a))return;const o=t.mapping.slice(s);r.push({from:o.map(a.pos,-1),to:o.map(a.pos+1)})});const n=[];for(const a of r){const s=xUt(e,a);s&&n.push(s)}n.sort((a,s)=>a.from-s.from);const i=[];for(const a of n){const s=i[i.length-1];s&&a.from<=s.to?s.to=Math.max(s.to,a.to):i.push({...a})}return{type:"ranges",ranges:i}}function Q4e(t,e,r,n){return t.map(e,r,{onRemove:i=>{const a=i==null?void 0:i.key;typeof a=="string"&&n.delete(a)}})}function TUt(t,e,r){var n,i;const a=(n=e.decorationSetsByExtension[t])!==null&&n!==void 0?n:qn.empty,s=new Set((i=e.widgetKeysByExtension[t])!==null&&i!==void 0?i:[]);return{set:Q4e(a,r.mapping,r.doc,s),widgetKeys:s}}function due(t,e){const r=Object.values(e).flatMap(n=>n.find());return qn.create(t,r)}function hue(t){const e=new Set;for(const r of Object.values(t))for(const n of r)e.add(n);return e}function CUt(t,e){var r;switch((r=e.update)!==null&&r!==void 0?r:"document"){case"document":if(e.createInRange)throw new Error(`[tiptap error]: Extension "${t}" provides createInRange() but does not use the "changedRanges" decoration update strategy.`);return;case"changedRanges":if(!e.createInRange)throw new Error(`[tiptap error]: Extension "${t}" uses the "changedRanges" decoration update strategy but does not provide createInRange().`);return;case"manual":if(e.createInRange)throw new Error(`[tiptap error]: Extension "${t}" uses the "manual" decoration update strategy, which is not compatible with createInRange(). createInRange() requires the "changedRanges" strategy.`);if(e.shouldUpdate)throw new Error(`[tiptap error]: Extension "${t}" cannot combine the "manual" decoration update strategy with shouldUpdate().`);return;default:throw new Error(`[tiptap error]: Extension "${t}" uses an unknown decoration update strategy. Expected "document", "changedRanges", or "manual".`)}}function SUt(t,e,r){return r?!0:t.update==="manual"?!1:t.shouldUpdate?t.shouldUpdate(e):e.tr.docChanged}const kUt=new Set;var EUt=class{constructor(t){this.warnedWidgetKeys=new Set,this.warnedOutOfRangeExtensions=new Set,this.handleBeforeTransaction=({nextState:e})=>{const r=Qy.getState(e);r&&this.warnDuplicateWidgetKeys(r)},this.editor=t.editor,this.entries=this.resolveEntries(t.entries),this.entries.forEach(({name:e,spec:r})=>CUt(e,r)),this.plugin=this.entries.length>0?this.createPlugin():null,this.editor.on("beforeTransaction",this.handleBeforeTransaction)}destroy(){this.editor.off("beforeTransaction",this.handleBeforeTransaction)}liveWidgetKeys(){var t,e;return(t=(e=Qy.getState(this.editor.state))===null||e===void 0?void 0:e.widgetKeys)!==null&&t!==void 0?t:kUt}get mountedView(){return this.editor.isDestroyed?null:this.editor.view}resolveEntries(t){const e=[];for(const{name:r,addDecorations:n}of t){const i=n();i&&e.push({name:r,spec:i})}return e}createPlugin(){const{editor:t,entries:e}=this;return new ci({key:Qy,state:{init:(r,n)=>{const i={},a={};for(const{name:o,spec:l}of e){const{set:u,widgetKeys:d}=this.buildFullSet(o,l,n);i[o]=u,a[o]=d}const s={decorationSetsByExtension:i,widgetKeysByExtension:a,mergedDecorationSet:this.buildMergedSet(n.doc,i),widgetKeys:hue(a)};return this.warnDuplicateWidgetKeys(s),s},apply:(r,n,i,a)=>{const s=r.getMeta(Qy),o=(s==null?void 0:s.type)==="force"&&!s.name,l=(s==null?void 0:s.type)==="force"?s.name:void 0,u={},d={},h=new Set;return pUt(t,()=>{for(const{name:f,spec:p}of e){const g=o||l===f;if(SUt(p,{editor:t,tr:r,oldState:i,newState:a},g))if(p.update==="changedRanges"&&r.docChanged&&!g){const m=this.applyChangedRangesRecompute(f,p,n,r,a);u[f]=m.set,d[f]=m.widgetKeys,h.add(f)}else{const{set:m,widgetKeys:U}=this.buildFullSet(f,p,a);u[f]=m,d[f]=U,h.add(f)}else{const m=TUt(f,n,r);u[f]=m.set,d[f]=m.widgetKeys}}}),h.size===0&&!r.docChanged?n:{decorationSetsByExtension:u,widgetKeysByExtension:d,mergedDecorationSet:this.mergeAfterApply({entries:e,previous:n,tr:r,decorationSetsByExtension:u,recomputedNames:h}),widgetKeys:hue(d)}}},props:{decorations(r){var n,i;return(n=(i=Qy.getState(r))===null||i===void 0?void 0:i.mergedDecorationSet)!==null&&n!==void 0?n:qn.empty}}})}applyChangedRangesRecompute(t,e,r,n,i){const a=wUt(n,i.doc);return a.type==="full"?this.buildFullSet(t,e,i):this.rebuildRanges(t,e,r,n,i,a.ranges)}rebuildRanges(t,e,r,n,i,a){var s,o;const l=(s=r.decorationSetsByExtension[t])!==null&&s!==void 0?s:qn.empty,u=new Set((o=r.widgetKeysByExtension[t])!==null&&o!==void 0?o:[]);let d=Q4e(l,n.mapping,n.doc,u);const h=i.doc.content.size;for(const{from:f,to:p}of a){const g=d.find(f,p).filter(y=>Z4e({position:y.from,from:f,to:p,docSize:h}));for(const y of g){const b=bUt(y);b&&u.delete(b)}d=d.remove(g);const{decorations:m,widgetKeys:U}=K4e(yUt({decorations:this.runCreate(t,"createInRange",()=>e.createInRange({editor:this.editor,state:i,view:this.mountedView,from:f,to:p})),from:f,to:p,docSize:h,extensionName:t,warnedExtensions:this.warnedOutOfRangeExtensions}),t);d=d.add(i.doc,m);for(const y of U)u.add(y)}return{set:d,widgetKeys:u}}buildFullSet(t,e,r){const n=this.runCreate(t,"create",()=>e.create({editor:this.editor,state:r,view:this.mountedView}));return UUt(r.doc,n,t)}runCreate(t,e,r){try{return r()}catch(n){return console.error(`[tiptap error]: Extension "${t}" threw in \`addDecorations().${e}()\`. Its decorations were dropped for this update.`,n),[]}}warnDuplicateWidgetKeys(t){}buildMergedSet(t,e){const r=Object.keys(e);return r.length===1?e[r[0]]:due(t,e)}mergeAfterApply({entries:t,previous:e,tr:r,decorationSetsByExtension:n,recomputedNames:i}){return t.length===1?n[t[0].name]:i.size===0?e.mergedDecorationSet.map(r.mapping,r.doc):due(r.doc,n)}};function Ov(t,e){if(t===e)return!0;if(!t||!e)return!1;const r=Object.keys(t),n=Object.keys(e);return r.length!==n.length?!1:r.every(i=>Object.prototype.hasOwnProperty.call(e,i)&&Object.is(t[i],e[i]))}function AUt(t,e){const{selection:r}=t,{$from:n}=r;if(r instanceof Nr){const a=n.index();return n.parent.canReplaceWith(a,a+1,e)}let i=n.depth;for(;i>=0;){const a=n.index(i);if(n.node(i).contentMatchAt(a).matchType(e))return!0;i-=1}return!1}function MUt(t,e,r){const n=document.querySelector("style[data-tiptap-style]");if(n!==null)return n;const i=document.createElement("style");return e&&i.setAttribute("nonce",e),i.setAttribute("data-tiptap-style",""),i.innerHTML=t,document.getElementsByTagName("head")[0].appendChild(i),i}const RUt={lt:"<",gt:">",quot:'"',amp:"&"};function fue(t){return t.replace(/&(?:#(\d{1,7})|#[xX]([0-9a-fA-F]{1,6})|(lt|gt|quot|amp));/g,(e,r,n,i)=>r!==void 0?pue(Number(r)):n!==void 0?pue(parseInt(n,16)):RUt[i])}const IUt=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function pue(t){var e;return t===0||t>1114111||t>=55296&&t<=57343?"�":String.fromCodePoint((e=IUt.get(t))!==null&&e!==void 0?e:t)}function LUt(t){return t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function NUt(t){return typeof t=="number"}function OUt(t){return Object.prototype.toString.call(t).slice(8,-1)}function Ek(t){return OUt(t)!=="Object"?!1:t.constructor===Object&&Object.getPrototypeOf(t)===Object.prototype}function DUt(t){return typeof t=="string"&&t.trim().length>0&&!/[;{}]/.test(t)}function _J(t){return/\s/.test(t)}function PUt(t){return/^[a-zA-Z]$/.test(t)}function _Ut(t){return/^\w$/.test(t)}function AG(t,e){for(;e<t.length&&_J(t[e]);)e+=1;return e}function Dv(t,e){for(;e<t.length&&!_J(t[e]);)e+=1;return e}function e3e(t,e,r){for(;e<t.length&&(_Ut(t[e])||t[e]==="-");)e+=1;return e}function BUt(t,e){const r=t[e],n=e+1,i=e3e(t,n);return i===n?{nextIndex:Dv(t,i)}:{token:{type:r==="."?"class":"id",name:t.slice(n,i)},nextIndex:Dv(t,i)}}function $Ut(t,e){const r=t.indexOf(t[e],e+1);return{nextIndex:Dv(t,r===-1?e:r+1)}}function FUt(t,e,r,n){let i=AG(t,r);if(t[i]!=="=")return;i=AG(t,i+1);const a=t[i];if(a!=='"'&&a!=="'")return;const s=t.indexOf(a,i+1);if(s!==-1)return{token:{type:"keyValue",name:e,value:t.slice(i+1,s)},nextIndex:Dv(t,s+1)}}function zUt(t,e,r){const n=r==="pandoc",i=e3e(t,e+1),a=t.slice(e,i),s=FUt(t,a,i);if(s)return s;const o=i===t.length||_J(t[i]);return{token:n&&o?{type:"boolean",name:a}:void 0,nextIndex:r==="shortcode"?Dv(t,i):i}}function HUt(t,e,r){const n=t[e];return n==="."||n==="#"?BUt(t,e):n==='"'||n==="'"?$Ut(t,e):PUt(n)?zUt(t,e,r):{nextIndex:Dv(t,e)}}function VUt(t,e){const r=[];let n=0;for(;n<t.length&&(n=AG(t,n),!(n>=t.length));){const i=HUt(t,n,e);i.token&&r.push(i.token),n=i.nextIndex}return r}function GUt(t){const e={},r=t.filter(i=>i.type==="class").map(i=>i.name),n=t.find(i=>i.type==="id");return r.length>0&&(e.class=r.join(" ")),n&&(e.id=n.name),t.forEach(i=>{i.type==="keyValue"&&(e[i.name]=i.value)}),t.forEach(i=>{i.type==="boolean"&&(e[i.name]=!0)}),e}function WUt(t){return t!=null&&t.trim()?GUt(VUt(t,"pandoc")):{}}function qUt(t){if(!t||Object.keys(t).length===0)return"";const e=[];return t.class&&String(t.class).split(/\s+/).filter(Boolean).forEach(r=>e.push(`.${r}`)),t.id&&e.push(`#${t.id}`),Object.entries(t).forEach(([r,n])=>{r==="class"||r==="id"||(n===!0?e.push(r):n!==!1&&n!=null&&e.push(`${r}="${String(n)}"`))}),e.join(" ")}function BJ(t){const{nodeName:e,name:r,getContent:n,parseAttributes:i=WUt,serializeAttributes:a=qUt,defaultAttributes:s={},content:o="block",allowedAttributes:l}=t,u=r||e,d=h=>{if(!l)return h;const f={};return l.forEach(p=>{p in h&&(f[p]=h[p])}),f};return{parseMarkdown:(h,f)=>{let p;if(n){const m=n(h);p=typeof m=="string"?[{type:"text",text:m}]:m}else o==="block"?p=f.parseChildren(h.tokens||[]):p=f.parseInline(h.tokens||[]);const g={...s,...h.attributes};return f.createNode(e,g,p)},markdownTokenizer:{name:e,level:"block",start(h){var f;const p=new RegExp(`^:::${u}`,"m"),g=(f=h.match(p))===null||f===void 0?void 0:f.index;return g!==void 0?g:-1},tokenize(h,f,p){const g=new RegExp(`^:::${u}(?:\\s+\\{([^}]*)\\})?\\s*\\n`),m=h.match(g);if(!m)return;const[U,y=""]=m,b=i(y);let v=1;const w=U.length;let T="";const S=/^:::([\w-]*)(\s.*)?/gm,C=h.slice(w);for(S.lastIndex=0;;){var k;const E=S.exec(C);if(E===null)break;const A=E.index,M=E[1];if(!(!((k=E[2])===null||k===void 0)&&k.endsWith(":::"))){if(M)v+=1;else if(v-=1,v===0){const P=C.slice(0,A);T=P.trim();const N=h.slice(0,w+A+E[0].length);let I=[];if(T)if(o==="block")for(I=p.blockTokens(P),I.forEach(L=>{L.text&&(!L.tokens||L.tokens.length===0)&&(L.tokens=p.inlineTokens(L.text))});I.length>0;){const L=I[I.length-1];if(L.type==="paragraph"&&(!L.text||L.text.trim()===""))I.pop();else break}else I=p.inlineTokens(T);return{type:e,raw:N,attributes:b,content:T,tokens:I}}}}}},renderMarkdown:(h,f)=>{const p=d(h.attrs||{}),g=a(p),m=g?` {${g}}`:"",U=f.renderChildren(h.content||[],`
`);return`:::${u}${m}
${U}
:::`}}}function gue(t,e,r){const n=t.split(`
`),i=[];let a="",s=0;const o=e.baseIndentSize||2;for(;s<n.length;){const d=n[s],h=d.match(e.itemPattern);if(!h){if(i.length>0)break;if(d.trim()===""){s+=1,a=`${a}${d}
`;continue}else return}const f=e.extractItemData(h),{indentLevel:p,mainContent:g}=f;a=`${a}${d}
`;const m=[g];for(s+=1;s<n.length;){var l;const v=n[s];if(v.trim()===""){var u;const w=n.slice(s+1).findIndex(T=>T.trim()!=="");if(w===-1)break;if((((u=n[s+1+w].match(/^(\s*)/))===null||u===void 0||(u=u[1])===null||u===void 0?void 0:u.length)||0)>p){m.push(v),a=`${a}${v}
`,s+=1;continue}else break}if((((l=v.match(/^(\s*)/))===null||l===void 0||(l=l[1])===null||l===void 0?void 0:l.length)||0)>p)m.push(v),a=`${a}${v}
`,s+=1;else break}let U;const y=m.slice(1);if(y.length>0){const v=y.map(w=>w.slice(p+o)).join(`
`);v.trim()&&(e.customNestedParser?U=e.customNestedParser(v):U=r.blockTokens(v))}const b=e.createToken(f,U);i.push(b)}if(i.length!==0)return{items:i,raw:a}}const mue=4;function Uue(t){let e=0;for(const r of t)e=r===" "?e+mue-e%mue:e+1;return e}function t3e(t,e,r,n,i){if(!t||!Array.isArray(t.content))return"";const a=typeof r=="function"?r(n):r,[s,...o]=t.content;let l=`${a}${e.renderChildren([s])}`;return o&&o.length>0&&o.forEach((u,d)=>{var h,f;const p=(h=(f=e.renderChild)===null||f===void 0?void 0:f.call(e,u,d+1))!==null&&h!==void 0?h:e.renderChildren([u]);if(p!=null){const g=U=>{if(!(i!=null&&i.alignNestedToPrefix))return e.indent(U);const y=e.indent(""),b=Uue(a);return(Uue(y)>=b?y:" ".repeat(b))+U},m=p.split(`
`).map(U=>g(U||"")).join(`
`);l+=u.type==="paragraph"?`
${m}`:`
${m}`}}),l}function yue(t){return typeof t.type=="string"?t.type:t.type.name}function jUt(t,e){if(t.length!==e.length)return!1;const r=Array.from({length:e.length},()=>!1);return t.every(n=>{const i=yue(n),a=e.findIndex((s,o)=>!r[o]&&i===yue(s)&&Ov(n.attrs,s.attrs));return a===-1?!1:(r[a]=!0,!0)})}function r3e(t,e){const r={...t};return Ek(t)&&Ek(e)&&Object.keys(e).forEach(n=>{Ek(e[n])&&Ek(t[n])?r[n]=r3e(t[n],e[n]):r[n]=e[n]}),r}function YUt(t,e,r={}){const{state:n}=e,{doc:i,tr:a}=n,s=t;i.descendants((o,l)=>{const u=a.mapping.map(l),d=a.mapping.map(l)+o.nodeSize;let h=null;if(o.marks.forEach(p=>{if(p!==s)return!1;h=p}),!h)return;let f=!1;if(Object.keys(r).forEach(p=>{r[p]!==h.attrs[p]&&(f=!0)}),f){const p=t.type.create({...t.attrs,...r});a.removeMark(u,d,t.type),a.addMark(u,d,p)}}),a.docChanged&&e.view.dispatch(a)}var Zd=class{constructor(t){var e;this.find=t.find,this.handler=t.handler,this.undoable=(e=t.undoable)!==null&&e!==void 0?e:!0}};const XUt=(t,e)=>{if(IJ(e))return e.exec(t);const r=e(t);if(!r)return null;const n=[r.text];return n.index=r.index,n.input=t,n.data=r.data,r.replaceWith&&(r.text.includes(r.replaceWith)||console.warn('[tiptap warn]: "inputRuleMatch.replaceWith" must be part of "inputRuleMatch.text".'),n.push(r.replaceWith)),n};function KUt(t){const{editor:e,from:r,to:n,text:i,insertText:a}=t;if(!a)return{inputTransaction:null,tr:e.view.state.tr};const s=e.view.state.tr.insertText(i,r,n);return{inputTransaction:s,tr:vd.create({doc:s.doc,selection:s.selection,storedMarks:s.storedMarks}).tr}}function ZUt(t){const{editor:e,from:r,to:n,text:i,rule:a,match:s,plugin:o,insertText:l}=t,{view:u}=e,{inputTransaction:d,tr:h}=KUt({editor:e,from:r,to:n,text:i,insertText:l}),f=d?r+i.length:n,p=rD({state:u.state,transaction:h}),g={from:r-(s[0].length-i.length),to:f},{commands:m,chain:U,can:y}=new ob({editor:e,state:p});return a.handler({state:p,range:g,match:s,commands:m,chain:U,can:y})===null||!h.steps.length?!1:(d&&(u.dispatch(d),!u.state.doc.eq(d.doc))||(P1t(h),h.setMeta("inputRule",!0),a.undoable&&h.setMeta(o,{transform:h,from:r,to:f,text:i}),u.dispatch(h)),!0)}function JUt(t,e,r){const n=e[0].length-r.length;if(n<=0)return!0;const i=t.parentOffset-n;return i>=0&&t.parent.textBetween(i,t.parentOffset)===e[0].slice(0,n)}function Ak(t){var e;const{editor:r,from:n,to:i,text:a,rules:s,plugin:o,insertText:l}=t,{view:u}=r;if(u.composing)return!1;const d=u.state.doc.resolve(n);if(d.parent.type.spec.code||!((e=d.nodeBefore||d.nodeAfter)===null||e===void 0)&&e.marks.find(f=>f.type.spec.code))return!1;const h=Fmt(d)+a;for(const f of s){const p=XUt(h,f.find);if(!(!p||!JUt(d,p,a))&&ZUt({editor:r,from:n,to:i,text:a,rule:f,match:p,plugin:o,insertText:l}))return!0}return!1}function QUt(t){const{editor:e,rules:r}=t,n=new ci({state:{init(){return null},apply(i,a,s){const o=i.getMeta(n);if(o)return o;const l=i.getMeta("applyInputRules");return l&&setTimeout(()=>{let{text:u}=l;typeof u=="string"?u=u:u=OJ(At.from(u),s.schema);const{from:d}=l,h=d+u.length;Ak({editor:e,from:d,to:h,text:u,rules:r,plugin:n})}),i.selectionSet||i.docChanged?null:a}},props:{handleTextInput(i,a,s,o){return Ak({editor:e,from:a,to:s,text:o,rules:r,plugin:n,insertText:!0})},handleDOMEvents:{compositionend:i=>(setTimeout(()=>{const{$cursor:a}=i.state.selection;a&&Ak({editor:e,from:a.pos,to:a.pos,text:"",rules:r,plugin:n})}),!1)},handleKeyDown(i,a){if(a.key!=="Enter")return!1;const{$cursor:s}=i.state.selection;return s?Ak({editor:e,from:s.pos,to:s.pos,text:`
`,rules:r,plugin:n}):!1}},isInputRules:!0});return n}var $J=class{constructor(t={}){this.type="extendable",this.parent=null,this.child=null,this.name="",this.config={name:this.name},this.config={...this.config,...t},this.name=this.config.name}get options(){return{...ni(mr(this,"addOptions",{name:this.name}))}}get storage(){return{...ni(mr(this,"addStorage",{name:this.name,options:this.options}))}}configure(t={}){const e=this.extend({...this.config,addOptions:()=>r3e(this.options,t)});return e.name=this.name,e.parent=this.parent,this.child=null,e}extend(t={}){const e=new this.constructor({...this.config,...t});return e.parent=this,this.child=e,e.name="name"in t?t.name:e.parent.name,e}},np=class n3e extends $J{constructor(...e){super(...e),this.type="mark"}static create(e={}){const r=typeof e=="function"?e():e;return new n3e(r)}static handleExit({editor:e,mark:r}){const{tr:n}=e.state,i=e.state.selection.$from;if(i.pos===i.end()){const a=i.marks();if(!a.find(o=>(o==null?void 0:o.type.name)===r.name))return!1;const s=a.find(o=>(o==null?void 0:o.type.name)===r.name);return s&&n.removeStoredMark(s),n.insertText(" ",i.pos),e.view.dispatch(n),!0}return!1}configure(e){return super.configure(e)}extend(e){const r=typeof e=="function"?e():e;return super.extend(r)}},tS=class{constructor(t){this.find=t.find,this.handler=t.handler}};const e5t=(t,e,r)=>{if(IJ(e))return[...t.matchAll(e)];const n=e(t,r);return n?n.map(i=>{const a=[i.text];return a.index=i.index,a.input=t,a.data=i.data,i.replaceWith&&(i.text.includes(i.replaceWith)||console.warn('[tiptap warn]: "pasteRuleMatch.replaceWith" must be part of "pasteRuleMatch.text".'),a.push(i.replaceWith)),a}):[]};function t5t(t){const{editor:e,state:r,from:n,to:i,rule:a,pasteEvent:s,dropEvent:o}=t,{commands:l,chain:u,can:d}=new ob({editor:e,state:r}),h=[];return r.doc.nodesBetween(n,i,(f,p)=>{var g,m,U,y;if(!((g=f.type)===null||g===void 0||(g=g.spec)===null||g===void 0)&&g.code||!(f.isText||f.isTextblock||f.isInline))return;const b=(m=(U=(y=f.content)===null||y===void 0?void 0:y.size)!==null&&U!==void 0?U:f.nodeSize)!==null&&m!==void 0?m:0,v=Math.max(n,p),w=Math.min(i,p+b);if(v>=w)return;const T=f.isText?f.text||"":f.textBetween(v-p,w-p,void 0,"");e5t(T,a.find,s).forEach(S=>{if(S.index===void 0)return;const C=v+S.index+1,k=C+S[0].length,E={from:r.tr.mapping.map(C),to:r.tr.mapping.map(k)},A=a.handler({state:r,range:E,match:S,commands:l,chain:u,can:d,pasteEvent:s,dropEvent:o});h.push(A)})}),h.every(f=>f!==null)}let Uy=null;const r5t=t=>{var e;const r=new ClipboardEvent("paste",{clipboardData:new DataTransfer});return(e=r.clipboardData)===null||e===void 0||e.setData("text/html",t),r};function n5t(t){const{editor:e,rules:r}=t;let n=null,i=!1,a=!1,s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,o;try{o=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{o=null}const l=({state:u,from:d,to:h,rule:f,pasteEvt:p})=>{const g=u.tr,m=rD({state:u,transaction:g});if(!(!t5t({editor:e,state:m,from:Math.max(d-1,0),to:h.b-1,rule:f,pasteEvent:p,dropEvent:o})||!g.steps.length)){try{o=typeof DragEvent<"u"?new DragEvent("drop"):null}catch{o=null}return s=typeof ClipboardEvent<"u"?new ClipboardEvent("paste"):null,g}};return e.on("destroy",()=>{Uy===e&&(Uy=null)}),r.map(u=>new ci({view(d){const h=p=>{var g;n=!((g=d.dom.parentElement)===null||g===void 0)&&g.contains(p.target)?d.dom.parentElement:null,n&&(Uy=e)},f=()=>{Uy&&(Uy=null)};return window.addEventListener("dragstart",h),window.addEventListener("dragend",f),{destroy(){window.removeEventListener("dragstart",h),window.removeEventListener("dragend",f)}}},props:{handleDOMEvents:{drop:(d,h)=>{if(a=n===d.dom.parentElement,o=h,!a){const f=Uy;f!=null&&f.isEditable&&setTimeout(()=>{if(f.isDestroyed)return;const p=f.state.selection;p&&f.commands.deleteRange({from:p.from,to:p.to})},10)}return!1},paste:(d,h)=>{var f;const p=(f=h.clipboardData)===null||f===void 0?void 0:f.getData("text/html");return s=h,i=!!(p!=null&&p.includes("data-pm-slice")),!1}}},appendTransaction:(d,h,f)=>{const p=d[0],g=p.getMeta("uiEvent")==="paste"&&!i,m=p.getMeta("uiEvent")==="drop"&&!a,U=p.getMeta("applyPasteRules"),y=!!U;if(!g&&!m&&!y)return;if(y){let{text:w}=U;typeof w=="string"?w=w:w=OJ(At.from(w),f.schema);const{from:T}=U,S=T+w.length,C=r5t(w);return l({rule:u,state:f,from:T,to:{b:S},pasteEvt:C})}const b=h.doc.content.findDiffStart(f.doc.content),v=h.doc.content.findDiffEnd(f.doc.content);if(!(!NUt(b)||!v||b===v.b))return l({rule:u,state:f,from:b,to:v,pasteEvt:s})}}))}var sD=class{constructor(t,e){this.splittableMarks=[],this.nonClearableMarks=[],this.decorationManager=null,this.editor=e,this.baseExtensions=t,this.extensions=DJ(t),this.schema=H4e(this.extensions,e),this.setupExtensions()}get commands(){return this.extensions.reduce((t,e)=>{const r=mr(e,"addCommands",{name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:my(e.name,this.schema)});return r?{...t,...r()}:t},{})}get plugins(){const{editor:t}=this,e=lb([...this.extensions].reverse()).flatMap(n=>{const i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:t,type:my(n.name,this.schema)},a=[],s=mr(n,"addKeyboardShortcuts",i);let o={};if(n.type==="mark"&&mr(n,"exitable",i)&&(o.ArrowRight=()=>np.handleExit({editor:t,mark:n})),s){const f=Object.fromEntries(Object.entries(s()).map(([p,g])=>[p,()=>g({editor:t})]));o={...o,...f}}const l=A1t(o);a.push(l);const u=mr(n,"addInputRules",i);if(lue(n,t.options.enableInputRules)&&u){const f=u();if(f&&f.length){const p=QUt({editor:t,rules:f}),g=Array.isArray(p)?p:[p];a.push(...g)}}const d=mr(n,"addPasteRules",i);if(lue(n,t.options.enablePasteRules)&&d){const f=d();if(f&&f.length){const p=n5t({editor:t,rules:f});a.push(...p)}}const h=mr(n,"addProseMirrorPlugins",i);if(h){const f=h();a.push(...f)}return a}),r=this.createDecorationPlugin();return r&&e.push(r),e}createDecorationPlugin(){var t;const{editor:e}=this;(t=this.decorationManager)===null||t===void 0||t.destroy();const r=[];return this.extensions.forEach(n=>{const i=mr(n,"addDecorations",{name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:my(n.name,this.schema)});i&&r.push({name:n.name,addDecorations:i})}),this.decorationManager=new EUt({editor:e,entries:r}),this.decorationManager.plugin}get attributes(){return z4e(this.extensions)}get nodeViews(){const{editor:t}=this,{nodeExtensions:e}=Lv(this.extensions);return Object.fromEntries(e.filter(r=>!!mr(r,"addNodeView")).map(r=>{const n=this.attributes.filter(o=>o.type===r.name),i=mr(r,"addNodeView",{name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:t,type:Ps(r.name,this.schema)});if(!i)return[];const a=i();if(!a)return[];const s=(o,l,u,d,h)=>{const f=Nv(o,n);return a({node:o,view:l,getPos:u,decorations:d,innerDecorations:h,editor:t,extension:r,HTMLAttributes:f})};return[r.name,s]}))}dispatchTransaction(t){const{editor:e}=this;return lb([...this.extensions].reverse()).reduceRight((r,n)=>{const i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:my(n.name,this.schema)},a=mr(n,"dispatchTransaction",i);return a?s=>{a.call(i,{transaction:s,next:r})}:r},t)}transformPastedHTML(t){const{editor:e}=this;return lb([...this.extensions]).reduce((r,n)=>{const i={name:n.name,options:n.options,storage:this.editor.extensionStorage[n.name],editor:e,type:my(n.name,this.schema)},a=mr(n,"transformPastedHTML",i);return a?(s,o)=>{const l=r(s,o);return a.call(i,l)}:r},t||(r=>r))}get markViews(){const{editor:t}=this,{markExtensions:e}=Lv(this.extensions);return Object.fromEntries(e.filter(r=>!!mr(r,"addMarkView")).map(r=>{const n=this.attributes.filter(s=>s.type===r.name),i=mr(r,"addMarkView",{name:r.name,options:r.options,storage:this.editor.extensionStorage[r.name],editor:t,type:rp(r.name,this.schema)});if(!i)return[];const a=(s,o,l)=>{const u=Nv(s,n);return i()({mark:s,view:o,inline:l,editor:t,extension:r,HTMLAttributes:u,updateAttributes:d=>{YUt(s,t,d)}})};return[r.name,a]}))}destroy(){var t;(t=this.decorationManager)===null||t===void 0||t.destroy(),this.extensions.forEach(e=>{let r=e;for(;r.parent;){const n=r.parent;n.child===r&&(n.child=null),r=n}}),this.extensions=[],this.baseExtensions=[],this.decorationManager=null,this.schema=null,this.editor=null}setupExtensions(){const t=this.extensions;this.editor.extensionStorage=Object.fromEntries(t.map(e=>[e.name,e.storage])),t.forEach(e=>{const r={name:e.name,options:e.options,storage:this.editor.extensionStorage[e.name],editor:this.editor,type:my(e.name,this.schema)};if(e.type==="mark"){var n,i;(!((n=ni(mr(e,"keepOnSplit",r)))!==null&&n!==void 0)||n)&&this.splittableMarks.push(e.name),!((i=ni(mr(e,"clearable",r)))!==null&&i!==void 0)||i||this.nonClearableMarks.push(e.name)}const a=mr(e,"onBeforeCreate",r),s=mr(e,"onCreate",r),o=mr(e,"onUpdate",r),l=mr(e,"onSelectionUpdate",r),u=mr(e,"onTransaction",r),d=mr(e,"onFocus",r),h=mr(e,"onBlur",r),f=mr(e,"onDestroy",r);a&&this.editor.on("beforeCreate",a),s&&this.editor.on("create",s),o&&this.editor.on("update",o),l&&this.editor.on("selectionUpdate",l),u&&this.editor.on("transaction",u),d&&this.editor.on("focus",d),h&&this.editor.on("blur",h),f&&this.editor.on("destroy",f)})}};sD.resolve=DJ;sD.sort=lb;sD.flatten=aD;var Oi=class i3e extends $J{constructor(...e){super(...e),this.type="extension"}static create(e={}){const r=typeof e=="function"?e():e;return new i3e(r)}configure(e){return super.configure(e)}extend(e){const r=typeof e=="function"?e():e;return super.extend(r)}};const i5t=Oi.create({name:"clipboardTextSerializer",addOptions(){return{blockSeparator:void 0}},addProseMirrorPlugins(){return[new ci({key:new Mi("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{const{editor:t}=this,{state:e,schema:r}=t,{doc:n,selection:i}=e,a=G4e(r),{blockSeparator:s}=this.options,o={...s!==void 0?{blockSeparator:s}:{},textSerializers:a};return[...i.ranges].sort((l,u)=>l.$from.pos-u.$from.pos).map(({$from:l,$to:u})=>V4e(n,{from:l.pos,to:u.pos},o)).join(s??`
`)}}})]}}),a5t=Oi.create({name:"commands",addCommands(){return{...sh}}}),s5t=Oi.create({name:"delete",onUpdate({transaction:t,appendedTransactions:e}){var r,n;const i=()=>{var a,s,o;if((a=(s=this.editor.options.coreExtensionOptions)===null||s===void 0||(s=s.delete)===null||s===void 0||(o=s.filterTransaction)===null||o===void 0?void 0:o.call(s,t))!==null&&a!==void 0?a:t.getMeta("y-sync$"))return;const l=NJ(t.before,[t,...e]);QC(l).forEach(d=>{l.mapping.mapResult(d.oldRange.from).deletedAfter&&l.mapping.mapResult(d.oldRange.to).deletedBefore&&l.before.nodesBetween(d.oldRange.from,d.oldRange.to,(h,f)=>{const p=f+h.nodeSize-2,g=d.oldRange.from<=f&&p<=d.oldRange.to;this.editor.emit("delete",{type:"node",node:h,from:f,to:p,newFrom:l.mapping.map(f),newTo:l.mapping.map(p),deletedRange:d.oldRange,newRange:d.newRange,partial:!g,editor:this.editor,transaction:t,combinedTransform:l})})});const u=l.mapping;l.steps.forEach((d,h)=>{if(d instanceof bd){var f,p;const g=u.slice(h).map(d.from,-1),m=u.slice(h).map(d.to),U=u.invert().map(g,-1),y=u.invert().map(m),b=g>0?(f=l.doc.nodeAt(g-1))===null||f===void 0?void 0:f.marks.some(w=>w.eq(d.mark)):!1,v=(p=l.doc.nodeAt(m))===null||p===void 0?void 0:p.marks.some(w=>w.eq(d.mark));this.editor.emit("delete",{type:"mark",mark:d.mark,from:d.from,to:d.to,deletedRange:{from:U,to:y},newRange:{from:g,to:m},partial:!!(v||b),editor:this.editor,transaction:t,combinedTransform:l})}})};!((r=(n=this.editor.options.coreExtensionOptions)===null||n===void 0||(n=n.delete)===null||n===void 0?void 0:n.async)!==null&&r!==void 0)||r?setTimeout(i,0):i()}}),o5t=Oi.create({name:"drop",addProseMirrorPlugins(){return[new ci({key:new Mi("tiptapDrop"),props:{handleDrop:(t,e,r,n)=>{this.editor.emit("drop",{editor:this.editor,event:e,slice:r,moved:n})}}})]}}),l5t=Oi.create({name:"editable",addProseMirrorPlugins(){return[new ci({key:new Mi("editable"),props:{editable:()=>this.editor.options.editable}})]}}),c5t=new Mi("focusEvents"),u5t=Oi.create({name:"focusEvents",addProseMirrorPlugins(){const{editor:t}=this;return[new ci({key:c5t,props:{handleDOMEvents:{focus:(e,r)=>{t.isFocused=!0;const n=t.state.tr.setMeta("focus",{event:r}).setMeta("addToHistory",!1);return e.dispatch(n),!1},blur:(e,r)=>{t.isFocused=!1;const n=t.state.tr.setMeta("blur",{event:r}).setMeta("addToHistory",!1);return e.dispatch(n),!1}}}})]}}),d5t=Oi.create({name:"keymap",addKeyboardShortcuts(){const t=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:o})=>{const{selection:l,doc:u}=o,{empty:d,$anchor:h}=l,{pos:f,parent:p}=h,g=h.parent.isTextblock&&f>0?o.doc.resolve(f-1):h,m=g.parent.type.spec.isolating,U=h.pos-h.parentOffset,y=m&&g.parent.childCount===1?U===h.pos:Vr.atStart(u).from===f;return!d||!p.type.isTextblock||p.textContent.length||!y||y&&h.parent.type.name==="paragraph"?!1:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),e=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:t,"Mod-Backspace":t,"Shift-Backspace":t,Delete:e,"Mod-Delete":e,"Mod-a":()=>this.editor.commands.selectAll()},i={...n},a={...n,"Ctrl-h":t,"Alt-Backspace":t,"Ctrl-d":e,"Ctrl-Alt-Backspace":e,"Alt-Delete":e,"Alt-d":e,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return VR()||B4e()?a:i},addProseMirrorPlugins(){return[new ci({key:new Mi("clearDocument"),appendTransaction:(t,e,r)=>{if(t.some(p=>p.getMeta("composition")))return;const n=t.some(p=>p.docChanged)&&!e.doc.eq(r.doc),i=t.some(p=>p.getMeta("preventClearDocument"));if(!n||i)return;const{empty:a,from:s,to:o}=e.selection,l=Vr.atStart(e.doc).from,u=Vr.atEnd(e.doc).to;if(a||!(s===l&&o===u)||!eS(r.doc))return;const d=r.tr,h=rD({state:r,transaction:d}),{commands:f}=new ob({editor:this.editor,state:h});if(f.clearNodes(),!!d.steps.length)return d}})]}}),h5t=Oi.create({name:"paste",addProseMirrorPlugins(){return[new ci({key:new Mi("tiptapPaste"),props:{handlePaste:(t,e,r)=>{this.editor.emit("paste",{editor:this.editor,event:e,slice:r})}}})]}}),f5t=Oi.create({name:"tabindex",addOptions(){return{value:void 0}},addProseMirrorPlugins(){return[new ci({key:new Mi("tabindex"),props:{attributes:()=>{var t;return!this.editor.isEditable&&this.options.value===void 0?{}:{tabindex:(t=this.options.value)!==null&&t!==void 0?t:"0"}}}})]}}),p5t=Oi.create({name:"textDirection",addOptions(){return{direction:void 0}},addGlobalAttributes(){if(!this.options.direction)return[];const{nodeExtensions:t}=Lv(this.extensions);return[{types:t.filter(e=>e.name!=="text").map(e=>e.name),attributes:{dir:{default:this.options.direction,parseHTML:e=>{const r=e.getAttribute("dir");return r&&(r==="ltr"||r==="rtl"||r==="auto")?r:this.options.direction},renderHTML:e=>e.dir?{dir:e.dir}:{}}}}]},addProseMirrorPlugins(){return[new ci({key:new Mi("textDirection"),props:{attributes:()=>{const t=this.options.direction;return t?{dir:t}:{}}}})]}});let bue=!1;function g5t(t){if(bue)return;bue=!0;let e;try{e=va.fromJSON(t,{from:0,to:0}).slice.content}catch{return}e instanceof At||console.warn("[tiptap warn]: prosemirror-model is loaded more than once. Wrapping and splitting nodes will fail. Deduplicate it in your lock file, or alias it to a single copy in your bundler.")}var m5t=class L9{get name(){return this.node.type.name}constructor(e,r,n=!1,i=null){this.currentNode=null,this.actualDepth=null,this.isBlock=n,this.resolvedPos=e,this.editor=r,this.currentNode=i}get node(){return this.currentNode||this.resolvedPos.node()}get element(){return this.editor.view.domAtPos(this.pos).node}get depth(){var e;return(e=this.actualDepth)!==null&&e!==void 0?e:this.resolvedPos.depth}get pos(){return this.resolvedPos.pos}get content(){return this.node.content}set content(e){let r=this.from,n=this.to;if(this.isBlock){if(this.content.size===0){console.error(`You can’t set content on a block node. Tried to set content on ${this.name} at ${this.pos}`);return}r=this.from+1,n=this.to-1}this.editor.commands.insertContentAt({from:r,to:n},e)}get attributes(){return this.node.attrs}get textContent(){return this.node.textContent}get size(){return this.node.nodeSize}get from(){return this.isBlock?this.pos:this.resolvedPos.start(this.resolvedPos.depth)}get range(){return{from:this.from,to:this.to}}get to(){return this.isBlock?this.pos+this.size:this.resolvedPos.end(this.resolvedPos.depth)+(this.node.isText?0:1)}get parent(){if(this.depth===0)return null;const e=this.resolvedPos.start(this.resolvedPos.depth-1),r=this.resolvedPos.doc.resolve(e);return new L9(r,this.editor)}get before(){let e=this.resolvedPos.doc.resolve(this.from-(this.isBlock?1:2));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.from-3)),new L9(e,this.editor)}get after(){let e=this.resolvedPos.doc.resolve(this.to+(this.isBlock?2:1));return e.depth!==this.depth&&(e=this.resolvedPos.doc.resolve(this.to+3)),new L9(e,this.editor)}get children(){const e=[];return this.node.content.forEach((r,n)=>{const i=r.isBlock&&!r.isTextblock,a=r.isAtom&&!r.isText,s=r.isInline,o=this.pos+n+(a?0:1);if(o<0||o>this.resolvedPos.doc.nodeSize-2)return;const l=this.resolvedPos.doc.resolve(o);if(!i&&!s&&l.depth<=this.depth)return;const u=new L9(l,this.editor,i,i||s?r:null);i&&(u.actualDepth=this.depth+1),e.push(u)}),e}get firstChild(){return this.children[0]||null}get lastChild(){const e=this.children;return e[e.length-1]||null}closest(e,r={}){let n=null,i=this.parent;for(;i&&!n;){if(i.node.type.name===e)if(Object.keys(r).length>0){const a=i.node.attrs,s=Object.keys(r);for(let o=0;o<s.length;o+=1){const l=s[o];if(a[l]!==r[l])break}}else n=i;i=i.parent}return n}querySelector(e,r={}){return this.querySelectorAll(e,r,!0)[0]||null}querySelectorAll(e,r={},n=!1){let i=[];if(!this.children||this.children.length===0)return i;const a=Object.keys(r);return this.children.forEach(s=>{n&&i.length>0||(s.node.type.name===e&&a.every(o=>r[o]===s.node.attrs[o])&&i.push(s),!(n&&i.length>0)&&(i=i.concat(s.querySelectorAll(e,r,n))))}),i}setAttribute(e){const{tr:r}=this.editor.state;r.setNodeMarkup(this.from,void 0,{...this.node.attrs,...e}),this.editor.view.dispatch(r)}};const U5t=`.ProseMirror {
position: relative;
}
.ProseMirror {
word-wrap: break-word;
white-space: pre-wrap;
white-space: break-spaces;
-webkit-font-variant-ligatures: none;
font-variant-ligatures: none;
font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
}
.ProseMirror [contenteditable="false"] {
white-space: normal;
}
.ProseMirror [contenteditable="false"] [contenteditable="true"] {
white-space: pre-wrap;
}
.ProseMirror pre {
white-space: pre-wrap;
}
img.ProseMirror-separator {
display: inline !important;
border: none !important;
margin: 0 !important;
width: 0 !important;
height: 0 !important;
}
.ProseMirror-gapcursor {
display: none;
pointer-events: none;
position: absolute;
margin: 0;
}
.ProseMirror-gapcursor:after {
content: "";
display: block;
position: absolute;
top: -2px;
width: 20px;
border-top: 1px solid black;
animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
}
@keyframes ProseMirror-cursor-blink {
to {
visibility: hidden;
}
}
.ProseMirror-hideselection *::selection {
background: transparent;
}
.ProseMirror-hideselection *::-moz-selection {
background: transparent;
}
.ProseMirror-hideselection * {
caret-color: transparent;
}
.ProseMirror-focused .ProseMirror-gapcursor {
display: block;
}`;var y5t=class extends gUt{constructor(t={}){super(),this.css=null,this.className="tiptap",this.editorView=null,this.isFocused=!1,this.destroyed=!1,this.isInitialized=!1,this.extensionStorage={},this.instanceId=Math.random().toString(36).slice(2,9),this.hasWarnedStaleDecorationRead=!1,this.options={element:typeof document<"u"?document.createElement("div"):null,content:"",injectCSS:!0,injectNonce:void 0,extensions:[],autofocus:!1,editable:!0,textDirection:void 0,editorProps:{},parseOptions:{},coreExtensionOptions:{},enableInputRules:!0,enablePasteRules:!0,enableCoreExtensions:!0,enableContentCheck:!1,emitContentError:!1,onBeforeCreate:()=>null,onCreate:()=>null,onMount:()=>null,onUnmount:()=>null,onUpdate:()=>null,onSelectionUpdate:()=>null,onTransaction:()=>null,onFocus:()=>null,onBlur:()=>null,onDestroy:()=>null,onContentError:({error:r})=>{throw r},onPaste:()=>null,onDrop:()=>null,onDelete:()=>null,enableExtensionDispatchTransaction:!0},this.isCapturingTransaction=!1,this.capturedTransaction=null,this.utils={getUpdatedPosition:Vmt,createMappablePosition:Gmt},this.setOptions(t),this.createExtensionManager(),this.createCommandManager(),this.createSchema(),this.on("beforeCreate",this.options.onBeforeCreate),this.emit("beforeCreate",{editor:this}),this.on("mount",this.options.onMount),this.on("unmount",this.options.onUnmount),this.on("contentError",this.options.onContentError),this.on("create",this.options.onCreate),this.on("update",this.options.onUpdate),this.on("selectionUpdate",this.options.onSelectionUpdate),this.on("transaction",this.options.onTransaction),this.on("focus",this.options.onFocus),this.on("blur",this.options.onBlur),this.on("destroy",this.options.onDestroy),this.on("drop",({event:r,slice:n,moved:i})=>this.options.onDrop(r,n,i)),this.on("paste",({event:r,slice:n})=>this.options.onPaste(r,n)),this.on("delete",this.options.onDelete);const e=this.createDoc();if(!this.editorState){const r=TG(e,this.options.autofocus);this.editorState=vd.create({doc:e,schema:this.schema,selection:r||void 0})}g5t(this.schema),this.options.element&&this.mount(this.options.element)}mount(t){if(typeof document>"u")throw new Error("[tiptap error]: The editor cannot be mounted because there is no 'document' defined in this environment.");this.createView(t),this.emit("mount",{editor:this}),this.css&&!document.head.contains(this.css)&&document.head.appendChild(this.css),window.setTimeout(()=>{this.isDestroyed||(this.options.autofocus!==!1&&this.options.autofocus!==null&&this.commands.focus(this.options.autofocus),this.emit("create",{editor:this}),this.isInitialized=!0)},0)}unmount(){if(this.editorView){this.editorState=this.editorView.state;const t=this.editorView.dom;t!=null&&t.editor&&delete t.editor,this.editorView.destroy()}if(this.editorView=null,this.isInitialized=!1,this.css&&!document.querySelectorAll(`.${this.className}`).length)try{typeof this.css.remove=="function"?this.css.remove():this.css.parentNode&&this.css.parentNode.removeChild(this.css)}catch(t){console.warn("Failed to remove CSS element:",t)}this.css=null,this.emit("unmount",{editor:this})}get storage(){return this.extensionStorage}get commands(){return this.commandManager.commands}chain(){return this.commandManager?this.commandManager.chain():ob.createFakeChain()}can(){return this.commandManager?this.commandManager.can():ob.createFallbackCan()}injectCSS(){this.options.injectCSS&&typeof document<"u"&&(this.css=MUt(U5t,this.options.injectNonce))}setOptions(t={}){this.options={...this.options,...t},!(!this.editorView||!this.state||this.isDestroyed)&&(this.options.editorProps&&this.view.setProps({...this.options.editorProps,attributes:this.getEditorViewAttributes()}),this.view.updateState(this.state))}setEditable(t,e=!0){this.setOptions({editable:t}),e&&this.emit("update",{editor:this,transaction:this.state.tr,appendedTransactions:[]})}get isEditable(){return this.options.editable&&this.view&&this.view.editable}get view(){return this.editorView?this.editorView:new Proxy({state:this.editorState,updateState:t=>{this.editorState=t},dispatch:t=>{this.dispatchTransaction(t)},composing:!1,dragging:null,editable:!0,isDestroyed:!1},{get:(t,e)=>{if(this.editorView)return this.editorView[e];if(e==="state")return this.editorState;if(e in t)return Reflect.get(t,e);throw new Error(`[tiptap error]: The editor view is not available. Cannot access view['${e}']. The editor may not be mounted yet.`)}})}get state(){return this.editorView&&(this.editorState=this.view.state),this.editorState}registerPlugin(t,e){const r=SG(e)?e(t,[...this.state.plugins]):[...this.state.plugins,t],n=this.state.reconfigure({plugins:r});return this.view.updateState(n),n}unregisterPlugin(t){if(this.isDestroyed)return;const e=this.state.plugins;let r=e;if([].concat(t).forEach(i=>{const a=typeof i=="string"?`${i}$`:i.key;r=r.filter(s=>!s.key.startsWith(a))}),e.length===r.length)return;const n=this.state.reconfigure({plugins:r});return this.view.updateState(n),n}createExtensionManager(){var t,e;const r=[...this.options.enableCoreExtensions?[l5t,i5t.configure({blockSeparator:(t=this.options.coreExtensionOptions)===null||t===void 0||(t=t.clipboardTextSerializer)===null||t===void 0?void 0:t.blockSeparator}),a5t,u5t,d5t,f5t.configure({value:(e=this.options.coreExtensionOptions)===null||e===void 0||(e=e.tabindex)===null||e===void 0?void 0:e.value}),o5t,h5t,s5t,p5t.configure({direction:this.options.textDirection})].filter(n=>typeof this.options.enableCoreExtensions=="object"?this.options.enableCoreExtensions[n.name]!==!1:!0):[],...this.options.extensions].filter(n=>["extension","node","mark"].includes(n==null?void 0:n.type));this.extensionManager=new sD(r,this)}createCommandManager(){this.commandManager=new ob({editor:this})}createSchema(){this.schema=this.extensionManager.schema}createDoc(){let t;try{t=CG(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:this.options.enableContentCheck})}catch(e){if(!(e instanceof Error)||!["[tiptap error]: Invalid JSON content","[tiptap error]: Invalid HTML content"].includes(e.message))throw e;const r=CG(this.options.content,this.schema,this.options.parseOptions,{errorOnInvalidContent:!1});return this.editorState=vd.create({doc:r,schema:this.schema,selection:TG(r,this.options.autofocus)||void 0}),this.emit("contentError",{editor:this,error:e,disableCollaboration:()=>{"collaboration"in this.storage&&typeof this.storage.collaboration=="object"&&this.storage.collaboration&&(this.storage.collaboration.isDisabled=!0),this.options.extensions=this.options.extensions.filter(n=>n.name!=="collaboration"),this.createExtensionManager()}}),this.editorState.doc}return t}getEditorViewAttributes(){var t;const e=(t=this.options.editorProps)===null||t===void 0?void 0:t.attributes;return SG(e)?r=>({role:"textbox",...e(r)}):{role:"textbox",...e}}createView(t){const{editorProps:e,enableExtensionDispatchTransaction:r}=this.options,n=e.dispatchTransaction||this.dispatchTransaction.bind(this),i=r?this.extensionManager.dispatchTransaction(n):n,a=e.transformPastedHTML,s=this.extensionManager.transformPastedHTML(a);this.editorView=new w4e(t,{...e,attributes:this.getEditorViewAttributes(),dispatchTransaction:i,transformPastedHTML:s,state:this.editorState,markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews});const o=this.state.reconfigure({plugins:this.extensionManager.plugins});this.view.updateState(o),this.prependClass(),this.injectCSS();const l=this.view.dom;l.editor=this}createNodeViews(){this.view.isDestroyed||this.view.setProps({markViews:this.extensionManager.markViews,nodeViews:this.extensionManager.nodeViews})}prependClass(){this.view.dom.className=`${this.className} ${this.view.dom.className}`}captureTransaction(t){this.isCapturingTransaction=!0,t(),this.isCapturingTransaction=!1;const e=this.capturedTransaction;return this.capturedTransaction=null,e}dispatchTransaction(t){if(this.view.isDestroyed)return;if(this.isCapturingTransaction){if(!this.capturedTransaction){this.capturedTransaction=t;return}t.steps.forEach(u=>{var d;return(d=this.capturedTransaction)===null||d===void 0?void 0:d.step(u)});return}const{state:e,transactions:r}=this.state.applyTransaction(t),n=!this.state.selection.eq(e.selection),i=r.includes(t),a=this.state;if(this.emit("beforeTransaction",{editor:this,transaction:t,nextState:e}),!i)return;this.view.updateState(e),this.emit("transaction",{editor:this,transaction:t,appendedTransactions:r.slice(1)}),n&&this.emit("selectionUpdate",{editor:this,transaction:t});const s=r.findLast(u=>u.getMeta("focus")||u.getMeta("blur")),o=s==null?void 0:s.getMeta("focus"),l=s==null?void 0:s.getMeta("blur");o&&this.emit("focus",{editor:this,event:o.event,transaction:s}),l&&this.emit("blur",{editor:this,event:l.event,transaction:s}),!(t.getMeta("preventUpdate")||!r.some(u=>u.docChanged)||a.doc.eq(e.doc))&&this.emit("update",{editor:this,transaction:t,appendedTransactions:r.slice(1)})}getAttributes(t){return PJ(this.state,t)}isActive(t,e){const r=typeof t=="string"?t:null,n=typeof t=="string"?e:t;return W4e(this.state,r,n)}getJSON(){return this.state.doc.toJSON()}getHTML(){return OJ(this.state.doc.content,this.schema)}getText(t){const{blockSeparator:e=`
`,textSerializers:r={}}=t||{};return Omt(this.state.doc,{blockSeparator:e,textSerializers:{...G4e(this.schema),...r}})}get isEmpty(){return eS(this.state.doc)}destroy(){this.destroyed||(this.destroyed=!0,this.emit("destroy"),this.unmount(),this.removeAllListeners(),this.extensionManager.destroy(),this.extensionManager=null,this.schema=null,this.commandManager=null,this.extensionStorage={})}get isDestroyed(){var t,e;return(t=(e=this.editorView)===null||e===void 0?void 0:e.isDestroyed)!==null&&t!==void 0?t:!0}$node(t,e){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelector(t,e))||null}$nodes(t,e){var r;return((r=this.$doc)===null||r===void 0?void 0:r.querySelectorAll(t,e))||null}$pos(t){const e=this.state.doc.resolve(t),r=t>0&&e.nodeAfter&&!e.nodeAfter.isText&&e.nodeAfter.isAtom?e.nodeAfter:null;return new m5t(e,this,!1,r)}get $doc(){return this.$pos(0)}};function Fg(t){return new Zd({find:t.find,handler:({state:e,range:r,match:n})=>{const i=ni(t.getAttributes,void 0,n);if(i===!1||i===null)return null;const{tr:a}=e,s=n[n.length-1],o=n[0];if(s){const l=o.search(/\S/),u=r.from+o.indexOf(s),d=u+s.length;if(q4(r.from,r.to,e.doc).filter(f=>f.mark.type.excluded.find(p=>p===t.type&&p!==f.mark.type)).filter(f=>f.to>u).length)return null;d<r.to&&a.delete(d,r.to),u>r.from&&a.delete(r.from+l,u);const h=r.from+l+s.length;a.addMark(r.from+l,h,t.type.create(i||{})),a.removeStoredMark(t.type)}},undoable:t.undoable})}function a3e(t){return new Zd({find:t.find,handler:({state:e,range:r,match:n})=>{const i=ni(t.getAttributes,void 0,n)||{},{tr:a}=e,s=r.from;let o=r.to;const l=t.type.create(i);if(n[1]){let u=s+n[0].lastIndexOf(n[1]);u>o?u=o:o=u+n[1].length;const d=n[0][n[0].length-1];a.insertText(d,s+n[0].length-1),a.replaceWith(u,o,l)}else if(n[0]){const u=t.type.isInline?s:s-1;a.insert(u,t.type.create(i)).delete(a.mapping.map(s),a.mapping.map(o))}a.scrollIntoView()},undoable:t.undoable})}function MG(t){return new Zd({find:t.find,handler:({state:e,range:r,match:n})=>{const i=e.doc.resolve(r.from),a=ni(t.getAttributes,void 0,n)||{};if(!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),t.type))return null;e.tr.delete(r.from,r.to).setBlockType(r.from,r.from,t.type,a)},undoable:t.undoable})}function Pv(t){return new Zd({find:t.find,handler:({state:e,range:r,match:n,chain:i})=>{const a=ni(t.getAttributes,void 0,n)||{},s=e.tr.delete(r.from,r.to),o=s.doc.resolve(r.from).blockRange(),l=o&&pJ(o,t.type,a);if(!l)return null;if(s.wrap(o,l),t.keepMarks&&t.editor){const{selection:d,storedMarks:h}=e,{splittableMarks:f}=t.editor.extensionManager,p=h||d.$to.parentOffset&&d.$from.marks();if(p){const g=p.filter(m=>f.includes(m.type.name));s.ensureMarks(g)}}if(t.keepAttributes){const d=t.type.name==="bulletList"||t.type.name==="orderedList"?"listItem":"taskList";i().updateAttributes(d,a).run()}const u=s.doc.resolve(r.from-1).nodeBefore;u&&u.type===t.type&&Ml(s.doc,r.from-1)&&(!t.joinPredicate||t.joinPredicate(n,u))&&s.join(r.from-1)},undoable:t.undoable})}const b5t=t=>"touches"in t;var v5t=class{constructor(t){var e,r,n,i,a,s;this.directions=["bottom-left","bottom-right","top-left","top-right"],this.minSize={height:8,width:8},this.preserveAspectRatio=!1,this.classNames={container:"",wrapper:"",handle:"",resizing:""},this.initialWidth=0,this.initialHeight=0,this.aspectRatio=1,this.isResizing=!1,this.activeHandle=null,this.startX=0,this.startY=0,this.startWidth=0,this.startHeight=0,this.isShiftKeyPressed=!1,this.lastEditableState=void 0,this.handleMap=new Map,this.handleMouseMove=o=>{if(!this.isResizing||!this.activeHandle)return;const l=o.clientX-this.startX,u=o.clientY-this.startY;this.handleResize(l,u)},this.handleTouchMove=o=>{if(!this.isResizing||!this.activeHandle)return;const l=o.touches[0];if(!l)return;const u=l.clientX-this.startX,d=l.clientY-this.startY;this.handleResize(u,d)},this.handleMouseUp=()=>{if(!this.isResizing)return;const o=this.element.offsetWidth,l=this.element.offsetHeight;this.onCommit(o,l),this.isResizing=!1,this.activeHandle=null,this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp)},this.handleKeyDown=o=>{o.key==="Shift"&&(this.isShiftKeyPressed=!0)},this.handleKeyUp=o=>{o.key==="Shift"&&(this.isShiftKeyPressed=!1)},this.node=t.node,this.editor=t.editor,this.element=t.element,this.element.draggable=!1,this.contentElement=t.contentElement,this.getPos=t.getPos,this.onResize=t.onResize,this.onCommit=t.onCommit,this.onUpdate=t.onUpdate,!((e=t.options)===null||e===void 0)&&e.min&&(this.minSize={...this.minSize,...t.options.min}),!((r=t.options)===null||r===void 0)&&r.max&&(this.maxSize=t.options.max),!(t==null||(n=t.options)===null||n===void 0)&&n.directions&&(this.directions=t.options.directions),!((i=t.options)===null||i===void 0)&&i.preserveAspectRatio&&(this.preserveAspectRatio=t.options.preserveAspectRatio),!((a=t.options)===null||a===void 0)&&a.className&&(this.classNames={container:t.options.className.container||"",wrapper:t.options.className.wrapper||"",handle:t.options.className.handle||"",resizing:t.options.className.resizing||""}),!((s=t.options)===null||s===void 0)&&s.createCustomHandle&&(this.createCustomHandle=t.options.createCustomHandle),this.wrapper=this.createWrapper(),this.container=this.createContainer(),this.applyInitialSize(),this.attachHandles(),this.editor.on("update",this.handleEditorUpdate.bind(this))}get dom(){return this.container}get contentDOM(){var t;return(t=this.contentElement)!==null&&t!==void 0?t:null}handleEditorUpdate(){const t=this.editor.isEditable;t!==this.lastEditableState&&(this.lastEditableState=t,t?t&&this.handleMap.size===0&&this.attachHandles():this.removeHandles())}update(t,e,r){return t.type!==this.node.type?!1:(this.node=t,this.onUpdate?this.onUpdate(t,e,r):!0)}destroy(){this.isResizing&&(this.container.dataset.resizeState="false",this.classNames.resizing&&this.container.classList.remove(this.classNames.resizing),document.removeEventListener("mousemove",this.handleMouseMove),document.removeEventListener("mouseup",this.handleMouseUp),document.removeEventListener("keydown",this.handleKeyDown),document.removeEventListener("keyup",this.handleKeyUp),this.isResizing=!1,this.activeHandle=null),this.editor.off("update",this.handleEditorUpdate.bind(this)),this.container.remove()}createContainer(){const t=document.createElement("div");return t.dataset.resizeContainer="",t.dataset.node=this.node.type.name,t.style.display=this.node.type.isInline?"inline-flex":"flex",this.classNames.container&&(t.className=this.classNames.container),t.appendChild(this.wrapper),t}createWrapper(){const t=document.createElement("div");return t.style.position="relative",t.style.display="block",t.dataset.resizeWrapper="",this.classNames.wrapper&&(t.className=this.classNames.wrapper),t.appendChild(this.element),t}createHandle(t){const e=document.createElement("div");return e.dataset.resizeHandle=t,e.style.position="absolute",this.classNames.handle&&(e.className=this.classNames.handle),e}positionHandle(t,e){const r=e.includes("top"),n=e.includes("bottom"),i=e.includes("left"),a=e.includes("right");r&&(t.style.top="0"),n&&(t.style.bottom="0"),i&&(t.style.left="0"),a&&(t.style.right="0"),(e==="top"||e==="bottom")&&(t.style.left="0",t.style.right="0"),(e==="left"||e==="right")&&(t.style.top="0",t.style.bottom="0")}attachHandles(){this.directions.forEach(t=>{let e;this.createCustomHandle?e=this.createCustomHandle(t):e=this.createHandle(t),e instanceof HTMLElement||(console.warn(`[ResizableNodeView] createCustomHandle("${t}") did not return an HTMLElement. Falling back to default handle.`),e=this.createHandle(t)),this.createCustomHandle||this.positionHandle(e,t),e.addEventListener("mousedown",r=>this.handleResizeStart(r,t)),e.addEventListener("touchstart",r=>this.handleResizeStart(r,t)),this.handleMap.set(t,e),this.wrapper.appendChild(e)})}removeHandles(){this.handleMap.forEach(t=>t.remove()),this.handleMap.clear()}applyInitialSize(){const t=this.node.attrs.width,e=this.node.attrs.height;t?(this.element.style.width=`${t}px`,this.initialWidth=t):this.initialWidth=this.element.offsetWidth,e?(this.element.style.height=`${e}px`,this.initialHeight=e):this.initialHeight=this.element.offsetHeight,this.initialWidth>0&&this.initialHeight>0&&(this.aspectRatio=this.initialWidth/this.initialHeight)}handleResizeStart(t,e){t.preventDefault(),t.stopPropagation(),this.isResizing=!0,this.activeHandle=e,b5t(t)?(this.startX=t.touches[0].clientX,this.startY=t.touches[0].clientY):(this.startX=t.clientX,this.startY=t.clientY),this.startWidth=this.element.offsetWidth,this.startHeight=this.element.offsetHeight,this.startWidth>0&&this.startHeight>0&&(this.aspectRatio=this.startWidth/this.startHeight),this.getPos(),this.container.dataset.resizeState="true",this.classNames.resizing&&this.container.classList.add(this.classNames.resizing),document.addEventListener("mousemove",this.handleMouseMove),document.addEventListener("touchmove",this.handleTouchMove),document.addEventListener("mouseup",this.handleMouseUp),document.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keyup",this.handleKeyUp)}handleResize(t,e){if(!this.activeHandle)return;const r=this.preserveAspectRatio||this.isShiftKeyPressed,{width:n,height:i}=this.calculateNewDimensions(this.activeHandle,t,e),a=this.applyConstraints(n,i,r);this.element.style.width=`${a.width}px`,this.element.style.height=`${a.height}px`,this.onResize&&this.onResize(a.width,a.height)}calculateNewDimensions(t,e,r){let n=this.startWidth,i=this.startHeight;const a=t.includes("right"),s=t.includes("left"),o=t.includes("bottom"),l=t.includes("top");return a?n=this.startWidth+e:s&&(n=this.startWidth-e),o?i=this.startHeight+r:l&&(i=this.startHeight-r),(t==="right"||t==="left")&&(n=this.startWidth+(a?e:-e)),(t==="top"||t==="bottom")&&(i=this.startHeight+(o?r:-r)),this.preserveAspectRatio||this.isShiftKeyPressed?this.applyAspectRatio(n,i,t):{width:n,height:i}}applyConstraints(t,e,r){var n,i;if(!r){var a,s;let u=Math.max(this.minSize.width,t),d=Math.max(this.minSize.height,e);return!((a=this.maxSize)===null||a===void 0)&&a.width&&(u=Math.min(this.maxSize.width,u)),!((s=this.maxSize)===null||s===void 0)&&s.height&&(d=Math.min(this.maxSize.height,d)),{width:u,height:d}}let o=t,l=e;return o<this.minSize.width&&(o=this.minSize.width,l=o/this.aspectRatio),l<this.minSize.height&&(l=this.minSize.height,o=l*this.aspectRatio),!((n=this.maxSize)===null||n===void 0)&&n.width&&o>this.maxSize.width&&(o=this.maxSize.width,l=o/this.aspectRatio),!((i=this.maxSize)===null||i===void 0)&&i.height&&l>this.maxSize.height&&(l=this.maxSize.height,o=l*this.aspectRatio),{width:o,height:l}}applyAspectRatio(t,e,r){const n=r==="left"||r==="right",i=r==="top"||r==="bottom";return n?{width:t,height:t/this.aspectRatio}:i?{width:e*this.aspectRatio,height:e}:{width:t,height:t/this.aspectRatio}}},ri=class s3e extends $J{constructor(...e){super(...e),this.type="node"}static create(e={}){const r=typeof e=="function"?e():e;return new s3e(r)}configure(e){return super.configure(e)}extend(e){const r=typeof e=="function"?e():e;return super.extend(r)}};function jh(t){return new tS({find:t.find,handler:({state:e,range:r,match:n,pasteEvent:i})=>{const a=ni(t.getAttributes,void 0,n,i);if(a===!1||a===null)return null;const{tr:s}=e,o=n[n.length-1],l=n[0];let u=r.to;if(o){const d=l.search(/\S/),h=r.from+l.indexOf(o),f=h+o.length;if(q4(r.from,r.to,e.doc).filter(p=>p.mark.type.excluded.find(g=>g===t.type&&g!==p.mark.type)).filter(p=>p.to>h).length)return null;f<r.to&&s.delete(f,r.to),h>r.from&&s.delete(r.from+d,h),u=r.from+d+o.length,s.addMark(r.from+d,u,t.type.create(a||{})),n.index!==void 0&&n.input!==void 0&&n.index+n[0].length>=n.input.length||s.removeStoredMark(t.type)}}})}const x5t=/(?:^|\s)(!\[(.+|:?)]\((\S+)(?:(?:\s+)["'](\S+)["'])?\))$/,w5t=ri.create({name:"image",addOptions(){return{inline:!1,allowBase64:!1,HTMLAttributes:{},resize:!1}},inline(){return this.options.inline},group(){return this.options.inline?"inline":"block"},draggable:!0,addAttributes(){return{src:{default:null},alt:{default:null},title:{default:null},width:{default:null},height:{default:null}}},parseHTML(){return[{tag:this.options.allowBase64?"img[src]":'img[src]:not([src^="data:"])'}]},renderHTML({HTMLAttributes:t}){return["img",yn(this.options.HTMLAttributes,t)]},parseMarkdown:(t,e)=>e.createNode("image",{src:t.href,title:t.title,alt:t.text}),renderMarkdown:t=>{var e,r,n,i,a,s;const o=(e=(r=t.attrs)===null||r===void 0?void 0:r.src)!==null&&e!==void 0?e:"",l=(n=(i=t.attrs)===null||i===void 0?void 0:i.alt)!==null&&n!==void 0?n:"",u=(a=(s=t.attrs)===null||s===void 0?void 0:s.title)!==null&&a!==void 0?a:"";return u?`![${l}](${o} "${u}")`:`![${l}](${o})`},addNodeView(){if(!this.options.resize||!this.options.resize.enabled||typeof document>"u")return null;const{directions:t,minWidth:e,minHeight:r,alwaysPreserveAspectRatio:n}=this.options.resize,i=new Set(["src","width","height"]);return({node:a,getPos:s,HTMLAttributes:o,editor:l})=>{const u=document.createElement("img");u.draggable=!1;const d=yn(this.options.HTMLAttributes,o);Object.entries(d).forEach(([y,b])=>{if(b!=null)switch(y){case"src":case"width":case"height":break;default:u.setAttribute(y,b)}}),d.src!==null&&(u.src=d.src);let h={...o};const f=y=>{if(typeof y=="string"&&y!==""){u.getAttribute("src")!==y&&(u.src=y);return}u.hasAttribute("src")&&u.removeAttribute("src"),u.src!==""&&(u.src="")};f(o.src);const p=y=>{if(y.type!==a.type)return!1;const b=l.extensionManager.attributes.filter(w=>w.type===y.type.name),v=Nv(y,b);return Object.keys(h).forEach(w=>{!i.has(w)&&!(w in v)&&u.removeAttribute(w)}),Object.entries(v).forEach(([w,T])=>{i.has(w)||(T!=null?u.setAttribute(w,T):u.removeAttribute(w))}),f(v.src),h=v,!0},g=new v5t({element:u,editor:l,node:a,getPos:s,onResize:(y,b)=>{u.style.width=`${y}px`,u.style.height=`${b}px`},onCommit:(y,b)=>{const v=s();v!==void 0&&this.editor.chain().setNodeSelection(v).updateAttributes(this.name,{width:y,height:b}).run()},onUpdate:p,options:{directions:t,min:{width:e,height:r},preserveAspectRatio:n===!0}}),m=g.dom,U=()=>{m.style.visibility="",m.style.pointerEvents=""};return m.style.visibility="hidden",m.style.pointerEvents="none",u.complete&&u.naturalWidth>0?U():(u.onload=U,u.onerror=U),g}},addCommands(){return{setImage:t=>({commands:e})=>e.insertContent({type:this.name,attrs:t})}},addInputRules(){return[a3e({find:x5t,type:this.type,getAttributes:t=>{const[,,e,r,n]=t;return{src:r,alt:e,title:n}}})]}});var o3e=w5t;function T5t(t={}){return new ci({view(e){return new C5t(e,t)}})}class C5t{constructor(e,r){var n;this.editorView=e,this.cursorPos=null,this.element=null,this.timeout=-1,this.lastDragEvent=null,this.width=(n=r.width)!==null&&n!==void 0?n:1,this.color=r.color===!1?void 0:r.color||"black",this.class=r.class,this.handlers=["dragover","dragend","drop","dragleave"].map(i=>{let a=s=>{this[i](s)};return e.dom.addEventListener(i,a),{name:i,handler:a}})}destroy(){this.setCursor(null),this.handlers.forEach(({name:e,handler:r})=>this.editorView.dom.removeEventListener(e,r))}update(e,r){if(this.cursorPos!=null&&r.doc!=e.state.doc)if(this.lastDragEvent){let n=this.computeTarget(this.lastDragEvent);n==this.cursorPos?this.updateOverlay():this.setCursor(n)}else this.updateOverlay()}setCursor(e){e!=this.cursorPos&&(this.cursorPos=e,e==null?(this.element.parentNode.removeChild(this.element),this.element=null):this.updateOverlay())}updateOverlay(){let e=this.editorView.state.doc.resolve(this.cursorPos),r=!e.parent.inlineContent,n,i=this.editorView.dom,a=i.getBoundingClientRect(),s=a.width/i.offsetWidth,o=a.height/i.offsetHeight;if(r){let h=e.nodeBefore,f=e.nodeAfter;if(h||f){let p=this.editorView.nodeDOM(this.cursorPos-(h?h.nodeSize:0));if(p){let g=p.getBoundingClientRect(),m=h?g.bottom:g.top;h&&f&&(m=(m+this.editorView.nodeDOM(this.cursorPos).getBoundingClientRect().top)/2);let U=this.width/2*o;n={left:g.left,right:g.right,top:m-U,bottom:m+U}}}}if(!n){let h=this.editorView.coordsAtPos(this.cursorPos),f=this.width/2*s;n={left:h.left-f,right:h.left+f,top:h.top,bottom:h.bottom}}let l=this.editorView.dom.offsetParent;this.element||(this.element=l.appendChild(document.createElement("div")),this.class&&(this.element.className=this.class),this.element.style.cssText="position: absolute; z-index: 50; pointer-events: none;",this.color&&(this.element.style.backgroundColor=this.color)),this.element.classList.toggle("prosemirror-dropcursor-block",r),this.element.classList.toggle("prosemirror-dropcursor-inline",!r);let u,d;if(!l||l==document.body&&getComputedStyle(l).position=="static")u=-pageXOffset,d=-pageYOffset;else{let h=l.getBoundingClientRect(),f=h.width/l.offsetWidth,p=h.height/l.offsetHeight;u=h.left-l.scrollLeft*f,d=h.top-l.scrollTop*p}this.element.style.left=(n.left-u)/s+"px",this.element.style.top=(n.top-d)/o+"px",this.element.style.width=(n.right-n.left)/s+"px",this.element.style.height=(n.bottom-n.top)/o+"px"}scheduleRemoval(e){clearTimeout(this.timeout),this.timeout=setTimeout(()=>this.setCursor(null),e)}computeTarget(e){let r=this.editorView.posAtCoords({left:e.clientX,top:e.clientY}),n=r&&r.inside>=0&&this.editorView.state.doc.nodeAt(r.inside),i=n&&n.type.spec.disableDropCursor,a=typeof i=="function"?i(this.editorView,r,e):i;if(!r||a)return null;let s=r.pos;if(this.editorView.dragging&&this.editorView.dragging.slice){let o=bve(this.editorView.state.doc,s,this.editorView.dragging.slice);o!=null&&(s=o)}return s}dragover(e){if(!this.editorView.editable)return;this.lastDragEvent=e;let r=this.computeTarget(e);r!=null&&(this.setCursor(r),this.scheduleRemoval(5e3))}dragend(){this.scheduleRemoval(20)}drop(){this.scheduleRemoval(20)}dragleave(e){this.editorView.dom.contains(e.relatedTarget)||this.setCursor(null)}}class la extends Vr{constructor(e){super(e,e)}map(e,r){let n=e.resolve(r.map(this.head));return la.valid(n)?new la(n):Vr.near(n)}content(){return tr.empty}eq(e){return e instanceof la&&e.head==this.head}toJSON(){return{type:"gapcursor",pos:this.head}}static fromJSON(e,r){if(typeof r.pos!="number")throw new RangeError("Invalid input for GapCursor.fromJSON");return new la(e.resolve(r.pos))}getBookmark(){return new FJ(this.anchor)}static valid(e){let r=e.parent;if(r.inlineContent||!S5t(e)||!k5t(e))return!1;let n=r.type.spec.allowGapCursor;if(n!=null)return n;let i=r.contentMatchAt(e.index()).defaultType;return i&&i.isTextblock}static findGapCursorFrom(e,r,n=!1){e:for(;;){if(!n&&la.valid(e))return e;let i=e.pos,a=null;for(let s=e.depth;;s--){let o=e.node(s);if(r>0?e.indexAfter(s)<o.childCount:e.index(s)>0){a=o.child(r>0?e.indexAfter(s):e.index(s)-1);break}else if(s==0)return null;i+=r;let l=e.doc.resolve(i);if(la.valid(l))return l}for(;;){let s=r>0?a.firstChild:a.lastChild;if(!s){if(a.isAtom&&!a.isText&&!Nr.isSelectable(a)){e=e.doc.resolve(i+a.nodeSize*r),n=!1;continue e}break}a=s,i+=r;let o=e.doc.resolve(i);if(la.valid(o))return o}return null}}}la.prototype.visible=!1;la.findFrom=la.findGapCursorFrom;Vr.jsonID("gapcursor",la);class FJ{constructor(e){this.pos=e}map(e){return new FJ(e.map(this.pos))}resolve(e){let r=e.resolve(this.pos);return la.valid(r)?new la(r):Vr.near(r)}}function l3e(t){return t.isAtom||t.spec.isolating||t.spec.createGapCursor}function S5t(t){for(let e=t.depth;e>=0;e--){let r=t.index(e),n=t.node(e);if(r==0){if(n.type.spec.isolating)return!0;continue}for(let i=n.child(r-1);;i=i.lastChild){if(i.childCount==0&&!i.inlineContent||l3e(i.type))return!0;if(i.inlineContent)return!1}}return!0}function k5t(t){for(let e=t.depth;e>=0;e--){let r=t.indexAfter(e),n=t.node(e);if(r==n.childCount){if(n.type.spec.isolating)return!0;continue}for(let i=n.child(r);;i=i.firstChild){if(i.childCount==0&&!i.inlineContent||l3e(i.type))return!0;if(i.inlineContent)return!1}}return!0}function E5t(){return new ci({props:{decorations:I5t,createSelectionBetween(t,e,r){return e.pos==r.pos&&la.valid(r)?new la(r):null},handleClick:M5t,handleKeyDown:A5t,handleDOMEvents:{beforeinput:R5t}}})}const A5t=RJ({ArrowLeft:Mk("horiz",-1),ArrowRight:Mk("horiz",1),ArrowUp:Mk("vert",-1),ArrowDown:Mk("vert",1)});function Mk(t,e){const r=t=="vert"?e>0?"down":"up":e>0?"right":"left";return function(n,i,a){let s=n.selection,o=e>0?s.$to:s.$from,l=s.empty;if(s instanceof yr){if(!a.endOfTextblock(r)||o.depth==0)return!1;l=!1,o=n.doc.resolve(e>0?o.after():o.before())}let u=la.findGapCursorFrom(o,e,l);return u?(i&&i(n.tr.setSelection(new la(u))),!0):!1}}function M5t(t,e,r){if(!t||!t.editable)return!1;let n=t.state.doc.resolve(e);if(!la.valid(n))return!1;let i=t.posAtCoords({left:r.clientX,top:r.clientY});return i&&i.inside>-1&&Nr.isSelectable(t.state.doc.nodeAt(i.inside))?!1:(t.dispatch(t.state.tr.setSelection(new la(n))),!0)}function R5t(t,e){if(e.inputType!="insertCompositionText"||!(t.state.selection instanceof la))return!1;let{$from:r}=t.state.selection,n=r.parent.contentMatchAt(r.index()).findWrapping(t.state.schema.nodes.text);if(!n)return!1;let i=At.empty;for(let s=n.length-1;s>=0;s--)i=At.from(n[s].createAndFill(null,i));let a=t.state.tr.replace(r.pos,r.pos,new tr(i,0,0));return a.setSelection(yr.near(a.doc.resolve(r.pos+1))),t.dispatch(a),!1}function I5t(t){if(!(t.selection instanceof la))return null;let e=document.createElement("div");return e.className="ProseMirror-gapcursor",qn.create(t.doc,[Js.widget(t.selection.head,e,{key:"gapcursor"})])}Oi.create({name:"characterCount",addOptions(){return{limit:null,autoTrim:!0,mode:"textSize",textCounter:t=>t.length,wordCounter:t=>t.split(" ").filter(e=>e!=="").length}},addStorage(){return{characters:()=>0,words:()=>0}},onBeforeCreate(){this.storage.characters=t=>{const e=(t==null?void 0:t.node)||this.editor.state.doc;if(((t==null?void 0:t.mode)||this.options.mode)==="textSize"){const r=e.textBetween(0,e.content.size,void 0," ");return this.options.textCounter(r)}return e.nodeSize},this.storage.words=t=>{const e=(t==null?void 0:t.node)||this.editor.state.doc,r=e.textBetween(0,e.content.size," "," ");return this.options.wordCounter(r)}},addProseMirrorPlugins(){let t=!1;return[new ci({key:new Mi("characterCount"),appendTransaction:(e,r,n)=>{if(t)return;const i=this.options.limit,a=this.options.autoTrim;if(i==null||i===0||a===!1){t=!0;return}const s=this.storage.characters({node:n.doc});if(s>i){const o=s-i,l=0,u=o;console.warn(`[CharacterCount] Initial content exceeded limit of ${i} characters. Content was automatically trimmed.`);const d=n.tr.deleteRange(l,u);return t=!0,d}t=!0},filterTransaction:(e,r)=>{const n=this.options.limit;if(!e.docChanged||n===0||n===null||n===void 0)return!0;const i=this.storage.characters({node:r.doc}),a=this.storage.characters({node:e.doc});if(a<=n||i>n&&a>n&&a<=i)return!0;if(i>n&&a>n&&a>i||!e.getMeta("paste"))return!1;const s=e.selection.$head.pos,o=s-(a-n),l=s;return e.deleteRange(o,l),!(this.storage.characters({node:e.doc})>n)}})]}});const L5t=Oi.create({name:"dropCursor",addOptions(){return{color:"currentColor",width:1,class:void 0}},addProseMirrorPlugins(){return[T5t(this.options)]}});Oi.create({name:"focus",addOptions(){return{className:"has-focus",mode:"all"}},addProseMirrorPlugins(){return[new ci({key:new Mi("focus"),props:{decorations:({doc:t,selection:e})=>{const{isEditable:r,isFocused:n}=this.editor,{anchor:i}=e,a=[];if(!r||!n)return qn.create(t,[]);let s=0;this.options.mode==="deepest"&&t.descendants((l,u)=>{if(!l.isText){if(!(i>=u&&i<=u+l.nodeSize-1))return!1;s+=1}});let o=0;return t.descendants((l,u)=>{if(l.isText||!(i>=u&&i<=u+l.nodeSize-1))return!1;if(o+=1,this.options.mode==="deepest"&&s-o>0||this.options.mode==="shallowest"&&o>1)return this.options.mode==="deepest";a.push(Js.node(u,u+l.nodeSize,{class:this.options.className}))}),qn.create(t,a)}}})]}});const N5t=Oi.create({name:"gapCursor",addProseMirrorPlugins(){return[E5t()]},extendNodeSchema(t){var e;const r={name:t.name,options:t.options,storage:t.storage};return{allowGapCursor:(e=ni(mr(t,"allowGapCursor",r)))!==null&&e!==void 0?e:null}}}),c3e="placeholder",vue=new Mi("tiptap__placeholder");function u3e(t){const{editor:e,placeholder:r,dataAttribute:n,pos:i,node:a,isEmptyDoc:s,hasAnchor:o,classes:{emptyNode:l,emptyEditor:u}}=t,d=[l];return s&&d.push(u),Js.node(i,i+a.nodeSize,{class:d.join(" "),[n]:typeof r=="function"?r({editor:e,node:a,pos:i,hasAnchor:o}):r})}function d3e(t,e){return typeof t=="function"?t(e):t}function h3e({editor:t,options:e,dataAttribute:r,doc:n,selection:i,from:a,to:s}){const{anchor:o}=i,l=[],u=t.isEmpty;return n.nodesBetween(a,s,(d,h)=>{const f=o>=h&&o<=h+d.nodeSize,p=!d.isLeaf&&eS(d);return d.type.isTextblock&&(f||!e.showOnlyCurrent)&&p&&l.push(u3e({editor:t,isEmptyDoc:u,dataAttribute:r,hasAnchor:f,placeholder:e.placeholder,classes:{emptyEditor:e.emptyEditorClass,emptyNode:d3e(e.emptyNodeClass,{editor:t,node:d,pos:h,hasAnchor:f})},node:d,pos:h})),e.includeChildren}),l}function f3e({editor:t,options:e,dataAttribute:r,doc:n,selection:i}){if(!(t.isEditable||!e.showOnlyWhenEditable))return null;const{anchor:a}=i,s=[],o=t.isEmpty;if(e.showOnlyCurrent&&!e.includeChildren){const l=n.resolve(a),u=l.depth>0?l.node(1):l.nodeAfter,d=l.depth>0?l.before(1):a;if(u&&u.type.isTextblock&&eS(u)){const h=a>=d&&a<=d+u.nodeSize;s.push(u3e({editor:t,isEmptyDoc:o,dataAttribute:r,hasAnchor:h,placeholder:e.placeholder,classes:{emptyEditor:e.emptyEditorClass,emptyNode:d3e(e.emptyNodeClass,{editor:t,node:u,pos:d,hasAnchor:h})},node:u,pos:d}))}}else s.push(...h3e({editor:t,options:e,dataAttribute:r,doc:n,selection:i,from:0,to:n.content.size}));return qn.create(n,s)}function Bx(t,e){const r=t.resolve(e);if(r.depth===0){var n;const a=(n=r.nodeAfter)!==null&&n!==void 0?n:r.nodeBefore;if(!a)return{from:e,to:e};const s=r.nodeAfter?e:e-a.nodeSize;return{from:s,to:s+a.nodeSize}}const i=r.before(1);return{from:i,to:i+r.node(1).nodeSize}}function $x(t,e){return{from:Math.max(0,e.from-1),to:Math.min(t.content.size,e.to-1)}}function O5t(t,e,r){const n=[];return t.forEach((i,a)=>{const s=a,o=s+i.nodeSize,l=s+1,u=o+1;l<r&&u>e&&n.push({from:s,to:o})}),n}function D5t(t){if(t.length===0)return[];const e=[...t].sort((n,i)=>n.from-i.from),r=[{...e[0]}];for(let n=1;n<e.length;n+=1){const i=r[r.length-1],a=e[n];a.from<=i.to?i.to=Math.max(i.to,a.to):r.push({...a})}return r}function P5t(t,e){const r=O5t(t,e.from,e.to);return r.push($x(t,Bx(t,e.from))),e.to>e.from?r.push($x(t,Bx(t,Math.min(e.to,t.content.size+1)-1))):e.from<t.content.size+1&&r.push($x(t,Bx(t,Math.min(e.from+1,t.content.size)))),r}function _5t(t,e,r){const n=[];if(t.docChanged){const i=QC(t);for(const a of i)n.push(...P5t(r.doc,a.newRange))}return t.selectionSet&&(n.push($x(r.doc,Bx(r.doc,t.mapping.map(e.selection.anchor)))),n.push($x(r.doc,Bx(r.doc,r.selection.anchor)))),D5t(n)}function B5t(t,e,r){const n=Math.max(0,Math.min(t,r.content.size));return{from:n,to:Math.max(n,Math.min(e,r.content.size))}}function $5t({decorations:t,ranges:e,editor:r,options:n,dataAttribute:i,doc:a,selection:s}){let o=t;for(const l of e){const{from:u,to:d}=B5t(l.from,l.to,a),h=o.find(u,d).filter(p=>p.from>=u&&p.to<=d);h.length&&(o=o.remove(h));const f=h3e({editor:r,options:n,dataAttribute:i,doc:a,selection:s,from:u,to:d});f.length&&(o=o.add(a,f))}return o}function F5t({editor:t,options:e,dataAttribute:r}){return{init(n,i){const a=f3e({editor:t,options:e,dataAttribute:r,doc:i.doc,selection:i.selection});return a??qn.empty},apply(n,i,a,s){return!n.docChanged&&!n.selectionSet?i:$5t({decorations:i.map(n.mapping,n.doc),ranges:_5t(n,a,s),editor:t,options:e,dataAttribute:r,doc:s.doc,selection:s.selection})}}}function z5t(t){return t.replace(/\s+/g,"-").replace(/[^a-zA-Z0-9-]/g,"").replace(/^[0-9-]+/,"").replace(/^-+/,"").toLowerCase()}function H5t({editor:t,options:e}){const r=e.dataAttribute?`data-${z5t(e.dataAttribute)}`:`data-${c3e}`,n=e.showOnlyCurrent&&!e.includeChildren;return new ci({key:vue,...n?{}:{state:F5t({editor:t,options:e,dataAttribute:r})},props:{decorations:n?({doc:i,selection:a})=>f3e({editor:t,options:e,dataAttribute:r,doc:i,selection:a}):i=>{var a;return e.showOnlyWhenEditable&&!t.isEditable?qn.empty:(a=vue.getState(i))!==null&&a!==void 0?a:qn.empty}}})}const V5t=Oi.create({name:"placeholder",addOptions(){return{emptyEditorClass:"is-editor-empty",emptyNodeClass:"is-empty",dataAttribute:c3e,placeholder:"Write something …",showOnlyWhenEditable:!0,showOnlyCurrent:!0,includeChildren:!1}},addProseMirrorPlugins(){return[H5t({editor:this.editor,options:this.options})]}});function RG(t,e){return!t.selection.empty&&!q4e(t.selection)&&e.isEditable}function G5t(t,e){return RG(t,e)&&!e.isFocused&&!e.view.dragging}function W5t(){var t;(t=window.getSelection())===null||t===void 0||t.removeAllRanges()}function q5t(t){t.focus()}Oi.create({name:"selection",addOptions(){return{className:"selection"}},addProseMirrorPlugins(){const{editor:t,options:e}=this;return[new ci({key:new Mi("selection"),props:{decorations(r){return G5t(r,t)?qn.create(r.doc,[Js.inline(r.selection.from,r.selection.to,{class:e.className})]):null},handleDOMEvents:{blur(r){return RG(r.state,t)&&W5t(),!1},focus(r){return RG(r.state,t)&&requestAnimationFrame(()=>{!t.isDestroyed&&r.hasFocus()&&q5t(r)}),!1}}}})]}});function xue({types:t,node:e}){return e&&Array.isArray(t)&&t.includes(e.type)||(e==null?void 0:e.type)===t}const j5t=Oi.create({name:"trailingNode",addOptions(){return{node:void 0,notAfter:[]}},addProseMirrorPlugins(){var t;const e=new Mi(this.name),r=this.options.node||((t=this.editor.schema.topNodeType.contentMatch.defaultType)===null||t===void 0?void 0:t.name)||"paragraph",n=Object.entries(this.editor.schema.nodes).map(([,i])=>i).filter(i=>(this.options.notAfter||[]).concat(r).includes(i.name));return[new ci({key:e,appendTransaction:(i,a,s)=>{const{doc:o,tr:l,schema:u}=s,d=e.getState(s),h=o.content.size,f=u.nodes[r];if(!i.some(p=>p.getMeta("skipTrailingNode"))&&d)return l.insert(h,f.create())},state:{init:(i,a)=>{const s=a.tr.doc.lastChild;return!xue({node:s,types:n})},apply:(i,a)=>{if(!i.docChanged||i.getMeta("__uniqueIDTransaction"))return a;const s=i.doc.lastChild;return!xue({node:s,types:n})}}})]}}),Y5t=Oi.create({name:"undoRedo",addOptions(){return{depth:100,newGroupDelay:500}},addCommands(){return{undo:()=>({state:t,dispatch:e})=>E4e(t,e),redo:()=>({state:t,dispatch:e})=>A4e(t,e)}},addProseMirrorPlugins(){return[_1t(this.options)]},addKeyboardShortcuts(){return{"Mod-z":()=>this.editor.commands.undo(),"Shift-Mod-z":()=>this.editor.commands.redo(),"Mod-y":()=>this.editor.commands.redo(),"Mod-я":()=>this.editor.commands.undo(),"Shift-Mod-я":()=>this.editor.commands.redo()}}});var X5t=V5t;const g$=4,K5t=/^```([a-z]+)?[\s\n]$/,Z5t=/^~~~([a-z]+)?[\s\n]$/,p3e=ri.create({name:"codeBlock",addOptions(){return{languageClassPrefix:"language-",exitOnTripleEnter:!0,exitOnArrowDown:!0,exitOnArrowUp:!0,defaultLanguage:null,enableTabIndentation:!1,tabSize:g$,HTMLAttributes:{}}},content:"text*",marks:"",group:"block",code:!0,defining:!0,addAttributes(){return{language:{default:this.options.defaultLanguage,parseHTML:t=>{var e;const{languageClassPrefix:r}=this.options;if(!r)return null;const n=[...((e=t.firstElementChild)===null||e===void 0?void 0:e.classList)||[]].filter(i=>i.startsWith(r)).map(i=>i.replace(r,""))[0];return n||null},rendered:!1}}},parseHTML(){return[{tag:"pre",preserveWhitespace:"full"}]},renderHTML({node:t,HTMLAttributes:e}){return["pre",yn(this.options.HTMLAttributes,e),["code",{class:t.attrs.language?this.options.languageClassPrefix+t.attrs.language:null},0]]},markdownTokenName:"code",parseMarkdown:(t,e)=>{var r,n;return((r=t.raw)===null||r===void 0?void 0:r.startsWith("```"))===!1&&((n=t.raw)===null||n===void 0?void 0:n.startsWith("~~~"))===!1&&t.codeBlockStyle!=="indented"?[]:e.createNode("codeBlock",{language:t.lang||null},t.text?[e.createTextNode(t.text)]:[])},renderMarkdown:(t,e)=>{var r;let n="";const i=((r=t.attrs)===null||r===void 0?void 0:r.language)||"";return t.content?n=[`\`\`\`${i}`,e.renderChildren(t.content),"```"].join(`
`):n=`\`\`\`${i}
\`\`\``,n},addCommands(){return{setCodeBlock:t=>({commands:e})=>e.setNode(this.name,t),toggleCodeBlock:t=>({commands:e})=>e.toggleNode(this.name,"paragraph",t)}},addKeyboardShortcuts(){return{"Mod-Alt-c":()=>this.editor.commands.toggleCodeBlock(),Backspace:()=>{const{empty:t,$anchor:e}=this.editor.state.selection,r=e.pos===1;return!t||e.parent.type.name!==this.name?!1:r||!e.parent.textContent.length?this.editor.commands.clearNodes():!1},Tab:({editor:t})=>{var e;if(!this.options.enableTabIndentation)return!1;const r=(e=this.options.tabSize)!==null&&e!==void 0?e:g$,{state:n}=t,{selection:i}=n,{$from:a,empty:s}=i;if(a.parent.type!==this.type)return!1;const o=" ".repeat(r);return s?t.commands.insertContent(o):t.commands.command(({tr:l})=>{const{from:u,to:d}=i,h=n.doc.textBetween(u,d,`
`,`
`).split(`
`).map(f=>o+f).join(`
`);return l.replaceWith(u,d,n.schema.text(h)),!0})},"Shift-Tab":({editor:t})=>{var e;if(!this.options.enableTabIndentation)return!1;const r=(e=this.options.tabSize)!==null&&e!==void 0?e:g$,{state:n}=t,{selection:i}=n,{$from:a,empty:s}=i;return a.parent.type!==this.type?!1:s?t.commands.command(({tr:o})=>{var l;const{pos:u}=a,d=a.start(),h=a.end(),f=n.doc.textBetween(d,h,`
`,`
`).split(`
`);let p=0,g=0;const m=u-d;for(let v=0;v<f.length;v+=1){if(g+f[v].length>=m){p=v;break}g+=f[v].length+1}const U=((l=f[p].match(/^ */))===null||l===void 0?void 0:l[0])||"",y=Math.min(U.length,r);if(y===0)return!0;let b=d;for(let v=0;v<p;v+=1)b+=f[v].length+1;return o.delete(b,b+y),u-b<=y&&o.setSelection(yr.create(o.doc,b)),!0}):t.commands.command(({tr:o})=>{const{from:l,to:u}=i,d=n.doc.textBetween(l,u,`
`,`
`).split(`
`).map(h=>{var f;const p=((f=h.match(/^ */))===null||f===void 0?void 0:f[0])||"",g=Math.min(p.length,r);return h.slice(g)}).join(`
`);return o.replaceWith(l,u,n.schema.text(d)),!0})},Enter:({editor:t})=>{if(!this.options.exitOnTripleEnter)return!1;const{state:e}=t,{selection:r}=e,{$from:n,empty:i}=r;if(!i||n.parent.type!==this.type)return!1;const a=n.parentOffset===n.parent.nodeSize-2,s=n.parent.textContent.endsWith(`
`);return!a||!s?!1:t.chain().command(({tr:o})=>(o.delete(n.pos-2,n.pos),!0)).exitCode().run()},ArrowUp:({editor:t})=>{if(!this.options.exitOnArrowUp)return!1;const{state:e}=t,{selection:r}=e,{$from:n,empty:i}=r;if(!i||n.parent.type!==this.type||n.parentOffset!==0)return!1;const a=n.before();return a>0?!1:t.commands.insertDefaultBlock({pos:a})},ArrowDown:({editor:t})=>{if(!this.options.exitOnArrowDown)return!1;const{state:e}=t,{selection:r,doc:n}=e,{$from:i,empty:a}=r;if(!a||i.parent.type!==this.type||i.parentOffset!==i.parent.nodeSize-2)return!1;const s=i.after();return s===void 0?!1:n.nodeAt(s)?t.commands.command(({tr:o})=>(o.setSelection(Vr.near(n.resolve(s))),!0)):t.commands.exitCode()}}},addInputRules(){return[MG({find:K5t,type:this.type,getAttributes:t=>({language:t[1]})}),MG({find:Z5t,type:this.type,getAttributes:t=>({language:t[1]})})]},addProseMirrorPlugins(){return[new ci({key:new Mi("codeBlockVSCodeHandler"),props:{handlePaste:(t,e)=>{if(!e.clipboardData||this.editor.isActive(this.type.name))return!1;const r=e.clipboardData.getData("text/plain"),n=e.clipboardData.getData("vscode-editor-data"),i=n?JSON.parse(n):void 0,a=i==null?void 0:i.mode;if(!r||!a)return!1;const{tr:s,schema:o}=t.state,l=o.text(r.replace(/\r\n?/g,`
`));return s.replaceSelectionWith(this.type.create({language:a},l)),s.selection.$from.parent.type!==this.type&&s.setSelection(yr.near(s.doc.resolve(Math.max(0,s.selection.from-2)))),s.setMeta("paste",!0),t.dispatch(s),!0}}})]}});var J5t=p3e;const Q5t="modulepreload",eyt=function(t,e){return new URL(t,e).href},wue={},Mr=function(e,r,n){let i=Promise.resolve();if(r&&r.length>0){let s=function(d){return Promise.all(d.map(h=>Promise.resolve(h).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const o=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),u=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));i=s(r.map(d=>{if(d=eyt(d,n),d in wue)return;wue[d]=!0;const h=d.endsWith(".css"),f=h?'[rel="stylesheet"]':"";if(!!n)for(let m=o.length-1;m>=0;m--){const U=o[m];if(U.href===d&&(!h||U.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${f}`))return;const g=document.createElement("link");if(g.rel=h?"stylesheet":Q5t,h||(g.as="script"),g.crossOrigin="",g.href=d,u&&g.setAttribute("nonce",u),document.head.appendChild(g),h)return new Promise((m,U)=>{g.addEventListener("load",m),g.addEventListener("error",()=>U(new Error(`Unable to preload CSS for ${d}`)))})}))}function a(s){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s}return i.then(s=>{for(const o of s||[])o.status==="rejected"&&a(o.reason);return e().catch(a)})};var g3e=Object.defineProperty,x=(t,e)=>g3e(t,"name",{value:e,configurable:!0}),oD=(t,e)=>{for(var r in e)g3e(t,r,{get:e[r],enumerable:!0})},LA={exports:{}},tyt=LA.exports,Tue;function ryt(){return Tue||(Tue=1,(function(t,e){(function(r,n){t.exports=n()})(tyt,(function(){var r=1e3,n=6e4,i=36e5,a="millisecond",s="second",o="minute",l="hour",u="day",d="week",h="month",f="quarter",p="year",g="date",m="Invalid Date",U=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,b={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(I){var L=["th","st","nd","rd"],_=I%100;return"["+I+(L[(_-20)%10]||L[_]||L[0])+"]"}},v=function(I,L,_){var D=String(I);return!D||D.length>=L?I:""+Array(L+1-D.length).join(_)+I},w={s:v,z:function(I){var L=-I.utcOffset(),_=Math.abs(L),D=Math.floor(_/60),O=_%60;return(L<=0?"+":"-")+v(D,2,"0")+":"+v(O,2,"0")},m:function I(L,_){if(L.date()<_.date())return-I(_,L);var D=12*(_.year()-L.year())+(_.month()-L.month()),O=L.clone().add(D,h),B=_-O<0,F=L.clone().add(D+(B?-1:1),h);return+(-(D+(_-O)/(B?O-F:F-O))||0)},a:function(I){return I<0?Math.ceil(I)||0:Math.floor(I)},p:function(I){return{M:h,y:p,w:d,d:u,D:g,h:l,m:o,s,ms:a,Q:f}[I]||String(I||"").toLowerCase().replace(/s$/,"")},u:function(I){return I===void 0}},T="en",S={};S[T]=b;var C="$isDayjsObject",k=function(I){return I instanceof P||!(!I||!I[C])},E=function I(L,_,D){var O;if(!L)return T;if(typeof L=="string"){var B=L.toLowerCase();S[B]&&(O=B),_&&(S[B]=_,O=B);var F=L.split("-");if(!O&&F.length>1)return I(F[0])}else{var z=L.name;S[z]=L,O=z}return!D&&O&&(T=O),O||!D&&T},A=function(I,L){if(k(I))return I.clone();var _=typeof L=="object"?L:{};return _.date=I,_.args=arguments,new P(_)},M=w;M.l=E,M.i=k,M.w=function(I,L){return A(I,{locale:L.$L,utc:L.$u,x:L.$x,$offset:L.$offset})};var P=(function(){function I(_){this.$L=E(_.locale,null,!0),this.parse(_),this.$x=this.$x||_.x||{},this[C]=!0}var L=I.prototype;return L.parse=function(_){this.$d=(function(D){var O=D.date,B=D.utc;if(O===null)return new Date(NaN);if(M.u(O))return new Date;if(O instanceof Date)return new Date(O);if(typeof O=="string"&&!/Z$/i.test(O)){var F=O.match(U);if(F){var z=F[2]-1||0,$=(F[7]||"0").substring(0,3);return B?new Date(Date.UTC(F[1],z,F[3]||1,F[4]||0,F[5]||0,F[6]||0,$)):new Date(F[1],z,F[3]||1,F[4]||0,F[5]||0,F[6]||0,$)}}return new Date(O)})(_),this.init()},L.init=function(){var _=this.$d;this.$y=_.getFullYear(),this.$M=_.getMonth(),this.$D=_.getDate(),this.$W=_.getDay(),this.$H=_.getHours(),this.$m=_.getMinutes(),this.$s=_.getSeconds(),this.$ms=_.getMilliseconds()},L.$utils=function(){return M},L.isValid=function(){return this.$d.toString()!==m},L.isSame=function(_,D){var O=A(_);return this.startOf(D)<=O&&O<=this.endOf(D)},L.isAfter=function(_,D){return A(_)<this.startOf(D)},L.isBefore=function(_,D){return this.endOf(D)<A(_)},L.$g=function(_,D,O){return M.u(_)?this[D]:this.set(O,_)},L.unix=function(){return Math.floor(this.valueOf()/1e3)},L.valueOf=function(){return this.$d.getTime()},L.startOf=function(_,D){var O=this,B=!!M.u(D)||D,F=M.p(_),z=function(Z,J){var ne=M.w(O.$u?Date.UTC(O.$y,J,Z):new Date(O.$y,J,Z),O);return B?ne:ne.endOf(u)},$=function(Z,J){return M.w(O.toDate()[Z].apply(O.toDate("s"),(B?[0,0,0,0]:[23,59,59,999]).slice(J)),O)},H=this.$W,V=this.$M,G=this.$D,K="set"+(this.$u?"UTC":"");switch(F){case p:return B?z(1,0):z(31,11);case h:return B?z(1,V):z(0,V+1);case d:var W=this.$locale().weekStart||0,oe=(H<W?H+7:H)-W;return z(B?G-oe:G+(6-oe),V);case u:case g:return $(K+"Hours",0);case l:return $(K+"Minutes",1);case o:return $(K+"Seconds",2);case s:return $(K+"Milliseconds",3);default:return this.clone()}},L.endOf=function(_){return this.startOf(_,!1)},L.$set=function(_,D){var O,B=M.p(_),F="set"+(this.$u?"UTC":""),z=(O={},O[u]=F+"Date",O[g]=F+"Date",O[h]=F+"Month",O[p]=F+"FullYear",O[l]=F+"Hours",O[o]=F+"Minutes",O[s]=F+"Seconds",O[a]=F+"Milliseconds",O)[B],$=B===u?this.$D+(D-this.$W):D;if(B===h||B===p){var H=this.clone().set(g,1);H.$d[z]($),H.init(),this.$d=H.set(g,Math.min(this.$D,H.daysInMonth())).$d}else z&&this.$d[z]($);return this.init(),this},L.set=function(_,D){return this.clone().$set(_,D)},L.get=function(_){return this[M.p(_)]()},L.add=function(_,D){var O,B=this;_=Number(_);var F=M.p(D),z=function(V){var G=A(B);return M.w(G.date(G.date()+Math.round(V*_)),B)};if(F===h)return this.set(h,this.$M+_);if(F===p)return this.set(p,this.$y+_);if(F===u)return z(1);if(F===d)return z(7);var $=(O={},O[o]=n,O[l]=i,O[s]=r,O)[F]||1,H=this.$d.getTime()+_*$;return M.w(H,this)},L.subtract=function(_,D){return this.add(-1*_,D)},L.format=function(_){var D=this,O=this.$locale();if(!this.isValid())return O.invalidDate||m;var B=_||"YYYY-MM-DDTHH:mm:ssZ",F=M.z(this),z=this.$H,$=this.$m,H=this.$M,V=O.weekdays,G=O.months,K=O.meridiem,W=function(J,ne,ie,me){return J&&(J[ne]||J(D,B))||ie[ne].slice(0,me)},oe=function(J){return M.s(z%12||12,J,"0")},Z=K||function(J,ne,ie){var me=J<12?"AM":"PM";return ie?me.toLowerCase():me};return B.replace(y,(function(J,ne){return ne||(function(ie){switch(ie){case"YY":return String(D.$y).slice(-2);case"YYYY":return M.s(D.$y,4,"0");case"M":return H+1;case"MM":return M.s(H+1,2,"0");case"MMM":return W(O.monthsShort,H,G,3);case"MMMM":return W(G,H);case"D":return D.$D;case"DD":return M.s(D.$D,2,"0");case"d":return String(D.$W);case"dd":return W(O.weekdaysMin,D.$W,V,2);case"ddd":return W(O.weekdaysShort,D.$W,V,3);case"dddd":return V[D.$W];case"H":return String(z);case"HH":return M.s(z,2,"0");case"h":return oe(1);case"hh":return oe(2);case"a":return Z(z,$,!0);case"A":return Z(z,$,!1);case"m":return String($);case"mm":return M.s($,2,"0");case"s":return String(D.$s);case"ss":return M.s(D.$s,2,"0");case"SSS":return M.s(D.$ms,3,"0");case"Z":return F}return null})(J)||F.replace(":","")}))},L.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},L.diff=function(_,D,O){var B,F=this,z=M.p(D),$=A(_),H=($.utcOffset()-this.utcOffset())*n,V=this-$,G=function(){return M.m(F,$)};switch(z){case p:B=G()/12;break;case h:B=G();break;case f:B=G()/3;break;case d:B=(V-H)/6048e5;break;case u:B=(V-H)/864e5;break;case l:B=V/i;break;case o:B=V/n;break;case s:B=V/r;break;default:B=V}return O?B:M.a(B)},L.daysInMonth=function(){return this.endOf(h).$D},L.$locale=function(){return S[this.$L]},L.locale=function(_,D){if(!_)return this.$L;var O=this.clone(),B=E(_,D,!0);return B&&(O.$L=B),O},L.clone=function(){return M.w(this.$d,this)},L.toDate=function(){return new Date(this.valueOf())},L.toJSON=function(){return this.isValid()?this.toISOString():null},L.toISOString=function(){return this.$d.toISOString()},L.toString=function(){return this.$d.toUTCString()},I})(),N=P.prototype;return A.prototype=N,[["$ms",a],["$s",s],["$m",o],["$H",l],["$W",u],["$M",h],["$y",p],["$D",g]].forEach((function(I){N[I[1]]=function(L){return this.$g(L,I[0],I[1])}})),A.extend=function(I,L){return I.$i||(I(L,P,A),I.$i=!0),A},A.locale=E,A.isDayjs=k,A.unix=function(I){return A(1e3*I)},A.en=S[T],A.Ls=S,A.p={},A}))})(LA)),LA.exports}var nyt=ryt();const Qs=T1(nyt);var kf={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},he={trace:x((...t)=>{},"trace"),debug:x((...t)=>{},"debug"),info:x((...t)=>{},"info"),warn:x((...t)=>{},"warn"),error:x((...t)=>{},"error"),fatal:x((...t)=>{},"fatal")},zJ=x(function(t="fatal"){let e=kf.fatal;typeof t=="string"?t.toLowerCase()in kf&&(e=kf[t]):typeof t=="number"&&(e=t),he.trace=()=>{},he.debug=()=>{},he.info=()=>{},he.warn=()=>{},he.error=()=>{},he.fatal=()=>{},e<=kf.fatal&&(he.fatal=console.error?console.error.bind(console,mu("FATAL"),"color: orange"):console.log.bind(console,"\x1B[35m",mu("FATAL"))),e<=kf.error&&(he.error=console.error?console.error.bind(console,mu("ERROR"),"color: orange"):console.log.bind(console,"\x1B[31m",mu("ERROR"))),e<=kf.warn&&(he.warn=console.warn?console.warn.bind(console,mu("WARN"),"color: orange"):console.log.bind(console,"\x1B[33m",mu("WARN"))),e<=kf.info&&(he.info=console.info?console.info.bind(console,mu("INFO"),"color: lightblue"):console.log.bind(console,"\x1B[34m",mu("INFO"))),e<=kf.debug&&(he.debug=console.debug?console.debug.bind(console,mu("DEBUG"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",mu("DEBUG"))),e<=kf.trace&&(he.trace=console.debug?console.debug.bind(console,mu("TRACE"),"color: lightgreen"):console.log.bind(console,"\x1B[32m",mu("TRACE")))},"setLogLevel"),mu=x(t=>`%c${Qs().format("ss.SSS")} : ${t} : `,"format");const NA={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,r)=>(r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+(e-t)*6*r:r<1/2?e:r<2/3?t+(e-t)*(2/3-r)*6:t),hsl2rgb:({h:t,s:e,l:r},n)=>{if(!e)return r*2.55;t/=360,e/=100,r/=100;const i=r<.5?r*(1+e):r+e-r*e,a=2*r-i;switch(n){case"r":return NA.hue2rgb(a,i,t+1/3)*255;case"g":return NA.hue2rgb(a,i,t)*255;case"b":return NA.hue2rgb(a,i,t-1/3)*255}},rgb2hsl:({r:t,g:e,b:r},n)=>{t/=255,e/=255,r/=255;const i=Math.max(t,e,r),a=Math.min(t,e,r),s=(i+a)/2;if(n==="l")return s*100;if(i===a)return 0;const o=i-a,l=s>.5?o/(2-i-a):o/(i+a);if(n==="s")return l*100;switch(i){case t:return((e-r)/o+(e<r?6:0))*60;case e:return((r-t)/o+2)*60;case r:return((t-e)/o+4)*60;default:return-1}}},iyt={clamp:(t,e,r)=>e>r?Math.min(e,Math.max(r,t)):Math.min(r,Math.max(e,t)),round:t=>Math.round(t*1e10)/1e10},ayt={dec2hex:t=>{const e=Math.round(t).toString(16);return e.length>1?e:`0${e}`}},ln={channel:NA,lang:iyt,unit:ayt},Vp={};for(let t=0;t<=255;t++)Vp[t]=ln.unit.dec2hex(t);const Vo={ALL:0,RGB:1,HSL:2};let syt=class{constructor(){this.type=Vo.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=Vo.ALL}is(e){return this.type===e}};class oyt{constructor(e,r){this.color=r,this.changed=!1,this.data=e,this.type=new syt}set(e,r){return this.color=r,this.changed=!1,this.data=e,this.type.type=Vo.ALL,this}_ensureHSL(){const e=this.data,{h:r,s:n,l:i}=e;r===void 0&&(e.h=ln.channel.rgb2hsl(e,"h")),n===void 0&&(e.s=ln.channel.rgb2hsl(e,"s")),i===void 0&&(e.l=ln.channel.rgb2hsl(e,"l"))}_ensureRGB(){const e=this.data,{r,g:n,b:i}=e;r===void 0&&(e.r=ln.channel.hsl2rgb(e,"r")),n===void 0&&(e.g=ln.channel.hsl2rgb(e,"g")),i===void 0&&(e.b=ln.channel.hsl2rgb(e,"b"))}get r(){const e=this.data,r=e.r;return!this.type.is(Vo.HSL)&&r!==void 0?r:(this._ensureHSL(),ln.channel.hsl2rgb(e,"r"))}get g(){const e=this.data,r=e.g;return!this.type.is(Vo.HSL)&&r!==void 0?r:(this._ensureHSL(),ln.channel.hsl2rgb(e,"g"))}get b(){const e=this.data,r=e.b;return!this.type.is(Vo.HSL)&&r!==void 0?r:(this._ensureHSL(),ln.channel.hsl2rgb(e,"b"))}get h(){const e=this.data,r=e.h;return!this.type.is(Vo.RGB)&&r!==void 0?r:(this._ensureRGB(),ln.channel.rgb2hsl(e,"h"))}get s(){const e=this.data,r=e.s;return!this.type.is(Vo.RGB)&&r!==void 0?r:(this._ensureRGB(),ln.channel.rgb2hsl(e,"s"))}get l(){const e=this.data,r=e.l;return!this.type.is(Vo.RGB)&&r!==void 0?r:(this._ensureRGB(),ln.channel.rgb2hsl(e,"l"))}get a(){return this.data.a}set r(e){this.type.set(Vo.RGB),this.changed=!0,this.data.r=e}set g(e){this.type.set(Vo.RGB),this.changed=!0,this.data.g=e}set b(e){this.type.set(Vo.RGB),this.changed=!0,this.data.b=e}set h(e){this.type.set(Vo.HSL),this.changed=!0,this.data.h=e}set s(e){this.type.set(Vo.HSL),this.changed=!0,this.data.s=e}set l(e){this.type.set(Vo.HSL),this.changed=!0,this.data.l=e}set a(e){this.changed=!0,this.data.a=e}}const lD=new oyt({r:0,g:0,b:0,a:0},"transparent"),cb={re:/^#((?:[a-f0-9]{2}){2,4}|[a-f0-9]{3})$/i,parse:t=>{if(t.charCodeAt(0)!==35)return;const e=t.match(cb.re);if(!e)return;const r=e[1],n=parseInt(r,16),i=r.length,a=i%4===0,s=i>4,o=s?1:17,l=s?8:4,u=a?0:-1,d=s?255:15;return lD.set({r:(n>>l*(u+3)&d)*o,g:(n>>l*(u+2)&d)*o,b:(n>>l*(u+1)&d)*o,a:a?(n&d)*o/255:1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`#${Vp[Math.round(e)]}${Vp[Math.round(r)]}${Vp[Math.round(n)]}${Vp[Math.round(i*255)]}`:`#${Vp[Math.round(e)]}${Vp[Math.round(r)]}${Vp[Math.round(n)]}`}},lU={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(lU.hueRe);if(e){const[,r,n]=e;switch(n){case"grad":return ln.channel.clamp.h(parseFloat(r)*.9);case"rad":return ln.channel.clamp.h(parseFloat(r)*180/Math.PI);case"turn":return ln.channel.clamp.h(parseFloat(r)*360)}}return ln.channel.clamp.h(parseFloat(t))},parse:t=>{const e=t.charCodeAt(0);if(e!==104&&e!==72)return;const r=t.match(lU.re);if(!r)return;const[,n,i,a,s,o]=r;return lD.set({h:lU._hue2deg(n),s:ln.channel.clamp.s(parseFloat(i)),l:ln.channel.clamp.l(parseFloat(a)),a:s?ln.channel.clamp.a(o?parseFloat(s)/100:parseFloat(s)):1},t)},stringify:t=>{const{h:e,s:r,l:n,a:i}=t;return i<1?`hsla(${ln.lang.round(e)}, ${ln.lang.round(r)}%, ${ln.lang.round(n)}%, ${i})`:`hsl(${ln.lang.round(e)}, ${ln.lang.round(r)}%, ${ln.lang.round(n)}%)`}},Fx={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=Fx.colors[t];if(e)return cb.parse(e)},stringify:t=>{const e=cb.stringify(t);for(const r in Fx.colors)if(Fx.colors[r]===e)return r}},N9={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 r=t.match(N9.re);if(!r)return;const[,n,i,a,s,o,l,u,d]=r;return lD.set({r:ln.channel.clamp.r(i?parseFloat(n)*2.55:parseFloat(n)),g:ln.channel.clamp.g(s?parseFloat(a)*2.55:parseFloat(a)),b:ln.channel.clamp.b(l?parseFloat(o)*2.55:parseFloat(o)),a:u?ln.channel.clamp.a(d?parseFloat(u)/100:parseFloat(u)):1},t)},stringify:t=>{const{r:e,g:r,b:n,a:i}=t;return i<1?`rgba(${ln.lang.round(e)}, ${ln.lang.round(r)}, ${ln.lang.round(n)}, ${ln.lang.round(i)})`:`rgb(${ln.lang.round(e)}, ${ln.lang.round(r)}, ${ln.lang.round(n)})`}},Hd={format:{keyword:Fx,hex:cb,rgb:N9,rgba:N9,hsl:lU,hsla:lU},parse:t=>{if(typeof t!="string")return t;const e=cb.parse(t)||N9.parse(t)||lU.parse(t)||Fx.parse(t);if(e)return e;throw new Error(`Unsupported color format: "${t}"`)},stringify:t=>!t.changed&&t.color?t.color:t.type.is(Vo.HSL)||t.data.r===void 0?lU.stringify(t):t.a<1||!Number.isInteger(t.r)||!Number.isInteger(t.g)||!Number.isInteger(t.b)?N9.stringify(t):cb.stringify(t)},m3e=(t,e)=>{const r=Hd.parse(t);for(const n in e)r[n]=ln.channel.clamp[n](e[n]);return Hd.stringify(r)},Ad=(t,e,r=0,n=1)=>{if(typeof t!="number")return m3e(t,{a:e});const i=lD.set({r:ln.channel.clamp.r(t),g:ln.channel.clamp.g(e),b:ln.channel.clamp.b(r),a:ln.channel.clamp.a(n)});return Hd.stringify(i)},HJ=(t,e)=>ln.lang.round(Hd.parse(t)[e]),lyt=t=>{const{r:e,g:r,b:n}=Hd.parse(t),i=.2126*ln.channel.toLinear(e)+.7152*ln.channel.toLinear(r)+.0722*ln.channel.toLinear(n);return ln.lang.round(i)},cyt=t=>lyt(t)>=.5,Kl=t=>!cyt(t),VJ=(t,e,r)=>{const n=Hd.parse(t),i=n[e],a=ln.channel.clamp[e](i+r);return i!==a&&(n[e]=a),Hd.stringify(n)},lt=(t,e)=>VJ(t,"l",e),ct=(t,e)=>VJ(t,"l",-e),Cue=(t,e)=>VJ(t,"a",-e),Ue=(t,e)=>{const r=Hd.parse(t),n={};for(const i in e)e[i]&&(n[i]=r[i]+e[i]);return m3e(t,n)},uyt=(t,e,r=50)=>{const{r:n,g:i,b:a,a:s}=Hd.parse(t),{r:o,g:l,b:u,a:d}=Hd.parse(e),h=r/100,f=h*2-1,p=s-d,m=((f*p===-1?f:(f+p)/(1+f*p))+1)/2,U=1-m,y=n*m+o*U,b=i*m+l*U,v=a*m+u*U,w=s*h+d*(1-h);return Ad(y,b,v,w)},rt=(t,e=100)=>{const r=Hd.parse(t);return r.r=255-r.r,r.g=255-r.g,r.b=255-r.b,uyt(r,t,e)};/*! @license DOMPurify 3.4.16 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.16/LICENSE */function Sue(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function dyt(t){if(Array.isArray(t))return t}function hyt(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e!==0)for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(d){u=!0,i=d}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function fyt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */function pyt(t,e){return dyt(t)||hyt(t,e)||gyt(t,e)||fyt()}function gyt(t,e){if(t){if(typeof t=="string")return Sue(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Sue(t,e):void 0}}const U3e=Object.entries,kue=Object.setPrototypeOf,myt=Object.isFrozen,Uyt=Object.getPrototypeOf,yyt=Object.getOwnPropertyDescriptor;let Ns=Object.freeze,so=Object.seal,e2=Object.create,y3e=typeof Reflect<"u"&&Reflect,IG=y3e.apply,LG=y3e.construct;Ns||(Ns=function(e){return e});so||(so=function(e){return e});IG||(IG=function(e,r){for(var n=arguments.length,i=new Array(n>2?n-2:0),a=2;a<n;a++)i[a-2]=arguments[a];return e.apply(r,i)});LG||(LG=function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return new e(...n)});const ym=Us(Array.prototype.forEach),byt=Us(Array.prototype.lastIndexOf),Eue=Us(Array.prototype.pop),D3=Us(Array.prototype.push),vyt=Us(Array.prototype.splice),ub=Array.isArray,O9=Us(String.prototype.toLowerCase),m$=Us(String.prototype.toString),Aue=Us(String.prototype.match),P3=Us(String.prototype.replace),Mue=Us(String.prototype.indexOf),xyt=Us(String.prototype.trim),wyt=Us(Number.prototype.toString),Tyt=Us(Boolean.prototype.toString),Rue=typeof BigInt>"u"?null:Us(BigInt.prototype.toString),Iue=typeof Symbol>"u"?null:Us(Symbol.prototype.toString),uc=Us(Object.prototype.hasOwnProperty),_3=Us(Object.prototype.toString),Ho=Us(RegExp.prototype.test),Ap=Cyt(TypeError);function Us(t){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];return IG(t,e,n)}}function Cyt(t){return function(){for(var e=arguments.length,r=new Array(e),n=0;n<e;n++)r[n]=arguments[n];return LG(t,r)}}function Xn(t,e){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:O9;if(kue&&kue(t,null),!ub(e))return t;let n=e.length;for(;n--;){let i=e[n];if(typeof i=="string"){const a=r(i);a!==i&&(myt(e)||(e[n]=a),i=a)}t[i]=!0}return t}function Syt(t){for(let e=0;e<t.length;e++)uc(t,e)||(t[e]=null);return t}function Bc(t){const e=e2(null);for(const n of U3e(t)){var r=pyt(n,2);const i=r[0],a=r[1];uc(t,i)&&(ub(a)?e[i]=Syt(a):a&&typeof a=="object"&&a.constructor===Object?e[i]=Bc(a):e[i]=a)}return e}function kyt(t){switch(typeof t){case"string":return t;case"number":return wyt(t);case"boolean":return Tyt(t);case"bigint":return Rue?Rue(t):"0";case"symbol":return Iue?Iue(t):"Symbol()";case"undefined":return _3(t);case"function":case"object":{if(t===null)return _3(t);const e=t,r=xu(e,"toString");if(typeof r=="function"){const n=r(e);return typeof n=="string"?n:_3(n)}return _3(t)}default:return _3(t)}}function xu(t,e){for(;t!==null;){const n=yyt(t,e);if(n){if(n.get)return Us(n.get);if(typeof n.value=="function")return Us(n.value)}t=Uyt(t)}function r(){return null}return r}function Eyt(t){try{return Ho(t,""),!0}catch{return!1}}const Lue=Ns(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),U$=Ns(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),y$=Ns(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Ayt=Ns(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),b$=Ns(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Myt=Ns(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Nue=Ns(["#text"]),Oue=Ns(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),v$=Ns(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Due=Ns(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Rk=Ns(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Ryt=so(/{{[\w\W]*|^[\w\W]*}}/g),Iyt=so(/<%[\w\W]*|^[\w\W]*%>/g),Lyt=so(/\${[\w\W]*/g),Nyt=so(/^data-[\-\w.\u00B7-\uFFFF]+$/),Oyt=so(/^aria-[\-\w]+$/),Pue=so(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Dyt=so(/^(?:\w+script|data):/i),Pyt=so(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),_yt=so(/^html$/i),Byt=so(/^[a-z][.\w]*(-[.\w]+)+$/i),_ue=so(/<[/\w!]/g),Bue=so(/<[/\w]/g),$yt=so(/<\/no(script|embed|frames)/i),Fyt=so(/\/>/i),Oc={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},b3e=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],zyt=Ns(Xn({},b3e)),Hyt=(function(){const t={};return ym(b3e,e=>{t[e]=so(new RegExp("</"+e+"(?=[\\t\\n\\f\\r />])","i"))}),Ns(t)})(),Vyt=function(){return typeof window>"u"?null:window},Gyt=function(e,r){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let n=null;const i="data-tt-policy-suffix";r&&r.hasAttribute(i)&&(n=r.getAttribute(i));const a="dompurify"+(n?"#"+n:"");try{return e.createPolicy(a,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+a+" could not be created."),null}},$ue=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Mp=function(e,r,n,i){return uc(e,r)&&ub(e[r])?Xn(i.base?Bc(i.base):{},e[r],i.transform):n},x$=function(e,r,n){const i=uc(e,r)?e[r]:void 0;return i&&typeof i=="object"?Bc(i):n()};function v3e(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Vyt();const e=_t=>v3e(_t);if(e.version="3.4.16",e.removed=[],!t||!t.document||t.document.nodeType!==Oc.document||!t.Element)return e.isSupported=!1,e;let r=t.document;const n=r,i=n.currentScript;t.DocumentFragment;const a=t.HTMLTemplateElement,s=t.Node,o=t.Element,l=t.NodeFilter;t.NamedNodeMap===void 0&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const u=t.DOMParser,d=t.trustedTypes,h=o.prototype,f=xu(h,"cloneNode"),p=xu(h,"remove"),g=xu(h,"removeAttributeNode"),m=xu(h,"nextSibling"),U=xu(h,"childNodes"),y=xu(h,"parentNode"),b=xu(h,"shadowRoot"),v=xu(h,"attributes"),w=s&&s.prototype?xu(s.prototype,"nodeType"):null,T=s&&s.prototype?xu(s.prototype,"nodeName"):null,S=s&&s.prototype?xu(s.prototype,"ownerDocument"):null,C=function(De){return w?w(De):De.nodeType},k=function(De){return T?T(De):De.nodeName};if(typeof a=="function"){const _t=r.createElement("template");_t.content&&_t.content.ownerDocument&&(r=_t.content.ownerDocument)}let E,A="",M,P=!1,N=0;const I=function(){if(N>0)throw Ap('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},L=function(De){I(),N++;try{return E.createHTML(De)}finally{N--}},_=function(De){I(),N++;try{return E.createScriptURL(De)}finally{N--}},D=function(){return P||(M=Gyt(d,i),P=!0),M},O=r,B=O.implementation,F=O.createNodeIterator,z=O.createDocumentFragment,$=O.getElementsByTagName,H=n.importNode;let V=$ue();e.isSupported=typeof U3e=="function"&&typeof y=="function"&&B&&B.createHTMLDocument!==void 0;const G=Ryt,K=Iyt,W=Lyt,oe=Nyt,Z=Oyt,J=Dyt,ne=Pyt,ie=Byt;let me=Pue,te=null;const Re=Xn({},[...Lue,...U$,...y$,...b$,...Nue]);let _e=null;const He=Xn({},[...Oue,...v$,...Due,...Rk]);let ce=Object.seal(e2(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}})),de=null,we=null;const ge=Object.seal(e2(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let ze=!0,xe=!0,Ee=!1,qe=!0,le=!1,pe=!0,Te=!1,re=!1,Y=null,Q=null,ue=!1,X=!1,fe=!1,ee=!1,Ae=!0,Me=!1;const Ke="user-content-";let Ne=!0,je=!1,Oe={},Ze=null;const Fe=Xn({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]);let at=null;const Pe=Xn({},["audio","video","img","source","image","track"]);let gt=null;const Ie=Xn({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),St="http://www.w3.org/1998/Math/MathML",Et="http://www.w3.org/2000/svg",ot="http://www.w3.org/1999/xhtml";let Ht=ot,It=!1,ht=null;const ve=Xn({},[St,Et,ot],m$),Lt=Ns(["mi","mo","mn","ms","mtext"]);let xt=Xn({},Lt);const mt=Ns(["annotation-xml"]);let Mt=Xn({},mt);const Dr=Xn({},["title","style","font","a","script"]);let ke=null;const it=["application/xhtml+xml","text/html"],pt="text/html";let bt=null,ir=null;const Br=r.createElement("form"),Sr=function(De){return De instanceof RegExp||De instanceof Function},jr=function(){let De=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ir&&ir===De)return;(!De||typeof De!="object")&&(De={}),De=Bc(De),ke=it.indexOf(De.PARSER_MEDIA_TYPE)===-1?pt:De.PARSER_MEDIA_TYPE,bt=ke==="application/xhtml+xml"?m$:O9,te=Mp(De,"ALLOWED_TAGS",Re,{transform:bt}),_e=Mp(De,"ALLOWED_ATTR",He,{transform:bt}),ht=Mp(De,"ALLOWED_NAMESPACES",ve,{transform:m$}),gt=Mp(De,"ADD_URI_SAFE_ATTR",Ie,{transform:bt,base:Ie}),at=Mp(De,"ADD_DATA_URI_TAGS",Pe,{transform:bt,base:Pe}),Ze=Mp(De,"FORBID_CONTENTS",Fe,{transform:bt}),de=Mp(De,"FORBID_TAGS",Bc({}),{transform:bt}),we=Mp(De,"FORBID_ATTR",Bc({}),{transform:bt}),Oe=uc(De,"USE_PROFILES")?De.USE_PROFILES&&typeof De.USE_PROFILES=="object"?Bc(De.USE_PROFILES):De.USE_PROFILES:!1,ze=De.ALLOW_ARIA_ATTR!==!1,xe=De.ALLOW_DATA_ATTR!==!1,Ee=De.ALLOW_UNKNOWN_PROTOCOLS||!1,qe=De.ALLOW_SELF_CLOSE_IN_ATTR!==!1,le=De.SAFE_FOR_TEMPLATES||!1,pe=De.SAFE_FOR_XML!==!1,Te=De.WHOLE_DOCUMENT||!1,X=De.RETURN_DOM||!1,fe=De.RETURN_DOM_FRAGMENT||!1,ee=De.RETURN_TRUSTED_TYPE||!1,ue=De.FORCE_BODY||!1,Ae=De.SANITIZE_DOM!==!1,Me=De.SANITIZE_NAMED_PROPS||!1,Ne=De.KEEP_CONTENT!==!1,je=De.IN_PLACE||!1,me=Eyt(De.ALLOWED_URI_REGEXP)?De.ALLOWED_URI_REGEXP:Pue,Ht=typeof De.NAMESPACE=="string"?De.NAMESPACE:ot,xt=x$(De,"MATHML_TEXT_INTEGRATION_POINTS",()=>Xn({},Lt)),Mt=x$(De,"HTML_INTEGRATION_POINTS",()=>Xn({},mt));const nt=x$(De,"CUSTOM_ELEMENT_HANDLING",()=>e2(null));if(ce=e2(null),uc(nt,"tagNameCheck")&&Sr(nt.tagNameCheck)&&(ce.tagNameCheck=nt.tagNameCheck),uc(nt,"attributeNameCheck")&&Sr(nt.attributeNameCheck)&&(ce.attributeNameCheck=nt.attributeNameCheck),uc(nt,"allowCustomizedBuiltInElements")&&typeof nt.allowCustomizedBuiltInElements=="boolean"&&(ce.allowCustomizedBuiltInElements=nt.allowCustomizedBuiltInElements),so(ce),le&&(xe=!1),fe&&(X=!0),Oe&&(te=Xn({},Nue),_e=e2(null),Oe.html===!0&&(Xn(te,Lue),Xn(_e,Oue)),Oe.svg===!0&&(Xn(te,U$),Xn(_e,v$),Xn(_e,Rk)),Oe.svgFilters===!0&&(Xn(te,y$),Xn(_e,v$),Xn(_e,Rk)),Oe.mathMl===!0&&(Xn(te,b$),Xn(_e,Due),Xn(_e,Rk))),ge.tagCheck=null,ge.attributeCheck=null,uc(De,"ADD_TAGS")&&(typeof De.ADD_TAGS=="function"?ge.tagCheck=De.ADD_TAGS:ub(De.ADD_TAGS)&&(te===Re&&(te=Bc(te)),Xn(te,De.ADD_TAGS,bt))),uc(De,"ADD_ATTR")&&(typeof De.ADD_ATTR=="function"?ge.attributeCheck=De.ADD_ATTR:ub(De.ADD_ATTR)&&(_e===He&&(_e=Bc(_e)),Xn(_e,De.ADD_ATTR,bt))),uc(De,"ADD_FORBID_CONTENTS")&&ub(De.ADD_FORBID_CONTENTS)&&(Ze===Fe&&(Ze=Bc(Ze)),Xn(Ze,De.ADD_FORBID_CONTENTS,bt)),Ne&&(te["#text"]=!0),Te&&Xn(te,["html","head","body"]),te.table&&(Xn(te,["tbody"]),delete de.tbody),De.TRUSTED_TYPES_POLICY){if(typeof De.TRUSTED_TYPES_POLICY.createHTML!="function")throw Ap('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof De.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Ap('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const Nt=E;E=De.TRUSTED_TYPES_POLICY;try{A=L("")}catch($t){throw E=Nt,$t}}else De.TRUSTED_TYPES_POLICY===null?(E=void 0,A=""):(E===void 0&&(E=D()),E&&typeof A=="string"&&(A=L("")));Ns&&Ns(De),ir=De},Er=Xn({},[...U$,...y$,...Ayt]),an=Xn({},[...b$,...Myt]),Cr=function(De,nt,Nt){return nt.namespaceURI===ot?De==="svg":nt.namespaceURI===St?De==="svg"&&(Nt==="annotation-xml"||xt[Nt]):!!Er[De]},Yr=function(De,nt,Nt){return nt.namespaceURI===ot?De==="math":nt.namespaceURI===Et?De==="math"&&Mt[Nt]:!!an[De]},Cn=function(De,nt,Nt){return nt.namespaceURI===Et&&!Mt[Nt]||nt.namespaceURI===St&&!xt[Nt]?!1:!an[De]&&(Dr[De]||!Er[De])},ut=function(De){let nt=y(De);(!nt||!nt.tagName)&&(nt={namespaceURI:Ht,tagName:"template"});const Nt=O9(De.tagName),$t=O9(nt.tagName);return ht[De.namespaceURI]?De.namespaceURI===Et?Cr(Nt,nt,$t):De.namespaceURI===St?Yr(Nt,nt,$t):De.namespaceURI===ot?Cn(Nt,nt,$t):!!(ke==="application/xhtml+xml"&&ht[De.namespaceURI]):!1},Ut=function(De){D3(e.removed,{element:De});try{y(De).removeChild(De)}catch{if(p(De),!y(De))throw Ap("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Zt=function(De,nt,Nt){try{g(De,nt)}catch{try{De.removeAttribute(Nt)}catch{}}},$r=function(De){yt(De);const nt=U(De);if(nt){const $t=[];ym(nt,Pr=>{D3($t,Pr)}),ym($t,Pr=>{try{p(Pr)}catch{}})}const Nt=v(De);if(Nt)for(let $t=Nt.length-1;$t>=0;--$t){const Pr=Nt[$t],Dn=Pr&&Pr.name;typeof Dn=="string"&&Zt(De,Pr,Dn)}},un=function(De,nt,Nt){if(!Nt)try{Nt=nt.getAttributeNode(De)}catch{Nt=null}D3(e.removed,{attribute:Nt||null,from:nt});try{Nt?g(nt,Nt):nt.removeAttribute(De)}catch{try{nt.removeAttribute(De)}catch{}}if(De==="is")if(X||fe)try{Ut(nt)}catch{}else try{nt.setAttribute(De,"")}catch{}},Tt=function(De){const nt=v(De);if(nt)for(let Nt=nt.length-1;Nt>=0;--Nt){const $t=nt[Nt],Pr=$t&&$t.name;typeof Pr!="string"||_e[bt(Pr)]||Zt(De,$t,Pr)}},yt=function(De){const nt=[De];for(;nt.length>0;){const Nt=nt.pop();C(Nt)===Oc.element&&Tt(Nt);const $t=U(Nt);if($t)for(let Pr=$t.length-1;Pr>=0;--Pr)nt.push($t[Pr])}},Pt=function(De,nt){return pe?De==="patchsrc"?!0:De==="for"&&nt!=="label"&&nt!=="output":!1},ft=function(De){if(!pe)return;const nt=[De];for(;nt.length>0;){const Nt=nt.pop(),$t=C(Nt);if($t===Oc.processingInstruction||$t===Oc.comment&&Ho(Bue,Nt.data)){try{p(Nt)}catch{}continue}if($t===Oc.element){const Dn=Nt,Gn=bt(k(Nt));try{Dn.hasAttribute&&Dn.hasAttribute("patchsrc")&&Dn.removeAttribute("patchsrc"),Dn.hasAttribute&&Dn.hasAttribute("for")&&Pt("for",Gn)&&Dn.removeAttribute("for")}catch{}}const Pr=U(Nt);if(Pr)for(let Dn=Pr.length-1;Dn>=0;--Dn)nt.push(Pr[Dn])}},or=function(De){let nt=null,Nt=null;if(ue)De="<remove></remove>"+De;else{const Dn=Aue(De,/^[\r\n\t ]+/);Nt=Dn&&Dn[0]}ke==="application/xhtml+xml"&&Ht===ot&&(De='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+De+"</body></html>");const $t=E?L(De):De;if(Ht===ot)try{nt=new u().parseFromString($t,ke)}catch{}if(!nt||!nt.documentElement){nt=B.createDocument(Ht,"template",null);try{nt.documentElement.innerHTML=It?A:$t}catch{}}const Pr=nt.body||nt.documentElement;return De&&Nt&&Pr.insertBefore(r.createTextNode(Nt),Pr.childNodes[0]||null),Ht===ot?$.call(nt,Te?"html":"body")[0]:Te?nt.documentElement:Pr},Le=function(De){const nt=S?S(De):De.ownerDocument;return F.call(nt||De,De,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ui=function(De){return De=P3(De,G," "),De=P3(De,K," "),De=P3(De,W," "),De},Be=function(De){var nt;De.normalize();const Nt=S?S(De):De.ownerDocument,$t=F.call(Nt||De,De,l.SHOW_TEXT|l.SHOW_COMMENT|l.SHOW_CDATA_SECTION|l.SHOW_PROCESSING_INSTRUCTION,null);let Pr=$t.nextNode();for(;Pr;)Pr.data=ui(Pr.data),Pr=$t.nextNode();const Dn=(nt=De.querySelectorAll)===null||nt===void 0?void 0:nt.call(De,"template");Dn&&ym(Dn,Gn=>{Mn(Gn.content)&&Be(Gn.content)})},dn=function(De){const nt=T?T(De):null;return typeof nt!="string"||bt(nt)!=="form"?!1:typeof De.nodeName!="string"||typeof De.textContent!="string"||typeof De.removeChild!="function"||De.attributes!==v(De)||typeof De.removeAttribute!="function"||typeof De.removeAttributeNode!="function"||typeof De.getAttributeNode!="function"||typeof De.setAttribute!="function"||typeof De.namespaceURI!="string"||typeof De.insertBefore!="function"||typeof De.hasChildNodes!="function"||De.nodeType!==w(De)||De.childNodes!==U(De)},Mn=function(De){if(!w||typeof De!="object"||De===null)return!1;try{return w(De)===Oc.documentFragment}catch{return!1}},Ua=function(De){if(!w||typeof De!="object"||De===null)return!1;try{return typeof w(De)=="number"}catch{return!1}};function bn(_t,De,nt){_t.length!==0&&ym(_t,Nt=>{Nt.call(e,De,nt,ir)})}const wi=function(De,nt){return!!(pe&&De.hasChildNodes()&&!Ua(De.firstElementChild)&&Ho(_ue,De.textContent)&&Ho(_ue,De.innerHTML)||pe&&De.namespaceURI===ot&&zyt[nt]&&(Ua(De.firstElementChild)||typeof De.textContent=="string"&&Ho(Hyt[nt],De.textContent))||De.nodeType===Oc.processingInstruction||pe&&De.nodeType===Oc.comment&&Ho(Bue,De.data))},Rn=function(De,nt){if(De instanceof RegExp)return Ho(De,nt);if(De instanceof Function){for(var Nt=arguments.length,$t=new Array(Nt>2?Nt-2:0),Pr=2;Pr<Nt;Pr++)$t[Pr-2]=arguments[Pr];return!!De(nt,...$t)}return!1},Fo=function(De,nt,Nt){if(!de[nt]&&vs(nt)&&Rn(ce.tagNameCheck,nt))return!1;if(Ne&&!Ze[nt]){const $t=y(De),Pr=U(De);if(Pr&&$t){const Dn=Pr.length;for(let Gn=Dn-1;Gn>=0;--Gn){const Ra=De===Nt?f(Pr[Gn],!0):Pr[Gn];$t.insertBefore(Ra,m(De))}}}return Ut(De),!0},ed=function(De,nt,Nt,$t){return De.length===0?nt:nt===Nt||nt===$t?Bc(nt):nt},ic=function(De,nt){return De===nt||y(De)!==null?!1:(je&&yt(De),!0)},G1=function(De,nt){if(bn(V.beforeSanitizeElements,De,null),ic(De,nt))return!0;if(dn(De))return Ut(De),!0;const Nt=bt(k(De));if(te=ed(V.uponSanitizeElement,te,Re,Y),bn(V.uponSanitizeElement,De,{tagName:Nt,allowedTags:te}),ic(De,nt))return!0;if(wi(De,Nt))return Ut(De),!0;if(de[Nt]||!(ge.tagCheck instanceof Function&&ge.tagCheck(Nt))&&!te[Nt]){const $t=Fo(De,Nt,nt);return $t===!1&&(bn(V.afterSanitizeElements,De,null),ic(De,nt))?!0:$t}if(C(De)===Oc.element&&!ut(De)||(Nt==="noscript"||Nt==="noembed"||Nt==="noframes")&&Ho($yt,De.innerHTML))return Ut(De),!0;if(le&&De.nodeType===Oc.text){const $t=ui(De.textContent);De.textContent!==$t&&(D3(e.removed,{element:De.cloneNode()}),De.textContent=$t)}return bn(V.afterSanitizeElements,De,null),ic(De,nt)},W1=function(De,nt,Nt){if(we[nt]||Pt(nt,De)||Ae&&(nt==="id"||nt==="name")&&(Nt in r||Nt in Br))return!1;const $t=_e[nt]||ge.attributeCheck instanceof Function&&ge.attributeCheck(nt,De);return xe&&Ho(oe,nt)||ze&&Ho(Z,nt)?!0:$t?gt[nt]||Ho(me,P3(Nt,ne,""))||(nt==="src"||nt==="xlink:href"||nt==="href")&&De!=="script"&&Mue(Nt,"data:")===0&&at[De]||Ee&&!Ho(J,P3(Nt,ne,""))?!0:!Nt:vs(De)&&Rn(ce.tagNameCheck,De)&&Rn(ce.attributeNameCheck,nt,De)||nt==="is"&&ce.allowCustomizedBuiltInElements&&Rn(ce.tagNameCheck,Nt)},q1=Xn({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),vs=function(De){return!q1[O9(De)]&&Ho(ie,De)},ac=function(De,nt,Nt,$t){if(E&&typeof d=="object"&&typeof d.getAttributeType=="function"&&!Nt)switch(d.getAttributeType(De,nt)){case"TrustedHTML":return L($t);case"TrustedScriptURL":return _($t)}return $t},go=function(De,nt,Nt,$t){try{return Nt?De.setAttributeNS(Nt,nt,$t):De.setAttribute(nt,$t),dn(De)?(Ut(De),!1):!0}catch{return un(nt,De),!1}},ns=function(De,nt){if(bn(V.beforeSanitizeAttributes,De,null),ic(De,nt))return;const Nt=De.attributes;if(!Nt||dn(De))return;_e=ed(V.uponSanitizeAttribute,_e,He,Q);const $t={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:_e,forceKeepAttr:void 0};let Pr=Nt.length;const Dn=bt(De.nodeName);for(;Pr--;){const Gn=Nt[Pr],Ra=Gn.name,pu=Gn.namespaceURI,Nc=Gn.value,oy=bt(Ra),kB=Nc;let dl=Ra==="value"?kB:xyt(kB),Fse=!1;if($t.attrName=oy,$t.attrValue=dl,$t.keepAttr=!0,$t.forceKeepAttr=void 0,bn(V.uponSanitizeAttribute,De,$t),dl=$t.attrValue,Me&&(oy==="id"||oy==="name")&&Mue(dl,Ke)!==0&&(un(Ra,De,Gn),dl=Ke+dl,Fse=!0),pe&&Ho(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,dl)){un(Ra,De,Gn);continue}if(oy==="attributename"&&Aue(dl,"href")){un(Ra,De,Gn);continue}if(!$t.forceKeepAttr){if(!$t.keepAttr){un(Ra,De,Gn);continue}if(!qe&&Ho(Fyt,dl)){un(Ra,De,Gn);continue}if(le&&(dl=ui(dl)),!W1(Dn,oy,dl)){un(Ra,De,Gn);continue}dl=ac(Dn,oy,pu,dl),dl!==kB&&go(De,Ra,pu,dl)&&Fse&&Eue(e.removed)}}bn(V.afterSanitizeAttributes,De,null),ic(De,nt)},Lc=function(De){let nt=null;const Nt=Le(De);for(bn(V.beforeSanitizeShadowDOM,De,null);nt=Nt.nextNode();)if(bn(V.uponSanitizeShadowNode,nt,null),G1(nt,De),ns(nt,De),Mn(nt.content)&&Lc(nt.content),C(nt)===Oc.element){const $t=b(nt);Mn($t)&&(Cp($t),Lc($t))}bn(V.afterSanitizeShadowDOM,De,null)},Cp=function(De){const nt=[{node:De,shadow:null}];for(;nt.length>0;){const Nt=nt.pop();if(Nt.shadow){Lc(Nt.shadow);continue}const $t=Nt.node,Pr=C($t)===Oc.element,Dn=U($t);if(Dn)for(let Gn=Dn.length-1;Gn>=0;--Gn)nt.push({node:Dn[Gn],shadow:null});if(Pr){const Gn=T?T($t):null;if(typeof Gn=="string"&&bt(Gn)==="template"){const Ra=$t.content;Mn(Ra)&&nt.push({node:Ra,shadow:null})}}if(Pr){const Gn=b($t);Mn(Gn)&&nt.push({node:null,shadow:Gn},{node:Gn,shadow:null})}}};return e.sanitize=function(_t){let De=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},nt=null,Nt=null,$t=null,Pr=null;if(It=!_t,It&&(_t="\x3C!-->"),typeof _t!="string"&&!Ua(_t)&&(_t=kyt(_t),typeof _t!="string"))throw Ap("dirty is not a string, aborting");if(!e.isSupported)return _t;re?(te=Y,_e=Q):jr(De),(V.uponSanitizeElement.length>0||V.uponSanitizeAttribute.length>0)&&(te=Bc(te)),V.uponSanitizeAttribute.length>0&&(_e=Bc(_e)),e.removed=[];const Dn=je&&typeof _t!="string"&&Ua(_t);if(Dn){ft(_t);const pu=k(_t);if(typeof pu=="string"){const Nc=bt(pu);if(!te[Nc]||de[Nc])throw $r(_t),Ap("root node is forbidden and cannot be sanitized in-place")}if(dn(_t))throw $r(_t),Ap("root node is clobbered and cannot be sanitized in-place");try{Cp(_t)}catch(Nc){throw $r(_t),Nc}}else if(Ua(_t))nt=or("\x3C!---->"),Nt=nt.ownerDocument.importNode(_t,!0),Nt.nodeType===Oc.element&&Nt.nodeName==="BODY"||Nt.nodeName==="HTML"?nt=Nt:nt.appendChild(Nt),Cp(nt);else{if(!X&&!le&&!Te&&_t.indexOf("<")===-1)return E&&ee?L(_t):_t;if(nt=or(_t),!nt)return X?null:ee?A:""}nt&&ue&&Ut(nt.firstChild);const Gn=Dn?_t:nt;try{const pu=Le(Gn);for(;$t=pu.nextNode();)G1($t,Gn),ns($t,Gn),Mn($t.content)&&Lc($t.content)}catch(pu){throw Dn&&($r(_t),ym(e.removed,Nc=>{Nc.element&&yt(Nc.element)})),pu}if(Dn){let pu=!1;if(ym(e.removed,Nc=>{Nc.element&&(Nc.element===_t&&(pu=!0),yt(Nc.element))}),pu)throw Ap("a node selected for removal could not be safely returned; refusing to sanitize in place");return le&&Be(_t),_t}if(X){if(le&&Be(nt),fe)for(Pr=z.call(nt.ownerDocument);nt.firstChild;)Pr.appendChild(nt.firstChild);else Pr=nt;return(_e.shadowroot||_e.shadowrootmode)&&(Pr=H.call(n,Pr,!0)),Pr}let Ra=Te?nt.outerHTML:nt.innerHTML;return Te&&te["!doctype"]&&nt.ownerDocument&&nt.ownerDocument.doctype&&nt.ownerDocument.doctype.name&&Ho(_yt,nt.ownerDocument.doctype.name)&&(Ra="<!DOCTYPE "+nt.ownerDocument.doctype.name+`>
`+Ra),le&&(Ra=ui(Ra)),E&&ee?L(Ra):Ra},e.setConfig=function(){let _t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};jr(_t),re=!0,Y=te,Q=_e},e.clearConfig=function(){ir=null,re=!1,Y=null,Q=null,E=M,A=""},e.isValidAttribute=function(_t,De,nt){ir||jr({});const Nt=bt(_t),$t=bt(De);return W1(Nt,$t,nt)},e.addHook=function(_t,De){typeof De=="function"&&uc(V,_t)&&D3(V[_t],De)},e.removeHook=function(_t,De){if(uc(V,_t)){if(De!==void 0){const nt=byt(V[_t],De);return nt===-1?void 0:vyt(V[_t],nt,1)[0]}return Eue(V[_t])}},e.removeHooks=function(_t){uc(V,_t)&&(V[_t]=[])},e.removeAllHooks=function(){V=$ue()},e}var R0=v3e(),NG=x((t,e,{depth:r=2}={})=>{const n={depth:r};if(Array.isArray(e)&&!Array.isArray(t))return e.forEach(i=>NG(t,i,n)),t;if(Array.isArray(e)&&Array.isArray(t))return e.forEach(i=>{t.includes(i)||t.push(i)}),t;if(t==null||r<=0)return t!=null&&typeof t=="object"&&typeof e=="object"?Object.assign(t,e):e;if(e!=null&&typeof t=="object"&&typeof e=="object"){const i=t;Object.entries(e).forEach(([a,s])=>{if(typeof s=="object"){if(s===null)return;Object.hasOwn(t,a)||Object.defineProperty(t,a,{value:void 0,writable:!0,enumerable:!0,configurable:!0}),i[a]===void 0&&(i[a]=Array.isArray(s)?[]:{}),typeof i[a]=="object"&&(i[a]=NG(i[a],s,{depth:r-1}))}else typeof i[a]!="object"&&(Object.hasOwn(t,a)?i[a]=s:Object.defineProperty(t,a,{value:s,writable:!0,enumerable:!0,configurable:!0}))})}return t},"assignWithDepth"),ls=NG,nf="#ffffff",af="#f2f2f2",rn=x((t,e)=>e?Ue(t,{s:-40,l:10}):Ue(t,{s:-40,l:-10}),"mkBorder"),Lb,Wyt=(Lb=class{constructor(){this.background="#f4f4f4",this.primaryColor="#fff4dd",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.useGradient=!0,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var r,n,i,a,s,o,l,u,d,h,f,p,g,m,U,y,b,v,w,T,S,C,k,E,A,M,P,N,I,L,_,D,O,B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie,me,te;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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?ct(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||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||lt(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.vertLineColor=this.vertLineColor||"navy",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.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.personBorder||this.primaryBorderColor,this.personBkg=this.personBkg||this.mainBkg,this.darkMode?(this.rowOdd=this.rowOdd||ct(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||ct(this.mainBkg,10)):(this.rowOdd=this.rowOdd||lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||lt(this.mainBkg,5)),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||Ue(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ue(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ue(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ue(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ue(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ue(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Ue(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ue(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ue(this.primaryColor,{h:330}),this.darkMode)for(let Re=0;Re<this.THEME_COLOR_LIMIT;Re++)this["cScale"+Re]=ct(this["cScale"+Re],75);else for(let Re=0;Re<this.THEME_COLOR_LIMIT;Re++)this["cScale"+Re]=ct(this["cScale"+Re],25);for(let Re=0;Re<this.THEME_COLOR_LIMIT;Re++)this["cScaleInv"+Re]=this["cScaleInv"+Re]||rt(this["cScale"+Re]);for(let Re=0;Re<this.THEME_COLOR_LIMIT;Re++)this.darkMode?this["cScalePeer"+Re]=this["cScalePeer"+Re]||lt(this["cScale"+Re],10):this["cScalePeer"+Re]=this["cScalePeer"+Re]||ct(this["cScale"+Re],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let Re=0;Re<this.THEME_COLOR_LIMIT;Re++)this["cScaleLabel"+Re]=this["cScaleLabel"+Re]||this.scaleLabelColor;const e=this.darkMode?-4:-1;for(let Re=0;Re<5;Re++)this["surface"+Re]=this["surface"+Re]||Ue(this.mainBkg,{h:180,s:-15,l:e*(5+Re*3)}),this["surfacePeer"+Re]=this["surfacePeer"+Re]||Ue(this.mainBkg,{h:180,s:-15,l:e*(8+Re*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Ue(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Ue(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Ue(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Ue(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Ue(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Ue(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Ue(this.primaryColor,{l:-10}),this.pie5=this.pie5||Ue(this.secondaryColor,{l:-10}),this.pie6=this.pie6||Ue(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||Ue(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Ue(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Ue(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Ue(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||Ue(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||Ue(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??Ue(this.primaryColor,{l:-30}),this.venn2=this.venn2??Ue(this.secondaryColor,{l:-30}),this.venn3=this.venn3??Ue(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??Ue(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??Ue(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??Ue(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??Ue(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??Ue(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:((r=this.cynefin)==null?void 0:r.domainFontSize)||16,itemFontSize:((n=this.cynefin)==null?void 0:n.itemFontSize)||12,boundaryColor:((i=this.cynefin)==null?void 0:i.boundaryColor)||this.lineColor,boundaryWidth:((a=this.cynefin)==null?void 0:a.boundaryWidth)||2,cliffColor:((s=this.cynefin)==null?void 0:s.cliffColor)||"#8B0000",cliffWidth:((o=this.cynefin)==null?void 0:o.cliffWidth)||4,arrowColor:((l=this.cynefin)==null?void 0:l.arrowColor)||this.lineColor,arrowWidth:((u=this.cynefin)==null?void 0:u.arrowWidth)||2,complexBg:((d=this.cynefin)==null?void 0:d.complexBg)||"#E8F5E9",complicatedBg:((h=this.cynefin)==null?void 0:h.complicatedBg)||"#E3F2FD",chaoticBg:((f=this.cynefin)==null?void 0:f.chaoticBg)||"#FBE9E7",clearBg:((p=this.cynefin)==null?void 0:p.clearBg)||"#FFF8E1",confusionBg:((g=this.cynefin)==null?void 0:g.confusionBg)||"#F3E5F5",textColor:((m=this.cynefin)==null?void 0:m.textColor)||this.textColor,labelColor:((U=this.cynefin)==null?void 0:U.labelColor)||this.primaryTextColor},this.radar={axisColor:((y=this.radar)==null?void 0:y.axisColor)||this.lineColor,axisStrokeWidth:((b=this.radar)==null?void 0:b.axisStrokeWidth)||2,axisLabelFontSize:((v=this.radar)==null?void 0:v.axisLabelFontSize)||12,curveOpacity:((w=this.radar)==null?void 0:w.curveOpacity)||.5,curveStrokeWidth:((T=this.radar)==null?void 0:T.curveStrokeWidth)||2,graticuleColor:((S=this.radar)==null?void 0:S.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:((C=this.radar)==null?void 0:C.graticuleStrokeWidth)||1,graticuleOpacity:((k=this.radar)==null?void 0:k.graticuleOpacity)||.3,legendBoxSize:((E=this.radar)==null?void 0:E.legendBoxSize)||12,legendFontSize:((A=this.radar)==null?void 0:A.legendFontSize)||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:((M=this.wardley)==null?void 0:M.backgroundColor)||this.background,axisColor:((P=this.wardley)==null?void 0:P.axisColor)||this.lineColor,axisTextColor:((N=this.wardley)==null?void 0:N.axisTextColor)||this.primaryTextColor,gridColor:((I=this.wardley)==null?void 0:I.gridColor)||this.gridColor,componentFill:((L=this.wardley)==null?void 0:L.componentFill)||this.background,componentStroke:((_=this.wardley)==null?void 0:_.componentStroke)||this.lineColor,componentLabelColor:((D=this.wardley)==null?void 0:D.componentLabelColor)||this.primaryTextColor,linkStroke:((O=this.wardley)==null?void 0:O.linkStroke)||this.lineColor,evolutionStroke:((B=this.wardley)==null?void 0:B.evolutionStroke)||this.wardleyEvolutionColor,annotationStroke:((F=this.wardley)==null?void 0:F.annotationStroke)||this.lineColor,annotationTextColor:((z=this.wardley)==null?void 0:z.annotationTextColor)||this.primaryTextColor,annotationFill:(($=this.wardley)==null?void 0:$.annotationFill)||this.background},this.archEdgeColor=this.archEdgeColor||"#777",this.archEdgeArrowColor=this.archEdgeArrowColor||"#777",this.archEdgeWidth=this.archEdgeWidth||"3",this.archGroupBorderColor=this.archGroupBorderColor||"#000",this.archGroupBorderWidth=this.archGroupBorderWidth||"2px",this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((H=this.xyChart)==null?void 0:H.backgroundColor)||this.background,titleColor:((V=this.xyChart)==null?void 0:V.titleColor)||this.primaryTextColor,dataLabelColor:((G=this.xyChart)==null?void 0:G.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:((K=this.xyChart)==null?void 0:K.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((W=this.xyChart)==null?void 0:W.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((oe=this.xyChart)==null?void 0:oe.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((Z=this.xyChart)==null?void 0:Z.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((J=this.xyChart)==null?void 0:J.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((ne=this.xyChart)==null?void 0:ne.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((ie=this.xyChart)==null?void 0:ie.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((me=this.xyChart)==null?void 0:me.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((te=this.xyChart)==null?void 0:te.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Ue(this.primaryColor,{h:-30}),this.git4=this.git4||Ue(this.primaryColor,{h:-60}),this.git5=this.git5||Ue(this.primaryColor,{h:-90}),this.git6=this.git6||Ue(this.primaryColor,{h:60}),this.git7=this.git7||Ue(this.primaryColor,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Lb,"Theme"),Lb),qyt=x(t=>{const e=new Wyt;return e.calculate(t),e},"getThemeVariables"),Nb,jyt=(Nb=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lt(this.primaryColor,16),this.tertiaryColor=Ue(this.primaryColor,{h:-160}),this.primaryBorderColor=rt(this.background),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.tertiaryColor),this.lineColor=rt(this.background),this.textColor=rt(this.background),this.mainBkg="#1f2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lt(rt("#323D47"),10),this.lineColor="calculated",this.border1="#ccc",this.border2=Ad(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.radius=5,this.strokeWidth=1,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.clusterBkg="#302F3D",this.sectionBkgColor=ct("#EAE8D9",30),this.altSectionBkgColor="calculated",this.sectionBkgColor2="#EAE8D9",this.excludeBkgColor=ct(this.sectionBkgColor,10),this.taskBorderColor=Ad(255,255,255,70),this.taskBkgColor="calculated",this.taskTextColor="calculated",this.taskTextLightColor="calculated",this.taskTextOutsideColor="calculated",this.taskTextClickableColor="#003163",this.activeTaskBorderColor=Ad(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.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd=this.rowOdd||lt(this.mainBkg,5)||"#ffffff",this.rowEven=this.rowEven||ct(this.mainBkg,10),this.labelColor="calculated",this.errorBkgColor="#a44141",this.errorTextColor="#ddd",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal"}updateColors(){var e,r,n,i,a,s,o,l,u,d,h,f,p,g,m,U,y,b,v,w,T,S,C,k,E,A,M,P,N,I,L,_,D,O,B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie,me;this.secondBkg=lt(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=lt(this.labelBackground,25),this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.actorTextColor=this.mainContrastColor,this.actorLineColor=this.actorBorder,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.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.altSectionBkgColor=this.background,this.taskBkgColor=lt(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=rt(this.doneTaskBkgColor),this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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=Ue(this.primaryColor,{h:64}),this.fillType3=Ue(this.secondaryColor,{h:64}),this.fillType4=Ue(this.primaryColor,{h:-64}),this.fillType5=Ue(this.secondaryColor,{h:-64}),this.fillType6=Ue(this.primaryColor,{h:128}),this.fillType7=Ue(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||Ue(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ue(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ue(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ue(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ue(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ue(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ue(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ue(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ue(this.primaryColor,{h:330});for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleInv"+te]=this["cScaleInv"+te]||rt(this["cScale"+te]);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScalePeer"+te]=this["cScalePeer"+te]||lt(this["cScale"+te],10);for(let te=0;te<5;te++)this["surface"+te]=this["surface"+te]||Ue(this.mainBkg,{h:30,s:-30,l:-(-10+te*4)}),this["surfacePeer"+te]=this["surfacePeer"+te]||Ue(this.mainBkg,{h:30,s:-30,l:-(-7+te*4)});this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleLabel"+te]=this["cScaleLabel"+te]||this.scaleLabelColor;for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["pie"+te]=this["cScale"+te];this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.mainContrastColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.mainContrastColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let te=0;te<8;te++)this["venn"+(te+1)]=this["venn"+(te+1)]??lt(this["cScale"+te],30);this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:((e=this.cynefin)==null?void 0:e.domainFontSize)||16,itemFontSize:((r=this.cynefin)==null?void 0:r.itemFontSize)||12,boundaryColor:((n=this.cynefin)==null?void 0:n.boundaryColor)||this.lineColor,boundaryWidth:((i=this.cynefin)==null?void 0:i.boundaryWidth)||2,cliffColor:((a=this.cynefin)==null?void 0:a.cliffColor)||"#FF6B6B",cliffWidth:((s=this.cynefin)==null?void 0:s.cliffWidth)||4,arrowColor:((o=this.cynefin)==null?void 0:o.arrowColor)||this.lineColor,arrowWidth:((l=this.cynefin)==null?void 0:l.arrowWidth)||2,complexBg:((u=this.cynefin)==null?void 0:u.complexBg)||"#1B5E20",complicatedBg:((d=this.cynefin)==null?void 0:d.complicatedBg)||"#0D47A1",chaoticBg:((h=this.cynefin)==null?void 0:h.chaoticBg)||"#BF360C",clearBg:((f=this.cynefin)==null?void 0:f.clearBg)||"#F57F17",confusionBg:((p=this.cynefin)==null?void 0:p.confusionBg)||"#4A148C",textColor:((g=this.cynefin)==null?void 0:g.textColor)||this.textColor,labelColor:((m=this.cynefin)==null?void 0:m.labelColor)||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((U=this.xyChart)==null?void 0:U.backgroundColor)||this.background,titleColor:((y=this.xyChart)==null?void 0:y.titleColor)||this.primaryTextColor,dataLabelColor:((b=this.xyChart)==null?void 0:b.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:((v=this.xyChart)==null?void 0:v.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((w=this.xyChart)==null?void 0:w.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((T=this.xyChart)==null?void 0:T.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((S=this.xyChart)==null?void 0:S.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((C=this.xyChart)==null?void 0:C.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((k=this.xyChart)==null?void 0:k.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((E=this.xyChart)==null?void 0:E.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((A=this.xyChart)==null?void 0:A.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((M=this.xyChart)==null?void 0:M.plotColorPalette)||"#3498db,#2ecc71,#e74c3c,#f1c40f,#bdc3c7,#ffffff,#34495e,#9b59b6,#1abc9c,#e67e22"},this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.background},this.radar={axisColor:((P=this.radar)==null?void 0:P.axisColor)||this.lineColor,axisStrokeWidth:((N=this.radar)==null?void 0:N.axisStrokeWidth)||2,axisLabelFontSize:((I=this.radar)==null?void 0:I.axisLabelFontSize)||12,curveOpacity:((L=this.radar)==null?void 0:L.curveOpacity)||.5,curveStrokeWidth:((_=this.radar)==null?void 0:_.curveStrokeWidth)||2,graticuleColor:((D=this.radar)==null?void 0:D.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:((O=this.radar)==null?void 0:O.graticuleStrokeWidth)||1,graticuleOpacity:((B=this.radar)==null?void 0:B.graticuleOpacity)||.3,legendBoxSize:((F=this.radar)==null?void 0:F.legendBoxSize)||12,legendFontSize:((z=this.radar)==null?void 0:z.legendFontSize)||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#ff6b6b",this.wardley={backgroundColor:(($=this.wardley)==null?void 0:$.backgroundColor)||this.background,axisColor:((H=this.wardley)==null?void 0:H.axisColor)||this.lineColor,axisTextColor:((V=this.wardley)==null?void 0:V.axisTextColor)||this.primaryTextColor,gridColor:((G=this.wardley)==null?void 0:G.gridColor)||this.gridColor,componentFill:((K=this.wardley)==null?void 0:K.componentFill)||this.mainBkg,componentStroke:((W=this.wardley)==null?void 0:W.componentStroke)||this.lineColor,componentLabelColor:((oe=this.wardley)==null?void 0:oe.componentLabelColor)||this.primaryTextColor,linkStroke:((Z=this.wardley)==null?void 0:Z.linkStroke)||this.lineColor,evolutionStroke:((J=this.wardley)==null?void 0:J.evolutionStroke)||this.wardleyEvolutionColor,annotationStroke:((ne=this.wardley)==null?void 0:ne.annotationStroke)||this.lineColor,annotationTextColor:((ie=this.wardley)==null?void 0:ie.annotationTextColor)||this.primaryTextColor,annotationFill:((me=this.wardley)==null?void 0:me.annotationFill)||this.mainBkg},this.classText=this.primaryTextColor,this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=lt(this.secondaryColor,20),this.git1=lt(this.pie2||this.secondaryColor,20),this.git2=lt(this.pie3||this.tertiaryColor,20),this.git3=lt(this.pie4||Ue(this.primaryColor,{h:-30}),20),this.git4=lt(this.pie5||Ue(this.primaryColor,{h:-60}),20),this.git5=lt(this.pie6||Ue(this.primaryColor,{h:-90}),10),this.git6=lt(this.pie7||Ue(this.primaryColor,{h:60}),10),this.git7=lt(this.pie8||Ue(this.primaryColor,{h:120}),20),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||rt(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||rt(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"#2d2d2d",this.emUiStroke=this.emUiStroke||"#555",this.emProcessorFill=this.emProcessorFill||lt("#5a3d5c",10),this.emProcessorStroke=this.emProcessorStroke||"#8a6d8c",this.emReadModelFill=this.emReadModelFill||lt("#3d5a2d",10),this.emReadModelStroke=this.emReadModelStroke||"#6d8c5c",this.emCommandFill=this.emCommandFill||lt("#2d3d5a",10),this.emCommandStroke=this.emCommandStroke||"#5c6d8c",this.emEventFill=this.emEventFill||lt("#5a452d",10),this.emEventStroke=this.emEventStroke||"#8c755c",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||lt(this.background,5),this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||lt(this.background,12),this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||lt(this.background,12),this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||lt(this.background,2),this.nodeBorder=this.nodeBorder||"#999"}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Nb,"Theme"),Nb),Yyt=x(t=>{const e=new jyt;return e.calculate(t),e},"getThemeVariables"),Ob,Xyt=(Ob=class{constructor(){this.background="#f4f4f4",this.primaryColor="#ECECFF",this.secondaryColor=Ue(this.primaryColor,{h:120}),this.secondaryColor="#ffffde",this.tertiaryColor=Ue(this.primaryColor,{h:-160}),this.primaryBorderColor=rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.tertiaryColor),this.lineColor=rt(this.background),this.textColor=rt(this.background),this.background="white",this.mainBkg="#ECECFF",this.secondBkg="#ffffde",this.lineColor="#333333",this.border1="#9370DB",this.primaryBorderColor=rn(this.primaryColor,this.darkMode),this.border2="#aaaa33",this.arrowheadColor="#333333",this.fontFamily='"trebuchet ms", verdana, arial, sans-serif',this.fontSize="16px",this.labelBackground="rgba(232,232,232, 0.8)",this.textColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,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="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="#666",this.activationBkgColor="#f4f4f4",this.sequenceNumberColor="white",this.clusterBkg="#FBFBFF",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.vertLineColor="calculated",this.sectionBkgColor=Ad(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.vertLineColor="navy",this.noteFontWeight=this.noteFontWeight||"normal",this.fontWeight=this.fontWeight||"normal",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.rowOdd="calculated",this.rowEven="calculated",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!1,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow(1px 2px 2px rgba(185, 185, 185, 1))",this.updateColors()}updateColors(){var e,r,n,i,a,s,o,l,u,d,h,f,p,g,m,U,y,b,v,w,T,S,C,k,E,A,M,P,N,I,L,_,D,O,B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie,me;this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ue(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ue(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ue(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ue(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ue(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ue(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ue(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ue(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ue(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||ct(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||ct(this.tertiaryColor,40);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScale"+te]=ct(this["cScale"+te],10),this["cScalePeer"+te]=this["cScalePeer"+te]||ct(this["cScale"+te],25);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleInv"+te]=this["cScaleInv"+te]||Ue(this["cScale"+te],{h:180});for(let te=0;te<5;te++)this["surface"+te]=this["surface"+te]||Ue(this.mainBkg,{h:30,l:-(5+te*5)}),this["surfacePeer"+te]=this["surfacePeer"+te]||Ue(this.mainBkg,{h:30,l:-(7+te*5)});if(this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor,this.labelTextColor!=="calculated"){this.cScaleLabel0=this.cScaleLabel0||rt(this.labelTextColor),this.cScaleLabel3=this.cScaleLabel3||rt(this.labelTextColor);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleLabel"+te]=this["cScaleLabel"+te]||this.labelTextColor}this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.textColor,this.edgeLabelBackground=this.labelBackground,this.actorBorder=this.border1,this.actorBkg=this.mainBkg,this.labelBoxBkgColor=this.actorBkg,this.signalColor=this.textColor,this.signalTextColor=this.textColor,this.labelBoxBorderColor=this.actorBorder,this.labelTextColor=this.actorTextColor,this.loopTextColor=this.actorTextColor,this.noteBorderColor=this.border2,this.noteTextColor=this.actorTextColor,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||lt(this.primaryColor,75)||"#ffffff",this.rowEven=this.rowEven||lt(this.primaryColor,1),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||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.nodeBorder,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Ue(this.primaryColor,{h:64}),this.fillType3=Ue(this.secondaryColor,{h:64}),this.fillType4=Ue(this.primaryColor,{h:-64}),this.fillType5=Ue(this.secondaryColor,{h:-64}),this.fillType6=Ue(this.primaryColor,{h:128}),this.fillType7=Ue(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||Ue(this.tertiaryColor,{l:-40}),this.pie4=this.pie4||Ue(this.primaryColor,{l:-10}),this.pie5=this.pie5||Ue(this.secondaryColor,{l:-30}),this.pie6=this.pie6||Ue(this.tertiaryColor,{l:-20}),this.pie7=this.pie7||Ue(this.primaryColor,{h:60,l:-20}),this.pie8=this.pie8||Ue(this.primaryColor,{h:-60,l:-40}),this.pie9=this.pie9||Ue(this.primaryColor,{h:120,l:-40}),this.pie10=this.pie10||Ue(this.primaryColor,{h:60,l:-40}),this.pie11=this.pie11||Ue(this.primaryColor,{h:-90,l:-40}),this.pie12=this.pie12||Ue(this.primaryColor,{h:120,l:-30}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??Ue(this.primaryColor,{l:-30}),this.venn2=this.venn2??Ue(this.secondaryColor,{l:-30}),this.venn3=this.venn3??Ue(this.tertiaryColor,{l:-40}),this.venn4=this.venn4??Ue(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??Ue(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??Ue(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??Ue(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??Ue(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:((e=this.cynefin)==null?void 0:e.domainFontSize)||16,itemFontSize:((r=this.cynefin)==null?void 0:r.itemFontSize)||12,boundaryColor:((n=this.cynefin)==null?void 0:n.boundaryColor)||this.lineColor,boundaryWidth:((i=this.cynefin)==null?void 0:i.boundaryWidth)||2,cliffColor:((a=this.cynefin)==null?void 0:a.cliffColor)||"#8B0000",cliffWidth:((s=this.cynefin)==null?void 0:s.cliffWidth)||4,arrowColor:((o=this.cynefin)==null?void 0:o.arrowColor)||this.lineColor,arrowWidth:((l=this.cynefin)==null?void 0:l.arrowWidth)||2,complexBg:((u=this.cynefin)==null?void 0:u.complexBg)||"#E8F5E9",complicatedBg:((d=this.cynefin)==null?void 0:d.complicatedBg)||"#E3F2FD",chaoticBg:((h=this.cynefin)==null?void 0:h.chaoticBg)||"#FBE9E7",clearBg:((f=this.cynefin)==null?void 0:f.clearBg)||"#FFF8E1",confusionBg:((p=this.cynefin)==null?void 0:p.confusionBg)||"#F3E5F5",textColor:((g=this.cynefin)==null?void 0:g.textColor)||this.textColor,labelColor:((m=this.cynefin)==null?void 0:m.labelColor)||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.radar={axisColor:((U=this.radar)==null?void 0:U.axisColor)||this.lineColor,axisStrokeWidth:((y=this.radar)==null?void 0:y.axisStrokeWidth)||2,axisLabelFontSize:((b=this.radar)==null?void 0:b.axisLabelFontSize)||12,curveOpacity:((v=this.radar)==null?void 0:v.curveOpacity)||.5,curveStrokeWidth:((w=this.radar)==null?void 0:w.curveStrokeWidth)||2,graticuleColor:((T=this.radar)==null?void 0:T.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:((S=this.radar)==null?void 0:S.graticuleStrokeWidth)||1,graticuleOpacity:((C=this.radar)==null?void 0:C.graticuleOpacity)||.3,legendBoxSize:((k=this.radar)==null?void 0:k.legendBoxSize)||12,legendFontSize:((E=this.radar)==null?void 0:E.legendFontSize)||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:((A=this.wardley)==null?void 0:A.backgroundColor)||this.background,axisColor:((M=this.wardley)==null?void 0:M.axisColor)||this.lineColor,axisTextColor:((P=this.wardley)==null?void 0:P.axisTextColor)||this.primaryTextColor,gridColor:((N=this.wardley)==null?void 0:N.gridColor)||this.gridColor,componentFill:((I=this.wardley)==null?void 0:I.componentFill)||this.background,componentStroke:((L=this.wardley)==null?void 0:L.componentStroke)||this.lineColor,componentLabelColor:((_=this.wardley)==null?void 0:_.componentLabelColor)||this.primaryTextColor,linkStroke:((D=this.wardley)==null?void 0:D.linkStroke)||this.lineColor,evolutionStroke:((O=this.wardley)==null?void 0:O.evolutionStroke)||this.wardleyEvolutionColor,annotationStroke:((B=this.wardley)==null?void 0:B.annotationStroke)||this.lineColor,annotationTextColor:((F=this.wardley)==null?void 0:F.annotationTextColor)||this.primaryTextColor,annotationFill:((z=this.wardley)==null?void 0:z.annotationFill)||this.background},this.xyChart={backgroundColor:(($=this.xyChart)==null?void 0:$.backgroundColor)||this.background,titleColor:((H=this.xyChart)==null?void 0:H.titleColor)||this.primaryTextColor,dataLabelColor:((V=this.xyChart)==null?void 0:V.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:((G=this.xyChart)==null?void 0:G.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((K=this.xyChart)==null?void 0:K.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((W=this.xyChart)==null?void 0:W.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((oe=this.xyChart)==null?void 0:oe.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((Z=this.xyChart)==null?void 0:Z.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((J=this.xyChart)==null?void 0:J.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((ne=this.xyChart)==null?void 0:ne.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((ie=this.xyChart)==null?void 0:ie.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((me=this.xyChart)==null?void 0:me.plotColorPalette)||"#ECECFF,#8493A6,#FFC3A0,#DCDDE1,#B8E994,#D1A36F,#C3CDE6,#FFB6C1,#496078,#F8F3E3"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.labelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Ue(this.primaryColor,{h:-30}),this.git4=this.git4||Ue(this.primaryColor,{h:-60}),this.git5=this.git5||Ue(this.primaryColor,{h:-90}),this.git6=this.git6||Ue(this.primaryColor,{h:60}),this.git7=this.git7||Ue(this.primaryColor,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||ct(rt(this.git0),25),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||rt(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||rt(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(Object.keys(this).forEach(n=>{this[n]==="calculated"&&(this[n]=void 0)}),typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Ob,"Theme"),Ob),ip=x(t=>{const e=new Xyt;return e.calculate(t),e},"getThemeVariables"),Db,Kyt=(Db=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=lt("#cde498",10),this.primaryBorderColor=rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.primaryColor),this.lineColor=rt(this.background),this.textColor=rt(this.background),this.THEME_COLOR_LIMIT=12,this.radius=5,this.strokeWidth=1,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="calculated",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.vertLineColor="#00BFFF",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.5))"}updateColors(){var e,r,n,i,a,s,o,l,u,d,h,f,p,g,m,U,y,b,v,w,T,S,C,k,E,A,M,P,N,I,L,_,D,O,B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie,me;this.actorBorder=ct(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.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.cScale0=this.cScale0||this.primaryColor,this.cScale1=this.cScale1||this.secondaryColor,this.cScale2=this.cScale2||this.tertiaryColor,this.cScale3=this.cScale3||Ue(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ue(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ue(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ue(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ue(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ue(this.primaryColor,{h:210}),this.cScale9=this.cScale9||Ue(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ue(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ue(this.primaryColor,{h:330}),this.cScalePeer1=this.cScalePeer1||ct(this.secondaryColor,45),this.cScalePeer2=this.cScalePeer2||ct(this.tertiaryColor,40);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScale"+te]=ct(this["cScale"+te],10),this["cScalePeer"+te]=this["cScalePeer"+te]||ct(this["cScale"+te],25);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleInv"+te]=this["cScaleInv"+te]||Ue(this["cScale"+te],{h:180});this.scaleLabelColor=this.scaleLabelColor!=="calculated"&&this.scaleLabelColor?this.scaleLabelColor:this.labelTextColor;for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleLabel"+te]=this["cScaleLabel"+te]||this.scaleLabelColor;for(let te=0;te<5;te++)this["surface"+te]=this["surface"+te]||Ue(this.mainBkg,{h:30,s:-30,l:-(5+te*5)}),this["surfacePeer"+te]=this["surfacePeer"+te]||Ue(this.mainBkg,{h:30,s:-30,l:-(8+te*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.taskBorderColor=this.border1,this.taskTextColor=this.taskTextLightColor,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.rowOdd=this.rowOdd||lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||lt(this.mainBkg,20),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||"#f0f0f0",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.compositeBorder=this.compositeBorder||this.nodeBorder,this.innerEndBackground=this.primaryBorderColor,this.specialStateColor=this.lineColor,this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.transitionColor=this.transitionColor||this.lineColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Ue(this.primaryColor,{h:64}),this.fillType3=Ue(this.secondaryColor,{h:64}),this.fillType4=Ue(this.primaryColor,{h:-64}),this.fillType5=Ue(this.secondaryColor,{h:-64}),this.fillType6=Ue(this.primaryColor,{h:128}),this.fillType7=Ue(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Ue(this.primaryColor,{l:-30}),this.pie5=this.pie5||Ue(this.secondaryColor,{l:-30}),this.pie6=this.pie6||Ue(this.tertiaryColor,{h:40,l:-40}),this.pie7=this.pie7||Ue(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Ue(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Ue(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Ue(this.primaryColor,{h:60,l:-50}),this.pie11=this.pie11||Ue(this.primaryColor,{h:-60,l:-50}),this.pie12=this.pie12||Ue(this.primaryColor,{h:120,l:-50}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.venn1=this.venn1??Ue(this.primaryColor,{l:-30}),this.venn2=this.venn2??Ue(this.secondaryColor,{l:-30}),this.venn3=this.venn3??Ue(this.tertiaryColor,{l:-30}),this.venn4=this.venn4??Ue(this.primaryColor,{h:60,l:-30}),this.venn5=this.venn5??Ue(this.primaryColor,{h:-60,l:-30}),this.venn6=this.venn6??Ue(this.secondaryColor,{h:60,l:-30}),this.venn7=this.venn7??Ue(this.primaryColor,{h:120,l:-30}),this.venn8=this.venn8??Ue(this.secondaryColor,{h:120,l:-30}),this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:((e=this.cynefin)==null?void 0:e.domainFontSize)||16,itemFontSize:((r=this.cynefin)==null?void 0:r.itemFontSize)||12,boundaryColor:((n=this.cynefin)==null?void 0:n.boundaryColor)||this.lineColor,boundaryWidth:((i=this.cynefin)==null?void 0:i.boundaryWidth)||2,cliffColor:((a=this.cynefin)==null?void 0:a.cliffColor)||"#8B4513",cliffWidth:((s=this.cynefin)==null?void 0:s.cliffWidth)||4,arrowColor:((o=this.cynefin)==null?void 0:o.arrowColor)||this.lineColor,arrowWidth:((l=this.cynefin)==null?void 0:l.arrowWidth)||2,complexBg:((u=this.cynefin)==null?void 0:u.complexBg)||"#C8E6C9",complicatedBg:((d=this.cynefin)==null?void 0:d.complicatedBg)||"#DCEDC8",chaoticBg:((h=this.cynefin)==null?void 0:h.chaoticBg)||"#FFE0B2",clearBg:((f=this.cynefin)==null?void 0:f.clearBg)||"#FFF9C4",confusionBg:((p=this.cynefin)==null?void 0:p.confusionBg)||"#D7CCC8",textColor:((g=this.cynefin)==null?void 0:g.textColor)||this.textColor,labelColor:((m=this.cynefin)==null?void 0:m.labelColor)||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.packet={startByteColor:this.primaryTextColor,endByteColor:this.primaryTextColor,labelColor:this.primaryTextColor,titleColor:this.primaryTextColor,blockStrokeColor:this.primaryTextColor,blockFillColor:this.mainBkg},this.radar={axisColor:((U=this.radar)==null?void 0:U.axisColor)||this.lineColor,axisStrokeWidth:((y=this.radar)==null?void 0:y.axisStrokeWidth)||2,axisLabelFontSize:((b=this.radar)==null?void 0:b.axisLabelFontSize)||12,curveOpacity:((v=this.radar)==null?void 0:v.curveOpacity)||.5,curveStrokeWidth:((w=this.radar)==null?void 0:w.curveStrokeWidth)||2,graticuleColor:((T=this.radar)==null?void 0:T.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:((S=this.radar)==null?void 0:S.graticuleStrokeWidth)||1,graticuleOpacity:((C=this.radar)==null?void 0:C.graticuleOpacity)||.3,legendBoxSize:((k=this.radar)==null?void 0:k.legendBoxSize)||12,legendFontSize:((E=this.radar)==null?void 0:E.legendFontSize)||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:((A=this.wardley)==null?void 0:A.backgroundColor)||this.background,axisColor:((M=this.wardley)==null?void 0:M.axisColor)||this.lineColor,axisTextColor:((P=this.wardley)==null?void 0:P.axisTextColor)||this.primaryTextColor,gridColor:((N=this.wardley)==null?void 0:N.gridColor)||this.gridColor,componentFill:((I=this.wardley)==null?void 0:I.componentFill)||this.background,componentStroke:((L=this.wardley)==null?void 0:L.componentStroke)||this.lineColor,componentLabelColor:((_=this.wardley)==null?void 0:_.componentLabelColor)||this.primaryTextColor,linkStroke:((D=this.wardley)==null?void 0:D.linkStroke)||this.lineColor,evolutionStroke:((O=this.wardley)==null?void 0:O.evolutionStroke)||this.wardleyEvolutionColor,annotationStroke:((B=this.wardley)==null?void 0:B.annotationStroke)||this.lineColor,annotationTextColor:((F=this.wardley)==null?void 0:F.annotationTextColor)||this.primaryTextColor,annotationFill:((z=this.wardley)==null?void 0:z.annotationFill)||this.background},this.xyChart={backgroundColor:(($=this.xyChart)==null?void 0:$.backgroundColor)||this.background,titleColor:((H=this.xyChart)==null?void 0:H.titleColor)||this.primaryTextColor,dataLabelColor:((V=this.xyChart)==null?void 0:V.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:((G=this.xyChart)==null?void 0:G.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((K=this.xyChart)==null?void 0:K.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((W=this.xyChart)==null?void 0:W.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((oe=this.xyChart)==null?void 0:oe.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((Z=this.xyChart)==null?void 0:Z.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((J=this.xyChart)==null?void 0:J.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((ne=this.xyChart)==null?void 0:ne.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((ie=this.xyChart)==null?void 0:ie.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((me=this.xyChart)==null?void 0:me.plotColorPalette)||"#CDE498,#FF6B6B,#A0D2DB,#D7BDE2,#F0F0F0,#FFC3A0,#7FD8BE,#FF9A8B,#FAF3E0,#FFF176"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Ue(this.primaryColor,{h:-30}),this.git4=this.git4||Ue(this.primaryColor,{h:-60}),this.git5=this.git5||Ue(this.primaryColor,{h:-90}),this.git6=this.git6||Ue(this.primaryColor,{h:60}),this.git7=this.git7||Ue(this.primaryColor,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.gitBranchLabel0=this.gitBranchLabel0||rt(this.labelTextColor),this.gitBranchLabel1=this.gitBranchLabel1||this.labelTextColor,this.gitBranchLabel2=this.gitBranchLabel2||this.labelTextColor,this.gitBranchLabel3=this.gitBranchLabel3||rt(this.labelTextColor),this.gitBranchLabel4=this.gitBranchLabel4||this.labelTextColor,this.gitBranchLabel5=this.gitBranchLabel5||this.labelTextColor,this.gitBranchLabel6=this.gitBranchLabel6||this.labelTextColor,this.gitBranchLabel7=this.gitBranchLabel7||this.labelTextColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Db,"Theme"),Db),Zyt=x(t=>{const e=new Kyt;return e.calculate(t),e},"getThemeVariables"),Pb,Jyt=(Pb=class{constructor(){this.primaryColor="#eee",this.contrast="#707070",this.secondaryColor=lt(this.contrast,55),this.background="#ffffff",this.tertiaryColor=Ue(this.primaryColor,{h:-160}),this.primaryBorderColor=rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.tertiaryColor),this.lineColor=rt(this.background),this.textColor=rt(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.radius=5,this.strokeWidth=1,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=this.actorBorder,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.vertLineColor="calculated",this.personBorder=this.primaryBorderColor,this.personBkg=this.mainBkg,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal",this.rowOdd=this.rowOdd||lt(this.mainBkg,75)||"#ffffff",this.rowEven=this.rowEven||"#f4f4f4",this.labelColor="black",this.errorBkgColor="#552222",this.errorTextColor="#552222",this.useGradient=!0,this.gradientStart=this.primaryBorderColor,this.gradientStop=this.secondaryBorderColor,this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,1))"}updateColors(){var e,r,n,i,a,s,o,l,u,d,h,f,p,g,m,U,y,b,v,w,T,S,C,k,E,A,M,P,N,I,L,_,D,O,B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie,me;this.secondBkg=lt(this.contrast,55),this.border2=this.contrast,this.actorBorder=lt(this.border1,23),this.actorBkg=this.mainBkg,this.actorTextColor=this.text,this.actorLineColor=this.actorBorder,this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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 te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleInv"+te]=this["cScaleInv"+te]||rt(this["cScale"+te]);for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this.darkMode?this["cScalePeer"+te]=this["cScalePeer"+te]||lt(this["cScale"+te],10):this["cScalePeer"+te]=this["cScalePeer"+te]||ct(this["cScale"+te],10);this.scaleLabelColor=this.scaleLabelColor||(this.darkMode?"black":this.labelTextColor),this.cScaleLabel0=this.cScaleLabel0||this.cScale1,this.cScaleLabel2=this.cScaleLabel2||this.cScale1;for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["cScaleLabel"+te]=this["cScaleLabel"+te]||this.scaleLabelColor;for(let te=0;te<5;te++)this["surface"+te]=this["surface"+te]||Ue(this.mainBkg,{l:-(5+te*5)}),this["surfacePeer"+te]=this["surfacePeer"+te]||Ue(this.mainBkg,{l:-(8+te*5)});this.nodeBkg=this.mainBkg,this.nodeBorder=this.border1,this.clusterBkg=this.secondBkg,this.clusterBorder=this.border2,this.defaultLinkColor=this.lineColor,this.titleColor=this.text,this.sectionBkgColor=lt(this.contrast,30),this.sectionBkgColor2=lt(this.contrast,30),this.taskBorderColor=ct(this.contrast,10),this.taskBkgColor=this.contrast,this.taskTextColor=this.taskTextLightColor,this.taskTextDarkColor=this.text,this.taskTextOutsideColor=this.taskTextDarkColor,this.activeTaskBorderColor=this.taskBorderColor,this.activeTaskBkgColor=this.mainBkg,this.gridColor=lt(this.border1,30),this.doneTaskBkgColor=this.done,this.doneTaskBorderColor=this.lineColor,this.critBkgColor=this.critical,this.critBorderColor=ct(this.critBkgColor,10),this.todayLineColor=this.critBkgColor,this.vertLineColor=this.critBkgColor,this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,this.transitionColor=this.transitionColor||"#000",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||"#f4f4f4",this.compositeTitleBackground=this.compositeTitleBackground||this.mainBkg,this.stateBorder=this.stateBorder||"#000",this.innerEndBackground=this.primaryBorderColor,this.specialStateColor="#222",this.errorBkgColor=this.errorBkgColor||this.tertiaryColor,this.errorTextColor=this.errorTextColor||this.tertiaryTextColor,this.classText=this.primaryTextColor,this.fillType0=this.primaryColor,this.fillType1=this.secondaryColor,this.fillType2=Ue(this.primaryColor,{h:64}),this.fillType3=Ue(this.secondaryColor,{h:64}),this.fillType4=Ue(this.primaryColor,{h:-64}),this.fillType5=Ue(this.secondaryColor,{h:-64}),this.fillType6=Ue(this.primaryColor,{h:128}),this.fillType7=Ue(this.secondaryColor,{h:128});for(let te=0;te<this.THEME_COLOR_LIMIT;te++)this["pie"+te]=this["cScale"+te];this.pie12=this.pie0,this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7";for(let te=0;te<8;te++)this["venn"+(te+1)]=this["venn"+(te+1)]??this["cScale"+te];this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.cynefin={domainFontSize:((e=this.cynefin)==null?void 0:e.domainFontSize)||16,itemFontSize:((r=this.cynefin)==null?void 0:r.itemFontSize)||12,boundaryColor:((n=this.cynefin)==null?void 0:n.boundaryColor)||this.lineColor,boundaryWidth:((i=this.cynefin)==null?void 0:i.boundaryWidth)||2,cliffColor:((a=this.cynefin)==null?void 0:a.cliffColor)||"#8B0000",cliffWidth:((s=this.cynefin)==null?void 0:s.cliffWidth)||4,arrowColor:((o=this.cynefin)==null?void 0:o.arrowColor)||this.lineColor,arrowWidth:((l=this.cynefin)==null?void 0:l.arrowWidth)||2,complexBg:((u=this.cynefin)==null?void 0:u.complexBg)||"#E8F5E9",complicatedBg:((d=this.cynefin)==null?void 0:d.complicatedBg)||"#E3F2FD",chaoticBg:((h=this.cynefin)==null?void 0:h.chaoticBg)||"#FBE9E7",clearBg:((f=this.cynefin)==null?void 0:f.clearBg)||"#FFF8E1",confusionBg:((p=this.cynefin)==null?void 0:p.confusionBg)||"#F3E5F5",textColor:((g=this.cynefin)==null?void 0:g.textColor)||this.textColor,labelColor:((m=this.cynefin)==null?void 0:m.labelColor)||this.primaryTextColor},this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((U=this.xyChart)==null?void 0:U.backgroundColor)||this.background,titleColor:((y=this.xyChart)==null?void 0:y.titleColor)||this.primaryTextColor,dataLabelColor:((b=this.xyChart)==null?void 0:b.dataLabelColor)||this.primaryTextColor,xAxisTitleColor:((v=this.xyChart)==null?void 0:v.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((w=this.xyChart)==null?void 0:w.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((T=this.xyChart)==null?void 0:T.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((S=this.xyChart)==null?void 0:S.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((C=this.xyChart)==null?void 0:C.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((k=this.xyChart)==null?void 0:k.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((E=this.xyChart)==null?void 0:E.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((A=this.xyChart)==null?void 0:A.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((M=this.xyChart)==null?void 0:M.plotColorPalette)||"#EEE,#6BB8E4,#8ACB88,#C7ACD6,#E8DCC2,#FFB2A8,#FFF380,#7E8D91,#FFD8B1,#FAF3E0"},this.radar={axisColor:((P=this.radar)==null?void 0:P.axisColor)||this.lineColor,axisStrokeWidth:((N=this.radar)==null?void 0:N.axisStrokeWidth)||2,axisLabelFontSize:((I=this.radar)==null?void 0:I.axisLabelFontSize)||12,curveOpacity:((L=this.radar)==null?void 0:L.curveOpacity)||.5,curveStrokeWidth:((_=this.radar)==null?void 0:_.curveStrokeWidth)||2,graticuleColor:((D=this.radar)==null?void 0:D.graticuleColor)||"#DEDEDE",graticuleStrokeWidth:((O=this.radar)==null?void 0:O.graticuleStrokeWidth)||1,graticuleOpacity:((B=this.radar)==null?void 0:B.graticuleOpacity)||.3,legendBoxSize:((F=this.radar)==null?void 0:F.legendBoxSize)||12,legendFontSize:((z=this.radar)==null?void 0:z.legendFontSize)||12},this.wardleyEvolutionColor=this.wardleyEvolutionColor||"#dc3545",this.wardley={backgroundColor:(($=this.wardley)==null?void 0:$.backgroundColor)||this.background,axisColor:((H=this.wardley)==null?void 0:H.axisColor)||this.lineColor,axisTextColor:((V=this.wardley)==null?void 0:V.axisTextColor)||this.primaryTextColor,gridColor:((G=this.wardley)==null?void 0:G.gridColor)||this.gridColor,componentFill:((K=this.wardley)==null?void 0:K.componentFill)||this.background,componentStroke:((W=this.wardley)==null?void 0:W.componentStroke)||this.lineColor,componentLabelColor:((oe=this.wardley)==null?void 0:oe.componentLabelColor)||this.primaryTextColor,linkStroke:((Z=this.wardley)==null?void 0:Z.linkStroke)||this.lineColor,evolutionStroke:((J=this.wardley)==null?void 0:J.evolutionStroke)||this.wardleyEvolutionColor,annotationStroke:((ne=this.wardley)==null?void 0:ne.annotationStroke)||this.lineColor,annotationTextColor:((ie=this.wardley)==null?void 0:ie.annotationTextColor)||this.primaryTextColor,annotationFill:((me=this.wardley)==null?void 0:me.annotationFill)||this.background},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||this.edgeLabelBackground,this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=ct(this.pie1,25)||this.primaryColor,this.git1=this.pie2||this.secondaryColor,this.git2=this.pie3||this.tertiaryColor,this.git3=this.pie4||Ue(this.primaryColor,{h:-30}),this.git4=this.pie5||Ue(this.primaryColor,{h:-60}),this.git5=this.pie6||Ue(this.primaryColor,{h:-90}),this.git6=this.pie7||Ue(this.primaryColor,{h:60}),this.git7=this.pie8||Ue(this.primaryColor,{h:120}),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||this.labelTextColor,this.gitBranchLabel0=this.branchLabelColor,this.gitBranchLabel1="white",this.gitBranchLabel2=this.branchLabelColor,this.gitBranchLabel3="white",this.gitBranchLabel4=this.branchLabelColor,this.gitBranchLabel5=this.branchLabelColor,this.gitBranchLabel6=this.branchLabelColor,this.gitBranchLabel7=this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.emUiFill=this.emUiFill||"white",this.emUiStroke=this.emUiStroke||"#dbdada",this.emProcessorFill=this.emProcessorFill||"#edb3f6",this.emProcessorStroke=this.emProcessorStroke||"#b88cbf",this.emReadModelFill=this.emReadModelFill||"#d3f1a2",this.emReadModelStroke=this.emReadModelStroke||"#a3b732",this.emCommandFill=this.emCommandFill||"#bcd6fe",this.emCommandStroke=this.emCommandStroke||"#679ac3",this.emEventFill=this.emEventFill||"#ffb778",this.emEventStroke=this.emEventStroke||"#c19a0f",this.emSwimlaneBackgroundOdd=this.emSwimlaneBackgroundOdd||"rgb(250,250,250)",this.emSwimlaneBackgroundStroke=this.emSwimlaneBackgroundStroke||"rgb(240,240,240)",this.emArrowhead=this.emArrowhead||this.lineColor,this.emRelationStroke=this.emRelationStroke||this.lineColor,this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Pb,"Theme"),Pb),Qyt=x(t=>{const e=new Jyt;return e.calculate(t),e},"getThemeVariables"),_b,e2t=(_b=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=2,this.primaryBorderColor=rn(this.primaryColor,this.darkMode),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.nodeBorder="#000000",this.stateBorder="#000000",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 0px 1px 2px rgba(0, 0, 0, 0.25));",this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var a,s,o,l,u,d,h,f,p,g,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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?ct(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||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const e="#ECECFE",r="#E9E9F1",n=Ue(e,{h:180,l:5});if(this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||lt(e,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.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.taskTextLightColor=this.taskTextLightColor||this.textColor,this.taskTextColor=this.taskTextColor||this.primaryTextColor,this.taskTextDarkColor=this.taskTextDarkColor||this.textColor,this.taskTextClickableColor=this.taskTextClickableColor||"#003163",this.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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||"#f0f0f0",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||e,this.cScale1=this.cScale1||r,this.cScale2=this.cScale2||n,this.cScale3=this.cScale3||Ue(e,{h:30}),this.cScale4=this.cScale4||Ue(e,{h:60}),this.cScale5=this.cScale5||Ue(e,{h:90}),this.cScale6=this.cScale6||Ue(e,{h:120}),this.cScale7=this.cScale7||Ue(e,{h:150}),this.cScale8=this.cScale8||Ue(e,{h:210,l:150}),this.cScale9=this.cScale9||Ue(e,{h:270}),this.cScale10=this.cScale10||Ue(e,{h:300}),this.cScale11=this.cScale11||Ue(e,{h:330}),this.darkMode)for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScale"+U]=ct(this["cScale"+U],75);else for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScale"+U]=ct(this["cScale"+U],25);for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScaleInv"+U]=this["cScaleInv"+U]||rt(this["cScale"+U]);for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this.darkMode?this["cScalePeer"+U]=this["cScalePeer"+U]||lt(this["cScale"+U],10):this["cScalePeer"+U]=this["cScalePeer"+U]||ct(this["cScale"+U],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScaleLabel"+U]=this["cScaleLabel"+U]||this.scaleLabelColor;const i=this.darkMode?-4:-1;for(let U=0;U<5;U++)this["surface"+U]=this["surface"+U]||Ue(this.mainBkg,{h:180,s:-15,l:i*(5+U*3)}),this["surfacePeer"+U]=this["surfacePeer"+U]||Ue(this.mainBkg,{h:180,s:-15,l:i*(8+U*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||e,this.fillType1=this.fillType1||r,this.fillType2=this.fillType2||Ue(e,{h:64}),this.fillType3=this.fillType3||Ue(r,{h:64}),this.fillType4=this.fillType4||Ue(e,{h:-64}),this.fillType5=this.fillType5||Ue(r,{h:-64}),this.fillType6=this.fillType6||Ue(e,{h:128}),this.fillType7=this.fillType7||Ue(r,{h:128}),this.pie1=this.pie1||e,this.pie2=this.pie2||r,this.pie3=this.pie3||n,this.pie4=this.pie4||Ue(e,{l:-10}),this.pie5=this.pie5||Ue(r,{l:-10}),this.pie6=this.pie6||Ue(n,{l:-10}),this.pie7=this.pie7||Ue(e,{h:60,l:-10}),this.pie8=this.pie8||Ue(e,{h:-60,l:-10}),this.pie9=this.pie9||Ue(e,{h:120,l:0}),this.pie10=this.pie10||Ue(e,{h:60,l:-20}),this.pie11=this.pie11||Ue(e,{h:-60,l:-20}),this.pie12=this.pie12||Ue(e,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||e,this.quadrant2Fill=this.quadrant2Fill||Ue(e,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(e,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(e,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((s=this.xyChart)==null?void 0:s.titleColor)||this.primaryTextColor,xAxisTitleColor:((o=this.xyChart)==null?void 0:o.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((l=this.xyChart)==null?void 0:l.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((u=this.xyChart)==null?void 0:u.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((d=this.xyChart)==null?void 0:d.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((h=this.xyChart)==null?void 0:h.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((f=this.xyChart)==null?void 0:f.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((p=this.xyChart)==null?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((g=this.xyChart)==null?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((m=this.xyChart)==null?void 0:m.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||e,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||e,this.git1=this.git1||r,this.git2=this.git2||n,this.git3=this.git3||Ue(e,{h:-30}),this.git4=this.git4||Ue(e,{h:-60}),this.git5=this.git5||Ue(e,{h:-90}),this.git6=this.git6||Ue(e,{h:60}),this.git7=this.git7||Ue(e,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(_b,"Theme"),_b),t2t=x(t=>{const e=new e2t;return e.calculate(t),e},"getThemeVariables"),Bb,r2t=(Bb=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lt(this.primaryColor,16),this.tertiaryColor=Ue(this.primaryColor,{h:-160}),this.primaryBorderColor=rt(this.background),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.tertiaryColor),this.mainBkg="#2a2020",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lt(rt("#323D47"),10),this.border1="#ccc",this.border2=Ad(255,255,255,.25),this.arrowheadColor=rt(this.background),this.fontFamily="arial, sans-serif",this.fontSize="14px",this.labelBackground="#181818",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=3,this.strokeWidth=1,this.noteBkgColor="#fff5ad",this.noteTextColor="#333",this.THEME_COLOR_LIMIT=12,this.fontFamily="arial, sans-serif",this.fontSize="14px",this.useGradient=!0,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="drop-shadow( 1px 2px 2px rgba(185,185,185,0.2))",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.noteFontWeight="normal",this.fontWeight="normal"}updateColors(){var r,n,i,a,s,o,l,u,d,h,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#333"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#333",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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.border1,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?ct(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||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||lt(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.vertLineColor=this.vertLineColor||this.primaryBorderColor,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.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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||"#f0f0f0",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||Ue(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ue(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ue(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ue(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ue(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ue(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Ue(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ue(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ue(this.primaryColor,{h:330}),this.darkMode)for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScale"+p]=ct(this["cScale"+p],75);else for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScale"+p]=ct(this["cScale"+p],25);for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScaleInv"+p]=this["cScaleInv"+p]||rt(this["cScale"+p]);for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this.darkMode?this["cScalePeer"+p]=this["cScalePeer"+p]||lt(this["cScale"+p],10):this["cScalePeer"+p]=this["cScalePeer"+p]||ct(this["cScale"+p],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScaleLabel"+p]=this["cScaleLabel"+p]||this.scaleLabelColor;const e=this.darkMode?-4:-1;for(let p=0;p<5;p++)this["surface"+p]=this["surface"+p]||Ue(this.mainBkg,{h:180,s:-15,l:e*(5+p*3)}),this["surfacePeer"+p]=this["surfacePeer"+p]||Ue(this.mainBkg,{h:180,s:-15,l:e*(8+p*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Ue(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Ue(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Ue(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Ue(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Ue(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Ue(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Ue(this.primaryColor,{l:-10}),this.pie5=this.pie5||Ue(this.secondaryColor,{l:-10}),this.pie6=this.pie6||Ue(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||Ue(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Ue(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Ue(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Ue(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||Ue(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||Ue(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((r=this.xyChart)==null?void 0:r.backgroundColor)||this.background,titleColor:((n=this.xyChart)==null?void 0:n.titleColor)||this.primaryTextColor,xAxisTitleColor:((i=this.xyChart)==null?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((a=this.xyChart)==null?void 0:a.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((s=this.xyChart)==null?void 0:s.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((o=this.xyChart)==null?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((l=this.xyChart)==null?void 0:l.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((u=this.xyChart)==null?void 0:u.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((d=this.xyChart)==null?void 0:d.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((h=this.xyChart)==null?void 0:h.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((f=this.xyChart)==null?void 0:f.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||"#0b0000",this.git1=this.git1||"#4d1037",this.git2=this.git2||"#3f5258",this.git3=this.git3||"#4f2f1b",this.git4=this.git4||"#6e0a0a",this.git5=this.git5||"#3b0048",this.git6=this.git6||"#995a01",this.git7=this.git7||"#154706",this.gitDarkMode=!0,this.gitDarkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Bb,"Theme"),Bb),n2t=x(t=>{const e=new r2t;return e.calculate(t),e},"getThemeVariables"),$b,i2t=($b=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=rn("#28253D",this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.clusterBkg="#F9F9FB",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.filterColor="#000000"}updateColors(){var a,s,o,l,u,d,h,f,p,g,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#FEF9C3",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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?ct(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.noteFontWeight=600,this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const e="#ECECFE",r="#E9E9F1",n=Ue(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||lt(e,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.vertLineColor=this.vertLineColor||this.primaryBorderColor,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.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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.compositeTitleBackground="#F9F9FB",this.altBackground="#F9F9FB",this.stateEdgeLabelBackground="#FFFFFF",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",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;for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScale"+U]=this.mainBkg;if(this.darkMode)for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScale"+U]=ct(this["cScale"+U],75);else for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScale"+U]=ct(this["cScale"+U],25);for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScaleInv"+U]=this["cScaleInv"+U]||rt(this["cScale"+U]);for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this.darkMode?this["cScalePeer"+U]=this["cScalePeer"+U]||lt(this["cScale"+U],10):this["cScalePeer"+U]=this["cScalePeer"+U]||ct(this["cScale"+U],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScaleLabel"+U]=this["cScaleLabel"+U]||this.scaleLabelColor;const i=this.darkMode?-4:-1;for(let U=0;U<5;U++)this["surface"+U]=this["surface"+U]||Ue(this.mainBkg,{h:180,s:-15,l:i*(5+U*3)}),this["surfacePeer"+U]=this["surfacePeer"+U]||Ue(this.mainBkg,{h:180,s:-15,l:i*(8+U*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||e,this.fillType1=this.fillType1||r,this.fillType2=this.fillType2||Ue(e,{h:64}),this.fillType3=this.fillType3||Ue(r,{h:64}),this.fillType4=this.fillType4||Ue(e,{h:-64}),this.fillType5=this.fillType5||Ue(r,{h:-64}),this.fillType6=this.fillType6||Ue(e,{h:128}),this.fillType7=this.fillType7||Ue(r,{h:128}),this.pie1=this.pie1||e,this.pie2=this.pie2||r,this.pie3=this.pie3||n,this.pie4=this.pie4||Ue(e,{l:-10}),this.pie5=this.pie5||Ue(r,{l:-10}),this.pie6=this.pie6||Ue(n,{l:-10}),this.pie7=this.pie7||Ue(e,{h:60,l:-10}),this.pie8=this.pie8||Ue(e,{h:-60,l:-10}),this.pie9=this.pie9||Ue(e,{h:120,l:0}),this.pie10=this.pie10||Ue(e,{h:60,l:-20}),this.pie11=this.pie11||Ue(e,{h:-60,l:-20}),this.pie12=this.pie12||Ue(e,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||e,this.quadrant2Fill=this.quadrant2Fill||Ue(e,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(e,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(e,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((s=this.xyChart)==null?void 0:s.titleColor)||this.primaryTextColor,xAxisTitleColor:((o=this.xyChart)==null?void 0:o.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((l=this.xyChart)==null?void 0:l.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((u=this.xyChart)==null?void 0:u.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((d=this.xyChart)==null?void 0:d.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((h=this.xyChart)==null?void 0:h.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((f=this.xyChart)==null?void 0:f.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((p=this.xyChart)==null?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((g=this.xyChart)==null?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((m=this.xyChart)==null?void 0:m.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||e,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#FFFFFF",this.git0=this.git0||e,this.git1=this.git1||r,this.git2=this.git2||n,this.git3=this.git3||Ue(e,{h:-30}),this.git4=this.git4||Ue(e,{h:-60}),this.git5=this.git5||Ue(e,{h:-90}),this.git6=this.git6||Ue(e,{h:60}),this.git7=this.git7||Ue(e,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x($b,"Theme"),$b),a2t=x(t=>{const e=new i2t;return e.calculate(t),e},"getThemeVariables"),Fb,s2t=(Fb=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lt(this.primaryColor,16),this.tertiaryColor=Ue(this.primaryColor,{h:-160}),this.primaryBorderColor=rt(this.background),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lt(rt("#323D47"),10),this.border1="#ccc",this.border2=Ad(255,255,255,.25),this.arrowheadColor=rt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.filterColor="#FFFFFF"}updateColors(){var r,n,i,a,s,o,l,u,d,h,f;if(this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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.border1,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?ct(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,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||lt(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.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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.vertLineColor=this.vertLineColor||this.primaryBorderColor,this.compositeBackground="#16141F",this.altBackground="#16141F",this.compositeTitleBackground="#16141F",this.stateEdgeLabelBackground="#16141F",this.fontWeight=600,this.stateBkg=this.stateBkg||this.mainBkg,this.labelBackgroundColor=this.labelBackgroundColor||this.stateBkg,this.compositeBackground=this.compositeBackground||this.background||this.tertiaryColor,this.altBackground=this.altBackground||"#f0f0f0",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||Ue(this.primaryColor,{h:30}),this.cScale4=this.cScale4||Ue(this.primaryColor,{h:60}),this.cScale5=this.cScale5||Ue(this.primaryColor,{h:90}),this.cScale6=this.cScale6||Ue(this.primaryColor,{h:120}),this.cScale7=this.cScale7||Ue(this.primaryColor,{h:150}),this.cScale8=this.cScale8||Ue(this.primaryColor,{h:210,l:150}),this.cScale9=this.cScale9||Ue(this.primaryColor,{h:270}),this.cScale10=this.cScale10||Ue(this.primaryColor,{h:300}),this.cScale11=this.cScale11||Ue(this.primaryColor,{h:330}),this.darkMode)for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScale"+p]=ct(this["cScale"+p],75);else for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScale"+p]=ct(this["cScale"+p],25);for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScaleInv"+p]=this["cScaleInv"+p]||rt(this["cScale"+p]);for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this.darkMode?this["cScalePeer"+p]=this["cScalePeer"+p]||lt(this["cScale"+p],10):this["cScalePeer"+p]=this["cScalePeer"+p]||ct(this["cScale"+p],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScaleLabel"+p]=this["cScaleLabel"+p]||this.scaleLabelColor;const e=this.darkMode?-4:-1;for(let p=0;p<5;p++)this["surface"+p]=this["surface"+p]||Ue(this.mainBkg,{h:180,s:-15,l:e*(5+p*3)}),this["surfacePeer"+p]=this["surfacePeer"+p]||Ue(this.mainBkg,{h:180,s:-15,l:e*(8+p*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Ue(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Ue(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Ue(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Ue(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Ue(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Ue(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Ue(this.primaryColor,{l:-10}),this.pie5=this.pie5||Ue(this.secondaryColor,{l:-10}),this.pie6=this.pie6||Ue(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||Ue(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Ue(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Ue(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Ue(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||Ue(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||Ue(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((r=this.xyChart)==null?void 0:r.backgroundColor)||this.background,titleColor:((n=this.xyChart)==null?void 0:n.titleColor)||this.primaryTextColor,xAxisTitleColor:((i=this.xyChart)==null?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((a=this.xyChart)==null?void 0:a.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((s=this.xyChart)==null?void 0:s.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((o=this.xyChart)==null?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((l=this.xyChart)==null?void 0:l.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((u=this.xyChart)==null?void 0:u.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((d=this.xyChart)==null?void 0:d.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((h=this.xyChart)==null?void 0:h.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((f=this.xyChart)==null?void 0:f.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.requirementEdgeLabelBackground="#16141F",this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Ue(this.primaryColor,{h:-30}),this.git4=this.git4||Ue(this.primaryColor,{h:-60}),this.git5=this.git5||Ue(this.primaryColor,{h:-90}),this.git6=this.git6||Ue(this.primaryColor,{h:60}),this.git7=this.git7||Ue(this.primaryColor,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Fb,"Theme"),Fb),o2t=x(t=>{const e=new s2t;return e.calculate(t),e},"getThemeVariables"),zb,l2t=(zb=class{constructor(){this.background="#ffffff",this.primaryColor="#cccccc",this.mainBkg="#ffffff",this.noteBkgColor="#fff5ad",this.noteTextColor="#28253D",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.primaryBorderColor=rn(this.primaryColor,this.darkMode),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#28253D",this.stateBorder="#28253D",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.tertiaryColor="#ffffff",this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.actorBorder="#28253D",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=["#FDF4FF","#F0FDFA","#FFF7ED","#ECFEFF","#F0FDF4","#F5F3FF","#FEF2F2","#FEFCE8","#EEF2FF","#F7FEE7","#F0F9FF","#FFF1F2"],this.filterColor="#000000"}updateColors(){var a,s,o,l,u,d,h,f,p,g,m;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#28253D"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#28253D",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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?ct(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||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor;const e="#ECECFE",r="#E9E9F1",n=Ue(e,{h:180,l:5});this.sectionBkgColor=this.sectionBkgColor||n,this.altSectionBkgColor=this.altSectionBkgColor||"white",this.sectionBkgColor=this.sectionBkgColor||r,this.sectionBkgColor2=this.sectionBkgColor2||e,this.excludeBkgColor=this.excludeBkgColor||"#eeeeee",this.taskBorderColor=this.taskBorderColor||this.primaryBorderColor,this.taskBkgColor=this.taskBkgColor||e,this.activeTaskBorderColor=this.activeTaskBorderColor||e,this.activeTaskBkgColor=this.activeTaskBkgColor||lt(e,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.vertLineColor=this.vertLineColor||this.primaryBorderColor,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.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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||"#f0f0f0",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||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScaleInv"+U]=this["cScaleInv"+U]||rt(this["cScale"+U]);for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this.darkMode?this["cScalePeer"+U]=this["cScalePeer"+U]||lt(this["cScale"+U],10):this["cScalePeer"+U]=this["cScalePeer"+U]||ct(this["cScale"+U],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let U=0;U<this.THEME_COLOR_LIMIT;U++)this["cScaleLabel"+U]=this["cScaleLabel"+U]||this.scaleLabelColor;const i=this.darkMode?-4:-1;for(let U=0;U<5;U++)this["surface"+U]=this["surface"+U]||Ue(this.mainBkg,{h:180,s:-15,l:i*(5+U*3)}),this["surfacePeer"+U]=this["surfacePeer"+U]||Ue(this.mainBkg,{h:180,s:-15,l:i*(8+U*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||e,this.fillType1=this.fillType1||r,this.fillType2=this.fillType2||Ue(e,{h:64}),this.fillType3=this.fillType3||Ue(r,{h:64}),this.fillType4=this.fillType4||Ue(e,{h:-64}),this.fillType5=this.fillType5||Ue(r,{h:-64}),this.fillType6=this.fillType6||Ue(e,{h:128}),this.fillType7=this.fillType7||Ue(r,{h:128}),this.pie1=this.pie1||e,this.pie2=this.pie2||r,this.pie3=this.pie3||n,this.pie4=this.pie4||Ue(e,{l:-10}),this.pie5=this.pie5||Ue(r,{l:-10}),this.pie6=this.pie6||Ue(n,{l:-10}),this.pie7=this.pie7||Ue(e,{h:60,l:-10}),this.pie8=this.pie8||Ue(e,{h:-60,l:-10}),this.pie9=this.pie9||Ue(e,{h:120,l:0}),this.pie10=this.pie10||Ue(e,{h:60,l:-20}),this.pie11=this.pie11||Ue(e,{h:-60,l:-20}),this.pie12=this.pie12||Ue(e,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||e,this.quadrant2Fill=this.quadrant2Fill||Ue(e,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(e,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(e,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((a=this.xyChart)==null?void 0:a.backgroundColor)||this.background,titleColor:((s=this.xyChart)==null?void 0:s.titleColor)||this.primaryTextColor,xAxisTitleColor:((o=this.xyChart)==null?void 0:o.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((l=this.xyChart)==null?void 0:l.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((u=this.xyChart)==null?void 0:u.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((d=this.xyChart)==null?void 0:d.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((h=this.xyChart)==null?void 0:h.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((f=this.xyChart)==null?void 0:f.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((p=this.xyChart)==null?void 0:p.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((g=this.xyChart)==null?void 0:g.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((m=this.xyChart)==null?void 0:m.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||e,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||e,this.git1=this.git1||r,this.git2=this.git2||n,this.git3=this.git3||Ue(e,{h:-30}),this.git4=this.git4||Ue(e,{h:-60}),this.git5=this.git5||Ue(e,{h:-90}),this.git6=this.git6||Ue(e,{h:60}),this.git7=this.git7||Ue(e,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLineColor=this.commitLineColor??"#BDBCCC",this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.fontWeight=600,this.erEdgeLabelBackground="#FFFFFF",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(zb,"Theme"),zb),c2t=x(t=>{const e=new l2t;return e.calculate(t),e},"getThemeVariables"),Hb,u2t=(Hb=class{constructor(){this.background="#333",this.primaryColor="#1f2020",this.secondaryColor=lt(this.primaryColor,16),this.tertiaryColor=Ue(this.primaryColor,{h:-160}),this.primaryBorderColor=rt(this.background),this.secondaryBorderColor=rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=rn(this.tertiaryColor,this.darkMode),this.primaryTextColor=rt(this.primaryColor),this.secondaryTextColor=rt(this.secondaryColor),this.tertiaryTextColor=rt(this.tertiaryColor),this.mainBkg="#111113",this.secondBkg="calculated",this.mainContrastColor="lightgrey",this.darkTextColor=lt(rt("#323D47"),10),this.border1="#ccc",this.border2=Ad(255,255,255,.25),this.arrowheadColor=rt(this.background),this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.labelBackground="#111113",this.textColor="#ccc",this.THEME_COLOR_LIMIT=12,this.radius=12,this.strokeWidth=2,this.noteBkgColor=this.noteBkgColor??"#FEF9C3",this.noteTextColor=this.noteTextColor??"#28253D",this.THEME_COLOR_LIMIT=12,this.fontFamily='"Recursive Variable", arial, sans-serif',this.fontSize="14px",this.nodeBorder="#FFFFFF",this.stateBorder="#FFFFFF",this.useGradient=!1,this.gradientStart="#0042eb",this.gradientStop="#eb0042",this.dropShadow="url(#drop-shadow)",this.nodeShadow=!0,this.archEdgeColor="calculated",this.archEdgeArrowColor="calculated",this.archEdgeWidth="3",this.archGroupBorderColor=this.primaryBorderColor,this.archGroupBorderWidth="2px",this.clusterBkg="#1E1A2E",this.clusterBorder="#BDBCCC",this.noteBorderColor="#FACC15",this.noteFontWeight=600,this.borderColorArray=["#E879F9","#2DD4BF","#FB923C","#22D3EE","#4ADE80","#A78BFA","#F87171","#FACC15","#818CF8","#A3E635 ","#38BDF8","#FB7185"],this.bkgColorArray=[],this.filterColor="#FFFFFF"}updateColors(){var r,n,i,a,s,o,l,u,d,h,f;this.primaryTextColor=this.primaryTextColor||(this.darkMode?"#eee":"#FFFFFF"),this.secondaryColor=this.secondaryColor||Ue(this.primaryColor,{h:-120}),this.tertiaryColor=this.tertiaryColor||Ue(this.primaryColor,{h:180,l:5}),this.primaryBorderColor=this.primaryBorderColor||rn(this.primaryColor,this.darkMode),this.secondaryBorderColor=this.secondaryBorderColor||rn(this.secondaryColor,this.darkMode),this.tertiaryBorderColor=this.tertiaryBorderColor||rn(this.tertiaryColor,this.darkMode),this.noteBorderColor=this.noteBorderColor||rn(this.noteBkgColor,this.darkMode),this.noteBkgColor=this.noteBkgColor||"#fff5ad",this.noteTextColor=this.noteTextColor||"#FFFFFF",this.secondaryTextColor=this.secondaryTextColor||rt(this.secondaryColor),this.tertiaryTextColor=this.tertiaryTextColor||rt(this.tertiaryColor),this.lineColor=this.lineColor||rt(this.background),this.arrowheadColor=this.arrowheadColor||rt(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.border1,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?ct(this.secondaryColor,30):this.secondaryColor),this.nodeTextColor=this.nodeTextColor||this.primaryTextColor,this.actorBorder="#FFFFFF",this.signalColor="#FFFFFF",this.labelBoxBorderColor="#BDBCCC",this.actorBorder=this.actorBorder||this.primaryBorderColor,this.actorBkg=this.actorBkg||this.mainBkg,this.actorTextColor=this.actorTextColor||this.primaryTextColor,this.actorLineColor=this.actorLineColor||this.actorBorder,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||ct(this.secondaryColor,10),this.activationBkgColor=this.activationBkgColor||this.secondaryColor,this.sequenceNumberColor=this.sequenceNumberColor||rt(this.lineColor),this.rectBkgColor=this.rectBkgColor||this.tertiaryColor,this.rootLabelColor="#FFFFFF",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||lt(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.vertLineColor=this.vertLineColor||this.primaryBorderColor,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.archEdgeColor=this.lineColor,this.archEdgeArrowColor=this.lineColor,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||"#f0f0f0",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||"#f4a8ff",this.cScale1=this.cScale1||"#46ecd5",this.cScale2=this.cScale2||"#ffb86a",this.cScale3=this.cScale3||"#dab2ff",this.cScale4=this.cScale4||"#7bf1a8",this.cScale5=this.cScale5||"#c4b4ff",this.cScale6=this.cScale6||"#ffa2a2",this.cScale7=this.cScale7||"#ffdf20",this.cScale8=this.cScale8||"#a3b3ff",this.cScale9=this.cScale9||"#bbf451",this.cScale10=this.cScale10||"#74d4ff",this.cScale11=this.cScale11||"#ffa1ad";for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScaleInv"+p]=this["cScaleInv"+p]||rt(this["cScale"+p]);for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this.darkMode?this["cScalePeer"+p]=this["cScalePeer"+p]||lt(this["cScale"+p],10):this["cScalePeer"+p]=this["cScalePeer"+p]||ct(this["cScale"+p],10);this.scaleLabelColor=this.scaleLabelColor||this.labelTextColor;for(let p=0;p<this.THEME_COLOR_LIMIT;p++)this["cScaleLabel"+p]=ct(this["cScale"+p],75);const e=this.darkMode?-4:-1;for(let p=0;p<5;p++)this["surface"+p]=this["surface"+p]||Ue(this.mainBkg,{h:180,s:-15,l:e*(5+p*3)}),this["surfacePeer"+p]=this["surfacePeer"+p]||Ue(this.mainBkg,{h:180,s:-15,l:e*(8+p*3)});this.classText=this.classText||this.textColor,this.fillType0=this.fillType0||this.primaryColor,this.fillType1=this.fillType1||this.secondaryColor,this.fillType2=this.fillType2||Ue(this.primaryColor,{h:64}),this.fillType3=this.fillType3||Ue(this.secondaryColor,{h:64}),this.fillType4=this.fillType4||Ue(this.primaryColor,{h:-64}),this.fillType5=this.fillType5||Ue(this.secondaryColor,{h:-64}),this.fillType6=this.fillType6||Ue(this.primaryColor,{h:128}),this.fillType7=this.fillType7||Ue(this.secondaryColor,{h:128}),this.pie1=this.pie1||this.primaryColor,this.pie2=this.pie2||this.secondaryColor,this.pie3=this.pie3||this.tertiaryColor,this.pie4=this.pie4||Ue(this.primaryColor,{l:-10}),this.pie5=this.pie5||Ue(this.secondaryColor,{l:-10}),this.pie6=this.pie6||Ue(this.tertiaryColor,{l:-10}),this.pie7=this.pie7||Ue(this.primaryColor,{h:60,l:-10}),this.pie8=this.pie8||Ue(this.primaryColor,{h:-60,l:-10}),this.pie9=this.pie9||Ue(this.primaryColor,{h:120,l:0}),this.pie10=this.pie10||Ue(this.primaryColor,{h:60,l:-20}),this.pie11=this.pie11||Ue(this.primaryColor,{h:-60,l:-20}),this.pie12=this.pie12||Ue(this.primaryColor,{h:120,l:-10}),this.pieTitleTextSize=this.pieTitleTextSize||"25px",this.pieTitleTextColor=this.pieTitleTextColor||this.taskTextDarkColor,this.pieSectionTextSize=this.pieSectionTextSize||"17px",this.pieSectionTextColor=this.pieSectionTextColor||this.textColor,this.pieLegendTextSize=this.pieLegendTextSize||"17px",this.pieLegendTextColor=this.pieLegendTextColor||this.taskTextDarkColor,this.pieStrokeColor=this.pieStrokeColor||"black",this.pieStrokeWidth=this.pieStrokeWidth||"2px",this.pieOuterStrokeWidth=this.pieOuterStrokeWidth||"2px",this.pieOuterStrokeColor=this.pieOuterStrokeColor||"black",this.pieOpacity=this.pieOpacity||"0.7",this.vennTitleTextColor=this.vennTitleTextColor??this.titleColor,this.vennSetTextColor=this.vennSetTextColor??this.textColor,this.quadrant1Fill=this.quadrant1Fill||this.primaryColor,this.quadrant2Fill=this.quadrant2Fill||Ue(this.primaryColor,{r:5,g:5,b:5}),this.quadrant3Fill=this.quadrant3Fill||Ue(this.primaryColor,{r:10,g:10,b:10}),this.quadrant4Fill=this.quadrant4Fill||Ue(this.primaryColor,{r:15,g:15,b:15}),this.quadrant1TextFill=this.quadrant1TextFill||this.primaryTextColor,this.quadrant2TextFill=this.quadrant2TextFill||Ue(this.primaryTextColor,{r:-5,g:-5,b:-5}),this.quadrant3TextFill=this.quadrant3TextFill||Ue(this.primaryTextColor,{r:-10,g:-10,b:-10}),this.quadrant4TextFill=this.quadrant4TextFill||Ue(this.primaryTextColor,{r:-15,g:-15,b:-15}),this.quadrantPointFill=this.quadrantPointFill||Kl(this.quadrant1Fill)?lt(this.quadrant1Fill):ct(this.quadrant1Fill),this.quadrantPointTextFill=this.quadrantPointTextFill||this.primaryTextColor,this.quadrantXAxisTextFill=this.quadrantXAxisTextFill||this.primaryTextColor,this.quadrantYAxisTextFill=this.quadrantYAxisTextFill||this.primaryTextColor,this.quadrantInternalBorderStrokeFill=this.quadrantInternalBorderStrokeFill||this.primaryBorderColor,this.quadrantExternalBorderStrokeFill=this.quadrantExternalBorderStrokeFill||this.primaryBorderColor,this.quadrantTitleFill=this.quadrantTitleFill||this.primaryTextColor,this.xyChart={backgroundColor:((r=this.xyChart)==null?void 0:r.backgroundColor)||this.background,titleColor:((n=this.xyChart)==null?void 0:n.titleColor)||this.primaryTextColor,xAxisTitleColor:((i=this.xyChart)==null?void 0:i.xAxisTitleColor)||this.primaryTextColor,xAxisLabelColor:((a=this.xyChart)==null?void 0:a.xAxisLabelColor)||this.primaryTextColor,xAxisTickColor:((s=this.xyChart)==null?void 0:s.xAxisTickColor)||this.primaryTextColor,xAxisLineColor:((o=this.xyChart)==null?void 0:o.xAxisLineColor)||this.primaryTextColor,yAxisTitleColor:((l=this.xyChart)==null?void 0:l.yAxisTitleColor)||this.primaryTextColor,yAxisLabelColor:((u=this.xyChart)==null?void 0:u.yAxisLabelColor)||this.primaryTextColor,yAxisTickColor:((d=this.xyChart)==null?void 0:d.yAxisTickColor)||this.primaryTextColor,yAxisLineColor:((h=this.xyChart)==null?void 0:h.yAxisLineColor)||this.primaryTextColor,plotColorPalette:((f=this.xyChart)==null?void 0:f.plotColorPalette)||"#FFF4DD,#FFD8B1,#FFA07A,#ECEFF1,#D6DBDF,#C3E0A8,#FFB6A4,#FFD74D,#738FA7,#FFFFF0"},this.requirementBackground=this.requirementBackground||this.primaryColor,this.requirementBorderColor=this.requirementBorderColor||this.primaryBorderColor,this.requirementBorderSize=this.requirementBorderSize||"1",this.requirementTextColor=this.requirementTextColor||this.primaryTextColor,this.relationColor=this.relationColor||this.lineColor,this.relationLabelBackground=this.relationLabelBackground||(this.darkMode?ct(this.secondaryColor,30):this.secondaryColor),this.relationLabelColor=this.relationLabelColor||this.actorTextColor,this.git0=this.git0||this.primaryColor,this.git1=this.git1||this.secondaryColor,this.git2=this.git2||this.tertiaryColor,this.git3=this.git3||Ue(this.primaryColor,{h:-30}),this.git4=this.git4||Ue(this.primaryColor,{h:-60}),this.git5=this.git5||Ue(this.primaryColor,{h:-90}),this.git6=this.git6||Ue(this.primaryColor,{h:60}),this.git7=this.git7||Ue(this.primaryColor,{h:120}),this.darkMode?(this.git0=lt(this.git0,25),this.git1=lt(this.git1,25),this.git2=lt(this.git2,25),this.git3=lt(this.git3,25),this.git4=lt(this.git4,25),this.git5=lt(this.git5,25),this.git6=lt(this.git6,25),this.git7=lt(this.git7,25)):(this.git0=ct(this.git0,25),this.git1=ct(this.git1,25),this.git2=ct(this.git2,25),this.git3=ct(this.git3,25),this.git4=ct(this.git4,25),this.git5=ct(this.git5,25),this.git6=ct(this.git6,25),this.git7=ct(this.git7,25)),this.gitInv0=this.gitInv0||rt(this.git0),this.gitInv1=this.gitInv1||rt(this.git1),this.gitInv2=this.gitInv2||rt(this.git2),this.gitInv3=this.gitInv3||rt(this.git3),this.gitInv4=this.gitInv4||rt(this.git4),this.gitInv5=this.gitInv5||rt(this.git5),this.gitInv6=this.gitInv6||rt(this.git6),this.gitInv7=this.gitInv7||rt(this.git7),this.branchLabelColor=this.branchLabelColor||(this.darkMode?"black":this.labelTextColor),this.gitBranchLabel0=this.gitBranchLabel0||this.branchLabelColor,this.gitBranchLabel1=this.gitBranchLabel1||this.branchLabelColor,this.gitBranchLabel2=this.gitBranchLabel2||this.branchLabelColor,this.gitBranchLabel3=this.gitBranchLabel3||this.branchLabelColor,this.gitBranchLabel4=this.gitBranchLabel4||this.branchLabelColor,this.gitBranchLabel5=this.gitBranchLabel5||this.branchLabelColor,this.gitBranchLabel6=this.gitBranchLabel6||this.branchLabelColor,this.gitBranchLabel7=this.gitBranchLabel7||this.branchLabelColor,this.tagLabelColor=this.tagLabelColor||this.primaryTextColor,this.tagLabelBackground=this.tagLabelBackground||this.primaryColor,this.tagLabelBorder=this.tagBorder||this.primaryBorderColor,this.tagLabelFontSize=this.tagLabelFontSize||"10px",this.commitLabelColor=this.commitLabelColor||this.secondaryTextColor,this.commitLabelBackground=this.commitLabelBackground||this.secondaryColor,this.commitLabelFontSize=this.commitLabelFontSize||"10px",this.commitLineColor=this.commitLineColor??"#BDBCCC",this.fontWeight=600,this.erEdgeLabelBackground="#16141F",this.attributeBackgroundColorOdd=this.attributeBackgroundColorOdd||nf,this.attributeBackgroundColorEven=this.attributeBackgroundColorEven||af}calculate(e){if(typeof e!="object"){this.updateColors();return}const r=Object.keys(e);r.forEach(n=>{this[n]=e[n]}),this.updateColors(),r.forEach(n=>{this[n]=e[n]})}},x(Hb,"Theme"),Hb),d2t=x(t=>{const e=new u2t;return e.calculate(t),e},"getThemeVariables"),x0={base:{getThemeVariables:qyt},dark:{getThemeVariables:Yyt},default:{getThemeVariables:ip},forest:{getThemeVariables:Zyt},neutral:{getThemeVariables:Qyt},neo:{getThemeVariables:t2t},"neo-dark":{getThemeVariables:n2t},redux:{getThemeVariables:a2t},"redux-dark":{getThemeVariables:o2t},"redux-color":{getThemeVariables:c2t},"redux-dark-color":{getThemeVariables:d2t}},mo={flowchart:{useMaxWidth:!0,titleTopMargin:25,subGraphTitleMargin:{top:0,bottom:0},diagramPadding:8,htmlLabels:null,nodeSpacing:50,rankSpacing:50,curve:"basis",padding:15,defaultRenderer:"dagre-wrapper",wrappingWidth:200,inheritDir:!1},swimlane:{useMaxWidth:!0,lineHops:"arc",ignoreCrossLaneEdges:!0,optimizeRanksByCrossings:!0,automaticLaneOrdering:!1},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,maxLabelWidth:360,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"],titleColor:"",titleFontFamily:'"trebuchet ms", verdana, arial, sans-serif',titleFontSize:"4ex"},class:{useMaxWidth:!0,titleTopMargin:25,arrowMarkerAbsolute:!1,dividerMargin:10,padding:5,textHeight:10,defaultRenderer:"dagre-wrapper",htmlLabels:!1,hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},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,nodeSpacing:140,rankSpacing:80,stroke:"gray",fill:"honeydew",fontSize:12},pie:{useMaxWidth:!0,textPosition:.75,donutHole:0,legendPosition:"right",highlightSlice:""},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,showDataLabel:!1,showDataLabelOutsideBar:!1,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,labelRotation:0},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,labelRotation:0},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,layoutAlgorithm:"cose-bilkent"},ishikawa:{useMaxWidth:!0,diagramPadding:20},kanban:{useMaxWidth:!0,padding:8,sectionWidth:200,ticketBaseUrl:""},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:"",nodeWidth:10,nodePadding:12,labelStyle:"legacy"},block:{useMaxWidth:!0,padding:8},packet:{useMaxWidth:!0,rowHeight:32,bitWidth:32,bitsPerRow:32,showBits:!0,paddingX:5,paddingY:5},treeView:{useMaxWidth:!0,rowIndent:10,paddingX:5,paddingY:5,lineThickness:1,showIcons:!1,defaultIconPack:"",filenameIcons:{},extensionIcons:{}},architecture:{useMaxWidth:!0,padding:40,iconSize:80,fontSize:16,randomize:!1,nodeSeparation:75,idealEdgeLengthMultiplier:1.5,edgeElasticity:.45,numIter:2500,seed:1},eventmodeling:{useMaxWidth:!0,padding:30,rowHeight:32},radar:{useMaxWidth:!0,width:600,height:600,marginTop:50,marginRight:50,marginBottom:50,marginLeft:50,axisScaleFactor:1,axisLabelFactor:1.05,curveTension:.17},venn:{useMaxWidth:!0,width:800,height:450,padding:8,useDebugLayout:!1},cynefin:{useMaxWidth:!0,width:800,height:600,padding:40,showDomainDescriptions:!0,boundaryAmplitude:8,seed:0},theme:"default",look:"classic",handDrawnSeed:0,layout:"dagre",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","suppressErrorRendering","maxEdges"],legacyMathML:!1,forceLegacyMathML:!1,deterministicIds:!1,fontSize:16,markdownAutoWrap:!0,suppressErrorRendering:!1},x3e={...mo,deterministicIDSeed:void 0,elk:{mergeEdges:!1,nodePlacementStrategy:"BRANDES_KOEPF",forceNodeModelOrder:!1,considerModelOrder:"NODES_AND_EDGES"},themeCSS:void 0,themeVariables:x0.default.getThemeVariables(),sequence:{...mo.sequence,messageFont:x(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont"),noteFont:x(function(){return{fontFamily:this.noteFontFamily,fontSize:this.noteFontSize,fontWeight:this.noteFontWeight}},"noteFont"),actorFont:x(function(){return{fontFamily:this.actorFontFamily,fontSize:this.actorFontSize,fontWeight:this.actorFontWeight}},"actorFont")},class:{hideEmptyMembersBox:!1,hierarchicalNamespaces:!0},gantt:{...mo.gantt,tickInterval:void 0,useWidth:void 0},c4:{...mo.c4,useWidth:void 0,personFont:x(function(){return{fontFamily:this.personFontFamily,fontSize:this.personFontSize,fontWeight:this.personFontWeight}},"personFont"),flowchart:{...mo.flowchart,inheritDir:!1},external_personFont:x(function(){return{fontFamily:this.external_personFontFamily,fontSize:this.external_personFontSize,fontWeight:this.external_personFontWeight}},"external_personFont"),systemFont:x(function(){return{fontFamily:this.systemFontFamily,fontSize:this.systemFontSize,fontWeight:this.systemFontWeight}},"systemFont"),external_systemFont:x(function(){return{fontFamily:this.external_systemFontFamily,fontSize:this.external_systemFontSize,fontWeight:this.external_systemFontWeight}},"external_systemFont"),system_dbFont:x(function(){return{fontFamily:this.system_dbFontFamily,fontSize:this.system_dbFontSize,fontWeight:this.system_dbFontWeight}},"system_dbFont"),external_system_dbFont:x(function(){return{fontFamily:this.external_system_dbFontFamily,fontSize:this.external_system_dbFontSize,fontWeight:this.external_system_dbFontWeight}},"external_system_dbFont"),system_queueFont:x(function(){return{fontFamily:this.system_queueFontFamily,fontSize:this.system_queueFontSize,fontWeight:this.system_queueFontWeight}},"system_queueFont"),external_system_queueFont:x(function(){return{fontFamily:this.external_system_queueFontFamily,fontSize:this.external_system_queueFontSize,fontWeight:this.external_system_queueFontWeight}},"external_system_queueFont"),containerFont:x(function(){return{fontFamily:this.containerFontFamily,fontSize:this.containerFontSize,fontWeight:this.containerFontWeight}},"containerFont"),external_containerFont:x(function(){return{fontFamily:this.external_containerFontFamily,fontSize:this.external_containerFontSize,fontWeight:this.external_containerFontWeight}},"external_containerFont"),container_dbFont:x(function(){return{fontFamily:this.container_dbFontFamily,fontSize:this.container_dbFontSize,fontWeight:this.container_dbFontWeight}},"container_dbFont"),external_container_dbFont:x(function(){return{fontFamily:this.external_container_dbFontFamily,fontSize:this.external_container_dbFontSize,fontWeight:this.external_container_dbFontWeight}},"external_container_dbFont"),container_queueFont:x(function(){return{fontFamily:this.container_queueFontFamily,fontSize:this.container_queueFontSize,fontWeight:this.container_queueFontWeight}},"container_queueFont"),external_container_queueFont:x(function(){return{fontFamily:this.external_container_queueFontFamily,fontSize:this.external_container_queueFontSize,fontWeight:this.external_container_queueFontWeight}},"external_container_queueFont"),componentFont:x(function(){return{fontFamily:this.componentFontFamily,fontSize:this.componentFontSize,fontWeight:this.componentFontWeight}},"componentFont"),external_componentFont:x(function(){return{fontFamily:this.external_componentFontFamily,fontSize:this.external_componentFontSize,fontWeight:this.external_componentFontWeight}},"external_componentFont"),component_dbFont:x(function(){return{fontFamily:this.component_dbFontFamily,fontSize:this.component_dbFontSize,fontWeight:this.component_dbFontWeight}},"component_dbFont"),external_component_dbFont:x(function(){return{fontFamily:this.external_component_dbFontFamily,fontSize:this.external_component_dbFontSize,fontWeight:this.external_component_dbFontWeight}},"external_component_dbFont"),component_queueFont:x(function(){return{fontFamily:this.component_queueFontFamily,fontSize:this.component_queueFontSize,fontWeight:this.component_queueFontWeight}},"component_queueFont"),external_component_queueFont:x(function(){return{fontFamily:this.external_component_queueFontFamily,fontSize:this.external_component_queueFontSize,fontWeight:this.external_component_queueFontWeight}},"external_component_queueFont"),boundaryFont:x(function(){return{fontFamily:this.boundaryFontFamily,fontSize:this.boundaryFontSize,fontWeight:this.boundaryFontWeight}},"boundaryFont"),messageFont:x(function(){return{fontFamily:this.messageFontFamily,fontSize:this.messageFontSize,fontWeight:this.messageFontWeight}},"messageFont")},pie:{...mo.pie,useWidth:984},xyChart:{...mo.xyChart,useWidth:void 0},requirement:{...mo.requirement,useWidth:void 0},packet:{...mo.packet},eventmodeling:{...mo.eventmodeling},treeView:{...mo.treeView,useWidth:void 0},radar:{...mo.radar},railroad:{...mo.railroad,fontSize:void 0,fontFamily:void 0,terminalFill:void 0,terminalStroke:void 0,terminalTextColor:void 0,nonTerminalFill:void 0,nonTerminalStroke:void 0,nonTerminalTextColor:void 0,lineColor:void 0,markerFill:void 0,commentFill:void 0,commentStroke:void 0,commentTextColor:void 0,specialFill:void 0,specialStroke:void 0,ruleNameColor:void 0},ishikawa:{...mo.ishikawa},sankey:{...mo.sankey,nodeColors:void 0},treemap:{useMaxWidth:!0,padding:10,diagramPadding:8,showValues:!0,nodeWidth:100,nodeHeight:40,borderWidth:1,valueFontSize:12,labelFontSize:14,valueFormat:","},venn:{...mo.venn},cynefin:{...mo.cynefin}},w3e=x((t,e="")=>Object.keys(t).reduce((r,n)=>Array.isArray(t[n])?r:typeof t[n]=="object"&&t[n]!==null?[...r,e+n,...w3e(t[n],"")]:[...r,e+n],[]),"keyify"),h2t=new Set(w3e(x3e,"")),An=x3e,f2t={nodeColors:/^#[\da-f]{3,8}$|^rgb\([\d\s%,.]+\)$|^hsl\([\d\s%,.]+\)$|^[a-z]+$/i,filenameIcons:/^[\w-]+(?::[\w-]+)?$/,extensionIcons:/^[\w-]+(?::[\w-]+)?$/},p2t=x((t,e)=>{for(const r of Object.keys(t)){const n=t[r];(r.startsWith("__")||r.includes("proto")||r.includes("constr")||typeof n!="string"||!e.test(n))&&(he.debug("sanitize deleting dictionary entry:",r,n),delete t[r])}},"sanitizeDictionaryConfig"),GR=x(t=>{if(he.debug("sanitizeDirective called with",t),!(typeof t!="object"||t==null)){if(Array.isArray(t)){t.forEach(e=>GR(e));return}for(const e of Object.keys(t)){if(he.debug("Checking key",e),e.startsWith("__")||e.includes("proto")||e.includes("constr")||!h2t.has(e)||t[e]==null){he.debug("sanitize deleting key: ",e),delete t[e];continue}if(typeof t[e]=="object"){const n=f2t[e];n?p2t(t[e],n):(he.debug("sanitizing object",e),GR(t[e]));continue}const r=["themeCSS","fontFamily","altFontFamily"];for(const n of r)e.includes(n)&&(he.debug("sanitizing css option",e),t[e]=T3e(t[e]))}if(t.themeVariables)for(const e of Object.keys(t.themeVariables)){const r=t.themeVariables[e];r!=null&&r.match&&!r.match(/^[\d "#%(),.;A-Za-z]+$/)&&(t.themeVariables[e]="")}he.debug("After sanitization",t)}},"sanitizeDirective"),T3e=x(t=>{let e=0,r=0;for(const n of t){if(e<r)return"{ /* ERROR: Unbalanced CSS */ }";n==="{"?e++:n==="}"&&r++}return e!==r?"{ /* ERROR: Unbalanced CSS */ }":t},"sanitizeCss"),_v=Object.freeze(An),sf=x(t=>!(t===!1||["false","null","0"].includes(String(t).trim().toLowerCase())),"evaluate"),pc=ls({},_v),WR,jU=[],zx=ls({},_v),rS=x((t,e)=>{let r=ls({},t),n={};for(const i of e)k3e(i),n=ls(n,i);if(r=ls(r,n),n.theme&&n.theme in x0){const i=ls({},WR),a=ls(i.themeVariables||{},n.themeVariables);r.theme&&r.theme in x0&&(r.themeVariables=x0[r.theme].getThemeVariables(a))}return zx=r,v2t(zx),zx},"updateCurrentConfig"),g2t=x(t=>(pc=ls({},_v),pc=ls(pc,t),t.theme&&x0[t.theme]&&(pc.themeVariables=x0[t.theme].getThemeVariables(t.themeVariables)),rS(pc,jU),pc),"setSiteConfig"),m2t=x(t=>{WR=ls({},t)},"saveConfigFromInitialize"),U2t=x(t=>(pc=ls(pc,t),rS(pc,jU),pc),"updateSiteConfig"),C3e=x(()=>ls({},pc),"getSiteConfig"),S3e=x(t=>(rS(zx,[t]),xr()),"setConfig"),xr=x(()=>ls({},zx),"getConfig"),k3e=x(t=>{t&&(["secure",...pc.secure??[]].forEach(e=>{Object.hasOwn(t,e)&&(he.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"&&k3e(t[e])}))},"sanitize"),y2t=x(t=>{var e;GR(t),t.fontFamily&&!((e=t.themeVariables)!=null&&e.fontFamily)&&(t.themeVariables={...t.themeVariables,fontFamily:t.fontFamily}),jU.push(t),rS(pc,jU)},"addDirective"),qR=x((t=pc)=>{jU=[],rS(t,jU)},"reset"),b2t={LAZY_LOAD_DEPRECATED:"The configuration options lazyLoadedDiagrams and loadExternalDiagramsAtStartup are deprecated. Please use registerExternalDiagrams instead.",FLOWCHART_HTML_LABELS_DEPRECATED:"flowchart.htmlLabels is deprecated. Please use global htmlLabels instead."},Fue={},E3e=x(t=>{Fue[t]||(he.warn(b2t[t]),Fue[t]=!0)},"issueWarning"),v2t=x(t=>{t&&(t.lazyLoadedDiagrams||t.loadExternalDiagramsAtStartup)&&E3e("LAZY_LOAD_DEPRECATED")},"checkConfig"),A3e=x(()=>{let t={};WR&&(t=ls(t,WR));for(const e of jU)t=ls(t,e);return t},"getUserDefinedConfig"),yi=x(t=>{var e,r;return((e=t.flowchart)==null?void 0:e.htmlLabels)!=null&&E3e("FLOWCHART_HTML_LABELS_DEPRECATED"),sf(t.htmlLabels??((r=t.flowchart)==null?void 0:r.htmlLabels)??!0)},"getEffectiveHtmlLabels"),M3e=/^([^\S\n\r]*)-{3}\s*[\n\r](.*?)[\n\r]\1-{3}\s*[\n\r]+/s,Hx=/%{2}{\s*(?:(\w+)\s*:|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,x2t=/\s*%%.*\n/gm,Vb,R3e=(Vb=class extends Error{constructor(e){super(e),this.name="UnknownDiagramError"}},x(Vb,"UnknownDiagramError"),Vb),YU={},GJ=x(function(t,e){t=t.replace(M3e,"").replace(Hx,"").replace(x2t,`
`);for(const[r,{detector:n}]of Object.entries(YU))if(n(t,e))return r;throw new R3e(`No diagram type detected matching given configuration for text: ${t}`)},"detectType"),OG=x((...t)=>{for(const{id:e,detector:r,loader:n}of t)I3e(e,r,n)},"registerLazyLoadedDiagrams"),I3e=x((t,e,r)=>{YU[t]&&he.warn(`Detector with key ${t} already exists. Overwriting.`),YU[t]={detector:e,loader:r},he.debug(`Detector with key ${t} added${r?" with loader":""}`)},"addDetector"),w2t=x(t=>YU[t].loader,"getDiagramLoader"),j4=/<br\s*\/?>/gi,T2t=x(t=>t?O3e(t).replace(/\\n/g,"#br#").split("#br#"):[""],"getRows"),C2t=(()=>{let t=!1;return()=>{t||(L3e(),t=!0)}})();function L3e(){const t="data-temp-href-target";R0.addHook("beforeSanitizeAttributes",e=>{e.tagName==="A"&&e.hasAttribute("target")&&e.setAttribute(t,e.getAttribute("target")??"")}),R0.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"))})}x(L3e,"setupDompurifyHooks");var N3e=x(t=>(C2t(),R0.sanitize(t)),"removeScript"),zue=x((t,e)=>{if(yi(e)){const r=e.securityLevel;r==="antiscript"||r==="strict"||r==="sandbox"?t=N3e(t):r!=="loose"&&(t=O3e(t),t=t.replace(/</g,"&lt;").replace(/>/g,"&gt;"),t=t.replace(/=/g,"&equals;"),t=A2t(t))}return t},"sanitizeMore"),On=x((t,e)=>t&&(e.dompurifyConfig?t=R0.sanitize(zue(t,e),e.dompurifyConfig).toString():t=R0.sanitize(zue(t,e),{FORBID_TAGS:["style"]}).toString(),t),"sanitizeText"),S2t=x((t,e)=>typeof t=="string"?On(t,e):t.flat().map(r=>On(r,e)),"sanitizeTextOrArray"),k2t=x(t=>j4.test(t),"hasBreaks"),E2t=x(t=>t.split(j4),"splitBreaks"),A2t=x(t=>t.replace(/#br#/g,"<br/>"),"placeholderToBreak"),O3e=x(t=>t.replace(j4,"#br#"),"breakToPlaceholder"),cD=x(t=>{let e="";return t&&(e=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,e=CSS.escape(e)),e},"getUrl"),M2t=x(function(...t){const e=t.filter(r=>!isNaN(r));return Math.max(...e)},"getMax"),R2t=x(function(...t){const e=t.filter(r=>!isNaN(r));return Math.min(...e)},"getMin"),jp=x(function(t){const e=t.split(/(,)/),r=[];for(let n=0;n<e.length;n++){let i=e[n];if(i===","&&n>0&&n+1<e.length){const a=e[n-1],s=e[n+1];I2t(a,s)&&(i=a+","+s,n++,r.pop())}r.push(L2t(i))}return r.join("")},"parseGenericTypes"),DG=x((t,e)=>Math.max(0,t.split(e).length-1),"countOccurrence"),I2t=x((t,e)=>{const r=DG(t,"~"),n=DG(e,"~");return r===1&&n===1},"shouldCombineSets"),L2t=x(t=>{const e=DG(t,"~");let r=!1;if(e<=1)return t;e%2!==0&&t.startsWith("~")&&(t=t.substring(1),r=!0);const n=[...t];let i=n.indexOf("~"),a=n.lastIndexOf("~");for(;i!==-1&&a!==-1&&i!==a;)n[i]="<",n[a]=">",i=n.indexOf("~"),a=n.lastIndexOf("~");return r&&n.unshift("~"),n.join("")},"processSet"),Hue=x(()=>window.MathMLElement!==void 0,"isMathMLSupported"),PG=/\$\$(.*?)\$\$/g,es=x(t=>{var e;return(((e=t.match(PG))==null?void 0:e.length)??0)>0},"hasKatex"),nS=x(async(t,e)=>{const r=document.createElement("div");r.innerHTML=await uD(t,e),r.id="katex-temp",r.style.visibility="hidden",r.style.position="absolute",r.style.top="0";const n=document.querySelector("body");n==null||n.insertAdjacentElement("beforeend",r);const i={width:r.clientWidth,height:r.clientHeight};return r.remove(),i},"calculateMathMLDimensions"),N2t=x(async(t,e)=>{if(!es(t))return t;if(!(Hue()||e.legacyMathML||e.forceLegacyMathML))return t.replace(PG,"MathML is unsupported in this environment.");{const{default:r}=await Mr(async()=>{const{default:i}=await Promise.resolve().then(()=>Ljt);return{default:i}},void 0,import.meta.url),n=e.forceLegacyMathML||!Hue()&&e.legacyMathML?"htmlAndMathml":"mathml";return t.split(j4).map(i=>es(i)?`<div style="display: flex; align-items: center; justify-content: center; white-space: nowrap;">${i}</div>`:`<div>${i}</div>`).join("").replace(PG,(i,a)=>r.renderToString(a,{throwOnError:!0,displayMode:!0,output:n}).replace(/\n/g," ").replace(/<annotation.*<\/annotation>/g,""))}},"renderKatexUnsanitized"),uD=x(async(t,e)=>On(await N2t(t,e),e),"renderKatexSanitized"),Vt={getRows:T2t,sanitizeText:On,sanitizeTextOrArray:S2t,hasBreaks:k2t,splitBreaks:E2t,lineBreakRegex:j4,removeScript:N3e,getUrl:cD,evaluate:sf,getMax:M2t,getMin:R2t},O2t=x(function(t,e){for(let r of e)t.attr(r[0],r[1])},"d3Attrs"),D2t=x(function(t,e,r){let n=new Map;return r?(n.set("width","100%"),n.set("style",`max-width: ${e}px;`)):(n.set("height",t),n.set("width",e)),n},"calculateSvgSizeAttrs"),Wa=x(function(t,e,r,n){const i=D2t(e,r,n);O2t(t,i)},"configureSvgSize"),Y4=x(function(t,e,r,n){const i=e.node().getBBox(),a=i.width,s=i.height;he.info(`SVG bounds: ${a}x${s}`,i);let o=0,l=0;he.info(`Graph bounds: ${o}x${l}`,t),o=a+r*2,l=s+r*2,he.info(`Calculated bounds: ${o}x${l}`),Wa(e,l,o,n);const u=`${i.x-r} ${i.y-r} ${i.width+2*r} ${i.height+2*r}`;e.attr("viewBox",u)},"setupGraphViewbox"),OA={};function _G(t){return[...t.cssRules].map(e=>e.cssText).join(`
`)}x(_G,"cssStyleSheetToString");var P2t=x((t,e,r,n)=>{let i="";return t in OA&&OA[t]?i=OA[t]({...r,svgId:n}):he.warn(`No theme found for ${t}`),`& {
font-family: ${r.fontFamily};
font-size: ${r.fontSize};
fill: ${r.textColor}
}
@keyframes edge-animation-frame {
from {
stroke-dashoffset: 0;
}
}
@keyframes dash {
to {
stroke-dashoffset: 0;
}
}
& .edge-animation-slow {
stroke-dasharray: 9,5 !important;
stroke-dashoffset: 900;
animation: dash 50s linear infinite;
stroke-linecap: round;
}
& .edge-animation-fast {
stroke-dasharray: 9,5 !important;
stroke-dashoffset: 900;
animation: dash 20s linear infinite;
stroke-linecap: round;
}
/* Classes common for multiple diagrams */
& .error-icon {
fill: ${r.errorBkgColor};
}
& .error-text {
fill: ${r.errorTextColor};
stroke: ${r.errorTextColor};
}
& .edge-thickness-normal {
stroke-width: ${r.strokeWidth??1}px;
}
& .edge-thickness-thick {
stroke-width: 3.5px
}
& .edge-pattern-solid {
stroke-dasharray: 0;
}
& .edge-thickness-invisible {
stroke-width: 0;
fill: none;
}
& .edge-pattern-dashed{
stroke-dasharray: 3;
}
.edge-pattern-dotted {
stroke-dasharray: 2;
}
& .marker {
fill: ${r.lineColor};
stroke: ${r.lineColor};
}
& .marker.cross {
stroke: ${r.lineColor};
}
& svg {
font-family: ${r.fontFamily};
font-size: ${r.fontSize};
}
& p {
margin: 0
}
${i}
.node .neo-node {
stroke: ${r.nodeBorder};
}
[data-look="neo"].node rect, [data-look="neo"].cluster rect, [data-look="neo"].node polygon {
stroke: ${r.useGradient?"url("+n+"-gradient)":r.nodeBorder};
filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none"};
}
[data-look="neo"].swimlane.cluster rect {
filter: none;
}
[data-look="neo"].node path {
stroke: ${r.useGradient?"url("+n+"-gradient)":r.nodeBorder};
stroke-width: ${r.strokeWidth??1}px;
}
[data-look="neo"].node .outer-path {
filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none"};
}
[data-look="neo"].node .neo-line path {
stroke: ${r.nodeBorder};
filter: none;
}
[data-look="neo"].node circle{
stroke: ${r.useGradient?"url("+n+"-gradient)":r.nodeBorder};
filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none"};
}
[data-look="neo"].node circle .state-start{
fill: #000000;
}
[data-look="neo"].icon-shape .icon {
fill: ${r.useGradient?"url("+n+"-gradient)":r.nodeBorder};
filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none"};
}
[data-look="neo"].icon-shape .icon-neo path {
stroke: ${r.useGradient?"url("+n+"-gradient)":r.nodeBorder};
filter: ${r.dropShadow?r.dropShadow.replace("url(#drop-shadow)",`url(${n}-drop-shadow)`):"none"};
}
${e}
`},"getStyles"),_2t=x((t,e)=>{e!==void 0&&(OA[t]=e)},"addStylesForDiagram"),B2t=P2t,WJ={};oD(WJ,{clear:()=>Di,getAccDescription:()=>sa,getAccTitle:()=>ia,getDiagramTitle:()=>Yi,setAccDescription:()=>aa,setAccTitle:()=>qi,setDiagramTitle:()=>ra});var qJ="",jJ="",YJ="",XJ=x(t=>On(t,xr()),"sanitizeText"),Di=x(()=>{qJ="",YJ="",jJ=""},"clear"),qi=x(t=>{qJ=XJ(t).replace(/^\s+/g,"")},"setAccTitle"),ia=x(()=>qJ,"getAccTitle"),aa=x(t=>{YJ=XJ(t).replace(/\n\s+/g,`
`)},"setAccDescription"),sa=x(()=>YJ,"getAccDescription"),ra=x(t=>{jJ=XJ(t)},"setDiagramTitle"),Yi=x(()=>jJ,"getDiagramTitle"),Vue=he,$2t=zJ,Ve=xr,BG=S3e,D3e=_v,KJ=x(t=>On(t,Ve()),"sanitizeText"),ZJ=Y4,F2t=x(()=>WJ,"getCommonDb"),jR={},YR=x((t,e,r)=>{var n;jR[t]&&Vue.warn(`Diagram with id ${t} already registered. Overwriting.`),jR[t]=e,r&&I3e(t,r),_2t(t,e.styles),(n=e.injectUtils)==null||n.call(e,Vue,$2t,Ve,KJ,ZJ,F2t(),()=>{})},"registerDiagram"),$G=x(t=>{if(t in jR)return jR[t];throw new z2t(t)},"getDiagram"),Gb,z2t=(Gb=class extends Error{constructor(e){super(`Diagram ${e} not found.`)}},x(Gb,"DiagramNotFoundError"),Gb);function DA(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function H2t(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function JJ(t){let e,r,n;t.length!==2?(e=DA,r=(o,l)=>DA(t(o),l),n=(o,l)=>t(o)-l):(e=t===DA||t===H2t?t:V2t,r=t,n=t);function i(o,l,u=0,d=o.length){if(u<d){if(e(l,l)!==0)return d;do{const h=u+d>>>1;r(o[h],l)<0?u=h+1:d=h}while(u<d)}return u}function a(o,l,u=0,d=o.length){if(u<d){if(e(l,l)!==0)return d;do{const h=u+d>>>1;r(o[h],l)<=0?u=h+1:d=h}while(u<d)}return u}function s(o,l,u=0,d=o.length){const h=i(o,l,u,d-1);return h>u&&n(o[h-1],l)>-n(o[h],l)?h-1:h}return{left:i,center:s,right:a}}function V2t(){return 0}function G2t(t){return t===null?NaN:+t}const W2t=JJ(DA),q2t=W2t.right;JJ(G2t).center;class Gue extends Map{constructor(e,r=X2t){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),e!=null)for(const[n,i]of e)this.set(n,i)}get(e){return super.get(Wue(this,e))}has(e){return super.has(Wue(this,e))}set(e,r){return super.set(j2t(this,e),r)}delete(e){return super.delete(Y2t(this,e))}}function Wue({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):r}function j2t({_intern:t,_key:e},r){const n=e(r);return t.has(n)?t.get(n):(t.set(n,r),r)}function Y2t({_intern:t,_key:e},r){const n=e(r);return t.has(n)&&(r=t.get(n),t.delete(n)),r}function X2t(t){return t!==null&&typeof t=="object"?t.valueOf():t}const K2t=Math.sqrt(50),Z2t=Math.sqrt(10),J2t=Math.sqrt(2);function XR(t,e,r){const n=(e-t)/Math.max(0,r),i=Math.floor(Math.log10(n)),a=n/Math.pow(10,i),s=a>=K2t?10:a>=Z2t?5:a>=J2t?2:1;let o,l,u;return i<0?(u=Math.pow(10,-i)/s,o=Math.round(t*u),l=Math.round(e*u),o/u<t&&++o,l/u>e&&--l,u=-u):(u=Math.pow(10,i)*s,o=Math.round(t/u),l=Math.round(e/u),o*u<t&&++o,l*u>e&&--l),l<o&&.5<=r&&r<2?XR(t,e,r*2):[o,l,u]}function Q2t(t,e,r){if(e=+e,t=+t,r=+r,!(r>0))return[];if(t===e)return[t];const n=e<t,[i,a,s]=n?XR(e,t,r):XR(t,e,r);if(!(a>=i))return[];const o=a-i+1,l=new Array(o);if(n)if(s<0)for(let u=0;u<o;++u)l[u]=(a-u)/-s;else for(let u=0;u<o;++u)l[u]=(a-u)*s;else if(s<0)for(let u=0;u<o;++u)l[u]=(i+u)/-s;else for(let u=0;u<o;++u)l[u]=(i+u)*s;return l}function FG(t,e,r){return e=+e,t=+t,r=+r,XR(t,e,r)[2]}function zG(t,e,r){e=+e,t=+t,r=+r;const n=e<t,i=n?FG(e,t,r):FG(t,e,r);return(n?-1:1)*(i<0?1/-i:i)}function ebt(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r<i||r===void 0&&i>=i)&&(r=i)}return r}function tbt(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function rbt(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=Math.max(0,Math.ceil((e-t)/r))|0,a=new Array(i);++n<i;)a[n]=t+n*r;return a}function nbt(t){return t}var PA=1,w$=2,HG=3,Ik=4,que=1e-6;function ibt(t){return"translate("+t+",0)"}function abt(t){return"translate(0,"+t+")"}function sbt(t){return e=>+t(e)}function obt(t,e){return e=Math.max(0,t.bandwidth()-e*2)/2,t.round()&&(e=Math.round(e)),r=>+t(r)+e}function lbt(){return!this.__axis}function P3e(t,e){var r=[],n=null,i=null,a=6,s=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=t===PA||t===Ik?-1:1,d=t===Ik||t===w$?"x":"y",h=t===PA||t===HG?ibt:abt;function f(p){var g=n??(e.ticks?e.ticks.apply(e,r):e.domain()),m=i??(e.tickFormat?e.tickFormat.apply(e,r):nbt),U=Math.max(a,0)+o,y=e.range(),b=+y[0]+l,v=+y[y.length-1]+l,w=(e.bandwidth?obt:sbt)(e.copy(),l),T=p.selection?p.selection():p,S=T.selectAll(".domain").data([null]),C=T.selectAll(".tick").data(g,e).order(),k=C.exit(),E=C.enter().append("g").attr("class","tick"),A=C.select("line"),M=C.select("text");S=S.merge(S.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),C=C.merge(E),A=A.merge(E.append("line").attr("stroke","currentColor").attr(d+"2",u*a)),M=M.merge(E.append("text").attr("fill","currentColor").attr(d,u*U).attr("dy",t===PA?"0em":t===HG?"0.71em":"0.32em")),p!==T&&(S=S.transition(p),C=C.transition(p),A=A.transition(p),M=M.transition(p),k=k.transition(p).attr("opacity",que).attr("transform",function(P){return isFinite(P=w(P))?h(P+l):this.getAttribute("transform")}),E.attr("opacity",que).attr("transform",function(P){var N=this.parentNode.__axis;return h((N&&isFinite(N=N(P))?N:w(P))+l)})),k.remove(),S.attr("d",t===Ik||t===w$?s?"M"+u*s+","+b+"H"+l+"V"+v+"H"+u*s:"M"+l+","+b+"V"+v:s?"M"+b+","+u*s+"V"+l+"H"+v+"V"+u*s:"M"+b+","+l+"H"+v),C.attr("opacity",1).attr("transform",function(P){return h(w(P)+l)}),A.attr(d+"2",u*a),M.attr(d,u*U).text(m),T.filter(lbt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",t===w$?"start":t===Ik?"end":"middle"),T.each(function(){this.__axis=w})}return f.scale=function(p){return arguments.length?(e=p,f):e},f.ticks=function(){return r=Array.from(arguments),f},f.tickArguments=function(p){return arguments.length?(r=p==null?[]:Array.from(p),f):r.slice()},f.tickValues=function(p){return arguments.length?(n=p==null?null:Array.from(p),f):n&&n.slice()},f.tickFormat=function(p){return arguments.length?(i=p,f):i},f.tickSize=function(p){return arguments.length?(a=s=+p,f):a},f.tickSizeInner=function(p){return arguments.length?(a=+p,f):a},f.tickSizeOuter=function(p){return arguments.length?(s=+p,f):s},f.tickPadding=function(p){return arguments.length?(o=+p,f):o},f.offset=function(p){return arguments.length?(l=+p,f):l},f}function cbt(t){return P3e(PA,t)}function ubt(t){return P3e(HG,t)}var dbt={value:()=>{}};function _3e(){for(var t=0,e=arguments.length,r={},n;t<e;++t){if(!(n=arguments[t]+"")||n in r||/[\s.]/.test(n))throw new Error("illegal type: "+n);r[n]=[]}return new _A(r)}function _A(t){this._=t}function hbt(t,e){return t.trim().split(/^|\s+/).map(function(r){var n="",i=r.indexOf(".");if(i>=0&&(n=r.slice(i+1),r=r.slice(0,i)),r&&!e.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}_A.prototype=_3e.prototype={constructor:_A,on:function(t,e){var r=this._,n=hbt(t+"",r),i,a=-1,s=n.length;if(arguments.length<2){for(;++a<s;)if((i=(t=n[a]).type)&&(i=fbt(r[i],t.name)))return i;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++a<s;)if(i=(t=n[a]).type)r[i]=jue(r[i],t.name,e);else if(e==null)for(i in r)r[i]=jue(r[i],t.name,null);return this},copy:function(){var t={},e=this._;for(var r in e)t[r]=e[r].slice();return new _A(t)},call:function(t,e){if((i=arguments.length-2)>0)for(var r=new Array(i),n=0,i,a;n<i;++n)r[n]=arguments[n+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(a=this._[t],n=0,i=a.length;n<i;++n)a[n].value.apply(e,r)},apply:function(t,e,r){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var n=this._[t],i=0,a=n.length;i<a;++i)n[i].value.apply(e,r)}};function fbt(t,e){for(var r=0,n=t.length,i;r<n;++r)if((i=t[r]).name===e)return i.value}function jue(t,e,r){for(var n=0,i=t.length;n<i;++n)if(t[n].name===e){t[n]=dbt,t=t.slice(0,n).concat(t.slice(n+1));break}return r!=null&&t.push({name:e,value:r}),t}var VG="http://www.w3.org/1999/xhtml";const Yue={svg:"http://www.w3.org/2000/svg",xhtml:VG,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function dD(t){var e=t+="",r=e.indexOf(":");return r>=0&&(e=t.slice(0,r))!=="xmlns"&&(t=t.slice(r+1)),Yue.hasOwnProperty(e)?{space:Yue[e],local:t}:t}function pbt(t){return function(){var e=this.ownerDocument,r=this.namespaceURI;return r===VG&&e.documentElement.namespaceURI===VG?e.createElement(t):e.createElementNS(r,t)}}function gbt(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function B3e(t){var e=dD(t);return(e.local?gbt:pbt)(e)}function mbt(){}function QJ(t){return t==null?mbt:function(){return this.querySelector(t)}}function Ubt(t){typeof t!="function"&&(t=QJ(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i<r;++i)for(var a=e[i],s=a.length,o=n[i]=new Array(s),l,u,d=0;d<s;++d)(l=a[d])&&(u=t.call(l,l.__data__,d,a))&&("__data__"in l&&(u.__data__=l.__data__),o[d]=u);return new eu(n,this._parents)}function ybt(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function bbt(){return[]}function $3e(t){return t==null?bbt:function(){return this.querySelectorAll(t)}}function vbt(t){return function(){return ybt(t.apply(this,arguments))}}function xbt(t){typeof t=="function"?t=vbt(t):t=$3e(t);for(var e=this._groups,r=e.length,n=[],i=[],a=0;a<r;++a)for(var s=e[a],o=s.length,l,u=0;u<o;++u)(l=s[u])&&(n.push(t.call(l,l.__data__,u,s)),i.push(l));return new eu(n,i)}function F3e(t){return function(){return this.matches(t)}}function z3e(t){return function(e){return e.matches(t)}}var wbt=Array.prototype.find;function Tbt(t){return function(){return wbt.call(this.children,t)}}function Cbt(){return this.firstElementChild}function Sbt(t){return this.select(t==null?Cbt:Tbt(typeof t=="function"?t:z3e(t)))}var kbt=Array.prototype.filter;function Ebt(){return Array.from(this.children)}function Abt(t){return function(){return kbt.call(this.children,t)}}function Mbt(t){return this.selectAll(t==null?Ebt:Abt(typeof t=="function"?t:z3e(t)))}function Rbt(t){typeof t!="function"&&(t=F3e(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i<r;++i)for(var a=e[i],s=a.length,o=n[i]=[],l,u=0;u<s;++u)(l=a[u])&&t.call(l,l.__data__,u,a)&&o.push(l);return new eu(n,this._parents)}function H3e(t){return new Array(t.length)}function Ibt(){return new eu(this._enter||this._groups.map(H3e),this._parents)}function KR(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}KR.prototype={constructor:KR,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Lbt(t){return function(){return t}}function Nbt(t,e,r,n,i,a){for(var s=0,o,l=e.length,u=a.length;s<u;++s)(o=e[s])?(o.__data__=a[s],n[s]=o):r[s]=new KR(t,a[s]);for(;s<l;++s)(o=e[s])&&(i[s]=o)}function Obt(t,e,r,n,i,a,s){var o,l,u=new Map,d=e.length,h=a.length,f=new Array(d),p;for(o=0;o<d;++o)(l=e[o])&&(f[o]=p=s.call(l,l.__data__,o,e)+"",u.has(p)?i[o]=l:u.set(p,l));for(o=0;o<h;++o)p=s.call(t,a[o],o,a)+"",(l=u.get(p))?(n[o]=l,l.__data__=a[o],u.delete(p)):r[o]=new KR(t,a[o]);for(o=0;o<d;++o)(l=e[o])&&u.get(f[o])===l&&(i[o]=l)}function Dbt(t){return t.__data__}function Pbt(t,e){if(!arguments.length)return Array.from(this,Dbt);var r=e?Obt:Nbt,n=this._parents,i=this._groups;typeof t!="function"&&(t=Lbt(t));for(var a=i.length,s=new Array(a),o=new Array(a),l=new Array(a),u=0;u<a;++u){var d=n[u],h=i[u],f=h.length,p=_bt(t.call(d,d&&d.__data__,u,n)),g=p.length,m=o[u]=new Array(g),U=s[u]=new Array(g),y=l[u]=new Array(f);r(d,h,m,U,y,p,e);for(var b=0,v=0,w,T;b<g;++b)if(w=m[b]){for(b>=v&&(v=b+1);!(T=U[v])&&++v<g;);w._next=T||null}}return s=new eu(s,n),s._enter=o,s._exit=l,s}function _bt(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function Bbt(){return new eu(this._exit||this._groups.map(H3e),this._parents)}function $bt(t,e,r){var n=this.enter(),i=this,a=this.exit();return typeof t=="function"?(n=t(n),n&&(n=n.selection())):n=n.append(t+""),e!=null&&(i=e(i),i&&(i=i.selection())),r==null?a.remove():r(a),n&&i?n.merge(i).order():i}function Fbt(t){for(var e=t.selection?t.selection():t,r=this._groups,n=e._groups,i=r.length,a=n.length,s=Math.min(i,a),o=new Array(i),l=0;l<s;++l)for(var u=r[l],d=n[l],h=u.length,f=o[l]=new Array(h),p,g=0;g<h;++g)(p=u[g]||d[g])&&(f[g]=p);for(;l<i;++l)o[l]=r[l];return new eu(o,this._parents)}function zbt(){for(var t=this._groups,e=-1,r=t.length;++e<r;)for(var n=t[e],i=n.length-1,a=n[i],s;--i>=0;)(s=n[i])&&(a&&s.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(s,a),a=s);return this}function Hbt(t){t||(t=Vbt);function e(h,f){return h&&f?t(h.__data__,f.__data__):!h-!f}for(var r=this._groups,n=r.length,i=new Array(n),a=0;a<n;++a){for(var s=r[a],o=s.length,l=i[a]=new Array(o),u,d=0;d<o;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new eu(i,this._parents).order()}function Vbt(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function Gbt(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function Wbt(){return Array.from(this)}function qbt(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],i=0,a=n.length;i<a;++i){var s=n[i];if(s)return s}return null}function jbt(){let t=0;for(const e of this)++t;return t}function Ybt(){return!this.node()}function Xbt(t){for(var e=this._groups,r=0,n=e.length;r<n;++r)for(var i=e[r],a=0,s=i.length,o;a<s;++a)(o=i[a])&&t.call(o,o.__data__,a,i);return this}function Kbt(t){return function(){this.removeAttribute(t)}}function Zbt(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Jbt(t,e){return function(){this.setAttribute(t,e)}}function Qbt(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function e6t(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttribute(t):this.setAttribute(t,r)}}function t6t(t,e){return function(){var r=e.apply(this,arguments);r==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,r)}}function r6t(t,e){var r=dD(t);if(arguments.length<2){var n=this.node();return r.local?n.getAttributeNS(r.space,r.local):n.getAttribute(r)}return this.each((e==null?r.local?Zbt:Kbt:typeof e=="function"?r.local?t6t:e6t:r.local?Qbt:Jbt)(r,e))}function V3e(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function n6t(t){return function(){this.style.removeProperty(t)}}function i6t(t,e,r){return function(){this.style.setProperty(t,e,r)}}function a6t(t,e,r){return function(){var n=e.apply(this,arguments);n==null?this.style.removeProperty(t):this.style.setProperty(t,n,r)}}function s6t(t,e,r){return arguments.length>1?this.each((e==null?n6t:typeof e=="function"?a6t:i6t)(t,e,r??"")):Bv(this.node(),t)}function Bv(t,e){return t.style.getPropertyValue(e)||V3e(t).getComputedStyle(t,null).getPropertyValue(e)}function o6t(t){return function(){delete this[t]}}function l6t(t,e){return function(){this[t]=e}}function c6t(t,e){return function(){var r=e.apply(this,arguments);r==null?delete this[t]:this[t]=r}}function u6t(t,e){return arguments.length>1?this.each((e==null?o6t:typeof e=="function"?c6t:l6t)(t,e)):this.node()[t]}function G3e(t){return t.trim().split(/^|\s+/)}function eQ(t){return t.classList||new W3e(t)}function W3e(t){this._node=t,this._names=G3e(t.getAttribute("class")||"")}W3e.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 q3e(t,e){for(var r=eQ(t),n=-1,i=e.length;++n<i;)r.add(e[n])}function j3e(t,e){for(var r=eQ(t),n=-1,i=e.length;++n<i;)r.remove(e[n])}function d6t(t){return function(){q3e(this,t)}}function h6t(t){return function(){j3e(this,t)}}function f6t(t,e){return function(){(e.apply(this,arguments)?q3e:j3e)(this,t)}}function p6t(t,e){var r=G3e(t+"");if(arguments.length<2){for(var n=eQ(this.node()),i=-1,a=r.length;++i<a;)if(!n.contains(r[i]))return!1;return!0}return this.each((typeof e=="function"?f6t:e?d6t:h6t)(r,e))}function g6t(){this.textContent=""}function m6t(t){return function(){this.textContent=t}}function U6t(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function y6t(t){return arguments.length?this.each(t==null?g6t:(typeof t=="function"?U6t:m6t)(t)):this.node().textContent}function b6t(){this.innerHTML=""}function v6t(t){return function(){this.innerHTML=t}}function x6t(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function w6t(t){return arguments.length?this.each(t==null?b6t:(typeof t=="function"?x6t:v6t)(t)):this.node().innerHTML}function T6t(){this.nextSibling&&this.parentNode.appendChild(this)}function C6t(){return this.each(T6t)}function S6t(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function k6t(){return this.each(S6t)}function E6t(t){var e=typeof t=="function"?t:B3e(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function A6t(){return null}function M6t(t,e){var r=typeof t=="function"?t:B3e(t),n=e==null?A6t:typeof e=="function"?e:QJ(e);return this.select(function(){return this.insertBefore(r.apply(this,arguments),n.apply(this,arguments)||null)})}function R6t(){var t=this.parentNode;t&&t.removeChild(this)}function I6t(){return this.each(R6t)}function L6t(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function N6t(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function O6t(t){return this.select(t?N6t:L6t)}function D6t(t){return arguments.length?this.property("__data__",t):this.node().__data__}function P6t(t){return function(e){t.call(this,e,this.__data__)}}function _6t(t){return t.trim().split(/^|\s+/).map(function(e){var r="",n=e.indexOf(".");return n>=0&&(r=e.slice(n+1),e=e.slice(0,n)),{type:e,name:r}})}function B6t(t){return function(){var e=this.__on;if(e){for(var r=0,n=-1,i=e.length,a;r<i;++r)a=e[r],(!t.type||a.type===t.type)&&a.name===t.name?this.removeEventListener(a.type,a.listener,a.options):e[++n]=a;++n?e.length=n:delete this.__on}}}function $6t(t,e,r){return function(){var n=this.__on,i,a=P6t(e);if(n){for(var s=0,o=n.length;s<o;++s)if((i=n[s]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=r),i.value=e;return}}this.addEventListener(t.type,a,r),i={type:t.type,name:t.name,value:e,listener:a,options:r},n?n.push(i):this.__on=[i]}}function F6t(t,e,r){var n=_6t(t+""),i,a=n.length,s;if(arguments.length<2){var o=this.node().__on;if(o){for(var l=0,u=o.length,d;l<u;++l)for(i=0,d=o[l];i<a;++i)if((s=n[i]).type===d.type&&s.name===d.name)return d.value}return}for(o=e?$6t:B6t,i=0;i<a;++i)this.each(o(n[i],e,r));return this}function Y3e(t,e,r){var n=V3e(t),i=n.CustomEvent;typeof i=="function"?i=new i(e,r):(i=n.document.createEvent("Event"),r?(i.initEvent(e,r.bubbles,r.cancelable),i.detail=r.detail):i.initEvent(e,!1,!1)),t.dispatchEvent(i)}function z6t(t,e){return function(){return Y3e(this,t,e)}}function H6t(t,e){return function(){return Y3e(this,t,e.apply(this,arguments))}}function V6t(t,e){return this.each((typeof e=="function"?H6t:z6t)(t,e))}function*G6t(){for(var t=this._groups,e=0,r=t.length;e<r;++e)for(var n=t[e],i=0,a=n.length,s;i<a;++i)(s=n[i])&&(yield s)}var X3e=[null];function eu(t,e){this._groups=t,this._parents=e}function iS(){return new eu([[document.documentElement]],X3e)}function W6t(){return this}eu.prototype=iS.prototype={constructor:eu,select:Ubt,selectAll:xbt,selectChild:Sbt,selectChildren:Mbt,filter:Rbt,data:Pbt,enter:Ibt,exit:Bbt,join:$bt,merge:Fbt,selection:W6t,order:zbt,sort:Hbt,call:Gbt,nodes:Wbt,node:qbt,size:jbt,empty:Ybt,each:Xbt,attr:r6t,style:s6t,property:u6t,classed:p6t,text:y6t,html:w6t,raise:C6t,lower:k6t,append:E6t,insert:M6t,remove:I6t,clone:O6t,datum:D6t,on:F6t,dispatch:V6t,[Symbol.iterator]:G6t};function vt(t){return typeof t=="string"?new eu([[document.querySelector(t)]],[document.documentElement]):new eu([[t]],X3e)}function aS(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function hD(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function C5(){}var lT=.7,ZR=1/lT,db="\\s*([+-]?\\d+)\\s*",cT="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",$h="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",q6t=/^#([0-9a-f]{3,8})$/,j6t=new RegExp(`^rgb\\(${db},${db},${db}\\)$`),Y6t=new RegExp(`^rgb\\(${$h},${$h},${$h}\\)$`),X6t=new RegExp(`^rgba\\(${db},${db},${db},${cT}\\)$`),K6t=new RegExp(`^rgba\\(${$h},${$h},${$h},${cT}\\)$`),Z6t=new RegExp(`^hsl\\(${cT},${$h},${$h}\\)$`),J6t=new RegExp(`^hsla\\(${cT},${$h},${$h},${cT}\\)$`),Xue={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};aS(C5,XU,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Kue,formatHex:Kue,formatHex8:Q6t,formatHsl:e7t,formatRgb:Zue,toString:Zue});function Kue(){return this.rgb().formatHex()}function Q6t(){return this.rgb().formatHex8()}function e7t(){return Z3e(this).formatHsl()}function Zue(){return this.rgb().formatRgb()}function XU(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=q6t.exec(t))?(r=e[1].length,e=parseInt(e[1],16),r===6?Jue(e):r===3?new Xo(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):r===8?Lk(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):r===4?Lk(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=j6t.exec(t))?new Xo(e[1],e[2],e[3],1):(e=Y6t.exec(t))?new Xo(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=X6t.exec(t))?Lk(e[1],e[2],e[3],e[4]):(e=K6t.exec(t))?Lk(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=Z6t.exec(t))?tde(e[1],e[2]/100,e[3]/100,1):(e=J6t.exec(t))?tde(e[1],e[2]/100,e[3]/100,e[4]):Xue.hasOwnProperty(t)?Jue(Xue[t]):t==="transparent"?new Xo(NaN,NaN,NaN,0):null}function Jue(t){return new Xo(t>>16&255,t>>8&255,t&255,1)}function Lk(t,e,r,n){return n<=0&&(t=e=r=NaN),new Xo(t,e,r,n)}function K3e(t){return t instanceof C5||(t=XU(t)),t?(t=t.rgb(),new Xo(t.r,t.g,t.b,t.opacity)):new Xo}function GG(t,e,r,n){return arguments.length===1?K3e(t):new Xo(t,e,r,n??1)}function Xo(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}aS(Xo,GG,hD(C5,{brighter(t){return t=t==null?ZR:Math.pow(ZR,t),new Xo(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?lT:Math.pow(lT,t),new Xo(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Xo(AU(this.r),AU(this.g),AU(this.b),JR(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:Que,formatHex:Que,formatHex8:t7t,formatRgb:ede,toString:ede}));function Que(){return`#${cU(this.r)}${cU(this.g)}${cU(this.b)}`}function t7t(){return`#${cU(this.r)}${cU(this.g)}${cU(this.b)}${cU((isNaN(this.opacity)?1:this.opacity)*255)}`}function ede(){const t=JR(this.opacity);return`${t===1?"rgb(":"rgba("}${AU(this.r)}, ${AU(this.g)}, ${AU(this.b)}${t===1?")":`, ${t})`}`}function JR(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function AU(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function cU(t){return t=AU(t),(t<16?"0":"")+t.toString(16)}function tde(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new Ud(t,e,r,n)}function Z3e(t){if(t instanceof Ud)return new Ud(t.h,t.s,t.l,t.opacity);if(t instanceof C5||(t=XU(t)),!t)return new Ud;if(t instanceof Ud)return t;t=t.rgb();var e=t.r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),a=Math.max(e,r,n),s=NaN,o=a-i,l=(a+i)/2;return o?(e===a?s=(r-n)/o+(r<n)*6:r===a?s=(n-e)/o+2:s=(e-r)/o+4,o/=l<.5?a+i:2-a-i,s*=60):o=l>0&&l<1?0:s,new Ud(s,o,l,t.opacity)}function r7t(t,e,r,n){return arguments.length===1?Z3e(t):new Ud(t,e,r,n??1)}function Ud(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}aS(Ud,r7t,hD(C5,{brighter(t){return t=t==null?ZR:Math.pow(ZR,t),new Ud(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?lT:Math.pow(lT,t),new Ud(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,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new Xo(T$(t>=240?t-240:t+120,i,n),T$(t,i,n),T$(t<120?t+240:t-120,i,n),this.opacity)},clamp(){return new Ud(rde(this.h),Nk(this.s),Nk(this.l),JR(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=JR(this.opacity);return`${t===1?"hsl(":"hsla("}${rde(this.h)}, ${Nk(this.s)*100}%, ${Nk(this.l)*100}%${t===1?")":`, ${t})`}`}}));function rde(t){return t=(t||0)%360,t<0?t+360:t}function Nk(t){return Math.max(0,Math.min(1,t||0))}function T$(t,e,r){return(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)*255}const n7t=Math.PI/180,i7t=180/Math.PI,QR=18,J3e=.96422,Q3e=1,e9e=.82521,t9e=4/29,hb=6/29,r9e=3*hb*hb,a7t=hb*hb*hb;function n9e(t){if(t instanceof Fh)return new Fh(t.l,t.a,t.b,t.opacity);if(t instanceof a0)return i9e(t);t instanceof Xo||(t=K3e(t));var e=E$(t.r),r=E$(t.g),n=E$(t.b),i=C$((.2225045*e+.7168786*r+.0606169*n)/Q3e),a,s;return e===r&&r===n?a=s=i:(a=C$((.4360747*e+.3850649*r+.1430804*n)/J3e),s=C$((.0139322*e+.0971045*r+.7141733*n)/e9e)),new Fh(116*i-16,500*(a-i),200*(i-s),t.opacity)}function s7t(t,e,r,n){return arguments.length===1?n9e(t):new Fh(t,e,r,n??1)}function Fh(t,e,r,n){this.l=+t,this.a=+e,this.b=+r,this.opacity=+n}aS(Fh,s7t,hD(C5,{brighter(t){return new Fh(this.l+QR*(t??1),this.a,this.b,this.opacity)},darker(t){return new Fh(this.l-QR*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,r=isNaN(this.b)?t:t-this.b/200;return e=J3e*S$(e),t=Q3e*S$(t),r=e9e*S$(r),new Xo(k$(3.1338561*e-1.6168667*t-.4906146*r),k$(-.9787684*e+1.9161415*t+.033454*r),k$(.0719453*e-.2289914*t+1.4052427*r),this.opacity)}}));function C$(t){return t>a7t?Math.pow(t,1/3):t/r9e+t9e}function S$(t){return t>hb?t*t*t:r9e*(t-t9e)}function k$(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function E$(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function o7t(t){if(t instanceof a0)return new a0(t.h,t.c,t.l,t.opacity);if(t instanceof Fh||(t=n9e(t)),t.a===0&&t.b===0)return new a0(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*i7t;return new a0(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function WG(t,e,r,n){return arguments.length===1?o7t(t):new a0(t,e,r,n??1)}function a0(t,e,r,n){this.h=+t,this.c=+e,this.l=+r,this.opacity=+n}function i9e(t){if(isNaN(t.h))return new Fh(t.l,0,0,t.opacity);var e=t.h*n7t;return new Fh(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}aS(a0,WG,hD(C5,{brighter(t){return new a0(this.h,this.c,this.l+QR*(t??1),this.opacity)},darker(t){return new a0(this.h,this.c,this.l-QR*(t??1),this.opacity)},rgb(){return i9e(this).rgb()}}));const fD=t=>()=>t;function a9e(t,e){return function(r){return t+r*e}}function l7t(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}function c7t(t,e){var r=e-t;return r?a9e(t,r>180||r<-180?r-360*Math.round(r/360):r):fD(isNaN(t)?e:t)}function u7t(t){return(t=+t)==1?Vx:function(e,r){return r-e?l7t(e,r,t):fD(isNaN(e)?r:e)}}function Vx(t,e){var r=e-t;return r?a9e(t,r):fD(isNaN(t)?e:t)}const eI=(function t(e){var r=u7t(e);function n(i,a){var s=r((i=GG(i)).r,(a=GG(a)).r),o=r(i.g,a.g),l=r(i.b,a.b),u=Vx(i.opacity,a.opacity);return function(d){return i.r=s(d),i.g=o(d),i.b=l(d),i.opacity=u(d),i+""}}return n.gamma=t,n})(1);function d7t(t,e){e||(e=[]);var r=t?Math.min(e.length,t.length):0,n=e.slice(),i;return function(a){for(i=0;i<r;++i)n[i]=t[i]*(1-a)+e[i]*a;return n}}function h7t(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function f7t(t,e){var r=e?e.length:0,n=t?Math.min(r,t.length):0,i=new Array(n),a=new Array(r),s;for(s=0;s<n;++s)i[s]=tQ(t[s],e[s]);for(;s<r;++s)a[s]=e[s];return function(o){for(s=0;s<n;++s)a[s]=i[s](o);return a}}function p7t(t,e){var r=new Date;return t=+t,e=+e,function(n){return r.setTime(t*(1-n)+e*n),r}}function ud(t,e){return t=+t,e=+e,function(r){return t*(1-r)+e*r}}function g7t(t,e){var r={},n={},i;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(i in e)i in t?r[i]=tQ(t[i],e[i]):n[i]=e[i];return function(a){for(i in r)n[i]=r[i](a);return n}}var qG=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,A$=new RegExp(qG.source,"g");function m7t(t){return function(){return t}}function U7t(t){return function(e){return t(e)+""}}function s9e(t,e){var r=qG.lastIndex=A$.lastIndex=0,n,i,a,s=-1,o=[],l=[];for(t=t+"",e=e+"";(n=qG.exec(t))&&(i=A$.exec(e));)(a=i.index)>r&&(a=e.slice(r,a),o[s]?o[s]+=a:o[++s]=a),(n=n[0])===(i=i[0])?o[s]?o[s]+=i:o[++s]=i:(o[++s]=null,l.push({i:s,x:ud(n,i)})),r=A$.lastIndex;return r<e.length&&(a=e.slice(r),o[s]?o[s]+=a:o[++s]=a),o.length<2?l[0]?U7t(l[0].x):m7t(e):(e=l.length,function(u){for(var d=0,h;d<e;++d)o[(h=l[d]).i]=h.x(u);return o.join("")})}function tQ(t,e){var r=typeof e,n;return e==null||r==="boolean"?fD(e):(r==="number"?ud:r==="string"?(n=XU(e))?(e=n,eI):s9e:e instanceof XU?eI:e instanceof Date?p7t:h7t(e)?d7t:Array.isArray(e)?f7t:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?g7t:ud)(t,e)}function y7t(t,e){return t=+t,e=+e,function(r){return Math.round(t*(1-r)+e*r)}}var nde=180/Math.PI,jG={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function o9e(t,e,r,n,i,a){var s,o,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*r+e*n)&&(r-=t*l,n-=e*l),(o=Math.sqrt(r*r+n*n))&&(r/=o,n/=o,l/=o),t*n<e*r&&(t=-t,e=-e,l=-l,s=-s),{translateX:i,translateY:a,rotate:Math.atan2(e,t)*nde,skewX:Math.atan(l)*nde,scaleX:s,scaleY:o}}var Ok;function b7t(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?jG:o9e(e.a,e.b,e.c,e.d,e.e,e.f)}function v7t(t){return t==null||(Ok||(Ok=document.createElementNS("http://www.w3.org/2000/svg","g")),Ok.setAttribute("transform",t),!(t=Ok.transform.baseVal.consolidate()))?jG:(t=t.matrix,o9e(t.a,t.b,t.c,t.d,t.e,t.f))}function l9e(t,e,r,n){function i(u){return u.length?u.pop()+" ":""}function a(u,d,h,f,p,g){if(u!==h||d!==f){var m=p.push("translate(",null,e,null,r);g.push({i:m-4,x:ud(u,h)},{i:m-2,x:ud(d,f)})}else(h||f)&&p.push("translate("+h+e+f+r)}function s(u,d,h,f){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),f.push({i:h.push(i(h)+"rotate(",null,n)-2,x:ud(u,d)})):d&&h.push(i(h)+"rotate("+d+n)}function o(u,d,h,f){u!==d?f.push({i:h.push(i(h)+"skewX(",null,n)-2,x:ud(u,d)}):d&&h.push(i(h)+"skewX("+d+n)}function l(u,d,h,f,p,g){if(u!==h||d!==f){var m=p.push(i(p)+"scale(",null,",",null,")");g.push({i:m-4,x:ud(u,h)},{i:m-2,x:ud(d,f)})}else(h!==1||f!==1)&&p.push(i(p)+"scale("+h+","+f+")")}return function(u,d){var h=[],f=[];return u=t(u),d=t(d),a(u.translateX,u.translateY,d.translateX,d.translateY,h,f),s(u.rotate,d.rotate,h,f),o(u.skewX,d.skewX,h,f),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,h,f),u=d=null,function(p){for(var g=-1,m=f.length,U;++g<m;)h[(U=f[g]).i]=U.x(p);return h.join("")}}}var x7t=l9e(b7t,"px, ","px)","deg)"),w7t=l9e(v7t,", ",")",")");function T7t(t){return function(e,r){var n=t((e=WG(e)).h,(r=WG(r)).h),i=Vx(e.c,r.c),a=Vx(e.l,r.l),s=Vx(e.opacity,r.opacity);return function(o){return e.h=n(o),e.c=i(o),e.l=a(o),e.opacity=s(o),e+""}}}const C7t=T7t(c7t);var $v=0,D9=0,B3=0,c9e=1e3,tI,P9,rI=0,KU=0,pD=0,uT=typeof performance=="object"&&performance.now?performance:Date,u9e=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function rQ(){return KU||(u9e(S7t),KU=uT.now()+pD)}function S7t(){KU=0}function nI(){this._call=this._time=this._next=null}nI.prototype=d9e.prototype={constructor:nI,restart:function(t,e,r){if(typeof t!="function")throw new TypeError("callback is not a function");r=(r==null?rQ():+r)+(e==null?0:+e),!this._next&&P9!==this&&(P9?P9._next=this:tI=this,P9=this),this._call=t,this._time=r,YG()},stop:function(){this._call&&(this._call=null,this._time=1/0,YG())}};function d9e(t,e,r){var n=new nI;return n.restart(t,e,r),n}function k7t(){rQ(),++$v;for(var t=tI,e;t;)(e=KU-t._time)>=0&&t._call.call(void 0,e),t=t._next;--$v}function ide(){KU=(rI=uT.now())+pD,$v=D9=0;try{k7t()}finally{$v=0,A7t(),KU=0}}function E7t(){var t=uT.now(),e=t-rI;e>c9e&&(pD-=e,rI=t)}function A7t(){for(var t,e=tI,r,n=1/0;e;)e._call?(n>e._time&&(n=e._time),t=e,e=e._next):(r=e._next,e._next=null,e=t?t._next=r:tI=r);P9=t,YG(n)}function YG(t){if(!$v){D9&&(D9=clearTimeout(D9));var e=t-KU;e>24?(t<1/0&&(D9=setTimeout(ide,t-uT.now()-pD)),B3&&(B3=clearInterval(B3))):(B3||(rI=uT.now(),B3=setInterval(E7t,c9e)),$v=1,u9e(ide))}}function ade(t,e,r){var n=new nI;return e=e==null?0:+e,n.restart(i=>{n.stop(),t(i+e)},e,r),n}var M7t=_3e("start","end","cancel","interrupt"),R7t=[],h9e=0,sde=1,XG=2,BA=3,ode=4,KG=5,$A=6;function gD(t,e,r,n,i,a){var s=t.__transition;if(!s)t.__transition={};else if(r in s)return;I7t(t,r,{name:e,index:n,group:i,on:M7t,tween:R7t,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:h9e})}function nQ(t,e){var r=Jd(t,e);if(r.state>h9e)throw new Error("too late; already scheduled");return r}function of(t,e){var r=Jd(t,e);if(r.state>BA)throw new Error("too late; already running");return r}function Jd(t,e){var r=t.__transition;if(!r||!(r=r[e]))throw new Error("transition not found");return r}function I7t(t,e,r){var n=t.__transition,i;n[e]=r,r.timer=d9e(a,0,r.time);function a(u){r.state=sde,r.timer.restart(s,r.delay,r.time),r.delay<=u&&s(u-r.delay)}function s(u){var d,h,f,p;if(r.state!==sde)return l();for(d in n)if(p=n[d],p.name===r.name){if(p.state===BA)return ade(s);p.state===ode?(p.state=$A,p.timer.stop(),p.on.call("interrupt",t,t.__data__,p.index,p.group),delete n[d]):+d<e&&(p.state=$A,p.timer.stop(),p.on.call("cancel",t,t.__data__,p.index,p.group),delete n[d])}if(ade(function(){r.state===BA&&(r.state=ode,r.timer.restart(o,r.delay,r.time),o(u))}),r.state=XG,r.on.call("start",t,t.__data__,r.index,r.group),r.state===XG){for(r.state=BA,i=new Array(f=r.tween.length),d=0,h=-1;d<f;++d)(p=r.tween[d].value.call(t,t.__data__,r.index,r.group))&&(i[++h]=p);i.length=h+1}}function o(u){for(var d=u<r.duration?r.ease.call(null,u/r.duration):(r.timer.restart(l),r.state=KG,1),h=-1,f=i.length;++h<f;)i[h].call(t,d);r.state===KG&&(r.on.call("end",t,t.__data__,r.index,r.group),l())}function l(){r.state=$A,r.timer.stop(),delete n[e];for(var u in n)return;delete t.__transition}}function L7t(t,e){var r=t.__transition,n,i,a=!0,s;if(r){e=e==null?null:e+"";for(s in r){if((n=r[s]).name!==e){a=!1;continue}i=n.state>XG&&n.state<KG,n.state=$A,n.timer.stop(),n.on.call(i?"interrupt":"cancel",t,t.__data__,n.index,n.group),delete r[s]}a&&delete t.__transition}}function N7t(t){return this.each(function(){L7t(this,t)})}function O7t(t,e){var r,n;return function(){var i=of(this,t),a=i.tween;if(a!==r){n=r=a;for(var s=0,o=n.length;s<o;++s)if(n[s].name===e){n=n.slice(),n.splice(s,1);break}}i.tween=n}}function D7t(t,e,r){var n,i;if(typeof r!="function")throw new Error;return function(){var a=of(this,t),s=a.tween;if(s!==n){i=(n=s).slice();for(var o={name:e,value:r},l=0,u=i.length;l<u;++l)if(i[l].name===e){i[l]=o;break}l===u&&i.push(o)}a.tween=i}}function P7t(t,e){var r=this._id;if(t+="",arguments.length<2){for(var n=Jd(this.node(),r).tween,i=0,a=n.length,s;i<a;++i)if((s=n[i]).name===t)return s.value;return null}return this.each((e==null?O7t:D7t)(r,t,e))}function iQ(t,e,r){var n=t._id;return t.each(function(){var i=of(this,n);(i.value||(i.value={}))[e]=r.apply(this,arguments)}),function(i){return Jd(i,n).value[e]}}function f9e(t,e){var r;return(typeof e=="number"?ud:e instanceof XU?eI:(r=XU(e))?(e=r,eI):s9e)(t,e)}function _7t(t){return function(){this.removeAttribute(t)}}function B7t(t){return function(){this.removeAttributeNS(t.space,t.local)}}function $7t(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttribute(t);return s===i?null:s===n?a:a=e(n=s,r)}}function F7t(t,e,r){var n,i=r+"",a;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===n?a:a=e(n=s,r)}}function z7t(t,e,r){var n,i,a;return function(){var s,o=r(this),l;return o==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=o+"",s===l?null:s===n&&l===i?a:(i=l,a=e(n=s,o)))}}function H7t(t,e,r){var n,i,a;return function(){var s,o=r(this),l;return o==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=o+"",s===l?null:s===n&&l===i?a:(i=l,a=e(n=s,o)))}}function V7t(t,e){var r=dD(t),n=r==="transform"?w7t:f9e;return this.attrTween(t,typeof e=="function"?(r.local?H7t:z7t)(r,n,iQ(this,"attr."+t,e)):e==null?(r.local?B7t:_7t)(r):(r.local?F7t:$7t)(r,n,e))}function G7t(t,e){return function(r){this.setAttribute(t,e.call(this,r))}}function W7t(t,e){return function(r){this.setAttributeNS(t.space,t.local,e.call(this,r))}}function q7t(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&W7t(t,a)),r}return i._value=e,i}function j7t(t,e){var r,n;function i(){var a=e.apply(this,arguments);return a!==n&&(r=(n=a)&&G7t(t,a)),r}return i._value=e,i}function Y7t(t,e){var r="attr."+t;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(e==null)return this.tween(r,null);if(typeof e!="function")throw new Error;var n=dD(t);return this.tween(r,(n.local?q7t:j7t)(n,e))}function X7t(t,e){return function(){nQ(this,t).delay=+e.apply(this,arguments)}}function K7t(t,e){return e=+e,function(){nQ(this,t).delay=e}}function Z7t(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?X7t:K7t)(e,t)):Jd(this.node(),e).delay}function J7t(t,e){return function(){of(this,t).duration=+e.apply(this,arguments)}}function Q7t(t,e){return e=+e,function(){of(this,t).duration=e}}function e8t(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?J7t:Q7t)(e,t)):Jd(this.node(),e).duration}function t8t(t,e){if(typeof e!="function")throw new Error;return function(){of(this,t).ease=e}}function r8t(t){var e=this._id;return arguments.length?this.each(t8t(e,t)):Jd(this.node(),e).ease}function n8t(t,e){return function(){var r=e.apply(this,arguments);if(typeof r!="function")throw new Error;of(this,t).ease=r}}function i8t(t){if(typeof t!="function")throw new Error;return this.each(n8t(this._id,t))}function a8t(t){typeof t!="function"&&(t=F3e(t));for(var e=this._groups,r=e.length,n=new Array(r),i=0;i<r;++i)for(var a=e[i],s=a.length,o=n[i]=[],l,u=0;u<s;++u)(l=a[u])&&t.call(l,l.__data__,u,a)&&o.push(l);return new I0(n,this._parents,this._name,this._id)}function s8t(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,r=t._groups,n=e.length,i=r.length,a=Math.min(n,i),s=new Array(n),o=0;o<a;++o)for(var l=e[o],u=r[o],d=l.length,h=s[o]=new Array(d),f,p=0;p<d;++p)(f=l[p]||u[p])&&(h[p]=f);for(;o<n;++o)s[o]=e[o];return new I0(s,this._parents,this._name,this._id)}function o8t(t){return(t+"").trim().split(/^|\s+/).every(function(e){var r=e.indexOf(".");return r>=0&&(e=e.slice(0,r)),!e||e==="start"})}function l8t(t,e,r){var n,i,a=o8t(e)?nQ:of;return function(){var s=a(this,t),o=s.on;o!==n&&(i=(n=o).copy()).on(e,r),s.on=i}}function c8t(t,e){var r=this._id;return arguments.length<2?Jd(this.node(),r).on.on(t):this.each(l8t(r,t,e))}function u8t(t){return function(){var e=this.parentNode;for(var r in this.__transition)if(+r!==t)return;e&&e.removeChild(this)}}function d8t(){return this.on("end.remove",u8t(this._id))}function h8t(t){var e=this._name,r=this._id;typeof t!="function"&&(t=QJ(t));for(var n=this._groups,i=n.length,a=new Array(i),s=0;s<i;++s)for(var o=n[s],l=o.length,u=a[s]=new Array(l),d,h,f=0;f<l;++f)(d=o[f])&&(h=t.call(d,d.__data__,f,o))&&("__data__"in d&&(h.__data__=d.__data__),u[f]=h,gD(u[f],e,r,f,u,Jd(d,r)));return new I0(a,this._parents,e,r)}function f8t(t){var e=this._name,r=this._id;typeof t!="function"&&(t=$3e(t));for(var n=this._groups,i=n.length,a=[],s=[],o=0;o<i;++o)for(var l=n[o],u=l.length,d,h=0;h<u;++h)if(d=l[h]){for(var f=t.call(d,d.__data__,h,l),p,g=Jd(d,r),m=0,U=f.length;m<U;++m)(p=f[m])&&gD(p,e,r,m,f,g);a.push(f),s.push(d)}return new I0(a,s,e,r)}var p8t=iS.prototype.constructor;function g8t(){return new p8t(this._groups,this._parents)}function m8t(t,e){var r,n,i;return function(){var a=Bv(this,t),s=(this.style.removeProperty(t),Bv(this,t));return a===s?null:a===r&&s===n?i:i=e(r=a,n=s)}}function p9e(t){return function(){this.style.removeProperty(t)}}function U8t(t,e,r){var n,i=r+"",a;return function(){var s=Bv(this,t);return s===i?null:s===n?a:a=e(n=s,r)}}function y8t(t,e,r){var n,i,a;return function(){var s=Bv(this,t),o=r(this),l=o+"";return o==null&&(l=o=(this.style.removeProperty(t),Bv(this,t))),s===l?null:s===n&&l===i?a:(i=l,a=e(n=s,o))}}function b8t(t,e){var r,n,i,a="style."+e,s="end."+a,o;return function(){var l=of(this,t),u=l.on,d=l.value[a]==null?o||(o=p9e(e)):void 0;(u!==r||i!==d)&&(n=(r=u).copy()).on(s,i=d),l.on=n}}function v8t(t,e,r){var n=(t+="")=="transform"?x7t:f9e;return e==null?this.styleTween(t,m8t(t,n)).on("end.style."+t,p9e(t)):typeof e=="function"?this.styleTween(t,y8t(t,n,iQ(this,"style."+t,e))).each(b8t(this._id,t)):this.styleTween(t,U8t(t,n,e),r).on("end.style."+t,null)}function x8t(t,e,r){return function(n){this.style.setProperty(t,e.call(this,n),r)}}function w8t(t,e,r){var n,i;function a(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&x8t(t,s,r)),n}return a._value=e,a}function T8t(t,e,r){var n="style."+(t+="");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,w8t(t,e,r??""))}function C8t(t){return function(){this.textContent=t}}function S8t(t){return function(){var e=t(this);this.textContent=e??""}}function k8t(t){return this.tween("text",typeof t=="function"?S8t(iQ(this,"text",t)):C8t(t==null?"":t+""))}function E8t(t){return function(e){this.textContent=t.call(this,e)}}function A8t(t){var e,r;function n(){var i=t.apply(this,arguments);return i!==r&&(e=(r=i)&&E8t(i)),e}return n._value=t,n}function M8t(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,A8t(t))}function R8t(){for(var t=this._name,e=this._id,r=g9e(),n=this._groups,i=n.length,a=0;a<i;++a)for(var s=n[a],o=s.length,l,u=0;u<o;++u)if(l=s[u]){var d=Jd(l,e);gD(l,t,r,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new I0(n,this._parents,t,r)}function I8t(){var t,e,r=this,n=r._id,i=r.size();return new Promise(function(a,s){var o={value:s},l={value:function(){--i===0&&a()}};r.each(function(){var u=of(this,n),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(o),e._.interrupt.push(o),e._.end.push(l)),u.on=e}),i===0&&a()})}var L8t=0;function I0(t,e,r,n){this._groups=t,this._parents=e,this._name=r,this._id=n}function g9e(){return++L8t}var Ef=iS.prototype;I0.prototype={constructor:I0,select:h8t,selectAll:f8t,selectChild:Ef.selectChild,selectChildren:Ef.selectChildren,filter:a8t,merge:s8t,selection:g8t,transition:R8t,call:Ef.call,nodes:Ef.nodes,node:Ef.node,size:Ef.size,empty:Ef.empty,each:Ef.each,on:c8t,attr:V7t,attrTween:Y7t,style:v8t,styleTween:T8t,text:k8t,textTween:M8t,remove:d8t,tween:P7t,delay:Z7t,duration:e8t,ease:r8t,easeVarying:i8t,end:I8t,[Symbol.iterator]:Ef[Symbol.iterator]};function N8t(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var O8t={time:null,delay:0,duration:250,ease:N8t};function D8t(t,e){for(var r;!(r=t.__transition)||!(r=r[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return r}function P8t(t){var e,r;t instanceof I0?(e=t._id,t=t._name):(e=g9e(),(r=O8t).time=rQ(),t=t==null?null:t+"");for(var n=this._groups,i=n.length,a=0;a<i;++a)for(var s=n[a],o=s.length,l,u=0;u<o;++u)(l=s[u])&&gD(l,t,e,u,s,r||D8t(l,e));return new I0(n,this._parents,t,e)}iS.prototype.interrupt=N7t;iS.prototype.transition=P8t;const ZG=Math.PI,JG=2*ZG,bm=1e-6,_8t=JG-bm;function m9e(t){this._+=t[0];for(let e=1,r=t.length;e<r;++e)this._+=arguments[e]+t[e]}function B8t(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return m9e;const r=10**e;return function(n){this._+=n[0];for(let i=1,a=n.length;i<a;++i)this._+=Math.round(arguments[i]*r)/r+n[i]}}let $8t=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?m9e:B8t(e)}moveTo(e,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,r){this._append`L${this._x1=+e},${this._y1=+r}`}quadraticCurveTo(e,r,n,i){this._append`Q${+e},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(e,r,n,i,a,s){this._append`C${+e},${+r},${+n},${+i},${this._x1=+a},${this._y1=+s}`}arcTo(e,r,n,i,a){if(e=+e,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let s=this._x1,o=this._y1,l=n-e,u=i-r,d=s-e,h=o-r,f=d*d+h*h;if(this._x1===null)this._append`M${this._x1=e},${this._y1=r}`;else if(f>bm)if(!(Math.abs(h*l-u*d)>bm)||!a)this._append`L${this._x1=e},${this._y1=r}`;else{let p=n-s,g=i-o,m=l*l+u*u,U=p*p+g*g,y=Math.sqrt(m),b=Math.sqrt(f),v=a*Math.tan((ZG-Math.acos((m+f-U)/(2*y*b)))/2),w=v/b,T=v/y;Math.abs(w-1)>bm&&this._append`L${e+w*d},${r+w*h}`,this._append`A${a},${a},0,0,${+(h*p>d*g)},${this._x1=e+T*l},${this._y1=r+T*u}`}}arc(e,r,n,i,a,s){if(e=+e,r=+r,n=+n,s=!!s,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(i),l=n*Math.sin(i),u=e+o,d=r+l,h=1^s,f=s?i-a:a-i;this._x1===null?this._append`M${u},${d}`:(Math.abs(this._x1-u)>bm||Math.abs(this._y1-d)>bm)&&this._append`L${u},${d}`,n&&(f<0&&(f=f%JG+JG),f>_8t?this._append`A${n},${n},0,1,${h},${e-o},${r-l}A${n},${n},0,1,${h},${this._x1=u},${this._y1=d}`:f>bm&&this._append`A${n},${n},0,${+(f>=ZG)},${h},${this._x1=e+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(e,r,n,i){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}};function F8t(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function iI(t,e){if(!isFinite(t)||t===0)return null;var r=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),n=t.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+t.slice(r+1)]}function Fv(t){return t=iI(Math.abs(t)),t?t[1]:NaN}function z8t(t,e){return function(r,n){for(var i=r.length,a=[],s=0,o=t[0],l=0;i>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),a.push(r.substring(i-=o,i+o)),!((l+=o+1)>n));)o=t[s=(s+1)%t.length];return a.reverse().join(e)}}function H8t(t){return function(e){return e.replace(/[0-9]/g,function(r){return t[+r]})}}var V8t=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function aI(t){if(!(e=V8t.exec(t)))throw new Error("invalid format: "+t);var e;return new aQ({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}aI.prototype=aQ.prototype;function aQ(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}aQ.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 G8t(t){e:for(var e=t.length,r=1,n=-1,i;r<e;++r)switch(t[r]){case".":n=i=r;break;case"0":n===0&&(n=r),i=r;break;default:if(!+t[r])break e;n>0&&(n=0);break}return n>0?t.slice(0,n)+t.slice(i+1):t}var sI;function W8t(t,e){var r=iI(t,e);if(!r)return sI=void 0,t.toPrecision(e);var n=r[0],i=r[1],a=i-(sI=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,s=n.length;return a===s?n:a>s?n+new Array(a-s+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+iI(t,Math.max(0,e+a-1))[0]}function lde(t,e){var r=iI(t,e);if(!r)return t+"";var n=r[0],i=r[1];return i<0?"0."+new Array(-i).join("0")+n:n.length>i+1?n.slice(0,i+1)+"."+n.slice(i+1):n+new Array(i-n.length+2).join("0")}const cde={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:F8t,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>lde(t*100,e),r:lde,s:W8t,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function ude(t){return t}var dde=Array.prototype.map,hde=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function q8t(t){var e=t.grouping===void 0||t.thousands===void 0?ude:z8t(dde.call(t.grouping,Number),t.thousands+""),r=t.currency===void 0?"":t.currency[0]+"",n=t.currency===void 0?"":t.currency[1]+"",i=t.decimal===void 0?".":t.decimal+"",a=t.numerals===void 0?ude:H8t(dde.call(t.numerals,String)),s=t.percent===void 0?"%":t.percent+"",o=t.minus===void 0?"−":t.minus+"",l=t.nan===void 0?"NaN":t.nan+"";function u(h,f){h=aI(h);var p=h.fill,g=h.align,m=h.sign,U=h.symbol,y=h.zero,b=h.width,v=h.comma,w=h.precision,T=h.trim,S=h.type;S==="n"?(v=!0,S="g"):cde[S]||(w===void 0&&(w=12),T=!0,S="g"),(y||p==="0"&&g==="=")&&(y=!0,p="0",g="=");var C=(f&&f.prefix!==void 0?f.prefix:"")+(U==="$"?r:U==="#"&&/[boxX]/.test(S)?"0"+S.toLowerCase():""),k=(U==="$"?n:/[%p]/.test(S)?s:"")+(f&&f.suffix!==void 0?f.suffix:""),E=cde[S],A=/[defgprs%]/.test(S);w=w===void 0?6:/[gprs]/.test(S)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function M(P){var N=C,I=k,L,_,D;if(S==="c")I=E(P)+I,P="";else{P=+P;var O=P<0||1/P<0;if(P=isNaN(P)?l:E(Math.abs(P),w),T&&(P=G8t(P)),O&&+P==0&&m!=="+"&&(O=!1),N=(O?m==="("?m:o:m==="-"||m==="("?"":m)+N,I=(S==="s"&&!isNaN(P)&&sI!==void 0?hde[8+sI/3]:"")+I+(O&&m==="("?")":""),A){for(L=-1,_=P.length;++L<_;)if(D=P.charCodeAt(L),48>D||D>57){I=(D===46?i+P.slice(L+1):P.slice(L))+I,P=P.slice(0,L);break}}}v&&!y&&(P=e(P,1/0));var B=N.length+P.length+I.length,F=B<b?new Array(b-B+1).join(p):"";switch(v&&y&&(P=e(F+P,F.length?b-I.length:1/0),F=""),g){case"<":P=N+P+I+F;break;case"=":P=N+F+P+I;break;case"^":P=F.slice(0,B=F.length>>1)+N+P+I+F.slice(B);break;default:P=F+N+P+I;break}return a(P)}return M.toString=function(){return h+""},M}function d(h,f){var p=Math.max(-8,Math.min(8,Math.floor(Fv(f)/3)))*3,g=Math.pow(10,-p),m=u((h=aI(h),h.type="f",h),{suffix:hde[8+p/3]});return function(U){return m(g*U)}}return{format:u,formatPrefix:d}}var Dk,_m,U9e;j8t({thousands:",",grouping:[3],currency:["$",""]});function j8t(t){return Dk=q8t(t),_m=Dk.format,U9e=Dk.formatPrefix,Dk}function Y8t(t){return Math.max(0,-Fv(Math.abs(t)))}function X8t(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Fv(e)/3)))*3-Fv(Math.abs(t)))}function K8t(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Fv(e)-Fv(t))+1}function Z8t(t){var e=0,r=t.children,n=r&&r.length;if(!n)e=1;else for(;--n>=0;)e+=r[n].value;t.value=e}function J8t(){return this.eachAfter(Z8t)}function Q8t(t,e){let r=-1;for(const n of this)t.call(e,n,++r,this);return this}function evt(t,e){for(var r=this,n=[r],i,a,s=-1;r=n.pop();)if(t.call(e,r,++s,this),i=r.children)for(a=i.length-1;a>=0;--a)n.push(i[a]);return this}function tvt(t,e){for(var r=this,n=[r],i=[],a,s,o,l=-1;r=n.pop();)if(i.push(r),a=r.children)for(s=0,o=a.length;s<o;++s)n.push(a[s]);for(;r=i.pop();)t.call(e,r,++l,this);return this}function rvt(t,e){let r=-1;for(const n of this)if(t.call(e,n,++r,this))return n}function nvt(t){return this.eachAfter(function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r})}function ivt(t){return this.eachBefore(function(e){e.children&&e.children.sort(t)})}function avt(t){for(var e=this,r=svt(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n}function svt(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}function ovt(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e}function lvt(){return Array.from(this)}function cvt(){var t=[];return this.eachBefore(function(e){e.children||t.push(e)}),t}function uvt(){var t=this,e=[];return t.each(function(r){r!==t&&e.push({source:r.parent,target:r})}),e}function*dvt(){var t=this,e,r=[t],n,i,a;do for(e=r.reverse(),r=[];t=e.pop();)if(yield t,n=t.children)for(i=0,a=n.length;i<a;++i)r.push(n[i]);while(r.length)}function sQ(t,e){t instanceof Map?(t=[void 0,t],e===void 0&&(e=pvt)):e===void 0&&(e=fvt);for(var r=new oI(t),n,i=[r],a,s,o,l;n=i.pop();)if((s=e(n.data))&&(l=(s=Array.from(s)).length))for(n.children=s,o=l-1;o>=0;--o)i.push(a=s[o]=new oI(s[o])),a.parent=n,a.depth=n.depth+1;return r.eachBefore(mvt)}function hvt(){return sQ(this).eachBefore(gvt)}function fvt(t){return t.children}function pvt(t){return Array.isArray(t)?t[1]:null}function gvt(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function mvt(t){var e=0;do t.height=e;while((t=t.parent)&&t.height<++e)}function oI(t){this.data=t,this.depth=this.height=0,this.parent=null}oI.prototype=sQ.prototype={constructor:oI,count:J8t,each:Q8t,eachAfter:tvt,eachBefore:evt,find:rvt,sum:nvt,sort:ivt,path:avt,ancestors:ovt,descendants:lvt,leaves:cvt,links:uvt,copy:hvt,[Symbol.iterator]:dvt};function Uvt(t){if(typeof t!="function")throw new Error;return t}function $3(){return 0}function F3(t){return function(){return t}}function yvt(t){t.x0=Math.round(t.x0),t.y0=Math.round(t.y0),t.x1=Math.round(t.x1),t.y1=Math.round(t.y1)}function bvt(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(n-e)/t.value;++o<l;)s=a[o],s.y0=r,s.y1=i,s.x0=e,s.x1=e+=s.value*u}function vvt(t,e,r,n,i){for(var a=t.children,s,o=-1,l=a.length,u=t.value&&(i-r)/t.value;++o<l;)s=a[o],s.x0=e,s.x1=n,s.y0=r,s.y1=r+=s.value*u}var xvt=(1+Math.sqrt(5))/2;function wvt(t,e,r,n,i,a){for(var s=[],o=e.children,l,u,d=0,h=0,f=o.length,p,g,m=e.value,U,y,b,v,w,T,S;d<f;){p=i-r,g=a-n;do U=o[h++].value;while(!U&&h<f);for(y=b=U,T=Math.max(g/p,p/g)/(m*t),S=U*U*T,w=Math.max(b/S,S/y);h<f;++h){if(U+=u=o[h].value,u<y&&(y=u),u>b&&(b=u),S=U*U*T,v=Math.max(b/S,S/y),v>w){U-=u;break}w=v}s.push(l={value:U,dice:p<g,children:o.slice(d,h)}),l.dice?bvt(l,r,n,i,m?n+=g*U/m:a):vvt(l,r,n,m?r+=p*U/m:i,a),m-=U,d=h}return s}const Tvt=(function t(e){function r(n,i,a,s,o){wvt(e,n,i,a,s,o)}return r.ratio=function(n){return t((n=+n)>1?n:1)},r})(xvt);function Cvt(){var t=Tvt,e=!1,r=1,n=1,i=[0],a=$3,s=$3,o=$3,l=$3,u=$3;function d(f){return f.x0=f.y0=0,f.x1=r,f.y1=n,f.eachBefore(h),i=[0],e&&f.eachBefore(yvt),f}function h(f){var p=i[f.depth],g=f.x0+p,m=f.y0+p,U=f.x1-p,y=f.y1-p;U<g&&(g=U=(g+U)/2),y<m&&(m=y=(m+y)/2),f.x0=g,f.y0=m,f.x1=U,f.y1=y,f.children&&(p=i[f.depth+1]=a(f)/2,g+=u(f)-p,m+=s(f)-p,U-=o(f)-p,y-=l(f)-p,U<g&&(g=U=(g+U)/2),y<m&&(m=y=(m+y)/2),t(f,g,m,U,y))}return d.round=function(f){return arguments.length?(e=!!f,d):e},d.size=function(f){return arguments.length?(r=+f[0],n=+f[1],d):[r,n]},d.tile=function(f){return arguments.length?(t=Uvt(f),d):t},d.padding=function(f){return arguments.length?d.paddingInner(f).paddingOuter(f):d.paddingInner()},d.paddingInner=function(f){return arguments.length?(a=typeof f=="function"?f:F3(+f),d):a},d.paddingOuter=function(f){return arguments.length?d.paddingTop(f).paddingRight(f).paddingBottom(f).paddingLeft(f):d.paddingTop()},d.paddingTop=function(f){return arguments.length?(s=typeof f=="function"?f:F3(+f),d):s},d.paddingRight=function(f){return arguments.length?(o=typeof f=="function"?f:F3(+f),d):o},d.paddingBottom=function(f){return arguments.length?(l=typeof f=="function"?f:F3(+f),d):l},d.paddingLeft=function(f){return arguments.length?(u=typeof f=="function"?f:F3(+f),d):u},d}function mD(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}const fde=Symbol("implicit");function MU(){var t=new Gue,e=[],r=[],n=fde;function i(a){let s=t.get(a);if(s===void 0){if(n!==fde)return n;t.set(a,s=e.push(a)-1)}return r[s%r.length]}return i.domain=function(a){if(!arguments.length)return e.slice();e=[],t=new Gue;for(const s of a)t.has(s)||t.set(s,e.push(s)-1);return i},i.range=function(a){return arguments.length?(r=Array.from(a),i):r.slice()},i.unknown=function(a){return arguments.length?(n=a,i):n},i.copy=function(){return MU(e,r).unknown(n)},mD.apply(i,arguments),i}function QG(){var t=MU().unknown(void 0),e=t.domain,r=t.range,n=0,i=1,a,s,o=!1,l=0,u=0,d=.5;delete t.unknown;function h(){var f=e().length,p=i<n,g=p?i:n,m=p?n:i;a=(m-g)/Math.max(1,f-l+u*2),o&&(a=Math.floor(a)),g+=(m-g-a*(f-l))*d,s=a*(1-l),o&&(g=Math.round(g),s=Math.round(s));var U=rbt(f).map(function(y){return g+a*y});return r(p?U.reverse():U)}return t.domain=function(f){return arguments.length?(e(f),h()):e()},t.range=function(f){return arguments.length?([n,i]=f,n=+n,i=+i,h()):[n,i]},t.rangeRound=function(f){return[n,i]=f,n=+n,i=+i,o=!0,h()},t.bandwidth=function(){return s},t.step=function(){return a},t.round=function(f){return arguments.length?(o=!!f,h()):o},t.padding=function(f){return arguments.length?(l=Math.min(1,u=+f),h()):l},t.paddingInner=function(f){return arguments.length?(l=Math.min(1,f),h()):l},t.paddingOuter=function(f){return arguments.length?(u=+f,h()):u},t.align=function(f){return arguments.length?(d=Math.max(0,Math.min(1,f)),h()):d},t.copy=function(){return QG(e(),[n,i]).round(o).paddingInner(l).paddingOuter(u).align(d)},mD.apply(h(),arguments)}function Svt(t){return function(){return t}}function kvt(t){return+t}var pde=[0,1];function I2(t){return t}function eW(t,e){return(e-=t=+t)?function(r){return(r-t)/e}:Svt(isNaN(e)?NaN:.5)}function Evt(t,e){var r;return t>e&&(r=t,t=e,e=r),function(n){return Math.max(t,Math.min(e,n))}}function Avt(t,e,r){var n=t[0],i=t[1],a=e[0],s=e[1];return i<n?(n=eW(i,n),a=r(s,a)):(n=eW(n,i),a=r(a,s)),function(o){return a(n(o))}}function Mvt(t,e,r){var n=Math.min(t.length,e.length)-1,i=new Array(n),a=new Array(n),s=-1;for(t[n]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++s<n;)i[s]=eW(t[s],t[s+1]),a[s]=r(e[s],e[s+1]);return function(o){var l=q2t(t,o,1,n)-1;return a[l](i[l](o))}}function y9e(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function Rvt(){var t=pde,e=pde,r=tQ,n,i,a,s=I2,o,l,u;function d(){var f=Math.min(t.length,e.length);return s!==I2&&(s=Evt(t[0],t[f-1])),o=f>2?Mvt:Avt,l=u=null,h}function h(f){return f==null||isNaN(f=+f)?a:(l||(l=o(t.map(n),e,r)))(n(s(f)))}return h.invert=function(f){return s(i((u||(u=o(e,t.map(n),ud)))(f)))},h.domain=function(f){return arguments.length?(t=Array.from(f,kvt),d()):t.slice()},h.range=function(f){return arguments.length?(e=Array.from(f),d()):e.slice()},h.rangeRound=function(f){return e=Array.from(f),r=y7t,d()},h.clamp=function(f){return arguments.length?(s=f?!0:I2,d()):s!==I2},h.interpolate=function(f){return arguments.length?(r=f,d()):r},h.unknown=function(f){return arguments.length?(a=f,h):a},function(f,p){return n=f,i=p,d()}}function b9e(){return Rvt()(I2,I2)}function Ivt(t,e,r,n){var i=zG(t,e,r),a;switch(n=aI(n??",f"),n.type){case"s":{var s=Math.max(Math.abs(t),Math.abs(e));return n.precision==null&&!isNaN(a=X8t(i,s))&&(n.precision=a),U9e(n,s)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=K8t(i,Math.max(Math.abs(t),Math.abs(e))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=Y8t(i))&&(n.precision=a-(n.type==="%")*2);break}}return _m(n)}function Lvt(t){var e=t.domain;return t.ticks=function(r){var n=e();return Q2t(n[0],n[n.length-1],r??10)},t.tickFormat=function(r,n){var i=e();return Ivt(i[0],i[i.length-1],r??10,n)},t.nice=function(r){r==null&&(r=10);var n=e(),i=0,a=n.length-1,s=n[i],o=n[a],l,u,d=10;for(o<s&&(u=s,s=o,o=u,u=i,i=a,a=u);d-- >0;){if(u=FG(s,o,r),u===l)return n[i]=s,n[a]=o,e(n);if(u>0)s=Math.floor(s/u)*u,o=Math.ceil(o/u)*u;else if(u<0)s=Math.ceil(s*u)/u,o=Math.floor(o*u)/u;else break;l=u}return t},t}function zv(){var t=b9e();return t.copy=function(){return y9e(t,zv())},mD.apply(t,arguments),Lvt(t)}function Nvt(t,e){t=t.slice();var r=0,n=t.length-1,i=t[r],a=t[n],s;return a<i&&(s=r,r=n,n=s,s=i,i=a,a=s),t[r]=e.floor(i),t[n]=e.ceil(a),t}const M$=new Date,R$=new Date;function zs(t,e,r,n){function i(a){return t(a=arguments.length===0?new Date:new Date(+a)),a}return i.floor=a=>(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),o=i.ceil(a);return a-s<o-a?s:o},i.offset=(a,s)=>(e(a=new Date(+a),s==null?1:Math.floor(s)),a),i.range=(a,s,o)=>{const l=[];if(a=i.ceil(a),o=o==null?1:Math.floor(o),!(a<s)||!(o>0))return l;let u;do l.push(u=new Date(+a)),e(a,o),t(a);while(u<a&&a<s);return l},i.filter=a=>zs(s=>{if(s>=s)for(;t(s),!a(s);)s.setTime(s-1)},(s,o)=>{if(s>=s)if(o<0)for(;++o<=0;)for(;e(s,-1),!a(s););else for(;--o>=0;)for(;e(s,1),!a(s););}),r&&(i.count=(a,s)=>(M$.setTime(+a),R$.setTime(+s),t(M$),t(R$),Math.floor(r(M$,R$))),i.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?i.filter(n?s=>n(s)%a===0:s=>i.count(0,s)%a===0):i)),i}const Hv=zs(()=>{},(t,e)=>{t.setTime(+t+e)},(t,e)=>e-t);Hv.every=t=>(t=Math.floor(t),!isFinite(t)||!(t>0)?null:t>1?zs(e=>{e.setTime(Math.floor(e/t)*t)},(e,r)=>{e.setTime(+e+r*t)},(e,r)=>(r-e)/t):Hv);Hv.range;const s0=1e3,Nu=s0*60,o0=Nu*60,L0=o0*24,oQ=L0*7,gde=L0*30,I$=L0*365,cg=zs(t=>{t.setTime(t-t.getMilliseconds())},(t,e)=>{t.setTime(+t+e*s0)},(t,e)=>(e-t)/s0,t=>t.getUTCSeconds());cg.range;const dT=zs(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*s0)},(t,e)=>{t.setTime(+t+e*Nu)},(t,e)=>(e-t)/Nu,t=>t.getMinutes());dT.range;const Ovt=zs(t=>{t.setUTCSeconds(0,0)},(t,e)=>{t.setTime(+t+e*Nu)},(t,e)=>(e-t)/Nu,t=>t.getUTCMinutes());Ovt.range;const hT=zs(t=>{t.setTime(t-t.getMilliseconds()-t.getSeconds()*s0-t.getMinutes()*Nu)},(t,e)=>{t.setTime(+t+e*o0)},(t,e)=>(e-t)/o0,t=>t.getHours());hT.range;const Dvt=zs(t=>{t.setUTCMinutes(0,0,0)},(t,e)=>{t.setTime(+t+e*o0)},(t,e)=>(e-t)/o0,t=>t.getUTCHours());Dvt.range;const ZU=zs(t=>t.setHours(0,0,0,0),(t,e)=>t.setDate(t.getDate()+e),(t,e)=>(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*Nu)/L0,t=>t.getDate()-1);ZU.range;const lQ=zs(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/L0,t=>t.getUTCDate()-1);lQ.range;const Pvt=zs(t=>{t.setUTCHours(0,0,0,0)},(t,e)=>{t.setUTCDate(t.getUTCDate()+e)},(t,e)=>(e-t)/L0,t=>Math.floor(t/L0));Pvt.range;function S5(t){return zs(e=>{e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)},(e,r)=>{e.setDate(e.getDate()+r*7)},(e,r)=>(r-e-(r.getTimezoneOffset()-e.getTimezoneOffset())*Nu)/oQ)}const sS=S5(0),fT=S5(1),v9e=S5(2),x9e=S5(3),JU=S5(4),w9e=S5(5),T9e=S5(6);sS.range;fT.range;v9e.range;x9e.range;JU.range;w9e.range;T9e.range;function k5(t){return zs(e=>{e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCDate(e.getUTCDate()+r*7)},(e,r)=>(r-e)/oQ)}const C9e=k5(0),lI=k5(1),_vt=k5(2),Bvt=k5(3),Vv=k5(4),$vt=k5(5),Fvt=k5(6);C9e.range;lI.range;_vt.range;Bvt.range;Vv.range;$vt.range;Fvt.range;const pT=zs(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());pT.range;const zvt=zs(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());zvt.range;const N0=zs(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());N0.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:zs(e=>{e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)},(e,r)=>{e.setFullYear(e.getFullYear()+r*t)});N0.range;const QU=zs(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());QU.every=t=>!isFinite(t=Math.floor(t))||!(t>0)?null:zs(e=>{e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,r)=>{e.setUTCFullYear(e.getUTCFullYear()+r*t)});QU.range;function Hvt(t,e,r,n,i,a){const s=[[cg,1,s0],[cg,5,5*s0],[cg,15,15*s0],[cg,30,30*s0],[a,1,Nu],[a,5,5*Nu],[a,15,15*Nu],[a,30,30*Nu],[i,1,o0],[i,3,3*o0],[i,6,6*o0],[i,12,12*o0],[n,1,L0],[n,2,2*L0],[r,1,oQ],[e,1,gde],[e,3,3*gde],[t,1,I$]];function o(u,d,h){const f=d<u;f&&([u,d]=[d,u]);const p=h&&typeof h.range=="function"?h:l(u,d,h),g=p?p.range(u,+d+1):[];return f?g.reverse():g}function l(u,d,h){const f=Math.abs(d-u)/h,p=JJ(([,,U])=>U).right(s,f);if(p===s.length)return t.every(zG(u/I$,d/I$,h));if(p===0)return Hv.every(Math.max(zG(u,d,h),1));const[g,m]=s[f/s[p-1][2]<s[p][2]/f?p-1:p];return g.every(m)}return[o,l]}const[Vvt,Gvt]=Hvt(N0,pT,sS,ZU,hT,dT);function L$(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function N$(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function z3(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function Wvt(t){var e=t.dateTime,r=t.date,n=t.time,i=t.periods,a=t.days,s=t.shortDays,o=t.months,l=t.shortMonths,u=H3(i),d=V3(i),h=H3(a),f=V3(a),p=H3(s),g=V3(s),m=H3(o),U=V3(o),y=H3(l),b=V3(l),v={a:D,A:O,b:B,B:F,c:null,d:xde,e:xde,f:p4t,g:C4t,G:k4t,H:d4t,I:h4t,j:f4t,L:S9e,m:g4t,M:m4t,p:z,q:$,Q:Cde,s:Sde,S:U4t,u:y4t,U:b4t,V:v4t,w:x4t,W:w4t,x:null,X:null,y:T4t,Y:S4t,Z:E4t,"%":Tde},w={a:H,A:V,b:G,B:K,c:null,d:wde,e:wde,f:I4t,g:z4t,G:V4t,H:A4t,I:M4t,j:R4t,L:E9e,m:L4t,M:N4t,p:W,q:oe,Q:Cde,s:Sde,S:O4t,u:D4t,U:P4t,V:_4t,w:B4t,W:$4t,x:null,X:null,y:F4t,Y:H4t,Z:G4t,"%":Tde},T={a:A,A:M,b:P,B:N,c:I,d:bde,e:bde,f:o4t,g:yde,G:Ude,H:vde,I:vde,j:n4t,L:s4t,m:r4t,M:i4t,p:E,q:t4t,Q:c4t,s:u4t,S:a4t,u:Kvt,U:Zvt,V:Jvt,w:Xvt,W:Qvt,x:L,X:_,y:yde,Y:Ude,Z:e4t,"%":l4t};v.x=S(r,v),v.X=S(n,v),v.c=S(e,v),w.x=S(r,w),w.X=S(n,w),w.c=S(e,w);function S(Z,J){return function(ne){var ie=[],me=-1,te=0,Re=Z.length,_e,He,ce;for(ne instanceof Date||(ne=new Date(+ne));++me<Re;)Z.charCodeAt(me)===37&&(ie.push(Z.slice(te,me)),(He=mde[_e=Z.charAt(++me)])!=null?_e=Z.charAt(++me):He=_e==="e"?" ":"0",(ce=J[_e])&&(_e=ce(ne,He)),ie.push(_e),te=me+1);return ie.push(Z.slice(te,me)),ie.join("")}}function C(Z,J){return function(ne){var ie=z3(1900,void 0,1),me=k(ie,Z,ne+="",0),te,Re;if(me!=ne.length)return null;if("Q"in ie)return new Date(ie.Q);if("s"in ie)return new Date(ie.s*1e3+("L"in ie?ie.L:0));if(J&&!("Z"in ie)&&(ie.Z=0),"p"in ie&&(ie.H=ie.H%12+ie.p*12),ie.m===void 0&&(ie.m="q"in ie?ie.q:0),"V"in ie){if(ie.V<1||ie.V>53)return null;"w"in ie||(ie.w=1),"Z"in ie?(te=N$(z3(ie.y,0,1)),Re=te.getUTCDay(),te=Re>4||Re===0?lI.ceil(te):lI(te),te=lQ.offset(te,(ie.V-1)*7),ie.y=te.getUTCFullYear(),ie.m=te.getUTCMonth(),ie.d=te.getUTCDate()+(ie.w+6)%7):(te=L$(z3(ie.y,0,1)),Re=te.getDay(),te=Re>4||Re===0?fT.ceil(te):fT(te),te=ZU.offset(te,(ie.V-1)*7),ie.y=te.getFullYear(),ie.m=te.getMonth(),ie.d=te.getDate()+(ie.w+6)%7)}else("W"in ie||"U"in ie)&&("w"in ie||(ie.w="u"in ie?ie.u%7:"W"in ie?1:0),Re="Z"in ie?N$(z3(ie.y,0,1)).getUTCDay():L$(z3(ie.y,0,1)).getDay(),ie.m=0,ie.d="W"in ie?(ie.w+6)%7+ie.W*7-(Re+5)%7:ie.w+ie.U*7-(Re+6)%7);return"Z"in ie?(ie.H+=ie.Z/100|0,ie.M+=ie.Z%100,N$(ie)):L$(ie)}}function k(Z,J,ne,ie){for(var me=0,te=J.length,Re=ne.length,_e,He;me<te;){if(ie>=Re)return-1;if(_e=J.charCodeAt(me++),_e===37){if(_e=J.charAt(me++),He=T[_e in mde?J.charAt(me++):_e],!He||(ie=He(Z,ne,ie))<0)return-1}else if(_e!=ne.charCodeAt(ie++))return-1}return ie}function E(Z,J,ne){var ie=u.exec(J.slice(ne));return ie?(Z.p=d.get(ie[0].toLowerCase()),ne+ie[0].length):-1}function A(Z,J,ne){var ie=p.exec(J.slice(ne));return ie?(Z.w=g.get(ie[0].toLowerCase()),ne+ie[0].length):-1}function M(Z,J,ne){var ie=h.exec(J.slice(ne));return ie?(Z.w=f.get(ie[0].toLowerCase()),ne+ie[0].length):-1}function P(Z,J,ne){var ie=y.exec(J.slice(ne));return ie?(Z.m=b.get(ie[0].toLowerCase()),ne+ie[0].length):-1}function N(Z,J,ne){var ie=m.exec(J.slice(ne));return ie?(Z.m=U.get(ie[0].toLowerCase()),ne+ie[0].length):-1}function I(Z,J,ne){return k(Z,e,J,ne)}function L(Z,J,ne){return k(Z,r,J,ne)}function _(Z,J,ne){return k(Z,n,J,ne)}function D(Z){return s[Z.getDay()]}function O(Z){return a[Z.getDay()]}function B(Z){return l[Z.getMonth()]}function F(Z){return o[Z.getMonth()]}function z(Z){return i[+(Z.getHours()>=12)]}function $(Z){return 1+~~(Z.getMonth()/3)}function H(Z){return s[Z.getUTCDay()]}function V(Z){return a[Z.getUTCDay()]}function G(Z){return l[Z.getUTCMonth()]}function K(Z){return o[Z.getUTCMonth()]}function W(Z){return i[+(Z.getUTCHours()>=12)]}function oe(Z){return 1+~~(Z.getUTCMonth()/3)}return{format:function(Z){var J=S(Z+="",v);return J.toString=function(){return Z},J},parse:function(Z){var J=C(Z+="",!1);return J.toString=function(){return Z},J},utcFormat:function(Z){var J=S(Z+="",w);return J.toString=function(){return Z},J},utcParse:function(Z){var J=C(Z+="",!0);return J.toString=function(){return Z},J}}}var mde={"-":"",_:" ",0:"0"},lo=/^\s*\d+/,qvt=/^%/,jvt=/[\\^$*+?|[\]().{}]/g;function oi(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a<r?new Array(r-a+1).join(e)+i:i)}function Yvt(t){return t.replace(jvt,"\\$&")}function H3(t){return new RegExp("^(?:"+t.map(Yvt).join("|")+")","i")}function V3(t){return new Map(t.map((e,r)=>[e.toLowerCase(),r]))}function Xvt(t,e,r){var n=lo.exec(e.slice(r,r+1));return n?(t.w=+n[0],r+n[0].length):-1}function Kvt(t,e,r){var n=lo.exec(e.slice(r,r+1));return n?(t.u=+n[0],r+n[0].length):-1}function Zvt(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.U=+n[0],r+n[0].length):-1}function Jvt(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.V=+n[0],r+n[0].length):-1}function Qvt(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.W=+n[0],r+n[0].length):-1}function Ude(t,e,r){var n=lo.exec(e.slice(r,r+4));return n?(t.y=+n[0],r+n[0].length):-1}function yde(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function e4t(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function t4t(t,e,r){var n=lo.exec(e.slice(r,r+1));return n?(t.q=n[0]*3-3,r+n[0].length):-1}function r4t(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function bde(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function n4t(t,e,r){var n=lo.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function vde(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function i4t(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function a4t(t,e,r){var n=lo.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function s4t(t,e,r){var n=lo.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function o4t(t,e,r){var n=lo.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function l4t(t,e,r){var n=qvt.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function c4t(t,e,r){var n=lo.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function u4t(t,e,r){var n=lo.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function xde(t,e){return oi(t.getDate(),e,2)}function d4t(t,e){return oi(t.getHours(),e,2)}function h4t(t,e){return oi(t.getHours()%12||12,e,2)}function f4t(t,e){return oi(1+ZU.count(N0(t),t),e,3)}function S9e(t,e){return oi(t.getMilliseconds(),e,3)}function p4t(t,e){return S9e(t,e)+"000"}function g4t(t,e){return oi(t.getMonth()+1,e,2)}function m4t(t,e){return oi(t.getMinutes(),e,2)}function U4t(t,e){return oi(t.getSeconds(),e,2)}function y4t(t){var e=t.getDay();return e===0?7:e}function b4t(t,e){return oi(sS.count(N0(t)-1,t),e,2)}function k9e(t){var e=t.getDay();return e>=4||e===0?JU(t):JU.ceil(t)}function v4t(t,e){return t=k9e(t),oi(JU.count(N0(t),t)+(N0(t).getDay()===4),e,2)}function x4t(t){return t.getDay()}function w4t(t,e){return oi(fT.count(N0(t)-1,t),e,2)}function T4t(t,e){return oi(t.getFullYear()%100,e,2)}function C4t(t,e){return t=k9e(t),oi(t.getFullYear()%100,e,2)}function S4t(t,e){return oi(t.getFullYear()%1e4,e,4)}function k4t(t,e){var r=t.getDay();return t=r>=4||r===0?JU(t):JU.ceil(t),oi(t.getFullYear()%1e4,e,4)}function E4t(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+oi(e/60|0,"0",2)+oi(e%60,"0",2)}function wde(t,e){return oi(t.getUTCDate(),e,2)}function A4t(t,e){return oi(t.getUTCHours(),e,2)}function M4t(t,e){return oi(t.getUTCHours()%12||12,e,2)}function R4t(t,e){return oi(1+lQ.count(QU(t),t),e,3)}function E9e(t,e){return oi(t.getUTCMilliseconds(),e,3)}function I4t(t,e){return E9e(t,e)+"000"}function L4t(t,e){return oi(t.getUTCMonth()+1,e,2)}function N4t(t,e){return oi(t.getUTCMinutes(),e,2)}function O4t(t,e){return oi(t.getUTCSeconds(),e,2)}function D4t(t){var e=t.getUTCDay();return e===0?7:e}function P4t(t,e){return oi(C9e.count(QU(t)-1,t),e,2)}function A9e(t){var e=t.getUTCDay();return e>=4||e===0?Vv(t):Vv.ceil(t)}function _4t(t,e){return t=A9e(t),oi(Vv.count(QU(t),t)+(QU(t).getUTCDay()===4),e,2)}function B4t(t){return t.getUTCDay()}function $4t(t,e){return oi(lI.count(QU(t)-1,t),e,2)}function F4t(t,e){return oi(t.getUTCFullYear()%100,e,2)}function z4t(t,e){return t=A9e(t),oi(t.getUTCFullYear()%100,e,2)}function H4t(t,e){return oi(t.getUTCFullYear()%1e4,e,4)}function V4t(t,e){var r=t.getUTCDay();return t=r>=4||r===0?Vv(t):Vv.ceil(t),oi(t.getUTCFullYear()%1e4,e,4)}function G4t(){return"+0000"}function Tde(){return"%"}function Cde(t){return+t}function Sde(t){return Math.floor(+t/1e3)}var yy,cI;W4t({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 W4t(t){return yy=Wvt(t),cI=yy.format,yy.parse,yy.utcFormat,yy.utcParse,yy}function q4t(t){return new Date(t)}function j4t(t){return t instanceof Date?+t:+new Date(+t)}function M9e(t,e,r,n,i,a,s,o,l,u){var d=b9e(),h=d.invert,f=d.domain,p=u(".%L"),g=u(":%S"),m=u("%I:%M"),U=u("%I %p"),y=u("%a %d"),b=u("%b %d"),v=u("%B"),w=u("%Y");function T(S){return(l(S)<S?p:o(S)<S?g:s(S)<S?m:a(S)<S?U:n(S)<S?i(S)<S?y:b:r(S)<S?v:w)(S)}return d.invert=function(S){return new Date(h(S))},d.domain=function(S){return arguments.length?f(Array.from(S,j4t)):f().map(q4t)},d.ticks=function(S){var C=f();return t(C[0],C[C.length-1],S??10)},d.tickFormat=function(S,C){return C==null?T:u(C)},d.nice=function(S){var C=f();return(!S||typeof S.range!="function")&&(S=e(C[0],C[C.length-1],S??10)),S?f(Nvt(C,S)):d},d.copy=function(){return y9e(d,M9e(t,e,r,n,i,a,s,o,l,u))},d}function Y4t(){return mD.apply(M9e(Vvt,Gvt,N0,pT,sS,ZU,hT,dT,cg,cI).domain([new Date(2e3,0,1),new Date(2e3,0,2)]),arguments)}function X4t(t){for(var e=t.length/6|0,r=new Array(e),n=0;n<e;)r[n]="#"+t.slice(n*6,++n*6);return r}const K4t=X4t("4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab");function Xa(t){return function(){return t}}const kde=Math.abs,zo=Math.atan2,Z1=Math.cos,Z4t=Math.max,O$=Math.min,rh=Math.sin,L2=Math.sqrt,Go=1e-12,gT=Math.PI,uI=gT/2,FA=2*gT;function J4t(t){return t>1?0:t<-1?gT:Math.acos(t)}function Ede(t){return t>=1?uI:t<=-1?-uI:Math.asin(t)}function R9e(t){let e=3;return t.digits=function(r){if(!arguments.length)return e;if(r==null)e=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);e=n}return t},()=>new $8t(e)}function Q4t(t){return t.innerRadius}function e3t(t){return t.outerRadius}function t3t(t){return t.startAngle}function r3t(t){return t.endAngle}function n3t(t){return t&&t.padAngle}function i3t(t,e,r,n,i,a,s,o){var l=r-t,u=n-e,d=s-i,h=o-a,f=h*l-d*u;if(!(f*f<Go))return f=(d*(e-a)-h*(t-i))/f,[t+f*l,e+f*u]}function Pk(t,e,r,n,i,a,s){var o=t-r,l=e-n,u=(s?a:-a)/L2(o*o+l*l),d=u*l,h=-u*o,f=t+d,p=e+h,g=r+d,m=n+h,U=(f+g)/2,y=(p+m)/2,b=g-f,v=m-p,w=b*b+v*v,T=i-a,S=f*m-g*p,C=(v<0?-1:1)*L2(Z4t(0,T*T*w-S*S)),k=(S*v-b*C)/w,E=(-S*b-v*C)/w,A=(S*v+b*C)/w,M=(-S*b+v*C)/w,P=k-U,N=E-y,I=A-U,L=M-y;return P*P+N*N>I*I+L*L&&(k=A,E=M),{cx:k,cy:E,x01:-d,y01:-h,x11:k*(i/T-1),y11:E*(i/T-1)}}function Gv(){var t=Q4t,e=e3t,r=Xa(0),n=null,i=t3t,a=r3t,s=n3t,o=null,l=R9e(u);function u(){var d,h,f=+t.apply(this,arguments),p=+e.apply(this,arguments),g=i.apply(this,arguments)-uI,m=a.apply(this,arguments)-uI,U=kde(m-g),y=m>g;if(o||(o=d=l()),p<f&&(h=p,p=f,f=h),!(p>Go))o.moveTo(0,0);else if(U>FA-Go)o.moveTo(p*Z1(g),p*rh(g)),o.arc(0,0,p,g,m,!y),f>Go&&(o.moveTo(f*Z1(m),f*rh(m)),o.arc(0,0,f,m,g,y));else{var b=g,v=m,w=g,T=m,S=U,C=U,k=s.apply(this,arguments)/2,E=k>Go&&(n?+n.apply(this,arguments):L2(f*f+p*p)),A=O$(kde(p-f)/2,+r.apply(this,arguments)),M=A,P=A,N,I;if(E>Go){var L=Ede(E/f*rh(k)),_=Ede(E/p*rh(k));(S-=L*2)>Go?(L*=y?1:-1,w+=L,T-=L):(S=0,w=T=(g+m)/2),(C-=_*2)>Go?(_*=y?1:-1,b+=_,v-=_):(C=0,b=v=(g+m)/2)}var D=p*Z1(b),O=p*rh(b),B=f*Z1(T),F=f*rh(T);if(A>Go){var z=p*Z1(v),$=p*rh(v),H=f*Z1(w),V=f*rh(w),G;if(U<gT)if(G=i3t(D,O,H,V,z,$,B,F)){var K=D-G[0],W=O-G[1],oe=z-G[0],Z=$-G[1],J=1/rh(J4t((K*oe+W*Z)/(L2(K*K+W*W)*L2(oe*oe+Z*Z)))/2),ne=L2(G[0]*G[0]+G[1]*G[1]);M=O$(A,(f-ne)/(J-1)),P=O$(A,(p-ne)/(J+1))}else M=P=0}C>Go?P>Go?(N=Pk(H,V,D,O,p,P,y),I=Pk(z,$,B,F,p,P,y),o.moveTo(N.cx+N.x01,N.cy+N.y01),P<A?o.arc(N.cx,N.cy,P,zo(N.y01,N.x01),zo(I.y01,I.x01),!y):(o.arc(N.cx,N.cy,P,zo(N.y01,N.x01),zo(N.y11,N.x11),!y),o.arc(0,0,p,zo(N.cy+N.y11,N.cx+N.x11),zo(I.cy+I.y11,I.cx+I.x11),!y),o.arc(I.cx,I.cy,P,zo(I.y11,I.x11),zo(I.y01,I.x01),!y))):(o.moveTo(D,O),o.arc(0,0,p,b,v,!y)):o.moveTo(D,O),!(f>Go)||!(S>Go)?o.lineTo(B,F):M>Go?(N=Pk(B,F,z,$,f,-M,y),I=Pk(D,O,H,V,f,-M,y),o.lineTo(N.cx+N.x01,N.cy+N.y01),M<A?o.arc(N.cx,N.cy,M,zo(N.y01,N.x01),zo(I.y01,I.x01),!y):(o.arc(N.cx,N.cy,M,zo(N.y01,N.x01),zo(N.y11,N.x11),!y),o.arc(0,0,f,zo(N.cy+N.y11,N.cx+N.x11),zo(I.cy+I.y11,I.cx+I.x11),y),o.arc(I.cx,I.cy,M,zo(I.y11,I.x11),zo(I.y01,I.x01),!y))):o.arc(0,0,f,T,w,y)}if(o.closePath(),d)return o=null,d+""||null}return u.centroid=function(){var d=(+t.apply(this,arguments)+ +e.apply(this,arguments))/2,h=(+i.apply(this,arguments)+ +a.apply(this,arguments))/2-gT/2;return[Z1(h)*d,rh(h)*d]},u.innerRadius=function(d){return arguments.length?(t=typeof d=="function"?d:Xa(+d),u):t},u.outerRadius=function(d){return arguments.length?(e=typeof d=="function"?d:Xa(+d),u):e},u.cornerRadius=function(d){return arguments.length?(r=typeof d=="function"?d:Xa(+d),u):r},u.padRadius=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Xa(+d),u):n},u.startAngle=function(d){return arguments.length?(i=typeof d=="function"?d:Xa(+d),u):i},u.endAngle=function(d){return arguments.length?(a=typeof d=="function"?d:Xa(+d),u):a},u.padAngle=function(d){return arguments.length?(s=typeof d=="function"?d:Xa(+d),u):s},u.context=function(d){return arguments.length?(o=d??null,u):o},u}function I9e(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function L9e(t){this._context=t}L9e.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 Gx(t){return new L9e(t)}function a3t(t){return t[0]}function s3t(t){return t[1]}function mT(t,e){var r=Xa(!0),n=null,i=Gx,a=null,s=R9e(o);t=typeof t=="function"?t:t===void 0?a3t:Xa(t),e=typeof e=="function"?e:e===void 0?s3t:Xa(e);function o(l){var u,d=(l=I9e(l)).length,h,f=!1,p;for(n==null&&(a=i(p=s())),u=0;u<=d;++u)!(u<d&&r(h=l[u],u,l))===f&&((f=!f)?a.lineStart():a.lineEnd()),f&&a.point(+t(h,u,l),+e(h,u,l));if(p)return a=null,p+""||null}return o.x=function(l){return arguments.length?(t=typeof l=="function"?l:Xa(+l),o):t},o.y=function(l){return arguments.length?(e=typeof l=="function"?l:Xa(+l),o):e},o.defined=function(l){return arguments.length?(r=typeof l=="function"?l:Xa(!!l),o):r},o.curve=function(l){return arguments.length?(i=l,n!=null&&(a=i(n)),o):i},o.context=function(l){return arguments.length?(l==null?n=a=null:a=i(n=l),o):n},o}function o3t(t,e){return e<t?-1:e>t?1:e>=t?0:NaN}function l3t(t){return t}function c3t(){var t=l3t,e=o3t,r=null,n=Xa(0),i=Xa(FA),a=Xa(0);function s(o){var l,u=(o=I9e(o)).length,d,h,f=0,p=new Array(u),g=new Array(u),m=+n.apply(this,arguments),U=Math.min(FA,Math.max(-FA,i.apply(this,arguments)-m)),y,b=Math.min(Math.abs(U)/u,a.apply(this,arguments)),v=b*(U<0?-1:1),w;for(l=0;l<u;++l)(w=g[p[l]=l]=+t(o[l],l,o))>0&&(f+=w);for(e!=null?p.sort(function(T,S){return e(g[T],g[S])}):r!=null&&p.sort(function(T,S){return r(o[T],o[S])}),l=0,h=f?(U-u*v)/f:0;l<u;++l,m=y)d=p[l],w=g[d],y=m+(w>0?w*h:0)+v,g[d]={data:o[d],index:l,value:w,startAngle:m,endAngle:y,padAngle:b};return g}return s.value=function(o){return arguments.length?(t=typeof o=="function"?o:Xa(+o),s):t},s.sortValues=function(o){return arguments.length?(e=o,r=null,s):e},s.sort=function(o){return arguments.length?(r=o,e=null,s):r},s.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Xa(+o),s):n},s.endAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Xa(+o),s):i},s.padAngle=function(o){return arguments.length?(a=typeof o=="function"?o:Xa(+o),s):a},s}class N9e{constructor(e,r){this._context=e,this._x=r}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,r){switch(e=+e,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(e,r):this._context.moveTo(e,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+e)/2,this._y0,this._x0,r,e,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,e,this._y0,e,r);break}}this._x0=e,this._y0=r}}function O9e(t){return new N9e(t,!0)}function D9e(t){return new N9e(t,!1)}function zg(){}function dI(t,e,r){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+r)/6)}function UD(t){this._context=t}UD.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:dI(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:dI(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function UT(t){return new UD(t)}function P9e(t){this._context=t}P9e.prototype={areaStart:zg,areaEnd:zg,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:dI(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function u3t(t){return new P9e(t)}function _9e(t){this._context=t}_9e.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 r=(this._x0+4*this._x1+t)/6,n=(this._y0+4*this._y1+e)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:dI(this,t,e);break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e}};function d3t(t){return new _9e(t)}function B9e(t,e){this._basis=new UD(t),this._beta=e}B9e.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var t=this._x,e=this._y,r=t.length-1;if(r>0)for(var n=t[0],i=e[0],a=t[r]-n,s=e[r]-i,o=-1,l;++o<=r;)l=o/r,this._basis.point(this._beta*t[o]+(1-this._beta)*(n+l*a),this._beta*e[o]+(1-this._beta)*(i+l*s));this._x=this._y=null,this._basis.lineEnd()},point:function(t,e){this._x.push(+t),this._y.push(+e)}};const h3t=(function t(e){function r(n){return e===1?new UD(n):new B9e(n,e)}return r.beta=function(n){return t(+n)},r})(.85);function hI(t,e,r){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-r),t._x2,t._y2)}function cQ(t,e){this._context=t,this._k=(1-e)/6}cQ.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:hI(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:hI(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 $9e=(function t(e){function r(n){return new cQ(n,e)}return r.tension=function(n){return t(+n)},r})(0);function uQ(t,e){this._context=t,this._k=(1-e)/6}uQ.prototype={areaStart:zg,areaEnd:zg,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:hI(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 f3t=(function t(e){function r(n){return new uQ(n,e)}return r.tension=function(n){return t(+n)},r})(0);function dQ(t,e){this._context=t,this._k=(1-e)/6}dQ.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:hI(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 p3t=(function t(e){function r(n){return new dQ(n,e)}return r.tension=function(n){return t(+n)},r})(0);function hQ(t,e,r){var n=t._x1,i=t._y1,a=t._x2,s=t._y2;if(t._l01_a>Go){var o=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);n=(n*o-t._x0*t._l12_2a+t._x2*t._l01_2a)/l,i=(i*o-t._y0*t._l12_2a+t._y2*t._l01_2a)/l}if(t._l23_a>Go){var u=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,d=3*t._l23_a*(t._l23_a+t._l12_a);a=(a*u+t._x1*t._l23_2a-e*t._l12_2a)/d,s=(s*u+t._y1*t._l23_2a-r*t._l12_2a)/d}t._context.bezierCurveTo(n,i,a,s,t._x2,t._y2)}function F9e(t,e){this._context=t,this._alpha=e}F9e.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 r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:hQ(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 z9e=(function t(e){function r(n){return e?new F9e(n,e):new cQ(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function H9e(t,e){this._context=t,this._alpha=e}H9e.prototype={areaStart:zg,areaEnd:zg,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 r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:hQ(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 g3t=(function t(e){function r(n){return e?new H9e(n,e):new uQ(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function V9e(t,e){this._context=t,this._alpha=e}V9e.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 r=this._x2-t,n=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(r*r+n*n,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:hQ(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 m3t=(function t(e){function r(n){return e?new V9e(n,e):new dQ(n,0)}return r.alpha=function(n){return t(+n)},r})(.5);function G9e(t){this._context=t}G9e.prototype={areaStart:zg,areaEnd:zg,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 U3t(t){return new G9e(t)}function Ade(t){return t<0?-1:1}function Mde(t,e,r){var n=t._x1-t._x0,i=e-t._x1,a=(t._y1-t._y0)/(n||i<0&&-0),s=(r-t._y1)/(i||n<0&&-0),o=(a*i+s*n)/(n+i);return(Ade(a)+Ade(s))*Math.min(Math.abs(a),Math.abs(s),.5*Math.abs(o))||0}function Rde(t,e){var r=t._x1-t._x0;return r?(3*(t._y1-t._y0)/r-e)/2:e}function D$(t,e,r){var n=t._x0,i=t._y0,a=t._x1,s=t._y1,o=(a-n)/3;t._context.bezierCurveTo(n+o,i+o*e,a-o,s-o*r,a,s)}function fI(t){this._context=t}fI.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:D$(this,this._t0,Rde(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 r=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,D$(this,Rde(this,r=Mde(this,t,e)),r);break;default:D$(this,this._t0,r=Mde(this,t,e));break}this._x0=this._x1,this._x1=t,this._y0=this._y1,this._y1=e,this._t0=r}}};function W9e(t){this._context=new q9e(t)}(W9e.prototype=Object.create(fI.prototype)).point=function(t,e){fI.prototype.point.call(this,e,t)};function q9e(t){this._context=t}q9e.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,r,n,i,a){this._context.bezierCurveTo(e,t,n,r,a,i)}};function j9e(t){return new fI(t)}function Y9e(t){return new W9e(t)}function X9e(t){this._context=t}X9e.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,r=t.length;if(r)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),r===2)this._context.lineTo(t[1],e[1]);else for(var n=Ide(t),i=Ide(e),a=0,s=1;s<r;++a,++s)this._context.bezierCurveTo(n[0][a],i[0][a],n[1][a],i[1][a],t[s],e[s]);(this._line||this._line!==0&&r===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function Ide(t){var e,r=t.length-1,n,i=new Array(r),a=new Array(r),s=new Array(r);for(i[0]=0,a[0]=2,s[0]=t[0]+2*t[1],e=1;e<r-1;++e)i[e]=1,a[e]=4,s[e]=4*t[e]+2*t[e+1];for(i[r-1]=2,a[r-1]=7,s[r-1]=8*t[r-1]+t[r],e=1;e<r;++e)n=i[e]/a[e-1],a[e]-=n,s[e]-=n*s[e-1];for(i[r-1]=s[r-1]/a[r-1],e=r-2;e>=0;--e)i[e]=(s[e]-i[e+1])/a[e];for(a[r-1]=(t[r]+i[r-1])/2,e=0;e<r-1;++e)a[e]=2*t[e+1]-i[e+1];return[i,a]}function K9e(t){return new X9e(t)}function yD(t,e){this._context=t,this._t=e}yD.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=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 r=this._x*(1-this._t)+t*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,e)}break}}this._x=t,this._y=e}};function Z9e(t){return new yD(t,.5)}function J9e(t){return new yD(t,0)}function Q9e(t){return new yD(t,1)}function _9(t,e,r){this.k=t,this.x=e,this.y=r}_9.prototype={constructor:_9,scale:function(t){return t===1?this:new _9(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new _9(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+")"}};_9.prototype;var sl=x(t=>{var i;const{securityLevel:e}=Ve();let r=vt("body");if(e==="sandbox"){const s=((i=vt(`#i${t}`).node())==null?void 0:i.contentDocument)??document;r=vt(s.body)}return r.select(`#${t}`)},"selectSvgElement");function fQ(t){return typeof t>"u"||t===null}x(fQ,"isNothing");function exe(t){return typeof t=="object"&&t!==null}x(exe,"isObject");function txe(t){return Array.isArray(t)?t:fQ(t)?[]:[t]}x(txe,"toArray");function rxe(t,e){var r,n,i,a;if(e)for(a=Object.keys(e),r=0,n=a.length;r<n;r+=1)i=a[r],t[i]=e[i];return t}x(rxe,"extend");function nxe(t,e){var r="",n;for(n=0;n<e;n+=1)r+=t;return r}x(nxe,"repeat");function ixe(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}x(ixe,"isNegativeZero");var y3t=fQ,b3t=exe,v3t=txe,x3t=nxe,w3t=ixe,T3t=rxe,Ms={isNothing:y3t,isObject:b3t,toArray:v3t,repeat:x3t,isNegativeZero:w3t,extend:T3t};function pQ(t,e){var r="",n=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+=`
`+t.mark.snippet),n+" "+r):n}x(pQ,"formatError");function Wv(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=pQ(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}x(Wv,"YAMLException$1");Wv.prototype=Object.create(Error.prototype);Wv.prototype.constructor=Wv;Wv.prototype.toString=x(function(e){return this.name+": "+pQ(this,e)},"toString");var Uc=Wv;function zA(t,e,r,n,i){var a="",s="",o=Math.floor(i/2)-1;return n-e>o&&(a=" ... ",e=n-o+a.length),r-n>o&&(s=" ...",r=n+o-s.length),{str:a+t.slice(e,r).replace(/\t/g,"→")+s,pos:n-e+a.length}}x(zA,"getLine");function HA(t,e){return Ms.repeat(" ",e-t.length)+t}x(HA,"padStart");function axe(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 r=/\r?\n|\r|\0/g,n=[0],i=[],a,s=-1;a=r.exec(t.buffer);)i.push(a.index),n.push(a.index+a[0].length),t.position<=a.index&&s<0&&(s=n.length-2);s<0&&(s=n.length-1);var o="",l,u,d=Math.min(t.line+e.linesAfter,i.length).toString().length,h=e.maxLength-(e.indent+d+3);for(l=1;l<=e.linesBefore&&!(s-l<0);l++)u=zA(t.buffer,n[s-l],i[s-l],t.position-(n[s]-n[s-l]),h),o=Ms.repeat(" ",e.indent)+HA((t.line-l+1).toString(),d)+" | "+u.str+`
`+o;for(u=zA(t.buffer,n[s],i[s],t.position,h),o+=Ms.repeat(" ",e.indent)+HA((t.line+1).toString(),d)+" | "+u.str+`
`,o+=Ms.repeat("-",e.indent+d+3+u.pos)+`^
`,l=1;l<=e.linesAfter&&!(s+l>=i.length);l++)u=zA(t.buffer,n[s+l],i[s+l],t.position-(n[s]-n[s+l]),h),o+=Ms.repeat(" ",e.indent)+HA((t.line+l+1).toString(),d)+" | "+u.str+`
`;return o.replace(/\n$/,"")}x(axe,"makeSnippet");var C3t=axe,S3t=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],k3t=["scalar","sequence","mapping"];function sxe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(n){e[String(n)]=r})}),e}x(sxe,"compileStyleAliases");function oxe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(S3t.indexOf(r)===-1)throw new Uc('Unknown option "'+r+'" 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(r){return r},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=sxe(e.styleAliases||null),k3t.indexOf(this.kind)===-1)throw new Uc('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}x(oxe,"Type$1");var Ko=oxe;function tW(t,e){var r=[];return t[e].forEach(function(n){var i=r.length;r.forEach(function(a,s){a.tag===n.tag&&a.kind===n.kind&&a.multi===n.multi&&(i=s)}),r[i]=n}),r}x(tW,"compileList");function lxe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function n(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(x(n,"collectType"),e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(n);return t}x(lxe,"compileMap");function pI(t){return this.extend(t)}x(pI,"Schema$1");pI.prototype.extend=x(function(e){var r=[],n=[];if(e instanceof Ko)n.push(e);else if(Array.isArray(e))n=n.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(n=n.concat(e.explicit));else throw new Uc("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(a){if(!(a instanceof Ko))throw new Uc("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(a.loadKind&&a.loadKind!=="scalar")throw new Uc("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(a.multi)throw new Uc("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(a){if(!(a instanceof Ko))throw new Uc("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(pI.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=tW(i,"implicit"),i.compiledExplicit=tW(i,"explicit"),i.compiledTypeMap=lxe(i.compiledImplicit,i.compiledExplicit),i},"extend");var E3t=pI,A3t=new Ko("tag:yaml.org,2002:str",{kind:"scalar",construct:x(function(t){return t!==null?t:""},"construct")}),M3t=new Ko("tag:yaml.org,2002:seq",{kind:"sequence",construct:x(function(t){return t!==null?t:[]},"construct")}),R3t=new Ko("tag:yaml.org,2002:map",{kind:"mapping",construct:x(function(t){return t!==null?t:{}},"construct")}),I3t=new E3t({explicit:[A3t,M3t,R3t]});function cxe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}x(cxe,"resolveYamlNull");function uxe(){return null}x(uxe,"constructYamlNull");function dxe(t){return t===null}x(dxe,"isNull");var L3t=new Ko("tag:yaml.org,2002:null",{kind:"scalar",resolve:cxe,construct:uxe,predicate:dxe,represent:{canonical:x(function(){return"~"},"canonical"),lowercase:x(function(){return"null"},"lowercase"),uppercase:x(function(){return"NULL"},"uppercase"),camelcase:x(function(){return"Null"},"camelcase"),empty:x(function(){return""},"empty")},defaultStyle:"lowercase"});function hxe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}x(hxe,"resolveYamlBoolean");function fxe(t){return t==="true"||t==="True"||t==="TRUE"}x(fxe,"constructYamlBoolean");function pxe(t){return Object.prototype.toString.call(t)==="[object Boolean]"}x(pxe,"isBoolean");var N3t=new Ko("tag:yaml.org,2002:bool",{kind:"scalar",resolve:hxe,construct:fxe,predicate:pxe,represent:{lowercase:x(function(t){return t?"true":"false"},"lowercase"),uppercase:x(function(t){return t?"TRUE":"FALSE"},"uppercase"),camelcase:x(function(t){return t?"True":"False"},"camelcase")},defaultStyle:"lowercase"});function gxe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}x(gxe,"isHexCode");function mxe(t){return 48<=t&&t<=55}x(mxe,"isOctCode");function Uxe(t){return 48<=t&&t<=57}x(Uxe,"isDecCode");function yxe(t){if(t===null)return!1;var e=t.length,r=0,n=!1,i;if(!e)return!1;if(i=t[r],(i==="-"||i==="+")&&(i=t[++r]),i==="0"){if(r+1===e)return!0;if(i=t[++r],i==="b"){for(r++;r<e;r++)if(i=t[r],i!=="_"){if(i!=="0"&&i!=="1")return!1;n=!0}return n&&i!=="_"}if(i==="x"){for(r++;r<e;r++)if(i=t[r],i!=="_"){if(!gxe(t.charCodeAt(r)))return!1;n=!0}return n&&i!=="_"}if(i==="o"){for(r++;r<e;r++)if(i=t[r],i!=="_"){if(!mxe(t.charCodeAt(r)))return!1;n=!0}return n&&i!=="_"}}if(i==="_")return!1;for(;r<e;r++)if(i=t[r],i!=="_"){if(!Uxe(t.charCodeAt(r)))return!1;n=!0}return!(!n||i==="_")}x(yxe,"resolveYamlInteger");function bxe(t){var e=t,r=1,n;if(e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),n=e[0],(n==="-"||n==="+")&&(n==="-"&&(r=-1),e=e.slice(1),n=e[0]),e==="0")return 0;if(n==="0"){if(e[1]==="b")return r*parseInt(e.slice(2),2);if(e[1]==="x")return r*parseInt(e.slice(2),16);if(e[1]==="o")return r*parseInt(e.slice(2),8)}return r*parseInt(e,10)}x(bxe,"constructYamlInteger");function vxe(t){return Object.prototype.toString.call(t)==="[object Number]"&&t%1===0&&!Ms.isNegativeZero(t)}x(vxe,"isInteger");var O3t=new Ko("tag:yaml.org,2002:int",{kind:"scalar",resolve:yxe,construct:bxe,predicate:vxe,represent:{binary:x(function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},"binary"),octal:x(function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},"octal"),decimal:x(function(t){return t.toString(10)},"decimal"),hexadecimal:x(function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),D3t=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function xxe(t){return!(t===null||!D3t.test(t)||t[t.length-1]==="_")}x(xxe,"resolveYamlFloat");function wxe(t){var e,r;return e=t.replace(/_/g,"").toLowerCase(),r=e[0]==="-"?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:r*parseFloat(e,10)}x(wxe,"constructYamlFloat");var P3t=/^[-+]?[0-9]+e/;function Txe(t,e){var r;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(Ms.isNegativeZero(t))return"-0.0";return r=t.toString(10),P3t.test(r)?r.replace("e",".e"):r}x(Txe,"representYamlFloat");function Cxe(t){return Object.prototype.toString.call(t)==="[object Number]"&&(t%1!==0||Ms.isNegativeZero(t))}x(Cxe,"isFloat");var _3t=new Ko("tag:yaml.org,2002:float",{kind:"scalar",resolve:xxe,construct:wxe,predicate:Cxe,represent:Txe,defaultStyle:"lowercase"}),Sxe=I3t.extend({implicit:[L3t,N3t,O3t,_3t]}),B3t=Sxe,kxe=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Exe=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 Axe(t){return t===null?!1:kxe.exec(t)!==null||Exe.exec(t)!==null}x(Axe,"resolveYamlTimestamp");function Mxe(t){var e,r,n,i,a,s,o,l=0,u=null,d,h,f;if(e=kxe.exec(t),e===null&&(e=Exe.exec(t)),e===null)throw new Error("Date resolve error");if(r=+e[1],n=+e[2]-1,i=+e[3],!e[4])return new Date(Date.UTC(r,n,i));if(a=+e[4],s=+e[5],o=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(d=+e[10],h=+(e[11]||0),u=(d*60+h)*6e4,e[9]==="-"&&(u=-u)),f=new Date(Date.UTC(r,n,i,a,s,o,l)),u&&f.setTime(f.getTime()-u),f}x(Mxe,"constructYamlTimestamp");function Rxe(t){return t.toISOString()}x(Rxe,"representYamlTimestamp");var $3t=new Ko("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:Axe,construct:Mxe,instanceOf:Date,represent:Rxe});function Ixe(t){return t==="<<"||t===null}x(Ixe,"resolveYamlMerge");var F3t=new Ko("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Ixe}),gQ=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
\r`;function Lxe(t){if(t===null)return!1;var e,r,n=0,i=t.length,a=gQ;for(r=0;r<i;r++)if(e=a.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;n+=6}return n%8===0}x(Lxe,"resolveYamlBinary");function Nxe(t){var e,r,n=t.replace(/[\r\n=]/g,""),i=n.length,a=gQ,s=0,o=[];for(e=0;e<i;e++)e%4===0&&e&&(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)),s=s<<6|a.indexOf(n.charAt(e));return r=i%4*6,r===0?(o.push(s>>16&255),o.push(s>>8&255),o.push(s&255)):r===18?(o.push(s>>10&255),o.push(s>>2&255)):r===12&&o.push(s>>4&255),new Uint8Array(o)}x(Nxe,"constructYamlBinary");function Oxe(t){var e="",r=0,n,i,a=t.length,s=gQ;for(n=0;n<a;n++)n%3===0&&n&&(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]),r=(r<<8)+t[n];return i=a%3,i===0?(e+=s[r>>18&63],e+=s[r>>12&63],e+=s[r>>6&63],e+=s[r&63]):i===2?(e+=s[r>>10&63],e+=s[r>>4&63],e+=s[r<<2&63],e+=s[64]):i===1&&(e+=s[r>>2&63],e+=s[r<<4&63],e+=s[64],e+=s[64]),e}x(Oxe,"representYamlBinary");function Dxe(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}x(Dxe,"isBinary");var z3t=new Ko("tag:yaml.org,2002:binary",{kind:"scalar",resolve:Lxe,construct:Nxe,predicate:Dxe,represent:Oxe}),H3t=Object.prototype.hasOwnProperty,V3t=Object.prototype.toString;function Pxe(t){if(t===null)return!0;var e=[],r,n,i,a,s,o=t;for(r=0,n=o.length;r<n;r+=1){if(i=o[r],s=!1,V3t.call(i)!=="[object Object]")return!1;for(a in i)if(H3t.call(i,a))if(!s)s=!0;else return!1;if(!s)return!1;if(e.indexOf(a)===-1)e.push(a);else return!1}return!0}x(Pxe,"resolveYamlOmap");function _xe(t){return t!==null?t:[]}x(_xe,"constructYamlOmap");var G3t=new Ko("tag:yaml.org,2002:omap",{kind:"sequence",resolve:Pxe,construct:_xe}),W3t=Object.prototype.toString;function Bxe(t){if(t===null)return!0;var e,r,n,i,a,s=t;for(a=new Array(s.length),e=0,r=s.length;e<r;e+=1){if(n=s[e],W3t.call(n)!=="[object Object]"||(i=Object.keys(n),i.length!==1))return!1;a[e]=[i[0],n[i[0]]]}return!0}x(Bxe,"resolveYamlPairs");function $xe(t){if(t===null)return[];var e,r,n,i,a,s=t;for(a=new Array(s.length),e=0,r=s.length;e<r;e+=1)n=s[e],i=Object.keys(n),a[e]=[i[0],n[i[0]]];return a}x($xe,"constructYamlPairs");var q3t=new Ko("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Bxe,construct:$xe}),j3t=Object.prototype.hasOwnProperty;function Fxe(t){if(t===null)return!0;var e,r=t;for(e in r)if(j3t.call(r,e)&&r[e]!==null)return!1;return!0}x(Fxe,"resolveYamlSet");function zxe(t){return t!==null?t:{}}x(zxe,"constructYamlSet");var Y3t=new Ko("tag:yaml.org,2002:set",{kind:"mapping",resolve:Fxe,construct:zxe}),Hxe=B3t.extend({implicit:[$3t,F3t],explicit:[z3t,G3t,q3t,Y3t]}),Hg=Object.prototype.hasOwnProperty,gI=1,Vxe=2,Gxe=3,mI=4,P$=1,X3t=2,Lde=3,K3t=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Z3t=/[\x85\u2028\u2029]/,J3t=/[,\[\]\{\}]/,Wxe=/^(?:!|!!|![a-z\-]+!)$/i,qxe=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function rW(t){return Object.prototype.toString.call(t)}x(rW,"_class");function Md(t){return t===10||t===13}x(Md,"is_EOL");function Sg(t){return t===9||t===32}x(Sg,"is_WHITE_SPACE");function Il(t){return t===9||t===32||t===10||t===13}x(Il,"is_WS_OR_EOL");function uU(t){return t===44||t===91||t===93||t===123||t===125}x(uU,"is_FLOW_INDICATOR");function jxe(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}x(jxe,"fromHexCode");function Yxe(t){return t===120?2:t===117?4:t===85?8:0}x(Yxe,"escapedHexLen");function Xxe(t){return 48<=t&&t<=57?t-48:-1}x(Xxe,"fromDecimalCode");function nW(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"…":t===95?" ":t===76?"\u2028":t===80?"\u2029":""}x(nW,"simpleEscapeSequence");function Kxe(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}x(Kxe,"charFromCodepoint");function mQ(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}x(mQ,"setProperty");var Zxe=new Array(256),Jxe=new Array(256);for(J1=0;J1<256;J1++)Zxe[J1]=nW(J1)?1:0,Jxe[J1]=nW(J1);var J1;function Qxe(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Hxe,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=[]}x(Qxe,"State$1");function UQ(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=C3t(r),new Uc(e,r)}x(UQ,"generateError");function Lr(t,e){throw UQ(t,e)}x(Lr,"throwError");function yT(t,e){t.onWarning&&t.onWarning.call(null,UQ(t,e))}x(yT,"throwWarning");var Nde={YAML:x(function(e,r,n){var i,a,s;e.version!==null&&Lr(e,"duplication of %YAML directive"),n.length!==1&&Lr(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Lr(e,"ill-formed argument of the YAML directive"),a=parseInt(i[1],10),s=parseInt(i[2],10),a!==1&&Lr(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=s<2,s!==1&&s!==2&&yT(e,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:x(function(e,r,n){var i,a;n.length!==2&&Lr(e,"TAG directive accepts exactly two arguments"),i=n[0],a=n[1],Wxe.test(i)||Lr(e,"ill-formed tag handle (first argument) of the TAG directive"),Hg.call(e.tagMap,i)&&Lr(e,'there is a previously declared suffix for "'+i+'" tag handle'),qxe.test(a)||Lr(e,"ill-formed tag prefix (second argument) of the TAG directive");try{a=decodeURIComponent(a)}catch{Lr(e,"tag prefix is malformed: "+a)}e.tagMap[i]=a},"handleTagDirective")};function w0(t,e,r,n){var i,a,s,o;if(e<r){if(o=t.input.slice(e,r),n)for(i=0,a=o.length;i<a;i+=1)s=o.charCodeAt(i),s===9||32<=s&&s<=1114111||Lr(t,"expected valid JSON character");else K3t.test(o)&&Lr(t,"the stream contains non-printable characters");t.result+=o}}x(w0,"captureSegment");function iW(t,e,r,n){var i,a,s,o;for(Ms.isObject(r)||Lr(t,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(r),s=0,o=i.length;s<o;s+=1)a=i[s],Hg.call(e,a)||(mQ(e,a,r[a]),n[a]=!0)}x(iW,"mergeMappings");function dU(t,e,r,n,i,a,s,o,l){var u,d;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),u=0,d=i.length;u<d;u+=1)Array.isArray(i[u])&&Lr(t,"nested arrays are not supported inside keys"),typeof i=="object"&&rW(i[u])==="[object Object]"&&(i[u]="[object Object]");if(typeof i=="object"&&rW(i)==="[object Object]"&&(i="[object Object]"),i=String(i),e===null&&(e={}),n==="tag:yaml.org,2002:merge")if(Array.isArray(a))for(u=0,d=a.length;u<d;u+=1)iW(t,e,a[u],r);else iW(t,e,a,r);else!t.json&&!Hg.call(r,i)&&Hg.call(e,i)&&(t.line=s||t.line,t.lineStart=o||t.lineStart,t.position=l||t.position,Lr(t,"duplicated mapping key")),mQ(e,i,a),delete r[i];return e}x(dU,"storeMappingPair");function bD(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Lr(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}x(bD,"readLineBreak");function Ja(t,e,r){for(var n=0,i=t.input.charCodeAt(t.position);i!==0;){for(;Sg(i);)i===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&i===35)do i=t.input.charCodeAt(++t.position);while(i!==10&&i!==13&&i!==0);if(Md(i))for(bD(t),i=t.input.charCodeAt(t.position),n++,t.lineIndent=0;i===32;)t.lineIndent++,i=t.input.charCodeAt(++t.position);else break}return r!==-1&&n!==0&&t.lineIndent<r&&yT(t,"deficient indentation"),n}x(Ja,"skipSeparationSpace");function oS(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||Il(r)))}x(oS,"testDocumentSeparator");function vD(t,e){e===1?t.result+=" ":e>1&&(t.result+=Ms.repeat(`
`,e-1))}x(vD,"writeFoldedLines");function ewe(t,e,r){var n,i,a,s,o,l,u,d,h=t.kind,f=t.result,p;if(p=t.input.charCodeAt(t.position),Il(p)||uU(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)&&(i=t.input.charCodeAt(t.position+1),Il(i)||r&&uU(i)))return!1;for(t.kind="scalar",t.result="",a=s=t.position,o=!1;p!==0;){if(p===58){if(i=t.input.charCodeAt(t.position+1),Il(i)||r&&uU(i))break}else if(p===35){if(n=t.input.charCodeAt(t.position-1),Il(n))break}else{if(t.position===t.lineStart&&oS(t)||r&&uU(p))break;if(Md(p))if(l=t.line,u=t.lineStart,d=t.lineIndent,Ja(t,!1,-1),t.lineIndent>=e){o=!0,p=t.input.charCodeAt(t.position);continue}else{t.position=s,t.line=l,t.lineStart=u,t.lineIndent=d;break}}o&&(w0(t,a,s,!1),vD(t,t.line-l),a=s=t.position,o=!1),Sg(p)||(s=t.position+1),p=t.input.charCodeAt(++t.position)}return w0(t,a,s,!1),t.result?!0:(t.kind=h,t.result=f,!1)}x(ewe,"readPlainScalar");function twe(t,e){var r,n,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,n=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(w0(t,n,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)n=t.position,t.position++,i=t.position;else return!0;else Md(r)?(w0(t,n,i,!0),vD(t,Ja(t,!1,e)),n=i=t.position):t.position===t.lineStart&&oS(t)?Lr(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Lr(t,"unexpected end of the stream within a single quoted scalar")}x(twe,"readSingleQuotedScalar");function rwe(t,e){var r,n,i,a,s,o;if(o=t.input.charCodeAt(t.position),o!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=n=t.position;(o=t.input.charCodeAt(t.position))!==0;){if(o===34)return w0(t,r,t.position,!0),t.position++,!0;if(o===92){if(w0(t,r,t.position,!0),o=t.input.charCodeAt(++t.position),Md(o))Ja(t,!1,e);else if(o<256&&Zxe[o])t.result+=Jxe[o],t.position++;else if((s=Yxe(o))>0){for(i=s,a=0;i>0;i--)o=t.input.charCodeAt(++t.position),(s=jxe(o))>=0?a=(a<<4)+s:Lr(t,"expected hexadecimal character");t.result+=Kxe(a),t.position++}else Lr(t,"unknown escape sequence");r=n=t.position}else Md(o)?(w0(t,r,n,!0),vD(t,Ja(t,!1,e)),r=n=t.position):t.position===t.lineStart&&oS(t)?Lr(t,"unexpected end of the document within a double quoted scalar"):(t.position++,n=t.position)}Lr(t,"unexpected end of the stream within a double quoted scalar")}x(rwe,"readDoubleQuotedScalar");function nwe(t,e){var r=!0,n,i,a,s=t.tag,o,l=t.anchor,u,d,h,f,p,g=Object.create(null),m,U,y,b;if(b=t.input.charCodeAt(t.position),b===91)d=93,p=!1,o=[];else if(b===123)d=125,p=!0,o={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=o),b=t.input.charCodeAt(++t.position);b!==0;){if(Ja(t,!0,e),b=t.input.charCodeAt(t.position),b===d)return t.position++,t.tag=s,t.anchor=l,t.kind=p?"mapping":"sequence",t.result=o,!0;r?b===44&&Lr(t,"expected the node content, but found ','"):Lr(t,"missed comma between flow collection entries"),U=m=y=null,h=f=!1,b===63&&(u=t.input.charCodeAt(t.position+1),Il(u)&&(h=f=!0,t.position++,Ja(t,!0,e))),n=t.line,i=t.lineStart,a=t.position,e5(t,e,gI,!1,!0),U=t.tag,m=t.result,Ja(t,!0,e),b=t.input.charCodeAt(t.position),(f||t.line===n)&&b===58&&(h=!0,b=t.input.charCodeAt(++t.position),Ja(t,!0,e),e5(t,e,gI,!1,!0),y=t.result),p?dU(t,o,g,U,m,y,n,i,a):h?o.push(dU(t,null,g,U,m,y,n,i,a)):o.push(m),Ja(t,!0,e),b=t.input.charCodeAt(t.position),b===44?(r=!0,b=t.input.charCodeAt(++t.position)):r=!1}Lr(t,"unexpected end of the stream within a flow collection")}x(nwe,"readFlowCollection");function iwe(t,e){var r,n,i=P$,a=!1,s=!1,o=e,l=0,u=!1,d,h;if(h=t.input.charCodeAt(t.position),h===124)n=!1;else if(h===62)n=!0;else return!1;for(t.kind="scalar",t.result="";h!==0;)if(h=t.input.charCodeAt(++t.position),h===43||h===45)P$===i?i=h===43?Lde:X3t:Lr(t,"repeat of a chomping mode identifier");else if((d=Xxe(h))>=0)d===0?Lr(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):s?Lr(t,"repeat of an indentation width identifier"):(o=e+d-1,s=!0);else break;if(Sg(h)){do h=t.input.charCodeAt(++t.position);while(Sg(h));if(h===35)do h=t.input.charCodeAt(++t.position);while(!Md(h)&&h!==0)}for(;h!==0;){for(bD(t),t.lineIndent=0,h=t.input.charCodeAt(t.position);(!s||t.lineIndent<o)&&h===32;)t.lineIndent++,h=t.input.charCodeAt(++t.position);if(!s&&t.lineIndent>o&&(o=t.lineIndent),Md(h)){l++;continue}if(t.lineIndent<o){i===Lde?t.result+=Ms.repeat(`
`,a?1+l:l):i===P$&&a&&(t.result+=`
`);break}for(n?Sg(h)?(u=!0,t.result+=Ms.repeat(`
`,a?1+l:l)):u?(u=!1,t.result+=Ms.repeat(`
`,l+1)):l===0?a&&(t.result+=" "):t.result+=Ms.repeat(`
`,l):t.result+=Ms.repeat(`
`,a?1+l:l),a=!0,s=!0,l=0,r=t.position;!Md(h)&&h!==0;)h=t.input.charCodeAt(++t.position);w0(t,r,t.position,!1)}return!0}x(iwe,"readBlockScalar");function aW(t,e){var r,n=t.tag,i=t.anchor,a=[],s,o=!1,l;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),l=t.input.charCodeAt(t.position);l!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Lr(t,"tab characters must not be used in indentation")),!(l!==45||(s=t.input.charCodeAt(t.position+1),!Il(s))));){if(o=!0,t.position++,Ja(t,!0,-1)&&t.lineIndent<=e){a.push(null),l=t.input.charCodeAt(t.position);continue}if(r=t.line,e5(t,e,Gxe,!1,!0),a.push(t.result),Ja(t,!0,-1),l=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&l!==0)Lr(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return o?(t.tag=n,t.anchor=i,t.kind="sequence",t.result=a,!0):!1}x(aW,"readBlockSequence");function awe(t,e,r){var n,i,a,s,o,l,u=t.tag,d=t.anchor,h={},f=Object.create(null),p=null,g=null,m=null,U=!1,y=!1,b;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),b=t.input.charCodeAt(t.position);b!==0;){if(!U&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Lr(t,"tab characters must not be used in indentation")),n=t.input.charCodeAt(t.position+1),a=t.line,(b===63||b===58)&&Il(n))b===63?(U&&(dU(t,h,f,p,g,null,s,o,l),p=g=m=null),y=!0,U=!0,i=!0):U?(U=!1,i=!0):Lr(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,b=n;else{if(s=t.line,o=t.lineStart,l=t.position,!e5(t,r,Vxe,!1,!0))break;if(t.line===a){for(b=t.input.charCodeAt(t.position);Sg(b);)b=t.input.charCodeAt(++t.position);if(b===58)b=t.input.charCodeAt(++t.position),Il(b)||Lr(t,"a whitespace character is expected after the key-value separator within a block mapping"),U&&(dU(t,h,f,p,g,null,s,o,l),p=g=m=null),y=!0,U=!1,i=!1,p=t.tag,g=t.result;else if(y)Lr(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=u,t.anchor=d,!0}else if(y)Lr(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=u,t.anchor=d,!0}if((t.line===a||t.lineIndent>e)&&(U&&(s=t.line,o=t.lineStart,l=t.position),e5(t,e,mI,!0,i)&&(U?g=t.result:m=t.result),U||(dU(t,h,f,p,g,m,s,o,l),p=g=m=null),Ja(t,!0,-1),b=t.input.charCodeAt(t.position)),(t.line===a||t.lineIndent>e)&&b!==0)Lr(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return U&&dU(t,h,f,p,g,null,s,o,l),y&&(t.tag=u,t.anchor=d,t.kind="mapping",t.result=h),y}x(awe,"readBlockMapping");function swe(t){var e,r=!1,n=!1,i,a,s;if(s=t.input.charCodeAt(t.position),s!==33)return!1;if(t.tag!==null&&Lr(t,"duplication of a tag property"),s=t.input.charCodeAt(++t.position),s===60?(r=!0,s=t.input.charCodeAt(++t.position)):s===33?(n=!0,i="!!",s=t.input.charCodeAt(++t.position)):i="!",e=t.position,r){do s=t.input.charCodeAt(++t.position);while(s!==0&&s!==62);t.position<t.length?(a=t.input.slice(e,t.position),s=t.input.charCodeAt(++t.position)):Lr(t,"unexpected end of the stream within a verbatim tag")}else{for(;s!==0&&!Il(s);)s===33&&(n?Lr(t,"tag suffix cannot contain exclamation marks"):(i=t.input.slice(e-1,t.position+1),Wxe.test(i)||Lr(t,"named tag handle cannot contain such characters"),n=!0,e=t.position+1)),s=t.input.charCodeAt(++t.position);a=t.input.slice(e,t.position),J3t.test(a)&&Lr(t,"tag suffix cannot contain flow indicator characters")}a&&!qxe.test(a)&&Lr(t,"tag name cannot contain such characters: "+a);try{a=decodeURIComponent(a)}catch{Lr(t,"tag name is malformed: "+a)}return r?t.tag=a:Hg.call(t.tagMap,i)?t.tag=t.tagMap[i]+a:i==="!"?t.tag="!"+a:i==="!!"?t.tag="tag:yaml.org,2002:"+a:Lr(t,'undeclared tag handle "'+i+'"'),!0}x(swe,"readTagProperty");function owe(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&Lr(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!Il(r)&&!uU(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Lr(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}x(owe,"readAnchorProperty");function lwe(t){var e,r,n;if(n=t.input.charCodeAt(t.position),n!==42)return!1;for(n=t.input.charCodeAt(++t.position),e=t.position;n!==0&&!Il(n)&&!uU(n);)n=t.input.charCodeAt(++t.position);return t.position===e&&Lr(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Hg.call(t.anchorMap,r)||Lr(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Ja(t,!0,-1),!0}x(lwe,"readAlias");function e5(t,e,r,n,i){var a,s,o,l=1,u=!1,d=!1,h,f,p,g,m,U;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,a=s=o=mI===r||Gxe===r,n&&Ja(t,!0,-1)&&(u=!0,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent<e&&(l=-1)),l===1)for(;swe(t)||owe(t);)Ja(t,!0,-1)?(u=!0,o=a,t.lineIndent>e?l=1:t.lineIndent===e?l=0:t.lineIndent<e&&(l=-1)):o=!1;if(o&&(o=u||i),(l===1||mI===r)&&(gI===r||Vxe===r?m=e:m=e+1,U=t.position-t.lineStart,l===1?o&&(aW(t,U)||awe(t,U,m))||nwe(t,m)?d=!0:(s&&iwe(t,m)||twe(t,m)||rwe(t,m)?d=!0:lwe(t)?(d=!0,(t.tag!==null||t.anchor!==null)&&Lr(t,"alias node should not have any properties")):ewe(t,m,gI===r)&&(d=!0,t.tag===null&&(t.tag="?")),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):l===0&&(d=o&&aW(t,U))),t.tag===null)t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);else if(t.tag==="?"){for(t.result!==null&&t.kind!=="scalar"&&Lr(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),h=0,f=t.implicitTypes.length;h<f;h+=1)if(g=t.implicitTypes[h],g.resolve(t.result)){t.result=g.construct(t.result),t.tag=g.tag,t.anchor!==null&&(t.anchorMap[t.anchor]=t.result);break}}else if(t.tag!=="!"){if(Hg.call(t.typeMap[t.kind||"fallback"],t.tag))g=t.typeMap[t.kind||"fallback"][t.tag];else for(g=null,p=t.typeMap.multi[t.kind||"fallback"],h=0,f=p.length;h<f;h+=1)if(t.tag.slice(0,p[h].tag.length)===p[h].tag){g=p[h];break}g||Lr(t,"unknown tag !<"+t.tag+">"),t.result!==null&&g.kind!==t.kind&&Lr(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+g.kind+'", not "'+t.kind+'"'),g.resolve(t.result,t.tag)?(t.result=g.construct(t.result,t.tag),t.anchor!==null&&(t.anchorMap[t.anchor]=t.result)):Lr(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return t.listener!==null&&t.listener("close",t),t.tag!==null||t.anchor!==null||d}x(e5,"composeNode");function cwe(t){var e=t.position,r,n,i,a=!1,s;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);(s=t.input.charCodeAt(t.position))!==0&&(Ja(t,!0,-1),s=t.input.charCodeAt(t.position),!(t.lineIndent>0||s!==37));){for(a=!0,s=t.input.charCodeAt(++t.position),r=t.position;s!==0&&!Il(s);)s=t.input.charCodeAt(++t.position);for(n=t.input.slice(r,t.position),i=[],n.length<1&&Lr(t,"directive name must not be less than one character in length");s!==0;){for(;Sg(s);)s=t.input.charCodeAt(++t.position);if(s===35){do s=t.input.charCodeAt(++t.position);while(s!==0&&!Md(s));break}if(Md(s))break;for(r=t.position;s!==0&&!Il(s);)s=t.input.charCodeAt(++t.position);i.push(t.input.slice(r,t.position))}s!==0&&bD(t),Hg.call(Nde,n)?Nde[n](t,n,i):yT(t,'unknown document directive "'+n+'"')}if(Ja(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,Ja(t,!0,-1)):a&&Lr(t,"directives end mark is expected"),e5(t,t.lineIndent-1,mI,!1,!0),Ja(t,!0,-1),t.checkLineBreaks&&Z3t.test(t.input.slice(e,t.position))&&yT(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&oS(t)){t.input.charCodeAt(t.position)===46&&(t.position+=3,Ja(t,!0,-1));return}if(t.position<t.length-1)Lr(t,"end of the stream or a document separator is expected");else return}x(cwe,"readDocument");function yQ(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.length-1)!==10&&t.charCodeAt(t.length-1)!==13&&(t+=`
`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new Qxe(t,e),n=t.indexOf("\0");for(n!==-1&&(r.position=n,Lr(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)cwe(r);return r.documents}x(yQ,"loadDocuments");function Q3t(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var n=yQ(t,r);if(typeof e!="function")return n;for(var i=0,a=n.length;i<a;i+=1)e(n[i])}x(Q3t,"loadAll$1");function uwe(t,e){var r=yQ(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new Uc("expected a single document in the stream, but found more")}}x(uwe,"load$1");var e9t=uwe,t9t={load:e9t},dwe=Object.prototype.toString,hwe=Object.prototype.hasOwnProperty,bQ=65279,r9t=9,bT=10,n9t=13,i9t=32,a9t=33,s9t=34,sW=35,o9t=37,l9t=38,c9t=39,u9t=42,fwe=44,d9t=45,UI=58,h9t=61,f9t=62,p9t=63,g9t=64,pwe=91,gwe=93,m9t=96,mwe=123,U9t=124,Uwe=125,ol={};ol[0]="\\0";ol[7]="\\a";ol[8]="\\b";ol[9]="\\t";ol[10]="\\n";ol[11]="\\v";ol[12]="\\f";ol[13]="\\r";ol[27]="\\e";ol[34]='\\"';ol[92]="\\\\";ol[133]="\\N";ol[160]="\\_";ol[8232]="\\L";ol[8233]="\\P";var y9t=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],b9t=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function ywe(t,e){var r,n,i,a,s,o,l;if(e===null)return{};for(r={},n=Object.keys(e),i=0,a=n.length;i<a;i+=1)s=n[i],o=String(e[s]),s.slice(0,2)==="!!"&&(s="tag:yaml.org,2002:"+s.slice(2)),l=t.compiledTypeMap.fallback[s],l&&hwe.call(l.styleAliases,o)&&(o=l.styleAliases[o]),r[s]=o;return r}x(ywe,"compileStyleMap");function bwe(t){var e,r,n;if(e=t.toString(16).toUpperCase(),t<=255)r="x",n=2;else if(t<=65535)r="u",n=4;else if(t<=4294967295)r="U",n=8;else throw new Uc("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+Ms.repeat("0",n-e.length)+e}x(bwe,"encodeHex");var v9t=1,vT=2;function vwe(t){this.schema=t.schema||Hxe,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=Ms.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=ywe(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType=t.quotingType==='"'?vT:v9t,this.forceQuotes=t.forceQuotes||!1,this.replacer=typeof t.replacer=="function"?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}x(vwe,"State");function oW(t,e){for(var r=Ms.repeat(" ",e),n=0,i=-1,a="",s,o=t.length;n<o;)i=t.indexOf(`
`,n),i===-1?(s=t.slice(n),n=o):(s=t.slice(n,i+1),n=i+1),s.length&&s!==`
`&&(a+=r),a+=s;return a}x(oW,"indentString");function yI(t,e){return`
`+Ms.repeat(" ",t.indent*e)}x(yI,"generateNextLine");function xwe(t,e){var r,n,i;for(r=0,n=t.implicitTypes.length;r<n;r+=1)if(i=t.implicitTypes[r],i.resolve(e))return!0;return!1}x(xwe,"testImplicitResolving");function xT(t){return t===i9t||t===r9t}x(xT,"isWhitespace");function qv(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==bQ||65536<=t&&t<=1114111}x(qv,"isPrintable");function lW(t){return qv(t)&&t!==bQ&&t!==n9t&&t!==bT}x(lW,"isNsCharOrWhitespace");function cW(t,e,r){var n=lW(t),i=n&&!xT(t);return(r?n:n&&t!==fwe&&t!==pwe&&t!==gwe&&t!==mwe&&t!==Uwe)&&t!==sW&&!(e===UI&&!i)||lW(e)&&!xT(e)&&t===sW||e===UI&&i}x(cW,"isPlainSafe");function wwe(t){return qv(t)&&t!==bQ&&!xT(t)&&t!==d9t&&t!==p9t&&t!==UI&&t!==fwe&&t!==pwe&&t!==gwe&&t!==mwe&&t!==Uwe&&t!==sW&&t!==l9t&&t!==u9t&&t!==a9t&&t!==U9t&&t!==h9t&&t!==f9t&&t!==c9t&&t!==s9t&&t!==o9t&&t!==g9t&&t!==m9t}x(wwe,"isPlainSafeFirst");function Twe(t){return!xT(t)&&t!==UI}x(Twe,"isPlainSafeLast");function N2(t,e){var r=t.charCodeAt(e),n;return r>=55296&&r<=56319&&e+1<t.length&&(n=t.charCodeAt(e+1),n>=56320&&n<=57343)?(r-55296)*1024+n-56320+65536:r}x(N2,"codePointAt");function vQ(t){var e=/^\n* /;return e.test(t)}x(vQ,"needIndentIndicator");var Cwe=1,uW=2,Swe=3,kwe=4,t2=5;function Ewe(t,e,r,n,i,a,s,o){var l,u=0,d=null,h=!1,f=!1,p=n!==-1,g=-1,m=wwe(N2(t,0))&&Twe(N2(t,t.length-1));if(e||s)for(l=0;l<t.length;u>=65536?l+=2:l++){if(u=N2(t,l),!qv(u))return t2;m=m&&cW(u,d,o),d=u}else{for(l=0;l<t.length;u>=65536?l+=2:l++){if(u=N2(t,l),u===bT)h=!0,p&&(f=f||l-g-1>n&&t[g+1]!==" ",g=l);else if(!qv(u))return t2;m=m&&cW(u,d,o),d=u}f=f||p&&l-g-1>n&&t[g+1]!==" "}return!h&&!f?m&&!s&&!i(t)?Cwe:a===vT?t2:uW:r>9&&vQ(t)?t2:s?a===vT?t2:uW:f?kwe:Swe}x(Ewe,"chooseScalarStyle");function Awe(t,e,r,n,i){t.dump=(function(){if(e.length===0)return t.quotingType===vT?'""':"''";if(!t.noCompatMode&&(y9t.indexOf(e)!==-1||b9t.test(e)))return t.quotingType===vT?'"'+e+'"':"'"+e+"'";var a=t.indent*Math.max(1,r),s=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-a),o=n||t.flowLevel>-1&&r>=t.flowLevel;function l(u){return xwe(t,u)}switch(x(l,"testAmbiguity"),Ewe(e,o,t.indent,s,l,t.quotingType,t.forceQuotes&&!n,i)){case Cwe:return e;case uW:return"'"+e.replace(/'/g,"''")+"'";case Swe:return"|"+dW(e,t.indent)+hW(oW(e,a));case kwe:return">"+dW(e,t.indent)+hW(oW(Mwe(e,s),a));case t2:return'"'+Rwe(e)+'"';default:throw new Uc("impossible error: invalid scalar style")}})()}x(Awe,"writeScalar");function dW(t,e){var r=vQ(t)?String(e):"",n=t[t.length-1]===`
`,i=n&&(t[t.length-2]===`
`||t===`
`),a=i?"+":n?"":"-";return r+a+`
`}x(dW,"blockHeader");function hW(t){return t[t.length-1]===`
`?t.slice(0,-1):t}x(hW,"dropEndingNewline");function Mwe(t,e){for(var r=/(\n+)([^\n]*)/g,n=(function(){var u=t.indexOf(`
`);return u=u!==-1?u:t.length,r.lastIndex=u,fW(t.slice(0,u),e)})(),i=t[0]===`
`||t[0]===" ",a,s;s=r.exec(t);){var o=s[1],l=s[2];a=l[0]===" ",n+=o+(!i&&!a&&l!==""?`
`:"")+fW(l,e),i=a}return n}x(Mwe,"foldString");function fW(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,n,i=0,a,s=0,o=0,l="";n=r.exec(t);)o=n.index,o-i>e&&(a=s>i?s:o,l+=`
`+t.slice(i,a),i=a+1),s=o;return l+=`
`,t.length-i>e&&s>i?l+=t.slice(i,s)+`
`+t.slice(s+1):l+=t.slice(i),l.slice(1)}x(fW,"foldLine");function Rwe(t){for(var e="",r=0,n,i=0;i<t.length;r>=65536?i+=2:i++)r=N2(t,i),n=ol[r],!n&&qv(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=n||bwe(r);return e}x(Rwe,"escapeString");function Iwe(t,e,r){var n="",i=t.tag,a,s,o;for(a=0,s=r.length;a<s;a+=1)o=r[a],t.replacer&&(o=t.replacer.call(r,String(a),o)),(Yh(t,e,o,!1,!1)||typeof o>"u"&&Yh(t,e,null,!1,!1))&&(n!==""&&(n+=","+(t.condenseFlow?"":" ")),n+=t.dump);t.tag=i,t.dump="["+n+"]"}x(Iwe,"writeFlowSequence");function pW(t,e,r,n){var i="",a=t.tag,s,o,l;for(s=0,o=r.length;s<o;s+=1)l=r[s],t.replacer&&(l=t.replacer.call(r,String(s),l)),(Yh(t,e+1,l,!0,!0,!1,!0)||typeof l>"u"&&Yh(t,e+1,null,!0,!0,!1,!0))&&((!n||i!=="")&&(i+=yI(t,e)),t.dump&&bT===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=a,t.dump=i||"[]"}x(pW,"writeBlockSequence");function Lwe(t,e,r){var n="",i=t.tag,a=Object.keys(r),s,o,l,u,d;for(s=0,o=a.length;s<o;s+=1)d="",n!==""&&(d+=", "),t.condenseFlow&&(d+='"'),l=a[s],u=r[l],t.replacer&&(u=t.replacer.call(r,l,u)),Yh(t,e,l,!1,!1)&&(t.dump.length>1024&&(d+="? "),d+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Yh(t,e,u,!1,!1)&&(d+=t.dump,n+=d));t.tag=i,t.dump="{"+n+"}"}x(Lwe,"writeFlowMapping");function Nwe(t,e,r,n){var i="",a=t.tag,s=Object.keys(r),o,l,u,d,h,f;if(t.sortKeys===!0)s.sort();else if(typeof t.sortKeys=="function")s.sort(t.sortKeys);else if(t.sortKeys)throw new Uc("sortKeys must be a boolean or a function");for(o=0,l=s.length;o<l;o+=1)f="",(!n||i!=="")&&(f+=yI(t,e)),u=s[o],d=r[u],t.replacer&&(d=t.replacer.call(r,u,d)),Yh(t,e+1,u,!0,!0,!0)&&(h=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,h&&(t.dump&&bT===t.dump.charCodeAt(0)?f+="?":f+="? "),f+=t.dump,h&&(f+=yI(t,e)),Yh(t,e+1,d,!0,h)&&(t.dump&&bT===t.dump.charCodeAt(0)?f+=":":f+=": ",f+=t.dump,i+=f));t.tag=a,t.dump=i||"{}"}x(Nwe,"writeBlockMapping");function gW(t,e,r){var n,i,a,s,o,l;for(i=r?t.explicitTypes:t.implicitTypes,a=0,s=i.length;a<s;a+=1)if(o=i[a],(o.instanceOf||o.predicate)&&(!o.instanceOf||typeof e=="object"&&e instanceof o.instanceOf)&&(!o.predicate||o.predicate(e))){if(r?o.multi&&o.representName?t.tag=o.representName(e):t.tag=o.tag:t.tag="?",o.represent){if(l=t.styleMap[o.tag]||o.defaultStyle,dwe.call(o.represent)==="[object Function]")n=o.represent(e,l);else if(hwe.call(o.represent,l))n=o.represent[l](e,l);else throw new Uc("!<"+o.tag+'> tag resolver accepts not "'+l+'" style');t.dump=n}return!0}return!1}x(gW,"detectType");function Yh(t,e,r,n,i,a,s){t.tag=null,t.dump=r,gW(t,r,!1)||gW(t,r,!0);var o=dwe.call(t.dump),l=n,u;n&&(n=t.flowLevel<0||t.flowLevel>e);var d=o==="[object Object]"||o==="[object Array]",h,f;if(d&&(h=t.duplicates.indexOf(r),f=h!==-1),(t.tag!==null&&t.tag!=="?"||f||t.indent!==2&&e>0)&&(i=!1),f&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(d&&f&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),o==="[object Object]")n&&Object.keys(t.dump).length!==0?(Nwe(t,e,t.dump,i),f&&(t.dump="&ref_"+h+t.dump)):(Lwe(t,e,t.dump),f&&(t.dump="&ref_"+h+" "+t.dump));else if(o==="[object Array]")n&&t.dump.length!==0?(t.noArrayIndent&&!s&&e>0?pW(t,e-1,t.dump,i):pW(t,e,t.dump,i),f&&(t.dump="&ref_"+h+t.dump)):(Iwe(t,e,t.dump),f&&(t.dump="&ref_"+h+" "+t.dump));else if(o==="[object String]")t.tag!=="?"&&Awe(t,t.dump,e,a,l);else{if(o==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new Uc("unacceptable kind of an object to dump "+o)}t.tag!==null&&t.tag!=="?"&&(u=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?u="!"+u:u.slice(0,18)==="tag:yaml.org,2002:"?u="!!"+u.slice(18):u="!<"+u+">",t.dump=u+" "+t.dump)}return!0}x(Yh,"writeNode");function Owe(t,e){var r=[],n=[],i,a;for(bI(t,r,n),i=0,a=n.length;i<a;i+=1)e.duplicates.push(r[n[i]]);e.usedDuplicates=new Array(a)}x(Owe,"getDuplicateReferences");function bI(t,e,r){var n,i,a;if(t!==null&&typeof t=="object")if(i=e.indexOf(t),i!==-1)r.indexOf(i)===-1&&r.push(i);else if(e.push(t),Array.isArray(t))for(i=0,a=t.length;i<a;i+=1)bI(t[i],e,r);else for(n=Object.keys(t),i=0,a=n.length;i<a;i+=1)bI(t[n[i]],e,r)}x(bI,"inspectNode");function x9t(t,e){e=e||{};var r=new vwe(e);r.noRefs||Owe(t,r);var n=t;return r.replacer&&(n=r.replacer.call({"":n},"",n)),Yh(r,0,n,!0,!0)?r.dump+`
`:""}x(x9t,"dump$1");function w9t(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}x(w9t,"renamed");var xD=Sxe,wD=t9t.load;/*! Bundled license information:
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *)
*/var T9t=x(t=>{const{handDrawnSeed:e}=Ve();return{fill:t,hachureAngle:120,hachureGap:4,fillWeight:2,roughness:.7,stroke:t,seed:e}},"solidStateFill"),X4=x(t=>{const e=C9t([...t.cssCompiledStyles||[],...t.cssStyles||[],...t.labelStyle||[]]);return{stylesMap:e,stylesArray:[...e]}},"compileStyles"),C9t=x(t=>{const e=new Map;return t.forEach(r=>{const[n,i]=r.split(":");e.set(n.trim(),i==null?void 0:i.trim())}),e},"styles2Map"),xQ=x(t=>t==="color"||t==="font-size"||t==="font-family"||t==="font-weight"||t==="font-style"||t==="text-decoration"||t==="text-align"||t==="text-transform"||t==="line-height"||t==="letter-spacing"||t==="word-spacing"||t==="text-shadow"||t==="text-overflow"||t==="white-space"||t==="word-wrap"||t==="word-break"||t==="overflow-wrap"||t==="hyphens","isLabelStyle"),ur=x(t=>{const{stylesArray:e}=X4(t),r=[],n=[],i=[],a=[];return e.forEach(s=>{const o=s[0];xQ(o)?r.push(s.join(":")+" !important"):(n.push(s.join(":")+" !important"),o.includes("stroke")&&i.push(s.join(":")+" !important"),o==="fill"&&a.push(s.join(":")+" !important"))}),{labelStyles:r.join(";"),nodeStyles:n.join(";"),stylesArray:e,borderStyles:i,backgroundStyles:a}},"styles2String"),pr=x((t,e)=>{var l;const{themeVariables:r,handDrawnSeed:n}=Ve(),{nodeBorder:i,mainBkg:a}=r,{stylesMap:s}=X4(t);return Object.assign({roughness:.7,fill:s.get("fill")||a,fillStyle:"hachure",fillWeight:4,hachureGap:5.2,stroke:s.get("stroke")||i,seed:n,strokeWidth:((l=s.get("stroke-width"))==null?void 0:l.replace("px",""))||1.3,fillLineDash:[0,0],strokeLineDash:S9t(s.get("stroke-dasharray"))},e)},"userNodeOverrides"),S9t=x(t=>{if(!t)return[0,0];const e=t.trim().split(/\s+/).map(Number);if(e.length===1){const i=isNaN(e[0])?0:e[0];return[i,i]}const r=isNaN(e[0])?0:e[0],n=isNaN(e[1])?0:e[1];return[r,n]},"getStrokeDashArray"),_k={},xs={},Ode;function k9t(){return Ode||(Ode=1,Object.defineProperty(xs,"__esModule",{value:!0}),xs.BLANK_URL=xs.relativeFirstCharacters=xs.whitespaceEscapeCharsRegex=xs.urlSchemeRegex=xs.ctrlCharactersRegex=xs.htmlCtrlEntityRegex=xs.htmlEntitiesRegex=xs.invalidProtocolRegex=void 0,xs.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,xs.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,xs.htmlCtrlEntityRegex=/&(newline|tab);/gi,xs.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,xs.urlSchemeRegex=/^.+(:|&colon;)/gim,xs.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,xs.relativeFirstCharacters=[".","/"],xs.BLANK_URL="about:blank"),xs}var Dde;function E9t(){if(Dde)return _k;Dde=1,Object.defineProperty(_k,"__esModule",{value:!0}),_k.sanitizeUrl=a;var t=k9t();function e(s){return t.relativeFirstCharacters.indexOf(s[0])>-1}function r(s){var o=s.replace(t.ctrlCharactersRegex,"");return o.replace(t.htmlEntitiesRegex,function(l,u){return String.fromCharCode(u)})}function n(s){return URL.canParse(s)}function i(s){try{return decodeURIComponent(s)}catch{return s}}function a(s){if(!s)return t.BLANK_URL;var o,l=i(s.trim());do l=r(l).replace(t.htmlCtrlEntityRegex,"").replace(t.ctrlCharactersRegex,"").replace(t.whitespaceEscapeCharsRegex,"").trim(),l=i(l),o=l.match(t.ctrlCharactersRegex)||l.match(t.htmlEntitiesRegex)||l.match(t.htmlCtrlEntityRegex)||l.match(t.whitespaceEscapeCharsRegex);while(o&&o.length>0);var u=l;if(!u)return t.BLANK_URL;if(e(u))return u;var d=u.trimStart(),h=d.match(t.urlSchemeRegex);if(!h)return u;var f=h[0].toLowerCase().trim();if(t.invalidProtocolRegex.test(f))return t.BLANK_URL;var p=d.replace(/\\/g,"/");if(f==="mailto:"||f.includes("://"))return p;if(f==="http:"||f==="https:"){if(!n(p))return t.BLANK_URL;var g=new URL(p);return g.protocol=g.protocol.toLowerCase(),g.hostname=g.hostname.toLowerCase(),g.toString()}return p}return _k}var E5=E9t();function A9t(t){return Array.isArray(t)}function _$(t){var r;if(typeof t!="object"||t==null)return!1;if(Object.getPrototypeOf(t)===null)return!0;if(Object.prototype.toString.call(t)!=="[object Object]"){const n=t[Symbol.toStringTag];return n==null||!((r=Object.getOwnPropertyDescriptor(t,Symbol.toStringTag))!=null&&r.writable)?!1:t.toString()===`[object ${n}]`}let e=t;for(;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function M9t(){}function Dwe(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e))}function lS(t){return t==null?t===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(t)}const Pwe="[object RegExp]",wQ="[object String]",TQ="[object Number]",CQ="[object Boolean]",SQ="[object Arguments]",_we="[object Symbol]",Bwe="[object Date]",$we="[object Map]",Fwe="[object Set]",zwe="[object Array]",Hwe="[object ArrayBuffer]",Vwe="[object Object]",Gwe="[object DataView]",Wwe="[object Uint8Array]",qwe="[object Uint8ClampedArray]",jwe="[object Uint16Array]",Ywe="[object Uint32Array]",Xwe="[object Int8Array]",Kwe="[object Int16Array]",Zwe="[object Int32Array]",Jwe="[object Float32Array]",Qwe="[object Float64Array]",Pde=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function kQ(t){return typeof Pde.Buffer<"u"&&Pde.Buffer.isBuffer(t)}function R9t(t){return Number.isSafeInteger(t)&&t>=0}function eTe(t){return t!=null&&typeof t!="function"&&R9t(t.length)}function I9t(t){return t==="__proto__"}function TD(t){return t==null||typeof t!="object"&&typeof t!="function"}function EQ(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function L9t(t,e){return O2(t,void 0,t,new Map,e)}function O2(t,e,r,n=new Map,i=void 0){const a=i==null?void 0:i(t,e,r,n);if(a!==void 0)return a;if(TD(t))return t;if(n.has(t))return n.get(t);if(Array.isArray(t)){const s=new Array(t.length);n.set(t,s);for(let o=0;o<t.length;o++)s[o]=O2(t[o],o,r,n,i);return Object.hasOwn(t,"index")&&(s.index=t.index),Object.hasOwn(t,"input")&&(s.input=t.input),s}if(t instanceof Date)return new Date(t.getTime());if(t instanceof RegExp){const s=new RegExp(t.source,t.flags);return s.lastIndex=t.lastIndex,s}if(t instanceof Map){const s=new Map;n.set(t,s);for(const[o,l]of t)s.set(o,O2(l,o,r,n,i));return s}if(t instanceof Set){const s=new Set;n.set(t,s);for(const o of t)s.add(O2(o,void 0,r,n,i));return s}if(kQ(t))return t.subarray();if(EQ(t)){const s=new(Object.getPrototypeOf(t)).constructor(t.length);n.set(t,s);for(let o=0;o<t.length;o++)s[o]=O2(t[o],o,r,n,i);return s}if(t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);if(t instanceof DataView){const s=new DataView(t.buffer.slice(0),t.byteOffset,t.byteLength);return n.set(t,s),sd(s,t,r,n,i),s}if(typeof File<"u"&&t instanceof File){const s=new File([t],t.name,{type:t.type});return n.set(t,s),sd(s,t,r,n,i),s}if(typeof Blob<"u"&&t instanceof Blob){const s=new Blob([t],{type:t.type});return n.set(t,s),sd(s,t,r,n,i),s}if(t instanceof Error){const s=structuredClone(t);return n.set(t,s),s.message=t.message,s.name=t.name,s.stack=t.stack,s.cause=t.cause,s.constructor=t.constructor,sd(s,t,r,n,i),s}if(t instanceof Boolean){const s=new Boolean(t.valueOf());return n.set(t,s),sd(s,t,r,n,i),s}if(t instanceof Number){const s=new Number(t.valueOf());return n.set(t,s),sd(s,t,r,n,i),s}if(t instanceof String){const s=new String(t.valueOf());return n.set(t,s),sd(s,t,r,n,i),s}if(typeof t=="object"&&N9t(t)){const s=Object.create(Object.getPrototypeOf(t));return n.set(t,s),sd(s,t,r,n,i),s}return t}function sd(t,e,r=t,n,i){const a=[...Object.keys(e),...Dwe(e)];for(let s=0;s<a.length;s++){const o=a[s],l=Object.getOwnPropertyDescriptor(t,o);(l==null||l.writable)&&(t[o]=O2(e[o],o,r,n,i))}}function N9t(t){switch(lS(t)){case SQ:case zwe:case Hwe:case Gwe:case CQ:case Bwe:case Jwe:case Qwe:case Xwe:case Kwe:case Zwe:case $we:case TQ:case Vwe:case Pwe:case Fwe:case wQ:case _we:case Wwe:case qwe:case jwe:case Ywe:return!0;default:return!1}}function O9t(t,e){return L9t(t,(r,n,i,a)=>{if(typeof t=="object"){if(lS(t)==="[object Object]"&&typeof t.constructor!="function"){const s={};return a.set(t,s),sd(s,t,i,a),s}switch(Object.prototype.toString.call(t)){case TQ:case wQ:case CQ:{const s=new t.constructor(t==null?void 0:t.valueOf());return sd(s,t),s}case SQ:{const s={};return sd(s,t),s.length=t.length,s[Symbol.iterator]=t[Symbol.iterator],s}default:return}}})}function _de(t){return O9t(t)}function mW(t){return t!==null&&typeof t=="object"&&lS(t)==="[object Arguments]"}function UW(t){return typeof t=="object"&&t!==null}function D9t(t){return UW(t)&&eTe(t)}function Wx(t){return EQ(t)}function P9t(t){const e=t==null?void 0:t.constructor;return t===(typeof e=="function"?e.prototype:Object.prototype)}function cS(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError("Expected a function");const r=function(...n){const i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);const s=t.apply(this,n);return r.cache=a.set(i,s)||a,s};return r.cache=new(cS.Cache||Map),r}cS.Cache=Map;function _9t(t){if(TD(t))return t;const e=lS(t);if(!B9t(t))return{};if(A9t(t)){const n=Array.from(t);return t.length>0&&typeof t[0]=="string"&&Object.hasOwn(t,"index")&&(n.index=t.index,n.input=t.input),n}if(Wx(t)){const n=t,i=n.constructor;return new i(n.buffer,n.byteOffset,n.length)}if(e==="[object ArrayBuffer]")return new ArrayBuffer(t.byteLength);if(e==="[object DataView]"){const n=t,i=n.buffer,a=n.byteOffset,s=n.byteLength,o=new ArrayBuffer(s),l=new Uint8Array(i,a,s);return new Uint8Array(o).set(l),new DataView(o)}if(e==="[object Boolean]"||e==="[object Number]"||e==="[object String]"){const n=t.constructor,i=new n(t.valueOf());return e==="[object String]"?F9t(i,t):B$(i,t),i}if(e==="[object Date]")return new Date(Number(t));if(e==="[object RegExp]"){const n=t,i=new RegExp(n.source,n.flags);return i.lastIndex=n.lastIndex,i}if(e==="[object Symbol]")return Object(Symbol.prototype.valueOf.call(t));if(e==="[object Map]"){const n=t,i=new Map;return n.forEach((a,s)=>{i.set(s,a)}),i}if(e==="[object Set]"){const n=t,i=new Set;return n.forEach(a=>{i.add(a)}),i}if(e==="[object Arguments]"){const n=t,i={};return B$(i,n),i.length=n.length,i[Symbol.iterator]=n[Symbol.iterator],i}const r={};return z9t(r,t),B$(r,t),$9t(r,t),r}function B9t(t){switch(lS(t)){case SQ:case zwe:case Hwe:case Gwe:case CQ:case Bwe:case Jwe:case Qwe:case Xwe:case Kwe:case Zwe:case $we:case TQ:case Vwe:case Pwe:case Fwe:case wQ:case _we:case Wwe:case qwe:case jwe:case Ywe:return!0;default:return!1}}function B$(t,e){for(const r in e)Object.hasOwn(e,r)&&(t[r]=e[r])}function $9t(t,e){const r=Object.getOwnPropertySymbols(e);for(let n=0;n<r.length;n++){const i=r[n];Object.prototype.propertyIsEnumerable.call(e,i)&&(t[i]=e[i])}}function F9t(t,e){const r=e.valueOf().length;for(const n in e)Object.hasOwn(e,n)&&(Number.isNaN(Number(n))||Number(n)>=r)&&(t[n]=e[n])}function z9t(t,e){const r=Object.getPrototypeOf(e);r!==null&&typeof e.constructor=="function"&&Object.setPrototypeOf(t,r)}function H9t(t){if(TD(t))return t;if(Array.isArray(t)||EQ(t)||t instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&t instanceof SharedArrayBuffer)return t.slice(0);const e=Object.getPrototypeOf(t);if(e==null)return Object.assign(Object.create(e),t);const r=e.constructor;if(t instanceof Date||t instanceof Map||t instanceof Set)return new r(t);if(t instanceof RegExp){const n=new r(t);return n.lastIndex=t.lastIndex,n}if(t instanceof DataView)return new r(t.buffer.slice(0));if(t instanceof Error){let n;return t instanceof AggregateError?n=new r(t.errors,t.message,{cause:t.cause}):n=new r(t.message,{cause:t.cause}),n.stack=t.stack,Object.assign(n,t),n}return typeof File<"u"&&t instanceof File?new r([t],t.name,{type:t.type,lastModified:t.lastModified}):typeof t=="object"?Object.assign(Object.create(e),t):t}function V9t(t,...e){const r=e.slice(0,-1),n=e[e.length-1];let i=t;for(let a=0;a<r.length;a++){const s=r[a];i=VA(i,s,n,new Map)}return i}function VA(t,e,r,n){if(TD(t)&&(t=Object(t)),e==null||typeof e!="object")return t;if(n.has(e))return H9t(n.get(e));if(n.set(e,t),Array.isArray(e)){e=e.slice();for(let a=0;a<e.length;a++)a in e||(e[a]=void 0)}const i=[...Object.keys(e),...Dwe(e)];for(let a=0;a<i.length;a++){const s=i[a];if(I9t(s))continue;let o=e[s],l=t[s];if(mW(o)&&(o={...o}),mW(l)&&(l={...l}),kQ(o)&&(o=_de(o)),Array.isArray(o))if(Array.isArray(l)){const d=[],h=Reflect.ownKeys(l);for(let f=0;f<h.length;f++){const p=h[f];d[p]=l[p]}l=d}else if(D9t(l)){const d=[];for(let h=0;h<l.length;h++)d[h]=l[h];l=d}else l=[];const u=r(l,o,s,t,e,n);u!==void 0?t[s]=u:Array.isArray(o)||UW(l)&&UW(o)&&(_$(l)||_$(o)||Wx(l)||Wx(o))?t[s]=VA(l,o,r,n):l==null&&_$(o)?t[s]=VA({},o,r,n):l==null&&Wx(o)?t[s]=_de(o):(l===void 0||o!==void 0)&&(t[s]=o)}return t}function G9t(t,...e){return V9t(t,...e,M9t)}function Bde(t){if(t==null)return!0;if(eTe(t))return typeof t.splice!="function"&&typeof t!="string"&&!kQ(t)&&!Wx(t)&&!mW(t)?!1:t.length===0;if(typeof t=="object"||typeof t=="function"){if(t instanceof Map||t instanceof Set)return t.size===0;const e=Object.keys(t);return P9t(t)?e.filter(r=>r!=="constructor").length===0:e.length===0}return!0}var tTe="​",W9t={curveBasis:UT,curveBasisClosed:u3t,curveBasisOpen:d3t,curveBumpX:O9e,curveBumpY:D9e,curveBundle:h3t,curveCardinalClosed:f3t,curveCardinalOpen:p3t,curveCardinal:$9e,curveCatmullRomClosed:g3t,curveCatmullRomOpen:m3t,curveCatmullRom:z9e,curveLinear:Gx,curveLinearClosed:U3t,curveMonotoneX:j9e,curveMonotoneY:Y9e,curveNatural:K9e,curveStep:Z9e,curveStepAfter:Q9e,curveStepBefore:J9e},q9t=/\s*(?:(\w+)(?=:):|(\w+))\s*(?:(\w+)|((?:(?!}%{2}).|\r?\n)*))?\s*(?:}%{2})?/gi,j9t=x(function(t,e){const r=rTe(t,/(?:init\b)|(?:initialize\b)/);let n={};if(Array.isArray(r)){const s=r.map(o=>o.args);GR(s),n=ls(n,[...s])}else n=r.args;if(!n)return;let i=GJ(t,e);const a="config";return n[a]!==void 0&&(i==="flowchart-v2"&&(i="flowchart"),n[i]=n[a],delete n[a]),n},"detectInit"),rTe=x(function(t,e=null){var r,n;try{const i=new RegExp(`[%]{2}(?![{]${q9t.source})(?=[}][%]{2}).*
`,"ig");t=t.trim().replace(i,"").replace(/'/gm,'"'),he.debug(`Detecting diagram directive${e!==null?" type:"+e:""} based on the text:${t}`);let a;const s=[];for(;(a=Hx.exec(t))!==null;)if(a.index===Hx.lastIndex&&Hx.lastIndex++,a&&!e||e&&((r=a[1])!=null&&r.match(e))||e&&((n=a[2])!=null&&n.match(e))){const o=a[1]?a[1]:a[2],l=a[3]?a[3].trim():a[4]?JSON.parse(a[4].trim()):null;s.push({type:o,args:l})}return s.length===0?{type:t,args:null}:s.length===1?s[0]:s}catch(i){return he.error(`ERROR: ${i.message} - Unable to parse directive type: '${e}' based on the text: '${t}'`),{type:void 0,args:null}}},"detectDirective"),Y9t=x(function(t){return t.replace(Hx,"")},"removeDirectives"),X9t=x(function(t,e){for(const[r,n]of e.entries())if(n.match(t))return r;return-1},"isSubstringInArray");function AQ(t,e){if(!t)return e;const r=`curve${t.charAt(0).toUpperCase()+t.slice(1)}`;return W9t[r]??e}x(AQ,"interpolateToCurve");function nTe(t,e){const r=t.trim();if(r)return e.securityLevel!=="loose"?E5.sanitizeUrl(r):r}x(nTe,"formatUrl");var K9t=x((t,...e)=>{const r=t.split("."),n=r.length-1,i=r[n];let a=window;for(let s=0;s<n;s++)if(a=a[r[s]],!a){he.error(`Function name: ${t} not found in window`);return}a[i](...e)},"runFunc");function MQ(t,e){return!t||!e?0:Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}x(MQ,"distance");function iTe(t){let e,r=0;t.forEach(i=>{r+=MQ(i,e),e=i});const n=r/2;return RQ(t,n)}x(iTe,"traverseEdge");function aTe(t){return t.length===1?t[0]:iTe(t)}x(aTe,"calcLabelPosition");var $de=x((t,e=2)=>{const r=Math.pow(10,e);return Math.round(t*r)/r},"roundNumber"),RQ=x((t,e)=>{let r,n=e;for(const i of t){if(r){const a=MQ(i,r);if(a===0)return r;if(a<n)n-=a;else{const s=n/a;if(s<=0)return r;if(s>=1)return{x:i.x,y:i.y};if(s>0&&s<1)return{x:$de((1-s)*r.x+s*i.x,5),y:$de((1-s)*r.y+s*i.y,5)}}}r=i}throw new Error("Could not find a suitable point for the given distance")},"calculatePoint"),Z9t=x((t,e,r)=>{he.info(`our points ${JSON.stringify(e)}`),e[0]!==r&&(e=e.reverse());const i=RQ(e,25),a=t?10:5,s=Math.atan2(e[0].y-i.y,e[0].x-i.x),o={x:0,y:0};return o.x=Math.sin(s)*a+(e[0].x+i.x)/2,o.y=-Math.cos(s)*a+(e[0].y+i.y)/2,o},"calcCardinalityPosition");function sTe(t,e,r){const n=structuredClone(r);he.info("our points",n),e!=="start_left"&&e!=="start_right"&&n.reverse();const i=25+t,a=RQ(n,i),s=10+t*.5,o=Math.atan2(n[0].y-a.y,n[0].x-a.x),l={x:0,y:0};return e==="start_left"?(l.x=Math.sin(o+Math.PI)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o+Math.PI)*s+(n[0].y+a.y)/2):e==="end_right"?(l.x=Math.sin(o-Math.PI)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o-Math.PI)*s+(n[0].y+a.y)/2-5):e==="end_left"?(l.x=Math.sin(o)*s+(n[0].x+a.x)/2-5,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2-5):(l.x=Math.sin(o)*s+(n[0].x+a.x)/2,l.y=-Math.cos(o)*s+(n[0].y+a.y)/2),l}x(sTe,"calcTerminalLabelPosition");function IQ(t){let e="",r="";for(const n of t)n!==void 0&&(n.startsWith("color:")||n.startsWith("text-align:")?r=r+n+";":e=e+n+";");return{style:e,labelStyle:r}}x(IQ,"getStylesFromArray");var Fde=0,oTe=x(()=>(Fde++,"id-"+Math.random().toString(36).substr(2,12)+"-"+Fde),"generateId");function lTe(t){let e="";const r="0123456789abcdef",n=r.length;for(let i=0;i<t;i++)e+=r.charAt(Math.floor(Math.random()*n));return e}x(lTe,"makeRandomHex");var cTe=x(t=>lTe(t.length),"random"),J9t=x(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:""}},"getTextObj"),Q9t=x(function(t,e){const r=e.text.replace(Vt.lineBreakRegex," "),[,n]=ap(e.fontSize),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.style("text-anchor",e.anchor),i.style("font-family",e.fontFamily),i.style("font-size",n),i.style("font-weight",e.fontWeight),i.attr("fill",e.fill),e.class!==void 0&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+e.textMargin*2),a.attr("fill",e.fill),a.text(r),i},"drawSimpleText"),qx=cS((t,e,r)=>{if(!t||(r=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",joinWith:"<br/>"},r),Vt.lineBreakRegex.test(t)))return t;const n=t.split(" ").filter(Boolean),i=[];let a="";return n.forEach((s,o)=>{const l=Bl(`${s} `,r),u=Bl(a,r);if(l>e){const{hyphenatedStrings:f,remainingWord:p}=ext(s,e,"-",r);i.push(a,...f),a=p}else u+l>=e?(i.push(a),a=s):a=[a,s].filter(Boolean).join(" ");o+1===n.length&&i.push(a)}),i.filter(s=>s!=="").join(r.joinWith)},(t,e,r)=>`${t}${e}${r.fontSize}${r.fontWeight}${r.fontFamily}${r.joinWith}`),ext=cS((t,e,r="-",n)=>{n=Object.assign({fontSize:12,fontWeight:400,fontFamily:"Arial",margin:0},n);const i=[...t],a=[];let s="";return i.forEach((o,l)=>{const u=`${s}${o}`;if(Bl(u,n)>=e){const h=l+1,f=i.length===h,p=`${u}${r}`;a.push(f?u:p),s=""}else s=u}),{hyphenatedStrings:a,remainingWord:s}},(t,e,r="-",n)=>`${t}${e}${r}${n.fontSize}${n.fontWeight}${n.fontFamily}`);function vI(t,e){return CD(t,e).height}x(vI,"calculateTextHeight");function Bl(t,e){return CD(t,e).width}x(Bl,"calculateTextWidth");var CD=cS((t,e)=>{const{fontSize:r=12,fontFamily:n="Arial",fontWeight:i=400}=e;if(!t)return{width:0,height:0};const[,a]=ap(r),s=["sans-serif",n],o=t.split(Vt.lineBreakRegex),l=[],u=vt("body");if(!u.remove)return{width:0,height:0,lineHeight:0};const d=u.append("svg");for(const f of s){let p=0;const g={width:0,height:0,lineHeight:0};for(const m of o){const U=J9t();U.text=m||tTe;const y=Q9t(d,U).style("font-size",a).style("font-weight",i).style("font-family",f),b=(y._groups||y)[0][0].getBBox();if(b.width===0&&b.height===0)throw new Error("svg element not in render tree");g.width=Math.round(Math.max(g.width,b.width)),p=Math.round(b.height),g.height+=p,g.lineHeight=Math.round(Math.max(g.lineHeight,p))}l.push(g)}d.remove();const h=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[h]},(t,e)=>`${t}${e.fontSize}${e.fontWeight}${e.fontFamily}`),Wb,txt=(Wb=class{constructor(e=!1,r){this.count=0,this.count=r?r.length:0,this.next=e?()=>this.count++:()=>Date.now()}},x(Wb,"InitIDGenerator"),Wb),Bk,rxt=x(function(t){return Bk=Bk||document.createElement("div"),t=escape(t).replace(/%26/g,"&").replace(/%23/g,"#").replace(/%3B/g,";"),Bk.innerHTML=t,unescape(Bk.textContent)},"entityDecode");function LQ(t){return"str"in t}x(LQ,"isDetailedError");var nxt=x((t,e,r,n)=>{var a;if(!n)return;const i=(a=t.node())==null?void 0:a.getBBox();i&&t.append("text").text(n).attr("text-anchor","middle").attr("x",i.x+i.width/2).attr("y",-r).attr("class",e)},"insertTitle"),ap=x(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]},"parseFontSize");function na(t,e){return G9t({},t,e)}x(na,"cleanAndMerge");var Kr={assignWithDepth:ls,wrapLabel:qx,calculateTextHeight:vI,calculateTextWidth:Bl,calculateTextDimensions:CD,cleanAndMerge:na,detectInit:j9t,detectDirective:rTe,isSubstringInArray:X9t,interpolateToCurve:AQ,calcLabelPosition:aTe,calcCardinalityPosition:Z9t,calcTerminalLabelPosition:sTe,formatUrl:nTe,getStylesFromArray:IQ,generateId:oTe,random:cTe,runFunc:K9t,entityDecode:rxt,insertTitle:nxt,isLabelCoordinateInPath:uTe,parseFontSize:ap,InitIDGenerator:txt},ixt=x(function(t){let e=t;return e=e.replace(/style.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/classDef.*:\S*#.*;/g,function(r){return r.substring(0,r.length-1)}),e=e.replace(/#\w+;/g,function(r){const n=r.substring(1,r.length-1);return/^\+?\d+$/.test(n)?"fl°°"+n+"¶ß":"fl°"+n+"¶ß"}),e},"encodeEntities"),O0=x(function(t){return t.replace(/fl°°/g,"&#").replace(/fl°/g,"&").replace(/¶ß/g,";")},"decodeEntities"),fb=x((t,e,{counter:r=0,prefix:n,suffix:i},a)=>a||`${n?`${n}_`:""}${t}_${e}_${r}${i?`_${i}`:""}`,"getEdgeId");function ro(t){return t??null}x(ro,"handleUndefinedAttr");function uTe(t,e){const r=Math.round(t.x),n=Math.round(t.y),i=e.replace(/(\d+\.\d+)/g,a=>Math.round(parseFloat(a)).toString());return i.includes(r.toString())||i.includes(n.toString())}x(uTe,"isLabelCoordinateInPath");var K4=x(({flowchart:t})=>{var i,a;const e=((i=t==null?void 0:t.subGraphTitleMargin)==null?void 0:i.top)??0,r=((a=t==null?void 0:t.subGraphTitleMargin)==null?void 0:a.bottom)??0,n=e+r;return{subGraphTitleTopMargin:e,subGraphTitleBottomMargin:r,subGraphTitleTotalMargin:n}},"getSubGraphTitleMargins");async function NQ(t,e){const r=t.getElementsByTagName("img");if(!r||r.length===0)return;const n=e.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...r].map(i=>new Promise(a=>{function s(){if(i.style.display="flex",i.style.flexDirection="column",n){const o=Ve().fontSize?Ve().fontSize:window.getComputedStyle(document.body).fontSize,l=5,[u=An.fontSize]=ap(o),d=u*l+"px";i.style.minWidth=d,i.style.maxWidth=d}else i.style.width="100%";a(i)}x(s,"setupImage"),setTimeout(()=>{i.complete&&s()}),i.addEventListener("error",s),i.addEventListener("load",s)})))}x(NQ,"configureLabelImages");const axt=Object.freeze({left:0,top:0,width:16,height:16}),xI=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),dTe=Object.freeze({...axt,...xI}),sxt=Object.freeze({...dTe,body:"",hidden:!1}),oxt=Object.freeze({width:null,height:null}),lxt=Object.freeze({...oxt,...xI}),cxt=(t,e,r,n="")=>{const i=t.split(":");if(t.slice(0,1)==="@"){if(i.length<2||i.length>3)return null;n=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){const o=i.pop(),l=i.pop(),u={provider:i.length>0?i[0]:n,prefix:l,name:o};return $$(u)?u:null}const a=i[0],s=a.split("-");if(s.length>1){const o={provider:n,prefix:s.shift(),name:s.join("-")};return $$(o)?o:null}if(r&&n===""){const o={provider:n,prefix:"",name:a};return $$(o,r)?o:null}return null},$$=(t,e)=>t?!!((e&&t.prefix===""||t.prefix)&&t.name):!1;function uxt(t,e){const r={};!t.hFlip!=!e.hFlip&&(r.hFlip=!0),!t.vFlip!=!e.vFlip&&(r.vFlip=!0);const n=((t.rotate||0)+(e.rotate||0))%4;return n&&(r.rotate=n),r}function zde(t,e){const r=uxt(t,e);for(const n in sxt)n in xI?n in t&&!(n in r)&&(r[n]=xI[n]):n in e?r[n]=e[n]:n in t&&(r[n]=t[n]);return r}function dxt(t,e){const r=t.icons,n=t.aliases||Object.create(null),i=Object.create(null);function a(s){if(r[s])return i[s]=[];if(!(s in i)){i[s]=null;const o=n[s]&&n[s].parent,l=o&&a(o);l&&(i[s]=[o].concat(l))}return i[s]}return(e||Object.keys(r).concat(Object.keys(n))).forEach(a),i}function Hde(t,e,r){const n=t.icons,i=t.aliases||Object.create(null);let a={};function s(o){a=zde(n[o]||i[o],a)}return s(e),r.forEach(s),zde(t,a)}function hxt(t,e){if(t.icons[e])return Hde(t,e,[]);const r=dxt(t,[e])[e];return r?Hde(t,e,r):null}const fxt=/(-?[0-9.]*[0-9]+[0-9.]*)/g,pxt=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Vde(t,e,r){if(e===1)return t;if(r=r||100,typeof t=="number")return Math.ceil(t*e*r)/r;if(typeof t!="string")return t;const n=t.split(fxt);if(n===null||!n.length)return t;const i=[];let a=n.shift(),s=pxt.test(a);for(;;){if(s){const o=parseFloat(a);isNaN(o)?i.push(a):i.push(Math.ceil(o*e*r)/r)}else i.push(a);if(a=n.shift(),a===void 0)return i.join("");s=!s}}function gxt(t,e="defs"){let r="";const n=t.indexOf("<"+e);for(;n>=0;){const i=t.indexOf(">",n),a=t.indexOf("</"+e);if(i===-1||a===-1)break;const s=t.indexOf(">",a);if(s===-1)break;r+=t.slice(i+1,a).trim(),t=t.slice(0,n).trim()+t.slice(s+1)}return{defs:r,content:t}}function mxt(t,e){return t?"<defs>"+t+"</defs>"+e:e}function Uxt(t,e,r){const n=gxt(t);return mxt(n.defs,e+n.content+r)}const yxt=t=>t==="unset"||t==="undefined"||t==="none";function bxt(t,e){const r={...dTe,...t},n={...lxt,...e},i={left:r.left,top:r.top,width:r.width,height:r.height};let a=r.body;[r,n].forEach(m=>{const U=[],y=m.hFlip,b=m.vFlip;let v=m.rotate;y?b?v+=2:(U.push("translate("+(i.width+i.left).toString()+" "+(0-i.top).toString()+")"),U.push("scale(-1 1)"),i.top=i.left=0):b&&(U.push("translate("+(0-i.left).toString()+" "+(i.height+i.top).toString()+")"),U.push("scale(1 -1)"),i.top=i.left=0);let w;switch(v<0&&(v-=Math.floor(v/4)*4),v=v%4,v){case 1:w=i.height/2+i.top,U.unshift("rotate(90 "+w.toString()+" "+w.toString()+")");break;case 2:U.unshift("rotate(180 "+(i.width/2+i.left).toString()+" "+(i.height/2+i.top).toString()+")");break;case 3:w=i.width/2+i.left,U.unshift("rotate(-90 "+w.toString()+" "+w.toString()+")")}v%2===1&&(i.left!==i.top&&(w=i.left,i.left=i.top,i.top=w),i.width!==i.height&&(w=i.width,i.width=i.height,i.height=w)),U.length&&(a=Uxt(a,'<g transform="'+U.join(" ")+'">',"</g>"))});const s=n.width,o=n.height,l=i.width,u=i.height;let d,h;s===null?(h=o===null?"1em":o==="auto"?u:o,d=Vde(h,l/u)):(d=s==="auto"?l:s,h=o===null?Vde(d,u/l):o==="auto"?u:o);const f={},p=(m,U)=>{yxt(U)||(f[m]=U.toString())};p("width",d),p("height",h);const g=[i.left,i.top,l,u];return f.viewBox=g.join(" "),{attributes:f,viewBox:g,body:a}}const vxt=/\sid="(\S+)"/g,Gde=new Map;function xxt(t){t=t.replace(/[0-9]+$/,"")||"a";const e=Gde.get(t)||0;return Gde.set(t,e+1),e?`${t}${e}`:t}function wxt(t){const e=[];let r;for(;r=vxt.exec(t);)e.push(r[1]);if(!e.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return e.forEach(i=>{const a=xxt(i),s=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+s+')([")]|\\.[a-z])',"g"),"$1"+a+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}function Txt(t,e){let r=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const n in e)r+=" "+n+'="'+e[n]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+r+">"+t+"</svg>"}var hTe={body:'<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/><text transform="translate(21.16 64.67)" style="fill: #fff; font-family: ArialMT, Arial; font-size: 67.75px;"><tspan x="0" y="0">?</tspan></text></g>',height:80,width:80},yW=new Map,fTe=new Map,OQ=x(t=>{for(const e of t){if(!e.name)throw new Error('Invalid icon loader. Must have a "name" property with non-empty string value.');if(he.debug("Registering icon pack:",e.name),"loader"in e)fTe.set(e.name,e.loader);else if("icons"in e)yW.set(e.name,e.icons);else throw he.error("Invalid icon loader:",e),new Error('Invalid icon loader. Must have either "icons" or "loader" property.')}},"registerIconPacks"),pTe=x(async(t,e)=>{const r=cxt(t,!0,e!==void 0);if(!r)throw new Error(`Invalid icon name: ${t}`);const n=r.prefix||e;if(!n)throw new Error(`Icon name must contain a prefix: ${t}`);let i=yW.get(n);if(!i){const s=fTe.get(n);if(!s)throw new Error(`Icon set not found: ${r.prefix}`);try{i={...await s(),prefix:n},yW.set(n,i)}catch(o){throw he.error(o),new Error(`Failed to load icon set: ${r.prefix}`)}}const a=hxt(i,r.name);if(!a)throw new Error(`Icon not found: ${t}`);return a},"getRegisteredIconData"),Cxt=x(async t=>{try{return await pTe(t),!0}catch{return!1}},"isIconAvailable"),D0=x(async(t,e,r)=>{let n;try{n=await pTe(t,e==null?void 0:e.fallbackPrefix)}catch(s){he.error(s),n=hTe}const i=bxt(n,e),a=Txt(wxt(i.body),{...i.attributes,...r});return On(a,xr())},"getIconSVG");function DQ(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var A5=DQ();function gTe(t){A5=t}var jx={exec:()=>null};function li(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(Ll.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var Sxt=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),Ll={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i")},kxt=/^(?:[ \t]*(?:\n|$))+/,Ext=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Axt=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,uS=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Mxt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,PQ=/(?:[*+-]|\d{1,9}[.)])/,mTe=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,UTe=li(mTe).replace(/bull/g,PQ).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Rxt=li(mTe).replace(/bull/g,PQ).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),_Q=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Ixt=/^[^\n]+/,BQ=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Lxt=li(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",BQ).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Nxt=li(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,PQ).getRegex(),SD="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",$Q=/\x3C!--(?:-?>|[\s\S]*?(?:-->|$))/,Oxt=li("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",$Q).replace("tag",SD).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),yTe=li(_Q).replace("hr",uS).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",SD).getRegex(),Dxt=li(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",yTe).getRegex(),FQ={blockquote:Dxt,code:Ext,def:Lxt,fences:Axt,heading:Mxt,hr:uS,html:Oxt,lheading:UTe,list:Nxt,newline:kxt,paragraph:yTe,table:jx,text:Ixt},Wde=li("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",uS).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",SD).getRegex(),Pxt={...FQ,lheading:Rxt,table:Wde,paragraph:li(_Q).replace("hr",uS).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Wde).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",SD).getRegex()},_xt={...FQ,html:li(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",$Q).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:jx,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:li(_Q).replace("hr",uS).replace("heading",` *#{1,6} *[^
]`).replace("lheading",UTe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Bxt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,$xt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,bTe=/^( {2,}|\\)\n(?!\s*$)/,Fxt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,kD=/[\p{P}\p{S}]/u,zQ=/[\s\p{P}\p{S}]/u,vTe=/[^\s\p{P}\p{S}]/u,zxt=li(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,zQ).getRegex(),xTe=/(?!~)[\p{P}\p{S}]/u,Hxt=/(?!~)[\s\p{P}\p{S}]/u,Vxt=/(?:[^\s\p{P}\p{S}]|~)/u,Gxt=li(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Sxt?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),wTe=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Wxt=li(wTe,"u").replace(/punct/g,kD).getRegex(),qxt=li(wTe,"u").replace(/punct/g,xTe).getRegex(),TTe="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",jxt=li(TTe,"gu").replace(/notPunctSpace/g,vTe).replace(/punctSpace/g,zQ).replace(/punct/g,kD).getRegex(),Yxt=li(TTe,"gu").replace(/notPunctSpace/g,Vxt).replace(/punctSpace/g,Hxt).replace(/punct/g,xTe).getRegex(),Xxt=li("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,vTe).replace(/punctSpace/g,zQ).replace(/punct/g,kD).getRegex(),Kxt=li(/\\(punct)/,"gu").replace(/punct/g,kD).getRegex(),Zxt=li(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Jxt=li($Q).replace("(?:-->|$)","-->").getRegex(),Qxt=li("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Jxt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),wI=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,ewt=li(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",wI).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),CTe=li(/^!?\[(label)\]\[(ref)\]/).replace("label",wI).replace("ref",BQ).getRegex(),STe=li(/^!?\[(ref)\](?:\[\])?/).replace("ref",BQ).getRegex(),twt=li("reflink|nolink(?!\\()","g").replace("reflink",CTe).replace("nolink",STe).getRegex(),qde=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,HQ={_backpedal:jx,anyPunctuation:Kxt,autolink:Zxt,blockSkip:Gxt,br:bTe,code:$xt,del:jx,emStrongLDelim:Wxt,emStrongRDelimAst:jxt,emStrongRDelimUnd:Xxt,escape:Bxt,link:ewt,nolink:STe,punctuation:zxt,reflink:CTe,reflinkSearch:twt,tag:Qxt,text:Fxt,url:jx},rwt={...HQ,link:li(/^!?\[(label)\]\((.*?)\)/).replace("label",wI).getRegex(),reflink:li(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",wI).getRegex()},bW={...HQ,emStrongRDelimAst:Yxt,emStrongLDelim:qxt,url:li(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",qde).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:li(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",qde).getRegex()},nwt={...bW,br:li(bTe).replace("{2,}","*").getRegex(),text:li(bW.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},$k={normal:FQ,gfm:Pxt,pedantic:_xt},G3={normal:HQ,gfm:bW,breaks:nwt,pedantic:rwt},iwt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},jde=t=>iwt[t];function oh(t,e){if(e){if(Ll.escapeTest.test(t))return t.replace(Ll.escapeReplace,jde)}else if(Ll.escapeTestNoEncode.test(t))return t.replace(Ll.escapeReplaceNoEncode,jde);return t}function Yde(t){try{t=encodeURI(t).replace(Ll.percentDecode,"%")}catch{return null}return t}function Xde(t,e){var a;let r=t.replace(Ll.findPipe,(s,o,l)=>{let u=!1,d=o;for(;--d>=0&&l[d]==="\\";)u=!u;return u?"|":" |"}),n=r.split(Ll.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!((a=n.at(-1))!=null&&a.trim())&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;i<n.length;i++)n[i]=n[i].trim().replace(Ll.slashPipe,"|");return n}function W3(t,e,r){let n=t.length;if(n===0)return"";let i=0;for(;i<n&&t.charAt(n-i-1)===e;)i++;return t.slice(0,n-i)}function awt(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let n=0;n<t.length;n++)if(t[n]==="\\")n++;else if(t[n]===e[0])r++;else if(t[n]===e[1]&&(r--,r<0))return n;return r>0?-2:-1}function Kde(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function swt(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(`
`).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[o]=s;return o.length>=i.length?a.slice(i.length):a}).join(`
`)}var TI=class{constructor(e){wr(this,"options");wr(this,"rules");wr(this,"lexer");this.options=e||A5}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:W3(n,`
`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=swt(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=W3(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:W3(r[0],`
`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=W3(r[0],`
`).split(`
`),i="",a="",s=[];for(;n.length>0;){let o=!1,l=[],u;for(u=0;u<n.length;u++)if(this.rules.other.blockquoteStart.test(n[u]))l.push(n[u]),o=!0;else if(!o)l.push(n[u]);else break;n=n.slice(u);let d=l.join(`
`),h=d.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
${d}`:d,a=a?`${a}
${h}`:h;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,s,!0),this.lexer.state.top=f,n.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let g=p,m=g.raw+`
`+n.join(`
`),U=this.blockquote(m);s[s.length-1]=U,i=i.substring(0,i.length-g.raw.length)+U.raw,a=a.substring(0,a.length-g.text.length)+U.text;break}else if((p==null?void 0:p.type)==="list"){let g=p,m=g.raw+`
`+n.join(`
`),U=this.list(m);s[s.length-1]=U,i=i.substring(0,i.length-p.raw.length)+U.raw,a=a.substring(0,a.length-g.raw.length)+U.raw,n=m.substring(s.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:a}}}list(e){let r=this.rules.block.list.exec(e);if(r){let n=r[1].trim(),i=n.length>1,a={type:"list",raw:"",ordered:i,start:i?+n.slice(0,-1):"",loose:!1,items:[]};n=i?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=i?n:"[*+-]");let s=this.rules.other.listItemRegex(n),o=!1;for(;e;){let u=!1,d="",h="";if(!(r=s.exec(e))||this.rules.block.hr.test(e))break;d=r[0],e=e.substring(d.length);let f=r[2].split(`
`,1)[0].replace(this.rules.other.listReplaceTabs,b=>" ".repeat(3*b.length)),p=e.split(`
`,1)[0],g=!f.trim(),m=0;if(this.options.pedantic?(m=2,h=f.trimStart()):g?m=r[1].length+1:(m=r[2].search(this.rules.other.nonSpaceChar),m=m>4?1:m,h=f.slice(m),m+=r[1].length),g&&this.rules.other.blankLine.test(p)&&(d+=p+`
`,e=e.substring(p.length+1),u=!0),!u){let b=this.rules.other.nextBulletRegex(m),v=this.rules.other.hrRegex(m),w=this.rules.other.fencesBeginRegex(m),T=this.rules.other.headingBeginRegex(m),S=this.rules.other.htmlBeginRegex(m);for(;e;){let C=e.split(`
`,1)[0],k;if(p=C,this.options.pedantic?(p=p.replace(this.rules.other.listReplaceNesting," "),k=p):k=p.replace(this.rules.other.tabCharGlobal," "),w.test(p)||T.test(p)||S.test(p)||b.test(p)||v.test(p))break;if(k.search(this.rules.other.nonSpaceChar)>=m||!p.trim())h+=`
`+k.slice(m);else{if(g||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||w.test(f)||T.test(f)||v.test(f))break;h+=`
`+p}!g&&!p.trim()&&(g=!0),d+=C+`
`,e=e.substring(C.length+1),f=k.slice(m)}}a.loose||(o?a.loose=!0:this.rules.other.doubleBlankLine.test(d)&&(o=!0));let U=null,y;this.options.gfm&&(U=this.rules.other.listIsTask.exec(h),U&&(y=U[0]!=="[ ] ",h=h.replace(this.rules.other.listReplaceTask,""))),a.items.push({type:"list_item",raw:d,task:!!U,checked:y,loose:!1,text:h,tokens:[]}),a.raw+=d}let l=a.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;a.raw=a.raw.trimEnd();for(let u=0;u<a.items.length;u++)if(this.lexer.state.top=!1,a.items[u].tokens=this.lexer.blockTokens(a.items[u].text,[]),!a.loose){let d=a.items[u].tokens.filter(f=>f.type==="space"),h=d.length>0&&d.some(f=>this.rules.other.anyLine.test(f.raw));a.loose=h}if(a.loose)for(let u=0;u<a.items.length;u++)a.items[u].loose=!0;return a}}html(e){let r=this.rules.block.html.exec(e);if(r)return{type:"html",block:!0,raw:r[0],pre:r[1]==="pre"||r[1]==="script"||r[1]==="style",text:r[0]}}def(e){let r=this.rules.block.def.exec(e);if(r){let n=r[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=r[2]?r[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){var o;let r=this.rules.block.table.exec(e);if(!r||!this.rules.other.tableDelimiter.test(r[2]))return;let n=Xde(r[1]),i=r[2].replace(this.rules.other.tableAlignChars,"").split("|"),a=(o=r[3])!=null&&o.trim()?r[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],s={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)this.rules.other.tableAlignRight.test(l)?s.align.push("right"):this.rules.other.tableAlignCenter.test(l)?s.align.push("center"):this.rules.other.tableAlignLeft.test(l)?s.align.push("left"):s.align.push(null);for(let l=0;l<n.length;l++)s.header.push({text:n[l],tokens:this.lexer.inline(n[l]),header:!0,align:s.align[l]});for(let l of a)s.rows.push(Xde(l,s.header.length).map((u,d)=>({text:u,tokens:this.lexer.inline(u),header:!1,align:s.align[d]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r)return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:r[1],tokens:this.lexer.inline(r[1])}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===`
`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=W3(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=awt(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),Kde(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return Kde(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||i[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[2])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+a);(i=d.exec(r))!=null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let h=[...i[0]][0].length,f=e.slice(0,a+i.index+h+o);if(Math.min(a,o)%2){let g=f.slice(1,-1);return{type:"em",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e){let r=this.rules.inline.del.exec(e);if(r)return{type:"del",raw:r[0],text:r[2],tokens:this.lexer.inlineTokens(r[2])}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){var n;let r;if(r=this.rules.inline.url.exec(e)){let i,a;if(r[2]==="@")i=r[0],a="mailto:"+i;else{let s;do s=r[0],r[0]=((n=this.rules.inline._backpedal.exec(r[0]))==null?void 0:n[0])??"";while(s!==r[0]);i=r[0],r[1]==="www."?a="http://"+r[0]:a=r[0]}return{type:"link",raw:r[0],text:i,href:a,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},dd=class vW{constructor(e){wr(this,"tokens");wr(this,"options");wr(this,"state");wr(this,"tokenizer");wr(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||A5,this.options.tokenizer=this.options.tokenizer||new TI,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:Ll,block:$k.normal,inline:G3.normal};this.options.pedantic?(r.block=$k.pedantic,r.inline=G3.pedantic):this.options.gfm&&(r.block=$k.gfm,this.options.breaks?r.inline=G3.breaks:r.inline=G3.gfm),this.tokenizer.rules=r}static get rules(){return{block:$k,inline:G3}}static lex(e,r){return new vW(r).lex(e)}static lexInline(e,r){return new vW(r).inlineTokens(e)}lex(e){e=e.replace(Ll.carriageReturn,`
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let n=this.inlineQueue[r];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],n=!1){var i,a,s;for(this.options.pedantic&&(e=e.replace(Ll.tabCharGlobal," ").replace(Ll.spaceLine,""));e;){let o;if((a=(i=this.options.extensions)==null?void 0:i.block)!=null&&a.some(u=>(o=u.call({lexer:this},e,r))?(e=e.substring(o.raw.length),r.push(o),!0):!1))continue;if(o=this.tokenizer.space(e)){e=e.substring(o.raw.length);let u=r.at(-1);o.raw.length===1&&u!==void 0?u.raw+=`
`:r.push(o);continue}if(o=this.tokenizer.code(e)){e=e.substring(o.raw.length);let u=r.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.text,this.inlineQueue.at(-1).src=u.text):r.push(o);continue}if(o=this.tokenizer.fences(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.heading(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.hr(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.blockquote(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.list(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.html(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.def(e)){e=e.substring(o.raw.length);let u=r.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.raw,this.inlineQueue.at(-1).src=u.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title},r.push(o));continue}if(o=this.tokenizer.table(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.lheading(e)){e=e.substring(o.raw.length),r.push(o);continue}let l=e;if((s=this.options.extensions)!=null&&s.startBlock){let u=1/0,d=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},d),typeof h=="number"&&h>=0&&(u=Math.min(u,h))}),u<1/0&&u>=0&&(l=e.substring(0,u+1))}if(this.state.top&&(o=this.tokenizer.paragraph(l))){let u=r.at(-1);n&&(u==null?void 0:u.type)==="paragraph"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):r.push(o),n=l.length!==e.length,e=e.substring(o.raw.length);continue}if(o=this.tokenizer.text(e)){e=e.substring(o.raw.length);let u=r.at(-1);(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):r.push(o);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){var l,u,d,h,f;let n=e,i=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!=null;)p.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!=null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!=null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=((u=(l=this.options.hooks)==null?void 0:l.emStrongMask)==null?void 0:u.call({lexer:this},n))??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let p;if((h=(d=this.options.extensions)==null?void 0:d.inline)!=null&&h.some(m=>(p=m.call({lexer:this},e,r))?(e=e.substring(p.raw.length),r.push(p),!0):!1))continue;if(p=this.tokenizer.escape(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.tag(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.link(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(p.raw.length);let m=r.at(-1);p.type==="text"&&(m==null?void 0:m.type)==="text"?(m.raw+=p.raw,m.text+=p.text):r.push(p);continue}if(p=this.tokenizer.emStrong(e,n,o)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.codespan(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.br(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.del(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.autolink(e)){e=e.substring(p.raw.length),r.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(e))){e=e.substring(p.raw.length),r.push(p);continue}let g=e;if((f=this.options.extensions)!=null&&f.startInline){let m=1/0,U=e.slice(1),y;this.options.extensions.startInline.forEach(b=>{y=b.call({lexer:this},U),typeof y=="number"&&y>=0&&(m=Math.min(m,y))}),m<1/0&&m>=0&&(g=e.substring(0,m+1))}if(p=this.tokenizer.inlineText(g)){e=e.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(o=p.raw.slice(-1)),s=!0;let m=r.at(-1);(m==null?void 0:m.type)==="text"?(m.raw+=p.raw,m.text+=p.text):r.push(p);continue}if(e){let m="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(m);break}else throw new Error(m)}}return r}},CI=class{constructor(e){wr(this,"options");wr(this,"parser");this.options=e||A5}space(e){return""}code({text:e,lang:r,escaped:n}){var s;let i=(s=(r||"").match(Ll.notSpaceStart))==null?void 0:s[0],a=e.replace(Ll.endingNewline,"")+`
`;return i?'<pre><code class="language-'+oh(i)+'">'+(n?a:oh(a,!0))+`</code></pre>
`:"<pre><code>"+(n?a:oh(a,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
${this.parser.parse(e)}</blockquote>
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:r}){return`<h${r}>${this.parser.parseInline(e)}</h${r}>
`}hr(e){return`<hr>
`}list(e){let r=e.ordered,n=e.start,i="";for(let o=0;o<e.items.length;o++){let l=e.items[o];i+=this.listitem(l)}let a=r?"ol":"ul",s=r&&n!==1?' start="'+n+'"':"";return"<"+a+s+`>
`+i+"</"+a+`>
`}listitem(e){var n;let r="";if(e.task){let i=this.checkbox({checked:!!e.checked});e.loose?((n=e.tokens[0])==null?void 0:n.type)==="paragraph"?(e.tokens[0].text=i+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=i+" "+oh(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:i+" ",text:i+" ",escaped:!0}):r+=i+" "}return r+=this.parser.parse(e.tokens,!!e.loose),`<li>${r}</li>
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
`}table(e){let r="",n="";for(let a=0;a<e.header.length;a++)n+=this.tablecell(e.header[a]);r+=this.tablerow({text:n});let i="";for(let a=0;a<e.rows.length;a++){let s=e.rows[a];n="";for(let o=0;o<s.length;o++)n+=this.tablecell(s[o]);i+=this.tablerow({text:n})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
<thead>
`+r+`</thead>
`+i+`</table>
`}tablerow({text:e}){return`<tr>
${e}</tr>
`}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+`</${n}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${oh(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=Yde(e);if(a===null)return i;e=a;let s='<a href="'+e+'"';return r&&(s+=' title="'+oh(r)+'"'),s+=">"+i+"</a>",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=Yde(e);if(a===null)return oh(n);e=a;let s=`<img src="${e}" alt="${n}"`;return r&&(s+=` title="${oh(r)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:oh(e.text)}},VQ=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},hd=class xW{constructor(e){wr(this,"options");wr(this,"renderer");wr(this,"textRenderer");this.options=e||A5,this.options.renderer=this.options.renderer||new CI,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new VQ}static parse(e,r){return new xW(r).parse(e)}static parseInline(e,r){return new xW(r).parseInline(e)}parse(e,r=!0){var i,a;let n="";for(let s=0;s<e.length;s++){let o=e[s];if((a=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&a[o.type]){let u=o,d=this.options.extensions.renderers[u.type].call({parser:this},u);if(d!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(u.type)){n+=d||"";continue}}let l=o;switch(l.type){case"space":{n+=this.renderer.space(l);continue}case"hr":{n+=this.renderer.hr(l);continue}case"heading":{n+=this.renderer.heading(l);continue}case"code":{n+=this.renderer.code(l);continue}case"table":{n+=this.renderer.table(l);continue}case"blockquote":{n+=this.renderer.blockquote(l);continue}case"list":{n+=this.renderer.list(l);continue}case"html":{n+=this.renderer.html(l);continue}case"def":{n+=this.renderer.def(l);continue}case"paragraph":{n+=this.renderer.paragraph(l);continue}case"text":{let u=l,d=this.renderer.text(u);for(;s+1<e.length&&e[s+1].type==="text";)u=e[++s],d+=`
`+this.renderer.text(u);r?n+=this.renderer.paragraph({type:"paragraph",raw:d,text:d,tokens:[{type:"text",raw:d,text:d,escaped:!0}]}):n+=d;continue}default:{let u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return n}parseInline(e,r=this.renderer){var i,a;let n="";for(let s=0;s<e.length;s++){let o=e[s];if((a=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&a[o.type]){let u=this.options.extensions.renderers[o.type].call({parser:this},o);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){n+=u||"";continue}}let l=o;switch(l.type){case"escape":{n+=r.text(l);break}case"html":{n+=r.html(l);break}case"link":{n+=r.link(l);break}case"image":{n+=r.image(l);break}case"strong":{n+=r.strong(l);break}case"em":{n+=r.em(l);break}case"codespan":{n+=r.codespan(l);break}case"br":{n+=r.br(l);break}case"del":{n+=r.del(l);break}case"text":{n+=r.text(l);break}default:{let u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return n}},xA,B9=(xA=class{constructor(e){wr(this,"options");wr(this,"block");this.options=e||A5}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?dd.lex:dd.lexInline}provideParser(){return this.block?hd.parse:hd.parseInline}},wr(xA,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),wr(xA,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),xA),owt=class{constructor(...e){wr(this,"defaults",DQ());wr(this,"options",this.setOptions);wr(this,"parse",this.parseMarkdown(!0));wr(this,"parseInline",this.parseMarkdown(!1));wr(this,"Parser",hd);wr(this,"Renderer",CI);wr(this,"TextRenderer",VQ);wr(this,"Lexer",dd);wr(this,"Tokenizer",TI);wr(this,"Hooks",B9);this.use(...e)}walkTokens(e,r){var i,a;let n=[];for(let s of e)switch(n=n.concat(r.call(this,s)),s.type){case"table":{let o=s;for(let l of o.header)n=n.concat(this.walkTokens(l.tokens,r));for(let l of o.rows)for(let u of l)n=n.concat(this.walkTokens(u.tokens,r));break}case"list":{let o=s;n=n.concat(this.walkTokens(o.items,r));break}default:{let o=s;(a=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&a[o.type]?this.defaults.extensions.childTokens[o.type].forEach(l=>{let u=o[l].flat(1/0);n=n.concat(this.walkTokens(u,r))}):o.tokens&&(n=n.concat(this.walkTokens(o.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new CI(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...d)=>{let h=l.apply(a,d);return h===!1&&(h=u.apply(a,d)),h||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new TI(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...d)=>{let h=l.apply(a,d);return h===!1&&(h=u.apply(a,d)),h}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new B9;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];B9.passThroughHooks.has(s)?a[o]=d=>{if(this.defaults.async&&B9.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,d);return u.call(a,f)})();let h=l.call(a,d);return u.call(a,h)}:a[o]=(...d)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,d);return f===!1&&(f=await u.apply(a,d)),f})();let h=l.apply(a,d);return h===!1&&(h=u.apply(a,d)),h}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return dd.lex(e,r??this.defaults)}parser(e,r){return hd.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer():e?dd.lex:dd.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let d=await(a.hooks?await a.hooks.provideParser():e?hd.parse:hd.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(d):d})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer():e?dd.lex:dd.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser():e?hd.parse:hd.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=`
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+oh(n.message+"",!0)+"</pre>";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},t5=new owt;function vi(t,e){return t5.parse(t,e)}vi.options=vi.setOptions=function(t){return t5.setOptions(t),vi.defaults=t5.defaults,gTe(vi.defaults),vi};vi.getDefaults=DQ;vi.defaults=A5;vi.use=function(...t){return t5.use(...t),vi.defaults=t5.defaults,gTe(vi.defaults),vi};vi.walkTokens=function(t,e){return t5.walkTokens(t,e)};vi.parseInline=t5.parseInline;vi.Parser=hd;vi.parser=hd.parse;vi.Renderer=CI;vi.TextRenderer=VQ;vi.Lexer=dd;vi.lexer=dd.lex;vi.Tokenizer=TI;vi.Hooks=B9;vi.parse=vi;vi.options;vi.setOptions;vi.use;vi.walkTokens;vi.parseInline;hd.parse;dd.lex;function kTe(t){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var n=Array.from(typeof t=="string"?[t]:t);n[n.length-1]=n[n.length-1].replace(/\r?\n([\t ]*)$/,"");var i=n.reduce(function(o,l){var u=l.match(/\n([\t ]+|(?!\s).)/g);return u?o.concat(u.map(function(d){var h,f;return(f=(h=d.match(/[\t ]/g))===null||h===void 0?void 0:h.length)!==null&&f!==void 0?f:0})):o},[]);if(i.length){var a=new RegExp(`
[ ]{`.concat(Math.min.apply(Math,i),"}"),"g");n=n.map(function(o){return o.replace(a,`
`)})}n[0]=n[0].replace(/^\r?\n/,"");var s=n[0];return e.forEach(function(o,l){var u=s.match(/(?:^|\n)( *)$/),d=u?u[1]:"",h=o;typeof o=="string"&&o.includes(`
`)&&(h=String(o).split(`
`).map(function(f,p){return p===0?f:"".concat(d).concat(f)}).join(`
`)),s+=h+n[l+1]}),s}function ETe(t,{markdownAutoWrap:e}){const n=t.replace(/<br\/>/g,`
`).replace(/\n{2,}/g,`
`);return kTe(n)}x(ETe,"preprocessMarkdown");function ATe(t){return t.split(/\\n|\n|<br\s*\/?>/gi).map(e=>{var r;return((r=e.trim().match(/<[^>]+>|[^\s<>]+/g))==null?void 0:r.map(n=>({content:n,type:"normal"})))??[]})}x(ATe,"nonMarkdownToLines");function MTe(t,e={}){const r=ETe(t,e),n=vi.lexer(r),i=[[]];let a=0;function s(o,l="normal"){o.type==="text"?o.text.split(`
`).forEach((d,h)=>{h!==0&&(a++,i.push([])),d.split(" ").forEach(f=>{f=f.replace(/&#39;/g,"'"),f&&i[a].push({content:f,type:l})})}):o.type==="strong"||o.type==="em"?o.tokens.forEach(u=>{s(u,o.type)}):o.type==="html"&&i[a].push({content:o.text,type:"normal"})}return x(s,"processNode"),n.forEach(o=>{var l;o.type==="paragraph"?(l=o.tokens)==null||l.forEach(u=>{s(u)}):o.type==="html"?i[a].push({content:o.text,type:"normal"}):i[a].push({content:o.raw,type:"normal"})}),i}x(MTe,"markdownToLines");function RTe(t){return t?`<p>${t.replace(/\\n|\n/g,"<br />")}</p>`:""}x(RTe,"nonMarkdownToHTML");function ITe(t,{markdownAutoWrap:e}={}){const r=vi.lexer(t);function n(i){var a,s,o;return i.type==="text"?e===!1?i.text.replace(/\n */g,"<br/>").replace(/ /g,"&nbsp;"):i.text.replace(/\n */g,"<br/>"):i.type==="strong"?`<strong>${(a=i.tokens)==null?void 0:a.map(n).join("")}</strong>`:i.type==="em"?`<em>${(s=i.tokens)==null?void 0:s.map(n).join("")}</em>`:i.type==="paragraph"?`<p>${(o=i.tokens)==null?void 0:o.map(n).join("")}</p>`:i.type==="space"?"":i.type==="html"?`${i.text}`:i.type==="escape"?i.text:(he.warn(`Unsupported markdown: ${i.type}`),i.raw)}return x(n,"output"),r.map(n).join("")}x(ITe,"markdownToHTML");function LTe(t){return Intl.Segmenter?[...new Intl.Segmenter().segment(t)].map(e=>e.segment):[...t]}x(LTe,"splitTextToChars");function NTe(t,e){const r=LTe(e.content);return GQ(t,[],r,e.type)}x(NTe,"splitWordToFitWidth");function GQ(t,e,r,n){if(r.length===0)return[{content:e.join(""),type:n},{content:"",type:n}];const[i,...a]=r,s=[...e,i];return t([{content:s.join(""),type:n}])?GQ(t,s,a,n):(e.length===0&&i&&(e.push(i),r.shift()),[{content:e.join(""),type:n},{content:r.join(""),type:n}])}x(GQ,"splitWordToFitWidthRecursion");function OTe(t,e){if(t.some(({content:r})=>r.includes(`
`)))throw new Error("splitLineToFitWidth does not support newlines in the line");return SI(t,e)}x(OTe,"splitLineToFitWidth");function SI(t,e,r=[],n=[]){if(t.length===0)return n.length>0&&r.push(n),r.length>0?r:[];let i="";t[0].content===" "&&(i=" ",t.shift());const a=t.shift()??{content:" ",type:"normal"},s=[...n];if(i!==""&&s.push({content:i,type:"normal"}),s.push(a),e(s))return SI(t,e,r,s);if(n.length>0)r.push(n),t.unshift(a);else if(a.content){const[o,l]=NTe(e,a);r.push([o]),l.content&&t.unshift(l)}return SI(t,e,r)}x(SI,"splitLineToFitWidthRecursion");function wW(t,e){e&&t.attr("style",e)}x(wW,"applyStyle");var Zde=16384;async function DTe(t,e,r,n,i=!1,a=xr()){const s=t.append("foreignObject");s.attr("width",`${Math.min(10*r,Zde)}px`),s.attr("height",`${Math.min(10*r,Zde)}px`);const o=s.append("xhtml:div"),l=es(e.label)?await uD(e.label.replace(Vt.lineBreakRegex,`
`),a):On(e.label,a),u=e.isNode?"nodeLabel":"edgeLabel",d=o.append("span");d.html(l),wW(d,e.labelStyle),d.attr("class",`${u} ${n}`),wW(o,e.labelStyle),o.style("display","table-cell"),o.style("white-space","nowrap"),o.style("line-height","1.5"),r!==Number.POSITIVE_INFINITY&&(o.style("max-width",r+"px"),o.style("text-align","center")),o.attr("xmlns","http://www.w3.org/1999/xhtml"),i&&o.attr("class","labelBkg");let h=o.node().getBoundingClientRect();return h.width===r&&(o.style("display","table"),o.style("white-space","break-spaces"),o.style("width",r+"px"),h=o.node().getBoundingClientRect()),s.node()}x(DTe,"addHtmlSpan");function ED(t,e,r,n=!1){const i=t.append("tspan").attr("class","text-outer-tspan").attr("x",0).attr("y",e*r-.1+"em").attr("dy",r+"em");return n&&i.attr("text-anchor","middle"),i}x(ED,"createTspan");function PTe(t,e,r){const n=t.append("text"),i=ED(n,1,e);AD(i,r);const a=i.node().getComputedTextLength();return n.remove(),a}x(PTe,"computeWidthOfText");function _Te(t,e,r){var s;const n=t.append("text"),i=ED(n,1,e);AD(i,[{content:r,type:"normal"}]);const a=(s=i.node())==null?void 0:s.getBoundingClientRect();return a&&n.remove(),a}x(_Te,"computeDimensionOfText");function BTe(t,e,r,n=!1,i=!1){const s=e.append("g"),o=s.insert("rect").attr("class","background").attr("style","stroke: none"),l=s.append("text").attr("y","-10.1");i&&l.attr("text-anchor","middle");let u=0;for(const d of r){const h=x(p=>PTe(s,1.1,p)<=t,"checkWidth"),f=h(d)?[d]:OTe(d,h);for(const p of f){const g=ED(l,u,1.1,i);AD(g,p),u++}}if(n){const d=l.node().getBBox(),h=2;return o.attr("x",d.x-h).attr("y",d.y-h).attr("width",d.width+2*h).attr("height",d.height+2*h),s.node()}else return l.node()}x(BTe,"createFormattedText");function TW(t){const e=/&(amp|lt|gt);/g;return t.replace(e,(r,n)=>{switch(n){case"amp":return"&";case"lt":return"<";case"gt":return">";default:return r}})}x(TW,"decodeHTMLEntities");function AD(t,e){t.text(""),e.forEach((r,n)=>{const i=t.append("tspan").attr("font-style",r.type==="em"?"italic":"normal").attr("class","text-inner-tspan").attr("font-weight",r.type==="strong"?"bold":"normal");n===0?i.text(TW(r.content)):i.text(" "+TW(r.content))})}x(AD,"updateTextContentAndStyles");async function $Te(t,e={}){const r=[];t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,(i,a,s)=>(r.push((async()=>{const o=`${a}:${s}`;return await Cxt(o)?await D0(o,void 0,{class:"label-icon"}):`<i class='${On(i,e).replace(":"," ")}'></i>`})()),i));const n=await Promise.all(r);return t.replace(/(fa[bklrs]?):fa-([\w-]+)/g,()=>n.shift()??"")}x($Te,"replaceIconSubstring");var ll=x(async(t,e="",{style:r="",isTitle:n=!1,classes:i="",useHtmlLabels:a=!0,markdown:s=!0,isNode:o=!0,width:l=200,addSvgBackground:u=!1}={},d)=>{if(he.debug("XYZ createText",e,r,n,i,a,o,"addSvgBackground: ",u),a){const h=s?ITe(e,d):RTe(e),f=await $Te(O0(h),d),p=e.replace(/\\\\/g,"\\"),g={isNode:o,label:es(e)?p:f,labelStyle:r.replace("fill:","color:")};return await DTe(t,g,l,i,u,d)}else{const h=O0(e.replace(/<br\s*\/?>/g,"<br/>")),f=s?MTe(h.replace("<br>","<br/>"),d):ATe(h),p=BTe(l,t,f,e?u:!1,!o);if(o){/stroke:/.exec(r)&&(r=r.replace("stroke:","lineColor:"));const g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");vt(p).attr("style",g)}else{const g=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/background:/g,"fill:");vt(p).select("rect").attr("style",g.replace(/background:/g,"fill:"));const m=r.replace(/stroke:[^;]+;?/g,"").replace(/stroke-width:[^;]+;?/g,"").replace(/fill:[^;]+;?/g,"").replace(/color:/g,"fill:");vt(p).select("text").attr("style",m)}return n?vt(p).selectAll("tspan.text-outer-tspan").classed("title-row",!0):vt(p).selectAll("tspan.text-outer-tspan").classed("row",!0),p}},"createText");function F$(t,e,r){if(t&&t.length){const[n,i]=e,a=Math.PI/180*r,s=Math.cos(a),o=Math.sin(a);for(const l of t){const[u,d]=l;l[0]=(u-n)*s-(d-i)*o+n,l[1]=(u-n)*o+(d-i)*s+i}}}function lwt(t,e){return t[0]===e[0]&&t[1]===e[1]}function cwt(t,e,r,n=1){const i=r,a=Math.max(e,.1),s=t[0]&&t[0][0]&&typeof t[0][0]=="number"?[t]:t,o=[0,0];if(i)for(const u of s)F$(u,o,i);const l=(function(u,d,h){const f=[];for(const b of u){const v=[...b];lwt(v[0],v[v.length-1])||v.push([v[0][0],v[0][1]]),v.length>2&&f.push(v)}const p=[];d=Math.max(d,.1);const g=[];for(const b of f)for(let v=0;v<b.length-1;v++){const w=b[v],T=b[v+1];if(w[1]!==T[1]){const S=Math.min(w[1],T[1]);g.push({ymin:S,ymax:Math.max(w[1],T[1]),x:S===w[1]?w[0]:T[0],islope:(T[0]-w[0])/(T[1]-w[1])})}}if(g.sort(((b,v)=>b.ymin<v.ymin?-1:b.ymin>v.ymin?1:b.x<v.x?-1:b.x>v.x?1:b.ymax===v.ymax?0:(b.ymax-v.ymax)/Math.abs(b.ymax-v.ymax))),!g.length)return p;let m=[],U=g[0].ymin,y=0;for(;m.length||g.length;){if(g.length){let b=-1;for(let v=0;v<g.length&&!(g[v].ymin>U);v++)b=v;g.splice(0,b+1).forEach((v=>{m.push({s:U,edge:v})}))}if(m=m.filter((b=>!(b.edge.ymax<=U))),m.sort(((b,v)=>b.edge.x===v.edge.x?0:(b.edge.x-v.edge.x)/Math.abs(b.edge.x-v.edge.x))),(h!==1||y%d==0)&&m.length>1)for(let b=0;b<m.length;b+=2){const v=b+1;if(v>=m.length)break;const w=m[b].edge,T=m[v].edge;p.push([[Math.round(w.x),U],[Math.round(T.x),U]])}U+=h,m.forEach((b=>{b.edge.x=b.edge.x+h*b.edge.islope})),y++}return p})(s,a,n);if(i){for(const u of s)F$(u,o,-i);(function(u,d,h){const f=[];u.forEach((p=>f.push(...p))),F$(f,d,h)})(l,o,-i)}return l}function dS(t,e){var r;const n=e.hachureAngle+90;let i=e.hachureGap;i<0&&(i=4*e.strokeWidth),i=Math.round(Math.max(i,.1));let a=1;return e.roughness>=1&&(((r=e.randomizer)===null||r===void 0?void 0:r.next())||Math.random())>.7&&(a=i),cwt(t,i,n,a||1)}class WQ{constructor(e){this.helper=e}fillPolygons(e,r){return this._fillPolygons(e,r)}_fillPolygons(e,r){const n=dS(e,r);return{type:"fillSketch",ops:this.renderLines(n,r)}}renderLines(e,r){const n=[];for(const i of e)n.push(...this.helper.doubleLineOps(i[0][0],i[0][1],i[1][0],i[1][1],r));return n}}function MD(t){const e=t[0],r=t[1];return Math.sqrt(Math.pow(e[0]-r[0],2)+Math.pow(e[1]-r[1],2))}let uwt=class extends WQ{fillPolygons(e,r){let n=r.hachureGap;n<0&&(n=4*r.strokeWidth),n=Math.max(n,.1);const i=dS(e,Object.assign({},r,{hachureGap:n})),a=Math.PI/180*r.hachureAngle,s=[],o=.5*n*Math.cos(a),l=.5*n*Math.sin(a);for(const[u,d]of i)MD([u,d])&&s.push([[u[0]-o,u[1]+l],[...d]],[[u[0]+o,u[1]-l],[...d]]);return{type:"fillSketch",ops:this.renderLines(s,r)}}};class dwt extends WQ{fillPolygons(e,r){const n=this._fillPolygons(e,r),i=Object.assign({},r,{hachureAngle:r.hachureAngle+90}),a=this._fillPolygons(e,i);return n.ops=n.ops.concat(a.ops),n}}let hwt=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=dS(e,r=Object.assign({},r,{hachureAngle:0}));return this.dotsOnLines(n,r)}dotsOnLines(e,r){const n=[];let i=r.hachureGap;i<0&&(i=4*r.strokeWidth),i=Math.max(i,.1);let a=r.fillWeight;a<0&&(a=r.strokeWidth/2);const s=i/4;for(const o of e){const l=MD(o),u=l/i,d=Math.ceil(u)-1,h=l-d*i,f=(o[0][0]+o[1][0])/2-i/4,p=Math.min(o[0][1],o[1][1]);for(let g=0;g<d;g++){const m=p+h+g*i,U=f-s+2*Math.random()*s,y=m-s+2*Math.random()*s,b=this.helper.ellipse(U,y,a,a,r);n.push(...b.ops)}}return{type:"fillSketch",ops:n}}},fwt=class{constructor(e){this.helper=e}fillPolygons(e,r){const n=dS(e,r);return{type:"fillSketch",ops:this.dashedLine(n,r)}}dashedLine(e,r){const n=r.dashOffset<0?r.hachureGap<0?4*r.strokeWidth:r.hachureGap:r.dashOffset,i=r.dashGap<0?r.hachureGap<0?4*r.strokeWidth:r.hachureGap:r.dashGap,a=[];return e.forEach((s=>{const o=MD(s),l=Math.floor(o/(n+i)),u=(o+i-l*(n+i))/2;let d=s[0],h=s[1];d[0]>h[0]&&(d=s[1],h=s[0]);const f=Math.atan((h[1]-d[1])/(h[0]-d[0]));for(let p=0;p<l;p++){const g=p*(n+i),m=g+n,U=[d[0]+g*Math.cos(f)+u*Math.cos(f),d[1]+g*Math.sin(f)+u*Math.sin(f)],y=[d[0]+m*Math.cos(f)+u*Math.cos(f),d[1]+m*Math.sin(f)+u*Math.sin(f)];a.push(...this.helper.doubleLineOps(U[0],U[1],y[0],y[1],r))}})),a}};class pwt{constructor(e){this.helper=e}fillPolygons(e,r){const n=r.hachureGap<0?4*r.strokeWidth:r.hachureGap,i=r.zigzagOffset<0?n:r.zigzagOffset,a=dS(e,r=Object.assign({},r,{hachureGap:n+i}));return{type:"fillSketch",ops:this.zigzagLines(a,i,r)}}zigzagLines(e,r,n){const i=[];return e.forEach((a=>{const s=MD(a),o=Math.round(s/(2*r));let l=a[0],u=a[1];l[0]>u[0]&&(l=a[1],u=a[0]);const d=Math.atan((u[1]-l[1])/(u[0]-l[0]));for(let h=0;h<o;h++){const f=2*h*r,p=2*(h+1)*r,g=Math.sqrt(2*Math.pow(r,2)),m=[l[0]+f*Math.cos(d),l[1]+f*Math.sin(d)],U=[l[0]+p*Math.cos(d),l[1]+p*Math.sin(d)],y=[m[0]+g*Math.cos(d+Math.PI/4),m[1]+g*Math.sin(d+Math.PI/4)];i.push(...this.helper.doubleLineOps(m[0],m[1],y[0],y[1],n),...this.helper.doubleLineOps(y[0],y[1],U[0],U[1],n))}})),i}}const sc={};let gwt=class{constructor(e){this.seed=e}next(){return this.seed?(2**31-1&(this.seed=Math.imul(48271,this.seed)))/2**31:Math.random()}};const mwt=0,z$=1,Jde=2,Fk={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0};function H$(t,e){return t.type===e}function qQ(t){const e=[],r=(function(s){const o=new Array;for(;s!=="";)if(s.match(/^([ \t\r\n,]+)/))s=s.substr(RegExp.$1.length);else if(s.match(/^([aAcChHlLmMqQsStTvVzZ])/))o[o.length]={type:mwt,text:RegExp.$1},s=s.substr(RegExp.$1.length);else{if(!s.match(/^(([-+]?[0-9]+(\.[0-9]*)?|[-+]?\.[0-9]+)([eE][-+]?[0-9]+)?)/))return[];o[o.length]={type:z$,text:`${parseFloat(RegExp.$1)}`},s=s.substr(RegExp.$1.length)}return o[o.length]={type:Jde,text:""},o})(t);let n="BOD",i=0,a=r[i];for(;!H$(a,Jde);){let s=0;const o=[];if(n==="BOD"){if(a.text!=="M"&&a.text!=="m")return qQ("M0,0"+t);i++,s=Fk[a.text],n=a.text}else H$(a,z$)?s=Fk[n]:(i++,s=Fk[a.text],n=a.text);if(!(i+s<r.length))throw new Error("Path data ended short");for(let l=i;l<i+s;l++){const u=r[l];if(!H$(u,z$))throw new Error("Param not a number: "+n+","+u.text);o[o.length]=+u.text}if(typeof Fk[n]!="number")throw new Error("Bad segment: "+n);{const l={key:n,data:o};e.push(l),i+=s,a=r[i],n==="M"&&(n="L"),n==="m"&&(n="l")}}return e}function FTe(t){let e=0,r=0,n=0,i=0;const a=[];for(const{key:s,data:o}of t)switch(s){case"M":a.push({key:"M",data:[...o]}),[e,r]=o,[n,i]=o;break;case"m":e+=o[0],r+=o[1],a.push({key:"M",data:[e,r]}),n=e,i=r;break;case"L":a.push({key:"L",data:[...o]}),[e,r]=o;break;case"l":e+=o[0],r+=o[1],a.push({key:"L",data:[e,r]});break;case"C":a.push({key:"C",data:[...o]}),e=o[4],r=o[5];break;case"c":{const l=o.map(((u,d)=>d%2?u+r:u+e));a.push({key:"C",data:l}),e=l[4],r=l[5];break}case"Q":a.push({key:"Q",data:[...o]}),e=o[2],r=o[3];break;case"q":{const l=o.map(((u,d)=>d%2?u+r:u+e));a.push({key:"Q",data:l}),e=l[2],r=l[3];break}case"A":a.push({key:"A",data:[...o]}),e=o[5],r=o[6];break;case"a":e+=o[5],r+=o[6],a.push({key:"A",data:[o[0],o[1],o[2],o[3],o[4],e,r]});break;case"H":a.push({key:"H",data:[...o]}),e=o[0];break;case"h":e+=o[0],a.push({key:"H",data:[e]});break;case"V":a.push({key:"V",data:[...o]}),r=o[0];break;case"v":r+=o[0],a.push({key:"V",data:[r]});break;case"S":a.push({key:"S",data:[...o]}),e=o[2],r=o[3];break;case"s":{const l=o.map(((u,d)=>d%2?u+r:u+e));a.push({key:"S",data:l}),e=l[2],r=l[3];break}case"T":a.push({key:"T",data:[...o]}),e=o[0],r=o[1];break;case"t":e+=o[0],r+=o[1],a.push({key:"T",data:[e,r]});break;case"Z":case"z":a.push({key:"Z",data:[]}),e=n,r=i}return a}function zTe(t){const e=[];let r="",n=0,i=0,a=0,s=0,o=0,l=0;for(const{key:u,data:d}of t){switch(u){case"M":e.push({key:"M",data:[...d]}),[n,i]=d,[a,s]=d;break;case"C":e.push({key:"C",data:[...d]}),n=d[4],i=d[5],o=d[2],l=d[3];break;case"L":e.push({key:"L",data:[...d]}),[n,i]=d;break;case"H":n=d[0],e.push({key:"L",data:[n,i]});break;case"V":i=d[0],e.push({key:"L",data:[n,i]});break;case"S":{let h=0,f=0;r==="C"||r==="S"?(h=n+(n-o),f=i+(i-l)):(h=n,f=i),e.push({key:"C",data:[h,f,...d]}),o=d[0],l=d[1],n=d[2],i=d[3];break}case"T":{const[h,f]=d;let p=0,g=0;r==="Q"||r==="T"?(p=n+(n-o),g=i+(i-l)):(p=n,g=i);const m=n+2*(p-n)/3,U=i+2*(g-i)/3,y=h+2*(p-h)/3,b=f+2*(g-f)/3;e.push({key:"C",data:[m,U,y,b,h,f]}),o=p,l=g,n=h,i=f;break}case"Q":{const[h,f,p,g]=d,m=n+2*(h-n)/3,U=i+2*(f-i)/3,y=p+2*(h-p)/3,b=g+2*(f-g)/3;e.push({key:"C",data:[m,U,y,b,p,g]}),o=h,l=f,n=p,i=g;break}case"A":{const h=Math.abs(d[0]),f=Math.abs(d[1]),p=d[2],g=d[3],m=d[4],U=d[5],y=d[6];h===0||f===0?(e.push({key:"C",data:[n,i,U,y,U,y]}),n=U,i=y):(n!==U||i!==y)&&(HTe(n,i,U,y,h,f,p,g,m).forEach((function(b){e.push({key:"C",data:b})})),n=U,i=y);break}case"Z":e.push({key:"Z",data:[]}),n=a,i=s}r=u}return e}function q3(t,e,r){return[t*Math.cos(r)-e*Math.sin(r),t*Math.sin(r)+e*Math.cos(r)]}function HTe(t,e,r,n,i,a,s,o,l,u){const d=(h=s,Math.PI*h/180);var h;let f=[],p=0,g=0,m=0,U=0;if(u)[p,g,m,U]=u;else{[t,e]=q3(t,e,-d),[r,n]=q3(r,n,-d);const N=(t-r)/2,I=(e-n)/2;let L=N*N/(i*i)+I*I/(a*a);L>1&&(L=Math.sqrt(L),i*=L,a*=L);const _=i*i,D=a*a,O=_*D-_*I*I-D*N*N,B=_*I*I+D*N*N,F=(o===l?-1:1)*Math.sqrt(Math.abs(O/B));m=F*i*I/a+(t+r)/2,U=F*-a*N/i+(e+n)/2,p=Math.asin(parseFloat(((e-U)/a).toFixed(9))),g=Math.asin(parseFloat(((n-U)/a).toFixed(9))),t<m&&(p=Math.PI-p),r<m&&(g=Math.PI-g),p<0&&(p=2*Math.PI+p),g<0&&(g=2*Math.PI+g),l&&p>g&&(p-=2*Math.PI),!l&&g>p&&(g-=2*Math.PI)}let y=g-p;if(Math.abs(y)>120*Math.PI/180){const N=g,I=r,L=n;g=l&&g>p?p+120*Math.PI/180*1:p+120*Math.PI/180*-1,f=HTe(r=m+i*Math.cos(g),n=U+a*Math.sin(g),I,L,i,a,s,0,l,[g,N,m,U])}y=g-p;const b=Math.cos(p),v=Math.sin(p),w=Math.cos(g),T=Math.sin(g),S=Math.tan(y/4),C=4/3*i*S,k=4/3*a*S,E=[t,e],A=[t+C*v,e-k*b],M=[r+C*T,n-k*w],P=[r,n];if(A[0]=2*E[0]-A[0],A[1]=2*E[1]-A[1],u)return[A,M,P].concat(f);{f=[A,M,P].concat(f);const N=[];for(let I=0;I<f.length;I+=3){const L=q3(f[I][0],f[I][1],d),_=q3(f[I+1][0],f[I+1][1],d),D=q3(f[I+2][0],f[I+2][1],d);N.push([L[0],L[1],_[0],_[1],D[0],D[1]])}return N}}const Uwt={randOffset:function(t,e){return en(t,e)},randOffsetWithRange:function(t,e,r){return kI(t,e,r)},ellipse:function(t,e,r,n,i){const a=GTe(r,n,i);return CW(t,e,i,a).opset},doubleLineOps:function(t,e,r,n,i){return Vg(t,e,r,n,i,!0)}};function VTe(t,e,r,n,i){return{type:"path",ops:Vg(t,e,r,n,i)}}function GA(t,e,r){const n=(t||[]).length;if(n>2){const i=[];for(let a=0;a<n-1;a++)i.push(...Vg(t[a][0],t[a][1],t[a+1][0],t[a+1][1],r));return e&&i.push(...Vg(t[n-1][0],t[n-1][1],t[0][0],t[0][1],r)),{type:"path",ops:i}}return n===2?VTe(t[0][0],t[0][1],t[1][0],t[1][1],r):{type:"path",ops:[]}}function ywt(t,e,r,n,i){return(function(a,s){return GA(a,!0,s)})([[t,e],[t+r,e],[t+r,e+n],[t,e+n]],i)}function Qde(t,e){if(t.length){const r=typeof t[0][0]=="number"?[t]:t,n=zk(r[0],1*(1+.2*e.roughness),e),i=e.disableMultiStroke?[]:zk(r[0],1.5*(1+.22*e.roughness),rhe(e));for(let a=1;a<r.length;a++){const s=r[a];if(s.length){const o=zk(s,1*(1+.2*e.roughness),e),l=e.disableMultiStroke?[]:zk(s,1.5*(1+.22*e.roughness),rhe(e));for(const u of o)u.op!=="move"&&n.push(u);for(const u of l)u.op!=="move"&&i.push(u)}}return{type:"path",ops:n.concat(i)}}return{type:"path",ops:[]}}function GTe(t,e,r){const n=Math.sqrt(2*Math.PI*Math.sqrt((Math.pow(t/2,2)+Math.pow(e/2,2))/2)),i=Math.ceil(Math.max(r.curveStepCount,r.curveStepCount/Math.sqrt(200)*n)),a=2*Math.PI/i;let s=Math.abs(t/2),o=Math.abs(e/2);const l=1-r.curveFitting;return s+=en(s*l,r),o+=en(o*l,r),{increment:a,rx:s,ry:o}}function CW(t,e,r,n){const[i,a]=nhe(n.increment,t,e,n.rx,n.ry,1,n.increment*kI(.1,kI(.4,1,r),r),r);let s=EI(i,null,r);if(!r.disableMultiStroke&&r.roughness!==0){const[o]=nhe(n.increment,t,e,n.rx,n.ry,1.5,0,r),l=EI(o,null,r);s=s.concat(l)}return{estimatedPoints:a,opset:{type:"path",ops:s}}}function ehe(t,e,r,n,i,a,s,o,l){const u=t,d=e;let h=Math.abs(r/2),f=Math.abs(n/2);h+=en(.01*h,l),f+=en(.01*f,l);let p=i,g=a;for(;p<0;)p+=2*Math.PI,g+=2*Math.PI;g-p>2*Math.PI&&(p=0,g=2*Math.PI);const m=2*Math.PI/l.curveStepCount,U=Math.min(m/2,(g-p)/2),y=ihe(U,u,d,h,f,p,g,1,l);if(!l.disableMultiStroke){const b=ihe(U,u,d,h,f,p,g,1.5,l);y.push(...b)}return s&&(o?y.push(...Vg(u,d,u+h*Math.cos(p),d+f*Math.sin(p),l),...Vg(u,d,u+h*Math.cos(g),d+f*Math.sin(g),l)):y.push({op:"lineTo",data:[u,d]},{op:"lineTo",data:[u+h*Math.cos(p),d+f*Math.sin(p)]})),{type:"path",ops:y}}function the(t,e){const r=zTe(FTe(qQ(t))),n=[];let i=[0,0],a=[0,0];for(const{key:s,data:o}of r)switch(s){case"M":a=[o[0],o[1]],i=[o[0],o[1]];break;case"L":n.push(...Vg(a[0],a[1],o[0],o[1],e)),a=[o[0],o[1]];break;case"C":{const[l,u,d,h,f,p]=o;n.push(...bwt(l,u,d,h,f,p,a,e)),a=[f,p];break}case"Z":n.push(...Vg(a[0],a[1],i[0],i[1],e)),a=[i[0],i[1]]}return{type:"path",ops:n}}function V$(t,e){const r=[];for(const n of t)if(n.length){const i=e.maxRandomnessOffset||0,a=n.length;if(a>2){r.push({op:"move",data:[n[0][0]+en(i,e),n[0][1]+en(i,e)]});for(let s=1;s<a;s++)r.push({op:"lineTo",data:[n[s][0]+en(i,e),n[s][1]+en(i,e)]})}}return{type:"fillPath",ops:r}}function by(t,e){return(function(r,n){let i=r.fillStyle||"hachure";if(!sc[i])switch(i){case"zigzag":sc[i]||(sc[i]=new uwt(n));break;case"cross-hatch":sc[i]||(sc[i]=new dwt(n));break;case"dots":sc[i]||(sc[i]=new hwt(n));break;case"dashed":sc[i]||(sc[i]=new fwt(n));break;case"zigzag-line":sc[i]||(sc[i]=new pwt(n));break;default:i="hachure",sc[i]||(sc[i]=new WQ(n))}return sc[i]})(e,Uwt).fillPolygons(t,e)}function rhe(t){const e=Object.assign({},t);return e.randomizer=void 0,t.seed&&(e.seed=t.seed+1),e}function WTe(t){return t.randomizer||(t.randomizer=new gwt(t.seed||0)),t.randomizer.next()}function kI(t,e,r,n=1){return r.roughness*n*(WTe(r)*(e-t)+t)}function en(t,e,r=1){return kI(-t,t,e,r)}function Vg(t,e,r,n,i,a=!1){const s=a?i.disableMultiStrokeFill:i.disableMultiStroke,o=SW(t,e,r,n,i,!0,!1);if(s)return o;const l=SW(t,e,r,n,i,!0,!0);return o.concat(l)}function SW(t,e,r,n,i,a,s){const o=Math.pow(t-r,2)+Math.pow(e-n,2),l=Math.sqrt(o);let u=1;u=l<200?1:l>500?.4:-.0016668*l+1.233334;let d=i.maxRandomnessOffset||0;d*d*100>o&&(d=l/10);const h=d/2,f=.2+.2*WTe(i);let p=i.bowing*i.maxRandomnessOffset*(n-e)/200,g=i.bowing*i.maxRandomnessOffset*(t-r)/200;p=en(p,i,u),g=en(g,i,u);const m=[],U=()=>en(h,i,u),y=()=>en(d,i,u),b=i.preserveVertices;return s?m.push({op:"move",data:[t+(b?0:U()),e+(b?0:U())]}):m.push({op:"move",data:[t+(b?0:en(d,i,u)),e+(b?0:en(d,i,u))]}),s?m.push({op:"bcurveTo",data:[p+t+(r-t)*f+U(),g+e+(n-e)*f+U(),p+t+2*(r-t)*f+U(),g+e+2*(n-e)*f+U(),r+(b?0:U()),n+(b?0:U())]}):m.push({op:"bcurveTo",data:[p+t+(r-t)*f+y(),g+e+(n-e)*f+y(),p+t+2*(r-t)*f+y(),g+e+2*(n-e)*f+y(),r+(b?0:y()),n+(b?0:y())]}),m}function zk(t,e,r){if(!t.length)return[];const n=[];n.push([t[0][0]+en(e,r),t[0][1]+en(e,r)]),n.push([t[0][0]+en(e,r),t[0][1]+en(e,r)]);for(let i=1;i<t.length;i++)n.push([t[i][0]+en(e,r),t[i][1]+en(e,r)]),i===t.length-1&&n.push([t[i][0]+en(e,r),t[i][1]+en(e,r)]);return EI(n,null,r)}function EI(t,e,r){const n=t.length,i=[];if(n>3){const a=[],s=1-r.curveTightness;i.push({op:"move",data:[t[1][0],t[1][1]]});for(let o=1;o+2<n;o++){const l=t[o];a[0]=[l[0],l[1]],a[1]=[l[0]+(s*t[o+1][0]-s*t[o-1][0])/6,l[1]+(s*t[o+1][1]-s*t[o-1][1])/6],a[2]=[t[o+1][0]+(s*t[o][0]-s*t[o+2][0])/6,t[o+1][1]+(s*t[o][1]-s*t[o+2][1])/6],a[3]=[t[o+1][0],t[o+1][1]],i.push({op:"bcurveTo",data:[a[1][0],a[1][1],a[2][0],a[2][1],a[3][0],a[3][1]]})}}else n===3?(i.push({op:"move",data:[t[1][0],t[1][1]]}),i.push({op:"bcurveTo",data:[t[1][0],t[1][1],t[2][0],t[2][1],t[2][0],t[2][1]]})):n===2&&i.push(...SW(t[0][0],t[0][1],t[1][0],t[1][1],r,!0,!0));return i}function nhe(t,e,r,n,i,a,s,o){const l=[],u=[];if(o.roughness===0){t/=4,u.push([e+n*Math.cos(-t),r+i*Math.sin(-t)]);for(let d=0;d<=2*Math.PI;d+=t){const h=[e+n*Math.cos(d),r+i*Math.sin(d)];l.push(h),u.push(h)}u.push([e+n*Math.cos(0),r+i*Math.sin(0)]),u.push([e+n*Math.cos(t),r+i*Math.sin(t)])}else{const d=en(.5,o)-Math.PI/2;u.push([en(a,o)+e+.9*n*Math.cos(d-t),en(a,o)+r+.9*i*Math.sin(d-t)]);const h=2*Math.PI+d-.01;for(let f=d;f<h;f+=t){const p=[en(a,o)+e+n*Math.cos(f),en(a,o)+r+i*Math.sin(f)];l.push(p),u.push(p)}u.push([en(a,o)+e+n*Math.cos(d+2*Math.PI+.5*s),en(a,o)+r+i*Math.sin(d+2*Math.PI+.5*s)]),u.push([en(a,o)+e+.98*n*Math.cos(d+s),en(a,o)+r+.98*i*Math.sin(d+s)]),u.push([en(a,o)+e+.9*n*Math.cos(d+.5*s),en(a,o)+r+.9*i*Math.sin(d+.5*s)])}return[u,l]}function ihe(t,e,r,n,i,a,s,o,l){const u=a+en(.1,l),d=[];d.push([en(o,l)+e+.9*n*Math.cos(u-t),en(o,l)+r+.9*i*Math.sin(u-t)]);for(let h=u;h<=s;h+=t)d.push([en(o,l)+e+n*Math.cos(h),en(o,l)+r+i*Math.sin(h)]);return d.push([e+n*Math.cos(s),r+i*Math.sin(s)]),d.push([e+n*Math.cos(s),r+i*Math.sin(s)]),EI(d,null,l)}function bwt(t,e,r,n,i,a,s,o){const l=[],u=[o.maxRandomnessOffset||1,(o.maxRandomnessOffset||1)+.3];let d=[0,0];const h=o.disableMultiStroke?1:2,f=o.preserveVertices;for(let p=0;p<h;p++)p===0?l.push({op:"move",data:[s[0],s[1]]}):l.push({op:"move",data:[s[0]+(f?0:en(u[0],o)),s[1]+(f?0:en(u[0],o))]}),d=f?[i,a]:[i+en(u[p],o),a+en(u[p],o)],l.push({op:"bcurveTo",data:[t+en(u[p],o),e+en(u[p],o),r+en(u[p],o),n+en(u[p],o),d[0],d[1]]});return l}function j3(t){return[...t]}function ahe(t,e=0){const r=t.length;if(r<3)throw new Error("A curve must have at least three points.");const n=[];if(r===3)n.push(j3(t[0]),j3(t[1]),j3(t[2]),j3(t[2]));else{const i=[];i.push(t[0],t[0]);for(let o=1;o<t.length;o++)i.push(t[o]),o===t.length-1&&i.push(t[o]);const a=[],s=1-e;n.push(j3(i[0]));for(let o=1;o+2<i.length;o++){const l=i[o];a[0]=[l[0],l[1]],a[1]=[l[0]+(s*i[o+1][0]-s*i[o-1][0])/6,l[1]+(s*i[o+1][1]-s*i[o-1][1])/6],a[2]=[i[o+1][0]+(s*i[o][0]-s*i[o+2][0])/6,i[o+1][1]+(s*i[o][1]-s*i[o+2][1])/6],a[3]=[i[o+1][0],i[o+1][1]],n.push(a[1],a[2],a[3])}}return n}function WA(t,e){return Math.pow(t[0]-e[0],2)+Math.pow(t[1]-e[1],2)}function vwt(t,e,r){const n=WA(e,r);if(n===0)return WA(t,e);let i=((t[0]-e[0])*(r[0]-e[0])+(t[1]-e[1])*(r[1]-e[1]))/n;return i=Math.max(0,Math.min(1,i)),WA(t,vm(e,r,i))}function vm(t,e,r){return[t[0]+(e[0]-t[0])*r,t[1]+(e[1]-t[1])*r]}function kW(t,e,r,n){const i=n||[];if((function(o,l){const u=o[l+0],d=o[l+1],h=o[l+2],f=o[l+3];let p=3*d[0]-2*u[0]-f[0];p*=p;let g=3*d[1]-2*u[1]-f[1];g*=g;let m=3*h[0]-2*f[0]-u[0];m*=m;let U=3*h[1]-2*f[1]-u[1];return U*=U,p<m&&(p=m),g<U&&(g=U),p+g})(t,e)<r){const o=t[e+0];i.length?(a=i[i.length-1],s=o,Math.sqrt(WA(a,s))>1&&i.push(o)):i.push(o),i.push(t[e+3])}else{const l=t[e+0],u=t[e+1],d=t[e+2],h=t[e+3],f=vm(l,u,.5),p=vm(u,d,.5),g=vm(d,h,.5),m=vm(f,p,.5),U=vm(p,g,.5),y=vm(m,U,.5);kW([l,f,m,y],0,r,i),kW([y,U,g,h],0,r,i)}var a,s;return i}function xwt(t,e){return AI(t,0,t.length,e)}function AI(t,e,r,n,i){const a=i||[],s=t[e],o=t[r-1];let l=0,u=1;for(let d=e+1;d<r-1;++d){const h=vwt(t[d],s,o);h>l&&(l=h,u=d)}return Math.sqrt(l)>n?(AI(t,e,u+1,n,a),AI(t,u,r,n,a)):(a.length||a.push(s),a.push(o)),a}function G$(t,e=.15,r){const n=[],i=(t.length-1)/3;for(let a=0;a<i;a++)kW(t,3*a,e,n);return r&&r>0?AI(n,0,n.length,r):n}const Dc="none";let MI=class{constructor(e){this.defaultOptions={maxRandomnessOffset:2,roughness:1,bowing:1,stroke:"#000",strokeWidth:1,curveTightness:0,curveFitting:.95,curveStepCount:9,fillStyle:"hachure",fillWeight:-1,hachureAngle:-41,hachureGap:-1,dashOffset:-1,dashGap:-1,zigzagOffset:-1,seed:0,disableMultiStroke:!1,disableMultiStrokeFill:!1,preserveVertices:!1,fillShapeRoughnessGain:.8},this.config=e||{},this.config.options&&(this.defaultOptions=this._o(this.config.options))}static newSeed(){return Math.floor(Math.random()*2**31)}_o(e){return e?Object.assign({},this.defaultOptions,e):this.defaultOptions}_d(e,r,n){return{shape:e,sets:r||[],options:n||this.defaultOptions}}line(e,r,n,i,a){const s=this._o(a);return this._d("line",[VTe(e,r,n,i,s)],s)}rectangle(e,r,n,i,a){const s=this._o(a),o=[],l=ywt(e,r,n,i,s);if(s.fill){const u=[[e,r],[e+n,r],[e+n,r+i],[e,r+i]];s.fillStyle==="solid"?o.push(V$([u],s)):o.push(by([u],s))}return s.stroke!==Dc&&o.push(l),this._d("rectangle",o,s)}ellipse(e,r,n,i,a){const s=this._o(a),o=[],l=GTe(n,i,s),u=CW(e,r,s,l);if(s.fill)if(s.fillStyle==="solid"){const d=CW(e,r,s,l).opset;d.type="fillPath",o.push(d)}else o.push(by([u.estimatedPoints],s));return s.stroke!==Dc&&o.push(u.opset),this._d("ellipse",o,s)}circle(e,r,n,i){const a=this.ellipse(e,r,n,n,i);return a.shape="circle",a}linearPath(e,r){const n=this._o(r);return this._d("linearPath",[GA(e,!1,n)],n)}arc(e,r,n,i,a,s,o=!1,l){const u=this._o(l),d=[],h=ehe(e,r,n,i,a,s,o,!0,u);if(o&&u.fill)if(u.fillStyle==="solid"){const f=Object.assign({},u);f.disableMultiStroke=!0;const p=ehe(e,r,n,i,a,s,!0,!1,f);p.type="fillPath",d.push(p)}else d.push((function(f,p,g,m,U,y,b){const v=f,w=p;let T=Math.abs(g/2),S=Math.abs(m/2);T+=en(.01*T,b),S+=en(.01*S,b);let C=U,k=y;for(;C<0;)C+=2*Math.PI,k+=2*Math.PI;k-C>2*Math.PI&&(C=0,k=2*Math.PI);const E=(k-C)/b.curveStepCount,A=[];for(let M=C;M<=k;M+=E)A.push([v+T*Math.cos(M),w+S*Math.sin(M)]);return A.push([v+T*Math.cos(k),w+S*Math.sin(k)]),A.push([v,w]),by([A],b)})(e,r,n,i,a,s,u));return u.stroke!==Dc&&d.push(h),this._d("arc",d,u)}curve(e,r){const n=this._o(r),i=[],a=Qde(e,n);if(n.fill&&n.fill!==Dc)if(n.fillStyle==="solid"){const s=Qde(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(s.ops)})}else{const s=[],o=e;if(o.length){const l=typeof o[0][0]=="number"?[o]:o;for(const u of l)u.length<3?s.push(...u):u.length===3?s.push(...G$(ahe([u[0],u[0],u[1],u[2]]),10,(1+n.roughness)/2)):s.push(...G$(ahe(u),10,(1+n.roughness)/2))}s.length&&i.push(by([s],n))}return n.stroke!==Dc&&i.push(a),this._d("curve",i,n)}polygon(e,r){const n=this._o(r),i=[],a=GA(e,!0,n);return n.fill&&(n.fillStyle==="solid"?i.push(V$([e],n)):i.push(by([e],n))),n.stroke!==Dc&&i.push(a),this._d("polygon",i,n)}path(e,r){const n=this._o(r),i=[];if(!e)return this._d("path",i,n);e=(e||"").replace(/\n/g," ").replace(/(-\s)/g,"-").replace("/(ss)/g"," ");const a=n.fill&&n.fill!=="transparent"&&n.fill!==Dc,s=n.stroke!==Dc,o=!!(n.simplification&&n.simplification<1),l=(function(d,h,f){const p=zTe(FTe(qQ(d))),g=[];let m=[],U=[0,0],y=[];const b=()=>{y.length>=4&&m.push(...G$(y,h)),y=[]},v=()=>{b(),m.length&&(g.push(m),m=[])};for(const{key:T,data:S}of p)switch(T){case"M":v(),U=[S[0],S[1]],m.push(U);break;case"L":b(),m.push([S[0],S[1]]);break;case"C":if(!y.length){const C=m.length?m[m.length-1]:U;y.push([C[0],C[1]])}y.push([S[0],S[1]]),y.push([S[2],S[3]]),y.push([S[4],S[5]]);break;case"Z":b(),m.push([U[0],U[1]])}if(v(),!f)return g;const w=[];for(const T of g){const S=xwt(T,f);S.length&&w.push(S)}return w})(e,1,o?4-4*(n.simplification||1):(1+n.roughness)/2),u=the(e,n);if(a)if(n.fillStyle==="solid")if(l.length===1){const d=the(e,Object.assign(Object.assign({},n),{disableMultiStroke:!0,roughness:n.roughness?n.roughness+n.fillShapeRoughnessGain:0}));i.push({type:"fillPath",ops:this._mergedShape(d.ops)})}else i.push(V$(l,n));else i.push(by(l,n));return s&&(o?l.forEach((d=>{i.push(GA(d,!1,n))})):i.push(u)),this._d("path",i,n)}opsToPath(e,r){let n="";for(const i of e.ops){const a=typeof r=="number"&&r>=0?i.data.map((s=>+s.toFixed(r))):i.data;switch(i.op){case"move":n+=`M${a[0]} ${a[1]} `;break;case"bcurveTo":n+=`C${a[0]} ${a[1]}, ${a[2]} ${a[3]}, ${a[4]} ${a[5]} `;break;case"lineTo":n+=`L${a[0]} ${a[1]} `}}return n.trim()}toPaths(e){const r=e.sets||[],n=e.options||this.defaultOptions,i=[];for(const a of r){let s=null;switch(a.type){case"path":s={d:this.opsToPath(a),stroke:n.stroke,strokeWidth:n.strokeWidth,fill:Dc};break;case"fillPath":s={d:this.opsToPath(a),stroke:Dc,strokeWidth:0,fill:n.fill||Dc};break;case"fillSketch":s=this.fillSketch(a,n)}s&&i.push(s)}return i}fillSketch(e,r){let n=r.fillWeight;return n<0&&(n=r.strokeWidth/2),{d:this.opsToPath(e),stroke:r.fill||Dc,strokeWidth:n,fill:Dc}}_mergedShape(e){return e.filter(((r,n)=>n===0||r.op!=="move"))}};class wwt{constructor(e,r){this.canvas=e,this.ctx=this.canvas.getContext("2d"),this.gen=new MI(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.ctx,a=e.options.fixedDecimalPlaceDigits;for(const s of r)switch(s.type){case"path":i.save(),i.strokeStyle=n.stroke==="none"?"transparent":n.stroke,i.lineWidth=n.strokeWidth,n.strokeLineDash&&i.setLineDash(n.strokeLineDash),n.strokeLineDashOffset&&(i.lineDashOffset=n.strokeLineDashOffset),this._drawToContext(i,s,a),i.restore();break;case"fillPath":{i.save(),i.fillStyle=n.fill||"";const o=e.shape==="curve"||e.shape==="polygon"||e.shape==="path"?"evenodd":"nonzero";this._drawToContext(i,s,a,o),i.restore();break}case"fillSketch":this.fillSketch(i,s,n)}}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2),e.save(),n.fillLineDash&&e.setLineDash(n.fillLineDash),n.fillLineDashOffset&&(e.lineDashOffset=n.fillLineDashOffset),e.strokeStyle=n.fill||"",e.lineWidth=i,this._drawToContext(e,r,n.fixedDecimalPlaceDigits),e.restore()}_drawToContext(e,r,n,i="nonzero"){e.beginPath();for(const a of r.ops){const s=typeof n=="number"&&n>=0?a.data.map((o=>+o.toFixed(n))):a.data;switch(a.op){case"move":e.moveTo(s[0],s[1]);break;case"bcurveTo":e.bezierCurveTo(s[0],s[1],s[2],s[3],s[4],s[5]);break;case"lineTo":e.lineTo(s[0],s[1])}}r.type==="fillPath"?e.fill(i):e.stroke()}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s),s}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s),s}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s),s}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a),a}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n),n}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n),n}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u),u}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n),n}path(e,r){const n=this.gen.path(e,r);return this.draw(n),n}}const Hk="http://www.w3.org/2000/svg";class Twt{constructor(e,r){this.svg=e,this.gen=new MI(r)}draw(e){const r=e.sets||[],n=e.options||this.getDefaultOptions(),i=this.svg.ownerDocument||window.document,a=i.createElementNS(Hk,"g"),s=e.options.fixedDecimalPlaceDigits;for(const o of r){let l=null;switch(o.type){case"path":l=i.createElementNS(Hk,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke",n.stroke),l.setAttribute("stroke-width",n.strokeWidth+""),l.setAttribute("fill","none"),n.strokeLineDash&&l.setAttribute("stroke-dasharray",n.strokeLineDash.join(" ").trim()),n.strokeLineDashOffset&&l.setAttribute("stroke-dashoffset",`${n.strokeLineDashOffset}`);break;case"fillPath":l=i.createElementNS(Hk,"path"),l.setAttribute("d",this.opsToPath(o,s)),l.setAttribute("stroke","none"),l.setAttribute("stroke-width","0"),l.setAttribute("fill",n.fill||""),e.shape!=="curve"&&e.shape!=="polygon"||l.setAttribute("fill-rule","evenodd");break;case"fillSketch":l=this.fillSketch(i,o,n)}l&&a.appendChild(l)}return a}fillSketch(e,r,n){let i=n.fillWeight;i<0&&(i=n.strokeWidth/2);const a=e.createElementNS(Hk,"path");return a.setAttribute("d",this.opsToPath(r,n.fixedDecimalPlaceDigits)),a.setAttribute("stroke",n.fill||""),a.setAttribute("stroke-width",i+""),a.setAttribute("fill","none"),n.fillLineDash&&a.setAttribute("stroke-dasharray",n.fillLineDash.join(" ").trim()),n.fillLineDashOffset&&a.setAttribute("stroke-dashoffset",`${n.fillLineDashOffset}`),a}get generator(){return this.gen}getDefaultOptions(){return this.gen.defaultOptions}opsToPath(e,r){return this.gen.opsToPath(e,r)}line(e,r,n,i,a){const s=this.gen.line(e,r,n,i,a);return this.draw(s)}rectangle(e,r,n,i,a){const s=this.gen.rectangle(e,r,n,i,a);return this.draw(s)}ellipse(e,r,n,i,a){const s=this.gen.ellipse(e,r,n,i,a);return this.draw(s)}circle(e,r,n,i){const a=this.gen.circle(e,r,n,i);return this.draw(a)}linearPath(e,r){const n=this.gen.linearPath(e,r);return this.draw(n)}polygon(e,r){const n=this.gen.polygon(e,r);return this.draw(n)}arc(e,r,n,i,a,s,o=!1,l){const u=this.gen.arc(e,r,n,i,a,s,o,l);return this.draw(u)}curve(e,r){const n=this.gen.curve(e,r);return this.draw(n)}path(e,r){const n=this.gen.path(e,r);return this.draw(n)}}var fr={canvas:(t,e)=>new wwt(t,e),svg:(t,e)=>new Twt(t,e),generator:t=>new MI(t),newSeed:()=>MI.newSeed()},Jr=x(async(t,e,r)=>{var p,g;let n;const i=e.useHtmlLabels||sf((p=Ve())==null?void 0:p.htmlLabels);r?n=r:n="node default";const a=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=a.insert("g").attr("class","label").attr("style",ro(e.labelStyle));let o;e.label===void 0?o="":o=typeof e.label=="string"?e.label:e.label[0];const l=!!e.icon||!!e.img,u=e.labelType==="markdown",d=await ll(s,On(O0(o),Ve()),{useHtmlLabels:i,width:e.width||((g=Ve().flowchart)==null?void 0:g.wrappingWidth),classes:u?"markdown-node-label":"",style:e.labelStyle,addSvgBackground:l,markdown:u},Ve());let h=d.getBBox();const f=((e==null?void 0:e.padding)??0)/2;if(i){const m=d.children[0],U=vt(d);await NQ(m,o),h=m.getBoundingClientRect(),U.attr("width",h.width),U.attr("height",h.height)}return i?s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):s.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&s.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),s.insert("rect",":first-child"),{shapeSvg:a,bbox:h,halfPadding:f,label:s}},"labelHelper"),W$=x(async(t,e,r)=>{var l,u;const n=r.useHtmlLabels??yi(Ve()),i=t.insert("g").attr("class","label").attr("style",r.labelStyle||""),a=await ll(i,On(O0(e),Ve()),{useHtmlLabels:n,width:r.width||((u=(l=Ve())==null?void 0:l.flowchart)==null?void 0:u.wrappingWidth),style:r.labelStyle,addSvgBackground:!!r.icon||!!r.img});let s=a.getBBox();const o=r.padding/2;if(yi(Ve())){const d=a.children[0],h=vt(a);s=d.getBoundingClientRect(),h.attr("width",s.width),h.attr("height",s.height)}return n?i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"):i.attr("transform","translate(0, "+-s.height/2+")"),r.centerLabel&&i.attr("transform","translate("+-s.width/2+", "+-s.height/2+")"),i.insert("rect",":first-child"),{shapeSvg:t,bbox:s,halfPadding:o,label:i}},"insertLabel"),Tr=x((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds"),Wr=x((t,e)=>(t.look==="handDrawn"?"rough-node":"node")+" "+t.cssClasses+" "+(e||""),"getNodeClasses");function Vn(t){const e=t.map((r,n)=>`${n===0?"M":"L"}${r.x},${r.y}`);return e.push("Z"),e.join(" ")}x(Vn,"createPathFromPoints");function Gg(t,e,r,n,i,a){const s=[],l=r-t,u=n-e,d=l/a,h=2*Math.PI/d,f=e+u/2;for(let p=0;p<=50;p++){const g=p/50,m=t+g*l,U=f+i*Math.sin(h*(m-t));s.push({x:m,y:U})}return s}x(Gg,"generateFullSineWavePoints");function wT(t,e,r,n,i,a){const s=[],o=i*Math.PI/180,d=(a*Math.PI/180-o)/(n-1);for(let h=0;h<n;h++){const f=o+h*d,p=t+r*Math.cos(f),g=e+r*Math.sin(f);s.push({x:-p,y:-g})}return s}x(wT,"generateCirclePoints");function EW(t){const e=Array.from(t.childNodes).filter(l=>l.tagName==="path"),r=document.createElementNS("http://www.w3.org/2000/svg","path"),n=e.map(l=>l.getAttribute("d")).filter(l=>l!==null).join(" ");r.setAttribute("d",n);const i=e.find(l=>l.getAttribute("fill")!=="none"),a=e.find(l=>l.getAttribute("stroke")!=="none"),s=x((l,u)=>(l==null?void 0:l.getAttribute(u))??void 0,"getAttr");if(i){const l={fill:s(i,"fill"),"fill-opacity":s(i,"fill-opacity")??"1"};Object.entries(l).forEach(([u,d])=>{d&&r.setAttribute(u,d)})}if(a){const l={stroke:s(a,"stroke"),"stroke-width":s(a,"stroke-width")??"1","stroke-opacity":s(a,"stroke-opacity")??"1"};Object.entries(l).forEach(([u,d])=>{d&&r.setAttribute(u,d)})}const o=document.createElementNS("http://www.w3.org/2000/svg","g");return o.appendChild(r),o}x(EW,"mergePaths");var Cwt=x((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),M5=Cwt,Swt=x(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Ve(),o=yi(s);return await ll(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),ug=Swt,S1=x((t,e,r,n,i)=>["M",t+i,e,"H",t+r-i,"A",i,i,0,0,1,t+r,e+i,"V",e+n-i,"A",i,i,0,0,1,t+r-i,e+n,"H",t+i,"A",i,i,0,0,1,t,e+n-i,"V",e+i,"A",i,i,0,0,1,t+i,e,"Z"].join(" "),"createRoundedRectPathD"),kwt=x(async(t,e)=>{const r=Ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,o=s,{labelStyles:l,nodeStyles:u,borderStyles:d,backgroundStyles:h}=ur(e),f=t.insert("g").attr("class","cluster swimlane "+(e.cssClasses||"")).attr("id",e.id).attr("data-id",e.id).attr("data-et","cluster").attr("data-look",e.look),p=sf(r.flowchart.htmlLabels),g=e.direction==="LR",m=f.insert("g").attr("class","cluster-label swimlane-label"),U=await ll(m,e.label,{style:e.labelStyle,useHtmlLabels:p,isNode:!0,width:e.width});let y=U.getBBox();if(p){const N=U.children[0],I=vt(U);y=N.getBoundingClientRect(),I.attr("width",y.width),I.attr("height",y.height)}const b=e.padding??0,v=e.width<=y.width+b?y.width+b:e.width;e.width<=y.width+b?e.diff=(v-e.width)/2-b:e.diff=-b;const w=e.height,T=e.y-w/2,S=e.y+w/2,C=e.x-v/2,k=e.swimlaneContentTop!==void 0?e.swimlaneContentTop:T+w/3,E=g?4:0,A=y.height+2*E;let M,P;if(g){const N=Math.max(A,y.height+2*E),I=C+N,L=Math.max(0,v-N);if(e.look==="handDrawn"){const O=fr.svg(f),B=pr(e,{roughness:.7,fill:a,stroke:o,fillWeight:3,seed:i}),F=pr(e,{roughness:.7,fill:"none",stroke:o,seed:i}),z=O.rectangle(C,T,N,w,B);M=f.insert(()=>z,":first-child");const $=O.rectangle(I,T,L,w,F);P=f.insert(()=>$,":first-child"),M.select("path:nth-child(2)").attr("style",d.join(";")),M.select("path").attr("style",h.join(";").replace("fill","stroke"))}else M=f.insert("rect",":first-child"),P=f.insert("rect",":first-child"),M.attr("class","swimlane-title").attr("style",u).attr("x",C).attr("y",T).attr("width",N).attr("height",w).attr("fill",a).attr("stroke",o),P.attr("class","swimlane-body").attr("style",u).attr("x",I).attr("y",T).attr("width",L).attr("height",w).attr("fill","none").attr("stroke",o);const _=C+N/2,D=e.y;m.attr("transform",`translate(${_}, ${D}) rotate(-90) translate(${-y.width/2}, ${-y.height/2})`)}else{const N=Math.max(0,k-T),I=Math.min(A,N),L=T+I,_=Math.max(0,S-L),D=e.x-v/2;if(e.look==="handDrawn"){const F=fr.svg(f),z=pr(e,{roughness:.7,fill:a,stroke:o,fillWeight:3,seed:i}),$=pr(e,{roughness:.7,fill:"none",stroke:o,seed:i}),H=F.rectangle(D,T,v,I,z);M=f.insert(()=>H,":first-child");const V=F.rectangle(D,L,v,_,$);P=f.insert(()=>V,":first-child"),M.select("path:nth-child(2)").attr("style",d.join(";")),M.select("path").attr("style",h.join(";").replace("fill","stroke"))}else M=f.insert("rect",":first-child"),P=f.insert("rect",":first-child"),M.attr("class","swimlane-title").attr("style",u).attr("x",D).attr("y",T).attr("width",v).attr("height",I).attr("fill",a).attr("stroke",o),P.attr("class","swimlane-body").attr("style",u).attr("x",D).attr("y",L).attr("width",v).attr("height",_).attr("fill","none").attr("stroke",o);const O=e.x-y.width/2,B=T+(I-y.height)/2;m.attr("transform",`translate(${O}, ${B})`)}if(he.trace("Swimlane data ",e,JSON.stringify(e)),l){const N=m.select("span");N&&N.attr("style",l)}return e.offsetX=0,e.width=v,e.height=w,e.offsetY=y.height-b/2,e.intersect=function(N){return M5(e,N)},{cluster:f,labelBBox:y}},"swimlane"),qTe=x(async(t,e)=>{he.info("Creating subgraph rect for ",e.id,e);const r=Ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:d}=ur(e),h=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=yi(r),p=h.insert("g").attr("class","cluster-label ");let g;e.labelType==="markdown"?g=await ll(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width}):g=await ug(p,e.label,e.labelStyle||"",!1,!0);let m=g.getBBox();if(yi(r)){const C=g.children[0],k=vt(g);m=C.getBoundingClientRect(),k.attr("width",m.width),k.attr("height",m.height)}const U=e.width<=m.width+e.padding?m.width+e.padding:e.width;e.width<=m.width+e.padding?e.diff=(U-e.width)/2-e.padding:e.diff=-e.padding;const y=e.height,b=e.x-U/2,v=e.y-y/2;he.trace("Data ",e,JSON.stringify(e));let w;if(e.look==="handDrawn"){const C=fr.svg(h),k=pr(e,{roughness:.7,fill:a,stroke:s,fillWeight:3,seed:i}),E=C.path(S1(b,v,U,y,0),k);w=h.insert(()=>(he.debug("Rough node insert CXC",E),E),":first-child"),w.select("path:nth-child(2)").attr("style",u.join(";")),w.select("path").attr("style",d.join(";").replace("fill","stroke"))}else w=h.insert("rect",":first-child"),w.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",v).attr("width",U).attr("height",y);const{subGraphTitleTopMargin:T}=K4(r);if(p.attr("transform",`translate(${e.x-m.width/2}, ${e.y-e.height/2+T})`),o){const C=p.select("span");C&&C.attr("style",o)}const S=w.node().getBBox();return e.offsetX=0,e.width=S.width,e.height=S.height,e.offsetY=m.height-e.padding/2,e.intersect=function(C){return M5(e,C)},{cluster:h,labelBBox:m}},"rect"),Ewt=x((t,e)=>{const r=t.insert("g").attr("class","note-cluster").attr("id",e.domId),n=r.insert("rect",":first-child"),i=0*e.padding,a=i/2;n.attr("rx",e.rx).attr("ry",e.ry).attr("x",e.x-e.width/2-a).attr("y",e.y-e.height/2-a).attr("width",e.width+i).attr("height",e.height+i).attr("fill","none");const s=n.node().getBBox();return e.width=s.width,e.height=s.height,e.intersect=function(o){return M5(e,o)},{cluster:r,labelBBox:{width:0,height:0}}},"noteGroup"),Awt=x(async(t,e)=>{const r=Ve(),{themeVariables:n,handDrawnSeed:i}=r,{altBackground:a,compositeBackground:s,compositeTitleBackground:o,nodeBorder:l}=n,u=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-id",e.id).attr("data-look",e.look),d=u.insert("g",":first-child"),h=u.insert("g").attr("class","cluster-label");let f=u.append("rect");const p=await ug(h,e.label,e.labelStyle,void 0,!0);let g=p.getBBox();if(yi(r)){const E=p.children[0],A=vt(p);g=E.getBoundingClientRect(),A.attr("width",g.width),A.attr("height",g.height)}const m=0*e.padding,U=m/2,y=(e.width<=g.width+e.padding?g.width+e.padding:e.width)+m;e.width<=g.width+e.padding?e.diff=(y-e.width)/2-e.padding:e.diff=-e.padding;const b=e.height+m,v=e.height+m-g.height-6,w=e.x-y/2,T=e.y-b/2;e.width=y;const S=e.y-e.height/2-U+g.height+2;let C;if(e.look==="handDrawn"){const E=e.cssClasses.includes("statediagram-cluster-alt"),A=fr.svg(u),M=e.rx||e.ry?A.path(S1(w,T,y,b,10),{roughness:.7,fill:o,fillStyle:"solid",stroke:l,seed:i}):A.rectangle(w,T,y,b,{seed:i});C=u.insert(()=>M,":first-child");const P=A.rectangle(w,S,y,v,{fill:E?a:s,fillStyle:E?"hachure":"solid",stroke:l,seed:i});C=u.insert(()=>M,":first-child"),f=u.insert(()=>P)}else C=d.insert("rect",":first-child"),C.attr("class","outer").attr("x",w).attr("y",T).attr("width",y).attr("height",b).attr("data-look",e.look),f.attr("class","inner").attr("x",w).attr("y",S).attr("width",y).attr("height",v);h.attr("transform",`translate(${e.x-g.width/2}, ${T+1-(yi(r)?0:3)})`);const k=C.node().getBBox();return e.height=k.height,e.offsetX=0,e.offsetY=g.height-e.padding/2,e.labelBBox=g,e.intersect=function(E){return M5(e,E)},{cluster:u,labelBBox:g}},"roundedWithTitle"),Mwt=x(async(t,e)=>{he.info("Creating subgraph rect for ",e.id,e);const r=Ve(),{themeVariables:n,handDrawnSeed:i}=r,{clusterBkg:a,clusterBorder:s}=n,{labelStyles:o,nodeStyles:l,borderStyles:u,backgroundStyles:d}=ur(e),h=t.insert("g").attr("class","cluster "+e.cssClasses).attr("id",e.domId).attr("data-look",e.look),f=yi(r),p=h.insert("g").attr("class","cluster-label "),g=await ll(p,e.label,{style:e.labelStyle,useHtmlLabels:f,isNode:!0,width:e.width});let m=g.getBBox();if(yi(r)){const C=g.children[0],k=vt(g);m=C.getBoundingClientRect(),k.attr("width",m.width),k.attr("height",m.height)}const U=e.width<=m.width+e.padding?m.width+e.padding:e.width;e.width<=m.width+e.padding?e.diff=(U-e.width)/2-e.padding:e.diff=-e.padding;const y=e.height,b=e.x-U/2,v=e.y-y/2;he.trace("Data ",e,JSON.stringify(e));let w;if(e.look==="handDrawn"){const C=fr.svg(h),k=pr(e,{roughness:.7,fill:a,stroke:s,fillWeight:4,seed:i}),E=C.path(S1(b,v,U,y,e.rx),k);w=h.insert(()=>(he.debug("Rough node insert CXC",E),E),":first-child"),w.select("path:nth-child(2)").attr("style",u.join(";")),w.select("path").attr("style",d.join(";").replace("fill","stroke"))}else w=h.insert("rect",":first-child"),w.attr("style",l).attr("rx",e.rx).attr("ry",e.ry).attr("x",b).attr("y",v).attr("width",U).attr("height",y);const{subGraphTitleTopMargin:T}=K4(r);if(p.attr("transform",`translate(${e.x-m.width/2}, ${e.y-e.height/2+T})`),o){const C=p.select("span");C&&C.attr("style",o)}const S=w.node().getBBox();return e.offsetX=0,e.width=S.width,e.height=S.height,e.offsetY=m.height-e.padding/2,e.intersect=function(C){return M5(e,C)},{cluster:h,labelBBox:m}},"kanbanSection"),Rwt=x((t,e)=>{const r=Ve(),{themeVariables:n,handDrawnSeed:i}=r,{nodeBorder:a}=n,s=t.insert("g").attr("class",e.cssClasses).attr("id",e.domId).attr("data-look",e.look),o=s.insert("g",":first-child"),l=0*e.padding,u=e.width+l;e.diff=-e.padding;const d=e.height+l,h=e.x-u/2,f=e.y-d/2;e.width=u;let p;if(e.look==="handDrawn"){const U=fr.svg(s).rectangle(h,f,u,d,{fill:"lightgrey",roughness:.5,strokeLineDash:[5],stroke:a,seed:i});p=s.insert(()=>U,":first-child")}else{p=o.insert("rect",":first-child");let m="outer";e.look,m="divider",p.attr("class",m).attr("x",h).attr("y",f).attr("width",u).attr("height",d).attr("data-look",e.look)}const g=p.node().getBBox();return e.height=g.height,e.offsetX=0,e.offsetY=0,e.intersect=function(m){return M5(e,m)},{cluster:s,labelBBox:{}}},"divider"),Iwt=qTe,Lwt={rect:qTe,squareRect:Iwt,roundedWithTitle:Awt,noteGroup:Ewt,divider:Rwt,kanbanSection:Mwt,swimlane:kwt},jTe=new Map,RD=x(async(t,e)=>{const r=e.shape||"rect",n=await Lwt[r](t,e);return jTe.set(e.id,n),n},"insertCluster"),YTe=x(()=>{jTe=new Map},"clear");function XTe(t,e){return t.intersect(e)}x(XTe,"intersectNode");var Nwt=XTe;function KTe(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x<i&&(u=-u);var d=Math.abs(e*r*o/l);return n.y<a&&(d=-d),{x:i+u,y:a+d}}x(KTe,"intersectEllipse");var ZTe=KTe;function JTe(t,e,r){return ZTe(t,e,e,r)}x(JTe,"intersectCircle");var Owt=JTe;function QTe(t,e,r,n){{const i=e.y-t.y,a=t.x-e.x,s=e.x*t.y-t.x*e.y,o=i*r.x+a*r.y+s,l=i*n.x+a*n.y+s,u=1e-6;if(o!==0&&l!==0&&AW(o,l))return;const d=n.y-r.y,h=r.x-n.x,f=n.x*r.y-r.x*n.y,p=d*t.x+h*t.y+f,g=d*e.x+h*e.y+f;if(Math.abs(p)<u&&Math.abs(g)<u&&AW(p,g))return;const m=i*h-d*a;if(m===0)return;const U=Math.abs(m/2);let y=a*f-h*s;const b=y<0?(y-U)/m:(y+U)/m;y=d*s-i*f;const v=y<0?(y-U)/m:(y+U)/m;return{x:b,y:v}}}x(QTe,"intersectLine");function AW(t,e){return t*e>0}x(AW,"sameSign");var Dwt=QTe;function eCe(t,e,r){let n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(d){s=Math.min(s,d.x),o=Math.min(o,d.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));let l=n-t.width/2-s,u=i-t.height/2-o;for(let d=0;d<e.length;d++){let h=e[d],f=e[d<e.length-1?d+1:0],p=Dwt(t,r,{x:l+h.x,y:u+h.y},{x:l+f.x,y:u+f.y});p&&a.push(p)}return a.length?(a.length>1&&a.sort(function(d,h){let f=d.x-r.x,p=d.y-r.y,g=Math.sqrt(f*f+p*p),m=h.x-r.x,U=h.y-r.y,y=Math.sqrt(m*m+U*U);return g<y?-1:g===y?0:1}),a[0]):t}x(eCe,"intersectPolygon");var Pwt=eCe,lr={node:Nwt,circle:Owt,ellipse:ZTe,polygon:Pwt,rect:M5};function tCe(t,e){const{labelStyles:r}=ur(e);e.labelStyle=r;const n=Wr(e);let i=n;n||(i="anchor");const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=1,{cssStyles:o}=e,l=fr.svg(a),u=pr(e,{fill:"black",stroke:"none",fillStyle:"solid"});e.look!=="handDrawn"&&(u.roughness=0);const d=l.circle(0,0,s*2,u),h=a.insert(()=>d,":first-child");return h.attr("class","anchor").attr("style",ro(o)),Tr(e,h),e.intersect=function(f){return he.info("Circle intersect",e,s,f),lr.circle(e,s,f)},a}x(tCe,"anchor");function MW(t,e,r,n,i,a,s){const l=(t+r)/2,u=(e+n)/2,d=Math.atan2(n-e,r-t),h=(r-t)/2,f=(n-e)/2,p=h/i,g=f/a,m=Math.sqrt(p**2+g**2);if(m>1)throw new Error("The given radii are too small to create an arc between the points.");const U=Math.sqrt(1-m**2),y=l+U*a*Math.sin(d)*(s?-1:1),b=u-U*i*Math.cos(d)*(s?-1:1),v=Math.atan2((e-b)/a,(t-y)/i);let T=Math.atan2((n-b)/a,(r-y)/i)-v;s&&T<0&&(T+=2*Math.PI),!s&&T>0&&(T-=2*Math.PI);const S=[];for(let C=0;C<20;C++){const k=C/19,E=v+k*T,A=y+i*Math.cos(E),M=b+a*Math.sin(E);S.push({x:A,y:M})}return S}x(MW,"generateArcPoints");function rCe(t,e,r){const[n,i]=[e,r].sort((a,s)=>s-a);return i*(1-Math.sqrt(1-(t/n/2)**2))}x(rCe,"calculateArcSagitta");async function nCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=x(E=>E+s,"calcTotalHeight"),l=x(E=>{const A=E/2;return[A/(2.5+E/50),A]},"calcEllipseRadius"),{shapeSvg:u,bbox:d}=await Jr(t,e,Wr(e)),h=o(e!=null&&e.height?e==null?void 0:e.height:d.height),[f,p]=l(h),g=rCe(h,f,p),U=(e!=null&&e.width?e==null?void 0:e.width:d.width)+a*2+g-g,y=h,{cssStyles:b}=e,v=[{x:U/2,y:-y/2},{x:-U/2,y:-y/2},...MW(-U/2,-y/2,-U/2,y/2,f,p,!1),{x:U/2,y:y/2},...MW(U/2,y/2,U/2,-y/2,f,p,!0)],w=fr.svg(u),T=pr(e,{});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const S=Vn(v),C=w.path(S,T),k=u.insert(()=>C,":first-child");return k.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",n),k.attr("transform",`translate(${f/2}, 0)`),Tr(e,k),e.intersect=function(E){return lr.polygon(e,v,E)},u}x(nCe,"bowTieRect");function sp(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}x(sp,"insertPolygonShape");var Vk=12;async function iCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?28:i,s=e.look==="neo"?24:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=((e==null?void 0:e.width)??l.width)+(e.look==="neo"?a*2:a+Vk),d=((e==null?void 0:e.height)??l.height)+(e.look==="neo"?s*2:s),h=0,f=u,p=-d,g=0,m=[{x:h+Vk,y:p},{x:f,y:p},{x:f,y:g},{x:h,y:g},{x:h,y:p+Vk},{x:h+Vk,y:p}];let U;const{cssStyles:y}=e;if(e.look==="handDrawn"){const b=fr.svg(o),v=pr(e,{}),w=Vn(m),T=b.path(w,v);U=o.insert(()=>T,":first-child").attr("transform",`translate(${-u/2}, ${d/2})`),y&&U.attr("style",y)}else U=sp(o,u,d,m);return n&&U.attr("style",n),Tr(e,U),e.intersect=function(b){return lr.polygon(e,m,b)},o}x(iCe,"card");function aCe(t,e){const{nodeStyles:r}=ur(e);e.label="";const n=t.insert("g").attr("class",Wr(e)).attr("id",e.domId??e.id),{cssStyles:i}=e,a=Math.max(28,e.width??0),s=[{x:0,y:a/2},{x:a/2,y:0},{x:0,y:-a/2},{x:-a/2,y:0}],o=fr.svg(n),l=pr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=Vn(s),d=o.path(u,l),h=n.insert(()=>d,":first-child");return i&&e.look!=="handDrawn"&&h.selectAll("path").attr("style",i),r&&e.look!=="handDrawn"&&h.selectAll("path").attr("style",r),e.width=28,e.height=28,e.intersect=function(f){return lr.polygon(e,s,f)},n}x(aCe,"choice");async function jQ(t,e,r){const{labelStyles:n,nodeStyles:i}=ur(e);e.labelStyle=n;const{shapeSvg:a,bbox:s,halfPadding:o}=await Jr(t,e,Wr(e)),l=16,u=(r==null?void 0:r.padding)??o,d=e.look==="neo"?s.width/2+l*2:s.width/2+u;let h;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=fr.svg(a),g=pr(e,{}),m=p.circle(0,0,d*2,g);h=a.insert(()=>m,":first-child"),h.attr("class","basic label-container").attr("style",ro(f))}else h=a.insert("circle",":first-child").attr("class","basic label-container").attr("style",i).attr("r",d).attr("cx",0).attr("cy",0);return Tr(e,h),e.calcIntersect=function(p,g){const m=p.width/2;return lr.circle(p,m,g)},e.intersect=function(p){return he.info("Circle intersect",e,d,p),lr.circle(e,d,p)},a}x(jQ,"circle");function sCe(t){const e=Math.cos(Math.PI/4),r=Math.sin(Math.PI/4),n=t*2,i={x:n/2*e,y:n/2*r},a={x:-(n/2)*e,y:n/2*r},s={x:-(n/2)*e,y:-(n/2)*r},o={x:n/2*e,y:-(n/2)*r};return`M ${a.x},${a.y} L ${o.x},${o.y}
M ${i.x},${i.y} L ${s.x},${s.y}`}x(sCe,"createLine");function oCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r,e.label="";const i=t.insert("g").attr("class",Wr(e)).attr("id",e.domId??e.id),a=Math.max(30,(e==null?void 0:e.width)??0),{cssStyles:s}=e,o=fr.svg(i),l=pr(e,{});e.look!=="handDrawn"&&(l.roughness=0,l.fillStyle="solid");const u=o.circle(0,0,a*2,l),d=sCe(a),h=o.path(d,l),f=i.insert(()=>u,":first-child");return f.insert(()=>h),f.attr("class","outer-path"),s&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",s),n&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",n),Tr(e,f),e.intersect=function(p){return he.info("crossedCircle intersect",e,{radius:a,point:p}),lr.circle(e,a,p)},i}x(oCe,"crossedCircle");function $f(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,d=(a*Math.PI/180-o)/(n-1);for(let h=0;h<n;h++){const f=o+h*d,p=t+r*Math.cos(f),g=e+r*Math.sin(f);s.push({x:-p,y:-g})}return s}x($f,"generateCirclePoints");async function lCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await Jr(t,e,Wr(e)),o=e.look==="neo"?18:e.padding??0,l=e.look==="neo"?12:e.padding??0,u=a.width+o,d=a.height+l,h=Math.max(5,d*.1),{cssStyles:f}=e,p=[...$f(u/2,-d/2,h,30,-90,0),{x:-u/2-h,y:h},...$f(u/2+h*2,-h,h,20,-180,-270),...$f(u/2+h*2,h,h,20,-90,-180),{x:-u/2-h,y:-d/2},...$f(u/2,d/2,h,20,0,90)],g=[{x:u/2,y:-d/2-h},{x:-u/2,y:-d/2-h},...$f(u/2,-d/2,h,20,-90,0),{x:-u/2-h,y:-h},...$f(u/2+u*.1,-h,h,20,-180,-270),...$f(u/2+u*.1,h,h,20,-90,-180),{x:-u/2-h,y:d/2},...$f(u/2,d/2,h,20,0,90),{x:-u/2,y:d/2+h},{x:u/2,y:d/2+h}],m=fr.svg(i),U=pr(e,{fill:"none"});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const b=Vn(p).replace("Z",""),v=m.path(b,U),w=Vn(g),T=m.path(w,{...U}),S=i.insert("g",":first-child");return S.insert(()=>T,":first-child").attr("stroke-opacity",0),S.insert(()=>v,":first-child"),S.attr("class","text"),f&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",n),S.attr("transform",`translate(${h}, 0)`),s.attr("transform",`translate(${-u/2+h-(a.x-(a.left??0))},${-d/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Tr(e,S),e.intersect=function(C){return lr.polygon(e,g,C)},i}x(lCe,"curlyBraceLeft");function Ff(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,d=(a*Math.PI/180-o)/(n-1);for(let h=0;h<n;h++){const f=o+h*d,p=t+r*Math.cos(f),g=e+r*Math.sin(f);s.push({x:p,y:g})}return s}x(Ff,"generateCirclePoints");async function cCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await Jr(t,e,Wr(e)),o=e.look==="neo"?18:e.padding??0,l=e.look==="neo"?12:e.padding??0,u=a.width+(e.look==="neo"?o*2:o),d=a.height+(e.look==="neo"?l*2:l),h=Math.max(5,d*.1),{cssStyles:f}=e,p=[...Ff(u/2,-d/2,h,20,-90,0),{x:u/2+h,y:-h},...Ff(u/2+h*2,-h,h,20,-180,-270),...Ff(u/2+h*2,h,h,20,-90,-180),{x:u/2+h,y:d/2},...Ff(u/2,d/2,h,20,0,90)],g=[{x:-u/2,y:-d/2-h},{x:u/2,y:-d/2-h},...Ff(u/2,-d/2,h,20,-90,0),{x:u/2+h,y:-h},...Ff(u/2+h*2,-h,h,20,-180,-270),...Ff(u/2+h*2,h,h,20,-90,-180),{x:u/2+h,y:d/2},...Ff(u/2,d/2,h,20,0,90),{x:u/2,y:d/2+h},{x:-u/2,y:d/2+h}],m=fr.svg(i),U=pr(e,{fill:"none"});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const b=Vn(p).replace("Z",""),v=m.path(b,U),w=Vn(g),T=m.path(w,{...U}),S=i.insert("g",":first-child");return S.insert(()=>T,":first-child").attr("stroke-opacity",0),S.insert(()=>v,":first-child"),S.attr("class","text"),f&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&S.selectAll("path").attr("style",n),S.attr("transform",`translate(${-h}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-d/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Tr(e,S),e.intersect=function(C){return lr.polygon(e,g,C)},i}x(cCe,"curlyBraceRight");function yo(t,e,r,n=100,i=0,a=180){const s=[],o=i*Math.PI/180,d=(a*Math.PI/180-o)/(n-1);for(let h=0;h<n;h++){const f=o+h*d,p=t+r*Math.cos(f),g=e+r*Math.sin(f);s.push({x:-p,y:-g})}return s}x(yo,"generateCirclePoints");async function uCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await Jr(t,e,Wr(e)),o=e.look==="neo"?18:e.padding??0,l=e.look==="neo"?12:e.padding??0,u=a.width+(e.look==="neo"?o*2:o),d=a.height+(e.look==="neo"?l*2:l),h=Math.max(5,d*.1),{cssStyles:f}=e,p=[...yo(u/2,-d/2,h,30,-90,0),{x:-u/2-h,y:h},...yo(u/2+h*2,-h,h,20,-180,-270),...yo(u/2+h*2,h,h,20,-90,-180),{x:-u/2-h,y:-d/2},...yo(u/2,d/2,h,20,0,90)],g=[...yo(-u/2+h+h/2,-d/2,h,20,-90,-180),{x:u/2-h/2,y:h},...yo(-u/2-h/2,-h,h,20,0,90),...yo(-u/2-h/2,h,h,20,-90,0),{x:u/2-h/2,y:-h},...yo(-u/2+h+h/2,d/2,h,30,-180,-270)],m=[{x:u/2,y:-d/2-h},{x:-u/2,y:-d/2-h},...yo(u/2,-d/2,h,20,-90,0),{x:-u/2-h,y:-h},...yo(u/2+h*2,-h,h,20,-180,-270),...yo(u/2+h*2,h,h,20,-90,-180),{x:-u/2-h,y:d/2},...yo(u/2,d/2,h,20,0,90),{x:-u/2,y:d/2+h},{x:u/2-h-h/2,y:d/2+h},...yo(-u/2+h+h/2,-d/2,h,20,-90,-180),{x:u/2-h/2,y:h},...yo(-u/2-h/2,-h,h,20,0,90),...yo(-u/2-h/2,h,h,20,-90,0),{x:u/2-h/2,y:-h},...yo(-u/2+h+h/2,d/2,h,30,-180,-270)],U=fr.svg(i),y=pr(e,{fill:"none"});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const v=Vn(p).replace("Z",""),w=U.path(v,y),S=Vn(g).replace("Z",""),C=U.path(S,y),k=Vn(m),E=U.path(k,{...y}),A=i.insert("g",":first-child");return A.insert(()=>E,":first-child").attr("stroke-opacity",0),A.insert(()=>w,":first-child"),A.insert(()=>C,":first-child"),A.attr("class","text"),f&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",f),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),A.attr("transform",`translate(${h-h/4}, 0)`),s.attr("transform",`translate(${-u/2+(e.padding??0)/2-(a.x-(a.left??0))},${-d/2+(e.padding??0)/2-(a.y-(a.top??0))})`),Tr(e,A),e.intersect=function(M){return lr.polygon(e,m,M)},i}x(uCe,"curlyBraces");async function dCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=20,l=5,{shapeSvg:u,bbox:d}=await Jr(t,e,Wr(e)),h=Math.max(o,(d.width+a*2)*1.25,(e==null?void 0:e.width)??0),f=Math.max(l,d.height+s*2,(e==null?void 0:e.height)??0),p=f/2,{cssStyles:g}=e,m=fr.svg(u),U=pr(e,{});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const y=h,b=f,v=y-p,w=b/4,T=[{x:v,y:0},{x:w,y:0},{x:0,y:b/2},{x:w,y:b},{x:v,y:b},...wT(-v,-b/2,p,50,270,90)],S=Vn(T),C=m.path(S,U),k=u.insert(()=>C,":first-child");return k.attr("class","basic label-container outer-path"),g&&e.look!=="handDrawn"&&k.selectChildren("path").attr("style",g),n&&e.look!=="handDrawn"&&k.selectChildren("path").attr("style",n),k.attr("transform",`translate(${-h/2}, ${-f/2})`),Tr(e,k),e.intersect=function(E){return lr.polygon(e,T,E)},u}x(dCe,"curvedTrapezoid");var _wt=x((t,e,r,n,i,a)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createCylinderPathD"),Bwt=x((t,e,r,n,i,a)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`].join(" "),"createOuterCylinderPathD"),$wt=x((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),she=8,ohe=8;async function hCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?24:i,s=e.look==="neo"?24:i;if(e.width||e.height){const U=e.width??0;e.width=(e.width??0)-s,e.width<ohe&&(e.width=ohe);const b=U/2/(2.5+U/50);e.height=(e.height??0)-a-b*3,e.height<she&&(e.height=she)}const{shapeSvg:o,bbox:l,label:u}=await Jr(t,e,Wr(e)),d=(e.width?e.width:l.width)+s,h=d/2,f=h/(2.5+d/50),p=(e.height?e.height:l.height)+a+f;let g;const{cssStyles:m}=e;if(e.look==="handDrawn"){const U=fr.svg(o),y=Bwt(0,0,d,p,h,f),b=$wt(0,f,d,p,h,f),v=pr(e,{}),w=U.path(y,v),T=U.path(b,pr(e,{fill:"none"}));g=o.insert(()=>T,":first-child"),g=o.insert(()=>w,":first-child"),g.attr("class","basic label-container"),m&&g.attr("style",m)}else{const U=_wt(0,0,d,p,h,f);g=o.insert("path",":first-child").attr("d",U).attr("class","basic label-container outer-path").attr("style",ro(m)).attr("style",n)}return g.attr("label-offset-y",f),g.attr("transform",`translate(${-d/2}, ${-(p/2+f)})`),Tr(e,g),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+(e.padding??0)/1.5-(l.y-(l.top??0))})`),e.intersect=function(U){const y=lr.rect(e,U),b=y.x-(e.x??0);if(h!=0&&(Math.abs(b)<(e.width??0)/2||Math.abs(b)==(e.width??0)/2&&Math.abs(y.y-(e.y??0))>(e.height??0)/2-f)){let v=f*f*(1-b*b/(h*h));v>0&&(v=Math.sqrt(v)),v=f-v,U.y-(e.y??0)>0&&(v=-v),y.y+=v}return y},o}x(hCe,"cylinder");async function Z4(t,e,r){const{labelStyles:n,nodeStyles:i}=ur(e);e.labelStyle=n;const{shapeSvg:a,bbox:s}=await Jr(t,e,Wr(e)),o=Math.max(s.width+r.labelPaddingX*2,(e==null?void 0:e.width)||0),l=Math.max(s.height+r.labelPaddingY*2,(e==null?void 0:e.height)||0),u=-o/2,d=-l/2;let h,{rx:f,ry:p}=e;const{cssStyles:g}=e;if(r!=null&&r.rx&&r.ry&&(f=r.rx,p=r.ry),e.look==="handDrawn"){const m=fr.svg(a),U=pr(e,{}),y=f||p?m.path(S1(u,d,o,l,f||0),U):m.rectangle(u,d,o,l,U);h=a.insert(()=>y,":first-child"),h.attr("class","basic label-container").attr("style",ro(g))}else h=a.insert("rect",":first-child"),h.attr("class","basic label-container").attr("style",i).attr("rx",ro(f)).attr("ry",ro(p)).attr("x",u).attr("y",d).attr("width",o).attr("height",l);return Tr(e,h),e.calcIntersect=function(m,U){return lr.rect(m,U)},e.intersect=function(m){return lr.rect(e,m)},a}x(Z4,"drawRect");async function fCe(t,e){const{cssClasses:r,labelPaddingX:n,labelPaddingY:i,padding:a,width:s,height:o}=e,l={rx:0,ry:0,labelPaddingX:n??(a??0)*2,labelPaddingY:i??a??0},u=await Z4(t,e,l);if(e.look==="handDrawn"){const p=fr.svg(u),g=pr(e,{}),m=u.select(".basic.label-container > path:nth-child(2)"),U=m.node();if(!U)return u;let y=null;if(U instanceof SVGGraphicsElement)y=U.getBBox();else return u;return u.insert(()=>p.line(y.x,y.y,y.x+y.width,y.y,g),".basic.label-container g.label"),u.insert(()=>p.line(y.x,y.y+y.height,y.x+y.width,y.y+y.height,g),".basic.label-container g.label"),m.remove(),u}const d=u.select(".basic.label-container"),h=(Number(d.attr("width"))||s)??0,f=(Number(d.attr("height"))||o)??0;return h>0&&f>0&&d.attr("stroke-dasharray",`${h} ${f}`),u}x(fCe,"datastore");async function pCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?16:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=o.width+i,d=o.height+a,h=d*.2,f=-u/2,p=-d/2-h/2,{cssStyles:g}=e,m=fr.svg(s),U=pr(e,{});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const y=[{x:f,y:p+h},{x:-f,y:p+h},{x:-f,y:-p},{x:f,y:-p},{x:f,y:p},{x:-f,y:p},{x:-f,y:p+h}],b=m.polygon(y.map(w=>[w.x,w.y]),U),v=s.insert(()=>b,":first-child");return v.attr("class","basic label-container outer-path"),g&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),l.attr("transform",`translate(${f+(e.padding??0)/2-(o.x-(o.left??0))}, ${p+h+(e.padding??0)/2-(o.y-(o.top??0))})`),Tr(e,v),e.intersect=function(w){return lr.rect(e,w)},s}x(pCe,"dividedRectangle");async function gCe(t,e){var p,g;const{labelStyles:r,nodeStyles:n}=ur(e),i=e.look==="neo"?12:5;e.labelStyle=r;const a=e.padding??0,s=e.look==="neo"?16:a,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=(e!=null&&e.width?(e==null?void 0:e.width)/2:l.width/2)+(s??0),d=u-i;let h;const{cssStyles:f}=e;if(e.look==="handDrawn"){const m=fr.svg(o),U=pr(e,{roughness:.2,strokeWidth:2.5}),y=pr(e,{roughness:.2,strokeWidth:1.5}),b=m.circle(0,0,u*2,U),v=m.circle(0,0,d*2,y);h=o.insert("g",":first-child"),h.attr("class",ro(e.cssClasses)).attr("style",ro(f)),(p=h.node())==null||p.appendChild(b),(g=h.node())==null||g.appendChild(v)}else{h=o.insert("g",":first-child");const m=h.insert("circle",":first-child"),U=h.insert("circle");h.attr("class","basic label-container").attr("style",n),m.attr("class","outer-circle").attr("style",n).attr("r",u).attr("cx",0).attr("cy",0),U.attr("class","inner-circle").attr("style",n).attr("r",d).attr("cx",0).attr("cy",0)}return Tr(e,h),e.intersect=function(m){return he.info("DoubleCircle intersect",e,u,m),lr.circle(e,u,m)},o}x(gCe,"doublecircle");function mCe(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=ur(e);e.label="",e.labelStyle=n;const a=t.insert("g").attr("class",Wr(e)).attr("id",e.domId??e.id),s=7,{cssStyles:o}=e,l=fr.svg(a),{nodeBorder:u}=r,d=pr(e,{fillStyle:"solid"});e.look!=="handDrawn"&&(d.roughness=0);const h=l.circle(0,0,s*2,d),f=a.insert(()=>h,":first-child");return f.selectAll("path").attr("style",`fill: ${u} !important;`),o&&o.length>0&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",o),i&&e.look!=="handDrawn"&&f.selectAll("path").attr("style",i),Tr(e,f),e.intersect=function(p){return he.info("filledCircle intersect",e,{radius:s,point:p}),lr.circle(e,s,p)},a}x(mCe,"filledCircle");var lhe=10,che=10;async function UCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.height=(e==null?void 0:e.height)??0,e.height<lhe&&(e.height=lhe),e.width=((e==null?void 0:e.width)??0)-a-a/2,e.width<che&&(e.width=che));const{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=(e!=null&&e.width?e==null?void 0:e.width:o.width)+(a??0),d=e!=null&&e.height?e==null?void 0:e.height:u+o.height,h=d,f=[{x:0,y:-d},{x:h,y:-d},{x:h/2,y:0}],{cssStyles:p}=e,g=fr.svg(s),m=pr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const U=Vn(f),y=g.path(U,m),b=s.insert(()=>y,":first-child").attr("transform",`translate(${-d/2}, ${d/2})`).attr("class","outer-path");return p&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",n),e.width=u,e.height=d,Tr(e,b),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-d/2+(e.padding??0)/2+(o.y-(o.top??0))})`),e.intersect=function(v){return he.info("Triangle intersect",e,f,v),lr.polygon(e,f,v)},s}x(UCe,"flippedTriangle");function yCe(t,e,{dir:r,config:{state:n,themeVariables:i}}){const{nodeStyles:a}=ur(e);e.label="";const s=t.insert("g").attr("class",Wr(e)).attr("id",e.domId??e.id),{cssStyles:o}=e;let l=Math.max(70,(e==null?void 0:e.width)??0),u=Math.max(10,(e==null?void 0:e.height)??0);r==="LR"&&(l=Math.max(10,(e==null?void 0:e.width)??0),u=Math.max(70,(e==null?void 0:e.height)??0));const d=-1*l/2,h=-1*u/2,f=fr.svg(s),p=pr(e,{stroke:i.lineColor,fill:i.lineColor});e.look!=="handDrawn"&&(p.roughness=0,p.fillStyle="solid");const g=f.rectangle(d,h,l,u,p),m=s.insert(()=>g,":first-child");o&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",o),a&&e.look!=="handDrawn"&&m.selectAll("path").attr("style",a),Tr(e,m);const U=(n==null?void 0:n.padding)??0;return e.width&&e.height&&(e.width+=U/2||0,e.height+=U/2||0),e.intersect=function(y){return lr.rect(e,y)},s}x(yCe,"forkJoin");async function bCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=15,a=10,s=e.look==="neo"?16:e.padding??0,o=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.height=((e==null?void 0:e.height)??0)-o*2,e.height<a&&(e.height=a),e.width=((e==null?void 0:e.width)??0)-s*2,e.width<i&&(e.width=i));const{shapeSvg:l,bbox:u}=await Jr(t,e,Wr(e)),d=(e!=null&&e.width?e==null?void 0:e.width:Math.max(i,u.width))+s*2,h=(e!=null&&e.height?e==null?void 0:e.height:Math.max(a,u.height))+o*2,f=h/2,{cssStyles:p}=e,g=fr.svg(l),m=pr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const U=[{x:-d/2,y:-h/2},{x:d/2-f,y:-h/2},...wT(-d/2+f,0,f,50,90,270),{x:d/2-f,y:h/2},{x:-d/2,y:h/2}],y=Vn(U),b=g.path(y,m),v=l.insert(()=>b,":first-child");return v.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Tr(e,v),e.intersect=function(w){return he.info("Pill intersect",e,{radius:f,point:w}),lr.polygon(e,U,w)},l}x(bCe,"halfRoundedRectangle");var Fwt=x((t,e,r,n,i)=>[`M${t+i},${e}`,`L${t+r-i},${e}`,`L${t+r},${e-n/2}`,`L${t+r-i},${e-n}`,`L${t+i},${e-n}`,`L${t},${e-n/2}`,"Z"].join(" "),"createHexagonPathD");async function vCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e),i=e.look==="neo"?3.5:4;e.labelStyle=r;const a=e.padding??0,s=70,o=32,l=e.look==="neo"?s:a,u=e.look==="neo"?o:a;if(e.width||e.height){const v=(e.height??0)/i;e.width=((e==null?void 0:e.width)??0)-2*v-u,e.height=(e.height??0)-l}const{shapeSvg:d,bbox:h}=await Jr(t,e,Wr(e)),f=(e!=null&&e.height?e==null?void 0:e.height:h.height)+l,p=f/i,g=(e!=null&&e.width?e==null?void 0:e.width:h.width)+2*p+u,m=[{x:p,y:0},{x:g-p,y:0},{x:g,y:-f/2},{x:g-p,y:-f},{x:p,y:-f},{x:0,y:-f/2}];let U;const{cssStyles:y}=e;if(e.look==="handDrawn"){const b=fr.svg(d),v=pr(e,{}),w=Fwt(0,0,g,f,p),T=b.path(w,v);U=d.insert(()=>T,":first-child").attr("transform",`translate(${-g/2}, ${f/2})`),y&&U.attr("style",y)}else U=sp(d,g,f,m);return n&&U.attr("style",n),e.width=g,e.height=f,Tr(e,U),e.intersect=function(b){return lr.polygon(e,m,b)},d}x(vCe,"hexagon");async function xCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.label="",e.labelStyle=r;const{shapeSvg:i}=await Jr(t,e,Wr(e)),a=Math.max(30,(e==null?void 0:e.width)??0),s=Math.max(30,(e==null?void 0:e.height)??0),{cssStyles:o}=e,l=fr.svg(i),u=pr(e,{});e.look!=="handDrawn"&&(u.roughness=0,u.fillStyle="solid");const d=[{x:0,y:0},{x:a,y:0},{x:0,y:s},{x:a,y:s}],h=Vn(d),f=l.path(h,u),p=i.insert(()=>f,":first-child");return p.attr("class","basic label-container outer-path"),o&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",o),n&&e.look!=="handDrawn"&&p.selectChildren("path").attr("style",n),p.attr("transform",`translate(${-a/2}, ${-s/2})`),Tr(e,p),e.intersect=function(g){return he.info("Pill intersect",e,{points:d}),lr.polygon(e,d,g)},i}x(xCe,"hourglass");async function wCe(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=ur(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n==null?void 0:n.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:d,label:h}=await Jr(t,e,"icon-shape default"),f=e.pos==="t",p=o,g=o,{nodeBorder:m}=r,{stylesMap:U}=X4(e),y=-g/2,b=-p/2,v=e.label?8:0,w=fr.svg(u),T=pr(e,{stroke:"none",fill:"none"});e.look!=="handDrawn"&&(T.roughness=0,T.fillStyle="solid");const S=w.rectangle(y,b,g,p,T),C=Math.max(g,d.width),k=p+d.height+v,E=w.rectangle(-C/2,-k/2,C,k,{...T,fill:"transparent",stroke:"none"}),A=u.insert(()=>S,":first-child"),M=u.insert(()=>E);if(e.icon){const P=u.append("g");P.html(`<g>${await D0(e.icon,{height:o,width:o,fallbackPrefix:""})}</g>`);const N=P.node().getBBox(),I=N.width,L=N.height,_=N.x,D=N.y;P.attr("transform",`translate(${-I/2-_},${f?d.height/2+v/2-L/2-D:-d.height/2-v/2-L/2-D})`),P.attr("style",`color: ${U.get("stroke")??m};`)}return h.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${f?-k/2:k/2-d.height})`),A.attr("transform",`translate(0,${f?d.height/2+v/2:-d.height/2-v/2})`),Tr(e,M),e.intersect=function(P){if(he.info("iconSquare intersect",e,P),!e.label)return lr.rect(e,P);const N=e.x??0,I=e.y??0,L=e.height??0;let _=[];return f?_=[{x:N-d.width/2,y:I-L/2},{x:N+d.width/2,y:I-L/2},{x:N+d.width/2,y:I-L/2+d.height+v},{x:N+g/2,y:I-L/2+d.height+v},{x:N+g/2,y:I+L/2},{x:N-g/2,y:I+L/2},{x:N-g/2,y:I-L/2+d.height+v},{x:N-d.width/2,y:I-L/2+d.height+v}]:_=[{x:N-g/2,y:I-L/2},{x:N+g/2,y:I-L/2},{x:N+g/2,y:I-L/2+p},{x:N+d.width/2,y:I-L/2+p},{x:N+d.width/2/2,y:I+L/2},{x:N-d.width/2,y:I+L/2},{x:N-d.width/2,y:I-L/2+p},{x:N-g/2,y:I-L/2+p}],lr.polygon(e,_,P)},u}x(wCe,"icon");async function TCe(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=ur(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n==null?void 0:n.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:d,label:h}=await Jr(t,e,"icon-shape default"),f=20,p=e.label?8:0,g=e.pos==="t",{nodeBorder:m,mainBkg:U}=r,{stylesMap:y}=X4(e),b=fr.svg(u),v=pr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const w=y.get("fill");v.stroke=w??U;const T=u.append("g");e.icon&&T.html(`<g>${await D0(e.icon,{height:o,width:o,fallbackPrefix:""})}</g>`);const S=T.node().getBBox(),C=S.width,k=S.height,E=S.x,A=S.y,M=Math.max(C,k)*Math.SQRT2+f*2,P=b.circle(0,0,M,v),N=Math.max(M,d.width),I=M+d.height+p,L=b.rectangle(-N/2,-I/2,N,I,{...v,fill:"transparent",stroke:"none"}),_=u.insert(()=>P,":first-child"),D=u.insert(()=>L);return T.attr("transform",`translate(${-C/2-E},${g?d.height/2+p/2-k/2-A:-d.height/2-p/2-k/2-A})`),T.attr("style",`color: ${y.get("stroke")??m};`),h.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${g?-I/2:I/2-d.height})`),_.attr("transform",`translate(0,${g?d.height/2+p/2:-d.height/2-p/2})`),Tr(e,D),e.intersect=function(O){return he.info("iconSquare intersect",e,O),lr.rect(e,O)},u}x(TCe,"iconCircle");async function CCe(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=ur(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n==null?void 0:n.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:d,halfPadding:h,label:f}=await Jr(t,e,"icon-shape default"),p=e.pos==="t",g=o+h*2,m=o+h*2,{nodeBorder:U,mainBkg:y}=r,{stylesMap:b}=X4(e),v=-m/2,w=-g/2,T=e.label?8:0,S=fr.svg(u),C=pr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const k=b.get("fill");C.stroke=k??y;const E=S.path(S1(v,w,m,g,5),C),A=Math.max(m,d.width),M=g+d.height+T,P=S.rectangle(-A/2,-M/2,A,M,{...C,fill:"transparent",stroke:"none"}),N=u.insert(()=>E,":first-child").attr("class","icon-shape2"),I=u.insert(()=>P);if(e.icon){const L=u.append("g");L.html(`<g>${await D0(e.icon,{height:o,width:o,fallbackPrefix:""})}</g>`);const _=L.node().getBBox(),D=_.width,O=_.height,B=_.x,F=_.y;L.attr("transform",`translate(${-D/2-B},${p?d.height/2+T/2-O/2-F:-d.height/2-T/2-O/2-F})`),L.attr("style",`color: ${b.get("stroke")??U};`)}return f.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${p?-M/2:M/2-d.height})`),N.attr("transform",`translate(0,${p?d.height/2+T/2:-d.height/2-T/2})`),Tr(e,I),e.intersect=function(L){if(he.info("iconSquare intersect",e,L),!e.label)return lr.rect(e,L);const _=e.x??0,D=e.y??0,O=e.height??0;let B=[];return p?B=[{x:_-d.width/2,y:D-O/2},{x:_+d.width/2,y:D-O/2},{x:_+d.width/2,y:D-O/2+d.height+T},{x:_+m/2,y:D-O/2+d.height+T},{x:_+m/2,y:D+O/2},{x:_-m/2,y:D+O/2},{x:_-m/2,y:D-O/2+d.height+T},{x:_-d.width/2,y:D-O/2+d.height+T}]:B=[{x:_-m/2,y:D-O/2},{x:_+m/2,y:D-O/2},{x:_+m/2,y:D-O/2+g},{x:_+d.width/2,y:D-O/2+g},{x:_+d.width/2/2,y:D+O/2},{x:_-d.width/2,y:D+O/2},{x:_-d.width/2,y:D-O/2+g},{x:_-m/2,y:D-O/2+g}],lr.polygon(e,B,L)},u}x(CCe,"iconRounded");async function SCe(t,e,{config:{themeVariables:r,flowchart:n}}){const{labelStyles:i}=ur(e);e.labelStyle=i;const a=e.assetHeight??48,s=e.assetWidth??48,o=Math.max(a,s),l=n==null?void 0:n.wrappingWidth;e.width=Math.max(o,l??0);const{shapeSvg:u,bbox:d,halfPadding:h,label:f}=await Jr(t,e,"icon-shape default"),p=e.pos==="t",g=o+h*2,m=o+h*2,{nodeBorder:U,mainBkg:y}=r,{stylesMap:b}=X4(e),v=-m/2,w=-g/2,T=e.label?8:0,S=fr.svg(u),C=pr(e,{});e.look!=="handDrawn"&&(C.roughness=0,C.fillStyle="solid");const k=b.get("fill");C.stroke=k??y;const E=S.path(S1(v,w,m,g,.1),C),A=Math.max(m,d.width),M=g+d.height+T,P=S.rectangle(-A/2,-M/2,A,M,{...C,fill:"transparent",stroke:"none"}),N=u.insert(()=>E,":first-child"),I=u.insert(()=>P);if(e.icon){const L=u.append("g");L.html(`<g>${await D0(e.icon,{height:o,width:o,fallbackPrefix:""})}</g>`);const _=L.node().getBBox(),D=_.width,O=_.height,B=_.x,F=_.y;L.attr("transform",`translate(${-D/2-B},${p?d.height/2+T/2-O/2-F:-d.height/2-T/2-O/2-F})`),L.attr("style",`color: ${b.get("stroke")??U};`)}return f.attr("transform",`translate(${-d.width/2-(d.x-(d.left??0))},${p?-M/2:M/2-d.height})`),N.attr("transform",`translate(0,${p?d.height/2+T/2:-d.height/2-T/2})`),Tr(e,I),e.intersect=function(L){if(he.info("iconSquare intersect",e,L),!e.label)return lr.rect(e,L);const _=e.x??0,D=e.y??0,O=e.height??0;let B=[];return p?B=[{x:_-d.width/2,y:D-O/2},{x:_+d.width/2,y:D-O/2},{x:_+d.width/2,y:D-O/2+d.height+T},{x:_+m/2,y:D-O/2+d.height+T},{x:_+m/2,y:D+O/2},{x:_-m/2,y:D+O/2},{x:_-m/2,y:D-O/2+d.height+T},{x:_-d.width/2,y:D-O/2+d.height+T}]:B=[{x:_-m/2,y:D-O/2},{x:_+m/2,y:D-O/2},{x:_+m/2,y:D-O/2+g},{x:_+d.width/2,y:D-O/2+g},{x:_+d.width/2/2,y:D+O/2},{x:_-d.width/2,y:D+O/2},{x:_-d.width/2,y:D-O/2+g},{x:_-m/2,y:D-O/2+g}],lr.polygon(e,B,L)},u}x(SCe,"iconSquare");async function kCe(t,e,{config:{flowchart:r}}){const n=new Image;n.src=(e==null?void 0:e.img)??"",await n.decode();const i=Number(n.naturalWidth.toString().replace("px","")),a=Number(n.naturalHeight.toString().replace("px",""));e.imageAspectRatio=i/a;const{labelStyles:s}=ur(e);e.labelStyle=s;const o=r==null?void 0:r.wrappingWidth;e.defaultWidth=r==null?void 0:r.wrappingWidth;const l=Math.max(e.label?o??0:0,(e==null?void 0:e.assetWidth)??i),u=e.constraint==="on"&&e!=null&&e.assetHeight?e.assetHeight*e.imageAspectRatio:l,d=e.constraint==="on"?u/e.imageAspectRatio:(e==null?void 0:e.assetHeight)??a;e.width=Math.max(u,o??0);const{shapeSvg:h,bbox:f,label:p}=await Jr(t,e,"image-shape default"),g=e.pos==="t",m=-u/2,U=-d/2,y=e.label?8:0,b=fr.svg(h),v=pr(e,{});e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const w=b.rectangle(m,U,u,d,v),T=Math.max(u,f.width),S=d+f.height+y,C=b.rectangle(-T/2,-S/2,T,S,{...v,fill:"none",stroke:"none"}),k=h.insert(()=>w,":first-child"),E=h.insert(()=>C);if(e.img){const A=h.append("image");A.attr("href",e.img),A.attr("width",u),A.attr("height",d),A.attr("preserveAspectRatio","none"),A.attr("transform",`translate(${-u/2},${g?S/2-d:-S/2})`)}return p.attr("transform",`translate(${-f.width/2-(f.x-(f.left??0))},${g?-d/2-f.height/2-y/2:d/2-f.height/2+y/2})`),k.attr("transform",`translate(0,${g?f.height/2+y/2:-f.height/2-y/2})`),Tr(e,E),e.intersect=function(A){if(he.info("iconSquare intersect",e,A),!e.label)return lr.rect(e,A);const M=e.x??0,P=e.y??0,N=e.height??0;let I=[];return g?I=[{x:M-f.width/2,y:P-N/2},{x:M+f.width/2,y:P-N/2},{x:M+f.width/2,y:P-N/2+f.height+y},{x:M+u/2,y:P-N/2+f.height+y},{x:M+u/2,y:P+N/2},{x:M-u/2,y:P+N/2},{x:M-u/2,y:P-N/2+f.height+y},{x:M-f.width/2,y:P-N/2+f.height+y}]:I=[{x:M-u/2,y:P-N/2},{x:M+u/2,y:P-N/2},{x:M+u/2,y:P-N/2+d},{x:M+f.width/2,y:P-N/2+d},{x:M+f.width/2/2,y:P+N/2},{x:M-f.width/2,y:P+N/2},{x:M-f.width/2,y:P-N/2+d},{x:M-u/2,y:P-N/2+d}],lr.polygon(e,I,A)},h}x(kCe,"imageSquare");async function ECe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=Math.max(l.width+(s??0)*2,(e==null?void 0:e.width)??0),d=Math.max(l.height+(a??0)*2,(e==null?void 0:e.height)??0),h=[{x:0,y:0},{x:u,y:0},{x:u+3*d/6,y:-d},{x:-3*d/6,y:-d}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const g=fr.svg(o),m=pr(e,{}),U=Vn(h),y=g.path(U,m);f=o.insert(()=>y,":first-child").attr("transform",`translate(${-u/2}, ${d/2})`),p&&f.attr("style",p)}else f=sp(o,u,d,h);return n&&f.attr("style",n),e.width=u,e.height=d,Tr(e,f),e.intersect=function(g){return lr.polygon(e,h,g)},o}x(ECe,"inv_trapezoid");async function ACe(t,e){const{shapeSvg:r,bbox:n,label:i}=await Jr(t,e,"label"),a=r.insert("rect",":first-child");return a.attr("width",.1).attr("height",.1),r.attr("class","label edgeLabel"),i.attr("transform",`translate(${-(n.width/2)-(n.x-(n.left??0))}, ${-(n.height/2)-(n.y-(n.top??0))})`),Tr(e,a),e.intersect=function(l){return lr.rect(e,l)},r}x(ACe,"labelRect");async function MCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=((e==null?void 0:e.height)??l.height)+a,d=((e==null?void 0:e.width)??l.width)+s,h=[{x:0,y:0},{x:d+3*u/6,y:0},{x:d,y:-u},{x:-(3*u)/6,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const g=fr.svg(o),m=pr(e,{}),U=Vn(h),y=g.path(U,m);f=o.insert(()=>y,":first-child").attr("transform",`translate(${-d/2}, ${u/2})`),p&&f.attr("style",p)}else f=sp(o,d,u,h);return n&&f.attr("style",n),e.width=d,e.height=u,Tr(e,f),e.intersect=function(g){return lr.polygon(e,h,g)},o}x(MCe,"lean_left");async function RCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=i,s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=((e==null?void 0:e.height)??l.height)+a,d=((e==null?void 0:e.width)??l.width)+s,h=[{x:-3*u/6,y:0},{x:d,y:0},{x:d+3*u/6,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const g=fr.svg(o),m=pr(e,{}),U=Vn(h),y=g.path(U,m);f=o.insert(()=>y,":first-child").attr("transform",`translate(${-d/2}, ${u/2})`),p&&f.attr("style",p)}else f=sp(o,d,u,h);return n&&f.attr("style",n),e.width=d,e.height=u,Tr(e,f),e.intersect=function(g){return lr.polygon(e,h,g)},o}x(RCe,"lean_right");function ICe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.label="",e.labelStyle=r;const i=t.insert("g").attr("class",Wr(e)).attr("id",e.domId??e.id),{cssStyles:a}=e,s=Math.max(35,(e==null?void 0:e.width)??0),o=Math.max(35,(e==null?void 0:e.height)??0),l=7,u=[{x:s,y:0},{x:0,y:o+l/2},{x:s-2*l,y:o+l/2},{x:0,y:2*o},{x:s,y:o-l/2},{x:2*l,y:o-l/2}],d=fr.svg(i),h=pr(e,{});e.look!=="handDrawn"&&(h.roughness=0,h.fillStyle="solid");const f=Vn(u),p=d.path(f,h),g=i.insert(()=>p,":first-child");return g.attr("class","outer-path"),a&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",a),n&&e.look!=="handDrawn"&&g.selectAll("path").attr("style",n),g.attr("transform",`translate(-${s/2},${-o})`),Tr(e,g),e.intersect=function(m){return he.info("lightningBolt intersect",e,m),lr.polygon(e,u,m)},i}x(ICe,"lightningBolt");var zwt=x((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`a${i},${a} 0,0,0 ${r},0`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createCylinderPathD"),Hwt=x((t,e,r,n,i,a,s)=>[`M${t},${e+a}`,`M${t+r},${e+a}`,`a${i},${a} 0,0,0 ${-r},0`,`l0,${n}`,`a${i},${a} 0,0,0 ${r},0`,`l0,${-n}`,`M${t},${e+a+s}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createOuterCylinderPathD"),Vwt=x((t,e,r,n,i,a)=>[`M${t-r/2},${-n/2}`,`a${i},${a} 0,0,0 ${r},0`].join(" "),"createInnerCylinderPathD"),uhe=10,dhe=10;async function LCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?24:i;if(e.width||e.height){const y=e.width??0;e.width=(e.width??0)-a,e.width<dhe&&(e.width=dhe);const v=y/2/(2.5+y/50);e.height=(e.height??0)-s-v*3,e.height<uhe&&(e.height=uhe)}const{shapeSvg:o,bbox:l,label:u}=await Jr(t,e,Wr(e)),d=(e!=null&&e.width?e==null?void 0:e.width:l.width)+a*2,h=d/2,f=h/(2.5+d/50),p=(e!=null&&e.height?e==null?void 0:e.height:l.height)+f+s*2,g=p*.1;let m;const{cssStyles:U}=e;if(e.look==="handDrawn"){const y=fr.svg(o),b=Hwt(0,0,d,p,h,f,g),v=Vwt(0,f,d,p,h,f),w=pr(e,{}),T=y.path(b,w),S=y.path(v,w);o.insert(()=>S,":first-child").attr("class","line"),m=o.insert(()=>T,":first-child"),m.attr("class","basic label-container"),U&&m.attr("style",U)}else{const y=zwt(0,0,d,p,h,f,g);m=o.insert("path",":first-child").attr("d",y).attr("class","basic label-container outer-path").attr("style",ro(U)).attr("style",n)}return m.attr("label-offset-y",f),m.attr("transform",`translate(${-d/2}, ${-(p/2+f)})`),Tr(e,m),u.attr("transform",`translate(${-(l.width/2)-(l.x-(l.left??0))}, ${-(l.height/2)+f-(l.y-(l.top??0))})`),e.intersect=function(y){const b=lr.rect(e,y),v=b.x-(e.x??0);if(h!=0&&(Math.abs(v)<(e.width??0)/2||Math.abs(v)==(e.width??0)/2&&Math.abs(b.y-(e.y??0))>(e.height??0)/2-f)){let w=f*f*(1-v*v/(h*h));w>0&&(w=Math.sqrt(w)),w=f-w,y.y-(e.y??0)>0&&(w=-w),b.y+=w}return b},o}x(LCe,"linedCylinder");async function NCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;if(e.width||e.height){const w=e.width;e.width=(w??0)*10/11-a*2,e.width<10&&(e.width=10),e.height=((e==null?void 0:e.height)??0)-s*2,e.height<10&&(e.height=10)}const{shapeSvg:o,bbox:l,label:u}=await Jr(t,e,Wr(e)),d=(e!=null&&e.width?e==null?void 0:e.width:l.width)+(a??0)*2,h=(e!=null&&e.height?e==null?void 0:e.height:l.height)+(s??0)*2,f=e.look==="neo"?h/4:h/8,p=h+f,{cssStyles:g}=e,m=fr.svg(o),U=pr(e,{});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const y=[{x:-d/2-d/2*.1,y:-p/2},{x:-d/2-d/2*.1,y:p/2},...Gg(-d/2-d/2*.1,p/2,d/2+d/2*.1,p/2,f,.8),{x:d/2+d/2*.1,y:-p/2},{x:-d/2-d/2*.1,y:-p/2},{x:-d/2,y:-p/2},{x:-d/2,y:p/2*1.1},{x:-d/2,y:-p/2}],b=m.polygon(y.map(w=>[w.x,w.y]),U),v=o.insert(()=>b,":first-child");return v.attr("class","basic label-container outer-path"),g&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",g),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),v.attr("transform",`translate(0,${-f/2})`),u.attr("transform",`translate(${-d/2+(e.padding??0)+d/2*.1/2-(l.x-(l.left??0))},${-h/2+(e.padding??0)-f/2-(l.y-(l.top??0))})`),Tr(e,v),e.intersect=function(w){return lr.polygon(e,y,w)},o}x(NCe,"linedWaveEdgedRect");async function OCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=e.look==="neo"?10:5;(e.width||e.height)&&(e.width=Math.max(((e==null?void 0:e.width)??0)-a*2-2*o,10),e.height=Math.max(((e==null?void 0:e.height)??0)-s*2-2*o,10));const{shapeSvg:l,bbox:u,label:d}=await Jr(t,e,Wr(e)),h=(e!=null&&e.width?e==null?void 0:e.width:u.width)+a*2+2*o,f=(e!=null&&e.height?e==null?void 0:e.height:u.height)+s*2+2*o,p=h-2*o,g=f-2*o,m=-p/2,U=-g/2,{cssStyles:y}=e,b=fr.svg(l),v=pr(e,{}),w=[{x:m-o,y:U+o},{x:m-o,y:U+g+o},{x:m+p-o,y:U+g+o},{x:m+p-o,y:U+g},{x:m+p,y:U+g},{x:m+p,y:U+g-o},{x:m+p+o,y:U+g-o},{x:m+p+o,y:U-o},{x:m+o,y:U-o},{x:m+o,y:U},{x:m,y:U},{x:m,y:U+o}],T=[{x:m,y:U+o},{x:m+p-o,y:U+o},{x:m+p-o,y:U+g},{x:m+p,y:U+g},{x:m+p,y:U},{x:m,y:U}];e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const S=Vn(w);let C=b.path(S,v);const k=Vn(T);let E=b.path(k,v);e.look!=="handDrawn"&&(C=EW(C),E=EW(E));const A=l.insert("g",":first-child");return A.insert(()=>C),A.insert(()=>E),A.attr("class","basic label-container outer-path"),y&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),d.attr("transform",`translate(${-(u.width/2)-o-(u.x-(u.left??0))}, ${-(u.height/2)+o-(u.y-(u.top??0))})`),Tr(e,A),e.intersect=function(M){return lr.polygon(e,w,M)},l}x(OCe,"multiRect");async function DCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await Jr(t,e,Wr(e)),o=e.padding??0,l=e.look==="neo"?16:o,u=e.look==="neo"?12:o;let d=!0;(e.width||e.height)&&(d=!1,e.width=((e==null?void 0:e.width)??0)-l*2,e.height=((e==null?void 0:e.height)??0)-u*3);const h=Math.max(a.width,(e==null?void 0:e.width)??0)+l*2,f=Math.max(a.height,(e==null?void 0:e.height)??0)+u*3,p=e.look==="neo"?f/4:f/8,g=f+(d?p/2:-p/2),m=-h/2,U=-g/2,y=10,{cssStyles:b}=e,v=Gg(m-y,U+g+y,m+h-y,U+g+y,p,.8),w=v==null?void 0:v[v.length-1],T=[{x:m-y,y:U+y},{x:m-y,y:U+g+y},...v,{x:m+h-y,y:w.y-y},{x:m+h,y:w.y-y},{x:m+h,y:w.y-2*y},{x:m+h+y,y:w.y-2*y},{x:m+h+y,y:U-y},{x:m+y,y:U-y},{x:m+y,y:U},{x:m,y:U},{x:m,y:U+y}],S=[{x:m,y:U+y},{x:m+h-y,y:U+y},{x:m+h-y,y:w.y-y},{x:m+h,y:w.y-y},{x:m+h,y:U},{x:m,y:U}],C=fr.svg(i),k=pr(e,{});e.look!=="handDrawn"&&(k.roughness=0,k.fillStyle="solid");const E=Vn(T),A=C.path(E,k),M=Vn(S),P=C.path(M,k),N=i.insert(()=>A,":first-child");return N.insert(()=>P),N.attr("class","basic label-container outer-path"),b&&e.look!=="handDrawn"&&N.selectAll("path").attr("style",b),n&&e.look!=="handDrawn"&&N.selectAll("path").attr("style",n),N.attr("transform",`translate(0,${-p/2})`),s.attr("transform",`translate(${-(a.width/2)-y-(a.x-(a.left??0))}, ${-(a.height/2)+y-p/2-(a.y-(a.top??0))})`),Tr(e,N),e.intersect=function(I){return lr.polygon(e,T,I)},i}x(DCe,"multiWaveEdgedRectangle");async function PCe(t,e,{config:{themeVariables:r}}){const{labelStyles:n,nodeStyles:i}=ur(e);e.labelStyle=n,e.useHtmlLabels||yi(xr())||(e.centerLabel=!0);const{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=Math.max(o.width+(e.padding??0)*2,(e==null?void 0:e.width)??0),d=Math.max(o.height+(e.padding??0)*2,(e==null?void 0:e.height)??0),h=-u/2,f=-d/2,{cssStyles:p}=e,g=fr.svg(s),m=pr(e,{fill:r.noteBkgColor,stroke:r.noteBorderColor});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const U=g.rectangle(h,f,u,d,m),y=s.insert(()=>U,":first-child");return y.attr("class","basic label-container outer-path"),l.attr("class","label noteLabel"),p&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",p),i&&e.look!=="handDrawn"&&y.selectAll("path").attr("style",i),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),Tr(e,y),e.intersect=function(b){return lr.rect(e,b)},s}x(PCe,"note");var Gwt=x((t,e,r)=>[`M${t+r/2},${e}`,`L${t+r},${e-r/2}`,`L${t+r/2},${e-r}`,`L${t},${e-r/2}`,"Z"].join(" "),"createDecisionBoxPathD");async function _Ce(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await Jr(t,e,Wr(e)),s=a.width+(e.padding??0),o=a.height+(e.padding??0),l=s+o,u=.5,d=[{x:l/2,y:0},{x:l,y:-l/2},{x:l/2,y:-l},{x:0,y:-l/2}];let h;const{cssStyles:f}=e;if(e.look==="handDrawn"){const p=fr.svg(i),g=pr(e,{}),m=Gwt(0,0,l),U=p.path(m,g);h=i.insert(()=>U,":first-child").attr("transform",`translate(${-l/2+u}, ${l/2})`),f&&h.attr("style",f)}else h=sp(i,l,l,d),h.attr("transform",`translate(${-l/2+u}, ${l/2})`);return n&&h.attr("style",n),Tr(e,h),e.calcIntersect=function(p,g){const m=p.width,U=[{x:m/2,y:0},{x:m,y:-m/2},{x:m/2,y:-m},{x:0,y:-m/2}],y=lr.polygon(p,U,g);return{x:y.x-.5,y:y.y-.5}},e.intersect=function(p){return this.calcIntersect(e,p)},i}x(_Ce,"question");async function BCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?21:i??0,s=e.look==="neo"?12:i??0,{shapeSvg:o,bbox:l,label:u}=await Jr(t,e,Wr(e)),d=((e==null?void 0:e.width)??l.width)+(e.look==="neo"?a*2:a),h=((e==null?void 0:e.height)??l.height)+(e.look==="neo"?s*2:s),f=-d/2,p=-h/2,g=p/2,m=[{x:f+g,y:p},{x:f,y:0},{x:f+g,y:-p},{x:-f,y:-p},{x:-f,y:p}],{cssStyles:U}=e,y=fr.svg(o),b=pr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const v=Vn(m),w=y.path(v,b),T=o.insert(()=>w,":first-child");return T.attr("class","basic label-container outer-path"),U&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",U),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),T.attr("transform",`translate(${-g/2},0)`),u.attr("transform",`translate(${-g/2-l.width/2-(l.x-(l.left??0))}, ${-(l.height/2)-(l.y-(l.top??0))})`),Tr(e,T),e.intersect=function(S){return lr.polygon(e,m,S)},o}x(BCe,"rect_left_inv_arrow");async function $Ce(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;let i;e.cssClasses?i="node "+e.cssClasses:i="node default";const a=t.insert("g").attr("class",i).attr("id",e.domId||e.id),s=a.insert("g"),o=a.insert("g").attr("class","label").attr("style",n),l=e.description,u=e.label,d=await ug(o,u,e.labelStyle,!0,!0);let h={width:0,height:0};if(yi(Ve())){const k=d.children[0],E=vt(d);h=k.getBoundingClientRect(),E.attr("width",h.width),E.attr("height",h.height)}he.info("Text 2",l);const f=l||[],p=d.getBBox(),g=await ug(o,Array.isArray(f)?f.join("<br/>"):f,e.labelStyle,!0,!0),m=g.children[0],U=vt(g);h=m.getBoundingClientRect(),U.attr("width",h.width),U.attr("height",h.height);const y=(e.padding||0)/2;vt(g).attr("transform","translate( "+(h.width>p.width?0:(p.width-h.width)/2)+", "+(p.height+y+5)+")"),vt(d).attr("transform","translate( "+(h.width<p.width?0:-(p.width-h.width)/2)+", 0)"),h=o.node().getBBox(),o.attr("transform","translate("+-h.width/2+", "+(-h.height/2-y+3)+")");const b=h.width+(e.padding||0),v=h.height+(e.padding||0),w=-h.width/2-y,T=-h.height/2-y;let S,C;if(e.look==="handDrawn"){const k=fr.svg(a),E=pr(e,{}),A=k.path(S1(w,T,b,v,e.rx||0),E),M=k.line(-h.width/2-y,-h.height/2-y+p.height+y,h.width/2+y,-h.height/2-y+p.height+y,E);C=a.insert(()=>(he.debug("Rough node insert CXC",A),M),":first-child"),S=a.insert(()=>(he.debug("Rough node insert CXC",A),A),":first-child")}else S=s.insert("rect",":first-child"),C=s.insert("line"),S.attr("class","outer title-state").attr("style",n).attr("x",-h.width/2-y).attr("y",-h.height/2-y).attr("width",h.width+(e.padding||0)).attr("height",h.height+(e.padding||0)),C.attr("class","divider").attr("x1",-h.width/2-y).attr("x2",h.width/2+y).attr("y1",-h.height/2-y+p.height+y).attr("y2",-h.height/2-y+p.height+y);return Tr(e,S),e.intersect=function(k){return lr.rect(e,k)},a}x($Ce,"rectWithTitle");async function FCe(t,e,{config:{themeVariables:r}}){const n=(r==null?void 0:r.radius)??5,i={rx:n,ry:n,labelPaddingX:((e==null?void 0:e.padding)??0)*1,labelPaddingY:((e==null?void 0:e.padding)??0)*1};return Z4(t,e,i)}x(FCe,"roundedRect");var Q1=8;async function zCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0,{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=((e==null?void 0:e.width)??o.width)+i*2+(e.look==="neo"?Q1:Q1*2),d=((e==null?void 0:e.height)??o.height)+a*2,h=u-Q1,f=d,p=Q1-u/2,g=-d/2,{cssStyles:m}=e,U=fr.svg(s),y=pr(e,{});e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const b=[{x:p,y:g},{x:p+h,y:g},{x:p+h,y:g+f},{x:p-Q1,y:g+f},{x:p-Q1,y:g},{x:p,y:g},{x:p,y:g+f}],v=U.polygon(b.map(T=>[T.x,T.y]),y),w=s.insert(()=>v,":first-child");return w.attr("class","basic label-container outer-path").attr("style",ro(m)),n&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),m&&e.look!=="handDrawn"&&w.selectAll("path").attr("style",n),l.attr("transform",`translate(${Q1/2-o.width/2-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),Tr(e,w),e.intersect=function(T){return lr.rect(e,T)},s}x(zCe,"shadedProcess");async function HCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.width=Math.max(((e==null?void 0:e.width)??0)-a*2,10),e.height=Math.max(((e==null?void 0:e.height)??0)/1.5-s*2,10));const{shapeSvg:o,bbox:l,label:u}=await Jr(t,e,Wr(e)),d=(e!=null&&e.width?e==null?void 0:e.width:l.width)+a*2,h=((e!=null&&e.height?e==null?void 0:e.height:l.height)+s*2)*1.5,f=d,p=h/1.5,g=-f/2,m=-p/2,{cssStyles:U}=e,y=fr.svg(o),b=pr(e,{});e.look!=="handDrawn"&&(b.roughness=0,b.fillStyle="solid");const v=[{x:g,y:m},{x:g,y:m+p},{x:g+f,y:m+p},{x:g+f,y:m-p/2}],w=Vn(v),T=y.path(w,b),S=o.insert(()=>T,":first-child");return S.attr("class","basic label-container outer-path"),U&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",U),n&&e.look!=="handDrawn"&&S.selectChildren("path").attr("style",n),S.attr("transform",`translate(0, ${p/4})`),u.attr("transform",`translate(${-f/2+(e.padding??0)-(l.x-(l.left??0))}, ${-p/4+(e.padding??0)-(l.y-(l.top??0))})`),Tr(e,S),e.intersect=function(C){return lr.polygon(e,v,C)},o}x(HCe,"slopedRect");async function VCe(t,e){const r=e.padding??0,n=e.look==="neo"?16:r*2,i=e.look==="neo"?12:r,a={rx:0,ry:0,labelPaddingX:e.labelPaddingX??n,labelPaddingY:i};return Z4(t,e,a)}x(VCe,"squareRect");async function GCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?20:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=l.height+(e.look==="neo"?s*2:s),d=l.width+u/4+(e.look==="neo"?a*2:a),h=u/2,{cssStyles:f}=e,p=fr.svg(o),g=pr(e,{});e.look!=="handDrawn"&&(g.roughness=0,g.fillStyle="solid");const m=[{x:-d/2+h,y:-u/2},{x:d/2-h,y:-u/2},...wT(-d/2+h,0,h,50,90,270),{x:d/2-h,y:u/2},...wT(d/2-h,0,h,50,270,450)],U=Vn(m),y=p.path(U,g),b=o.insert(()=>y,":first-child");return b.attr("class","basic label-container outer-path"),f&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",f),n&&e.look!=="handDrawn"&&b.selectChildren("path").attr("style",n),Tr(e,b),e.intersect=function(v){return lr.polygon(e,m,v)},o}x(GCe,"stadium");async function WCe(t,e){const r={rx:e.look==="neo"?3:5,ry:e.look==="neo"?3:5};return Z4(t,e,r)}x(WCe,"state");function qCe(t,e,{config:{themeVariables:r}}){var b,v;const{labelStyles:n,nodeStyles:i}=ur(e);e.labelStyle=n;const{cssStyles:a}=e,{lineColor:s,stateBorder:o,nodeBorder:l,nodeShadow:u}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const d=t.insert("g").attr("class","node default").attr("id",e.domId??e.id),h=fr.svg(d),f=pr(e,{});e.look!=="handDrawn"&&(f.roughness=0,f.fillStyle="solid");const p=h.circle(0,0,e.width,{...f,stroke:s,strokeWidth:2}),g=o??l,m=(e.width??0)*5/14,U=h.circle(0,0,m,{...f,fill:g,stroke:g,strokeWidth:2,fillStyle:"solid"}),y=d.insert(()=>p,":first-child");if(y.insert(()=>U),e.look!=="handDrawn"&&y.attr("class","outer-path"),a&&y.selectAll("path").attr("style",a),i&&y.selectAll("path").attr("style",i),e.width<25&&u&&e.look!=="handDrawn"){const w=((v=(b=t.node())==null?void 0:b.ownerSVGElement)==null?void 0:v.id)??"",T=w?`${w}-drop-shadow-small`:"drop-shadow-small";y.attr("style",`filter:url(#${T})`)}return Tr(e,y),e.intersect=function(w){return lr.circle(e,(e.width??0)/2,w)},d}x(qCe,"stateEnd");function jCe(t,e,{config:{themeVariables:r}}){var o,l;const{lineColor:n,nodeShadow:i}=r;(e.width||e.height)&&((e.width??0)<14&&(e.width=14),(e.height??0)<14&&(e.height=14)),e.width||(e.width=14),e.height||(e.height=14);const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let s;if(e.look==="handDrawn"){const d=fr.svg(a).circle(0,0,e.width,T9t(n));s=a.insert(()=>d),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14)}else s=a.insert("circle",":first-child"),s.attr("class","state-start").attr("r",(e.width??7)/2).attr("width",e.width??14).attr("height",e.height??14);if(e.width<25&&i&&e.look!=="handDrawn"){const u=((l=(o=t.node())==null?void 0:o.ownerSVGElement)==null?void 0:l.id)??"",d=u?`${u}-drop-shadow-small`:"drop-shadow-small";s.attr("style",`filter:url(#${d})`)}return Tr(e,s),e.intersect=function(u){return lr.circle(e,(e.width??7)/2,u)},a}x(jCe,"stateStart");var vy=8;async function YCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=(e==null?void 0:e.padding)??8,a=e.look==="neo"?28:i,s=e.look==="neo"?12:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=((e==null?void 0:e.width)??l.width)+2*vy+a,d=((e==null?void 0:e.height)??l.height)+s,h=u-2*vy,f=d,p=-u/2,g=-d/2,m=[{x:0,y:0},{x:h,y:0},{x:h,y:-f},{x:0,y:-f},{x:0,y:0},{x:-8,y:0},{x:h+8,y:0},{x:h+8,y:-f},{x:-8,y:-f},{x:-8,y:0}];if(e.look==="handDrawn"){const U=fr.svg(o),y=pr(e,{}),b=U.rectangle(p,g,h+16,f,y),v=U.line(p+vy,g,p+vy,g+f,y),w=U.line(p+vy+h,g,p+vy+h,g+f,y);o.insert(()=>v,":first-child"),o.insert(()=>w,":first-child");const T=o.insert(()=>b,":first-child"),{cssStyles:S}=e;T.attr("class","basic label-container").attr("style",ro(S)),Tr(e,T)}else{const U=sp(o,h,f,m);n&&U.attr("style",n),Tr(e,U)}return e.intersect=function(U){return lr.polygon(e,m,U)},o}x(YCe,"subroutine");var q$=.2;async function XCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;(e.width||e.height)&&(e.height=Math.max(((e==null?void 0:e.height)??0)-s*2,10),e.width=Math.max(((e==null?void 0:e.width)??0)-a*2-q$*(e.height+s*2),10));const{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=(e!=null&&e.height?e==null?void 0:e.height:l.height)+s*2,d=q$*u,h=q$*u,p=(e!=null&&e.width?e==null?void 0:e.width:l.width)+a*2+d-d,g=u,m=-p/2,U=-g/2,{cssStyles:y}=e,b=fr.svg(o),v=pr(e,{}),w=[{x:m-d/2,y:U},{x:m+p+d/2,y:U},{x:m+p+d/2,y:U+g},{x:m-d/2,y:U+g}],T=[{x:m+p-d/2,y:U+g},{x:m+p+d/2,y:U+g},{x:m+p+d/2,y:U+g-h}];e.look!=="handDrawn"&&(v.roughness=0,v.fillStyle="solid");const S=Vn(w),C=b.path(S,v),k=Vn(T),E=b.path(k,{...v,fillStyle:"solid"}),A=o.insert(()=>E,":first-child");return A.insert(()=>C,":first-child"),A.attr("class","basic label-container outer-path"),y&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",y),n&&e.look!=="handDrawn"&&A.selectAll("path").attr("style",n),Tr(e,A),e.intersect=function(M){return lr.polygon(e,w,M)},o}x(XCe,"taggedRect");async function KCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,label:s}=await Jr(t,e,Wr(e)),o=Math.max(a.width+(e.padding??0)*2,(e==null?void 0:e.width)??0),l=Math.max(a.height+(e.padding??0)*2,(e==null?void 0:e.height)??0),u=l/8,d=.2*o,h=.2*l,f=l+u,{cssStyles:p}=e,g=fr.svg(i),m=pr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const U=[{x:-o/2-o/2*.1,y:f/2},...Gg(-o/2-o/2*.1,f/2,o/2+o/2*.1,f/2,u,.8),{x:o/2+o/2*.1,y:-f/2},{x:-o/2-o/2*.1,y:-f/2}],y=-o/2+o/2*.1,b=-f/2-h*.4,v=[{x:y+o-d,y:(b+l)*1.3},{x:y+o,y:b+l-h},{x:y+o,y:(b+l)*.9},...Gg(y+o,(b+l)*1.25,y+o-d,(b+l)*1.3,-l*.02,.5)],w=Vn(U),T=g.path(w,m),S=Vn(v),C=g.path(S,{...m,fillStyle:"solid"}),k=i.insert(()=>C,":first-child");return k.insert(()=>T,":first-child"),k.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",n),k.attr("transform",`translate(0,${-u/2})`),s.attr("transform",`translate(${-o/2+(e.padding??0)-(a.x-(a.left??0))},${-l/2+(e.padding??0)-u/2-(a.y-(a.top??0))})`),Tr(e,k),e.intersect=function(E){return lr.polygon(e,U,E)},i}x(KCe,"taggedWaveEdgedRectangle");async function ZCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a}=await Jr(t,e,Wr(e)),s=Math.max(a.width+(e.padding??0),(e==null?void 0:e.width)||0),o=Math.max(a.height+(e.padding??0),(e==null?void 0:e.height)||0),l=-s/2,u=-o/2,d=i.insert("rect",":first-child");return d.attr("class","text").attr("style",n).attr("rx",0).attr("ry",0).attr("x",l).attr("y",u).attr("width",s).attr("height",o),Tr(e,d),e.intersect=function(h){return lr.rect(e,h)},i}x(ZCe,"text");var Wwt=x((t,e,r,n,i,a)=>`M${t},${e}
a${i},${a} 0,0,1 0,${-n}
l${r},0
a${i},${a} 0,0,1 0,${n}
M${r},${-n}
a${i},${a} 0,0,0 0,${n}
l${-r},0`,"createCylinderPathD"),qwt=x((t,e,r,n,i,a)=>[`M${t},${e}`,`M${t+r},${e}`,`a${i},${a} 0,0,0 0,${-n}`,`l${-r},0`,`a${i},${a} 0,0,0 0,${n}`,`l${r},0`].join(" "),"createOuterCylinderPathD"),jwt=x((t,e,r,n,i,a)=>[`M${t+r/2},${-n/2}`,`a${i},${a} 0,0,0 0,${n}`].join(" "),"createInnerCylinderPathD"),hhe=5,fhe=10;async function JCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?12:i/2;if(e.width||e.height){const m=e.height??0;e.height=(e.height??0)-a,e.height<hhe&&(e.height=hhe);const y=m/2/(2.5+m/50);e.width=(e.width??0)-a-y*3,e.width<fhe&&(e.width=fhe)}const{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=(e.height?e.height:o.height)+a,d=u/2,h=d/(2.5+u/50),f=(e.width?e.width:o.width)+h+a,{cssStyles:p}=e;let g;if(e.look==="handDrawn"){const m=fr.svg(s),U=qwt(0,0,f,u,h,d),y=jwt(0,0,f,u,h,d),b=m.path(U,pr(e,{})),v=m.path(y,pr(e,{fill:"none"}));g=s.insert(()=>v,":first-child"),g=s.insert(()=>b,":first-child"),g.attr("class","basic label-container"),p&&g.attr("style",p)}else{const m=Wwt(0,0,f,u,h,d);g=s.insert("path",":first-child").attr("d",m).attr("class","basic label-container").attr("style",ro(p)).attr("style",n),g.attr("class","basic label-container outer-path"),p&&g.selectAll("path").attr("style",p),n&&g.selectAll("path").attr("style",n)}return g.attr("label-offset-x",h),g.attr("transform",`translate(${-f/2}, ${u/2} )`),l.attr("transform",`translate(${-(o.width/2)-h-(o.x-(o.left??0))}, ${-(o.height/2)-(o.y-(o.top??0))})`),Tr(e,g),e.intersect=function(m){const U=lr.rect(e,m),y=U.y-(e.y??0);if(d!=0&&(Math.abs(y)<(e.height??0)/2||Math.abs(y)==(e.height??0)/2&&Math.abs(U.x-(e.x??0))>(e.width??0)/2-h)){let b=h*h*(1-y*y/(d*d));b!=0&&(b=Math.sqrt(Math.abs(b))),b=h-b,m.x-(e.x??0)>0&&(b=-b),U.x+=b}return U},s}x(JCe,"tiltedCylinder");async function QCe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=(e.look==="neo",i),s=e.look==="neo"?i*2:i,{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=((e==null?void 0:e.height)??l.height)+a,d=((e==null?void 0:e.width)??l.width)+s,h=[{x:-3*u/6,y:0},{x:d+3*u/6,y:0},{x:d,y:-u},{x:0,y:-u}];let f;const{cssStyles:p}=e;if(e.look==="handDrawn"){const g=fr.svg(o),m=pr(e,{}),U=Vn(h),y=g.path(U,m);f=o.insert(()=>y,":first-child").attr("transform",`translate(${-d/2}, ${u/2})`),p&&f.attr("style",p)}else f=sp(o,d,u,h);return n&&f.attr("style",n),e.width=d,e.height=u,Tr(e,f),e.intersect=function(g){return lr.polygon(e,h,g)},o}x(QCe,"trapezoid");async function eSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i,o=15,l=5;(e.width||e.height)&&(e.height=(e.height??0)-s*2,e.height<l&&(e.height=l),e.width=(e.width??0)-a*2,e.width<o&&(e.width=o));const{shapeSvg:u,bbox:d}=await Jr(t,e,Wr(e)),h=(e!=null&&e.width?e==null?void 0:e.width:d.width)+a*2,f=(e!=null&&e.height?e==null?void 0:e.height:d.height)+s*2,{cssStyles:p}=e,g=fr.svg(u),m=pr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const U=[{x:-h/2*.8,y:-f/2},{x:h/2*.8,y:-f/2},{x:h/2,y:-f/2*.6},{x:h/2,y:f/2},{x:-h/2,y:f/2},{x:-h/2,y:-f/2*.6}],y=Vn(U),b=g.path(y,m),v=u.insert(()=>b,":first-child");return v.attr("class","basic label-container outer-path"),p&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",p),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),Tr(e,v),e.intersect=function(w){return lr.polygon(e,U,w)},u}x(eSe,"trapezoidalPentagon");var phe=10,ghe=10;async function tSe(t,e){var w;const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?i*2:i;(e.width||e.height)&&(e.width=(((e==null?void 0:e.width)??0)-a)/2,e.width<ghe&&(e.width=ghe),e.height=(e==null?void 0:e.height)??0,e.height<phe&&(e.height=phe));const{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=sf((w=Ve().flowchart)==null?void 0:w.htmlLabels),d=(e!=null&&e.width?e==null?void 0:e.width:o.width)+a,h=e!=null&&e.height?e==null?void 0:e.height:d+o.height,f=h,p=[{x:0,y:0},{x:f,y:0},{x:f/2,y:-h}],{cssStyles:g}=e,m=fr.svg(s),U=pr(e,{});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const y=Vn(p),b=m.path(y,U),v=s.insert(()=>b,":first-child").attr("transform",`translate(${-h/2}, ${h/2})`).attr("class","outer-path");return g&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",g),n&&e.look!=="handDrawn"&&v.selectChildren("path").attr("style",n),e.width=d,e.height=h,Tr(e,v),l.attr("transform",`translate(${-o.width/2-(o.x-(o.left??0))}, ${h/2-(o.height+(e.padding??0)/(u?2:1)-(o.y-(o.top??0)))})`),e.intersect=function(T){return he.info("Triangle intersect",e,p,T),lr.polygon(e,p,T)},s}x(tSe,"triangle");async function rSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?12:i;let o=!0;(e.width||e.height)&&(o=!1,e.width=((e==null?void 0:e.width)??0)-a*2,e.width<10&&(e.width=10),e.height=((e==null?void 0:e.height)??0)-s*2,e.height<10&&(e.height=10));const{shapeSvg:l,bbox:u,label:d}=await Jr(t,e,Wr(e)),h=(e!=null&&e.width?e==null?void 0:e.width:u.width)+(a??0)*2,f=(e!=null&&e.height?e==null?void 0:e.height:u.height)+(s??0)*2,p=e.look==="neo"?f/4:f/8,g=f+(o?p:-p),{cssStyles:m}=e,y=14-h,b=y>0?y/2:0,v=fr.svg(l),w=pr(e,{});e.look!=="handDrawn"&&(w.roughness=0,w.fillStyle="solid");const T=[{x:-h/2-b,y:g/2},...Gg(-h/2-b,g/2,h/2+b,g/2,p,.8),{x:h/2+b,y:-g/2},{x:-h/2-b,y:-g/2}],S=Vn(T),C=v.path(S,w),k=l.insert(()=>C,":first-child");return k.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&k.selectAll("path").attr("style",n),k.attr("transform",`translate(0,${-p/2})`),d.attr("transform",`translate(${-h/2+(e.padding??0)-(u.x-(u.left??0))},${-f/2+(e.padding??0)-p-(u.y-(u.top??0))})`),Tr(e,k),e.intersect=function(E){return lr.polygon(e,T,E)},l}x(rSe,"waveEdgedRectangle");async function nSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.padding??0,a=e.look==="neo"?16:i,s=e.look==="neo"?20:i;if(e.width||e.height){e.width=(e==null?void 0:e.width)??0,e.width<20&&(e.width=20),e.height=(e==null?void 0:e.height)??0,e.height<10&&(e.height=10);const w=Math.min(e.height*.2,e.height/4);e.height=Math.ceil(e.height-s-w*(20/9)),e.width=e.width-a*2}const{shapeSvg:o,bbox:l}=await Jr(t,e,Wr(e)),u=(e!=null&&e.width?e==null?void 0:e.width:l.width)+a*2,d=(e!=null&&e.height?e==null?void 0:e.height:l.height)+s,h=d/8,f=d+h*2,{cssStyles:p}=e,g=fr.svg(o),m=pr(e,{});e.look!=="handDrawn"&&(m.roughness=0,m.fillStyle="solid");const U=[{x:-u/2,y:f/2},...Gg(-u/2,f/2,u/2,f/2,h,1),{x:u/2,y:-f/2},...Gg(u/2,-f/2,-u/2,-f/2,h,-1)],y=Vn(U),b=g.path(y,m),v=o.insert(()=>b,":first-child");return v.attr("class","basic label-container"),p&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",p),n&&e.look!=="handDrawn"&&v.selectAll("path").attr("style",n),Tr(e,v),e.intersect=function(w){return lr.polygon(e,U,w)},o}x(nSe,"waveRectangle");var Ia=10;async function iSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e.look==="neo"?16:e.padding??0,a=e.look==="neo"?12:e.padding??0;(e.width||e.height)&&(e.width=Math.max(((e==null?void 0:e.width)??0)-i*2-Ia,10),e.height=Math.max(((e==null?void 0:e.height)??0)-a*2-Ia,10));const{shapeSvg:s,bbox:o,label:l}=await Jr(t,e,Wr(e)),u=(e!=null&&e.width?e==null?void 0:e.width:o.width)+i*2+Ia,d=(e!=null&&e.height?e==null?void 0:e.height:o.height)+a*2+Ia,h=u-Ia,f=d-Ia,p=-h/2,g=-f/2,{cssStyles:m}=e,U=fr.svg(s),y=pr(e,{}),b=[{x:p-Ia,y:g-Ia},{x:p-Ia,y:g+f},{x:p+h,y:g+f},{x:p+h,y:g-Ia}],v=`M${p-Ia},${g-Ia} L${p+h},${g-Ia} L${p+h},${g+f} L${p-Ia},${g+f} L${p-Ia},${g-Ia}
M${p-Ia},${g} L${p+h},${g}
M${p},${g-Ia} L${p},${g+f}`;e.look!=="handDrawn"&&(y.roughness=0,y.fillStyle="solid");const w=U.path(v,y),T=s.insert(()=>w,":first-child");return T.attr("transform",`translate(${Ia/2}, ${Ia/2})`),T.attr("class","basic label-container outer-path"),m&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",m),n&&e.look!=="handDrawn"&&T.selectAll("path").attr("style",n),l.attr("transform",`translate(${-(o.width/2)+Ia/2-(o.x-(o.left??0))}, ${-(o.height/2)+Ia/2-(o.y-(o.top??0))})`),Tr(e,T),e.intersect=function(S){return lr.polygon(e,b,S)},s}x(iSe,"windowPane");var mhe=new Set(["redux-color","redux-dark-color"]),Ywt=new Set(["redux","redux-dark","redux-color","redux-dark-color"]);async function YQ(t,e){var K,W,oe,Z;const r=e;r.alias&&(e.label=r.alias);const{theme:n,themeVariables:i}=xr(),{rowEven:a,rowOdd:s,nodeBorder:o,borderColorArray:l}=i;if(e.look==="handDrawn"){const{themeVariables:J}=xr(),{background:ne}=J,ie={...e,id:e.id+"-background",domId:(e.domId||e.id)+"-background",look:"default",cssStyles:["stroke: none",`fill: ${ne}`]};await YQ(t,ie)}const u=xr();e.useHtmlLabels=u.htmlLabels;let d=((K=u.er)==null?void 0:K.diagramPadding)??10,h=((W=u.er)==null?void 0:W.entityPadding)??6;const{cssStyles:f}=e,{labelStyles:p,nodeStyles:g}=ur(e);if(r.attributes.length===0&&e.label){const J={rx:0,ry:0,labelPaddingX:d,labelPaddingY:d*1.5};Bl(e.label,u)+J.labelPaddingX*2<u.er.minEntityWidth&&(e.width=u.er.minEntityWidth);const ne=await Z4(t,e,J);if(n!=null&&mhe.has(n)){const ie=r.colorIndex??0;ne.attr("data-color-id",`color-${ie%l.length}`)}if(!sf(u.htmlLabels)){const ie=ne.select("text"),me=(oe=ie.node())==null?void 0:oe.getBBox();ie.attr("transform",`translate(${-me.width/2}, 0)`)}return ne}u.htmlLabels||(d*=1.25,h*=1.25);let m=Wr(e);m||(m="node default");const U=t.insert("g").attr("class",m).attr("id",e.domId||e.id),y=await r2(U,e.label??"",u,0,0,["name"],p);y.height+=h;let b=0;const v=[],w=[];let T=0,S=0,C=0,k=0,E=!0,A=!0;for(const J of r.attributes){const ne=await r2(U,J.type,u,0,b,["attribute-type"],p);T=Math.max(T,ne.width+d);const ie=await r2(U,J.name,u,0,b,["attribute-name"],p);S=Math.max(S,ie.width+d);const me=await r2(U,J.keys.join(),u,0,b,["attribute-keys"],p);C=Math.max(C,me.width+d);const te=await r2(U,J.comment,u,0,b,["attribute-comment"],p);k=Math.max(k,te.width+d);const Re=Math.max(ne.height,ie.height,me.height,te.height)+h;w.push({yOffset:b,rowHeight:Re}),b+=Re}let M=4;C<=d&&(E=!1,C=0,M--),k<=d&&(A=!1,k=0,M--);const P=U.node().getBBox();if(y.width+d*2-(T+S+C+k)>0){const J=y.width+d*2-(T+S+C+k);T+=J/M,S+=J/M,C>0&&(C+=J/M),k>0&&(k+=J/M)}const N=T+S+C+k,I=fr.svg(U),L=pr(e,{});e.look!=="handDrawn"&&(L.roughness=0,L.fillStyle="solid");let _=0;w.length>0&&(_=w.reduce((J,ne)=>J+((ne==null?void 0:ne.rowHeight)??0),0));const D=Math.max(P.width+d*2,(e==null?void 0:e.width)||0,N),O=Math.max((_??0)+y.height,(e==null?void 0:e.height)||0),B=-D/2,F=-O/2;if(U.selectAll("g:not(:first-child)").each((J,ne,ie)=>{const me=vt(ie[ne]),te=me.attr("transform");let Re=0,_e=0;if(te){const ce=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(te);ce&&(Re=parseFloat(ce[1]),_e=parseFloat(ce[2]),me.attr("class").includes("attribute-name")?Re+=T:me.attr("class").includes("attribute-keys")?Re+=T+S:me.attr("class").includes("attribute-comment")&&(Re+=T+S+C))}me.attr("transform",`translate(${B+d/2+Re}, ${_e+F+y.height+h/2})`)}),U.select(".name").attr("transform","translate("+-y.width/2+", "+(F+h/2)+")"),n!=null&&mhe.has(n)){const J=r.colorIndex??0;U.attr("data-color-id",`color-${J%l.length}`)}const z=I.rectangle(B,F,D,O,L),$=U.insert(()=>z,":first-child").attr("class","outer-path").attr("style",f.join(""));v.push(0);for(const[J,ne]of w.entries()){const me=(J+1)%2===0&&ne.yOffset!==0,te=I.rectangle(B,y.height+F+(ne==null?void 0:ne.yOffset),D,ne==null?void 0:ne.rowHeight,{...L,fill:me?a:s,stroke:o});U.insert(()=>te,"g.label").attr("style",f.join("")).attr("class",`row-rect-${me?"even":"odd"}`)}const H=1e-4;let V=n2(B,y.height+F,D+B,y.height+F,H),G=I.polygon(V.map(J=>[J.x,J.y]),L);if(U.insert(()=>G).attr("class","divider"),V=n2(T+B,y.height+F,T+B,O+F,H),G=I.polygon(V.map(J=>[J.x,J.y]),L),U.insert(()=>G).attr("class","divider"),E){const J=T+S+B;V=n2(J,y.height+F,J,O+F,H),G=I.polygon(V.map(ne=>[ne.x,ne.y]),L),U.insert(()=>G).attr("class","divider")}if(A){const J=T+S+C+B;V=n2(J,y.height+F,J,O+F,H),G=I.polygon(V.map(ne=>[ne.x,ne.y]),L),U.insert(()=>G).attr("class","divider")}for(const J of v){const ne=y.height+F+J;V=n2(B,ne,D+B,ne,H),G=I.polygon(V.map(ie=>[ie.x,ie.y]),L),U.insert(()=>G).attr("class","divider")}if(Tr(e,$),g&&e.look!=="handDrawn")if(n!=null&&Ywt.has(n))U.selectAll("path").attr("style",g);else{const J=g.split(";"),ne=(Z=J==null?void 0:J.filter(ie=>ie.includes("stroke")))==null?void 0:Z.map(ie=>`${ie}`).join("; ");U.selectAll("path").attr("style",ne??""),U.selectAll(".row-rect-even path").attr("style",g)}return e.intersect=function(J){return lr.rect(e,J)},U}x(YQ,"erBox");async function r2(t,e,r,n=0,i=0,a=[],s=""){const o=t.insert("g").attr("class",`label ${a.join(" ")}`).attr("transform",`translate(${n}, ${i})`).attr("style",s);e!==jp(e)&&(e=jp(e),e=e.replaceAll("<","&lt;").replaceAll(">","&gt;"));const l=o.node().appendChild(await ll(o,e,{width:Bl(e,r)+100,style:s,useHtmlLabels:r.htmlLabels},r));if(e.includes("&lt;")||e.includes("&gt;")){let d=l.children[0];for(d.textContent=d.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">");d.childNodes[0];)d=d.childNodes[0],d.textContent=d.textContent.replaceAll("&lt;","<").replaceAll("&gt;",">")}let u=l.getBBox();if(sf(r.htmlLabels)){const d=l.children[0];d.style.textAlign="start";const h=vt(l);u=d.getBoundingClientRect(),h.attr("width",u.width),h.attr("height",u.height)}return u}x(r2,"addText");function n2(t,e,r,n,i){return t===r?[{x:t-i/2,y:e},{x:t+i/2,y:e},{x:r+i/2,y:n},{x:r-i/2,y:n}]:[{x:t,y:e-i/2},{x:t,y:e+i/2},{x:r,y:n+i/2},{x:r,y:n-i/2}]}x(n2,"lineToPolygon");async function aSe(t,e,r,n,i=r.class.padding??12){const a=n?0:3,s=t.insert("g").attr("class",Wr(e)).attr("id",e.domId||e.id);let o=null,l=null,u=null,d=null,h=0,f=0,p=0;if(o=s.insert("g").attr("class","annotation-group text"),e.annotations.length>0){const b=e.annotations[0];await $9(o,{text:`«${b}»`},0),h=o.node().getBBox().height}l=s.insert("g").attr("class","label-group text"),await $9(l,e,0,["font-weight: bolder"]);const g=l.node().getBBox();f=g.height,u=s.insert("g").attr("class","members-group text");let m=0;for(const b of e.members){const v=await $9(u,b,m,[b.parseClassifier()]);m+=v+a}p=u.node().getBBox().height,p<=0&&(p=i/2),d=s.insert("g").attr("class","methods-group text");let U=0;for(const b of e.methods){const v=await $9(d,b,U,[b.parseClassifier()]);U+=v+a}let y=s.node().getBBox();if(o!==null){const b=o.node().getBBox();o.attr("transform",`translate(${-b.width/2})`)}return l.attr("transform",`translate(${-g.width/2}, ${h})`),y=s.node().getBBox(),u.attr("transform",`translate(0, ${h+f+i*2})`),y=s.node().getBBox(),d.attr("transform",`translate(0, ${h+f+(p?p+i*4:i*2)})`),y=s.node().getBBox(),{shapeSvg:s,bbox:y}}x(aSe,"textHelper");async function $9(t,e,r,n=[]){const i=t.insert("g").attr("class","label").attr("style",n.join("; ")),a=xr();let s="useHtmlLabels"in e?e.useHtmlLabels:sf(a.htmlLabels)??!0,o="";"text"in e?o=e.text:o=e.label,!s&&o.startsWith("\\")&&(o=o.substring(1)),es(o)&&(s=!0);const l=await ll(i,KJ(O0(o)),{width:Bl(o,a)+50,classes:"markdown-node-label",useHtmlLabels:s},a);let u,d=1;if(s){const h=l.children[0],f=vt(l);d=h.innerHTML.split("<br>").length,h.innerHTML.includes("</math>")&&(d+=h.innerHTML.split("<mrow>").length-1);const p=h.getElementsByTagName("img");if(p){const g=o.replace(/<img[^>]*>/g,"").trim()==="";await Promise.all([...p].map(m=>new Promise(U=>{function y(){var b;if(m.style.display="flex",m.style.flexDirection="column",g){const v=((b=a.fontSize)==null?void 0:b.toString())??window.getComputedStyle(document.body).fontSize,T=parseInt(v,10)*5+"px";m.style.minWidth=T,m.style.maxWidth=T}else m.style.width="100%";U(m)}x(y,"setupImage"),setTimeout(()=>{m.complete&&y()}),m.addEventListener("error",y),m.addEventListener("load",y)})))}u=h.getBoundingClientRect(),f.attr("width",u.width),f.attr("height",u.height)}else{n.includes("font-weight: bolder")&&vt(l).selectAll("tspan").attr("font-weight",""),d=l.children.length;const h=l.children[0];(l.textContent===""||l.textContent.includes("&gt"))&&(h.textContent=o[0]+o.substring(1).replaceAll("&gt;",">").replaceAll("&lt;","<").trim(),o[1]===" "&&(h.textContent=h.textContent[0]+" "+h.textContent.substring(1))),h.textContent==="undefined"&&(h.textContent=""),u=l.getBBox()}return i.attr("transform","translate(0,"+(-u.height/(2*d)+r)+")"),u.height}x($9,"addText");async function sSe(t,e){var I,L;const r=Ve(),{themeVariables:n}=r,{useGradient:i}=n,a=r.class.padding??12,s=a,o=e.useHtmlLabels??sf(r.htmlLabels)??!0,l=e;l.annotations=l.annotations??[],l.members=l.members??[],l.methods=l.methods??[];const{shapeSvg:u,bbox:d}=await aSe(t,e,r,o,s),{labelStyles:h,nodeStyles:f}=ur(e);e.labelStyle=h,e.cssStyles=l.styles||"";const p=((I=l.styles)==null?void 0:I.join(";"))||f||"";e.cssStyles||(e.cssStyles=p.replaceAll("!important","").split(";"));const g=l.members.length===0&&l.methods.length===0&&!((L=r.class)!=null&&L.hideEmptyMembersBox),m=fr.svg(u),U=pr(e,{});e.look!=="handDrawn"&&(U.roughness=0,U.fillStyle="solid");const y=Math.max(e.width??0,d.width);let b=Math.max(e.height??0,d.height);const v=(e.height??0)>d.height;l.members.length===0&&l.methods.length===0?b+=s:l.members.length>0&&l.methods.length===0&&(b+=s*2);const w=-y/2,T=-b/2;let S=g?a*2:l.members.length===0&&l.methods.length===0?-a:0;v&&(S=a*2);const C=m.rectangle(w-a,T-a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0),y+2*a,b+2*a+S,U),k=u.insert(()=>C,":first-child");k.attr("class","basic label-container outer-path");const E=k.node().getBBox(),A=u.select(".annotation-group").node().getBBox().height-(g?a/2:0)||0,M=u.select(".label-group").node().getBBox().height-(g?a/2:0)||0,P=u.select(".members-group").node().getBBox().height-(g?a/2:0)||0,N=(A+M+T+a-(T-a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0)))/2;if(u.selectAll(".text").each((_,D,O)=>{var V,G;const B=vt(O[D]),F=B.attr("transform");let z=0;if(F){const W=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(F);W&&(z=parseFloat(W[2]))}let $=z+T+a-(g?a:l.members.length===0&&l.methods.length===0?-a/2:0);if(B.attr("class").includes("methods-group")){const K=Math.max(P,s/2);v?$=Math.max(N,A+M+K+T+s*2+a)+s*2:$=A+M+K+T+s*4+a}l.members.length===0&&l.methods.length===0&&((V=r.class)!=null&&V.hideEmptyMembersBox)&&(l.annotations.length>0?$=z-s:$=z),o||($-=4);let H=w;(B.attr("class").includes("label-group")||B.attr("class").includes("annotation-group"))&&(H=-((G=B.node())==null?void 0:G.getBBox().width)/2||0,u.selectAll("text").each(function(K,W,oe){window.getComputedStyle(oe[W]).textAnchor==="middle"&&(H=0)})),B.attr("transform",`translate(${H}, ${$})`)}),l.members.length>0||l.methods.length>0||g){const _=A+M+T+a,D=m.line(E.x,_,E.x+E.width,_+.001,U);u.insert(()=>D).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(g||l.members.length>0||l.methods.length>0){const _=A+M+P+T+s*2+a,D=m.line(E.x,v?Math.max(N,_):_,E.x+E.width,(v?Math.max(N,_):_)+.001,U);u.insert(()=>D).attr("class",`divider${e.look==="neo"&&!i?" neo-line":""}`).attr("style",p)}if(l.look!=="handDrawn"&&u.selectAll("path").attr("style",p),k.select(":nth-child(2)").attr("style",p),u.selectAll(".divider").select("path").attr("style",p),e.labelStyle?u.selectAll("span").attr("style",e.labelStyle):u.selectAll("span").attr("style",p),!o){const _=RegExp(/color\s*:\s*([^;]*)/),D=_.exec(p);if(D){const O=D[0].replace("color","fill");u.selectAll("tspan").attr("style",O)}else if(h){const O=_.exec(h);if(O){const B=O[0].replace("color","fill");u.selectAll("tspan").attr("style",B)}}}return Tr(e,k),e.intersect=function(_){return lr.rect(e,_)},u}x(sSe,"classBox");async function oSe(t,e){var E,A;const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const i=e,a=e,s=20,o=20,l="verifyMethod"in e,u=Wr(e),{themeVariables:d}=Ve(),{borderColorArray:h,requirementEdgeLabelBackground:f}=d,p=t.insert("g").attr("class",u).attr("id",e.domId??e.id);let g;l?g=await lh(p,`&lt;&lt;${i.type}&gt;&gt;`,0,e.labelStyle):g=await lh(p,"&lt;&lt;Element&gt;&gt;",0,e.labelStyle);let m=g;const U=await lh(p,i.name,m,e.labelStyle+"; font-weight: bold;");if(m+=U+o,l){const M=await lh(p,`${i.requirementId?`ID: ${i.requirementId}`:""}`,m,e.labelStyle);m+=M;const P=await lh(p,`${i.text?`Text: ${i.text}`:""}`,m,e.labelStyle);m+=P;const N=await lh(p,`${i.risk?`Risk: ${i.risk}`:""}`,m,e.labelStyle);m+=N,await lh(p,`${i.verifyMethod?`Verification: ${i.verifyMethod}`:""}`,m,e.labelStyle)}else{const M=await lh(p,`${a.type?`Type: ${a.type}`:""}`,m,e.labelStyle);m+=M,await lh(p,`${a.docRef?`Doc Ref: ${a.docRef}`:""}`,m,e.labelStyle)}const y=(((E=p.node())==null?void 0:E.getBBox().width)??200)+s,b=(((A=p.node())==null?void 0:A.getBBox().height)??200)+s,v=-y/2,w=-b/2,T=fr.svg(p),S=pr(e,{});e.look!=="handDrawn"&&(S.roughness=0,S.fillStyle="solid");const C=T.rectangle(v,w,y,b,S),k=p.insert(()=>C,":first-child");if(k.attr("class","basic label-container outer-path").attr("style",n),h!=null&&h.length){const M=e.colorIndex??0;p.attr("data-color-id",`color-${M%h.length}`)}if(p.selectAll(".label").each((M,P,N)=>{const I=vt(N[P]),L=I.attr("transform");let _=0,D=0;if(L){const z=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(L);z&&(_=parseFloat(z[1]),D=parseFloat(z[2]))}const O=D-b/2;let B=v+s/2;(P===0||P===1)&&(B=_),I.attr("transform",`translate(${B}, ${O+s})`)}),m>g+U+o){const M=w+g+U+o;let P;if(e.look==="neo"){const L=[[v,M],[v+y,M],[v+y,M+.001],[v,M+.001]];P=T.polygon(L,S)}else P=T.line(v,M,v+y,M,S);p.insert(()=>P).attr("class","divider")}return Tr(e,k),e.intersect=function(M){return lr.rect(e,M)},n&&e.look!=="handDrawn"&&(f||h!=null&&h.length)&&p.selectAll("path").attr("style",n),p}x(oSe,"requirementBox");async function lh(t,e,r,n=""){if(e==="")return 0;const i=t.insert("g").attr("class","label").attr("style",n),a=Ve(),s=a.htmlLabels??!0,o=await ll(i,KJ(O0(e)),{width:Bl(e,a)+50,classes:"markdown-node-label",useHtmlLabels:s,style:n},a);let l;if(s){const u=o.children[0],d=vt(o);l=u.getBoundingClientRect(),d.attr("width",l.width),d.attr("height",l.height)}else{const u=o.children[0];for(const d of u.children)n&&d.setAttribute("style",n);l=o.getBBox(),l.height+=6}return i.attr("transform",`translate(${-l.width/2},${-l.height/2+r})`),l.height}x(lh,"addText");var Xwt=x(t=>{switch(t){case"Very High":return"red";case"High":return"orange";case"Medium":return null;case"Low":return"blue";case"Very Low":return"lightblue"}},"colorFromPriority");async function lSe(t,e,{config:r}){var P,N;const{labelStyles:n,nodeStyles:i}=ur(e);e.labelStyle=n||"";const a=10,s=e.width;e.width=(e.width??200)-10;const{shapeSvg:o,bbox:l,label:u}=await Jr(t,e,Wr(e)),d=e.padding||10;let h="",f;"ticket"in e&&e.ticket&&((P=r==null?void 0:r.kanban)!=null&&P.ticketBaseUrl)&&(h=(N=r==null?void 0:r.kanban)==null?void 0:N.ticketBaseUrl.replace("#TICKET#",e.ticket),f=o.insert("svg:a",":first-child").attr("class","kanban-ticket-link").attr("xlink:href",h).attr("target","_blank"));const p={useHtmlLabels:e.useHtmlLabels,labelStyle:e.labelStyle||"",width:e.width,img:e.img,padding:e.padding||8,centerLabel:!1};let g,m;f?{label:g,bbox:m}=await W$(f,"ticket"in e&&e.ticket||"",p):{label:g,bbox:m}=await W$(o,"ticket"in e&&e.ticket||"",p);const{label:U,bbox:y}=await W$(o,"assigned"in e&&e.assigned||"",p);e.width=s;const b=10,v=(e==null?void 0:e.width)||0,w=Math.max(m.height,y.height)/2,T=Math.max(l.height+b*2,(e==null?void 0:e.height)||0)+w,S=-v/2,C=-T/2;u.attr("transform","translate("+(d-v/2)+", "+(-w-l.height/2)+")"),g.attr("transform","translate("+(d-v/2)+", "+(-w+l.height/2)+")"),U.attr("transform","translate("+(d+v/2-y.width-2*a)+", "+(-w+l.height/2)+")");let k;const{rx:E,ry:A}=e,{cssStyles:M}=e;if(e.look==="handDrawn"){const I=fr.svg(o),L=pr(e,{}),_=E||A?I.path(S1(S,C,v,T,E||0),L):I.rectangle(S,C,v,T,L);k=o.insert(()=>_,":first-child"),k.attr("class","basic label-container").attr("style",M||null)}else{k=o.insert("rect",":first-child"),k.attr("class","basic label-container __APA__").attr("style",i).attr("rx",E??5).attr("ry",A??5).attr("x",S).attr("y",C).attr("width",v).attr("height",T);const I="priority"in e&&e.priority;if(I){const L=o.append("line"),_=S+2,D=C+Math.floor((E??0)/2),O=C+T-Math.floor((E??0)/2);L.attr("x1",_).attr("y1",D).attr("x2",_).attr("y2",O).attr("stroke-width","4").attr("stroke",Xwt(I))}}return Tr(e,k),e.height=T,e.intersect=function(I){return lr.rect(e,I)},o}x(lSe,"kanbanItem");async function cSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await Jr(t,e,Wr(e)),l=a.width+10*s,u=a.height+8*s,d=.15*l,{cssStyles:h}=e,f=a.width+20,p=a.height+20,g=Math.max(l,f),m=Math.max(u,p);o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`);let U;const y=`M0 0
a${d},${d} 1 0,0 ${g*.25},${-1*m*.1}
a${d},${d} 1 0,0 ${g*.25},0
a${d},${d} 1 0,0 ${g*.25},0
a${d},${d} 1 0,0 ${g*.25},${m*.1}
a${d},${d} 1 0,0 ${g*.15},${m*.33}
a${d*.8},${d*.8} 1 0,0 0,${m*.34}
a${d},${d} 1 0,0 ${-1*g*.15},${m*.33}
a${d},${d} 1 0,0 ${-1*g*.25},${m*.15}
a${d},${d} 1 0,0 ${-1*g*.25},0
a${d},${d} 1 0,0 ${-1*g*.25},0
a${d},${d} 1 0,0 ${-1*g*.25},${-1*m*.15}
a${d},${d} 1 0,0 ${-1*g*.1},${-1*m*.33}
a${d*.8},${d*.8} 1 0,0 0,${-1*m*.34}
a${d},${d} 1 0,0 ${g*.1},${-1*m*.33}
H0 V0 Z`;if(e.look==="handDrawn"){const b=fr.svg(i),v=pr(e,{}),w=b.path(y,v);U=i.insert(()=>w,":first-child"),U.attr("class","basic label-container").attr("style",ro(h))}else U=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",y);return U.attr("transform",`translate(${-g/2}, ${-m/2})`),Tr(e,U),e.calcIntersect=function(b,v){return lr.rect(b,v)},e.intersect=function(b){return he.info("Bang intersect",e,b),lr.rect(e,b)},i}x(cSe,"bang");async function uSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await Jr(t,e,Wr(e)),l=a.width+2*s,u=a.height+2*s,d=.15*l,h=.25*l,f=.35*l,p=.2*l,{cssStyles:g}=e;let m;const U=`M0 0
a${d},${d} 0 0,1 ${l*.25},${-1*l*.1}
a${f},${f} 1 0,1 ${l*.4},${-1*l*.1}
a${h},${h} 1 0,1 ${l*.35},${l*.2}
a${d},${d} 1 0,1 ${l*.15},${u*.35}
a${p},${p} 1 0,1 ${-1*l*.15},${u*.65}
a${h},${d} 1 0,1 ${-1*l*.25},${l*.15}
a${f},${f} 1 0,1 ${-1*l*.5},0
a${d},${d} 1 0,1 ${-1*l*.25},${-1*l*.15}
a${d},${d} 1 0,1 ${-1*l*.1},${-1*u*.35}
a${p},${p} 1 0,1 ${l*.1},${-1*u*.65}
H0 V0 Z`;if(e.look==="handDrawn"){const y=fr.svg(i),b=pr(e,{}),v=y.path(U,b);m=i.insert(()=>v,":first-child"),m.attr("class","basic label-container").attr("style",ro(g))}else m=i.insert("path",":first-child").attr("class","basic label-container").attr("style",n).attr("d",U);return o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),m.attr("transform",`translate(${-l/2}, ${-u/2})`),Tr(e,m),e.calcIntersect=function(y,b){return lr.rect(y,b)},e.intersect=function(y){return he.info("Cloud intersect",e,y),lr.rect(e,y)},i}x(uSe,"cloud");async function dSe(t,e){const{labelStyles:r,nodeStyles:n}=ur(e);e.labelStyle=r;const{shapeSvg:i,bbox:a,halfPadding:s,label:o}=await Jr(t,e,Wr(e)),l=a.width+8*s,u=a.height+2*s,d=5,h=e.look==="neo"?`
M${-l/2} ${u/2-d}
v${-u+2*d}
q0,-${d} ${d},-${d}
h${l-2*d}
q${d},0 ${d},${d}
v${u-d}
H${-l/2}
Z
`:`
M${-l/2} ${u/2-d}
v${-u+2*d}
q0,-${d} ${d},-${d}
h${l-2*d}
q${d},0 ${d},${d}
v${u-2*d}
q0,${d} ${-d},${d}
h${-(l-2*d)}
q${-d},0 ${-d},${-d}
Z
`;if(!e.domId)throw new Error(`defaultMindmapNode: node "${e.id}" is missing a domId — was render.ts domId prefixing skipped?`);const f=i.append("path").attr("id",e.domId).attr("class","node-bkg node-"+e.type).attr("style",n).attr("d",h);return i.append("line").attr("class","node-line-").attr("x1",-l/2).attr("y1",u/2).attr("x2",l/2).attr("y2",u/2),o.attr("transform",`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>o.node()),Tr(e,f),e.calcIntersect=function(p,g){return lr.rect(p,g)},e.intersect=function(p){return lr.rect(e,p)},i}x(dSe,"defaultMindmapNode");async function hSe(t,e){const r={padding:e.padding??0};return jQ(t,e,r)}x(hSe,"mindmapCircle");var Kwt=[{semanticName:"Process",name:"Rectangle",shortName:"rect",description:"Standard process shape",aliases:["proc","process","rectangle"],internalAliases:["squareRect"],handler:VCe},{semanticName:"Event",name:"Rounded Rectangle",shortName:"rounded",description:"Represents an event",aliases:["event"],internalAliases:["roundedRect"],handler:FCe},{semanticName:"Terminal Point",name:"Stadium",shortName:"stadium",description:"Terminal point",aliases:["terminal","pill"],handler:GCe},{semanticName:"Subprocess",name:"Framed Rectangle",shortName:"fr-rect",description:"Subprocess",aliases:["subprocess","subproc","framed-rectangle","subroutine"],handler:YCe},{semanticName:"Database",name:"Cylinder",shortName:"cyl",description:"Database storage",aliases:["db","database","cylinder"],handler:hCe},{semanticName:"Data Store",name:"Data Store",shortName:"datastore",description:"Data flow diagram data store",aliases:["data-store"],handler:fCe},{semanticName:"Start",name:"Circle",shortName:"circle",description:"Starting point",aliases:["circ"],handler:jQ},{semanticName:"Bang",name:"Bang",shortName:"bang",description:"Bang",aliases:["bang"],handler:cSe},{semanticName:"Cloud",name:"Cloud",shortName:"cloud",description:"cloud",aliases:["cloud"],handler:uSe},{semanticName:"Decision",name:"Diamond",shortName:"diam",description:"Decision-making step",aliases:["decision","diamond","question"],handler:_Ce},{semanticName:"Prepare Conditional",name:"Hexagon",shortName:"hex",description:"Preparation or condition step",aliases:["hexagon","prepare"],handler:vCe},{semanticName:"Data Input/Output",name:"Lean Right",shortName:"lean-r",description:"Represents input or output",aliases:["lean-right","in-out"],internalAliases:["lean_right"],handler:RCe},{semanticName:"Data Input/Output",name:"Lean Left",shortName:"lean-l",description:"Represents output or input",aliases:["lean-left","out-in"],internalAliases:["lean_left"],handler:MCe},{semanticName:"Priority Action",name:"Trapezoid Base Bottom",shortName:"trap-b",description:"Priority action",aliases:["priority","trapezoid-bottom","trapezoid"],handler:QCe},{semanticName:"Manual Operation",name:"Trapezoid Base Top",shortName:"trap-t",description:"Represents a manual task",aliases:["manual","trapezoid-top","inv-trapezoid"],internalAliases:["inv_trapezoid"],handler:ECe},{semanticName:"Stop",name:"Double Circle",shortName:"dbl-circ",description:"Represents a stop point",aliases:["double-circle"],internalAliases:["doublecircle"],handler:gCe},{semanticName:"Text Block",name:"Text Block",shortName:"text",description:"Text block",handler:ZCe},{semanticName:"Card",name:"Notched Rectangle",shortName:"notch-rect",description:"Represents a card",aliases:["card","notched-rectangle"],handler:iCe},{semanticName:"Lined/Shaded Process",name:"Lined Rectangle",shortName:"lin-rect",description:"Lined process shape",aliases:["lined-rectangle","lined-process","lin-proc","shaded-process"],handler:zCe},{semanticName:"Start",name:"Small Circle",shortName:"sm-circ",description:"Small starting point",aliases:["start","small-circle"],internalAliases:["stateStart"],handler:jCe},{semanticName:"Stop",name:"Framed Circle",shortName:"fr-circ",description:"Stop point",aliases:["stop","framed-circle"],internalAliases:["stateEnd"],handler:qCe},{semanticName:"Fork/Join",name:"Filled Rectangle",shortName:"fork",description:"Fork or join in process flow",aliases:["join"],internalAliases:["forkJoin"],handler:yCe},{semanticName:"Collate",name:"Hourglass",shortName:"hourglass",description:"Represents a collate operation",aliases:["hourglass","collate"],handler:xCe},{semanticName:"Comment",name:"Curly Brace",shortName:"brace",description:"Adds a comment",aliases:["comment","brace-l"],handler:lCe},{semanticName:"Comment Right",name:"Curly Brace",shortName:"brace-r",description:"Adds a comment",handler:cCe},{semanticName:"Comment with braces on both sides",name:"Curly Braces",shortName:"braces",description:"Adds a comment",handler:uCe},{semanticName:"Com Link",name:"Lightning Bolt",shortName:"bolt",description:"Communication link",aliases:["com-link","lightning-bolt"],handler:ICe},{semanticName:"Document",name:"Document",shortName:"doc",description:"Represents a document",aliases:["doc","document"],handler:rSe},{semanticName:"Delay",name:"Half-Rounded Rectangle",shortName:"delay",description:"Represents a delay",aliases:["half-rounded-rectangle"],handler:bCe},{semanticName:"Direct Access Storage",name:"Horizontal Cylinder",shortName:"h-cyl",description:"Direct access storage",aliases:["das","horizontal-cylinder"],handler:JCe},{semanticName:"Disk Storage",name:"Lined Cylinder",shortName:"lin-cyl",description:"Disk storage",aliases:["disk","lined-cylinder"],handler:LCe},{semanticName:"Display",name:"Curved Trapezoid",shortName:"curv-trap",description:"Represents a display",aliases:["curved-trapezoid","display"],handler:dCe},{semanticName:"Divided Process",name:"Divided Rectangle",shortName:"div-rect",description:"Divided process shape",aliases:["div-proc","divided-rectangle","divided-process"],handler:pCe},{semanticName:"Extract",name:"Triangle",shortName:"tri",description:"Extraction process",aliases:["extract","triangle"],handler:tSe},{semanticName:"Internal Storage",name:"Window Pane",shortName:"win-pane",description:"Internal storage",aliases:["internal-storage","window-pane"],handler:iSe},{semanticName:"Junction",name:"Filled Circle",shortName:"f-circ",description:"Junction point",aliases:["junction","filled-circle"],handler:mCe},{semanticName:"Loop Limit",name:"Trapezoidal Pentagon",shortName:"notch-pent",description:"Loop limit step",aliases:["loop-limit","notched-pentagon"],handler:eSe},{semanticName:"Manual File",name:"Flipped Triangle",shortName:"flip-tri",description:"Manual file operation",aliases:["manual-file","flipped-triangle"],handler:UCe},{semanticName:"Manual Input",name:"Sloped Rectangle",shortName:"sl-rect",description:"Manual input step",aliases:["manual-input","sloped-rectangle"],handler:HCe},{semanticName:"Multi-Document",name:"Stacked Document",shortName:"docs",description:"Multiple documents",aliases:["documents","st-doc","stacked-document"],handler:DCe},{semanticName:"Multi-Process",name:"Stacked Rectangle",shortName:"st-rect",description:"Multiple processes",aliases:["procs","processes","stacked-rectangle"],handler:OCe},{semanticName:"Stored Data",name:"Bow Tie Rectangle",shortName:"bow-rect",description:"Stored data",aliases:["stored-data","bow-tie-rectangle"],handler:nCe},{semanticName:"Summary",name:"Crossed Circle",shortName:"cross-circ",description:"Summary",aliases:["summary","crossed-circle"],handler:oCe},{semanticName:"Tagged Document",name:"Tagged Document",shortName:"tag-doc",description:"Tagged document",aliases:["tag-doc","tagged-document"],handler:KCe},{semanticName:"Tagged Process",name:"Tagged Rectangle",shortName:"tag-rect",description:"Tagged process",aliases:["tagged-rectangle","tag-proc","tagged-process"],handler:XCe},{semanticName:"Paper Tape",name:"Flag",shortName:"flag",description:"Paper tape",aliases:["paper-tape"],handler:nSe},{semanticName:"Odd",name:"Odd",shortName:"odd",description:"Odd shape",internalAliases:["rect_left_inv_arrow"],handler:BCe},{semanticName:"Lined Document",name:"Lined Document",shortName:"lin-doc",description:"Lined document",aliases:["lined-document"],handler:NCe}],Zwt=x(()=>{const e=[...Object.entries({state:WCe,choice:aCe,note:PCe,rectWithTitle:$Ce,labelRect:ACe,iconSquare:SCe,iconCircle:TCe,icon:wCe,iconRounded:CCe,imageSquare:kCe,anchor:tCe,kanbanItem:lSe,mindmapCircle:hSe,defaultMindmapNode:dSe,classBox:sSe,erBox:YQ,requirementBox:oSe}),...Kwt.flatMap(r=>[r.shortName,..."aliases"in r?r.aliases:[],..."internalAliases"in r?r.internalAliases:[]].map(i=>[i,r.handler]))];return Object.fromEntries(e)},"generateShapeMap"),fSe=Zwt();function pSe(t){return t in fSe}x(pSe,"isValidShape");var ID=new Map;async function hS(t,e,r){let n,i;e.shape==="rect"&&(e.rx&&e.ry?e.shape="roundedRect":e.shape="squareRect");const a=e.shape?fSe[e.shape]:void 0;if(!a)throw new Error(`No such shape: ${e.shape}. Please check your syntax.`);if(e.link){let s;r.config.securityLevel==="sandbox"?s="_top":e.linkTarget&&(s=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",s??null),i=await a(n,e,r)}else i=await a(t,e,r),n=i;return n.attr("data-look",ro(e.look)),e.tooltip&&i.attr("title",e.tooltip),ID.set(e.id,n),e.haveCallback&&n.attr("class",n.attr("class")+" clickable"),n}x(hS,"insertNode");var Jwt=x((t,e)=>{ID.set(e.id,t)},"setNodeElem"),gSe=x(()=>{ID.clear()},"clear"),RI=x(t=>{const e=ID.get(t.id);he.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode"),Ah=x((t,e)=>{if(e)return"translate("+-t.width/2+", "+-t.height/2+")";const r=t.x??0,n=t.y??0;return"translate("+-(r+t.width/2)+", "+-(n+t.height/2)+")"},"computeLabelTransform"),Gs={aggregation:17.25,extension:17.25,composition:17.25,dependency:6,lollipop:13.5,arrow_point:4,arrow_barb:0,arrow_barb_neo:5.5},Uhe={arrow_point:4,arrow_cross:12.5,arrow_circle:12.5};function F9(t,e){if(t===void 0||e===void 0)return{angle:0,deltaX:0,deltaY:0};t=oa(t),e=oa(e);const[r,n]=[t.x,t.y],[i,a]=[e.x,e.y],s=i-r,o=a-n;return{angle:Math.atan(o/s),deltaX:s,deltaY:o}}x(F9,"calculateDeltaAndAngle");var oa=x(t=>Array.isArray(t)?{x:t[0],y:t[1]}:t,"pointTransformer"),mSe=x(t=>({x:x(function(e,r,n){let i=0;const a=oa(n[0]).x<oa(n[n.length-1]).x?"left":"right";if(r===0&&Object.hasOwn(Gs,t.arrowTypeStart)){const{angle:p,deltaX:g}=F9(n[0],n[1]);i=Gs[t.arrowTypeStart]*Math.cos(p)*(g>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Gs,t.arrowTypeEnd)){const{angle:p,deltaX:g}=F9(n[n.length-1],n[n.length-2]);i=Gs[t.arrowTypeEnd]*Math.cos(p)*(g>=0?1:-1)}const s=Math.abs(oa(e).x-oa(n[n.length-1]).x),o=Math.abs(oa(e).y-oa(n[n.length-1]).y),l=Math.abs(oa(e).x-oa(n[0]).x),u=Math.abs(oa(e).y-oa(n[0]).y),d=Gs[t.arrowTypeStart],h=Gs[t.arrowTypeEnd],f=1;if(s<h&&s>0&&o<h){let p=h+f-s;p*=a==="right"?-1:1,i-=p}if(l<d&&l>0&&u<d){let p=d+f-l;p*=a==="right"?-1:1,i+=p}return oa(e).x+i},"x"),y:x(function(e,r,n){let i=0;const a=oa(n[0]).y<oa(n[n.length-1]).y?"down":"up";if(r===0&&Object.hasOwn(Gs,t.arrowTypeStart)){const{angle:p,deltaY:g}=F9(n[0],n[1]);i=Gs[t.arrowTypeStart]*Math.abs(Math.sin(p))*(g>=0?1:-1)}else if(r===n.length-1&&Object.hasOwn(Gs,t.arrowTypeEnd)){const{angle:p,deltaY:g}=F9(n[n.length-1],n[n.length-2]);i=Gs[t.arrowTypeEnd]*Math.abs(Math.sin(p))*(g>=0?1:-1)}const s=Math.abs(oa(e).y-oa(n[n.length-1]).y),o=Math.abs(oa(e).x-oa(n[n.length-1]).x),l=Math.abs(oa(e).y-oa(n[0]).y),u=Math.abs(oa(e).x-oa(n[0]).x),d=Gs[t.arrowTypeStart],h=Gs[t.arrowTypeEnd],f=1;if(s<h&&s>0&&o<h){let p=h+f-s;p*=a==="up"?-1:1,i-=p}if(l<d&&l>0&&u<d){let p=d+f-l;p*=a==="up"?-1:1,i+=p}return oa(e).y+i},"y")}),"getLineFunctionsWithOffset"),Qwt=x((t,e,r,n,i,a=!1,s)=>{e.arrowTypeStart&&yhe(t,"start",e.arrowTypeStart,r,n,i,a,s),e.arrowTypeEnd&&yhe(t,"end",e.arrowTypeEnd,r,n,i,a,s)},"addEdgeMarkers"),eTt={arrow_cross:{type:"cross",fill:!1},arrow_point:{type:"point",fill:!0},arrow_barb:{type:"barb",fill:!0},arrow_barb_neo:{type:"barb",fill:!0},arrow_circle:{type:"circle",fill:!1},aggregation:{type:"aggregation",fill:!1},extension:{type:"extension",fill:!1},composition:{type:"composition",fill:!0},dependency:{type:"dependency",fill:!0},lollipop:{type:"lollipop",fill:!1},only_one:{type:"onlyOne",fill:!1},zero_or_one:{type:"zeroOrOne",fill:!1},one_or_more:{type:"oneOrMore",fill:!1},zero_or_more:{type:"zeroOrMore",fill:!1},requirement_arrow:{type:"requirement_arrow",fill:!1},requirement_contains:{type:"requirement_contains",fill:!1}},tTt=["cross","point","circle","lollipop","aggregation","extension","composition","dependency","barb"],yhe=x((t,e,r,n,i,a,s=!1,o)=>{var g;const l=eTt[r],u=l&&tTt.includes(l.type);if(!l){he.warn(`Unknown arrow type: ${r}`);return}const d=l.type,p=`${i}_${a}-${d}${e==="start"?"Start":"End"}${s&&u?"-margin":""}`;if(o&&o.trim()!==""){const m=o.replace(/[^\dA-Za-z]/g,"_"),U=`${p}_${m}`;if(!document.getElementById(U)){const y=document.getElementById(p);if(y){const b=y.cloneNode(!0);b.id=U,b.querySelectorAll("path, circle, line").forEach(w=>{w.setAttribute("stroke",o),l.fill&&w.setAttribute("fill",o)}),(g=y.parentNode)==null||g.appendChild(b)}}t.attr(`marker-${e}`,`url(${n}#${U})`)}else t.attr(`marker-${e}`,`url(${n}#${p})`)},"addEdgeMarker"),rTt=x(t=>{var e,r;return typeof t=="string"?t:(r=(e=Ve())==null?void 0:e.flowchart)==null?void 0:r.curve},"resolveEdgeCurveType"),TT=new Map,Ya=new Map,USe=x(()=>{TT.clear(),Ya.clear()},"clear"),Y3=x(t=>t?typeof t=="string"?t:t.reduce((e,r)=>e+";"+r,""):"","getLabelStyles"),II=x(async(t,e)=>{const r=Ve();let n=yi(r);const{labelStyles:i}=ur(e);e.labelStyle=i;const a=t.insert("g").attr("class","edgeLabel"),s=a.insert("g").attr("class","label").attr("data-id",e.id),o=e.labelType==="markdown",u=await ll(t,e.label,{style:Y3(e.labelStyle),useHtmlLabels:n,addSvgBackground:!0,isNode:!1,markdown:o,width:o?void 0:void 0},r);s.node().appendChild(u),he.info("abc82",e,e.labelType);let d=u.getBBox(),h=d;if(n){const p=u.children[0],g=vt(u);d=p.getBoundingClientRect(),h=d,g.attr("width",d.width),g.attr("height",d.height)}else{const p=vt(u).select("text").node();p&&typeof p.getBBox=="function"&&(h=p.getBBox())}s.attr("transform",Ah(h,n)),TT.set(e.id,a),e.width=d.width,e.height=d.height;let f;if(e.startLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),g=p.insert("g").attr("class","inner"),m=await ug(g,e.startLabelLeft,Y3(e.labelStyle)||"",!1,!1);f=m;let U=m.getBBox();if(n){const y=m.children[0],b=vt(m);U=y.getBoundingClientRect(),b.attr("width",U.width),b.attr("height",U.height)}g.attr("transform",Ah(U,n)),Ya.get(e.id)||Ya.set(e.id,{}),Ya.get(e.id).startLeft=p,z9(f,e.startLabelLeft)}if(e.startLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),g=p.insert("g").attr("class","inner"),m=await ug(g,e.startLabelRight,Y3(e.labelStyle)||"",!1,!1);f=m;let U=m.getBBox();if(n){const y=m.children[0],b=vt(m);U=y.getBoundingClientRect(),b.attr("width",U.width),b.attr("height",U.height)}g.attr("transform",Ah(U,n)),Ya.get(e.id)||Ya.set(e.id,{}),Ya.get(e.id).startRight=p,z9(f,e.startLabelRight)}if(e.endLabelLeft){const p=t.insert("g").attr("class","edgeTerminals"),g=p.insert("g").attr("class","inner"),m=await ug(p,e.endLabelLeft,Y3(e.labelStyle)||"",!1,!1);f=m;let U=m.getBBox();if(n){const y=m.children[0],b=vt(m);U=y.getBoundingClientRect(),b.attr("width",U.width),b.attr("height",U.height)}g.attr("transform",Ah(U,n)),Ya.get(e.id)||Ya.set(e.id,{}),Ya.get(e.id).endLeft=p,z9(f,e.endLabelLeft)}if(e.endLabelRight){const p=t.insert("g").attr("class","edgeTerminals"),g=p.insert("g").attr("class","inner"),m=await ug(p,e.endLabelRight,Y3(e.labelStyle)||"",!1,!1);f=m;let U=m.getBBox();if(n){const y=m.children[0],b=vt(m);U=y.getBoundingClientRect(),b.attr("width",U.width),b.attr("height",U.height)}g.attr("transform",Ah(U,n)),Ya.get(e.id)||Ya.set(e.id,{}),Ya.get(e.id).endRight=p,z9(f,e.endLabelRight)}return u},"insertEdgeLabel");function z9(t,e){yi(Ve())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}x(z9,"setTerminalWidth");var ySe=x((t,e)=>{he.debug("Moving label abc88 ",t.id,t.label,TT.get(t.id),e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Ve(),{subGraphTitleTotalMargin:i}=K4(n);if(t.label){const a=TT.get(t.id);let s=t.x,o=t.y;if(r){const l=Kr.calcLabelPosition(r);he.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Ya.get(t.id).startLeft;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Ya.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Ya.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Ya.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),nTt=x((t,e)=>{var s;if(!(t!=null&&t.isLabelEdge)||!((s=t==null?void 0:t.id)!=null&&s.endsWith("-to-label"))||!Array.isArray(e)||e.length!==2)return e;const[r,n]=e,i=Math.abs(n.x-r.x),a=Math.abs(n.y-r.y);return i<.001||a<.001?e:a>=i?[r,{x:r.x,y:n.y},n]:[r,{x:n.x,y:r.y},n]},"orthogonalizeToLabelClippedPoints"),iTt=x((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),aTt=x((t,e,r)=>{he.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(e)}
insidePoint : ${JSON.stringify(r)}
node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.x<e.x?s-a:s+a;const l=t.height/2,u=Math.abs(e.y-r.y),d=Math.abs(e.x-r.x);if(Math.abs(i-e.y)*s>Math.abs(n-e.x)*l){let h=r.y<e.y?e.y-l-i:i-l-e.y;o=d*h/u;const f={x:r.x<e.x?r.x+o:r.x-d+o,y:r.y<e.y?r.y+u-h:r.y-u+h};return o===0&&(f.x=e.x,f.y=e.y),d===0&&(f.x=e.x),u===0&&(f.y=e.y),he.debug(`abc89 top/bottom calc, Q ${u}, q ${h}, R ${d}, r ${o}`,f),f}else{r.x<e.x?o=e.x-s-n:o=n-s-e.x;let h=u*o/d,f=r.x<e.x?r.x+d-o:r.x-d+o,p=r.y<e.y?r.y+h:r.y-h;return he.debug(`sides calc abc89, Q ${u}, q ${h}, R ${d}, r ${o}`,{_x:f,_y:p}),o===0&&(f=e.x,p=e.y),d===0&&(f=e.x),u===0&&(p=e.y),{x:f,y:p}}},"intersection"),bhe=x((t,e)=>{he.warn("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(he.info("abc88 checking point",a,e),!iTt(e,a)&&!i){const s=aTt(e,n,a);he.debug("abc88 inside",a,n,s),he.debug("abc88 intersection",s,e);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)?he.warn("abc88 no intersect",s,r):r.push(s),i=!0}else he.warn("abc88 outside",a,n),n=a,i||r.push(a)}),he.debug("returning points",r),r},"cutPathAtIntersect");function bSe(t){const e=[],r=[];for(let n=1;n<t.length-1;n++){const i=t[n-1],a=t[n],s=t[n+1];(i.x===a.x&&a.y===s.y&&Math.abs(a.x-s.x)>5&&Math.abs(a.y-i.y)>5||i.y===a.y&&a.x===s.x&&Math.abs(a.x-i.x)>5&&Math.abs(a.y-s.y)>5)&&(e.push(a),r.push(n))}return{cornerPoints:e,cornerPointPositions:r}}x(bSe,"extractCornerPoints");var vhe=x(function(t,e,r){const n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),s=r/a;return{x:e.x-s*n,y:e.y-s*i}},"findAdjacentPoint"),sTt=x(function(t){const{cornerPointPositions:e}=bSe(t),r=[];for(let n=0;n<t.length;n++)if(e.includes(n)){const i=t[n-1],a=t[n+1],s=t[n],o=vhe(i,s,5),l=vhe(a,s,5),u=l.x-o.x,d=l.y-o.y;r.push(o);const h=Math.sqrt(2)*2;let f={x:s.x,y:s.y};if(Math.abs(a.x-i.x)>10&&Math.abs(a.y-i.y)>=10){he.debug("Corner point fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));const p=5;s.x===o.x?f={x:u<0?o.x-p+h:o.x+p-h,y:d<0?o.y-h:o.y+h}:f={x:u<0?o.x-h:o.x+h,y:d<0?o.y-p+h:o.y+p-h}}else he.debug("Corner point skipping fixing",Math.abs(a.x-i.x),Math.abs(a.y-i.y));r.push(f,l)}else r.push(t[n]);return r},"fixCorners"),oTt=x((t,e,r)=>{const n=t-e-r,i=2,a=2,s=i+a,o=Math.floor(n/s),l=Array(o).fill(`${i} ${a}`).join(" ");return`0 ${e} ${l} ${r}`},"generateDashArray"),XQ=x(function(t,e,r,n,i,a,s,o=!1){var O;if(!s)throw new Error(`insertEdge: missing diagramId for edge "${e.id}" — edge IDs require a diagram prefix for uniqueness`);const{handDrawnSeed:l,layout:u}=Ve();let d=e.points,h=!1;const f=i;var p=a;const g=[];for(const B in e.cssCompiledStyles)xQ(B)||g.push(e.cssCompiledStyles[B]);if(u==="swimlane"){if(p.intersect&&f.intersect&&Array.isArray(d)&&d.length>=2)if(d.length===2)d=[f.intersect(d[0]),p.intersect(d[1])];else{const B=d.slice(1,-1),F=B[0],z=B[B.length-1],$=.5,H=Math.abs(d[d.length-1].x-z.x)<$&&Math.abs(d[d.length-1].y-z.y)<$,V=f.intersect(F),G=H?z:p.intersect(z),K=Math.abs(G.x-z.x)<$&&Math.abs(G.y-z.y)<$,oe=Math.abs(V.x-F.x)<$&&Math.abs(V.y-F.y)<$?[]:[V],Z=K?[]:[G];d=[...oe,...B,...Z]}d=nTt(e,d)}else p.intersect&&f.intersect&&!o&&(d=d.slice(1,e.points.length-1),d.unshift(f.intersect(d[0])),d.push(p.intersect(d[d.length-1])));const m=btoa(JSON.stringify(d));e.toCluster&&(he.info("to cluster abc88",r.get(e.toCluster)),d=bhe(e.points,r.get(e.toCluster).node),h=!0),e.fromCluster&&(he.debug("from cluster abc88",r.get(e.fromCluster),JSON.stringify(d,null,2)),d=bhe(d.reverse(),r.get(e.fromCluster).node).reverse(),h=!0);let U=d.filter(B=>!Number.isNaN(B.y));const y=rTt(e.curve);y!=="rounded"&&(U=sTt(U));let b=Gx;switch(y){case"linear":b=Gx;break;case"basis":b=UT;break;case"cardinal":b=$9e;break;case"bumpX":b=O9e;break;case"bumpY":b=D9e;break;case"catmullRom":b=z9e;break;case"monotoneX":b=j9e;break;case"monotoneY":b=Y9e;break;case"natural":b=K9e;break;case"step":b=Z9e;break;case"stepAfter":b=Q9e;break;case"stepBefore":b=J9e;break;case"rounded":b=Gx;break;default:b=UT}const{x:v,y:w}=mSe(e),T=mT().x(v).y(w).curve(b);let S;switch(e.thickness){case"normal":S="edge-thickness-normal";break;case"thick":S="edge-thickness-thick";break;case"invisible":S="edge-thickness-invisible";break;default:S="edge-thickness-normal"}switch(e.pattern){case"solid":S+=" edge-pattern-solid";break;case"dotted":S+=" edge-pattern-dotted";break;case"dashed":S+=" edge-pattern-dashed";break;default:S+=" edge-pattern-solid"}let C,k=y==="rounded"?vSe(xSe(U,e),5):T(U);const E=Array.isArray(e.style)?e.style:[e.style];let A=E.find(B=>B==null?void 0:B.startsWith("stroke:")),M="";e.animate&&(M="edge-animation-fast"),e.animation&&(M="edge-animation-"+e.animation);let P=!1;if(e.look==="handDrawn"){const B=fr.svg(t);Object.assign([],U);const F=B.path(k,{roughness:.3,seed:l});S+=" transition",C=vt(F).select("path").attr("id",`${s}-${e.id}`).attr("class"," "+S+(e.classes?" "+e.classes:"")+(M?" "+M:"")).attr("style",E?E.reduce(($,H)=>$+";"+H,""):"");let z=C.attr("d");C.attr("d",z),t.node().appendChild(C.node())}else{const B=g.join(";"),F=E?E.reduce((K,W)=>K+W+";",""):"",z=(B?B+";"+F+";":F)+";"+(E?E.reduce((K,W)=>K+";"+W,""):"");C=t.append("path").attr("d",k).attr("id",`${s}-${e.id}`).attr("class"," "+S+(e.classes?" "+e.classes:"")+(M?" "+M:"")).attr("style",z),A=(O=z.match(/stroke:([^;]+)/))==null?void 0:O[1],P=e.animate===!0||!!e.animation||B.includes("animation");const $=C.node(),H=typeof $.getTotalLength=="function"?$.getTotalLength():0,V=Uhe[e.arrowTypeStart]||0,G=Uhe[e.arrowTypeEnd]||0;if(e.look==="neo"&&!P){const W=`stroke-dasharray: ${e.pattern==="dotted"||e.pattern==="dashed"?oTt(H,V,G):`0 ${V} ${H-V-G} ${G}`}; stroke-dashoffset: 0;`;C.attr("style",W+C.attr("style"))}}C.attr("data-edge",!0),C.attr("data-et","edge"),C.attr("data-id",e.id),C.attr("data-points",m),C.attr("data-look",ro(e.look)),e.showPoints&&U.forEach(B=>{t.append("circle").style("stroke","red").style("fill","red").attr("r",1).attr("cx",B.x).attr("cy",B.y)});let N="";(Ve().flowchart.arrowMarkerAbsolute||Ve().state.arrowMarkerAbsolute)&&(N=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,N=N.replace(/\(/g,"\\(").replace(/\)/g,"\\)")),he.info("arrowTypeStart",e.arrowTypeStart),he.info("arrowTypeEnd",e.arrowTypeEnd);const I=!P&&(e==null?void 0:e.look)==="neo";Qwt(C,e,N,s,n,I,A);const L=Math.floor(d.length/2),_=d[L];Kr.isLabelCoordinateInPath(_,C.attr("d"))||(h=!0);let D={};return h&&(D.updatedPath=d),D.originalPath=e.points,D},"insertEdge");function vSe(t,e){if(t.length<2)return"";let r="";const n=t.length,i=1e-5;for(let a=0;a<n;a++){const s=t[a],o=t[a-1],l=t[a+1];if(a===0)r+=`M${s.x},${s.y}`;else if(a===n-1)r+=`L${s.x},${s.y}`;else{const u=s.x-o.x,d=s.y-o.y,h=l.x-s.x,f=l.y-s.y,p=Math.hypot(u,d),g=Math.hypot(h,f);if(p<i||g<i){r+=`L${s.x},${s.y}`;continue}const m=u/p,U=d/p,y=h/g,b=f/g,v=m*y+U*b,w=Math.max(-1,Math.min(1,v)),T=Math.acos(w);if(T<i||Math.abs(Math.PI-T)<i){r+=`L${s.x},${s.y}`;continue}const S=Math.min(e/Math.sin(T/2),p/2,g/2),C=s.x-m*S,k=s.y-U*S,E=s.x+y*S,A=s.y+b*S;r+=`L${C},${k}`,r+=`Q${s.x},${s.y} ${E},${A}`}}return r}x(vSe,"generateRoundedPath");function RW(t,e){if(!t||!e)return{angle:0,deltaX:0,deltaY:0};const r=e.x-t.x,n=e.y-t.y;return{angle:Math.atan2(n,r),deltaX:r,deltaY:n}}x(RW,"calculateDeltaAndAngle");function xSe(t,e){const r=t.map(i=>({...i}));if(t.length>=2&&Gs[e.arrowTypeStart]){const i=Gs[e.arrowTypeStart],a=t[0],s=t[1],{angle:o}=RW(a,s),l=i*Math.cos(o),u=i*Math.sin(o);r[0].x=a.x+l,r[0].y=a.y+u}const n=t.length;if(n>=2&&Gs[e.arrowTypeEnd]){const i=Gs[e.arrowTypeEnd],a=t[n-1],s=t[n-2],{angle:o}=RW(s,a),l=i*Math.cos(o),u=i*Math.sin(o);r[n-1].x=a.x-l,r[n-1].y=a.y-u}return r}x(xSe,"applyMarkerOffsetsToPoints");var lTt=x((t,e,r,n)=>{e.forEach(i=>{ITt[i](t,r,n)})},"insertMarkers"),cTt=x((t,e,r)=>{he.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M 1,7 L18,13 V 1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).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"),t.append("marker").attr("id",r+"_"+e+"-extensionStart-margin").attr("class","marker extension "+e).attr("refX",18).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,7 18,13 18,1").style("stroke-width",2).style("stroke-dasharray","0"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd-margin").attr("class","marker extension "+e).attr("refX",9).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("viewBox","0 0 20 14").append("polygon").attr("points","10,1 10,13 18,7").style("stroke-width",2).style("stroke-dasharray","0")},"extension"),uTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart-margin").attr("class","marker composition "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("viewBox","0 0 15 15").attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd-margin").attr("class","marker composition "+e).attr("refX",3.5).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"composition"),dTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart-margin").attr("class","marker aggregation "+e).attr("refX",15).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd-margin").attr("class","marker aggregation "+e).attr("refX",1).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",2).attr("d","M 18,7 L9,13 L1,7 L9,1 Z")},"aggregation"),hTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart-margin").attr("class","marker dependency "+e).attr("refX",4).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 5,7 L9,13 L1,7 L9,1 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd-margin").attr("class","marker dependency "+e).attr("refX",16).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").style("stroke-width",0).attr("d","M 18,7 L9,13 L14,7 L9,1 Z")},"dependency"),fTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart-margin").attr("class","marker lollipop "+e).attr("refX",13).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd-margin").attr("class","marker lollipop "+e).attr("refX",1).attr("refY",7).attr("markerWidth",190).attr("markerHeight",240).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("circle").attr("fill","transparent").attr("cx",7).attr("cy",7).attr("r",6).attr("stroke-width",2)},"lollipop"),pTt=x((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).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"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",4.5).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",8).attr("markerHeight",8).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"),t.append("marker").attr("id",r+"_"+e+"-pointEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",11.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",10.5).attr("markerHeight",14).attr("orient","auto").append("path").attr("d","M 0 0 L 11.5 7 L 0 14 z").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-pointStart-margin").attr("class","marker "+e).attr("viewBox","0 0 11.5 14").attr("refX",1).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",11.5).attr("markerHeight",14).attr("orient","auto").append("polygon").attr("points","0,7 11.5,14 11.5,0").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"point"),gTt=x((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).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"),t.append("marker").attr("id",r+"_"+e+"-circleEnd-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refY",5).attr("refX",12.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0"),t.append("marker").attr("id",r+"_"+e+"-circleStart-margin").attr("class","marker "+e).attr("viewBox","0 0 10 10").attr("refX",-2).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",14).attr("markerHeight",14).attr("orient","auto").append("circle").attr("cx","5").attr("cy","5").attr("r","5").attr("class","arrowMarkerPath").style("stroke-width",0).style("stroke-dasharray","1,0")},"circle"),mTt=x((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).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"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).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"),t.append("marker").attr("id",r+"_"+e+"-crossEnd-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",17.7).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5),t.append("marker").attr("id",r+"_"+e+"-crossStart-margin").attr("class","marker cross "+e).attr("viewBox","0 0 15 15").attr("refX",-3.5).attr("refY",7.5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 1,1 L 14,14 M 1,14 L 14,1").attr("class","arrowMarkerPath").style("stroke-width",2.5).style("stroke-dasharray","1,0")},"cross"),UTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"barb"),yTt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{transitionColor:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-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 L11,14 L13,7 L11,0 Z"),t.append("defs").append("marker").attr("id",r+"_"+e+"-barbEnd-margin").attr("refX",17).attr("refY",7).attr("markerWidth",20).attr("markerHeight",14).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M 19,7 L11,14 L13,7 L11,0 Z").attr("fill",`${a}`)},"barbNeo"),bTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M9,0 L9,18 M15,0 L15,18"),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").append("path").attr("d","M3,0 L3,18 M9,0 L9,18")},"only_one"),vTt=x((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",21).attr("cy",9).attr("r",6),n.append("path").attr("d","M9,0 L9,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",9).attr("r",6),i.append("path").attr("d","M21,0 L21,18")},"zero_or_one"),xTt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").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",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18")},"one_or_more"),wTt=x((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");n.append("circle").attr("fill","white").attr("cx",48).attr("cy",18).attr("r",6),n.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18");const i=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto");i.append("circle").attr("fill","white").attr("cx",9).attr("cy",18).attr("r",6),i.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18")},"zero_or_more"),TTt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneStart").attr("class","marker onlyOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M9,0 L9,18 M15,0 L15,18").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-onlyOneEnd").attr("class","marker onlyOne "+e).attr("refX",18).attr("refY",9).attr("markerWidth",18).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M3,0 L3,18 M9,0 L9,18").attr("stroke-width",`${a}`)},"only_one_neo"),CTt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneStart").attr("class","marker zeroOrOne "+e).attr("refX",0).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("orient","auto").attr("markerUnits","userSpaceOnUse");o.append("circle").attr("fill",s??"white").attr("cx",21).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),o.append("path").attr("d","M9,0 L9,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrOneEnd").attr("class","marker zeroOrOne "+e).attr("refX",30).attr("refY",9).attr("markerWidth",30).attr("markerHeight",18).attr("markerUnits","userSpaceOnUse").attr("orient","auto");l.append("circle").attr("fill",s??"white").attr("cx",9).attr("cy",9).attr("stroke-width",`${a}`).attr("r",6),l.append("path").attr("d","M21,0 L21,18").attr("stroke-width",`${a}`)},"zero_or_one_neo"),STt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreStart").attr("class","marker oneOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("path").attr("d","M0,18 Q 18,0 36,18 Q 18,36 0,18 M42,9 L42,27").attr("stroke-width",`${a}`),t.append("defs").append("marker").attr("id",r+"_"+e+"-oneOrMoreEnd").attr("class","marker oneOrMore "+e).attr("refX",27).attr("refY",18).attr("markerWidth",45).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto").append("path").attr("d","M3,9 L3,27 M9,18 Q27,0 45,18 Q27,36 9,18").attr("stroke-width",`${a}`)},"one_or_more_neo"),kTt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{strokeWidth:a,mainBkg:s}=i,o=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreStart").attr("class","marker zeroOrMore "+e).attr("refX",18).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("markerUnits","userSpaceOnUse").attr("orient","auto");o.append("circle").attr("fill",s??"white").attr("cx",45.5).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),o.append("path").attr("d","M0,18 Q18,0 36,18 Q18,36 0,18").attr("stroke-width",`${a}`);const l=t.append("defs").append("marker").attr("id",r+"_"+e+"-zeroOrMoreEnd").attr("class","marker zeroOrMore "+e).attr("refX",39).attr("refY",18).attr("markerWidth",57).attr("markerHeight",36).attr("orient","auto").attr("markerUnits","userSpaceOnUse");l.append("circle").attr("fill",s??"white").attr("cx",11).attr("cy",18).attr("r",6).attr("stroke-width",`${a}`),l.append("path").attr("d","M21,18 Q39,0 57,18 Q39,36 21,18").attr("stroke-width",`${a}`)},"zero_or_more_neo"),ETt=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`)},"requirement_arrow"),ATt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{strokeWidth:a}=i;t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_arrowEnd").attr("refX",20).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").attr("stroke-width",`${a}`).attr("viewBox","0 0 25 20").append("path").attr("d",`M0,0
L20,10
M20,10
L0,20`).attr("stroke-linejoin","miter")},"requirement_arrow_neo"),MTt=x((t,e,r)=>{const n=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").append("g");n.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),n.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),n.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10)},"requirement_contains"),RTt=x((t,e,r)=>{const n=xr(),{themeVariables:i}=n,{strokeWidth:a}=i,s=t.append("defs").append("marker").attr("id",r+"_"+e+"-requirement_containsStart").attr("refX",0).attr("refY",10).attr("markerWidth",20).attr("markerHeight",20).attr("orient","auto").attr("markerUnits","userSpaceOnUse").append("g");s.append("circle").attr("cx",10).attr("cy",10).attr("r",9).attr("fill","none"),s.append("line").attr("x1",1).attr("x2",19).attr("y1",10).attr("y2",10),s.append("line").attr("y1",1).attr("y2",19).attr("x1",10).attr("x2",10),s.selectAll("*").attr("stroke-width",`${a}`)},"requirement_contains_neo"),ITt={extension:cTt,composition:uTt,aggregation:dTt,dependency:hTt,lollipop:fTt,point:pTt,circle:gTt,cross:mTt,barb:UTt,barbNeo:yTt,only_one:bTt,zero_or_one:vTt,one_or_more:xTt,zero_or_more:wTt,only_one_neo:TTt,zero_or_one_neo:CTt,one_or_more_neo:STt,zero_or_more_neo:kTt,requirement_arrow:ETt,requirement_contains:MTt,requirement_arrow_neo:ATt,requirement_contains_neo:RTt},KQ=lTt,LTt={common:Vt,getConfig:xr,insertCluster:RD,insertEdge:XQ,insertEdgeLabel:II,insertMarkers:KQ,insertNode:hS,interpolateToCurve:AQ,labelHelper:Jr,log:he,positionEdgeLabel:ySe},CT={},wSe=x(t=>{for(const e of t)CT[e.name]=e},"registerLayoutLoaders"),NTt=x(()=>{wSe([{name:"dagre",loader:x(async()=>await Mr(()=>Promise.resolve().then(()=>OXt),void 0,import.meta.url),"loader")},{name:"swimlane",loader:x(async()=>await Mr(()=>Promise.resolve().then(()=>qXt),void 0,import.meta.url),"loader")},{name:"cose-bilkent",loader:x(async()=>await Mr(()=>Promise.resolve().then(()=>Prr),void 0,import.meta.url),"loader")}])},"registerDefaultLayoutLoaders");NTt();var J4=x(async(t,e,r)=>{if(!(t.layoutAlgorithm in CT))throw new Error(`Unknown layout algorithm: ${t.layoutAlgorithm}`);if(t.diagramId)for(const h of t.nodes){const f=h.domId||h.id;h.domId=`${t.diagramId}-${f}`}const n=CT[t.layoutAlgorithm],i=await n.loader(),{theme:a,themeVariables:s}=t.config,{useGradient:o,gradientStart:l,gradientStop:u}=s,d=e.attr("id");if(e.append("defs").append("filter").attr("id",`${d}-drop-shadow`).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),e.append("defs").append("filter").attr("id",`${d}-drop-shadow-small`).attr("height","150%").attr("width","150%").append("feDropShadow").attr("dx","2").attr("dy","2").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${a!=null&&a.includes("dark")?"#FFFFFF":"#000000"}`),o){const h=e.append("linearGradient").attr("id",e.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");h.append("svg:stop").attr("offset","0%").attr("stop-color",l).attr("stop-opacity",1),h.append("svg:stop").attr("offset","100%").attr("stop-color",u).attr("stop-opacity",1)}return i.render(t,e,LTt,{algorithm:n.algorithm},r)},"render"),fS=x((t="",{fallback:e="dagre"}={})=>{if(t in CT)return t;if(e in CT)return he.warn(`Layout algorithm ${t} is not registered. Using ${e} as fallback.`),e;throw new Error(`Both layout algorithms ${t} and ${e} are not registered.`)},"getRegisteredLayoutAlgorithm"),ZQ="comm",TSe="rule",CSe="decl",OTt="@media",DTt="@import",PTt="@supports",_Tt="@namespace",IW="@keyframes",SSe="@layer",BTt="@scope",$Tt=Math.abs,Yx=String.fromCharCode;function kSe(t){return t.trim()}function LW(t,e,r){return t.replace(e,r)}function pb(t,e){return t.charCodeAt(e)|0}function jv(t,e,r){return t.slice(e,r)}function vh(t){return t.length}function ESe(t){return t.length}function Gk(t,e){return e.push(t),t}var LD=1,Yv=1,ASe=0,Vu=0,ss=0,Q4="";function JQ(t,e,r,n,i,a,s,o){return{value:t,root:e,parent:r,type:n,props:i,children:a,line:LD,column:Yv,length:s,return:"",siblings:o}}function FTt(){return ss}function zTt(){return ss=Vu>0?pb(Q4,--Vu):0,Yv--,ss===10&&(Yv=1,LD--),ss}function Rd(){return ss=Vu<ASe?pb(Q4,Vu++):0,Yv++,ss===10&&(Yv=1,LD++),ss}function dg(){return pb(Q4,Vu)}function qA(){return Vu}function ND(t,e){return jv(Q4,t,e)}function ST(t){switch(t){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function HTt(t){return LD=Yv=1,ASe=vh(Q4=t),Vu=0,[]}function VTt(t){return Q4="",t}function j$(t){return kSe(ND(Vu-1,NW(t===91?t+2:t===40?t+1:t)))}function GTt(t){for(;(ss=dg())&&ss<33;)Rd();return ST(t)>2||ST(ss)>3?"":" "}function WTt(t,e){for(;--e&&Rd()&&!(ss<48||ss>102||ss>57&&ss<65||ss>70&&ss<97););return ND(t,qA()+(e<6&&dg()==32&&Rd()==32))}function NW(t){for(;Rd();)switch(ss){case t:return Vu;case 34:case 39:t!==34&&t!==39&&NW(ss);break;case 40:t===41&&NW(t);break;case 92:Rd();break}return Vu}function qTt(t,e){for(;Rd()&&t+ss!==57;)if(t+ss===84&&dg()===47)break;return"/*"+ND(e,Vu-1)+"*"+Yx(t===47?t:Rd())}function jTt(t){for(;!ST(dg());)Rd();return ND(t,Vu)}function YTt(t){return VTt(jA("",null,null,null,[""],t=HTt(t),0,[0],t))}function jA(t,e,r,n,i,a,s,o,l){for(var u=0,d=0,h=s,f=0,p=0,g=0,m=1,U=1,y=1,b=0,v=0,w="",T=i,S=a,C=n,k=w;U;)switch(g=v,v=Rd()){case 40:g!=108&&pb(k,h-1)==58?(b++,k+="("):k+=j$(v);break;case 41:b--,k+=")";break;case 34:case 39:case 91:k+=j$(v);break;case 9:case 10:case 13:case 32:if(b>0){k+=Yx(v);break}k+=GTt(g);break;case 92:k+=WTt(qA()-1,7);continue;case 47:switch(dg()){case 42:case 47:Gk(XTt(qTt(Rd(),qA()),e,r,l),l),(ST(g||1)==5||ST(dg()||1)==5)&&vh(k)&&jv(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*m:o[u++]=vh(k)*y;case 125*m:case 59:case 0:if(b>0&&v){k+=Yx(v);break}switch(v){case 0:case 125:U=0;case 59+d:y==-1&&(k=LW(k,/\f/g,"")),p>0&&(vh(k)-h||m===0)&&Gk(p>32?whe(k+";",n,r,h-1,l):whe(LW(k," ","")+";",n,r,h-2,l),l);break;case 59:k+=";";default:if(Gk(C=xhe(k,e,r,u,d,i,o,w,T=[],S=[],h,a),a),v===123)if(d===0)jA(k,e,C,C,T,a,h,o,S);else{switch(f){case 99:if(pb(k,3)===110)break;case 108:if(pb(k,2)===97)break;default:d=0;case 100:case 109:case 115:}d?jA(t,C,C,n&&Gk(xhe(t,C,C,0,0,i,o,w,i,T=[],h,S),S),i,S,h,o,n?T:S):jA(k,C,C,C,[""],S,0,o,S)}}u=d=p=0,m=y=1,w=k="",h=s;break;case 58:h=1+vh(k),p=g;default:if(m<1){if(v==123)--m;else if(v==125&&m++==0&&zTt()==125)continue}switch(k+=Yx(v),v*m){case 38:y=d>0?1:(k+="\f",-1);break;case 44:if(b>0)break;o[u++]=(vh(k)-1)*y,y=1;break;case 64:dg()===45&&(k+=j$(Rd())),f=dg(),d=h=vh(w=k+=jTt(qA())),v++;break;case 45:g===45&&vh(k)==2&&(m=0)}}return a}function xhe(t,e,r,n,i,a,s,o,l,u,d,h){for(var f=i-1,p=i===0?a:[""],g=ESe(p),m=0,U=0,y=0;m<n;++m)for(var b=0,v=jv(t,f+1,f=$Tt(U=s[m])),w=t;b<g;++b)(w=kSe(U>0?p[b]+" "+v:LW(v,/&\f/g,p[b])))&&(l[y++]=w);return JQ(t,e,r,i===0?TSe:o,l,u,d,h)}function XTt(t,e,r,n){return JQ(t,e,r,ZQ,Yx(FTt()),jv(t,2,-2),0,n)}function whe(t,e,r,n,i){return JQ(t,e,r,CSe,jv(t,0,n),jv(t,n+1,-1),n,i)}function OW(t,e){for(var r="",n=0;n<t.length;n++)r+=e(t[n],n,t,e)||"";return r}function KTt(t,e,r,n){switch(t.type){case SSe:if(t.children.length)break;case DTt:case _Tt:case CSe:return t.return=t.return||t.value;case ZQ:return"";case IW:return t.return=t.value+"{"+OW(t.children,n)+"}";case TSe:if(!vh(t.value=t.props.join(",")))return""}return vh(r=OW(t.children,n))?t.return=t.value+"{"+r+"}":""}function ZTt(t){var e=ESe(t);return function(r,n,i,a){for(var s="",o=0;o<e;o++)s+=t[o](r,n,i,a)||"";return s}}var MSe="c4",JTt=x(t=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(t),"detector"),QTt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Inr);return{diagram:e}},void 0,import.meta.url);return{id:MSe,diagram:t}},"loader"),eCt={id:MSe,detector:JTt,loader:QTt},tCt=eCt,RSe="flowchart",rCt=x((t,e)=>{var r,n;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-wrapper"||((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="elk"?!1:/^\s*graph/.test(t)},"detector"),nCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>jre);return{diagram:e}},void 0,import.meta.url);return{id:RSe,diagram:t}},"loader"),iCt={id:RSe,detector:rCt,loader:nCt},aCt=iCt,ISe="flowchart-v2",sCt=x((t,e)=>{var r,n,i;return((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="dagre-d3"?!1:(((n=e==null?void 0:e.flowchart)==null?void 0:n.defaultRenderer)==="elk"&&(e.layout="elk"),/^\s*graph/.test(t)&&((i=e==null?void 0:e.flowchart)==null?void 0:i.defaultRenderer)==="dagre-wrapper"?!0:/^\s*flowchart/.test(t))},"detector"),oCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>jre);return{diagram:e}},void 0,import.meta.url);return{id:ISe,diagram:t}},"loader"),lCt={id:ISe,detector:sCt,loader:oCt},cCt=lCt,LSe="swimlane",uCt=x(t=>/^\s*swimlane-beta\b/.test(t),"detector"),dCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>qnr);return{diagram:e}},void 0,import.meta.url);return{id:LSe,diagram:t}},"loader"),hCt={id:LSe,detector:uCt,loader:dCt},fCt=hCt,NSe="er",pCt=x(t=>/^\s*erDiagram/.test(t),"detector"),gCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>eir);return{diagram:e}},void 0,import.meta.url);return{id:NSe,diagram:t}},"loader"),mCt={id:NSe,detector:pCt,loader:gCt},UCt=mCt,OSe="gitGraph",yCt=x(t=>/^\s*gitGraph/.test(t),"detector"),bCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>aUr);return{diagram:e}},void 0,import.meta.url);return{id:OSe,diagram:t}},"loader"),vCt={id:OSe,detector:yCt,loader:bCt},xCt=vCt,DSe="gantt",wCt=x(t=>/^\s*gantt/.test(t),"detector"),TCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>f5r);return{diagram:e}},void 0,import.meta.url);return{id:DSe,diagram:t}},"loader"),CCt={id:DSe,detector:wCt,loader:TCt},SCt=CCt,PSe="info",kCt=x(t=>/^\s*info/.test(t),"detector"),ECt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>x5r);return{diagram:e}},void 0,import.meta.url);return{id:PSe,diagram:t}},"loader"),ACt={id:PSe,detector:kCt,loader:ECt},_Se="pie",MCt=x(t=>/^\s*pie/.test(t),"detector"),RCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>B5r);return{diagram:e}},void 0,import.meta.url);return{id:_Se,diagram:t}},"loader"),ICt={id:_Se,detector:MCt,loader:RCt},BSe="quadrantChart",LCt=x(t=>/^\s*quadrantChart/.test(t),"detector"),NCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>q5r);return{diagram:e}},void 0,import.meta.url);return{id:BSe,diagram:t}},"loader"),OCt={id:BSe,detector:LCt,loader:NCt},DCt=OCt,$Se="xychart",PCt=x(t=>/^\s*xychart(-beta)?/.test(t),"detector"),_Ct=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>oyr);return{diagram:e}},void 0,import.meta.url);return{id:$Se,diagram:t}},"loader"),BCt={id:$Se,detector:PCt,loader:_Ct},$Ct=BCt,FSe="requirement",FCt=x(t=>/^\s*requirement(Diagram)?/.test(t),"detector"),zCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>gyr);return{diagram:e}},void 0,import.meta.url);return{id:FSe,diagram:t}},"loader"),HCt={id:FSe,detector:FCt,loader:zCt},VCt=HCt,zSe="sequence",GCt=x(t=>/^\s*sequenceDiagram/.test(t),"detector"),WCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>u2r);return{diagram:e}},void 0,import.meta.url);return{id:zSe,diagram:t}},"loader"),qCt={id:zSe,detector:GCt,loader:WCt},jCt=qCt,HSe="class",YCt=x((t,e)=>{var r;return((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*classDiagram/.test(t)},"detector"),XCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>m2r);return{diagram:e}},void 0,import.meta.url);return{id:HSe,diagram:t}},"loader"),KCt={id:HSe,detector:YCt,loader:XCt},ZCt=KCt,VSe="classDiagram",JCt=x((t,e)=>{var r;return/^\s*classDiagram/.test(t)&&((r=e==null?void 0:e.class)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!0:/^\s*classDiagram-v2/.test(t)},"detector"),QCt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>y2r);return{diagram:e}},void 0,import.meta.url);return{id:VSe,diagram:t}},"loader"),eSt={id:VSe,detector:JCt,loader:QCt},tSt=eSt,GSe="state",rSt=x((t,e)=>{var r;return((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper"?!1:/^\s*stateDiagram/.test(t)},"detector"),nSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>obr);return{diagram:e}},void 0,import.meta.url);return{id:GSe,diagram:t}},"loader"),iSt={id:GSe,detector:rSt,loader:nSt},aSt=iSt,WSe="stateDiagram",sSt=x((t,e)=>{var r;return!!(/^\s*stateDiagram-v2/.test(t)||/^\s*stateDiagram/.test(t)&&((r=e==null?void 0:e.state)==null?void 0:r.defaultRenderer)==="dagre-wrapper")},"detector"),oSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>cbr);return{diagram:e}},void 0,import.meta.url);return{id:WSe,diagram:t}},"loader"),lSt={id:WSe,detector:sSt,loader:oSt},cSt=lSt,qSe="journey",uSt=x(t=>/^\s*journey/.test(t),"detector"),dSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Ibr);return{diagram:e}},void 0,import.meta.url);return{id:qSe,diagram:t}},"loader"),hSt={id:qSe,detector:uSt,loader:dSt},fSt=hSt,pSt=x((t,e,r)=>{he.debug(`rendering svg for syntax error
`);const n=sl(e),i=n.append("g");n.attr("viewBox","0 0 2412 512"),Wa(n,100,512,!0),i.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"),i.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"),i.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"),i.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"),i.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"),i.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"),i.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"),i.append("text").attr("class","error-text").attr("x",1250).attr("y",400).attr("font-size","100px").style("text-anchor","middle").text(`mermaid version ${r}`)},"draw"),jSe={draw:pSt},gSt=jSe,mSt={db:{},renderer:jSe,parser:{parse:x(()=>{},"parse")}},USt=mSt,YSe="flowchart-elk",ySt=x((t,e={})=>{var r;return/^\s*flowchart-elk/.test(t)||/^\s*(flowchart|graph)/.test(t)&&((r=e==null?void 0:e.flowchart)==null?void 0:r.defaultRenderer)==="elk"?(e.layout="elk",!0):!1},"detector"),bSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>jre);return{diagram:e}},void 0,import.meta.url);return{id:YSe,diagram:t}},"loader"),vSt={id:YSe,detector:ySt,loader:bSt},xSt=vSt,XSe="timeline",wSt=x(t=>/^\s*timeline/.test(t),"detector"),TSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>s6r);return{diagram:e}},void 0,import.meta.url);return{id:XSe,diagram:t}},"loader"),CSt={id:XSe,detector:wSt,loader:TSt},SSt=CSt,KSe="mindmap",kSt=x(t=>/^\s*mindmap/.test(t),"detector"),ESt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>w6r);return{diagram:e}},void 0,import.meta.url);return{id:KSe,diagram:t}},"loader"),ASt={id:KSe,detector:kSt,loader:ESt},MSt=ASt,ZSe="kanban",RSt=x(t=>/^\s*kanban/.test(t),"detector"),ISt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>H6r);return{diagram:e}},void 0,import.meta.url);return{id:ZSe,diagram:t}},"loader"),LSt={id:ZSe,detector:RSt,loader:ISt},NSt=LSt,JSe="sankey",OSt=x(t=>/^\s*sankey(-beta)?/.test(t),"detector"),DSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>E7r);return{diagram:e}},void 0,import.meta.url);return{id:JSe,diagram:t}},"loader"),PSt={id:JSe,detector:OSt,loader:DSt},_St=PSt,QSe="packet",BSt=x(t=>/^\s*packet(-beta)?/.test(t),"detector"),$St=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>B7r);return{diagram:e}},void 0,import.meta.url);return{id:QSe,diagram:t}},"loader"),FSt={id:QSe,detector:BSt,loader:$St},eke="radar",zSt=x(t=>/^\s*radar-beta/.test(t),"detector"),HSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>a8r);return{diagram:e}},void 0,import.meta.url);return{id:eke,diagram:t}},"loader"),VSt={id:eke,detector:zSt,loader:HSt},tke="block",GSt=x(t=>/^\s*block(-beta)?/.test(t),"detector"),WSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Lvr);return{diagram:e}},void 0,import.meta.url);return{id:tke,diagram:t}},"loader"),qSt={id:tke,detector:GSt,loader:WSt},jSt=qSt,rke="treeView",YSt=x(t=>/^\s*treeView-beta/.test(t),"detector"),XSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>r4r);return{diagram:e}},void 0,import.meta.url);return{id:rke,diagram:t}},"loader"),KSt={id:rke,detector:YSt,loader:XSt},ZSt=KSt,nke="architecture",JSt=x(t=>/^\s*architecture/.test(t),"detector"),QSt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>R4r);return{diagram:e}},void 0,import.meta.url);return{id:nke,diagram:t}},"loader"),ekt={id:nke,detector:JSt,loader:QSt},tkt=ekt,ike="eventmodeling",rkt=x(t=>/^\s*eventmodeling/.test(t),"detector"),nkt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>q4r);return{diagram:e}},void 0,import.meta.url);return{id:ike,diagram:t}},"loader"),ikt={id:ike,detector:rkt,loader:nkt},akt=ikt,ake="ishikawa",skt=x(t=>/^\s*ishikawa(-beta)?\b/i.test(t),"detector"),okt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>c3r);return{diagram:e}},void 0,import.meta.url);return{id:ake,diagram:t}},"loader"),lkt={id:ake,detector:skt,loader:okt},ske="venn",ckt=x(t=>/^\s*venn-beta/.test(t),"detector"),ukt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Y3r);return{diagram:e}},void 0,import.meta.url);return{id:ske,diagram:t}},"loader"),dkt={id:ske,detector:ckt,loader:ukt},hkt=dkt,oke="treemap",fkt=x(t=>/^\s*treemap/.test(t),"detector"),pkt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>a9r);return{diagram:e}},void 0,import.meta.url);return{id:oke,diagram:t}},"loader"),gkt={id:oke,detector:fkt,loader:pkt},lke="wardley",mkt=x(t=>/^\s*wardley-beta/i.test(t),"detector"),Ukt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>U9r);return{diagram:e}},void 0,import.meta.url);return{id:lke,diagram:t}},"loader"),ykt={id:lke,detector:mkt,loader:Ukt},bkt=ykt,cke="cynefin",vkt=x(t=>/^\s*cynefin-beta(?:[\s:]|$)/.test(t),"detector"),xkt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>O9r);return{diagram:e}},void 0,import.meta.url);return{id:cke,diagram:t}},"loader"),wkt={id:cke,detector:vkt,loader:xkt},uke="railroad",Tkt=x(t=>/^\s*railroad-beta/i.test(t),"detector"),Ckt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>axr);return{diagram:e}},void 0,import.meta.url);return{id:uke,diagram:t}},"loader"),Skt={id:uke,detector:Tkt,loader:Ckt},dke="railroadEbnf",kkt=x(t=>/^\s*railroad-ebnf-beta/i.test(t),"detector"),Ekt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>pxr);return{diagram:e}},void 0,import.meta.url);return{id:dke,diagram:t}},"loader"),Akt={id:dke,detector:kkt,loader:Ekt},hke="railroadAbnf",Mkt=x(t=>/^\s*railroad-abnf-beta/i.test(t),"detector"),Rkt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Cxr);return{diagram:e}},void 0,import.meta.url);return{id:hke,diagram:t}},"loader"),Ikt={id:hke,detector:Mkt,loader:Rkt},fke="railroadPeg",Lkt=x(t=>/^\s*railroad-peg-beta/i.test(t),"detector"),Nkt=x(async()=>{const{diagram:t}=await Mr(async()=>{const{diagram:e}=await Promise.resolve().then(()=>Oxr);return{diagram:e}},void 0,import.meta.url);return{id:fke,diagram:t}},"loader"),Okt={id:fke,detector:Lkt,loader:Nkt},The=!1,OD=x(()=>{The||(The=!0,YR("error",USt,t=>t.toLowerCase().trim()==="error"),YR("---",{db:{clear:x(()=>{},"clear")},styles:{},renderer:{draw:x(()=>{},"draw")},parser:{parse:x(()=>{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")},"parse")},init:x(()=>null,"init")},t=>t.toLowerCase().trimStart().startsWith("---")),OG(xSt,MSt,tkt),OG(tCt,NSt,tSt,ZCt,UCt,SCt,ACt,ICt,VCt,jCt,fCt,cCt,aCt,SSt,xCt,cSt,aSt,fSt,DCt,_St,FSt,$Ct,jSt,akt,ZSt,VSt,lkt,gkt,Skt,Akt,Ikt,Okt,hkt,bkt,wkt))},"addDiagrams"),Dkt=x(async()=>{he.debug("Loading registered diagrams");const e=(await Promise.allSettled(Object.entries(YU).map(async([r,{detector:n,loader:i}])=>{if(i)try{$G(r)}catch{try{const{diagram:a,id:s}=await i();YR(s,a,n)}catch(a){throw he.error(`Failed to load external diagram with key ${r}. Removing from detectors.`),delete YU[r],a}}}))).filter(r=>r.status==="rejected");if(e.length>0){he.error(`Failed to load ${e.length} external diagrams`);for(const r of e)he.error(r);throw new Error(`Failed to load ${e.length} external diagrams`)}},"loadRegisteredDiagrams"),Pkt="graphics-document document";function pke(t,e){t.attr("role",Pkt),e!==""&&t.attr("aria-roledescription",e)}x(pke,"setA11yDiagramInfo");function gke(t,e,r,n){if(t.insert!==void 0){if(r){const i=`chart-desc-${n}`;t.attr("aria-describedby",i),t.insert("desc",":first-child").attr("id",i).text(r)}if(e){const i=`chart-title-${n}`;t.attr("aria-labelledby",i),t.insert("title",":first-child").attr("id",i).text(e)}}}x(gke,"addSVGa11yTitleDescription");var DU,DW=(DU=class{constructor(e,r,n,i,a){this.type=e,this.text=r,this.db=n,this.parser=i,this.renderer=a}static async fromText(e,r={}){var u,d;const n=xr(),i=GJ(e,n);e=ixt(e)+`
`;try{$G(i)}catch{const h=w2t(i);if(!h)throw new R3e(`Diagram ${i} not found.`);const{id:f,diagram:p}=await h();YR(f,p)}const{db:a,parser:s,renderer:o,init:l}=$G(i);return s.parser&&(s.parser.yy=a),(u=a.clear)==null||u.call(a),l==null||l(n),r.title&&((d=a.setDiagramTitle)==null||d.call(a,r.title)),await s.parse(e),new DU(i,e,a,s,o)}async render(e,r){await this.renderer.draw(this.text,e,r,this)}getParser(){return this.parser}getType(){return this.type}},x(DU,"Diagram"),DU),Che=[],_kt=x(()=>{Che.forEach(t=>{t()}),Che=[]},"attachFunctions"),Bkt=x(t=>t.replace(/^\s*%%(?!{)[^\n]+\n?/gm,"").trimStart(),"cleanupComments");function mke(t){const e=t.match(M3e);if(!e)return{text:t,metadata:{}};const r=e[1],n=r?e[2].split(`
`).map(s=>s.startsWith(r)?s.slice(r.length):s).join(`
`):e[2];let i=wD(n,{schema:xD})??{};i=typeof i=="object"&&!Array.isArray(i)?i:{};const a={};return i.displayMode&&(a.displayMode=i.displayMode.toString()),i.title&&(a.title=i.title.toString()),i.config&&(a.config=i.config),{text:t.slice(e[0].length),metadata:a}}x(mke,"extractFrontMatter");var $kt=x(t=>t.replace(/\r\n?/g,`
`).replace(/<(\w+)([^>]*)>/g,(e,r,n)=>"<"+r+n.replace(/="([^"]*)"/g,"='$1'")+">"),"cleanupText"),Fkt=x(t=>{const{text:e,metadata:r}=mke(t),{displayMode:n,title:i,config:a={}}=r;return n&&(a.gantt||(a.gantt={}),a.gantt.displayMode=n),{title:i,config:a,text:e}},"processFrontmatter"),zkt=x(t=>{const e=Kr.detectInit(t)??{},r=Kr.detectDirective(t,"wrap");return Array.isArray(r)?e.wrap=r.some(({type:n})=>n==="wrap"):(r==null?void 0:r.type)==="wrap"&&(e.wrap=!0),{text:Y9t(t),directive:e}},"processDirectives");function QQ(t){const e=$kt(t),r=Fkt(e),n=zkt(r.text),i=na(r.config,n.directive);return t=Bkt(n.text),{code:t,title:r.title,config:i}}x(QQ,"preprocessDiagram");function Uke(t){const e=new TextEncoder().encode(t),r=Array.from(e,n=>String.fromCodePoint(n)).join("");return btoa(r)}x(Uke,"toBase64");var Hkt=5e4,Vkt="graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa",Gkt="sandbox",Wkt="loose",qkt="http://www.w3.org/2000/svg",jkt="http://www.w3.org/1999/xlink",Ykt="http://www.w3.org/1999/xhtml",Xkt="100%",Kkt="100%",Zkt="border:0;margin:0;",Jkt="margin:0",Qkt="allow-top-navigation-by-user-activation allow-popups",eEt='The "iframe" tag is not supported by your browser.',tEt=["foreignobject"],rEt=["dominant-baseline"];function eee(t){const e=QQ(t);return qR(),y2t(e.config??{}),e}x(eee,"processAndSetConfigs");async function yke(t,e){OD();try{const{code:r,config:n}=eee(t);return{diagramType:(await vke(r)).type,config:n}}catch(r){if(e!=null&&e.suppressErrors)return!1;throw r}}x(yke,"parse");var She=x((t,e,r=[])=>{const n=T3e(`{ ${r.join(" !important; ")} !important; }`);return`.${t} ${e} ${n}`},"cssImportantStyles"),nEt=x((t,e=new Map)=>{const r=new CSSStyleSheet;if(t.fontFamily!==void 0&&r.insertRule(`:root { --mermaid-font-family: ${t.fontFamily}}`,r.cssRules.length),t.altFontFamily!==void 0&&r.insertRule(`:root { --mermaid-alt-font-family: ${t.altFontFamily}}`,r.cssRules.length),e instanceof Map){const o=yi(t)?["> *","span"]:["rect","polygon","ellipse","circle","path"];e.forEach(l=>{Bde(l.styles)||o.forEach(u=>{r.insertRule(She(l.id,u,l.styles),r.cssRules.length)}),Bde(l.textStyles)||r.insertRule(She(l.id,"tspan",((l==null?void 0:l.textStyles)||[]).map(u=>u.replace("color","fill"))),r.cssRules.length)})}let n="";if(t.themeCSS!==void 0)if(typeof r.replaceSync=="function"){const i=new CSSStyleSheet;i.replaceSync(t.themeCSS),n=_G(i)+`
`}else n+=`${t.themeCSS}
`;return n+_G(r)},"createCssStyles"),iEt=x((t,e)=>OW(YTt(`${t}{${e}}`),ZTt([x(function(n,i,a,s){if(n.type==="rule"&&Array.isArray(n.props)){if(n.parent&&n.parent.type===IW)return;n.props=n.props.map(o=>o===t&&Array.isArray(n.children)&&n.children.every(u=>u.type!=="decl"?!1:new Set(["font-family","font-size","fill"]).has(u.props))||(o.startsWith(`${t} `)||o.startsWith(`${t}>`))&&!o.startsWith(`${t} ||`)?o:`${t} ${o}`)}else n.type.startsWith("@")&&([...[OTt,PTt,SSe,BTt,"@container","@starting-style"],IW].includes(n.type)||(he.warn(`Removing unsupported at-rule ${n.type} from CSS`),n.type=ZQ))},"addNamespace"),KTt])),"compileCSS"),aEt=x((t,e,r,n)=>{const i=nEt(t,r),a=B2t(e,i,{...t.themeVariables,theme:t.theme,look:t.look},n);return iEt(n,a)},"createUserStyles"),sEt=x((t="",e,r)=>{let n=t;return!r&&!e&&(n=n.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,'marker-end="url(#')),n=O0(n),n=n.replace(/<br>/g,"<br/>"),n},"cleanUpSvgCode"),oEt=x((t="",e)=>{var i,a;const r=(a=(i=e==null?void 0:e.viewBox)==null?void 0:i.baseVal)!=null&&a.height?e.viewBox.baseVal.height+"px":Kkt,n=Uke(`<body style="${Jkt}">${t}</body>`);return`<iframe style="width:${Xkt};height:${r};${Zkt}" src="data:text/html;charset=UTF-8;base64,${n}" sandbox="${Qkt}">
${eEt}
</iframe>`},"putIntoIFrame"),khe=x((t,e,r,n,i)=>{const a=t.append("div");a.attr("id",r),n&&a.attr("style",n);const s=a.append("svg").attr("id",e).attr("width","100%").attr("xmlns",qkt);return i&&s.attr("xmlns:xlink",i),s.append("g"),t},"appendDivSvgG");function PW(t,e){return t.append("iframe").attr("id",e).attr("style","width: 100%; height: 100%;").attr("sandbox","")}x(PW,"sandboxedIframe");var lEt=x((t,e,r,n)=>{var i,a,s;(i=t.getElementById(e))==null||i.remove(),(a=t.getElementById(r))==null||a.remove(),(s=t.getElementById(n))==null||s.remove()},"removeExistingElements"),cEt=x(async function(t,e,r){var P,N,I,L,_,D;OD();const n=eee(e);e=n.code;const i=xr();he.debug(i),e.length>((i==null?void 0:i.maxTextSize)??Hkt)&&(e=Vkt);const a=`#${t}`,s="i"+t,o="#"+s,l="d"+t,u="#"+l,d=x(()=>{const B=vt(f?o:u).node();B&&"remove"in B&&B.remove()},"removeTempElements");let h=vt(document.body);const f=i.securityLevel===Gkt,p=i.securityLevel===Wkt,g=i.fontFamily;if(r!==void 0){if(r&&(r.innerHTML=""),f){const O=PW(vt(r),s);h=vt(O.nodes()[0].contentDocument.body),h.node().style.margin="0"}else h=vt(r);khe(h,t,l,`font-family: ${g}`,jkt)}else{if(lEt(document,t,l,s),f){const O=PW(vt(document.body),s);h=vt(O.nodes()[0].contentDocument.body),h.node().style.margin="0"}else h=vt("body");khe(h,t,l)}let m,U;try{m=await DW.fromText(e,{title:n.title})}catch(O){if(i.suppressErrorRendering)throw d(),O;m=await DW.fromText("error"),U=O}const y=h.select(u).node(),b=m.type,v=y.firstChild,w=v.firstChild,T=(N=(P=m.renderer).getClasses)==null?void 0:N.call(P,e,m),S=aEt(i,b,T,a),C=document.createElement("style");C.innerHTML=S,v.insertBefore(C,w);try{await m.renderer.draw(e,t,"11.16.1",m)}catch(O){throw i.suppressErrorRendering?d():gSt.draw(e,t,"11.16.1"),O}const k=h.select(`${u} svg`),E=(L=(I=m.db).getAccTitle)==null?void 0:L.call(I),A=(D=(_=m.db).getAccDescription)==null?void 0:D.call(_);xke(b,k,E,A),h.select(`[id="${t}"]`).selectAll("foreignobject > *").attr("xmlns",Ykt);let M=h.select(u).node().innerHTML;if(he.debug("config.arrowMarkerAbsolute",i.arrowMarkerAbsolute),M=sEt(M,f,sf(i.arrowMarkerAbsolute)),f){const O=h.select(u+" svg").node();M=oEt(M,O)}else p||(M=R0.sanitize(M,{ADD_TAGS:tEt,ADD_ATTR:rEt,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(_kt(),U)throw U;return d(),{diagramType:b,svg:M,bindFunctions:m.db.bindFunctions}},"render");function bke(t={}){var n;const e=ls({},t);e!=null&&e.fontFamily&&!((n=e.themeVariables)!=null&&n.fontFamily)&&(e.themeVariables||(e.themeVariables={}),e.themeVariables.fontFamily=e.fontFamily),m2t(e),e!=null&&e.theme&&e.theme in x0?e.themeVariables=x0[e.theme].getThemeVariables(e.themeVariables):e&&(e.themeVariables=x0.default.getThemeVariables(e.themeVariables));const r=typeof e=="object"?g2t(e):C3e();zJ(r.logLevel),OD()}x(bke,"initialize");var vke=x((t,e={})=>{const{code:r}=QQ(t);return DW.fromText(r,e)},"getDiagramFromText");function xke(t,e,r,n){pke(e,t),gke(e,r,n,e.attr("id"))}x(xke,"addA11yInfo");var r5=Object.freeze({render:cEt,parse:yke,getDiagramFromText:vke,initialize:bke,getConfig:xr,setConfig:S3e,getSiteConfig:C3e,updateSiteConfig:U2t,reset:x(()=>{qR()},"reset"),globalReset:x(()=>{qR(_v)},"globalReset"),defaultConfig:_v});zJ(xr().logLevel);qR(xr());var uEt=x((t,e,r)=>{he.warn(t),LQ(t)?(r&&r(t.str,t.hash),e.push({...t,message:t.str,error:t})):(r&&r(t),t instanceof Error&&e.push({str:t.message,message:t.message,hash:t.name,error:t}))},"handleError"),wke=x(async function(t={querySelector:".mermaid"}){try{await dEt(t)}catch(e){if(LQ(e)&&he.error(e.str),Kc.parseError&&Kc.parseError(e),!t.suppressErrors)throw he.error("Use the suppressErrors option to suppress these errors"),e}},"run"),dEt=x(async function({postRenderCallback:t,querySelector:e,nodes:r}={querySelector:".mermaid"}){const n=r5.getConfig();he.debug(`${t?"":"No "}Callback function found`);let i;if(r)i=r;else if(e)i=document.querySelectorAll(e);else throw new Error("Nodes and querySelector are both undefined");he.debug(`Found ${i.length} diagrams`),(n==null?void 0:n.startOnLoad)!==void 0&&(he.debug("Start On Load: "+(n==null?void 0:n.startOnLoad)),r5.updateSiteConfig({startOnLoad:n==null?void 0:n.startOnLoad}));const a=new Kr.InitIDGenerator(n.deterministicIds,n.deterministicIDSeed);let s;const o=[];for(const l of Array.from(i)){if(he.info("Rendering diagram: "+l.id),l.getAttribute("data-processed"))continue;l.setAttribute("data-processed","true");const u=`mermaid-${a.next()}`;s=l.innerHTML,s=kTe(Kr.entityDecode(s)).trim().replace(/<br\s*\/?>/gi,"<br/>");const d=Kr.detectInit(s);d&&he.debug("Detected early reinit: ",d);try{const{svg:h,bindFunctions:f}=await kke(u,s,l);l.innerHTML=h,t&&await t(u),f&&f(l)}catch(h){uEt(h,o,Kc.parseError)}}if(o.length>0)throw o[0]},"runThrowsErrors"),Tke=x(function(t){r5.initialize(t)},"initialize"),hEt=x(async function(t,e,r){he.warn("mermaid.init is deprecated. Please use run instead."),t&&Tke(t);const n={postRenderCallback:r,querySelector:".mermaid"};typeof e=="string"?n.querySelector=e:e&&(e instanceof HTMLElement?n.nodes=[e]:n.nodes=e),await wke(n)},"init"),fEt=x(async(t,{lazyLoad:e=!0}={})=>{OD(),OG(...t),e===!1&&await Dkt()},"registerExternalDiagrams"),Cke=x(function(){if(Kc.startOnLoad){const{startOnLoad:t}=r5.getConfig();t&&Kc.run().catch(e=>he.error("Mermaid failed to initialize",e))}},"contentLoaded");typeof document<"u"&&window.addEventListener("load",Cke,!1);var pEt=x(function(t){Kc.parseError=t},"setParseErrorHandler"),LI=[],Y$=!1,Ske=x(async()=>{if(!Y$){for(Y$=!0;LI.length>0;){const t=LI.shift();if(t)try{await t()}catch(e){he.error("Error executing queue",e)}}Y$=!1}},"executeQueue"),gEt=x(async(t,e)=>new Promise((r,n)=>{const i=x(()=>new Promise((a,s)=>{r5.parse(t,e).then(o=>{a(o),r(o)},o=>{var l;he.error("Error parsing",o),(l=Kc.parseError)==null||l.call(Kc,o),s(o),n(o)})}),"performCall");LI.push(i),Ske().catch(n)}),"parse"),kke=x((t,e,r)=>new Promise((n,i)=>{const a=x(()=>new Promise((s,o)=>{r5.render(t,e,r).then(l=>{s(l),n(l)},l=>{var u;he.error("Error parsing",l),(u=Kc.parseError)==null||u.call(Kc,l),o(l),i(l)})}),"performCall");LI.push(a),Ske().catch(i)}),"render"),mEt=x(()=>Object.keys(YU).map(t=>({id:t})),"getRegisteredDiagramsMetadata"),Kc={startOnLoad:!0,mermaidAPI:r5,parse:gEt,render:kke,init:hEt,run:wke,registerExternalDiagrams:fEt,registerLayoutLoaders:wSe,initialize:Tke,parseError:void 0,contentLoaded:Cke,setParseErrorHandler:pEt,detectType:GJ,registerIconPacks:OQ,getRegisteredDiagramsMetadata:mEt},Ehe=Kc;/*! Check if previously processed *//*!
* Wait for document loaded before starting the execution
*/function UEt(t,e){if(t.match(/^[a-z]+:\/\//i))return t;if(t.match(/^\/\//))return window.location.protocol+t;if(t.match(/^[a-z]+:/i))return t;const r=document.implementation.createHTMLDocument(),n=r.createElement("base"),i=r.createElement("a");return r.head.appendChild(n),r.body.appendChild(i),e&&(n.href=e),i.href=t,i.href}const yEt=(()=>{let t=0;const e=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(t+=1,`u${e()}${t}`)})();function kg(t){const e=[];for(let r=0,n=t.length;r<n;r++)e.push(t[r]);return e}let xy=null;function Eke(t={}){return xy||(t.includeStyleProperties?(xy=t.includeStyleProperties,xy):(xy=kg(window.getComputedStyle(document.documentElement)),xy))}function NI(t,e){const n=(t.ownerDocument.defaultView||window).getComputedStyle(t).getPropertyValue(e);return n?parseFloat(n.replace("px","")):0}function bEt(t){const e=NI(t,"border-left-width"),r=NI(t,"border-right-width");return t.clientWidth+e+r}function vEt(t){const e=NI(t,"border-top-width"),r=NI(t,"border-bottom-width");return t.clientHeight+e+r}function Ake(t,e={}){const r=e.width||bEt(t),n=e.height||vEt(t);return{width:r,height:n}}function xEt(){let t,e;try{e=process}catch{}const r=e&&e.env?e.env.devicePixelRatio:null;return r&&(t=parseInt(r,10),Number.isNaN(t)&&(t=1)),t||window.devicePixelRatio||1}const Pc=16384;function wEt(t){(t.width>Pc||t.height>Pc)&&(t.width>Pc&&t.height>Pc?t.width>t.height?(t.height*=Pc/t.width,t.width=Pc):(t.width*=Pc/t.height,t.height=Pc):t.width>Pc?(t.height*=Pc/t.width,t.width=Pc):(t.width*=Pc/t.height,t.height=Pc))}function OI(t){return new Promise((e,r)=>{const n=new Image;n.onload=()=>{n.decode().then(()=>{requestAnimationFrame(()=>e(n))})},n.onerror=r,n.crossOrigin="anonymous",n.decoding="async",n.src=t})}async function TEt(t){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(t)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function CEt(t,e,r){const n="http://www.w3.org/2000/svg",i=document.createElementNS(n,"svg"),a=document.createElementNS(n,"foreignObject");return i.setAttribute("width",`${e}`),i.setAttribute("height",`${r}`),i.setAttribute("viewBox",`0 0 ${e} ${r}`),a.setAttribute("width","100%"),a.setAttribute("height","100%"),a.setAttribute("x","0"),a.setAttribute("y","0"),a.setAttribute("externalResourcesRequired","true"),i.appendChild(a),a.appendChild(t),TEt(i)}const wc=(t,e)=>{if(t instanceof e)return!0;const r=Object.getPrototypeOf(t);return r===null?!1:r.constructor.name===e.name||wc(r,e)};function SEt(t){const e=t.getPropertyValue("content");return`${t.cssText} content: '${e.replace(/'|"/g,"")}';`}function kEt(t,e){return Eke(e).map(r=>{const n=t.getPropertyValue(r),i=t.getPropertyPriority(r);return`${r}: ${n}${i?" !important":""};`}).join(" ")}function EEt(t,e,r,n){const i=`.${t}:${e}`,a=r.cssText?SEt(r):kEt(r,n);return document.createTextNode(`${i}{${a}}`)}function Ahe(t,e,r,n){const i=window.getComputedStyle(t,r),a=i.getPropertyValue("content");if(a===""||a==="none")return;const s=yEt();try{e.className=`${e.className} ${s}`}catch{return}const o=document.createElement("style");o.appendChild(EEt(s,r,i,n)),e.appendChild(o)}function AEt(t,e,r){Ahe(t,e,":before",r),Ahe(t,e,":after",r)}const Mhe="application/font-woff",Rhe="image/jpeg",MEt={woff:Mhe,woff2:Mhe,ttf:"application/font-truetype",eot:"application/vnd.ms-fontobject",png:"image/png",jpg:Rhe,jpeg:Rhe,gif:"image/gif",tiff:"image/tiff",svg:"image/svg+xml",webp:"image/webp"};function REt(t){const e=/\.([^./]*?)$/g.exec(t);return e?e[1]:""}function tee(t){const e=REt(t).toLowerCase();return MEt[e]||""}function IEt(t){return t.split(/,/)[1]}function _W(t){return t.search(/^(data:)/)!==-1}function LEt(t,e){return`data:${e};base64,${t}`}async function Mke(t,e,r){const n=await fetch(t,e);if(n.status===404)throw new Error(`Resource "${n.url}" not found`);const i=await n.blob();return new Promise((a,s)=>{const o=new FileReader;o.onerror=s,o.onloadend=()=>{try{a(r({res:n,result:o.result}))}catch(l){s(l)}},o.readAsDataURL(i)})}const X$={};function NEt(t,e,r){let n=t.replace(/\?.*/,"");return r&&(n=t),/ttf|otf|eot|woff2?/i.test(n)&&(n=n.replace(/.*\//,"")),e?`[${e}]${n}`:n}async function ree(t,e,r){const n=NEt(t,e,r.includeQueryParams);if(X$[n]!=null)return X$[n];r.cacheBust&&(t+=(/\?/.test(t)?"&":"?")+new Date().getTime());let i;try{const a=await Mke(t,r.fetchRequestInit,({res:s,result:o})=>(e||(e=s.headers.get("Content-Type")||""),IEt(o)));i=LEt(a,e)}catch(a){i=r.imagePlaceholder||"";let s=`Failed to fetch resource: ${t}`;a&&(s=typeof a=="string"?a:a.message),s&&console.warn(s)}return X$[n]=i,i}async function OEt(t){const e=t.toDataURL();return e==="data:,"?t.cloneNode(!1):OI(e)}async function DEt(t,e){if(t.currentSrc){const a=document.createElement("canvas"),s=a.getContext("2d");a.width=t.clientWidth,a.height=t.clientHeight,s==null||s.drawImage(t,0,0,a.width,a.height);const o=a.toDataURL();return OI(o)}const r=t.poster,n=tee(r),i=await ree(r,n,e);return OI(i)}async function PEt(t,e){var r;try{if(!((r=t==null?void 0:t.contentDocument)===null||r===void 0)&&r.body)return await DD(t.contentDocument.body,e,!0)}catch{}return t.cloneNode(!1)}async function _Et(t,e){return wc(t,HTMLCanvasElement)?OEt(t):wc(t,HTMLVideoElement)?DEt(t,e):wc(t,HTMLIFrameElement)?PEt(t,e):t.cloneNode(Rke(t))}const BEt=t=>t.tagName!=null&&t.tagName.toUpperCase()==="SLOT",Rke=t=>t.tagName!=null&&t.tagName.toUpperCase()==="SVG";async function $Et(t,e,r){var n,i;if(Rke(e))return e;let a=[];return BEt(t)&&t.assignedNodes?a=kg(t.assignedNodes()):wc(t,HTMLIFrameElement)&&(!((n=t.contentDocument)===null||n===void 0)&&n.body)?a=kg(t.contentDocument.body.childNodes):a=kg(((i=t.shadowRoot)!==null&&i!==void 0?i:t).childNodes),a.length===0||wc(t,HTMLVideoElement)||await a.reduce((s,o)=>s.then(()=>DD(o,r)).then(l=>{l&&e.appendChild(l)}),Promise.resolve()),e}function FEt(t,e,r){const n=e.style;if(!n)return;const i=window.getComputedStyle(t);i.cssText?(n.cssText=i.cssText,n.transformOrigin=i.transformOrigin):Eke(r).forEach(a=>{let s=i.getPropertyValue(a);a==="font-size"&&s.endsWith("px")&&(s=`${Math.floor(parseFloat(s.substring(0,s.length-2)))-.1}px`),wc(t,HTMLIFrameElement)&&a==="display"&&s==="inline"&&(s="block"),a==="d"&&e.getAttribute("d")&&(s=`path(${e.getAttribute("d")})`),n.setProperty(a,s,i.getPropertyPriority(a))})}function zEt(t,e){wc(t,HTMLTextAreaElement)&&(e.innerHTML=t.value),wc(t,HTMLInputElement)&&e.setAttribute("value",t.value)}function HEt(t,e){if(wc(t,HTMLSelectElement)){const n=Array.from(e.children).find(i=>t.value===i.getAttribute("value"));n&&n.setAttribute("selected","")}}function VEt(t,e,r){return wc(e,Element)&&(FEt(t,e,r),AEt(t,e,r),zEt(t,e),HEt(t,e)),e}async function GEt(t,e){const r=t.querySelectorAll?t.querySelectorAll("use"):[];if(r.length===0)return t;const n={};for(let a=0;a<r.length;a++){const o=r[a].getAttribute("xlink:href");if(o){const l=t.querySelector(o),u=document.querySelector(o);!l&&u&&!n[o]&&(n[o]=await DD(u,e,!0))}}const i=Object.values(n);if(i.length){const a="http://www.w3.org/1999/xhtml",s=document.createElementNS(a,"svg");s.setAttribute("xmlns",a),s.style.position="absolute",s.style.width="0",s.style.height="0",s.style.overflow="hidden",s.style.display="none";const o=document.createElementNS(a,"defs");s.appendChild(o);for(let l=0;l<i.length;l++)o.appendChild(i[l]);t.appendChild(s)}return t}async function DD(t,e,r){return!r&&e.filter&&!e.filter(t)?null:Promise.resolve(t).then(n=>_Et(n,e)).then(n=>$Et(t,n,e)).then(n=>VEt(t,n,e)).then(n=>GEt(n,e))}const Ike=/url\((['"]?)([^'"]+?)\1\)/g,WEt=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,qEt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function jEt(t){const e=t.replace(/([.*+?^${}()|\[\]\/\\])/g,"\\$1");return new RegExp(`(url\\(['"]?)(${e})(['"]?\\))`,"g")}function YEt(t){const e=[];return t.replace(Ike,(r,n,i)=>(e.push(i),r)),e.filter(r=>!_W(r))}async function XEt(t,e,r,n,i){try{const a=r?UEt(e,r):e,s=tee(e);let o;return i||(o=await ree(a,s,n)),t.replace(jEt(e),`$1${o}$3`)}catch{}return t}function KEt(t,{preferredFontFormat:e}){return e?t.replace(qEt,r=>{for(;;){const[n,,i]=WEt.exec(r)||[];if(!i)return"";if(i===e)return`src: ${n};`}}):t}function Lke(t){return t.search(Ike)!==-1}async function Nke(t,e,r){if(!Lke(t))return t;const n=KEt(t,r);return YEt(n).reduce((a,s)=>a.then(o=>XEt(o,s,e,r)),Promise.resolve(n))}async function wy(t,e,r){var n;const i=(n=e.style)===null||n===void 0?void 0:n.getPropertyValue(t);if(i){const a=await Nke(i,null,r);return e.style.setProperty(t,a,e.style.getPropertyPriority(t)),!0}return!1}async function ZEt(t,e){await wy("background",t,e)||await wy("background-image",t,e),await wy("mask",t,e)||await wy("-webkit-mask",t,e)||await wy("mask-image",t,e)||await wy("-webkit-mask-image",t,e)}async function JEt(t,e){const r=wc(t,HTMLImageElement);if(!(r&&!_W(t.src))&&!(wc(t,SVGImageElement)&&!_W(t.href.baseVal)))return;const n=r?t.src:t.href.baseVal,i=await ree(n,tee(n),e);await new Promise((a,s)=>{t.onload=a,t.onerror=e.onImageErrorHandler?(...l)=>{try{a(e.onImageErrorHandler(...l))}catch(u){s(u)}}:s;const o=t;o.decode&&(o.decode=a),o.loading==="lazy"&&(o.loading="eager"),r?(t.srcset="",t.src=i):t.href.baseVal=i})}async function QEt(t,e){const n=kg(t.childNodes).map(i=>Oke(i,e));await Promise.all(n).then(()=>t)}async function Oke(t,e){wc(t,Element)&&(await ZEt(t,e),await JEt(t,e),await QEt(t,e))}function eAt(t,e){const{style:r}=t;e.backgroundColor&&(r.backgroundColor=e.backgroundColor),e.width&&(r.width=`${e.width}px`),e.height&&(r.height=`${e.height}px`);const n=e.style;return n!=null&&Object.keys(n).forEach(i=>{r[i]=n[i]}),t}const Ihe={};async function Lhe(t){let e=Ihe[t];if(e!=null)return e;const n=await(await fetch(t)).text();return e={url:t,cssText:n},Ihe[t]=e,e}async function Nhe(t,e){let r=t.cssText;const n=/url\(["']?([^"')]+)["']?\)/g,a=(r.match(/url\([^)]+\)/g)||[]).map(async s=>{let o=s.replace(n,"$1");return o.startsWith("https://")||(o=new URL(o,t.url).href),Mke(o,e.fetchRequestInit,({result:l})=>(r=r.replace(s,`url(${l})`),[s,l]))});return Promise.all(a).then(()=>r)}function Ohe(t){if(t==null)return[];const e=[],r=/(\/\*[\s\S]*?\*\/)/gi;let n=t.replace(r,"");const i=new RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})","gi");for(;;){const l=i.exec(n);if(l===null)break;e.push(l[0])}n=n.replace(i,"");const a=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,s="((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})",o=new RegExp(s,"gi");for(;;){let l=a.exec(n);if(l===null){if(l=o.exec(n),l===null)break;a.lastIndex=o.lastIndex}else o.lastIndex=a.lastIndex;e.push(l[0])}return e}async function tAt(t,e){const r=[],n=[];return t.forEach(i=>{if("cssRules"in i)try{kg(i.cssRules||[]).forEach((a,s)=>{if(a.type===CSSRule.IMPORT_RULE){let o=s+1;const l=a.href,u=Lhe(l).then(d=>Nhe(d,e)).then(d=>Ohe(d).forEach(h=>{try{i.insertRule(h,h.startsWith("@import")?o+=1:i.cssRules.length)}catch(f){console.error("Error inserting rule from remote css",{rule:h,error:f})}})).catch(d=>{console.error("Error loading remote css",d.toString())});n.push(u)}})}catch(a){const s=t.find(o=>o.href==null)||document.styleSheets[0];i.href!=null&&n.push(Lhe(i.href).then(o=>Nhe(o,e)).then(o=>Ohe(o).forEach(l=>{s.insertRule(l,s.cssRules.length)})).catch(o=>{console.error("Error loading remote stylesheet",o)})),console.error("Error inlining remote css file",a)}}),Promise.all(n).then(()=>(t.forEach(i=>{if("cssRules"in i)try{kg(i.cssRules||[]).forEach(a=>{r.push(a)})}catch(a){console.error(`Error while reading CSS rules from ${i.href}`,a)}}),r))}function rAt(t){return t.filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>Lke(e.style.getPropertyValue("src")))}async function nAt(t,e){if(t.ownerDocument==null)throw new Error("Provided element is not within a Document");const r=kg(t.ownerDocument.styleSheets),n=await tAt(r,e);return rAt(n)}function Dke(t){return t.trim().replace(/["']/g,"")}function iAt(t){const e=new Set;function r(n){(n.style.fontFamily||getComputedStyle(n).fontFamily).split(",").forEach(a=>{e.add(Dke(a))}),Array.from(n.children).forEach(a=>{a instanceof HTMLElement&&r(a)})}return r(t),e}async function aAt(t,e){const r=await nAt(t,e),n=iAt(t);return(await Promise.all(r.filter(a=>n.has(Dke(a.style.fontFamily))).map(a=>{const s=a.parentStyleSheet?a.parentStyleSheet.href:null;return Nke(a.cssText,s,e)}))).join(`
`)}async function sAt(t,e){const r=e.fontEmbedCSS!=null?e.fontEmbedCSS:e.skipFonts?null:await aAt(t,e);if(r){const n=document.createElement("style"),i=document.createTextNode(r);n.appendChild(i),t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)}}async function oAt(t,e={}){const{width:r,height:n}=Ake(t,e),i=await DD(t,e,!0);return await sAt(i,e),await Oke(i,e),eAt(i,e),await CEt(i,r,n)}async function lAt(t,e={}){const{width:r,height:n}=Ake(t,e),i=await oAt(t,e),a=await OI(i),s=document.createElement("canvas"),o=s.getContext("2d"),l=e.pixelRatio||xEt(),u=e.canvasWidth||r,d=e.canvasHeight||n;return s.width=u*l,s.height=d*l,e.skipAutoScale||wEt(s),s.style.width=`${u}`,s.style.height=`${d}`,e.backgroundColor&&(o.fillStyle=e.backgroundColor,o.fillRect(0,0,s.width,s.height)),o.drawImage(a,0,0,s.width,s.height),s}function nee(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var R5=nee();function Pke(t){R5=t}var Bm={exec:()=>null};function jn(t,e=""){let r=typeof t=="string"?t:t.source,n={replace:(i,a)=>{let s=typeof a=="string"?a:a.source;return s=s.replace(Nl.caret,"$1"),r=r.replace(i,s),n},getRegex:()=>new RegExp(r,e)};return n}var cAt=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),Nl={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}>`)},uAt=/^(?:[ \t]*(?:\n|$))+/,dAt=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,hAt=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,pS=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fAt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,iee=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,_ke=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Bke=jn(_ke).replace(/bull/g,iee).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),pAt=jn(_ke).replace(/bull/g,iee).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),aee=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,gAt=/^[^\n]+/,see=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,mAt=jn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",see).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),UAt=jn(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,iee).getRegex(),PD="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",oee=/\x3C!--(?:-?>|[\s\S]*?(?:-->|$))/,yAt=jn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",oee).replace("tag",PD).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),$ke=jn(aee).replace("hr",pS).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",PD).getRegex(),bAt=jn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",$ke).getRegex(),lee={blockquote:bAt,code:dAt,def:mAt,fences:hAt,heading:fAt,hr:pS,html:yAt,lheading:Bke,list:UAt,newline:uAt,paragraph:$ke,table:Bm,text:gAt},Dhe=jn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",pS).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",PD).getRegex(),vAt={...lee,lheading:pAt,table:Dhe,paragraph:jn(aee).replace("hr",pS).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Dhe).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",PD).getRegex()},xAt={...lee,html:jn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",oee).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Bm,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:jn(aee).replace("hr",pS).replace("heading",` *#{1,6} *[^
]`).replace("lheading",Bke).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},wAt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,TAt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Fke=/^( {2,}|\\)\n(?!\s*$)/,CAt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,e3=/[\p{P}\p{S}]/u,_D=/[\s\p{P}\p{S}]/u,cee=/[^\s\p{P}\p{S}]/u,SAt=jn(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,_D).getRegex(),zke=/(?!~)[\p{P}\p{S}]/u,kAt=/(?!~)[\s\p{P}\p{S}]/u,EAt=/(?:[^\s\p{P}\p{S}]|~)/u,AAt=jn(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",cAt?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Hke=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,MAt=jn(Hke,"u").replace(/punct/g,e3).getRegex(),RAt=jn(Hke,"u").replace(/punct/g,zke).getRegex(),Vke="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",IAt=jn(Vke,"gu").replace(/notPunctSpace/g,cee).replace(/punctSpace/g,_D).replace(/punct/g,e3).getRegex(),LAt=jn(Vke,"gu").replace(/notPunctSpace/g,EAt).replace(/punctSpace/g,kAt).replace(/punct/g,zke).getRegex(),NAt=jn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,cee).replace(/punctSpace/g,_D).replace(/punct/g,e3).getRegex(),OAt=jn(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,e3).getRegex(),DAt="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",PAt=jn(DAt,"gu").replace(/notPunctSpace/g,cee).replace(/punctSpace/g,_D).replace(/punct/g,e3).getRegex(),_At=jn(/\\(punct)/,"gu").replace(/punct/g,e3).getRegex(),BAt=jn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),$At=jn(oee).replace("(?:-->|$)","-->").getRegex(),FAt=jn("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",$At).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),DI=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,zAt=jn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",DI).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Gke=jn(/^!?\[(label)\]\[(ref)\]/).replace("label",DI).replace("ref",see).getRegex(),Wke=jn(/^!?\[(ref)\](?:\[\])?/).replace("ref",see).getRegex(),HAt=jn("reflink|nolink(?!\\()","g").replace("reflink",Gke).replace("nolink",Wke).getRegex(),Phe=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,uee={_backpedal:Bm,anyPunctuation:_At,autolink:BAt,blockSkip:AAt,br:Fke,code:TAt,del:Bm,delLDelim:Bm,delRDelim:Bm,emStrongLDelim:MAt,emStrongRDelimAst:IAt,emStrongRDelimUnd:NAt,escape:wAt,link:zAt,nolink:Wke,punctuation:SAt,reflink:Gke,reflinkSearch:HAt,tag:FAt,text:CAt,url:Bm},VAt={...uee,link:jn(/^!?\[(label)\]\((.*?)\)/).replace("label",DI).getRegex(),reflink:jn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",DI).getRegex()},BW={...uee,emStrongRDelimAst:LAt,emStrongLDelim:RAt,delLDelim:OAt,delRDelim:PAt,url:jn(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Phe).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:jn(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Phe).getRegex()},GAt={...BW,br:jn(Fke).replace("{2,}","*").getRegex(),text:jn(BW.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Wk={normal:lee,gfm:vAt,pedantic:xAt},X3={normal:uee,gfm:BW,breaks:GAt,pedantic:VAt},WAt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},_he=t=>WAt[t];function ch(t,e){if(e){if(Nl.escapeTest.test(t))return t.replace(Nl.escapeReplace,_he)}else if(Nl.escapeTestNoEncode.test(t))return t.replace(Nl.escapeReplaceNoEncode,_he);return t}function Bhe(t){try{t=encodeURI(t).replace(Nl.percentDecode,"%")}catch{return null}return t}function $he(t,e){var a;let r=t.replace(Nl.findPipe,(s,o,l)=>{let u=!1,d=o;for(;--d>=0&&l[d]==="\\";)u=!u;return u?"|":" |"}),n=r.split(Nl.splitPipe),i=0;if(n[0].trim()||n.shift(),n.length>0&&!((a=n.at(-1))!=null&&a.trim())&&n.pop(),e)if(n.length>e)n.splice(e);else for(;n.length<e;)n.push("");for(;i<n.length;i++)n[i]=n[i].trim().replace(Nl.slashPipe,"|");return n}function K3(t,e,r){let n=t.length;if(n===0)return"";let i=0;for(;i<n&&t.charAt(n-i-1)===e;)i++;return t.slice(0,n-i)}function qAt(t,e){if(t.indexOf(e[1])===-1)return-1;let r=0;for(let n=0;n<t.length;n++)if(t[n]==="\\")n++;else if(t[n]===e[0])r++;else if(t[n]===e[1]&&(r--,r<0))return n;return r>0?-2:-1}function jAt(t,e=0){let r=e,n="";for(let i of t)if(i===" "){let a=4-r%4;n+=" ".repeat(a),r+=a}else n+=i,r++;return n}function Fhe(t,e,r,n,i){let a=e.href,s=e.title||null,o=t[1].replace(i.other.outputLinkReplace,"$1");n.state.inLink=!0;let l={type:t[0].charAt(0)==="!"?"image":"link",raw:r,href:a,title:s,text:o,tokens:n.inlineTokens(o)};return n.state.inLink=!1,l}function YAt(t,e,r){let n=t.match(r.other.indentCodeCompensation);if(n===null)return e;let i=n[1];return e.split(`
`).map(a=>{let s=a.match(r.other.beginningSpace);if(s===null)return a;let[o]=s;return o.length>=i.length?a.slice(i.length):a}).join(`
`)}var PI=class{constructor(e){wr(this,"options");wr(this,"rules");wr(this,"lexer");this.options=e||R5}space(e){let r=this.rules.block.newline.exec(e);if(r&&r[0].length>0)return{type:"space",raw:r[0]}}code(e){let r=this.rules.block.code.exec(e);if(r){let n=r[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:r[0],codeBlockStyle:"indented",text:this.options.pedantic?n:K3(n,`
`)}}}fences(e){let r=this.rules.block.fences.exec(e);if(r){let n=r[0],i=YAt(n,r[3]||"",this.rules);return{type:"code",raw:n,lang:r[2]?r[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):r[2],text:i}}}heading(e){let r=this.rules.block.heading.exec(e);if(r){let n=r[2].trim();if(this.rules.other.endingHash.test(n)){let i=K3(n,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(n=i.trim())}return{type:"heading",raw:r[0],depth:r[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let r=this.rules.block.hr.exec(e);if(r)return{type:"hr",raw:K3(r[0],`
`)}}blockquote(e){let r=this.rules.block.blockquote.exec(e);if(r){let n=K3(r[0],`
`).split(`
`),i="",a="",s=[];for(;n.length>0;){let o=!1,l=[],u;for(u=0;u<n.length;u++)if(this.rules.other.blockquoteStart.test(n[u]))l.push(n[u]),o=!0;else if(!o)l.push(n[u]);else break;n=n.slice(u);let d=l.join(`
`),h=d.replace(this.rules.other.blockquoteSetextReplace,`
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");i=i?`${i}
${d}`:d,a=a?`${a}
${h}`:h;let f=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(h,s,!0),this.lexer.state.top=f,n.length===0)break;let p=s.at(-1);if((p==null?void 0:p.type)==="code")break;if((p==null?void 0:p.type)==="blockquote"){let g=p,m=g.raw+`
`+n.join(`
`),U=this.blockquote(m);s[s.length-1]=U,i=i.substring(0,i.length-g.raw.length)+U.raw,a=a.substring(0,a.length-g.text.length)+U.text;break}else if((p==null?void 0:p.type)==="list"){let g=p,m=g.raw+`
`+n.join(`
`),U=this.list(m);s[s.length-1]=U,i=i.substring(0,i.length-p.raw.length)+U.raw,a=a.substring(0,a.length-g.raw.length)+U.raw,n=m.substring(s.at(-1).raw.length).split(`
`);continue}}return{type:"blockquote",raw:i,tokens:s,text:a}}}list(e){var n,i;let r=this.rules.block.list.exec(e);if(r){let a=r[1].trim(),s=a.length>1,o={type:"list",raw:"",ordered:s,start:s?+a.slice(0,-1):"",loose:!1,items:[]};a=s?`\\d{1,9}\\${a.slice(-1)}`:`\\${a}`,this.options.pedantic&&(a=s?a:"[*+-]");let l=this.rules.other.listItemRegex(a),u=!1;for(;e;){let h=!1,f="",p="";if(!(r=l.exec(e))||this.rules.block.hr.test(e))break;f=r[0],e=e.substring(f.length);let g=jAt(r[2].split(`
`,1)[0],r[1].length),m=e.split(`
`,1)[0],U=!g.trim(),y=0;if(this.options.pedantic?(y=2,p=g.trimStart()):U?y=r[1].length+1:(y=g.search(this.rules.other.nonSpaceChar),y=y>4?1:y,p=g.slice(y),y+=r[1].length),U&&this.rules.other.blankLine.test(m)&&(f+=m+`
`,e=e.substring(m.length+1),h=!0),!h){let b=this.rules.other.nextBulletRegex(y),v=this.rules.other.hrRegex(y),w=this.rules.other.fencesBeginRegex(y),T=this.rules.other.headingBeginRegex(y),S=this.rules.other.htmlBeginRegex(y),C=this.rules.other.blockquoteBeginRegex(y);for(;e;){let k=e.split(`
`,1)[0],E;if(m=k,this.options.pedantic?(m=m.replace(this.rules.other.listReplaceNesting," "),E=m):E=m.replace(this.rules.other.tabCharGlobal," "),w.test(m)||T.test(m)||S.test(m)||C.test(m)||b.test(m)||v.test(m))break;if(E.search(this.rules.other.nonSpaceChar)>=y||!m.trim())p+=`
`+E.slice(y);else{if(U||g.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||w.test(g)||T.test(g)||v.test(g))break;p+=`
`+m}U=!m.trim(),f+=k+`
`,e=e.substring(k.length+1),g=E.slice(y)}}o.loose||(u?o.loose=!0:this.rules.other.doubleBlankLine.test(f)&&(u=!0)),o.items.push({type:"list_item",raw:f,task:!!this.options.gfm&&this.rules.other.listIsTask.test(p),loose:!1,text:p,tokens:[]}),o.raw+=f}let d=o.items.at(-1);if(d)d.raw=d.raw.trimEnd(),d.text=d.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let h of o.items){if(this.lexer.state.top=!1,h.tokens=this.lexer.blockTokens(h.text,[]),h.task){if(h.text=h.text.replace(this.rules.other.listReplaceTask,""),((n=h.tokens[0])==null?void 0:n.type)==="text"||((i=h.tokens[0])==null?void 0:i.type)==="paragraph"){h.tokens[0].raw=h.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),h.tokens[0].text=h.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let p=this.lexer.inlineQueue.length-1;p>=0;p--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[p].src)){this.lexer.inlineQueue[p].src=this.lexer.inlineQueue[p].src.replace(this.rules.other.listReplaceTask,"");break}}let f=this.rules.other.listTaskCheckbox.exec(h.raw);if(f){let p={type:"checkbox",raw:f[0]+" ",checked:f[0]!=="[ ]"};h.checked=p.checked,o.loose?h.tokens[0]&&["paragraph","text"].includes(h.tokens[0].type)&&"tokens"in h.tokens[0]&&h.tokens[0].tokens?(h.tokens[0].raw=p.raw+h.tokens[0].raw,h.tokens[0].text=p.raw+h.tokens[0].text,h.tokens[0].tokens.unshift(p)):h.tokens.unshift({type:"paragraph",raw:p.raw,text:p.raw,tokens:[p]}):h.tokens.unshift(p)}}if(!o.loose){let f=h.tokens.filter(g=>g.type==="space"),p=f.length>0&&f.some(g=>this.rules.other.anyLine.test(g.raw));o.loose=p}}if(o.loose)for(let h of o.items){h.loose=!0;for(let f of h.tokens)f.type==="text"&&(f.type="paragraph")}return o}}html(e){let r=this.rules.block.html.exec(e);if(r)return{type:"html",block:!0,raw:r[0],pre:r[1]==="pre"||r[1]==="script"||r[1]==="style",text:r[0]}}def(e){let r=this.rules.block.def.exec(e);if(r){let n=r[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=r[2]?r[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",a=r[3]?r[3].substring(1,r[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):r[3];return{type:"def",tag:n,raw:r[0],href:i,title:a}}}table(e){var o;let r=this.rules.block.table.exec(e);if(!r||!this.rules.other.tableDelimiter.test(r[2]))return;let n=$he(r[1]),i=r[2].replace(this.rules.other.tableAlignChars,"").split("|"),a=(o=r[3])!=null&&o.trim()?r[3].replace(this.rules.other.tableRowBlankLine,"").split(`
`):[],s={type:"table",raw:r[0],header:[],align:[],rows:[]};if(n.length===i.length){for(let l of i)this.rules.other.tableAlignRight.test(l)?s.align.push("right"):this.rules.other.tableAlignCenter.test(l)?s.align.push("center"):this.rules.other.tableAlignLeft.test(l)?s.align.push("left"):s.align.push(null);for(let l=0;l<n.length;l++)s.header.push({text:n[l],tokens:this.lexer.inline(n[l]),header:!0,align:s.align[l]});for(let l of a)s.rows.push($he(l,s.header.length).map((u,d)=>({text:u,tokens:this.lexer.inline(u),header:!1,align:s.align[d]})));return s}}lheading(e){let r=this.rules.block.lheading.exec(e);if(r){let n=r[1].trim();return{type:"heading",raw:r[0],depth:r[2].charAt(0)==="="?1:2,text:n,tokens:this.lexer.inline(n)}}}paragraph(e){let r=this.rules.block.paragraph.exec(e);if(r){let n=r[1].charAt(r[1].length-1)===`
`?r[1].slice(0,-1):r[1];return{type:"paragraph",raw:r[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let r=this.rules.block.text.exec(e);if(r)return{type:"text",raw:r[0],text:r[0],tokens:this.lexer.inline(r[0])}}escape(e){let r=this.rules.inline.escape.exec(e);if(r)return{type:"escape",raw:r[0],text:r[1]}}tag(e){let r=this.rules.inline.tag.exec(e);if(r)return!this.lexer.state.inLink&&this.rules.other.startATag.test(r[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(r[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(r[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(r[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:r[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:r[0]}}link(e){let r=this.rules.inline.link.exec(e);if(r){let n=r[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=K3(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=qAt(r[2],"()");if(s===-2)return;if(s>-1){let o=(r[0].indexOf("!")===0?5:4)+r[1].length+s;r[2]=r[2].substring(0,s),r[0]=r[0].substring(0,o).trim(),r[3]=""}}let i=r[2],a="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],a=s[3])}else a=r[3]?r[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?i=i.slice(1):i=i.slice(1,-1)),Fhe(r,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:a&&a.replace(this.rules.inline.anyPunctuation,"$1")},r[0],this.lexer,this.rules)}}reflink(e,r){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let i=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),a=r[i.toLowerCase()];if(!a){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return Fhe(n,a,n[0],this.lexer,this.rules)}}emStrong(e,r,n=""){let i=this.rules.inline.emStrongLDelim.exec(e);if(!(!i||!i[1]&&!i[2]&&!i[3]&&!i[4]||i[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(i[1]||i[3])||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=0,d=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(d.lastIndex=0,r=r.slice(-1*e.length+a);(i=d.exec(r))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s)continue;if(o=[...s].length,i[3]||i[4]){l+=o;continue}else if((i[5]||i[6])&&a%3&&!((a+o)%3)){u+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l+u);let h=[...i[0]][0].length,f=e.slice(0,a+i.index+h+o);if(Math.min(a,o)%2){let g=f.slice(1,-1);return{type:"em",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}let p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){let r=this.rules.inline.code.exec(e);if(r){let n=r[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(n),a=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return i&&a&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:r[0],text:n}}}br(e){let r=this.rules.inline.br.exec(e);if(r)return{type:"br",raw:r[0]}}del(e,r,n=""){let i=this.rules.inline.delLDelim.exec(e);if(i&&(!i[1]||!n||this.rules.inline.punctuation.exec(n))){let a=[...i[0]].length-1,s,o,l=a,u=this.rules.inline.delRDelim;for(u.lastIndex=0,r=r.slice(-1*e.length+a);(i=u.exec(r))!==null;){if(s=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!s||(o=[...s].length,o!==a))continue;if(i[3]||i[4]){l+=o;continue}if(l-=o,l>0)continue;o=Math.min(o,o+l);let d=[...i[0]][0].length,h=e.slice(0,a+i.index+d+o),f=h.slice(a,-a);return{type:"del",raw:h,text:f,tokens:this.lexer.inlineTokens(f)}}}}autolink(e){let r=this.rules.inline.autolink.exec(e);if(r){let n,i;return r[2]==="@"?(n=r[1],i="mailto:"+n):(n=r[1],i=n),{type:"link",raw:r[0],text:n,href:i,tokens:[{type:"text",raw:n,text:n}]}}}url(e){var n;let r;if(r=this.rules.inline.url.exec(e)){let i,a;if(r[2]==="@")i=r[0],a="mailto:"+i;else{let s;do s=r[0],r[0]=((n=this.rules.inline._backpedal.exec(r[0]))==null?void 0:n[0])??"";while(s!==r[0]);i=r[0],r[1]==="www."?a="http://"+r[0]:a=r[0]}return{type:"link",raw:r[0],text:i,href:a,tokens:[{type:"text",raw:i,text:i}]}}}inlineText(e){let r=this.rules.inline.text.exec(e);if(r){let n=this.lexer.state.inRawBlock;return{type:"text",raw:r[0],text:r[0],escaped:n}}}},fd=class $W{constructor(e){wr(this,"tokens");wr(this,"options");wr(this,"state");wr(this,"inlineQueue");wr(this,"tokenizer");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||R5,this.options.tokenizer=this.options.tokenizer||new PI,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let r={other:Nl,block:Wk.normal,inline:X3.normal};this.options.pedantic?(r.block=Wk.pedantic,r.inline=X3.pedantic):this.options.gfm&&(r.block=Wk.gfm,this.options.breaks?r.inline=X3.breaks:r.inline=X3.gfm),this.tokenizer.rules=r}static get rules(){return{block:Wk,inline:X3}}static lex(e,r){return new $W(r).lex(e)}static lexInline(e,r){return new $W(r).inlineTokens(e)}lex(e){e=e.replace(Nl.carriageReturn,`
`),this.blockTokens(e,this.tokens);for(let r=0;r<this.inlineQueue.length;r++){let n=this.inlineQueue[r];this.inlineTokens(n.src,n.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,r=[],n=!1){var i,a,s;for(this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(Nl.tabCharGlobal," ").replace(Nl.spaceLine,""));e;){let o;if((a=(i=this.options.extensions)==null?void 0:i.block)!=null&&a.some(u=>(o=u.call({lexer:this},e,r))?(e=e.substring(o.raw.length),r.push(o),!0):!1))continue;if(o=this.tokenizer.space(e)){e=e.substring(o.raw.length);let u=r.at(-1);o.raw.length===1&&u!==void 0?u.raw+=`
`:r.push(o);continue}if(o=this.tokenizer.code(e)){e=e.substring(o.raw.length);let u=r.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.text,this.inlineQueue.at(-1).src=u.text):r.push(o);continue}if(o=this.tokenizer.fences(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.heading(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.hr(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.blockquote(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.list(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.html(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.def(e)){e=e.substring(o.raw.length);let u=r.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.raw,this.inlineQueue.at(-1).src=u.text):this.tokens.links[o.tag]||(this.tokens.links[o.tag]={href:o.href,title:o.title},r.push(o));continue}if(o=this.tokenizer.table(e)){e=e.substring(o.raw.length),r.push(o);continue}if(o=this.tokenizer.lheading(e)){e=e.substring(o.raw.length),r.push(o);continue}let l=e;if((s=this.options.extensions)!=null&&s.startBlock){let u=1/0,d=e.slice(1),h;this.options.extensions.startBlock.forEach(f=>{h=f.call({lexer:this},d),typeof h=="number"&&h>=0&&(u=Math.min(u,h))}),u<1/0&&u>=0&&(l=e.substring(0,u+1))}if(this.state.top&&(o=this.tokenizer.paragraph(l))){let u=r.at(-1);n&&(u==null?void 0:u.type)==="paragraph"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):r.push(o),n=l.length!==e.length,e=e.substring(o.raw.length);continue}if(o=this.tokenizer.text(e)){e=e.substring(o.raw.length);let u=r.at(-1);(u==null?void 0:u.type)==="text"?(u.raw+=(u.raw.endsWith(`
`)?"":`
`)+o.raw,u.text+=`
`+o.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):r.push(o);continue}if(e){let u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return this.state.top=!0,r}inline(e,r=[]){return this.inlineQueue.push({src:e,tokens:r}),r}inlineTokens(e,r=[]){var l,u,d,h,f;this.tokenizer.lexer=this;let n=e,i=null;if(this.tokens.links){let p=Object.keys(this.tokens.links);if(p.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)p.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,i.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let a;for(;(i=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)a=i[2]?i[2].length:0,n=n.slice(0,i.index+a)+"["+"a".repeat(i[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=((u=(l=this.options.hooks)==null?void 0:l.emStrongMask)==null?void 0:u.call({lexer:this},n))??n;let s=!1,o="";for(;e;){s||(o=""),s=!1;let p;if((h=(d=this.options.extensions)==null?void 0:d.inline)!=null&&h.some(m=>(p=m.call({lexer:this},e,r))?(e=e.substring(p.raw.length),r.push(p),!0):!1))continue;if(p=this.tokenizer.escape(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.tag(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.link(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(p.raw.length);let m=r.at(-1);p.type==="text"&&(m==null?void 0:m.type)==="text"?(m.raw+=p.raw,m.text+=p.text):r.push(p);continue}if(p=this.tokenizer.emStrong(e,n,o)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.codespan(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.br(e)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.del(e,n,o)){e=e.substring(p.raw.length),r.push(p);continue}if(p=this.tokenizer.autolink(e)){e=e.substring(p.raw.length),r.push(p);continue}if(!this.state.inLink&&(p=this.tokenizer.url(e))){e=e.substring(p.raw.length),r.push(p);continue}let g=e;if((f=this.options.extensions)!=null&&f.startInline){let m=1/0,U=e.slice(1),y;this.options.extensions.startInline.forEach(b=>{y=b.call({lexer:this},U),typeof y=="number"&&y>=0&&(m=Math.min(m,y))}),m<1/0&&m>=0&&(g=e.substring(0,m+1))}if(p=this.tokenizer.inlineText(g)){e=e.substring(p.raw.length),p.raw.slice(-1)!=="_"&&(o=p.raw.slice(-1)),s=!0;let m=r.at(-1);(m==null?void 0:m.type)==="text"?(m.raw+=p.raw,m.text+=p.text):r.push(p);continue}if(e){let m="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(m);break}else throw new Error(m)}}return r}},_I=class{constructor(e){wr(this,"options");wr(this,"parser");this.options=e||R5}space(e){return""}code({text:e,lang:r,escaped:n}){var s;let i=(s=(r||"").match(Nl.notSpaceStart))==null?void 0:s[0],a=e.replace(Nl.endingNewline,"")+`
`;return i?'<pre><code class="language-'+ch(i)+'">'+(n?a:ch(a,!0))+`</code></pre>
`:"<pre><code>"+(n?a:ch(a,!0))+`</code></pre>
`}blockquote({tokens:e}){return`<blockquote>
${this.parser.parse(e)}</blockquote>
`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:r}){return`<h${r}>${this.parser.parseInline(e)}</h${r}>
`}hr(e){return`<hr>
`}list(e){let r=e.ordered,n=e.start,i="";for(let o=0;o<e.items.length;o++){let l=e.items[o];i+=this.listitem(l)}let a=r?"ol":"ul",s=r&&n!==1?' start="'+n+'"':"";return"<"+a+s+`>
`+i+"</"+a+`>
`}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
`}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
`}table(e){let r="",n="";for(let a=0;a<e.header.length;a++)n+=this.tablecell(e.header[a]);r+=this.tablerow({text:n});let i="";for(let a=0;a<e.rows.length;a++){let s=e.rows[a];n="";for(let o=0;o<s.length;o++)n+=this.tablecell(s[o]);i+=this.tablerow({text:n})}return i&&(i=`<tbody>${i}</tbody>`),`<table>
<thead>
`+r+`</thead>
`+i+`</table>
`}tablerow({text:e}){return`<tr>
${e}</tr>
`}tablecell(e){let r=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+r+`</${n}>
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${ch(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:r,tokens:n}){let i=this.parser.parseInline(n),a=Bhe(e);if(a===null)return i;e=a;let s='<a href="'+e+'"';return r&&(s+=' title="'+ch(r)+'"'),s+=">"+i+"</a>",s}image({href:e,title:r,text:n,tokens:i}){i&&(n=this.parser.parseInline(i,this.parser.textRenderer));let a=Bhe(e);if(a===null)return ch(n);e=a;let s=`<img src="${e}" alt="${ch(n)}"`;return r&&(s+=` title="${ch(r)}"`),s+=">",s}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ch(e.text)}},dee=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},pd=class FW{constructor(e){wr(this,"options");wr(this,"renderer");wr(this,"textRenderer");this.options=e||R5,this.options.renderer=this.options.renderer||new _I,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new dee}static parse(e,r){return new FW(r).parse(e)}static parseInline(e,r){return new FW(r).parseInline(e)}parse(e){var n,i;this.renderer.parser=this;let r="";for(let a=0;a<e.length;a++){let s=e[a];if((i=(n=this.options.extensions)==null?void 0:n.renderers)!=null&&i[s.type]){let l=s,u=this.options.extensions.renderers[l.type].call({parser:this},l);if(u!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(l.type)){r+=u||"";continue}}let o=s;switch(o.type){case"space":{r+=this.renderer.space(o);break}case"hr":{r+=this.renderer.hr(o);break}case"heading":{r+=this.renderer.heading(o);break}case"code":{r+=this.renderer.code(o);break}case"table":{r+=this.renderer.table(o);break}case"blockquote":{r+=this.renderer.blockquote(o);break}case"list":{r+=this.renderer.list(o);break}case"checkbox":{r+=this.renderer.checkbox(o);break}case"html":{r+=this.renderer.html(o);break}case"def":{r+=this.renderer.def(o);break}case"paragraph":{r+=this.renderer.paragraph(o);break}case"text":{r+=this.renderer.text(o);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return r}parseInline(e,r=this.renderer){var i,a;this.renderer.parser=this;let n="";for(let s=0;s<e.length;s++){let o=e[s];if((a=(i=this.options.extensions)==null?void 0:i.renderers)!=null&&a[o.type]){let u=this.options.extensions.renderers[o.type].call({parser:this},o);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){n+=u||"";continue}}let l=o;switch(l.type){case"escape":{n+=r.text(l);break}case"html":{n+=r.html(l);break}case"link":{n+=r.link(l);break}case"image":{n+=r.image(l);break}case"checkbox":{n+=r.checkbox(l);break}case"strong":{n+=r.strong(l);break}case"em":{n+=r.em(l);break}case"codespan":{n+=r.codespan(l);break}case"br":{n+=r.br(l);break}case"del":{n+=r.del(l);break}case"text":{n+=r.text(l);break}default:{let u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return n}},wA,H9=(wA=class{constructor(t){wr(this,"options");wr(this,"block");this.options=t||R5}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?fd.lex:fd.lexInline}provideParser(t=this.block){return t?pd.parse:pd.parseInline}},wr(wA,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])),wr(wA,"passThroughHooksRespectAsync",new Set(["preprocess","postprocess","processAllTokens"])),wA),XAt=class{constructor(...e){wr(this,"defaults",nee());wr(this,"options",this.setOptions);wr(this,"parse",this.parseMarkdown(!0));wr(this,"parseInline",this.parseMarkdown(!1));wr(this,"Parser",pd);wr(this,"Renderer",_I);wr(this,"TextRenderer",dee);wr(this,"Lexer",fd);wr(this,"Tokenizer",PI);wr(this,"Hooks",H9);this.use(...e)}walkTokens(e,r){var i,a;let n=[];for(let s of e)switch(n=n.concat(r.call(this,s)),s.type){case"table":{let o=s;for(let l of o.header)n=n.concat(this.walkTokens(l.tokens,r));for(let l of o.rows)for(let u of l)n=n.concat(this.walkTokens(u.tokens,r));break}case"list":{let o=s;n=n.concat(this.walkTokens(o.items,r));break}default:{let o=s;(a=(i=this.defaults.extensions)==null?void 0:i.childTokens)!=null&&a[o.type]?this.defaults.extensions.childTokens[o.type].forEach(l=>{let u=o[l].flat(1/0);n=n.concat(this.walkTokens(u,r))}):o.tokens&&(n=n.concat(this.walkTokens(o.tokens,r)))}}return n}use(...e){let r=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let i={...n};if(i.async=this.defaults.async||i.async||!1,n.extensions&&(n.extensions.forEach(a=>{if(!a.name)throw new Error("extension name required");if("renderer"in a){let s=r.renderers[a.name];s?r.renderers[a.name]=function(...o){let l=a.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:r.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||a.level!=="block"&&a.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=r[a.level];s?s.unshift(a.tokenizer):r[a.level]=[a.tokenizer],a.start&&(a.level==="block"?r.startBlock?r.startBlock.push(a.start):r.startBlock=[a.start]:a.level==="inline"&&(r.startInline?r.startInline.push(a.start):r.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(r.childTokens[a.name]=a.childTokens)}),i.extensions=r),n.renderer){let a=this.defaults.renderer||new _I(this.defaults);for(let s in n.renderer){if(!(s in a))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=n.renderer[o],u=a[o];a[o]=(...d)=>{let h=l.apply(a,d);return h===!1&&(h=u.apply(a,d)),h||""}}i.renderer=a}if(n.tokenizer){let a=this.defaults.tokenizer||new PI(this.defaults);for(let s in n.tokenizer){if(!(s in a))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=n.tokenizer[o],u=a[o];a[o]=(...d)=>{let h=l.apply(a,d);return h===!1&&(h=u.apply(a,d)),h}}i.tokenizer=a}if(n.hooks){let a=this.defaults.hooks||new H9;for(let s in n.hooks){if(!(s in a))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=n.hooks[o],u=a[o];H9.passThroughHooks.has(s)?a[o]=d=>{if(this.defaults.async&&H9.passThroughHooksRespectAsync.has(s))return(async()=>{let f=await l.call(a,d);return u.call(a,f)})();let h=l.call(a,d);return u.call(a,h)}:a[o]=(...d)=>{if(this.defaults.async)return(async()=>{let f=await l.apply(a,d);return f===!1&&(f=await u.apply(a,d)),f})();let h=l.apply(a,d);return h===!1&&(h=u.apply(a,d)),h}}i.hooks=a}if(n.walkTokens){let a=this.defaults.walkTokens,s=n.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),a&&(l=l.concat(a.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,r){return fd.lex(e,r??this.defaults)}parser(e,r){return pd.parse(e,r??this.defaults)}parseMarkdown(e){return(r,n)=>{let i={...n},a={...this.defaults,...i},s=this.onError(!!a.silent,!!a.async);if(this.defaults.async===!0&&i.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof r>"u"||r===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof r!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(a.hooks&&(a.hooks.options=a,a.hooks.block=e),a.async)return(async()=>{let o=a.hooks?await a.hooks.preprocess(r):r,l=await(a.hooks?await a.hooks.provideLexer(e):e?fd.lex:fd.lexInline)(o,a),u=a.hooks?await a.hooks.processAllTokens(l):l;a.walkTokens&&await Promise.all(this.walkTokens(u,a.walkTokens));let d=await(a.hooks?await a.hooks.provideParser(e):e?pd.parse:pd.parseInline)(u,a);return a.hooks?await a.hooks.postprocess(d):d})().catch(s);try{a.hooks&&(r=a.hooks.preprocess(r));let o=(a.hooks?a.hooks.provideLexer(e):e?fd.lex:fd.lexInline)(r,a);a.hooks&&(o=a.hooks.processAllTokens(o)),a.walkTokens&&this.walkTokens(o,a.walkTokens);let l=(a.hooks?a.hooks.provideParser(e):e?pd.parse:pd.parseInline)(o,a);return a.hooks&&(l=a.hooks.postprocess(l)),l}catch(o){return s(o)}}}onError(e,r){return n=>{if(n.message+=`
Please report this to https://github.com/markedjs/marked.`,e){let i="<p>An error occurred:</p><pre>"+ch(n.message+"",!0)+"</pre>";return r?Promise.resolve(i):i}if(r)return Promise.reject(n);throw n}}},n5=new XAt;function Ci(t,e){return n5.parse(t,e)}Ci.options=Ci.setOptions=function(t){return n5.setOptions(t),Ci.defaults=n5.defaults,Pke(Ci.defaults),Ci};Ci.getDefaults=nee;Ci.defaults=R5;Ci.use=function(...t){return n5.use(...t),Ci.defaults=n5.defaults,Pke(Ci.defaults),Ci};Ci.walkTokens=function(t,e){return n5.walkTokens(t,e)};Ci.parseInline=n5.parseInline;Ci.Parser=pd;Ci.parser=pd.parse;Ci.Renderer=_I;Ci.TextRenderer=dee;Ci.Lexer=fd;Ci.lexer=fd.lex;Ci.Tokenizer=PI;Ci.Hooks=H9;Ci.parse=Ci;Ci.options;Ci.setOptions;Ci.use;Ci.walkTokens;Ci.parseInline;pd.parse;fd.lex;const KAt=/\n[^\S\n]*(?:\n[^\S\n]*)+$/;function ZAt(t){return t.flatMap((e,r)=>{var n;if(e.type==="space"||((n=t[r+1])===null||n===void 0?void 0:n.type)==="space")return[e];const i=(e.raw||"").match(KAt);return i?[{...e,raw:(e.raw||"").slice(0,-i[0].length)},{type:"space",raw:i[0]}]:[e]})}function JAt(t,e){const r=e.split(`
`).flatMap(n=>[n,""]).map(n=>`${t}${n}`).join(`
`);return r.slice(0,r.length-1)}function zhe(t,e){const r=[];return Array.from(t.entries()).forEach(([n,i])=>{if(!e){r.push(n);return}(e.marks||[]).find(a=>a.type===n&&Ov(a.attrs,i.attrs))||r.push(n)}),r}function QAt(t,e){const r=[];return Array.from(e.entries()).forEach(([n,i])=>{const a=t.get(n);(!a||!Ov(a.attrs,i.attrs))&&r.push({type:n,mark:i})}),r}function eMt(t,e,r,n){const i=!r,a=r&&(!r.marks||r.marks.length===0),s=r&&r.marks&&!n(e,new Map(r.marks.map(l=>[l.type,l]))),o=[];return(i||a||s)&&(r&&r.marks?Array.from(t.entries()).reverse().forEach(([l,u])=>{r.marks.find(d=>d.type===l&&Ov(d.attrs,u.attrs))||o.push(l)}):(i||a)&&o.push(...Array.from(t.keys()).reverse())),o}function tMt(t,e){let r="";return Array.from(t.keys()).reverse().forEach(n=>{const i=e(n,t.get(n));i&&(r=i+r)}),t.clear(),r}function rMt(t,e,r){let n="";return Array.from(t.entries()).forEach(([i,a])=>{const s=r(i,a);s&&(n+=s),e.set(i,a)}),n}function K$(t){const e=(t.raw||t.text||"").match(/^(\s*)[-+*]\s+\[([ xX])\]\s+/);return e?{isTask:!0,checked:e[2].toLowerCase()==="x",indentLevel:e[1].length}:{isTask:!1,indentLevel:0}}function qk(t,e){return typeof t!="string"?"json":e}function nMt(t){const e=t.map(()=>new Map),r=new Map,n=i=>{const a=r.get(i);a&&(a.indexes.forEach(s=>e[s].set(i,a.text)),r.delete(i))};return t.forEach((i,a)=>{if(i.type!=="text"){Array.from(r.keys()).forEach(n);return}const s=new Set((i.marks||[]).map(o=>o.type));Array.from(r.keys()).filter(o=>!s.has(o)).forEach(n),s.forEach(o=>{const l=r.get(o)||{indexes:[],text:""};l.indexes.push(a),l.text+=i.text||"",r.set(o,l)})}),Array.from(r.keys()).forEach(n),e}const iMt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","circle","clippath","defs","ellipse","foreignobject","g","image","line","lineargradient","mask","path","polygon","polyline","radialgradient","rect","stop","switch","symbol","textpath","tspan","use","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),aMt=/<\/?([a-zA-Z][\w-]*)/g;function sMt(t){const e=[];let r;for(;(r=aMt.exec(t))!==null;)e.push(r[1].toLowerCase());return e}function oMt(t){const e=t.toLowerCase();return e.includes("-")?!1:!iMt.has(e)}function lMt(t,e){return sMt(t).some(r=>oMt(r)?!e.has(r):!1)}var zW=class{constructor(t){var e,r,n,i,a;this.activeParseLexer=null,this.extensionRanks=new Map,this.baseExtensions=[],this.extensions=[],this.codeTypes=new Set,this.schemaParseDomTagsCache=null,this.inlineNodeTypesCache=null,this.lastParseResult=null,this.markedInstance=(e=t==null?void 0:t.marked)!==null&&e!==void 0?e:Ci,this.indentStyle=(r=t==null||(n=t.indentation)===null||n===void 0?void 0:n.style)!==null&&r!==void 0?r:"space",this.indentSize=(i=t==null||(a=t.indentation)===null||a===void 0?void 0:a.size)!==null&&i!==void 0?i:2,this.baseExtensions=(t==null?void 0:t.extensions)||[],t!=null&&t.markedOptions&&typeof this.markedInstance.setOptions=="function"&&this.markedInstance.setOptions(t.markedOptions),this.registry=new Map,this.nodeTypeRegistry=new Map,t!=null&&t.extensions&&(this.baseExtensions=t.extensions,lb(aD(t.extensions)).forEach(s=>this.registerExtension(s)))}get instance(){return this.markedInstance}get indentCharacter(){return this.indentStyle==="space"?" ":" "}get indentString(){return this.indentCharacter.repeat(this.indentSize)}hasMarked(){return!!this.markedInstance}registerExtension(t){var e,r;this.extensions.push(t);const n=ni(mr(t,"code")),i=t.name,a={name:i,options:t.options,storage:t.storage};n&&this.codeTypes.add(i),this.extensionRanks.has(i)||this.extensionRanks.set(i,this.extensionRanks.size);const s=mr(t,"markdownTokenName",a)||i,o=mr(t,"parseMarkdown",a),l=mr(t,"renderMarkdown",a),u=mr(t,"markdownTokenizer",a),d=(e=mr(t,"markdownOptions",a))!==null&&e!==void 0?e:null,h={tokenName:s,nodeName:i,parseMarkdown:o,renderMarkdown:l,isIndenting:(r=d==null?void 0:d.indentsContent)!==null&&r!==void 0?r:!1,htmlReopen:d==null?void 0:d.htmlReopen,tokenizer:u};if(s&&o){const f=this.registry.get(s)||[];f.push(h),this.registry.set(s,f)}if(l){const f=this.nodeTypeRegistry.get(i)||[];f.push(h),this.nodeTypeRegistry.set(i,f)}u&&this.hasMarked()&&this.registerTokenizer(u)}createLexer(){return new this.markedInstance.Lexer(this.markedInstance.defaults)}createTokenizerHelpers(t){return{inlineTokens:e=>t.inlineTokens(e),blockTokens:e=>t.blockTokens(e)}}tokenizeInline(t){var e;return((e=this.activeParseLexer)!==null&&e!==void 0?e:this.createLexer()).inlineTokens(t)}registerTokenizer(t){if(!this.hasMarked())return;const{name:e,start:r,level:n="inline",tokenize:i}=t,a=this.createTokenizerHelpers.bind(this),s=this.createLexer.bind(this);let o;r?o=typeof r=="function"?r:u=>u.indexOf(r):o=u=>{const d=i(u,[],this.createTokenizerHelpers(this.createLexer()));return d&&d.raw?u.indexOf(d.raw):-1};const l={name:e,level:n,start:o,tokenizer(u,d){const h=this.lexer?a(this.lexer):a(s()),f=i(u,d,h);if(f&&f.type)return{...f,type:f.type||e,raw:f.raw||"",tokens:f.tokens||[]}},childTokens:[]};this.markedInstance.use({extensions:[l]})}getHandlersForToken(t){try{return this.registry.get(t)||[]}catch{return[]}}getHandlerForToken(t){const e=this.getHandlersForToken(t);if(e.length>0)return e[0];const r=this.getHandlersForNodeType(t);return r.length>0?r[0]:void 0}getHandlersForNodeType(t){try{return this.nodeTypeRegistry.get(t)||[]}catch{return[]}}serialize(t){if(!t)return"";const e=this.renderNodes(t,t);return this.isEmptyOutput(e)?"":e}isEmptyOutput(t){return!t||t.trim()===""?!0:t.replace(/&nbsp;/g,"").replace(/\u00A0/g,"").trim()===""}parse(t){if(!this.hasMarked())throw new Error("No marked instance available for parsing");const e=this.activeParseLexer,r=this.createLexer();this.activeParseLexer=r;try{const n=r.lex(t);return{type:"doc",content:this.parseTokens(n,!0)}}finally{this.activeParseLexer=e}}parseTokens(t,e=!1){const r=e?ZAt(t):t,n=r.reduce((s,o,l)=>(o.type!=="space"&&s.push(l),s),[]);let i=-1,a=0;return r.flatMap((s,o)=>{for(;a<n.length&&n[a]<o;)i=n[a],a+=1;if(e&&s.type==="space"){var l;const d=(l=n[a])!==null&&l!==void 0?l:-1;return this.createImplicitEmptyParagraphsFromSpace(s,i,d)}const u=this.parseToken(s,e);return u===null?[]:Array.isArray(u)?u:[u]})}createImplicitEmptyParagraphsFromSpace(t,e,r){const n=this.countParagraphSeparators(t.raw||"");if(n===0)return[];const i=Math.max(n-(e===-1||r===-1?0:1),0);return Array.from({length:i},()=>({type:"paragraph",content:[]}))}countParagraphSeparators(t){return(t.replace(/\r\n/g,`
`).match(/\n\n/g)||[]).length}parseToken(t,e=!1){if(!t.type)return null;if(t.type==="list")return this.parseListToken(t);const r=this.getHandlersForToken(t.type),n=this.createParseHelpers();if(r.find(i=>{if(!i.parseMarkdown)return!1;const a=i.parseMarkdown(t,n),s=this.normalizeParseResult(a);return s&&(!Array.isArray(s)||s.length>0)?(this.lastParseResult=s,!0):!1})&&this.lastParseResult){const i=this.lastParseResult;return this.lastParseResult=null,i}return this.parseFallbackToken(t,e)}parseListToken(t){if(!t.items||t.items.length===0)return this.parseTokenWithHandlers(t);const e=t.items.some(o=>K$(o).isTask),r=t.items.some(o=>!K$(o).isTask);if(!e||!r||this.getHandlersForToken("taskList").length===0)return this.parseTokenWithHandlers(t);const n=[];let i=[],a=null;for(let o=0;o<t.items.length;o+=1){const l=t.items[o],{isTask:u,checked:d,indentLevel:h}=K$(l);let f=l;if(u){const g=(l.raw||l.text||"").split(`
`),m=g[0].match(/^\s*[-+*]\s+\[([ xX])\]\s+(.*)$/),U=m?m[2]:"";let y=[];if(g.length>1&&g.slice(1).join(`
`).trim()){const b=g.slice(1),v=b.filter(w=>w.trim());if(v.length>0){const w=Math.min(...v.map(S=>S.length-S.trimStart().length)),T=b.map(S=>S.trim()?S.slice(w):"").join(`
`).trim();T&&(y=this.markedInstance.lexer(`${T}
`))}}f={type:"taskItem",raw:"",mainContent:U,indentLevel:h,checked:d??!1,text:U,tokens:this.tokenizeInline(U),nestedTokens:y}}const p=u?"taskList":"list";a!==p?(i.length>0&&n.push({type:a,items:i}),i=[f],a=p):i.push(f)}i.length>0&&n.push({type:a,items:i});const s=[];for(let o=0;o<n.length;o+=1){const l=n[o],u={...t,type:l.type,items:l.items},d=this.parseToken(u);d&&(Array.isArray(d)?s.push(...d):s.push(d))}return s.length>0?s:null}parseTokenWithHandlers(t){if(!t.type)return null;const e=this.getHandlersForToken(t.type),r=this.createParseHelpers();if(e.find(n=>{if(!n.parseMarkdown)return!1;const i=n.parseMarkdown(t,r),a=this.normalizeParseResult(i);return a&&(!Array.isArray(a)||a.length>0)?(this.lastParseResult=a,!0):!1})&&this.lastParseResult){const n=this.lastParseResult;return this.lastParseResult=null,n}return this.parseFallbackToken(t)}createParseHelpers(){return{parseInline:t=>this.parseInlineTokens(t),tokenizeInline:t=>this.tokenizeInline(t),parseChildren:t=>this.parseTokens(t),parseBlockChildren:t=>this.parseTokens(t,!0),createTextNode:(t,e)=>({type:"text",text:t,marks:e||void 0}),createNode:(t,e,r)=>{const n={type:t,attrs:e||void 0,content:r||void 0};return(!e||Object.keys(e).length===0)&&delete n.attrs,n},applyMark:(t,e,r)=>({mark:t,content:e,attrs:r&&Object.keys(r).length>0?r:void 0})}}escapeRegex(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}parseInlineTokens(t){const e=[];for(let s=0;s<t.length;s+=1){const o=t[s];if(o.type==="text")e.push({type:"text",text:fue(o.text||"")});else if(o.type==="escape")e.push({type:"text",text:o.text||""});else if(o.type==="html"){var r,n;const l=((r=(n=o.raw)!==null&&n!==void 0?n:o.text)!==null&&r!==void 0?r:"").toString(),u=/^<\/[\s]*[\w-]+/i.test(l),d=l.match(/^<[\s]*([\w-]+)(\s|>|\/|$)/i);if(!u&&d&&!/\/>$/.test(l)){const f=d[1],p=this.escapeRegex(f),g=new RegExp(`^<\\/\\s*${p}\\b`,"i");let m=-1;const U=[l];for(let y=s+1;y<t.length;y+=1){var i,a;const b=t[y],v=((i=(a=b.raw)!==null&&a!==void 0?a:b.text)!==null&&i!==void 0?i:"").toString();if(U.push(v),b.type==="html"&&g.test(v)){m=y;break}}if(m!==-1){const y=U.join(""),b={type:"html",raw:y,text:y,block:!1},v=this.parseHTMLToken(b);if(v){const w=this.normalizeParseResult(v);Array.isArray(w)?e.push(...w):w&&e.push(w)}s=m;continue}}const h=this.parseHTMLToken(o);if(h){const f=this.normalizeParseResult(h);Array.isArray(f)?e.push(...f):f&&e.push(f)}}else if(o.type){const l=this.getHandlerForToken(o.type);if(l&&l.parseMarkdown){const u=this.createParseHelpers(),d=l.parseMarkdown(o,u);if(this.isMarkResult(d)){const h=this.applyMarkToContent(d.mark,d.content,d.attrs);e.push(...h)}else{const h=this.normalizeParseResult(d);Array.isArray(h)?e.push(...h):h&&e.push(h)}}else o.tokens&&e.push(...this.parseInlineTokens(o.tokens))}}for(let s=e.length-1;s>0;s-=1){const o=e[s],l=e[s-1];if(o.type==="text"&&l.type==="text"){const u=o.marks||[],d=l.marks||[];jUt(u,d)&&(l.text=(l.text||"")+(o.text||""),e.splice(s,1))}}return e}applyMarkToContent(t,e,r){return e.map(n=>{if(n.type==="text"){const i=n.marks||[],a=r?{type:t,attrs:r}:{type:t};return{...n,marks:[...i,a]}}return{...n,content:n.content?this.applyMarkToContent(t,n.content,r):void 0}})}isMarkResult(t){return t&&typeof t=="object"&&"mark"in t}normalizeParseResult(t){return t?this.isMarkResult(t)?t.content:t:null}parseFallbackToken(t,e=!1){switch(t.type){case"paragraph":return{type:"paragraph",content:t.tokens?this.parseInlineTokens(t.tokens):[]};case"heading":return{type:"heading",attrs:{level:t.depth||1},content:t.tokens?this.parseInlineTokens(t.tokens):[]};case"text":return{type:"text",text:fue(t.text||"")};case"html":return this.parseHTMLToken(t);case"escape":return{type:"text",text:t.text||""};case"space":return null;default:return t.tokens?this.parseTokens(t.tokens,e):null}}parseHTMLToken(t){const e=t.text||t.raw||"";if(!e.trim())return null;if(this.isUnrecognizedHtml(e))return this.htmlAsLiteralText(e,!!t.block);if(typeof window>"u"||typeof window.DOMParser>"u")return this.htmlAsLiteralText(e,!!t.block);try{const r=Nmt(e,this.baseExtensions);if(r.type==="doc"&&r.content){if(t.block)return r.content;const n=this.toInlineContent(r.content);return n.length>0?n:null}return r}catch(r){throw new Error(`Failed to parse HTML in markdown: ${r}`)}}toInlineContent(t){const e=this.getInlineNodeTypes();return t.flatMap(r=>r.type&&e.has(r.type)?[r]:r.content?this.toInlineContent(r.content):[])}getInlineNodeTypes(){if(this.inlineNodeTypesCache)return this.inlineNodeTypesCache;const t=new Set(["text"]);try{const e=kG(this.baseExtensions);Object.values(e.nodes).forEach(r=>{r.isInline&&t.add(r.name)})}catch{}return this.inlineNodeTypesCache=t,t}isUnrecognizedHtml(t){return lMt(t,this.getSchemaParseDomTags())}getSchemaParseDomTags(){if(this.schemaParseDomTagsCache)return this.schemaParseDomTagsCache;const t=new Set;try{const e=kG(this.baseExtensions),r=n=>{const i=n==null?void 0:n.parseDOM;Array.isArray(i)&&i.forEach(a=>{if(typeof(a==null?void 0:a.tag)=="string"){const s=a.tag.match(/^[a-zA-Z][\w-]*/);s&&t.add(s[0].toLowerCase())}})};Object.values(e.nodes).forEach(n=>r(n.spec)),Object.values(e.marks).forEach(n=>r(n.spec))}catch{}return this.schemaParseDomTagsCache=t,t}htmlAsLiteralText(t,e){const r=t.replace(/\s+$/,"");return r?e?{type:"paragraph",content:[{type:"text",text:r}]}:{type:"text",text:r}:null}encodeTextForMarkdown(t,e,r){return(r==null?void 0:r.type)!=null&&this.codeTypes.has(r.type)||(e.marks||[]).some(n=>this.codeTypes.has(typeof n=="string"?n:n.type))?t:this.escapeMarkdownSyntax(LUt(t))}escapeMarkdownSyntax(t){return t.replace(/([\\`*_[\]~])/g,"\\$1")}renderNodeToMarkdown(t,e,r=0,n=0,i={}){var a;if(t.type==="text")return this.encodeTextForMarkdown(t.text||"",t,e);if(!t.type)return"";const s=this.getHandlerForToken(t.type);if(!s)return"";const o=Array.isArray(e==null?void 0:e.content)&&r>0?e.content[r-1]:void 0,l={renderChildren:(d,h)=>{const f=s.isIndenting?n+1:n;return!Array.isArray(d)&&d.content?this.renderNodes(d.content,t,h||"",r,f):this.renderNodes(d,t,h||"",r,f)},renderChild:(d,h)=>{const f=s.isIndenting?n+1:n;return this.renderNodeToMarkdown(d,t,h,f)},indent:d=>this.indentString+d,wrapInBlock:JAt},u={index:r,level:n,parentType:e==null?void 0:e.type,previousNode:o,meta:{parentAttrs:e==null?void 0:e.attrs,...i}};return((a=s.renderMarkdown)===null||a===void 0?void 0:a.call(s,t,l,u))||""}renderNodes(t,e,r="",n=0,i=0){return Array.isArray(t)?this.renderNodesWithMarkBoundaries(t,e,r,i):t.type?this.renderNodeToMarkdown(t,e,n,i):""}renderNodesWithMarkBoundaries(t,e,r="",n=0){const i=[],a=new Map,s=new Set,o=new Map,l=nMt(t);return t.forEach((u,d)=>{const h=d<t.length-1?t[d+1]:null;if(u.type)if(u.type==="text"){let f=this.encodeTextForMarkdown(u.text||"",u,e),p=new Map((u.marks||[]).map(S=>[S.type,S])),g=this.getMarksToOpenForSerialization(a,p,h),m=zhe(p,h);if(f.length>0&&f.trim().length===0&&p.size>0){const S=new Set(m.filter(C=>!a.has(C)));S.size>0&&(p=new Map(Array.from(p).filter(([C])=>!S.has(C))),g=this.getMarksToOpenForSerialization(a,p,h),m=zhe(p,h))}const U=m.filter(S=>a.has(S)),y=U.length>0&&g.length>0;let b="";if(m.length>0&&!y){const S=f.match(/(\s+)$/);S&&(b=S[1],f=f.slice(0,-b.length))}y||m.slice().reverse().forEach(S=>{var C;if(!a.has(S))return;const k=p.get(S),E=this.getMarkClosing(S,k,o.get(S),(C=l[d])===null||C===void 0?void 0:C.get(S));E&&(f+=E),a.has(S)&&(a.delete(S),o.delete(S))});let v="";if(g.length>0){const S=f.match(/^(\s+)/);S&&(v=S[1],f=f.slice(v.length))}g.forEach(({type:S,mark:C})=>{var k;const E=s.has(S)?"html":"markdown",A=this.getMarkOpening(S,C,E,(k=l[d])===null||k===void 0?void 0:k.get(S));A&&(f=A+f),o.set(S,E),s.delete(S)}),y||g.slice().reverse().forEach(({type:S,mark:C})=>{a.set(S,C)}),f=v+f;let w;if(y){const S=new Set(((h==null?void 0:h.marks)||[]).map(E=>E.type));g.forEach(({type:E})=>{S.has(E)&&this.getHtmlReopenTags(E)&&s.add(E)});const C=Array.from(a.keys()),k=U.slice().sort((E,A)=>C.indexOf(A)-C.indexOf(E));w=[...g.map(E=>E.type),...k]}else w=eMt(a,p,h,this.markSetsEqual.bind(this));let T="";if(w.length>0){const S=f.match(/(\s+)$/);S&&(T=S[1],f=f.slice(0,-T.length))}w.forEach(S=>{var C,k;const E=(C=a.get(S))!==null&&C!==void 0?C:p.get(S),A=this.getMarkClosing(S,E,o.get(S),(k=l[d])===null||k===void 0?void 0:k.get(S));A&&(f+=A),a.delete(S),o.delete(S)}),f+=T,f+=b,i.push(f)}else{const f=new Set((u.marks||[]).map(b=>b.type)),p=new Map,g=new Map;a.forEach((b,v)=>{if(f.has(v)){var w;p.set(v,b),g.set(v,(w=o.get(v))!==null&&w!==void 0?w:"markdown")}});const m=tMt(a,(b,v)=>{var w;return this.getMarkClosing(b,v,o.get(b),(w=l[d-1])===null||w===void 0?void 0:w.get(b))});o.clear();const U=this.renderNodeToMarkdown(u,e,d,n),y=u.type==="hardBreak"?"":rMt(p,a,(b,v)=>{var w,T;const S=(w=g.get(b))!==null&&w!==void 0?w:"markdown";return o.set(b,S),this.getMarkOpening(b,v,S,(T=l[d+1])===null||T===void 0?void 0:T.get(b))});i.push(m+U+y)}}),i.join(r)}getMarkOpening(t,e,r="markdown",n){if(r==="html"){var i;return((i=this.getHtmlReopenTags(t))===null||i===void 0?void 0:i.open)||""}const a=this.getHandlersForNodeType(t),s=a.length>0?a[0]:void 0;if(!s||!s.renderMarkdown)return"";const o="__TIPTAP_MARKDOWN_PLACEHOLDER__",l={type:t,attrs:e.attrs||{},content:[{type:"text",text:o}]};try{const u=s.renderMarkdown(l,{renderChildren:()=>o,renderChild:()=>o,indent:h=>h,wrapInBlock:(h,f)=>h+f},{index:0,level:0,parentType:"text",meta:{markText:n}}),d=u.indexOf(o);return d>=0?u.substring(0,d):""}catch(u){throw new Error(`Failed to get mark opening for ${t}: ${u}`)}}getMarkClosing(t,e,r="markdown",n){if(r==="html"){var i;return((i=this.getHtmlReopenTags(t))===null||i===void 0?void 0:i.close)||""}const a=this.getHandlersForNodeType(t),s=a.length>0?a[0]:void 0;if(!s||!s.renderMarkdown)return"";const o="__TIPTAP_MARKDOWN_PLACEHOLDER__",l={type:t,attrs:e.attrs||{},content:[{type:"text",text:o}]};try{const u=s.renderMarkdown(l,{renderChildren:()=>o,renderChild:()=>o,indent:f=>f,wrapInBlock:(f,p)=>f+p},{index:0,level:0,parentType:"text",meta:{markText:n}}),d=u.indexOf(o),h=d+33;return d>=0?u.substring(h):""}catch(u){throw new Error(`Failed to get mark closing for ${t}: ${u}`)}}getHtmlReopenTags(t){const e=this.getHandlersForNodeType(t),r=e.length>0?e[0]:void 0;return r==null?void 0:r.htmlReopen}markSetsEqual(t,e){return t.size!==e.size?!1:Array.from(t.entries()).every(([r,n])=>{const i=e.get(r);return i&&Ov(n.attrs,i.attrs)})}getMarksToOpenForSerialization(t,e,r){const n=QAt(t,e);if(n.length<=1)return n;const i=(r==null?void 0:r.marks)||[],a=(u,d)=>i.some(h=>h.type===u&&Ov(h.attrs,d)),s=(u,d)=>{var h,f;const p=(h=this.extensionRanks.get(u.type))!==null&&h!==void 0?h:Number.MAX_SAFE_INTEGER,g=(f=this.extensionRanks.get(d.type))!==null&&f!==void 0?f:Number.MAX_SAFE_INTEGER;return p!==g?g-p:u.type.localeCompare(d.type)},o=n.filter(u=>!a(u.type,u.mark.attrs)).sort(s),l=n.filter(u=>a(u.type,u.mark.attrs)).sort(s);return[...o,...l]}};const cMt=Oi.create({name:"markdown",addOptions(){return{indentation:{style:"space",size:2},marked:void 0,markedOptions:{}}},addCommands(){return{setContent:(t,e)=>{if(!(e!=null&&e.contentType)||qk(t,e==null?void 0:e.contentType)!=="markdown"||!this.editor.markdown)return sh.setContent(t,e);const r=this.editor.markdown.parse(t);return sh.setContent(r,e)},insertContent:(t,e)=>{if(!(e!=null&&e.contentType)||qk(t,e==null?void 0:e.contentType)!=="markdown"||!this.editor.markdown)return sh.insertContent(t,e);const r=this.editor.markdown.parse(t);return sh.insertContent(r,e)},insertContentAt:(t,e,r)=>{if(!(r!=null&&r.contentType)||qk(e,r==null?void 0:r.contentType)!=="markdown"||!this.editor.markdown)return sh.insertContentAt(t,e,r);const n=this.editor.markdown.parse(e);return sh.insertContentAt(t,n,r)}}},addStorage(){return{manager:new zW({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:[]})}},onBeforeCreate(){var t;if(this.editor.markdown){console.error("[tiptap][markdown]: There is already a `markdown` property on the editor instance. This might lead to unexpected behavior.");return}if(this.storage.manager=new zW({indentation:this.options.indentation,marked:this.options.marked,markedOptions:this.options.markedOptions,extensions:this.editor.extensionManager.baseExtensions}),this.editor.markdown=this.storage.manager,this.editor.getMarkdown=()=>this.storage.manager.serialize(this.editor.getJSON()),!this.editor.options.contentType||qk(this.editor.options.content,this.editor.options.contentType)!=="markdown")return;if(!this.editor.markdown)throw new Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the Markdown extension is not added to the editor. Please add the Markdown extension to use this feature.');if(this.editor.options.content===void 0||typeof this.editor.options.content!="string")throw new Error('[tiptap][markdown]: The `contentType` option is set to "markdown", but the initial content is not a string. Please provide the initial content as a markdown string.');const e=this.editor.markdown.parse(this.editor.options.content);!((t=e.content)===null||t===void 0)&&t.length&&(this.editor.options.content=e)}}),uMt="listItem",Hhe="textStyle",Vhe=/^\s*([-+*])\s$/,qke=ri.create({name:"bulletList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:"ul"}]},renderHTML({HTMLAttributes:t}){return["ul",yn(this.options.HTMLAttributes,t),0]},markdownTokenName:"list",parseMarkdown:(t,e)=>t.type!=="list"||t.ordered?[]:{type:"bulletList",content:t.items?e.parseChildren(t.items):[]},renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,`
`):"",markdownOptions:{indentsContent:!0},addCommands(){return{toggleBulletList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(uMt,this.editor.getAttributes(Hhe)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-8":()=>this.editor.commands.toggleBulletList()}},addInputRules(){let t=Pv({find:Vhe,type:this.type});return(this.options.keepMarks||this.options.keepAttributes)&&(t=Pv({find:Vhe,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:()=>this.editor.getAttributes(Hhe),editor:this.editor})),[t]}}),dMt=(t,e,r)=>{const{selection:n}=t;if(!n.empty)return null;const{$from:i}=n;if(!i.parent.isTextblock||i.parentOffset!==i.parent.content.size)return null;let a=-1;for(let p=i.depth;p>0;p-=1)if(i.node(p).type.name===e){a=p;break}if(a<0)return null;const s=i.node(a),o=i.index(a);if(o+1>=s.childCount)return null;const l=s.child(o+1);if(!r.includes(l.type.name))return null;const u=t.schema.nodes[e];let d=!1;if(l.forEach(p=>{p.type===u&&p.childCount>1&&(d=!0)}),!d)return null;const h=t.doc.resolve(i.after()).nodeAfter;if(!h||!r.includes(h.type.name))return null;const f=[];return h.forEach(p=>{f.push(p)}),f.length===0?null:{listItemDepth:a,nestedList:h,nestedListPos:i.after(),insertPos:i.after(a),items:f}},hMt=(t,e,r,n)=>{const i=dMt(t,r,n);if(!i)return!1;const{selection:a}=t,{nestedList:s,nestedListPos:o,insertPos:l,items:u}=i,d=t.tr;d.delete(o,o+s.nodeSize);const h=d.mapping.map(l);return d.insert(h,At.from(u)),d.setSelection(a.map(d.doc,d.mapping)),e&&e(d),!0},fMt=(t,e,r)=>hMt(t.state,t.view.dispatch,e,r),jke=(t,e)=>Oi.create({name:`${t}BranchingDeleteKeymap`,priority:101,addKeyboardShortcuts(){const r=()=>fMt(this.editor,t,e);return{Delete:r,"Mod-Delete":r}}}),Yke=[[1e3,"m"],[900,"cm"],[500,"d"],[400,"cd"],[100,"c"],[90,"xc"],[50,"l"],[40,"xl"],[10,"x"],[9,"ix"],[5,"v"],[4,"iv"],[1,"i"]],jk="abcdefghijklmnopqrstuvwxyz",Xke=String.raw`\d+|[ivxlcdmIVXLCDM]+|${"[a-zA-Z]{1,2}"}`;function BD(t){let e=t,r="";for(const[n,i]of Yke)for(;e>=n;)r+=i,e-=n;return r}function hee(t){return BD(t).toUpperCase()}function Kke(t){const e=t.toLowerCase();let r=0,n=0;for(;r<e.length;){let i=!1;for(const[a,s]of Yke)if(e.startsWith(s,r)){n+=a,r+=s.length,i=!0;break}if(!i)return 0}return n}function pMt(t){if(!/^[ivxlcdmIVXLCDM]+$/.test(t))return!1;const e=Kke(t);return e<=0?!1:(t===t.toLowerCase()?BD(e):hee(e))===t}function gMt(t){const e=t.toLowerCase();if(e.length===1)return e.charCodeAt(0)-97+1;if(e.length===2){const r=e.charCodeAt(0)-97,n=e.charCodeAt(1)-97;return(r+1)*26+n+1}return 0}function BI(t){if(t<=26)return jk[t-1];const e=Math.floor((t-1)/26)-1,r=(t-1)%26;return e<0?jk[r]:jk[e]+jk[r]}function $D(t){if(!(!t||/^\d+$/.test(t))){if(pMt(t))return t===t.toLowerCase()?"i":"I";if(/^[a-z]{1,2}$/.test(t))return"a";if(/^[A-Z]{1,2}$/.test(t))return"A"}}function fee(t){if(/^\d+$/.test(t))return parseInt(t,10);const e=$D(t);if(e==="i"||e==="I")return Kke(t);if(e==="a"||e==="A"){const n=gMt(t);return n>0?n:1}const r=parseInt(t,10);return Number.isNaN(r)?1:r}function mMt(t,e){if(t==="numeric")return String(e);switch(t){case"a":return BI(e);case"A":return BI(e).toUpperCase();case"i":return BD(e);case"I":return hee(e);default:return String(e)}}function UMt(t){var e;if(t.length===0)return!1;const r=(e=$D(t[0]))!==null&&e!==void 0?e:"numeric",n=fee(t[0]);if(n<1)return!1;for(let i=0;i<t.length;i++){const a=mMt(r,n+i);if(t[i]!==a)return!1}return!0}function yMt(t){return{type:$D(t),start:fee(t)}}function bMt(t){const{type:e,start:r}=yMt(t),n={};return e&&(n.type=e),r!==1&&(n.start=r),n}function vMt(t,e,r=". "){const n=e+1;if(!t||t==="1")return`${n}${r}`;switch(t){case"a":return`${BI(n)}${r}`;case"A":return`${BI(n).toUpperCase()}${r}`;case"i":return`${BD(n)}${r}`;case"I":return`${hee(n)}${r}`;default:return`${n}${r}`}}function xMt(t){var e,r;const n=(e=t.tokens)===null||e===void 0?void 0:e[0];return!!(t.text&&((r=t.tokens)===null||r===void 0?void 0:r.length)===1&&(n==null?void 0:n.type)==="list"&&n.ordered&&n.raw===t.text)}function wMt(t,e){return e.tokenizeInline?e.parseInline(e.tokenizeInline(t)):e.parseInline([{type:"text",raw:t,text:t}])}const Zke=ri.create({name:"listItem",addOptions(){return{HTMLAttributes:{},bulletListTypeName:"bulletList",orderedListTypeName:"orderedList"}},content:"paragraph block*",defining:!0,parseHTML(){return[{tag:"li"}]},renderHTML({HTMLAttributes:t}){return["li",yn(this.options.HTMLAttributes,t),0]},markdownTokenName:"list_item",parseMarkdown:(t,e)=>{var r;if(t.type!=="list_item")return[];const n=(r=e.parseBlockChildren)!==null&&r!==void 0?r:e.parseChildren;let i=[];if(t.tokens&&t.tokens.length>0){if(xMt(t))return{type:"listItem",content:[{type:"paragraph",content:wMt(t.text||"",e)}]};if(t.tokens.some(a=>a.type==="paragraph"))i=n(t.tokens);else{const a=t.tokens[0];if(a&&a.type==="text"&&a.tokens&&a.tokens.length>0){if(i=[{type:"paragraph",content:e.parseInline(a.tokens)}],t.tokens.length>1){const s=n(t.tokens.slice(1));i.push(...s)}}else i=n(t.tokens)}}return i.length===0&&(i=[{type:"paragraph",content:[]}]),{type:"listItem",content:i}},renderMarkdown:(t,e,r)=>t3e(t,e,n=>{if(n.parentType==="bulletList")return"- ";if(n.parentType==="orderedList"){var i,a;const s=((i=n.meta)===null||i===void 0||(i=i.parentAttrs)===null||i===void 0?void 0:i.start)||1;return vMt((a=n.meta)===null||a===void 0||(a=a.parentAttrs)===null||a===void 0?void 0:a.type,s-1+(n.index||0),". ")}return"- "},r,{alignNestedToPrefix:(r==null?void 0:r.parentType)==="orderedList"}),addExtensions(){return[jke(this.name,[this.options.bulletListTypeName,this.options.orderedListTypeName])]},addKeyboardShortcuts(){return{Enter:()=>this.editor.commands.splitListItem(this.name),Tab:()=>this.editor.commands.sinkListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)}}}),pee=(t,e)=>{const{$from:r}=e.selection,n=Ps(t,e.schema);let i=null,a=r.depth,s=r.pos,o=null;for(;a>0&&o===null;)i=r.node(a),i.type===n?o=a:(a-=1,s-=1);return o===null?null:{$pos:e.doc.resolve(s),depth:o}},Jke=(t,e)=>{const r=pee(t,e);if(!r)return!1;const[,n]=Bmt(e,t,r.$pos.pos+4);return n},TMt=(t,e,r)=>{const{$anchor:n}=t.selection,i=Math.max(0,n.pos-2),a=t.doc.resolve(i).node();return!(!a||!r.includes(a.type.name))},Ghe=(t,e,r)=>{if(t.commands.undoInputRule())return!0;if(t.state.selection.from!==t.state.selection.to)return!1;if(!M0(t.state,e)&&TMt(t.state,e,r)){const{$anchor:a}=t.state.selection,s=t.state.doc.resolve(a.before()-1),o=[];s.node().descendants((d,h)=>{d.type.name===e&&o.push({node:d,pos:h})});const l=o.at(-1);if(!l)return!1;const u=t.state.doc.resolve(s.start()+l.pos+1);return t.chain().cut({from:a.start()-1,to:a.end()+1},u.end()).joinForward().run()}if(!M0(t.state,e)||!Hmt(t.state))return!1;const{$from:n}=t.state.selection,i=n.depth-1;return n.node(i).type!==t.schema.nodes[e]||n.index(i)!==0?!1:t.chain().liftListItem(e).run()},CMt=(t,e)=>{const r=Jke(t,e),n=pee(t,e);return!n||!r?!1:r>n.depth},SMt=(t,e)=>{const r=Jke(t,e),n=pee(t,e);return!n||!r?!1:r<n.depth},Whe=(t,e)=>{if(!M0(t.state,e)||!zmt(t.state,e))return!1;const{selection:r}=t.state,{$from:n,$to:i}=r;return!r.empty&&n.sameParent(i)?!1:CMt(e,t.state)?t.chain().focus(t.state.selection.from+4).lift(e).joinBackward().run():SMt(e,t.state)?t.chain().joinForward().joinBackward().run():t.commands.joinItemForward()},kMt=(t,e,r)=>{const{state:n}=t,{selection:i}=n;if(!i.empty)return!1;const{$from:a}=i;if(a.parentOffset!==0||!a.parent.isTextblock||M0(n,e))return!1;const s=$mt(a);if(!s||!r.includes(s.type.name))return!1;const o=s.lastChild;if(!o||o.type.name!==e)return!1;const l=a.parent;if(!o.canReplace(o.childCount,o.childCount,At.from(l)))return!1;const u=a.before(),d=a.after(),h=u-2;return t.commands.command(({tr:f,dispatch:p})=>(p&&(f.delete(u,d).insert(h,At.from(l)),f.setSelection(yr.create(f.doc,h+1)),f.scrollIntoView()),!0))},Qke=Oi.create({name:"listKeymap",addOptions(){return{listTypes:[{itemName:"listItem",wrapperNames:["bulletList","orderedList"]},{itemName:"taskItem",wrapperNames:["taskList"]}]}},addKeyboardShortcuts(){return{Delete:({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:r})=>{t.state.schema.nodes[r]!==void 0&&Whe(t,r)&&(e=!0)}),e},"Mod-Delete":({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:r})=>{t.state.schema.nodes[r]!==void 0&&Whe(t,r)&&(e=!0)}),e},Backspace:({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:r,wrapperNames:n})=>{t.state.schema.nodes[r]!==void 0&&Ghe(t,r,n)&&(e=!0)}),e},"Mod-Backspace":({editor:t})=>{let e=!1;return this.options.listTypes.forEach(({itemName:r,wrapperNames:n})=>{t.state.schema.nodes[r]!==void 0&&Ghe(t,r,n)&&(e=!0)}),e},Tab:({editor:t})=>{for(const{itemName:e,wrapperNames:r}of this.options.listTypes)if(t.state.schema.nodes[e]!==void 0&&kMt(t,e,r))return!0;return!1}}}}),$I=new RegExp(`^(\\s*)(${Xke})([.)])\\s+(.*)$`),EMt=/^\s/,i2={heading:/^#{1,6}(?:\s|$)/,bulletItem:/^[-+*]\s+/,codeFence:/^(?:```|~~~)/,blockMath:/^\$\$/,thematicBreak:/^(?:(?:-[ \t]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})$/};function AMt(t){return $I.test(t.trimStart())}function MMt(t){const e=t.trimStart();return i2.bulletItem.test(e)||AMt(e)||i2.heading.test(e)||i2.thematicBreak.test(e)&&!e.startsWith("-")||/^>\s?/.test(e)||i2.codeFence.test(e)||i2.blockMath.test(e)}function RMt(t){return Object.values(i2).some(e=>e.test(t))}function IMt(t){const e=[],r=[];let n=!1;return t.forEach(i=>{if(n){r.push(i);return}if(i.trim()===""){n=!0,r.push(i);return}if(e.length>0&&MMt(i)){n=!0,r.push(i);return}e.push(i)}),{paragraphLines:e,blockLines:r}}function qhe(t){const e=[];let r=0,n=0;for(;r<t.length;){const i=t[r],a=i.match($I);if(!a)break;const[,s,o,l,u]=a,d=s.length,h=parseInt(o,10),f=isNaN(h)?$D(o):void 0,p=isNaN(h)?fee(o):h,g=[u];let m=r+1;const U=[i];let y=!1;for(;m<t.length;){const b=t[m];if(b.match($I))break;if(b.trim()==="")U.push(b),g.push(""),y=!0,m+=1;else if(b.match(EMt)){const v=b.length-b.trimStart().length,w=d+o.length+1;U.push(b),g.push(b.slice(Math.min(v,w))),m+=1}else{if(y||RMt(b))break;U.push(b),g.push(b),m+=1}}e.push({indent:d,number:p,type:f,content:g.join(`
`).trim(),contentLines:g,raw:U.join(`
`)}),n=m,r=m}return[e,n]}const LMt=new RegExp(`^(${Xke})([.)])\\s+(.+)$`);function NMt(t){const e=t.split(`
`).filter(n=>n.trim().length>0);if(e.length===0)return null;const r=[];for(const n of e){const i=n.trim().match(LMt);if(!i)return null;r.push({marker:i[1],content:i[3]})}return UMt(r.map(n=>n.marker))?{type:"orderedList",attrs:bMt(r[0].marker),content:r.map(n=>({type:"listItem",content:[{type:"paragraph",content:[{type:"text",text:n.content}]}]}))}:null}function eEe(t,e,r){const n=[];let i=0;for(;i<t.length;){const a=t[i];if(a.indent===e){const{paragraphLines:s,blockLines:o}=IMt(a.contentLines),l=s.join(`
`).trim(),u=[];l&&u.push({type:"paragraph",raw:l,tokens:r.inlineTokens(l)});const d=o.join(`
`).trim();if(d){const p=r.blockTokens(d);u.push(...p)}let h=i+1;const f=[];for(;h<t.length&&t[h].indent>e;)f.push(t[h]),h+=1;if(f.length>0){const p=eEe(f,Math.min(...f.map(g=>g.indent)),r);u.push({type:"list",ordered:!0,start:f[0].number,typeMarker:f[0].type,items:p,raw:f.map(g=>g.raw).join(`
`)})}n.push({type:"list_item",raw:a.raw,tokens:u}),i=h}else i+=1}return n}function OMt(t,e){return t.map(r=>{if(r.type!=="list_item")return e.parseChildren([r])[0];const n=[];return r.tokens&&r.tokens.length>0&&r.tokens.forEach(i=>{if(i.type==="paragraph"||i.type==="list"||i.type==="blockquote"||i.type==="code")n.push(...e.parseChildren([i]));else if(i.type==="text"&&i.tokens){const a=e.parseChildren([i]);n.push({type:"paragraph",content:a})}else{const a=e.parseChildren([i]);a.length>0&&n.push(...a)}}),{type:"listItem",content:n}})}const DMt=64;function jhe(t,e){const r=[];let n=0;for(;r.length<e;){const i=t.indexOf(`
`,n);if(i===-1)return r.push(t.slice(n)),r;r.push(t.slice(n,i)),n=i+1}return r}function PMt(t){const e=t.indexOf(`
`),r=e===-1?t:t.slice(0,e);if(!$I.test(r))return[[],0,[]];let n=DMt,i=jhe(t,n),a=qhe(i);for(;a[1]===i.length&&i.length===n;)n*=2,i=jhe(t,n),a=qhe(i);return[a[0],a[1],i]}const _Mt="listItem",Yhe="textStyle",Xhe=/^(\d+)\.\s$/;function Khe(t){const e=t.match(/list-style-type\s*:\s*([^;]+)/i);if(!e)return null;switch(e[1].trim().toLowerCase()){case"upper-roman":return"I";case"lower-roman":return"i";case"upper-alpha":case"upper-latin":return"A";case"lower-alpha":case"lower-latin":return"a";default:return null}}const tEe=ri.create({name:"orderedList",addOptions(){return{itemTypeName:"listItem",HTMLAttributes:{},keepMarks:!1,keepAttributes:!1}},group:"block list",content(){return`${this.options.itemTypeName}+`},addAttributes(){return{start:{default:1,parseHTML:t=>t.hasAttribute("start")?parseInt(t.getAttribute("start")||"",10):1},type:{default:null,parseHTML:t=>{const e=t.getAttribute("type");if(e)return e;const r=t.getAttribute("style");if(r){const i=Khe(r);if(i)return i}const n=t.querySelector("li");if(n){const i=n.getAttribute("style");if(i){const a=Khe(i);if(a)return a}}return null}}}},parseHTML(){return[{tag:"ol"}]},renderHTML({HTMLAttributes:t}){const{start:e,type:r,...n}=t,i=yn(this.options.HTMLAttributes,n);return e!==1&&(i.start=e),r&&r!=="1"&&(i.type=r),["ol",i,0]},markdownTokenName:"list",parseMarkdown:(t,e)=>{if(t.type!=="list"||!t.ordered)return[];const r=t.start||1,n=t.typeMarker,i=t.items?OMt(t.items,e):[],a={};return r!==1&&(a.start=r),n&&(a.type=n),Object.keys(a).length>0?{type:"orderedList",attrs:a,content:i}:{type:"orderedList",content:i}},renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,`
`):"",markdownTokenizer:{name:"orderedList",level:"block",start:()=>-1,tokenize:(t,e,r)=>{var n,i;const[a,s,o]=PMt(t);if(a.length===0)return;const l=eEe(a,a[0].indent,r);if(l.length!==0)return{type:"list",ordered:!0,start:((n=a[0])===null||n===void 0?void 0:n.number)||1,typeMarker:(i=a[0])===null||i===void 0?void 0:i.type,items:l,raw:o.slice(0,s).join(`
`)}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleOrderedList:()=>({commands:t,chain:e})=>this.options.keepAttributes?e().toggleList(this.name,this.options.itemTypeName,this.options.keepMarks).updateAttributes(_Mt,this.editor.getAttributes(Yhe)).run():t.toggleList(this.name,this.options.itemTypeName,this.options.keepMarks)}},addKeyboardShortcuts(){return{"Mod-Shift-7":()=>this.editor.commands.toggleOrderedList()}},addProseMirrorPlugins(){return[new ci({props:{handlePaste:(t,e)=>{var r,n;const i=(r=e.clipboardData)===null||r===void 0?void 0:r.getData("text/html");if(i!=null&&i.trim())return!1;const a=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!a)return!1;const s=NMt(a);if(!s)return!1;try{const o=t.state.schema.nodeFromJSON(s),l=t.state.tr.replaceSelectionWith(o);return t.dispatch(l),!0}catch{return!1}}}})]},addInputRules(){const t=(r,n)=>(!n.attrs.type||n.attrs.type==="1")&&n.childCount+n.attrs.start===+r[1];let e=Pv({find:Xhe,type:this.type,getAttributes:r=>({start:+r[1]}),joinPredicate:t});return(this.options.keepMarks||this.options.keepAttributes)&&(e=Pv({find:Xhe,type:this.type,keepMarks:this.options.keepMarks,keepAttributes:this.options.keepAttributes,getAttributes:r=>({start:+r[1],...this.editor.getAttributes(Yhe)}),joinPredicate:t,editor:this.editor})),[e]}}),BMt=/^\s*(\[([( |x])?\])\s$/,$Mt="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",FMt=(t,e,r)=>{var n;return(r==null||(n=r.checkboxLabel)===null||n===void 0?void 0:n.call(r,t,e))||`Task item checkbox for ${t.textContent||"empty task item"}`},rEe=ri.create({name:"taskItem",addOptions(){return{nested:!1,HTMLAttributes:{},taskListTypeName:"taskList",a11y:void 0}},content(){return this.options.nested?"paragraph block*":"paragraph+"},defining:!0,addAttributes(){return{checked:{default:!1,keepOnSplit:!1,parseHTML:t=>{const e=t.getAttribute("data-checked");return e===""||e==="true"},renderHTML:t=>({"data-checked":t.checked})}}},parseHTML(){return[{tag:`li[data-type="${this.name}"]`,priority:51,contentElement:t=>{var e;return(e=t.querySelector("div"))!==null&&e!==void 0?e:t}}]},renderHTML({node:t,HTMLAttributes:e}){return["li",yn(this.options.HTMLAttributes,e,{"data-type":this.name}),["label",["input",{type:"checkbox",checked:t.attrs.checked?"checked":null}],["span"]],["div",0]]},parseMarkdown:(t,e)=>{const r=[];if(t.tokens&&t.tokens.length>0?r.push(e.createNode("paragraph",{},e.parseInline(t.tokens))):t.text?r.push(e.createNode("paragraph",{},[e.createNode("text",{text:t.text})])):r.push(e.createNode("paragraph",{},[])),t.nestedTokens&&t.nestedTokens.length>0){const n=e.parseChildren(t.nestedTokens);r.push(...n)}return e.createNode("taskItem",{checked:t.checked||!1},r)},renderMarkdown:(t,e)=>{var r;const n=`- [${!((r=t.attrs)===null||r===void 0)&&r.checked?"x":" "}] `;return t3e(t,e,n)},addExtensions(){return this.options.nested?[jke(this.name,[this.options.taskListTypeName])]:[]},addKeyboardShortcuts(){const t={Enter:()=>this.editor.commands.splitListItem(this.name),"Shift-Tab":()=>this.editor.commands.liftListItem(this.name)};return this.options.nested?{...t,Tab:()=>this.editor.commands.sinkListItem(this.name)}:t},addNodeView(){return({node:t,HTMLAttributes:e,getPos:r,editor:n})=>{const i=document.createElement("li"),a=document.createElement("label"),s=document.createElement("span"),o=document.createElement("input"),l=document.createElement("div");s.style.cssText=$Mt;const u=h=>{const f=FMt(h,h.attrs.checked,this.options.a11y);o.setAttribute("aria-label",f),s.textContent=f};u(t),a.contentEditable="false",o.type="checkbox",o.addEventListener("mousedown",h=>h.preventDefault()),o.addEventListener("change",h=>{if(!n.isEditable&&!this.options.onReadOnlyChecked){o.checked=!o.checked;return}const{checked:f}=h.target;n.isEditable&&typeof r=="function"&&n.chain().focus(void 0,{scrollIntoView:!1}).command(({tr:p})=>{const g=r();if(typeof g!="number")return!1;const m=p.doc.nodeAt(g);return p.setNodeMarkup(g,void 0,{...m==null?void 0:m.attrs,checked:f}),!0}).run(),!n.isEditable&&this.options.onReadOnlyChecked&&(this.options.onReadOnlyChecked(t,f)||(o.checked=!o.checked))}),Object.entries(this.options.HTMLAttributes).forEach(([h,f])=>{i.setAttribute(h,f)}),i.dataset.checked=t.attrs.checked,o.checked=t.attrs.checked,a.append(o,s),i.append(a,l),Object.entries(e).forEach(([h,f])=>{i.setAttribute(h,f)});let d=new Set(Object.keys(e));return{dom:i,contentDOM:l,update:h=>{if(h.type!==this.type)return!1;i.dataset.checked=h.attrs.checked,o.checked=h.attrs.checked,u(h);const f=n.extensionManager.attributes,p=Nv(h,f),g=new Set(Object.keys(p)),m=this.options.HTMLAttributes;return d.forEach(U=>{g.has(U)||(U in m?i.setAttribute(U,m[U]):i.removeAttribute(U))}),Object.entries(p).forEach(([U,y])=>{y==null?U in m?i.setAttribute(U,m[U]):i.removeAttribute(U):i.setAttribute(U,y)}),d=g,!0}}}},addInputRules(){return[Pv({find:BMt,type:this.type,getAttributes:t=>({checked:t[t.length-1]==="x"})})]}}),nEe=ri.create({name:"taskList",addOptions(){return{itemTypeName:"taskItem",HTMLAttributes:{}}},group:"block list",content(){return`${this.options.itemTypeName}+`},parseHTML(){return[{tag:`ul[data-type="${this.name}"]`,priority:51}]},renderHTML({HTMLAttributes:t}){return["ul",yn(this.options.HTMLAttributes,t,{"data-type":this.name}),0]},parseMarkdown:(t,e)=>e.createNode("taskList",{},e.parseChildren(t.items||[])),renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,`
`):"",markdownTokenizer:{name:"taskList",level:"block",start(t){var e;const r=(e=t.match(/^\s*[-+*]\s+\[([ xX])\]\s+/))===null||e===void 0?void 0:e.index;return r!==void 0?r:-1},tokenize(t,e,r){const n=a=>{const s=gue(a,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:o=>({indentLevel:o[1].length,mainContent:o[4],checked:o[3].toLowerCase()==="x"}),createToken:(o,l)=>({type:"taskItem",raw:"",mainContent:o.mainContent,indentLevel:o.indentLevel,checked:o.checked,text:o.mainContent,tokens:r.inlineTokens(o.mainContent),nestedTokens:l}),customNestedParser:n},r);if(s){const o={type:"taskList",raw:s.raw,items:s.items},l=a.slice(s.raw.length);return l.trim()?[o,...r.blockTokens(l)]:[o]}return r.blockTokens(a)},i=gue(t,{itemPattern:/^(\s*)([-+*])\s+\[([ xX])\]\s+(.*)$/,extractItemData:a=>({indentLevel:a[1].length,mainContent:a[4],checked:a[3].toLowerCase()==="x"}),createToken:(a,s)=>({type:"taskItem",raw:"",mainContent:a.mainContent,indentLevel:a.indentLevel,checked:a.checked,text:a.mainContent,tokens:r.inlineTokens(a.mainContent),nestedTokens:s}),customNestedParser:n},r);if(i)return{type:"taskList",raw:i.raw,items:i.items}}},markdownOptions:{indentsContent:!0},addCommands(){return{toggleTaskList:()=>({commands:t})=>t.toggleList(this.name,this.options.itemTypeName)}},addKeyboardShortcuts(){return{"Mod-Shift-9":()=>this.editor.commands.toggleTaskList()}}});Oi.create({name:"listKit",addExtensions(){const t=[];return this.options.bulletList!==!1&&t.push(qke.configure(this.options.bulletList)),this.options.listItem!==!1&&t.push(Zke.configure(this.options.listItem)),this.options.listKeymap!==!1&&t.push(Qke.configure(this.options.listKeymap)),this.options.orderedList!==!1&&t.push(tEe.configure(this.options.orderedList)),this.options.taskItem!==!1&&t.push(rEe.configure(this.options.taskItem)),this.options.taskList!==!1&&t.push(nEe.configure(this.options.taskList)),t}});let HW,VW;if(typeof WeakMap<"u"){let t=new WeakMap;HW=e=>t.get(e),VW=(e,r)=>(t.set(e,r),r)}else{const t=[];let r=0;HW=n=>{for(let i=0;i<t.length;i+=2)if(t[i]==n)return t[i+1]},VW=(n,i)=>(r==10&&(r=0),t[r++]=n,t[r++]=i)}var Fa=class{constructor(t,e,r,n){this.width=t,this.height=e,this.map=r,this.problems=n}findCell(t){for(let e=0;e<this.map.length;e++){const r=this.map[e];if(r!=t)continue;const n=e%this.width,i=e/this.width|0;let a=n+1,s=i+1;for(let o=1;a<this.width&&this.map[e+o]==r;o++)a++;for(let o=1;s<this.height&&this.map[e+this.width*o]==r;o++)s++;return{left:n,top:i,right:a,bottom:s}}throw new RangeError(`No cell with offset ${t} found`)}colCount(t){for(let e=0;e<this.map.length;e++)if(this.map[e]==t)return e%this.width;throw new RangeError(`No cell with offset ${t} found`)}nextCell(t,e,r){const{left:n,right:i,top:a,bottom:s}=this.findCell(t);return e=="horiz"?(r<0?n==0:i==this.width)?null:this.map[a*this.width+(r<0?n-1:i)]:(r<0?a==0:s==this.height)?null:this.map[n+this.width*(r<0?a-1:s)]}rectBetween(t,e){const{left:r,right:n,top:i,bottom:a}=this.findCell(t),{left:s,right:o,top:l,bottom:u}=this.findCell(e);return{left:Math.min(r,s),top:Math.min(i,l),right:Math.max(n,o),bottom:Math.max(a,u)}}cellsInRect(t){const e=[],r={};for(let n=t.top;n<t.bottom;n++)for(let i=t.left;i<t.right;i++){const a=n*this.width+i,s=this.map[a];r[s]||(r[s]=!0,!(i==t.left&&i&&this.map[a-1]==s||n==t.top&&n&&this.map[a-this.width]==s)&&e.push(s))}return e}positionAt(t,e,r){for(let n=0,i=0;;n++){const a=i+r.child(n).nodeSize;if(n==t){let s=e+t*this.width;const o=(t+1)*this.width;for(;s<o&&this.map[s]<i;)s++;return s==o?a-1:this.map[s]}i=a}}static get(t){return HW(t)||VW(t,zMt(t))}};function zMt(t){if(t.type.spec.tableRole!="table")throw new RangeError("Not a table node: "+t.type.name);const e=HMt(t),r=t.childCount,n=[];let i=0,a=null;const s=[];for(let u=0,d=e*r;u<d;u++)n[u]=0;for(let u=0,d=0;u<r;u++){const h=t.child(u);d++;for(let g=0;;g++){for(;i<n.length&&n[i]!=0;)i++;if(g==h.childCount)break;const m=h.child(g),{colspan:U,rowspan:y,colwidth:b}=m.attrs;for(let v=0;v<y;v++){if(v+u>=r){(a||(a=[])).push({type:"overlong_rowspan",pos:d,n:y-v});break}const w=i+v*e;for(let T=0;T<U;T++){n[w+T]==0?n[w+T]=d:(a||(a=[])).push({type:"collision",row:u,pos:d,n:U-T});const S=b&&b[T];if(S){const C=(w+T)%e*2,k=s[C];k==null||k!=S&&s[C+1]==1?(s[C]=S,s[C+1]=1):k==S&&s[C+1]++}}}i+=U,d+=m.nodeSize}const f=(u+1)*e;let p=0;for(;i<f;)n[i++]==0&&p++;p&&(a||(a=[])).push({type:"missing",row:u,n:p}),d++}(e===0||r===0)&&(a||(a=[])).push({type:"zero_sized"});const o=new Fa(e,r,n,a);let l=!1;for(let u=0;!l&&u<s.length;u+=2)s[u]!=null&&s[u+1]<r&&(l=!0);return l&&VMt(o,s,t),o}function HMt(t){let e=-1,r=!1;for(let n=0;n<t.childCount;n++){const i=t.child(n);let a=0;if(r)for(let s=0;s<n;s++){const o=t.child(s);for(let l=0;l<o.childCount;l++){const u=o.child(l);s+u.attrs.rowspan>n&&(a+=u.attrs.colspan)}}for(let s=0;s<i.childCount;s++){const o=i.child(s);a+=o.attrs.colspan,o.attrs.rowspan>1&&(r=!0)}e==-1?e=a:e!=a&&(e=Math.max(e,a))}return e}function VMt(t,e,r){t.problems||(t.problems=[]);const n={};for(let i=0;i<t.map.length;i++){const a=t.map[i];if(n[a])continue;n[a]=!0;const s=r.nodeAt(a);if(!s)throw new RangeError(`No cell with offset ${a} found`);let o=null;const l=s.attrs;for(let u=0;u<l.colspan;u++){const d=e[(i+u)%t.width*2];d!=null&&(!l.colwidth||l.colwidth[u]!=d)&&((o||(o=GMt(l)))[u]=d)}o&&t.problems.unshift({type:"colwidth mismatch",pos:a,colwidth:o})}}function GMt(t){if(t.colwidth)return t.colwidth.slice();const e=[];for(let r=0;r<t.colspan;r++)e.push(0);return e}function tl(t){let e=t.cached.tableNodeTypes;if(!e){e=t.cached.tableNodeTypes={};for(const r in t.nodes){const n=t.nodes[r],i=n.spec.tableRole;i&&(e[i]=n)}}return e}const ag=new Mi("selectingCells");function i5(t){for(let e=t.depth-1;e>0;e--)if(t.node(e).type.spec.tableRole=="row")return t.node(0).resolve(t.before(e+1));return null}function WMt(t){for(let e=t.depth;e>0;e--){const r=t.node(e).type.spec.tableRole;if(r==="cell"||r==="header_cell")return t.node(e)}return null}function Qd(t){const e=t.selection.$head;for(let r=e.depth;r>0;r--)if(e.node(r).type.spec.tableRole=="row")return!0;return!1}function FD(t){const e=t.selection;if("$anchorCell"in e&&e.$anchorCell)return e.$anchorCell.pos>e.$headCell.pos?e.$anchorCell:e.$headCell;if("node"in e&&e.node&&e.node.type.spec.tableRole=="cell")return e.$anchor;const r=i5(e.$head)||qMt(e.$head);if(r)return r;throw new RangeError(`No cell found around position ${e.head}`)}function qMt(t){for(let e=t.nodeAfter,r=t.pos;e;e=e.firstChild,r++){const n=e.type.spec.tableRole;if(n=="cell"||n=="header_cell")return t.doc.resolve(r)}for(let e=t.nodeBefore,r=t.pos;e;e=e.lastChild,r--){const n=e.type.spec.tableRole;if(n=="cell"||n=="header_cell")return t.doc.resolve(r-e.nodeSize)}}function GW(t){return t.parent.type.spec.tableRole=="row"&&!!t.nodeAfter}function jMt(t){return t.node(0).resolve(t.pos+t.nodeAfter.nodeSize)}function gee(t,e){return t.depth==e.depth&&t.pos>=e.start(-1)&&t.pos<=e.end(-1)}function iEe(t,e,r){const n=t.node(-1),i=Fa.get(n),a=t.start(-1),s=i.nextCell(t.pos-a,e,r);return s==null?null:t.node(0).resolve(a+s)}function a5(t,e,r=1){const n={...t,colspan:t.colspan-r};return n.colwidth&&(n.colwidth=n.colwidth.slice(),n.colwidth.splice(e,r),n.colwidth.some(i=>i>0)||(n.colwidth=null)),n}function aEe(t,e,r=1){const n={...t,colspan:t.colspan+r};if(n.colwidth){n.colwidth=n.colwidth.slice();for(let i=0;i<r;i++)n.colwidth.splice(e,0,0)}return n}function YMt(t,e,r){const n=tl(e.type.schema).header_cell;for(let i=0;i<t.height;i++)if(e.nodeAt(t.map[r+i*t.width]).type!=n)return!1;return!0}var Wi=class zf extends Vr{constructor(e,r=e){const n=e.node(-1),i=Fa.get(n),a=e.start(-1),s=i.rectBetween(e.pos-a,r.pos-a),o=e.node(0),l=i.cellsInRect(s).filter(d=>d!=r.pos-a);l.unshift(r.pos-a);const u=l.map(d=>{const h=n.nodeAt(d);if(!h)throw new RangeError(`No cell with offset ${d} found`);const f=a+d+1;return new Cve(o.resolve(f),o.resolve(f+h.content.size))});super(u[0].$from,u[0].$to,u),this.$anchorCell=e,this.$headCell=r}map(e,r){const n=e.resolve(r.map(this.$anchorCell.pos)),i=e.resolve(r.map(this.$headCell.pos));if(GW(n)&&GW(i)&&gee(n,i)){const a=this.$anchorCell.node(-1)!=n.node(-1);return a&&this.isRowSelection()?zf.rowSelection(n,i):a&&this.isColSelection()?zf.colSelection(n,i):new zf(n,i)}return yr.between(n,i)}content(){const e=this.$anchorCell.node(-1),r=Fa.get(e),n=this.$anchorCell.start(-1),i=r.rectBetween(this.$anchorCell.pos-n,this.$headCell.pos-n),a={},s=[];for(let l=i.top;l<i.bottom;l++){const u=[];for(let d=l*r.width+i.left,h=i.left;h<i.right;h++,d++){const f=r.map[d];if(a[f])continue;a[f]=!0;const p=r.findCell(f);let g=e.nodeAt(f);if(!g)throw new RangeError(`No cell with offset ${f} found`);const m=i.left-p.left,U=p.right-i.right;if(m>0||U>0){let y=g.attrs;if(m>0&&(y=a5(y,0,m)),U>0&&(y=a5(y,y.colspan-U,U)),p.left<i.left){if(g=g.type.createAndFill(y),!g)throw new RangeError(`Could not create cell with attrs ${JSON.stringify(y)}`)}else g=g.type.create(y,g.content)}if(p.top<i.top||p.bottom>i.bottom){const y={...g.attrs,rowspan:Math.min(p.bottom,i.bottom)-Math.max(p.top,i.top)};p.top<i.top?g=g.type.createAndFill(y):g=g.type.create(y,g.content)}u.push(g)}s.push(e.child(l).copy(At.from(u)))}const o=this.isColSelection()&&this.isRowSelection()?e:s;return new tr(At.from(o),1,1)}replace(e,r=tr.empty){const n=e.steps.length,i=this.ranges;for(let s=0;s<i.length;s++){const{$from:o,$to:l}=i[s],u=e.mapping.slice(n);e.replace(u.map(o.pos),u.map(l.pos),s?tr.empty:r)}const a=Vr.findFrom(e.doc.resolve(e.mapping.slice(n).map(this.to)),-1);a&&e.setSelection(a)}replaceWith(e,r){this.replace(e,new tr(At.from(r),0,0))}forEachCell(e){const r=this.$anchorCell.node(-1),n=Fa.get(r),i=this.$anchorCell.start(-1),a=n.cellsInRect(n.rectBetween(this.$anchorCell.pos-i,this.$headCell.pos-i));for(let s=0;s<a.length;s++)e(r.nodeAt(a[s]),i+a[s])}isColSelection(){const e=this.$anchorCell.index(-1),r=this.$headCell.index(-1);if(Math.min(e,r)>0)return!1;const n=e+this.$anchorCell.nodeAfter.attrs.rowspan,i=r+this.$headCell.nodeAfter.attrs.rowspan;return Math.max(n,i)==this.$headCell.node(-1).childCount}static colSelection(e,r=e){const n=e.node(-1),i=Fa.get(n),a=e.start(-1),s=i.findCell(e.pos-a),o=i.findCell(r.pos-a),l=e.node(0);return s.top<=o.top?(s.top>0&&(e=l.resolve(a+i.map[s.left])),o.bottom<i.height&&(r=l.resolve(a+i.map[i.width*(i.height-1)+o.right-1]))):(o.top>0&&(r=l.resolve(a+i.map[o.left])),s.bottom<i.height&&(e=l.resolve(a+i.map[i.width*(i.height-1)+s.right-1]))),new zf(e,r)}isRowSelection(){const e=this.$anchorCell.node(-1),r=Fa.get(e),n=this.$anchorCell.start(-1),i=r.colCount(this.$anchorCell.pos-n),a=r.colCount(this.$headCell.pos-n);if(Math.min(i,a)>0)return!1;const s=i+this.$anchorCell.nodeAfter.attrs.colspan,o=a+this.$headCell.nodeAfter.attrs.colspan;return Math.max(s,o)==r.width}eq(e){return e instanceof zf&&e.$anchorCell.pos==this.$anchorCell.pos&&e.$headCell.pos==this.$headCell.pos}static rowSelection(e,r=e){const n=e.node(-1),i=Fa.get(n),a=e.start(-1),s=i.findCell(e.pos-a),o=i.findCell(r.pos-a),l=e.node(0);return s.left<=o.left?(s.left>0&&(e=l.resolve(a+i.map[s.top*i.width])),o.right<i.width&&(r=l.resolve(a+i.map[i.width*(o.top+1)-1]))):(o.left>0&&(r=l.resolve(a+i.map[o.top*i.width])),s.right<i.width&&(e=l.resolve(a+i.map[i.width*(s.top+1)-1]))),new zf(e,r)}toJSON(){return{type:"cell",anchor:this.$anchorCell.pos,head:this.$headCell.pos}}static fromJSON(e,r){return new zf(e.resolve(r.anchor),e.resolve(r.head))}static create(e,r,n=r){return new zf(e.resolve(r),e.resolve(n))}getBookmark(){return new XMt(this.$anchorCell.pos,this.$headCell.pos)}};Wi.prototype.visible=!1;Vr.jsonID("cell",Wi);var XMt=class sEe{constructor(e,r){this.anchor=e,this.head=r}map(e){return new sEe(e.map(this.anchor),e.map(this.head))}resolve(e){const r=e.resolve(this.anchor),n=e.resolve(this.head);return r.parent.type.spec.tableRole=="row"&&n.parent.type.spec.tableRole=="row"&&r.index()<r.parent.childCount&&n.index()<n.parent.childCount&&gee(r,n)?new Wi(r,n):Vr.near(n,1)}};function KMt(t){if(!(t.selection instanceof Wi))return null;const e=[];return t.selection.forEachCell((r,n)=>{e.push(Js.node(n,n+r.nodeSize,{class:"selectedCell"}))}),qn.create(t.doc,e)}function ZMt({$from:t,$to:e}){if(t.pos==e.pos||t.pos<e.pos-6)return!1;let r=t.pos,n=e.pos,i=t.depth;for(;i>=0&&!(t.after(i+1)<t.end(i));i--,r++);for(let a=e.depth;a>=0&&!(e.before(a+1)>e.start(a));a--,n--);return r==n&&/row|table/.test(t.node(i).type.spec.tableRole)}function JMt({$from:t,$to:e}){let r,n;for(let i=t.depth;i>0;i--){const a=t.node(i);if(a.type.spec.tableRole==="cell"||a.type.spec.tableRole==="header_cell"){r=a;break}}for(let i=e.depth;i>0;i--){const a=e.node(i);if(a.type.spec.tableRole==="cell"||a.type.spec.tableRole==="header_cell"){n=a;break}}return r!==n&&e.parentOffset===0}function QMt(t,e,r){const n=(e||t).selection,i=(e||t).doc;let a,s;if(n instanceof Nr&&(s=n.node.type.spec.tableRole)){if(s=="cell"||s=="header_cell")a=Wi.create(i,n.from);else if(s=="row"){const o=i.resolve(n.from+1);a=Wi.rowSelection(o,o)}else if(!r){const o=Fa.get(n.node),l=n.from+1,u=l+o.map[o.width*o.height-1];a=Wi.create(i,l+1,u)}}else n instanceof yr&&ZMt(n)?a=yr.create(i,n.from):n instanceof yr&&JMt(n)&&(a=yr.create(i,n.$from.start(),n.$from.end()));return a&&(e||(e=t.tr)).setSelection(a),e}const eRt=new Mi("fix-tables");function oEe(t,e,r,n){const i=t.childCount,a=e.childCount;e:for(let s=0,o=0;s<a;s++){const l=e.child(s);for(let u=o,d=Math.min(i,s+3);u<d;u++)if(t.child(u)==l){o=u+1,r+=l.nodeSize;continue e}n(l,r),o<i&&t.child(o).sameMarkup(l)?oEe(t.child(o),l,r+1,n):l.nodesBetween(0,l.content.size,n,r+1),r+=l.nodeSize}}function lEe(t,e){let r;const n=(i,a)=>{i.type.spec.tableRole=="table"&&(r=tRt(t,i,a,r))};return e?e.doc!=t.doc&&oEe(e.doc,t.doc,0,n):t.doc.descendants(n),r}function tRt(t,e,r,n){const i=Fa.get(e);if(!i.problems)return n;n||(n=t.tr);const a=[];for(let l=0;l<i.height;l++)a.push(0);for(let l=0;l<i.problems.length;l++){const u=i.problems[l];if(u.type=="collision"){const d=e.nodeAt(u.pos);if(!d)continue;const h=d.attrs;for(let f=0;f<h.rowspan;f++)a[u.row+f]+=u.n;n.setNodeMarkup(n.mapping.map(r+1+u.pos),null,a5(h,h.colspan-u.n,u.n))}else if(u.type=="missing")a[u.row]+=u.n;else if(u.type=="overlong_rowspan"){const d=e.nodeAt(u.pos);if(!d)continue;n.setNodeMarkup(n.mapping.map(r+1+u.pos),null,{...d.attrs,rowspan:d.attrs.rowspan-u.n})}else if(u.type=="colwidth mismatch"){const d=e.nodeAt(u.pos);if(!d)continue;n.setNodeMarkup(n.mapping.map(r+1+u.pos),null,{...d.attrs,colwidth:u.colwidth})}else if(u.type=="zero_sized"){const d=n.mapping.map(r);n.delete(d,d+e.nodeSize)}}let s,o;for(let l=0;l<a.length;l++)a[l]&&(s==null&&(s=l),o=l);for(let l=0,u=r+1;l<i.height;l++){const d=e.child(l),h=u+d.nodeSize,f=a[l];if(f>0){let p="cell";d.firstChild&&(p=d.firstChild.type.spec.tableRole);const g=[];for(let U=0;U<f;U++){const y=tl(t.schema)[p].createAndFill();y&&g.push(y)}const m=(l==0||s==l-1)&&o==l?u+1:h-1;n.insert(n.mapping.map(m),g)}u=h}return n.setMeta(eRt,{fixTables:!0})}function lf(t){const e=t.selection,r=FD(t),n=r.node(-1),i=r.start(-1),a=Fa.get(n);return{...e instanceof Wi?a.rectBetween(e.$anchorCell.pos-i,e.$headCell.pos-i):a.findCell(r.pos-i),tableStart:i,map:a,table:n}}function cEe(t,{map:e,tableStart:r,table:n},i){let a=i>0?-1:0;YMt(e,n,i+a)&&(a=i==0||i==e.width?null:0);for(let s=0;s<e.height;s++){const o=s*e.width+i;if(i>0&&i<e.width&&e.map[o-1]==e.map[o]){const l=e.map[o],u=n.nodeAt(l);t.setNodeMarkup(t.mapping.map(r+l),null,aEe(u.attrs,i-e.colCount(l))),s+=u.attrs.rowspan-1}else{const l=a==null?tl(n.type.schema).cell:n.nodeAt(e.map[o+a]).type,u=e.positionAt(s,i,n);t.insert(t.mapping.map(r+u),l.createAndFill())}}return t}function rRt(t,e){if(!Qd(t))return!1;if(e){const r=lf(t);e(cEe(t.tr,r,r.left))}return!0}function nRt(t,e){if(!Qd(t))return!1;if(e){const r=lf(t);e(cEe(t.tr,r,r.right))}return!0}function iRt(t,{map:e,table:r,tableStart:n},i){const a=t.mapping.maps.length;for(let s=0;s<e.height;){const o=s*e.width+i,l=e.map[o],u=r.nodeAt(l),d=u.attrs;if(i>0&&e.map[o-1]==l||i<e.width-1&&e.map[o+1]==l)t.setNodeMarkup(t.mapping.slice(a).map(n+l),null,a5(d,i-e.colCount(l)));else{const h=t.mapping.slice(a).map(n+l);t.delete(h,h+u.nodeSize)}s+=d.rowspan}}function aRt(t,e){if(!Qd(t))return!1;if(e){const r=lf(t),n=t.tr;if(r.left==0&&r.right==r.map.width)return!1;for(let i=r.right-1;iRt(n,r,i),i!=r.left;i--){const a=r.tableStart?n.doc.nodeAt(r.tableStart-1):n.doc;if(!a)throw new RangeError("No table found");r.table=a,r.map=Fa.get(a)}e(n)}return!0}function sRt(t,e,r){var n;const i=tl(e.type.schema).header_cell;for(let a=0;a<t.width;a++)if(((n=e.nodeAt(t.map[a+r*t.width]))===null||n===void 0?void 0:n.type)!=i)return!1;return!0}function uEe(t,{map:e,tableStart:r,table:n},i){let a=r;for(let u=0;u<i;u++)a+=n.child(u).nodeSize;const s=[];let o=i>0?-1:0;sRt(e,n,i+o)&&(o=i==0||i==e.height?null:0);for(let u=0,d=e.width*i;u<e.width;u++,d++)if(i>0&&i<e.height&&e.map[d]==e.map[d-e.width]){const h=e.map[d],f=n.nodeAt(h).attrs;t.setNodeMarkup(r+h,null,{...f,rowspan:f.rowspan+1}),u+=f.colspan-1}else{var l;const h=o==null?tl(n.type.schema).cell:(l=n.nodeAt(e.map[d+o*e.width]))===null||l===void 0?void 0:l.type,f=h==null?void 0:h.createAndFill();f&&s.push(f)}return t.insert(a,tl(n.type.schema).row.create(null,s)),t}function oRt(t,e){if(!Qd(t))return!1;if(e){const r=lf(t);e(uEe(t.tr,r,r.top))}return!0}function lRt(t,e){if(!Qd(t))return!1;if(e){const r=lf(t);e(uEe(t.tr,r,r.bottom))}return!0}function cRt(t,{map:e,table:r,tableStart:n},i){let a=0;for(let u=0;u<i;u++)a+=r.child(u).nodeSize;const s=a+r.child(i).nodeSize,o=t.mapping.maps.length;t.delete(a+n,s+n);const l=new Set;for(let u=0,d=i*e.width;u<e.width;u++,d++){const h=e.map[d];if(!l.has(h)){if(l.add(h),i>0&&h==e.map[d-e.width]){const f=r.nodeAt(h).attrs;t.setNodeMarkup(t.mapping.slice(o).map(h+n),null,{...f,rowspan:f.rowspan-1}),u+=f.colspan-1}else if(i<e.height&&h==e.map[d+e.width]){const f=r.nodeAt(h),p=f.attrs,g=f.type.create({...p,rowspan:f.attrs.rowspan-1},f.content),m=e.positionAt(i+1,u,r);t.insert(t.mapping.slice(o).map(n+m),g),u+=p.colspan-1}}}}function uRt(t,e){if(!Qd(t))return!1;if(e){const r=lf(t),n=t.tr;if(r.top==0&&r.bottom==r.map.height)return!1;for(let i=r.bottom-1;cRt(n,r,i),i!=r.top;i--){const a=r.tableStart?n.doc.nodeAt(r.tableStart-1):n.doc;if(!a)throw new RangeError("No table found");r.table=a,r.map=Fa.get(r.table)}e(n)}return!0}function Zhe(t){const e=t.content;return e.childCount==1&&e.child(0).isTextblock&&e.child(0).childCount==0}function dRt({width:t,height:e,map:r},n){let i=n.top*t+n.left,a=i,s=(n.bottom-1)*t+n.left,o=i+(n.right-n.left-1);for(let l=n.top;l<n.bottom;l++){if(n.left>0&&r[a]==r[a-1]||n.right<t&&r[o]==r[o+1])return!0;a+=t,o+=t}for(let l=n.left;l<n.right;l++){if(n.top>0&&r[i]==r[i-t]||n.bottom<e&&r[s]==r[s+t])return!0;i++,s++}return!1}function Jhe(t,e){const r=t.selection;if(!(r instanceof Wi)||r.$anchorCell.pos==r.$headCell.pos)return!1;const n=lf(t),{map:i}=n;if(dRt(i,n))return!1;if(e){const a=t.tr,s={};let o=At.empty,l,u;for(let d=n.top;d<n.bottom;d++)for(let h=n.left;h<n.right;h++){const f=i.map[d*i.width+h],p=n.table.nodeAt(f);if(!(s[f]||!p))if(s[f]=!0,l==null)l=f,u=p;else{Zhe(p)||(o=o.append(p.content));const g=a.mapping.map(f+n.tableStart);a.delete(g,g+p.nodeSize)}}if(l==null||u==null)return!0;if(a.setNodeMarkup(l+n.tableStart,null,{...aEe(u.attrs,u.attrs.colspan,n.right-n.left-u.attrs.colspan),rowspan:n.bottom-n.top}),o.size>0){const d=l+1+u.content.size,h=Zhe(u)?l+1:d;a.replaceWith(h+n.tableStart,d+n.tableStart,o)}a.setSelection(new Wi(a.doc.resolve(l+n.tableStart))),e(a)}return!0}function Qhe(t,e){const r=tl(t.schema);return hRt(({node:n})=>r[n.type.spec.tableRole])(t,e)}function hRt(t){return(e,r)=>{const n=e.selection;let i,a;if(n instanceof Wi){if(n.$anchorCell.pos!=n.$headCell.pos)return!1;i=n.$anchorCell.nodeAfter,a=n.$anchorCell.pos}else{var s;if(i=WMt(n.$from),!i)return!1;a=(s=i5(n.$from))===null||s===void 0?void 0:s.pos}if(i==null||a==null||i.attrs.colspan==1&&i.attrs.rowspan==1)return!1;if(r){let o=i.attrs;const l=[],u=o.colwidth;o.rowspan>1&&(o={...o,rowspan:1}),o.colspan>1&&(o={...o,colspan:1});const d=lf(e),h=e.tr;for(let p=0;p<d.right-d.left;p++)l.push(u?{...o,colwidth:u&&u[p]?[u[p]]:null}:o);let f;for(let p=d.top;p<d.bottom;p++){let g=d.map.positionAt(p,d.left,d.table);p==d.top&&(g+=i.nodeSize);for(let m=d.left,U=0;m<d.right;m++,U++)m==d.left&&p==d.top||h.insert(f=h.mapping.map(g+d.tableStart,1),t({node:i,row:p,col:m}).createAndFill(l[U]))}h.setNodeMarkup(a,t({node:i,row:d.top,col:d.left}),l[0]),n instanceof Wi&&h.setSelection(new Wi(h.doc.resolve(n.$anchorCell.pos),f?h.doc.resolve(f):void 0)),r(h)}return!0}}function fRt(t,e){return function(r,n){if(!Qd(r))return!1;const i=FD(r);if(i.nodeAfter.attrs[t]===e)return!1;if(n){const a=r.tr;r.selection instanceof Wi?r.selection.forEachCell((s,o)=>{s.attrs[t]!==e&&a.setNodeMarkup(o,null,{...s.attrs,[t]:e})}):a.setNodeMarkup(i.pos,null,{...i.nodeAfter.attrs,[t]:e}),n(a)}return!0}}function pRt(t){return function(e,r){if(!Qd(e))return!1;if(r){const n=tl(e.schema),i=lf(e),a=e.tr,s=i.map.cellsInRect(t=="column"?{left:i.left,top:0,right:i.right,bottom:i.map.height}:t=="row"?{left:0,top:i.top,right:i.map.width,bottom:i.bottom}:i),o=s.map(l=>i.table.nodeAt(l));for(let l=0;l<s.length;l++)o[l].type==n.header_cell&&a.setNodeMarkup(i.tableStart+s[l],n.cell,o[l].attrs);if(a.steps.length===0)for(let l=0;l<s.length;l++)a.setNodeMarkup(i.tableStart+s[l],n.header_cell,o[l].attrs);r(a)}return!0}}function efe(t,e,r){const n=e.map.cellsInRect({left:0,top:0,right:t=="row"?e.map.width:1,bottom:t=="column"?e.map.height:1});for(let i=0;i<n.length;i++){const a=e.table.nodeAt(n[i]);if(a&&a.type!==r.header_cell)return!1}return!0}function kT(t,e){return e=e||{useDeprecatedLogic:!1},e.useDeprecatedLogic?pRt(t):function(r,n){if(!Qd(r))return!1;if(n){const i=tl(r.schema),a=lf(r),s=r.tr,o=efe("row",a,i),l=efe("column",a,i),u=(t==="column"?o:t==="row"&&l)?1:0,d=t=="column"?{left:0,top:u,right:1,bottom:a.map.height}:t=="row"?{left:u,top:0,right:a.map.width,bottom:1}:a,h=t=="column"?l?i.cell:i.header_cell:t=="row"?o?i.cell:i.header_cell:i.cell;a.map.cellsInRect(d).forEach(f=>{const p=f+a.tableStart,g=s.doc.nodeAt(p);g&&s.setNodeMarkup(p,h,g.attrs)}),n(s)}return!0}}kT("row",{useDeprecatedLogic:!0});kT("column",{useDeprecatedLogic:!0});const gRt=kT("cell",{useDeprecatedLogic:!0});function mRt(t,e){if(e<0){const r=t.nodeBefore;if(r)return t.pos-r.nodeSize;for(let n=t.index(-1)-1,i=t.before();n>=0;n--){const a=t.node(-1).child(n),s=a.lastChild;if(s)return i-1-s.nodeSize;i-=a.nodeSize}}else{if(t.index()<t.parent.childCount-1)return t.pos+t.nodeAfter.nodeSize;const r=t.node(-1);for(let n=t.indexAfter(-1),i=t.after();n<r.childCount;n++){const a=r.child(n);if(a.childCount)return i+1;i+=a.nodeSize}}return null}function tfe(t){return function(e,r){if(!Qd(e))return!1;const n=mRt(FD(e),t);if(n==null)return!1;if(r){const i=e.doc.resolve(n);r(e.tr.setSelection(yr.between(i,jMt(i))).scrollIntoView())}return!0}}function URt(t,e){const r=t.selection.$anchor;for(let n=r.depth;n>0;n--)if(r.node(n).type.spec.tableRole=="table")return e&&e(t.tr.delete(r.before(n),r.after(n)).scrollIntoView()),!0;return!1}function Yk(t,e){const r=t.selection;if(!(r instanceof Wi))return!1;if(e){const n=t.tr,i=tl(t.schema).cell.createAndFill().content;r.forEachCell((a,s)=>{a.content.eq(i)||n.replace(n.mapping.map(s+1),n.mapping.map(s+a.nodeSize-1),new tr(i,0,0))}),n.docChanged&&e(n)}return!0}function yRt(t){if(t.size===0)return null;let{content:e,openStart:r,openEnd:n}=t;for(;e.childCount==1&&(r>0&&n>0||e.child(0).type.spec.tableRole=="table");)r--,n--,e=e.child(0).content;const i=e.child(0),a=i.type.spec.tableRole,s=i.type.schema,o=[];if(a=="row")for(let l=0;l<e.childCount;l++){let u=e.child(l).content;const d=l?0:Math.max(0,r-1),h=l<e.childCount-1?0:Math.max(0,n-1);(d||h)&&(u=WW(tl(s).row,new tr(u,d,h)).content),o.push(u)}else if(a=="cell"||a=="header_cell")o.push(r||n?WW(tl(s).row,new tr(e,r,n)).content:e);else return null;return bRt(s,o)}function bRt(t,e){const r=[];for(let i=0;i<e.length;i++){const a=e[i];for(let s=a.childCount-1;s>=0;s--){const{rowspan:o,colspan:l}=a.child(s).attrs;for(let u=i;u<i+o;u++)r[u]=(r[u]||0)+l}}let n=0;for(let i=0;i<r.length;i++)n=Math.max(n,r[i]);for(let i=0;i<r.length;i++)if(i>=e.length&&e.push(At.empty),r[i]<n){const a=tl(t).cell.createAndFill(),s=[];for(let o=r[i];o<n;o++)s.push(a);e[i]=e[i].append(At.from(s))}return{height:e.length,width:n,rows:e}}function WW(t,e){const r=t.createAndFill();return new gJ(r).replace(0,r.content.size,e).doc}function vRt({width:t,height:e,rows:r},n,i){if(t!=n){const a=[],s=[];for(let o=0;o<r.length;o++){const l=r[o],u=[];for(let d=a[o]||0,h=0;d<n;h++){let f=l.child(h%l.childCount);d+f.attrs.colspan>n&&(f=f.type.createChecked(a5(f.attrs,f.attrs.colspan,d+f.attrs.colspan-n),f.content)),u.push(f),d+=f.attrs.colspan;for(let p=1;p<f.attrs.rowspan;p++)a[o+p]=(a[o+p]||0)+f.attrs.colspan}s.push(At.from(u))}r=s,t=n}if(e!=i){const a=[];for(let s=0,o=0;s<i;s++,o++){const l=[],u=r[o%e];for(let d=0;d<u.childCount;d++){let h=u.child(d);s+h.attrs.rowspan>i&&(h=h.type.create({...h.attrs,rowspan:Math.max(1,i-h.attrs.rowspan)},h.content)),l.push(h)}a.push(At.from(l))}r=a,e=i}return{width:t,height:e,rows:r}}function xRt(t,e,r,n,i,a,s){const o=t.doc.type.schema,l=tl(o);let u,d;if(i>e.width)for(let h=0,f=0;h<e.height;h++){const p=r.child(h);f+=p.nodeSize;const g=[];let m;p.lastChild==null||p.lastChild.type==l.cell?m=u||(u=l.cell.createAndFill()):m=d||(d=l.header_cell.createAndFill());for(let U=e.width;U<i;U++)g.push(m);t.insert(t.mapping.slice(s).map(f-1+n),g)}if(a>e.height){const h=[];for(let g=0,m=(e.height-1)*e.width;g<Math.max(e.width,i);g++){const U=g>=e.width?!1:r.nodeAt(e.map[m+g]).type==l.header_cell;h.push(U?d||(d=l.header_cell.createAndFill()):u||(u=l.cell.createAndFill()))}const f=l.row.create(null,At.from(h)),p=[];for(let g=e.height;g<a;g++)p.push(f);t.insert(t.mapping.slice(s).map(n+r.nodeSize-2),p)}return!!(u||d)}function rfe(t,e,r,n,i,a,s,o){if(s==0||s==e.height)return!1;let l=!1;for(let u=i;u<a;u++){const d=s*e.width+u,h=e.map[d];if(e.map[d-e.width]==h){l=!0;const f=r.nodeAt(h),{top:p,left:g}=e.findCell(h);t.setNodeMarkup(t.mapping.slice(o).map(h+n),null,{...f.attrs,rowspan:s-p}),t.insert(t.mapping.slice(o).map(e.positionAt(s,g,r)),f.type.createAndFill({...f.attrs,rowspan:p+f.attrs.rowspan-s})),u+=f.attrs.colspan-1}}return l}function nfe(t,e,r,n,i,a,s,o){if(s==0||s==e.width)return!1;let l=!1;for(let u=i;u<a;u++){const d=u*e.width+s,h=e.map[d];if(e.map[d-1]==h){l=!0;const f=r.nodeAt(h),p=e.colCount(h),g=t.mapping.slice(o).map(h+n);t.setNodeMarkup(g,null,a5(f.attrs,s-p,f.attrs.colspan-(s-p))),t.insert(g+f.nodeSize,f.type.createAndFill(a5(f.attrs,0,s-p))),u+=f.attrs.rowspan-1}}return l}function ife(t,e,r,n,i){let a=r?t.doc.nodeAt(r-1):t.doc;if(!a)throw new Error("No table found");let s=Fa.get(a);const{top:o,left:l}=n,u=l+i.width,d=o+i.height,h=t.tr;let f=0;function p(){if(a=r?h.doc.nodeAt(r-1):h.doc,!a)throw new Error("No table found");s=Fa.get(a),f=h.mapping.maps.length}xRt(h,s,a,r,u,d,f)&&p(),rfe(h,s,a,r,l,u,o,f)&&p(),rfe(h,s,a,r,l,u,d,f)&&p(),nfe(h,s,a,r,o,d,l,f)&&p(),nfe(h,s,a,r,o,d,u,f)&&p();for(let g=o;g<d;g++){const m=s.positionAt(g,l,a),U=s.positionAt(g,u,a);h.replace(h.mapping.slice(f).map(m+r),h.mapping.slice(f).map(U+r),new tr(i.rows[g-o],0,0))}p(),h.setSelection(new Wi(h.doc.resolve(r+s.positionAt(o,l,a)),h.doc.resolve(r+s.positionAt(d-1,u-1,a)))),e(h)}const wRt=RJ({ArrowLeft:Xk("horiz",-1),ArrowRight:Xk("horiz",1),ArrowUp:Xk("vert",-1),ArrowDown:Xk("vert",1),"Shift-ArrowLeft":Kk("horiz",-1),"Shift-ArrowRight":Kk("horiz",1),"Shift-ArrowUp":Kk("vert",-1),"Shift-ArrowDown":Kk("vert",1),Backspace:Yk,"Mod-Backspace":Yk,Delete:Yk,"Mod-Delete":Yk});function YA(t,e,r){return r.eq(t.selection)?!1:(e&&e(t.tr.setSelection(r).scrollIntoView()),!0)}function Xk(t,e){return(r,n,i)=>{if(!i)return!1;const a=r.selection;if(a instanceof Wi)return YA(r,n,Vr.near(a.$headCell,e));if(t!="horiz"&&!a.empty)return!1;const s=dEe(i,t,e);if(s==null)return!1;if(t=="horiz")return YA(r,n,Vr.near(r.doc.resolve(a.head+e),e));{const o=r.doc.resolve(s),l=iEe(o,t,e);let u;return l?u=Vr.near(l,1):e<0?u=Vr.near(r.doc.resolve(o.before(-1)),-1):u=Vr.near(r.doc.resolve(o.after(-1)),1),YA(r,n,u)}}}function Kk(t,e){return(r,n,i)=>{if(!i)return!1;const a=r.selection;let s;if(a instanceof Wi)s=a;else{const l=dEe(i,t,e);if(l==null)return!1;s=new Wi(r.doc.resolve(l))}const o=iEe(s.$headCell,t,e);return o?YA(r,n,new Wi(s.$anchorCell,o)):!1}}function TRt(t,e){const r=t.state.doc,n=i5(r.resolve(e));return n?(t.dispatch(t.state.tr.setSelection(new Wi(n))),!0):!1}function CRt(t,e,r){if(!Qd(t.state))return!1;let n=yRt(r);const i=t.state.selection;if(i instanceof Wi){n||(n={width:1,height:1,rows:[At.from(WW(tl(t.state.schema).cell,r))]});const a=i.$anchorCell.node(-1),s=i.$anchorCell.start(-1),o=Fa.get(a).rectBetween(i.$anchorCell.pos-s,i.$headCell.pos-s);return n=vRt(n,o.right-o.left,o.bottom-o.top),ife(t.state,t.dispatch,s,o,n),!0}else if(n){const a=FD(t.state),s=a.start(-1);return ife(t.state,t.dispatch,s,Fa.get(a.node(-1)).findCell(a.pos-s),n),!0}else return!1}function SRt(t,e){var r;if(e.button!=0||e.ctrlKey||e.metaKey)return;const n=afe(t,e.target);let i;if(e.shiftKey&&t.state.selection instanceof Wi)a(t.state.selection.$anchorCell,e),e.preventDefault();else if(e.shiftKey&&n&&(i=i5(t.state.selection.$anchor))!=null&&((r=Z$(t,e))===null||r===void 0?void 0:r.pos)!=i.pos)a(i,e),e.preventDefault();else if(!n)return;function a(l,u){let d=Z$(t,u);const h=ag.getState(t.state)==null;if(!d||!gee(l,d))if(h)d=l;else return;const f=new Wi(l,d);if(h||!t.state.selection.eq(f)){const p=t.state.tr.setSelection(f);h&&p.setMeta(ag,l.pos),t.dispatch(p)}}function s(){t.root.removeEventListener("mouseup",s),t.root.removeEventListener("dragstart",s),t.root.removeEventListener("mousemove",o),ag.getState(t.state)!=null&&t.dispatch(t.state.tr.setMeta(ag,-1))}function o(l){const u=l,d=ag.getState(t.state);let h;if(d!=null)h=t.state.doc.resolve(d);else if(afe(t,u.target)!=n&&(h=Z$(t,e),!h))return s();h&&a(h,u)}t.root.addEventListener("mouseup",s),t.root.addEventListener("dragstart",s),t.root.addEventListener("mousemove",o)}function dEe(t,e,r){if(!(t.state.selection instanceof yr))return null;const{$head:n}=t.state.selection;for(let i=n.depth-1;i>=0;i--){const a=n.node(i);if((r<0?n.index(i):n.indexAfter(i))!=(r<0?0:a.childCount))return null;if(a.type.spec.tableRole=="cell"||a.type.spec.tableRole=="header_cell"){const s=n.before(i),o=e=="vert"?r>0?"down":"up":r>0?"right":"left";return t.endOfTextblock(o)?s:null}}return null}function afe(t,e){for(;e&&e!=t.dom;e=e.parentNode)if(e.nodeName=="TD"||e.nodeName=="TH")return e;return null}function Z$(t,e){const r=t.posAtCoords({left:e.clientX,top:e.clientY});if(!r)return null;let{inside:n,pos:i}=r;return n>=0&&i5(t.state.doc.resolve(n))||i5(t.state.doc.resolve(i))}var kRt=class{constructor(e,r){this.node=e,this.defaultCellMinWidth=r,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table")),this.table.style.setProperty("--default-cell-min-width",`${r}px`),this.colgroup=this.table.appendChild(document.createElement("colgroup")),qW(e,this.colgroup,this.table,r),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(e){return e.type!=this.node.type?!1:(this.node=e,qW(e,this.colgroup,this.table,this.defaultCellMinWidth),!0)}ignoreMutation(e){return e.type=="attributes"&&(e.target==this.table||this.colgroup.contains(e.target))}};function qW(t,e,r,n,i,a){let s=0,o=!0,l=e.firstChild;const u=t.firstChild;if(u){for(let h=0,f=0;h<u.childCount;h++){const{colspan:p,colwidth:g}=u.child(h).attrs;for(let m=0;m<p;m++,f++){const U=i==f?a:g&&g[m],y=U?U+"px":"";if(s+=U||n,U||(o=!1),l)l.style.width!=y&&(l.style.width=y),l=l.nextSibling;else{const b=document.createElement("col");b.style.width=y,e.appendChild(b)}}}for(;l;){var d;const h=l.nextSibling;(d=l.parentNode)===null||d===void 0||d.removeChild(l),l=h}o?(r.style.width=s+"px",r.style.minWidth=""):(r.style.width="",r.style.minWidth=s+"px")}}const Vc=new Mi("tableColumnResizing");function ERt({handleWidth:t=5,cellMinWidth:e=25,defaultCellMinWidth:r=100,View:n=kRt,lastColumnResizable:i=!0}={}){const a=new ci({key:Vc,state:{init(s,o){var l;const u=(l=a.spec)===null||l===void 0||(l=l.props)===null||l===void 0?void 0:l.nodeViews,d=tl(o.schema).table.name;return n&&u&&(u[d]=(h,f)=>new n(h,r,f)),new ARt(-1,!1)},apply(s,o){return o.apply(s)}},props:{attributes:s=>{const o=Vc.getState(s);return o&&o.activeHandle>-1?{class:"resize-cursor"}:{}},handleDOMEvents:{mousemove:(s,o)=>{MRt(s,o,t,i)},mouseleave:s=>{RRt(s)},mousedown:(s,o)=>{IRt(s,o,e,r)}},decorations:s=>{const o=Vc.getState(s);if(o&&o.activeHandle>-1)return PRt(s,o.activeHandle)},nodeViews:{}}});return a}var ARt=class XA{constructor(e,r){this.activeHandle=e,this.dragging=r}apply(e){const r=this,n=e.getMeta(Vc);if(n&&n.setHandle!=null)return new XA(n.setHandle,!1);if(n&&n.setDragging!==void 0)return new XA(r.activeHandle,n.setDragging);if(r.activeHandle>-1&&e.docChanged){let i=e.mapping.map(r.activeHandle,-1);return GW(e.doc.resolve(i))||(i=-1),new XA(i,r.dragging)}return r}};function MRt(t,e,r,n){if(!t.editable)return;const i=Vc.getState(t.state);if(i&&!i.dragging){const a=NRt(e.target);let s=-1;if(a){const{left:o,right:l}=a.getBoundingClientRect();e.clientX-o<=r?s=sfe(t,e,"left",r):l-e.clientX<=r&&(s=sfe(t,e,"right",r))}if(s!=i.activeHandle){if(!n&&s!==-1){const o=t.state.doc.resolve(s),l=o.node(-1),u=Fa.get(l),d=o.start(-1);if(u.colCount(o.pos-d)+o.nodeAfter.attrs.colspan-1==u.width-1)return}hEe(t,s)}}}function RRt(t){if(!t.editable)return;const e=Vc.getState(t.state);e&&e.activeHandle>-1&&!e.dragging&&hEe(t,-1)}function IRt(t,e,r,n){var i;if(!t.editable)return!1;const a=(i=t.dom.ownerDocument.defaultView)!==null&&i!==void 0?i:window,s=Vc.getState(t.state);if(!s||s.activeHandle==-1||s.dragging)return!1;const o=t.state.doc.nodeAt(s.activeHandle),l=LRt(t,s.activeHandle,o.attrs);t.dispatch(t.state.tr.setMeta(Vc,{setDragging:{startX:e.clientX,startWidth:l}}));function u(h){a.removeEventListener("mouseup",u),a.removeEventListener("mousemove",d);const f=Vc.getState(t.state);f!=null&&f.dragging&&(ORt(t,f.activeHandle,ofe(f.dragging,h,r)),t.dispatch(t.state.tr.setMeta(Vc,{setDragging:null})))}function d(h){if(!h.which)return u(h);const f=Vc.getState(t.state);if(f&&f.dragging){const p=ofe(f.dragging,h,r);lfe(t,f.activeHandle,p,n)}}return lfe(t,s.activeHandle,l,n),a.addEventListener("mouseup",u),a.addEventListener("mousemove",d),e.preventDefault(),!0}function LRt(t,e,{colspan:r,colwidth:n}){const i=n&&n[n.length-1];if(i)return i;const a=t.domAtPos(e);let s=a.node.childNodes[a.offset].offsetWidth,o=r;if(n)for(let l=0;l<r;l++)n[l]&&(s-=n[l],o--);return s/o}function NRt(t){for(;t&&t.nodeName!="TD"&&t.nodeName!="TH";)t=t.classList&&t.classList.contains("ProseMirror")?null:t.parentNode;return t}function sfe(t,e,r,n){const i=r=="right"?-n:n,a=t.posAtCoords({left:e.clientX+i,top:e.clientY});if(!a)return-1;const{pos:s}=a,o=i5(t.state.doc.resolve(s));if(!o)return-1;if(r=="right")return o.pos;const l=Fa.get(o.node(-1)),u=o.start(-1),d=l.map.indexOf(o.pos-u);return d%l.width==0?-1:u+l.map[d-1]}function ofe(t,e,r){const n=e.clientX-t.startX;return Math.max(r,t.startWidth+n)}function hEe(t,e){t.dispatch(t.state.tr.setMeta(Vc,{setHandle:e}))}function ORt(t,e,r){const n=t.state.doc.resolve(e),i=n.node(-1),a=Fa.get(i),s=n.start(-1),o=a.colCount(n.pos-s)+n.nodeAfter.attrs.colspan-1,l=t.state.tr;for(let u=0;u<a.height;u++){const d=u*a.width+o;if(u&&a.map[d]==a.map[d-a.width])continue;const h=a.map[d],f=i.nodeAt(h).attrs,p=f.colspan==1?0:o-a.colCount(h);if(f.colwidth&&f.colwidth[p]==r)continue;const g=f.colwidth?f.colwidth.slice():DRt(f.colspan);g[p]=r,l.setNodeMarkup(s+h,null,{...f,colwidth:g})}l.docChanged&&t.dispatch(l)}function lfe(t,e,r,n){const i=t.state.doc.resolve(e),a=i.node(-1),s=i.start(-1),o=Fa.get(a).colCount(i.pos-s)+i.nodeAfter.attrs.colspan-1;let l=t.domAtPos(i.start(-1)).node;for(;l&&l.nodeName!="TABLE";)l=l.parentNode;l&&qW(a,l.firstChild,l,n,o,r)}function DRt(t){return Array(t).fill(0)}function PRt(t,e){const r=[],n=t.doc.resolve(e),i=n.node(-1);if(!i)return qn.empty;const a=Fa.get(i),s=n.start(-1),o=a.colCount(n.pos-s)+n.nodeAfter.attrs.colspan-1;for(let u=0;u<a.height;u++){const d=o+u*a.width;if((o==a.width-1||a.map[d]!=a.map[d+1])&&(u==0||a.map[d]!=a.map[d-a.width])){var l;const h=a.map[d],f=s+h+i.nodeAt(h).nodeSize-1,p=document.createElement("div");p.className="column-resize-handle",!((l=Vc.getState(t))===null||l===void 0)&&l.dragging&&r.push(Js.node(s+h,s+h+i.nodeAt(h).nodeSize,{class:"column-resize-dragging"})),r.push(Js.widget(f,p))}}return qn.create(t.doc,r)}function _Rt({allowTableNodeSelection:t=!1}={}){return new ci({key:ag,state:{init(){return null},apply(e,r){const n=e.getMeta(ag);if(n!=null)return n==-1?null:n;if(r==null||!e.docChanged)return r;const{deleted:i,pos:a}=e.mapping.mapResult(r);return i?null:a}},props:{decorations:KMt,handleDOMEvents:{mousedown:SRt},createSelectionBetween(e){return ag.getState(e.state)!=null?e.state.selection:null},handleTripleClick:TRt,handleKeyDown:wRt,handlePaste:CRt},appendTransaction(e,r,n){return QMt(n,lEe(n,r),t)}})}function ET(t){return t==="left"||t==="right"||t==="center"?t:null}function BRt(t){const e=(t.style.textAlign||"").trim().toLowerCase(),r=(t.getAttribute("align")||"").trim().toLowerCase();return ET(e||r)}function $Rt(t){return ET(t==null?void 0:t.align)}function fEe(){return{default:null,parseHTML:t=>BRt(t),renderHTML:t=>{const e=ET(t.align);return DUt(e)?{style:`text-align: ${e}`}:{}}}}function FRt(t){var e;const r=t.parentElement,n=t.closest("table");if(!r||!n)return null;const i=Array.from(r.children).indexOf(t),a=(e=n.querySelectorAll("colgroup > col")[i])===null||e===void 0?void 0:e.getAttribute("width");return a?[parseInt(a,10)]:null}function pEe(t){const e=t.getAttribute("colwidth");return e?e.split(",").map(r=>parseInt(r,10)):FRt(t)}const zRt=/[ \t\r\n\f]+/g;function gEe(t){var e;return t.children.length>0?!1:((e=t.textContent)!==null&&e!==void 0?e:"").replace(zRt,"")===""}function mEe(t){const e=t.createAndFill();if(!e)throw new Error(`[tiptap error]: "${t.name}" has no default content to backfill.`);return e.content}function FI(t,e,r){if(!(r in e))return;const n=e[r];(n===1||n==="1"||n===null||n===void 0)&&delete t[r]}const HRt=ri.create({name:"tableCell",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:pEe},align:fEe()}},tableRole:"cell",isolating:!0,parseHTML(){return[{tag:"td",getAttrs:t=>gEe(t)?{}:!1,getContent:(t,e)=>mEe(e.nodes[this.name])},{tag:"td"}]},renderHTML({HTMLAttributes:t}){const e=yn(this.options.HTMLAttributes,t);return FI(e,t,"colspan"),FI(e,t,"rowspan"),["td",e,0]}}),VRt=ri.create({name:"tableHeader",addOptions(){return{HTMLAttributes:{}}},content:"block+",addAttributes(){return{colspan:{default:1},rowspan:{default:1},colwidth:{default:null,parseHTML:pEe},align:fEe()}},tableRole:"header_cell",isolating:!0,parseHTML(){return[{tag:"th",getAttrs:t=>gEe(t)?{}:!1,getContent:(t,e)=>mEe(e.nodes[this.name])},{tag:"th"}]},renderHTML({HTMLAttributes:t}){const e=yn(this.options.HTMLAttributes,t);return FI(e,t,"colspan"),FI(e,t,"rowspan"),["th",e,0]}}),GRt=ri.create({name:"tableRow",addOptions(){return{HTMLAttributes:{}}},content:"(tableCell | tableHeader)*",tableRole:"row",parseHTML(){return[{tag:"tr"}]},renderHTML({HTMLAttributes:t}){return["tr",yn(this.options.HTMLAttributes,t),0]}});function jW(t,e){return e?["width",`${Math.max(e,t)}px`]:["min-width",`${t}px`]}function cfe(t,e,r,n,i,a){let s=0,o=!0,l=e.firstChild;const u=t.firstChild;if(u!==null)for(let f=0,p=0;f<u.childCount;f+=1){const{colspan:g,colwidth:m}=u.child(f).attrs;for(let U=0;U<g;U+=1,p+=1){const y=i===p?a:m&&m[U],b=y?`${y}px`:"";if(s+=y||n,y||(o=!1),l){if(l.style.width!==b){const[v,w]=jW(n,y);l.style.setProperty(v,w)}l=l.nextSibling}else{const v=document.createElement("col"),[w,T]=jW(n,y);v.style.setProperty(w,T),e.appendChild(v)}}}for(;l;){var d;const f=l.nextSibling;(d=l.parentNode)===null||d===void 0||d.removeChild(l),l=f}const h=t.attrs.style&&typeof t.attrs.style=="string"&&/\bwidth\s*:/i.test(t.attrs.style);o&&!h?(r.style.width=`${s}px`,r.style.minWidth=""):(r.style.width="",r.style.minWidth=`${s}px`)}var WRt=class{constructor(t,e,r,n={}){this.node=t,this.cellMinWidth=e,this.dom=document.createElement("div"),this.dom.className="tableWrapper",this.table=this.dom.appendChild(document.createElement("table"));for(const[i,a]of Object.entries(n))a!=null&&(i==="style"?this.table.style.cssText=String(a):this.table.setAttribute(i,String(a)));t.attrs.style&&(this.table.style.cssText=t.attrs.style),this.colgroup=this.table.appendChild(document.createElement("colgroup")),cfe(t,this.colgroup,this.table,e),this.contentDOM=this.table.appendChild(document.createElement("tbody"))}update(t){return t.type!==this.node.type?!1:(this.node=t,cfe(t,this.colgroup,this.table,this.cellMinWidth),!0)}ignoreMutation(t){const e=t.target,r=this.dom.contains(e),n=this.contentDOM.contains(e);return!!(r&&!n&&(t.type==="attributes"||t.type==="childList"||t.type==="characterData"))}};function qRt(t,e,r,n){let i=0,a=!0;const s=[],o=t.firstChild;if(!o)return{};for(let d=0,h=0;d<o.childCount;d+=1){const{colspan:f,colwidth:p}=o.child(d).attrs;for(let g=0;g<f;g+=1,h+=1){const m=r===h?n:p&&p[g];i+=m||e,m||(a=!1);const[U,y]=jW(e,m);s.push(["col",{style:`${U}: ${y}`}])}}const l=a?`${i}px`:"",u=a?"":`${i}px`;return{colgroup:["colgroup",{},...s],tableWidth:l,tableMinWidth:u}}function ufe(t,e){return t.createAndFill()}function jRt(t){if(t.cached.tableNodeTypes)return t.cached.tableNodeTypes;const e={};return Object.keys(t.nodes).forEach(r=>{const n=t.nodes[r];n.spec.tableRole&&(e[n.spec.tableRole]=n)}),t.cached.tableNodeTypes=e,e}function YRt(t,e,r,n,i){const a=jRt(t),s=[],o=[];for(let u=0;u<r;u+=1){const d=ufe(a.cell);if(d&&o.push(d),n){const h=ufe(a.header_cell);h&&s.push(h)}}const l=[];for(let u=0;u<e;u+=1)l.push(a.row.createChecked(null,n&&u===0?s:o));return a.table.createChecked(null,l)}function UEe(t){return t instanceof Wi}const Zk=({editor:t})=>{const{selection:e}=t.state;if(!UEe(e))return!1;let r=0;const n=oT(e.ranges[0].$from,i=>i.type.name==="table");return n==null||n.node.descendants(i=>{if(i.type.name==="table")return!1;["tableCell","tableHeader"].includes(i.type.name)&&(r+=1)}),r!==e.ranges.length?!1:(t.commands.deleteTable(),!0)};function dfe(t,e){const r=t.mapping.map(e),n=oT(t.selection.$from,s=>s.type.name==="table");if((n==null?void 0:n.pos)===r)return;const i=t.doc.nodeAt(r);if(!i)return;const a=r+i.nodeSize-1;t.setSelection(yr.near(t.doc.resolve(a),-1))}function XRt(t){let e="",r=0;for(;r<t.length;){if(t[r]==="\\"&&r+1<t.length){e+=t[r]+t[r+1],r+=2;continue}if(t[r]!=="`"){e+=t[r++];continue}let n=0;for(;r+n<t.length&&t[r+n]==="`";)n+=1;let i=r+n,a=!1;for(;i<t.length;){if(t[i]!=="`"){i+=1;continue}let s=0;for(;i+s<t.length&&t[i+s]==="`";)s+=1;if(s===n){const o=t.slice(r+n,i);e+=t.slice(r,r+n)+o.replace(/\\\||\|/g,l=>l==="|"?"\\|":l)+t.slice(i,i+n),r=i+n,a=!0;break}i+=s}a||(e+=t.slice(r,r+n),r+=n)}return e}function KRt(t){return t.split(`
`).map(e=>!e.includes("|")||!e.includes("`")?e:XRt(e)).join(`
`)}function ZRt(t){return(t||"").replaceAll(""," ").replace(/\s+/g," ").trim()}function hfe(t,e){return e?t.split(e).join(`
`):t}function JRt(t){return t.replace(/\\.|\|/g,e=>e==="|"?"\\|":e)}function QRt(t,e,r={}){if(!t||!t.content||t.content.length===0)return"";const n=[];t.content.forEach(f=>{const p=[];f.content&&f.content.forEach(g=>{let m="";g.content&&Array.isArray(g.content)&&g.content.length>1?m=g.content.map(v=>hfe(e.renderChildren(v),r.cellLineSeparator)).join(`
`):m=hfe(g.content?e.renderChildren(g.content):"",r.cellLineSeparator);const U=JRt(ZRt(m.replace(/[ \t]*\r?\n[ \t]*/g,"<br>"))),y=g.type==="tableHeader",b=$Rt(g.attrs);p.push({text:U,isHeader:y,align:b})}),n.push(p)});const i=n.reduce((f,p)=>Math.max(f,p.length),0);if(i===0)return"";const a=Array.from({length:i}).fill(0);n.forEach(f=>{for(let g=0;g<i;g+=1){var p;const m=(((p=f[g])===null||p===void 0?void 0:p.text)||"").length;m>a[g]&&(a[g]=m),a[g]<3&&(a[g]=3)}});const s=(f,p)=>f+" ".repeat(Math.max(0,p-f.length)),o=n[0],l=o.some(f=>f.isHeader),u=Array.from({length:i}).fill(null);n.forEach(f=>{for(let g=0;g<i;g+=1){var p;!u[g]&&(!((p=f[g])===null||p===void 0)&&p.align)&&(u[g]=f[g].align)}});let d=`
`;const h=Array.from({length:i}).map((f,p)=>l&&o[p]&&o[p].text||"");return d+=`| ${h.map((f,p)=>s(f,a[p])).join(" | ")} |
`,d+=`| ${a.map((f,p)=>{const g=Math.max(3,f),m=u[p];return m==="left"?`:${"-".repeat(g)}`:m==="right"?`${"-".repeat(g)}:`:m==="center"?`:${"-".repeat(g)}:`:"-".repeat(g)}).join(" | ")} |
`,(l?n.slice(1):n).forEach(f=>{d+=`| ${Array.from({length:i}).fill(0).map((p,g)=>s(f[g]&&f[g].text||"",a[g])).join(" | ")} |
`}),d}const eIt=new Mi("preserveCellSelectionOnContextMenu");function tIt(t,e){const r=t.posAtCoords({left:e.clientX,top:e.clientY});if(r)return r.pos;if(!(e.target instanceof Node))return null;try{return t.posAtDOM(e.target,0)}catch{return null}}function rIt(t,e){let r=!1;return t.forEachCell((n,i)=>{e>=i&&e<i+n.nodeSize&&(r=!0)}),r}function nIt(){return new ci({key:eIt,props:{handleDOMEvents:{mousedown(t,e){if(e.button!==2)return!1;const{selection:r}=t.state;if(!UEe(r)||r.ranges.length<2)return!1;const n=tIt(t,e);return n==null||!rIt(r,n)?!1:(e.preventDefault(),!0)}}}})}const iIt=ri.create({name:"table",addOptions(){return{HTMLAttributes:{},resizable:!1,renderWrapper:!1,handleWidth:5,cellMinWidth:25,View:WRt,lastColumnResizable:!0,allowTableNodeSelection:!1}},content:"tableRow+",tableRole:"table",isolating:!0,group:"block",parseHTML(){return[{tag:"table"}]},renderHTML({node:t,HTMLAttributes:e}){const{colgroup:r,tableWidth:n,tableMinWidth:i}=qRt(t,this.options.cellMinWidth),a=e.style;function s(){return a||(n?`width: ${n}`:`min-width: ${i}`)}const o=["table",yn(this.options.HTMLAttributes,e,{style:s()}),r,["tbody",0]];return this.options.renderWrapper?["div",{class:"tableWrapper"},o]:o},parseMarkdown:(t,e)=>{const r=[],n=Array.isArray(t.align)?t.align:[];if(t.header){const i=[];t.header.forEach((a,s)=>{var o;const l=ET((o=n[s])!==null&&o!==void 0?o:a.align),u=l?{align:l}:{};i.push(e.createNode("tableHeader",u,[{type:"paragraph",content:e.parseInline(a.tokens)}]))}),r.push(e.createNode("tableRow",{},i))}return t.rows&&t.rows.forEach(i=>{const a=[];i.forEach((s,o)=>{var l;const u=ET((l=n[o])!==null&&l!==void 0?l:s.align),d=u?{align:u}:{};a.push(e.createNode("tableCell",d,[{type:"paragraph",content:e.parseInline(s.tokens)}]))}),r.push(e.createNode("tableRow",{},a))}),e.createNode("table",void 0,r)},renderMarkdown:(t,e)=>QRt(t,e),markdownTokenizer:{name:"table",level:"block",start:t=>{const e=t.split(`
`);if(e.length<2)return-1;const r=e[1];return!/^[ \t|:]*-[ \t|:-]*$/.test(r)||!r.includes("|")?-1:e[0].includes("|")?0:-1},tokenize(t,e,r){const n=t.indexOf(`
`),i=n>=0?t.slice(0,n):t,a=i.split(`
`);if(a.length<2)return;const s=a[1];if(!/^[ \t|:]*-[ \t|:-]*$/.test(s)||!s.includes("|"))return;const o=KRt(i);if(o===i)return;const l=r.blockTokens(o)[0];if((l==null?void 0:l.type)!=="table"||!l.raw)return;const u=l.raw.split(`
`).length,d=t.split(`
`).slice(0,u).join(`
`);return{...l,raw:d}}},addCommands(){return{insertTable:({rows:t=3,cols:e=3,withHeaderRow:r=!0}={})=>({tr:n,dispatch:i,editor:a})=>{const s=YRt(a.schema,t,e,r);if(i){const o=n.selection.from+1;n.replaceSelectionWith(s).scrollIntoView().setSelection(yr.near(n.doc.resolve(o)))}return!0},addColumnBefore:()=>({state:t,dispatch:e})=>rRt(t,e),addColumnAfter:()=>({state:t,dispatch:e})=>nRt(t,e),deleteColumn:()=>({state:t,dispatch:e})=>{const r=oT(t.selection.$from,n=>n.type.name==="table");return aRt(t,e&&(n=>{r&&dfe(n,r.pos),e(n)}))},addRowBefore:()=>({state:t,dispatch:e})=>oRt(t,e),addRowAfter:()=>({state:t,dispatch:e})=>lRt(t,e),deleteRow:()=>({state:t,dispatch:e})=>{const r=oT(t.selection.$from,n=>n.type.name==="table");return uRt(t,e&&(n=>{r&&dfe(n,r.pos),e(n)}))},deleteTable:()=>({state:t,dispatch:e})=>URt(t,e),mergeCells:()=>({state:t,dispatch:e})=>Jhe(t,e),splitCell:()=>({state:t,dispatch:e})=>Qhe(t,e),toggleHeaderColumn:()=>({state:t,dispatch:e})=>kT("column")(t,e),toggleHeaderRow:()=>({state:t,dispatch:e})=>kT("row")(t,e),toggleHeaderCell:()=>({state:t,dispatch:e})=>gRt(t,e),mergeOrSplit:()=>({state:t,dispatch:e})=>Jhe(t,e)?!0:Qhe(t,e),setCellAttribute:(t,e)=>({state:r,dispatch:n})=>fRt(t,e)(r,n),goToNextCell:()=>({state:t,dispatch:e})=>tfe(1)(t,e),goToPreviousCell:()=>({state:t,dispatch:e})=>tfe(-1)(t,e),fixTables:()=>({state:t,dispatch:e})=>(e&&lEe(t),!0),setCellSelection:t=>({tr:e,dispatch:r})=>{if(r){const n=Wi.create(e.doc,t.anchorCell,t.headCell);e.setSelection(n)}return!0}}},addKeyboardShortcuts(){return{Tab:()=>this.editor.commands.goToNextCell()?!0:this.editor.can().addRowAfter()?this.editor.chain().addRowAfter().goToNextCell().run():!1,"Shift-Tab":()=>this.editor.commands.goToPreviousCell(),Backspace:Zk,"Mod-Backspace":Zk,Delete:Zk,"Mod-Delete":Zk}},addProseMirrorPlugins(){return[...this.options.resizable&&this.editor.isEditable?[ERt({handleWidth:this.options.handleWidth,cellMinWidth:this.options.cellMinWidth,defaultCellMinWidth:this.options.cellMinWidth,View:this.options.View,lastColumnResizable:this.options.lastColumnResizable})]:[],_Rt({allowTableNodeSelection:this.options.allowTableNodeSelection}),nIt()]},addNodeView(){const t=this.options.resizable&&this.editor.isEditable,e=this.options.View;return t||!e?null:({node:r,view:n,HTMLAttributes:i})=>{const a=yn(this.options.HTMLAttributes,i);return new e(r,this.options.cellMinWidth,n,a)}},extendNodeSchema(t){const e={name:t.name,options:t.options,storage:t.storage};return{tableRole:ni(mr(t,"tableRole",e))}}}),aIt=Oi.create({name:"tableKit",addExtensions(){const t=[];return this.options.table!==!1&&t.push(iIt.configure(this.options.table)),this.options.tableCell!==!1&&t.push(HRt.configure(this.options.tableCell)),this.options.tableHeader!==!1&&t.push(VRt.configure(this.options.tableHeader)),this.options.tableRow!==!1&&t.push(GRt.configure(this.options.tableRow)),t}}),yEe=t=>t.map(e=>e.type==="html"&&/^<br\s*\/?>$/i.test(e.raw||"")?{type:"br",raw:e.raw}:e.tokens?{...e,tokens:yEe(e.tokens)}:e),ffe=aIt.extend({addExtensions(){var t;return(((t=this.parent)==null?void 0:t.call(this))??[]).map(e=>{if(e.name!=="table")return e;const r=e.config.parseMarkdown;return e.extend({parseMarkdown(n,i){var s,o;const a=l=>({...l,tokens:yEe(l.tokens)});return r.call(this,{...n,header:(s=n.header)==null?void 0:s.map(a),rows:(o=n.rows)==null?void 0:o.map(l=>l.map(a))},i)}})})}}),bEe=new WeakSet,vEe=new WeakSet;function em(t){const e=t;return bEe.add(e),e}function YW(t){return Array.isArray(t)&&bEe.has(t)}function xEe(t){return t.flatMap(e=>e==null?[]:Array.isArray(e)&&vEe.has(e)&&!YW(e)?xEe(e):[e])}function sIt(t,e){if(t==="slot")return 0;if(t instanceof Function){const i=t(e);return Array.isArray(i)&&!YW(i)&&!vEe.has(i)?em(i):i}const{children:r,...n}=e??{};if(t==="svg")throw new Error("SVG elements are not supported in the JSX syntax, use the array syntax instead");if(Array.isArray(r)){if(YW(r))return em([t,n,r]);if(r.length===0)return em([t,n]);const i=xEe(r);return i.length===0?em([t,n]):em([t,n,...i])}return r!=null?em([t,n,r]):em([t,n])}const zI=(t,e)=>sIt(t,e),oIt=(t,e)=>{var r;const{state:n}=t,{selection:i}=n;if(!i.empty)return!1;const{$from:a}=i;if(a.parentOffset!==0)return!1;const s=a.depth-1;if(s<0)return!1;const o=a.node(s),l=a.index(s);if(l===0)return!1;if(o.type===e)return t.commands.lift(e.name);const u=o.child(l-1);if(u.type!==e||!(!((r=u.lastChild)===null||r===void 0)&&r.isTextblock))return!1;const d=a.before()-1-1;return t.commands.command(({tr:h,dispatch:f})=>{if(!f)return!0;const p=a.parent.content,g=new tr(p,0,0);return h.replace(d,a.after(),g),h.setSelection(yr.create(h.doc,d+p.size)),h.scrollIntoView(),f(h),!0})},lIt=/^\s*>\s$/,cIt=ri.create({name:"blockquote",addOptions(){return{HTMLAttributes:{}}},content:"block+",group:"block",defining:!0,parseHTML(){return[{tag:"blockquote"}]},renderHTML({HTMLAttributes:t}){return zI("blockquote",{...yn(this.options.HTMLAttributes,t),children:zI("slot",{})})},parseMarkdown:(t,e)=>{var r;const n=(r=e.parseBlockChildren)!==null&&r!==void 0?r:e.parseChildren;return e.createNode("blockquote",void 0,n(t.tokens||[]))},renderMarkdown:(t,e)=>{if(!t.content)return"";const r=">",n=[];return t.content.forEach((i,a)=>{var s,o;const l=((s=(o=e.renderChild)===null||o===void 0?void 0:o.call(e,i,a))!==null&&s!==void 0?s:e.renderChildren([i])).split(`
`).map(u=>u.trim()===""?r:`${r} ${u}`);n.push(l.join(`
`))}),n.join(`
${r}
`)},addCommands(){return{setBlockquote:()=>({commands:t})=>t.wrapIn(this.name),toggleBlockquote:()=>({commands:t})=>t.toggleWrap(this.name),unsetBlockquote:()=>({commands:t})=>t.lift(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-b":()=>this.editor.commands.toggleBlockquote(),Backspace:()=>oIt(this.editor,this.type)}},addInputRules(){return[Pv({find:lIt,type:this.type})]}}),uIt=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,dIt=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,hIt=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,fIt=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,pIt=np.create({name:"bold",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"strong"},{tag:"b",getAttrs:t=>t.style.fontWeight!=="normal"&&null},{style:"font-weight=400",clearMark:t=>t.type.name===this.name},{style:"font-weight",getAttrs:t=>/^(bold(er)?|[5-9]\d{2,})$/.test(t)&&null}]},renderHTML({HTMLAttributes:t}){return zI("strong",{...yn(this.options.HTMLAttributes,t),children:zI("slot",{})})},markdownTokenName:"strong",parseMarkdown:(t,e)=>e.applyMark("bold",e.parseInline(t.tokens||[])),markdownOptions:{htmlReopen:{open:"<strong>",close:"</strong>"}},renderMarkdown:(t,e)=>`**${e.renderChildren(t)}**`,addCommands(){return{setBold:()=>({commands:t})=>t.setMark(this.name),toggleBold:()=>({commands:t})=>t.toggleMark(this.name),unsetBold:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return[Fg({find:uIt,type:this.type}),Fg({find:hIt,type:this.type})]},addPasteRules(){return[jh({find:dIt,type:this.type}),jh({find:fIt,type:this.type})]}}),gIt=t=>{const e=/`([^`]+)`(?!`)$/.exec(t);return!e||e.index>0&&t[e.index-1]==="`"?null:{index:e.index,text:e[0],replaceWith:e[1]}},mIt=t=>{const e=/`([^`]+)`(?!`)/g,r=[];let n;for(;(n=e.exec(t))!==null;)n.index>0&&t[n.index-1]==="`"||r.push({index:n.index,text:n[0],replaceWith:n[1]});return r};function UIt(t){const e=new Set((t.match(/`+/g)||[]).map(n=>n.length));let r=1;for(;e.has(r);)r+=1;return r}const yIt=np.create({name:"code",addOptions(){return{HTMLAttributes:{}}},excludes:"_",code:!0,exitable:!0,parseHTML(){return[{tag:"code"}]},renderHTML({HTMLAttributes:t}){return["code",yn(this.options.HTMLAttributes,t),0]},markdownTokenName:"codespan",parseMarkdown:(t,e)=>e.applyMark("code",[{type:"text",text:t.text||""}]),renderMarkdown:(t,e,r)=>{var n;if(!t.content)return"";const i=typeof(r==null||(n=r.meta)===null||n===void 0?void 0:n.markText)=="string"?r.meta.markText:"",a="`".repeat(UIt(i)),s=i.startsWith("`")||i.endsWith("`")?" ":"";return`${a}${s}${e.renderChildren(t.content)}${s}${a}`},addCommands(){return{setCode:()=>({commands:t})=>t.setMark(this.name),toggleCode:()=>({commands:t})=>t.toggleMark(this.name),unsetCode:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-e":()=>this.editor.commands.toggleCode()}},addInputRules(){return[Fg({find:gIt,type:this.type})]},addPasteRules(){return[jh({find:mIt,type:this.type})]}}),bIt=ri.create({name:"doc",topNode:!0,content:"block+",renderMarkdown:(t,e)=>t.content?e.renderChildren(t.content,`
`):""}),vIt=ri.create({name:"hardBreak",markdownTokenName:"br",addOptions(){return{keepMarks:!0,HTMLAttributes:{}}},inline:!0,group:"inline",selectable:!1,linebreakReplacement:!0,parseHTML(){return[{tag:"br"}]},renderHTML({HTMLAttributes:t}){return["br",yn(this.options.HTMLAttributes,t)]},renderText(){return`
`},renderMarkdown:()=>`
`,parseMarkdown:()=>({type:"hardBreak"}),addCommands(){return{setHardBreak:()=>({commands:t,chain:e,state:r,editor:n})=>t.first([()=>t.exitCode(),()=>t.command(()=>{const{selection:i,storedMarks:a}=r;if(i.$from.parent.type.spec.isolating)return!1;const{keepMarks:s}=this.options,{splittableMarks:o}=n.extensionManager,l=a||i.$to.parentOffset&&i.$from.marks();return e().insertContent({type:this.name}).command(({tr:u,dispatch:d})=>{if(d&&l&&s){const h=l.filter(f=>o.includes(f.type.name));u.ensureMarks(h)}return!0}).scrollIntoView().run()})])}},addKeyboardShortcuts(){return{"Mod-Enter":()=>this.editor.commands.setHardBreak(),"Shift-Enter":()=>this.editor.commands.setHardBreak()}}}),xIt=ri.create({name:"heading",addOptions(){return{levels:[1,2,3,4,5,6],HTMLAttributes:{}}},content:"inline*",group:"block",defining:!0,addAttributes(){return{level:{default:1,rendered:!1}}},parseHTML(){return this.options.levels.map(t=>({tag:`h${t}`,attrs:{level:t}}))},renderHTML({node:t,HTMLAttributes:e}){return[`h${this.options.levels.includes(t.attrs.level)?t.attrs.level:this.options.levels[0]}`,yn(this.options.HTMLAttributes,e),0]},parseMarkdown:(t,e)=>e.createNode("heading",{level:t.depth||1},e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>{var r;const n=!((r=t.attrs)===null||r===void 0)&&r.level?parseInt(t.attrs.level,10):1,i="#".repeat(n);return t.content?`${i} ${e.renderChildren(t.content)}`:""},addCommands(){return{setHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.setNode(this.name,t):!1,toggleHeading:t=>({commands:e})=>this.options.levels.includes(t.level)?e.toggleNode(this.name,"paragraph",t):!1}},addKeyboardShortcuts(){return this.options.levels.reduce((t,e)=>({...t,[`Mod-Alt-${e}`]:()=>this.editor.commands.toggleHeading({level:e})}),{})},addInputRules(){return this.options.levels.map(t=>MG({find:new RegExp(`^(#{${Math.min(...this.options.levels)},${t}})\\s$`),type:this.type,getAttributes:{level:t}}))}}),wIt=ri.create({name:"horizontalRule",addOptions(){return{HTMLAttributes:{},nextNodeType:"paragraph"}},group:"block",parseHTML(){return[{tag:"hr"}]},renderHTML({HTMLAttributes:t}){return["hr",yn(this.options.HTMLAttributes,t)]},markdownTokenName:"hr",parseMarkdown:(t,e)=>e.createNode("horizontalRule"),renderMarkdown:()=>"---",addCommands(){return{setHorizontalRule:()=>({chain:t,state:e})=>{if(!AUt(e,e.schema.nodes[this.name]))return!1;const{selection:r}=e,{$to:n}=r,i=t();return q4e(r)?i.insertContentAt(n.pos,{type:this.name}):i.insertContent({type:this.name}),i.command(({state:a,tr:s,dispatch:o})=>{if(o){const{$to:l}=s.selection,u=l.end();if(l.nodeAfter)l.nodeAfter.isTextblock?s.setSelection(yr.create(s.doc,l.pos+1)):l.nodeAfter.isBlock?s.setSelection(Nr.create(s.doc,l.pos)):s.setSelection(yr.create(s.doc,l.pos));else{const d=a.schema.nodes[this.options.nextNodeType]||l.parent.type.contentMatch.defaultType,h=d==null?void 0:d.create();h&&(s.insert(u,h),s.setSelection(yr.create(s.doc,u+1)))}s.scrollIntoView()}return!0}).run()}}},addInputRules(){return[a3e({find:/^(?:---|—-|___\s|\*\*\*\s)$/,type:this.type})]}}),TIt=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))$/,CIt=/(?:^|\s)(\*(?!\s+\*)((?:[^*]+))\*(?!\s+\*))/g,SIt=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))$/,kIt=/(?:^|\s)(_(?!\s+_)((?:[^_]+))_(?!\s+_))/g,EIt=np.create({name:"italic",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"em"},{tag:"i",getAttrs:t=>t.style.fontStyle!=="normal"&&null},{style:"font-style=normal",clearMark:t=>t.type.name===this.name},{style:"font-style=italic"}]},renderHTML({HTMLAttributes:t}){return["em",yn(this.options.HTMLAttributes,t),0]},addCommands(){return{setItalic:()=>({commands:t})=>t.setMark(this.name),toggleItalic:()=>({commands:t})=>t.toggleMark(this.name),unsetItalic:()=>({commands:t})=>t.unsetMark(this.name)}},markdownTokenName:"em",parseMarkdown:(t,e)=>e.applyMark("italic",e.parseInline(t.tokens||[])),markdownOptions:{htmlReopen:{open:"<em>",close:"</em>"}},renderMarkdown:(t,e)=>`*${e.renderChildren(t)}*`,addKeyboardShortcuts(){return{"Mod-i":()=>this.editor.commands.toggleItalic(),"Mod-I":()=>this.editor.commands.toggleItalic()}},addInputRules(){return[Fg({find:TIt,type:this.type}),Fg({find:SIt,type:this.type})]},addPasteRules(){return[jh({find:CIt,type:this.type}),jh({find:kIt,type:this.type})]}}),AIt="aaa1rp3bb0ott3vie4c1le2ogado5udhabi7c0ademy5centure6ountant0s9o1tor4d0s1ult4e0g1ro2tna4f0l1rica5g0akhan5ency5i0g1rbus3force5tel5kdn3l0ibaba4pay4lfinanz6state5y2sace3tom5m0azon4ericanexpress7family11x2fam3ica3sterdam8nalytics7droid5quan4z2o0l2partments8p0le4q0uarelle8r0ab1mco4chi3my2pa2t0e3s0da2ia2sociates9t0hleta5torney7u0ction5di0ble3o3spost5thor3o0s4w0s2x0a2z0ure5ba0by2idu3namex4d1k2r0celona5laycard4s5efoot5gains6seball5ketball8uhaus5yern5b0c1t1va3cg1n2d1e0ats2uty4er2rlin4st0buy5t2f1g1h0arti5i0ble3d1ke2ng0o3o1z2j1lack0friday9ockbuster8g1omberg7ue3m0s1w2n0pparibas9o0ats3ehringer8fa2m1nd2o0k0ing5sch2tik2on4t1utique6x2r0adesco6idgestone9oadway5ker3ther5ussels7s1t1uild0ers6siness6y1zz3v1w1y1z0h3ca0b1fe2l0l1vinklein9m0era3p2non3petown5ital0one8r0avan4ds2e0er0s4s2sa1e1h1ino4t0ering5holic7ba1n1re3c1d1enter4o1rn3f0a1d2g1h0anel2nel4rity4se2t2eap3intai5ristmas6ome4urch5i0priani6rcle4sco3tadel4i0c2y3k1l0aims4eaning6ick2nic1que6othing5ud3ub0med6m1n1o0ach3des3ffee4llege4ogne5m0mbank4unity6pany2re3uter5sec4ndos3struction8ulting7tact3ractors9oking4l1p2rsica5untry4pon0s4rses6pa2r0edit0card4union9icket5own3s1uise0s6u0isinella9v1w1x1y0mru3ou3z2dad1nce3ta1e1ing3sun4y2clk3ds2e0al0er2s3gree4livery5l1oitte5ta3mocrat6ntal2ist5si0gn4v2hl2iamonds6et2gital5rect0ory7scount3ver5h2y2j1k1m1np2o0cs1tor4g1mains5t1wnload7rive4tv2ubai3pont4rban5vag2r2z2earth3t2c0o2deka3u0cation8e1g1mail3erck5nergy4gineer0ing9terprises10pson4quipment8r0icsson6ni3s0q1tate5t1u0rovision8s2vents5xchange6pert3osed4ress5traspace10fage2il1rwinds6th3mily4n0s2rm0ers5shion4t3edex3edback6rrari3ero6i0delity5o2lm2nal1nce1ial7re0stone6mdale6sh0ing5t0ness6j1k1lickr3ghts4r2orist4wers5y2m1o0o0d1tball6rd1ex2sale4um3undation8x2r0ee1senius7l1ogans4ntier7tr2ujitsu5n0d2rniture7tbol5yi3ga0l0lery3o1up4me0s3p1rden4y2b0iz3d0n2e0a1nt0ing5orge5f1g0ee3h1i0ft0s3ves2ing5l0ass3e1obal2o4m0ail3bh2o1x2n1odaddy5ld0point6f2odyear5g0le4p1t1v2p1q1r0ainger5phics5tis4een3ipe3ocery4up4s1t1u0cci3ge2ide2tars5ru3w1y2hair2mburg5ngout5us3bo2dfc0bank7ealth0care8lp1sinki6re1mes5iphop4samitsu7tachi5v2k0t2m1n1ockey4ldings5iday5medepot5goods5s0ense7nda3rse3spital5t0ing5t0els3mail5use3w2r1sbc3t1u0ghes5yatt3undai7ibm2cbc2e1u2d1e0ee3fm2kano4l1m0amat4db2mo0bilien9n0c1dustries8finiti5o2g1k1stitute6urance4e4t0ernational10uit4vestments10o1piranga7q1r0ish4s0maili5t0anbul7t0au2v3jaguar4va3cb2e0ep2tzt3welry6io2ll2m0p2nj2o0bs1urg4t1y2p0morgan6rs3uegos4niper7kaufen5ddi3e0rryhotels6properties14fh2g1h1i0a1ds2m1ndle4tchen5wi3m1n1oeln3matsu5sher5p0mg2n2r0d1ed3uokgroup8w1y0oto4z2la0caixa5mborghini8er3nd0rover6xess5salle5t0ino3robe5w0yer5b1c1ds2ease3clerc5frak4gal2o2xus4gbt3i0dl2fe0insurance9style7ghting6ke2lly3mited4o2ncoln4k2ve1ing5k1lc1p2oan0s3cker3us3l1ndon4tte1o3ve3pl0financial11r1s1t0d0a3u0ndbeck6xe1ury5v1y2ma0drid4if1son4keup4n0agement7go3p1rket0ing3s4riott5shalls7ttel5ba2c0kinsey7d1e0d0ia3et2lbourne7me1orial6n0u2rck0msd7g1h1iami3crosoft7l1ni1t2t0subishi9k1l0b1s2m0a2n1o0bi0le4da2e1i1m1nash3ey2ster5rmon3tgage6scow4to0rcycles9v0ie4p1q1r1s0d2t0n1r2u0seum3ic4v1w1x1y1z2na0b1goya4me2vy3ba2c1e0c1t0bank4flix4work5ustar5w0s2xt0direct7us4f0l2g0o2hk2i0co2ke1on3nja3ssan1y5l1o0kia3rton4w0ruz3tv4p1r0a1w2tt2u1yc2z2obi1server7ffice5kinawa6layan0group9lo3m0ega4ne1g1l0ine5oo2pen3racle3nge4g0anic5igins6saka4tsuka4t2vh3pa0ge2nasonic7ris2s1tners4s1y3y2ccw3e0t2f0izer5g1h0armacy6d1ilips5one2to0graphy6s4ysio5ics1tet2ures6d1n0g1k2oneer5zza4k1l0ace2y0station9umbing5s3m1n0c2ohl2ker3litie5rn2st3r0axi3ess3ime3o0d0uctions8f1gressive8mo2perties3y5tection8u0dential9s1t1ub2w0c2y2qa1pon3uebec3st5racing4dio4e0ad1lestate6tor2y4cipes5d0umbrella9hab3ise0n3t2liance6n0t0als5pair3ort3ublican8st0aurant8view0s5xroth6ich0ardli6oh3l1o1p2o0cks3deo3gers4om3s0vp3u0gby3hr2n2w0e2yukyu6sa0arland6fe0ty4kura4le1on3msclub4ung5ndvik0coromant12ofi4p1rl2s1ve2xo3b0i1s2c0b1haeffler7midt4olarships8ol3ule3warz5ience5ot3d1e0arch3t2cure1ity6ek2lect4ner3rvices6ven3w1x0y3fr2g1h0angrila6rp3ell3ia1ksha5oes2p0ping5uji3w3i0lk2na1gles5te3j1k0i0n2y0pe4l0ing4m0art3ile4n0cf3o0ccer3ial4ftbank4ware6hu2lar2utions7ng1y2y2pa0ce3ort2t3r0l2s1t0ada2ples4r1tebank4farm7c0group6ockholm6rage3e3ream4udio2y3yle4u0cks3pplies3y2ort5rf1gery5zuki5v1watch4iss4x1y0dney4stems6z2tab1ipei4lk2obao4rget4tamotors6r2too4x0i3c0i2d0k2eam2ch0nology8l1masek5nnis4va3f1g1h0d1eater2re6iaa2ckets5enda4ps2res2ol4j0maxx4x2k0maxx5l1m0all4n1o0day3kyo3ols3p1ray3shiba5tal3urs3wn2yota3s3r0ade1ing4ining5vel0ers0insurance16ust3v2t1ube2i1nes3shu4v0s2w1z2ua1bank3s2g1k1nicom3versity8o2ol2ps2s1y1z2va0cations7na1guard7c1e0gas3ntures6risign5mögensberater2ung14sicherung10t2g1i0ajes4deo3g1king4llas4n1p1rgin4sa1ion4va1o3laanderen9n1odka3lvo3te1ing3o2yage5u2wales2mart4ter4ng0gou5tch0es6eather0channel12bcam3er2site5d0ding5ibo2r3f1hoswho6ien2ki2lliamhill9n0dows4e1ners6me2oodside6rk0s2ld3w2s1tc1f3xbox3erox4ihuan4n2xx2yz3yachts4hoo3maxun5ndex5e1odobashi7ga2kohama6u0tube6t1un3za0ppos4ra3ero3ip2m1one3uerich6w2",MIt="ελ1υ2бг1ел3дети4ею2католик6ом3мкд2он1сква6онлайн5рг3рус2ф2сайт3рб3укр3қаз3հայ3ישראל5קום3ابوظبي5رامكو5لاردن4بحرين5جزائر5سعودية6عليان5مغرب5مارات5یران5بارت2زار4يتك3ھارت5تونس4سودان3رية5شبكة4عراق2ب2مان4فلسطين6قطر3كاثوليك6وم3مصر2ليسيا5وريتانيا7قع4همراه5پاکستان7ڀارت4कॉम3नेट3भारत0म्3ोत5संगठन5বাংলা5ভারত2ৰত4ਭਾਰਤ4ભારત4ଭାରତ4இந்தியா6லங்கை6சிங்கப்பூர்11భారత్5ಭಾರತ4ഭാരതം5ලංකා4คอม3ไทย3ລາວ3გე2みんな3アマゾン4クラウド4グーグル4コム2ストア3セール3ファッション6ポイント4世界2中信1国1國1文网3亚马逊3企业2佛山2信息2健康2八卦2公司1益2台湾1灣2商城1店1标2嘉里0大酒店5在线2大拿2天主教3娱乐2家電2广东2微博2慈善2我爱你3手机2招聘2政务1府2新加坡2闻2时尚2書籍2机构2淡马锡3游戏2澳門2点看2移动2组织机构4网址1店1站1络2联通2谷歌2购物2通販2集团2電訊盈科4飞利浦3食品2餐厅2香格里拉3港2닷넷1컴2삼성2한국2",XW="numeric",KW="ascii",ZW="alpha",Xx="asciinumeric",V9="alphanumeric",JW="domain",wEe="emoji",RIt="scheme",IIt="slashscheme",J$="whitespace";function LIt(t,e){return t in e||(e[t]=[]),e[t]}function hU(t,e,r){e[XW]&&(e[Xx]=!0,e[V9]=!0),e[KW]&&(e[Xx]=!0,e[ZW]=!0),e[Xx]&&(e[V9]=!0),e[ZW]&&(e[V9]=!0),e[V9]&&(e[JW]=!0),e[wEe]&&(e[JW]=!0);for(const n in e){const i=LIt(n,r);i.indexOf(t)<0&&i.push(t)}}function NIt(t,e){const r={};for(const n in e)e[n].indexOf(t)>=0&&(r[n]=!0);return r}function gc(t=null){this.j={},this.jr=[],this.jd=null,this.t=t}gc.groups={};gc.prototype={accepts(){return!!this.t},go(t){const e=this,r=e.j[t];if(r)return r;for(let n=0;n<e.jr.length;n++){const i=e.jr[n][0],a=e.jr[n][1];if(a&&i.test(t))return a}return e.jd},has(t,e=!1){return e?t in this.j:!!this.go(t)},ta(t,e,r,n){for(let i=0;i<t.length;i++)this.tt(t[i],e,r,n)},tr(t,e,r,n){n=n||gc.groups;let i;return e&&e.j?i=e:(i=new gc(e),r&&n&&hU(e,r,n)),this.jr.push([t,i]),i},ts(t,e,r,n){let i=this;const a=t.length;if(!a)return i;for(let s=0;s<a-1;s++)i=i.tt(t[s]);return i.tt(t[a-1],e,r,n)},tt(t,e,r,n){n=n||gc.groups;const i=this;if(e&&e.j)return i.j[t]=e,e;const a=e;let s,o=i.go(t);if(o?(s=new gc,Object.assign(s.j,o.j),s.jr.push.apply(s.jr,o.jr),s.jd=o.jd,s.t=o.t):s=new gc,a){if(n)if(s.t&&typeof s.t=="string"){const l=Object.assign(NIt(s.t,n),r);hU(a,l,n)}else r&&hU(a,r,n);s.t=a}return i.j[t]=s,s}};const Sn=(t,e,r,n,i)=>t.ta(e,r,n,i),La=(t,e,r,n,i)=>t.tr(e,r,n,i),pfe=(t,e,r,n,i)=>t.ts(e,r,n,i),Wt=(t,e,r,n,i)=>t.tt(e,r,n,i),Hf="WORD",QW="UWORD",TEe="ASCIINUMERICAL",CEe="ALPHANUMERICAL",AT="LOCALHOST",eq="TLD",tq="UTLD",KA="SCHEME",a2="SLASH_SCHEME",mee="NUM",rq="WS",Uee="NL",Kx="OPENBRACE",Zx="CLOSEBRACE",HI="OPENBRACKET",VI="CLOSEBRACKET",GI="OPENPAREN",WI="CLOSEPAREN",qI="OPENANGLEBRACKET",jI="CLOSEANGLEBRACKET",YI="FULLWIDTHLEFTPAREN",XI="FULLWIDTHRIGHTPAREN",KI="LEFTCORNERBRACKET",ZI="RIGHTCORNERBRACKET",JI="LEFTWHITECORNERBRACKET",QI="RIGHTWHITECORNERBRACKET",eL="FULLWIDTHLESSTHAN",tL="FULLWIDTHGREATERTHAN",rL="AMPERSAND",nL="APOSTROPHE",iL="ASTERISK",Yp="AT",aL="BACKSLASH",sL="BACKTICK",oL="CARET",fU="COLON",yee="COMMA",lL="DOLLAR",ph="DOT",cL="EQUALS",bee="EXCLAMATION",Tu="HYPHEN",Jx="PERCENT",uL="PIPE",dL="PLUS",hL="POUND",Qx="QUERY",vee="QUOTE",SEe="FULLWIDTHMIDDLEDOT",xee="SEMI",gh="SLASH",ew="TILDE",fL="UNDERSCORE",kEe="EMOJI",pL="SYM";var EEe=Object.freeze({__proto__:null,ALPHANUMERICAL:CEe,AMPERSAND:rL,APOSTROPHE:nL,ASCIINUMERICAL:TEe,ASTERISK:iL,AT:Yp,BACKSLASH:aL,BACKTICK:sL,CARET:oL,CLOSEANGLEBRACKET:jI,CLOSEBRACE:Zx,CLOSEBRACKET:VI,CLOSEPAREN:WI,COLON:fU,COMMA:yee,DOLLAR:lL,DOT:ph,EMOJI:kEe,EQUALS:cL,EXCLAMATION:bee,FULLWIDTHGREATERTHAN:tL,FULLWIDTHLEFTPAREN:YI,FULLWIDTHLESSTHAN:eL,FULLWIDTHMIDDLEDOT:SEe,FULLWIDTHRIGHTPAREN:XI,HYPHEN:Tu,LEFTCORNERBRACKET:KI,LEFTWHITECORNERBRACKET:JI,LOCALHOST:AT,NL:Uee,NUM:mee,OPENANGLEBRACKET:qI,OPENBRACE:Kx,OPENBRACKET:HI,OPENPAREN:GI,PERCENT:Jx,PIPE:uL,PLUS:dL,POUND:hL,QUERY:Qx,QUOTE:vee,RIGHTCORNERBRACKET:ZI,RIGHTWHITECORNERBRACKET:QI,SCHEME:KA,SEMI:xee,SLASH:gh,SLASH_SCHEME:a2,SYM:pL,TILDE:ew,TLD:eq,UNDERSCORE:fL,UTLD:tq,UWORD:QW,WORD:Hf,WS:rq});const Af=/[a-z]/,Z3=new RegExp("\\p{L}","u"),Q$=new RegExp("\\p{Emoji}","u"),Mf=/\d/,eF=/\s/,gfe="\r",tF=`
`,OIt="️",DIt="‍",rF="";let Jk=null,Qk=null;function PIt(t=[]){const e={};gc.groups=e;const r=new gc;Jk==null&&(Jk=mfe(AIt)),Qk==null&&(Qk=mfe(MIt)),Wt(r,"'",nL),Wt(r,"{",Kx),Wt(r,"}",Zx),Wt(r,"[",HI),Wt(r,"]",VI),Wt(r,"(",GI),Wt(r,")",WI),Wt(r,"<",qI),Wt(r,">",jI),Wt(r,"(",YI),Wt(r,")",XI),Wt(r,"「",KI),Wt(r,"」",ZI),Wt(r,"『",JI),Wt(r,"』",QI),Wt(r,"<",eL),Wt(r,">",tL),Wt(r,"&",rL),Wt(r,"*",iL),Wt(r,"@",Yp),Wt(r,"`",sL),Wt(r,"^",oL),Wt(r,":",fU),Wt(r,",",yee),Wt(r,"$",lL),Wt(r,".",ph),Wt(r,"=",cL),Wt(r,"!",bee),Wt(r,"-",Tu),Wt(r,"%",Jx),Wt(r,"|",uL),Wt(r,"+",dL),Wt(r,"#",hL),Wt(r,"?",Qx),Wt(r,'"',vee),Wt(r,"/",gh),Wt(r,";",xee),Wt(r,"~",ew),Wt(r,"_",fL),Wt(r,"\\",aL),Wt(r,"・",SEe);const n=La(r,Mf,mee,{[XW]:!0});La(n,Mf,n);const i=La(n,Af,TEe,{[Xx]:!0}),a=La(n,Z3,CEe,{[V9]:!0}),s=La(r,Af,Hf,{[KW]:!0});La(s,Mf,i),La(s,Af,s),La(i,Mf,i),La(i,Af,i);const o=La(r,Z3,QW,{[ZW]:!0});La(o,Af),La(o,Mf,a),La(o,Z3,o),La(a,Mf,a),La(a,Af),La(a,Z3,a);const l=Wt(r,tF,Uee,{[J$]:!0}),u=Wt(r,gfe,rq,{[J$]:!0}),d=La(r,eF,rq,{[J$]:!0});Wt(r,rF,d),Wt(u,tF,l),Wt(u,rF,d),La(u,eF,d),Wt(d,gfe),Wt(d,tF),La(d,eF,d),Wt(d,rF,d);const h=La(r,Q$,kEe,{[wEe]:!0});Wt(h,"#"),La(h,Q$,h),Wt(h,OIt,h);const f=Wt(h,DIt);Wt(f,"#"),La(f,Q$,h);const p=[[Af,s],[Mf,i]],g=[[Af,null],[Z3,o],[Mf,a]];for(let m=0;m<Jk.length;m++)Rp(r,Jk[m],eq,Hf,p);for(let m=0;m<Qk.length;m++)Rp(r,Qk[m],tq,QW,g);hU(eq,{tld:!0,ascii:!0},e),hU(tq,{utld:!0,alpha:!0},e),Rp(r,"file",KA,Hf,p),Rp(r,"mailto",KA,Hf,p),Rp(r,"http",a2,Hf,p),Rp(r,"https",a2,Hf,p),Rp(r,"ftp",a2,Hf,p),Rp(r,"ftps",a2,Hf,p),hU(KA,{scheme:!0,ascii:!0},e),hU(a2,{slashscheme:!0,ascii:!0},e),t=t.sort((m,U)=>m[0]>U[0]?1:-1);for(let m=0;m<t.length;m++){const U=t[m][0],b=t[m][1]?{[RIt]:!0}:{[IIt]:!0};U.indexOf("-")>=0?b[JW]=!0:Af.test(U)?Mf.test(U)?b[Xx]=!0:b[KW]=!0:b[XW]=!0,pfe(r,U,U,b)}return pfe(r,"localhost",AT,{ascii:!0}),r.jd=new gc(pL),{start:r,tokens:Object.assign({groups:e},EEe)}}function AEe(t,e){const r=_It(e.replace(/[A-Z]/g,o=>o.toLowerCase())),n=r.length,i=[];let a=0,s=0;for(;s<n;){let o=t,l=null,u=0,d=null,h=-1,f=-1;for(;s<n&&(l=o.go(r[s]));)o=l,o.accepts()?(h=0,f=0,d=o):h>=0&&(h+=r[s].length,f++),u+=r[s].length,a+=r[s].length,s++;a-=h,s-=f,u-=h,i.push({t:d.t,v:e.slice(a-u,a),s:a-u,e:a})}return i}function _It(t){const e=[],r=t.length;let n=0;for(;n<r;){let i=t.charCodeAt(n),a,s=i<55296||i>56319||n+1===r||(a=t.charCodeAt(n+1))<56320||a>57343?t[n]:t.slice(n,n+2);e.push(s),n+=s.length}return e}function Rp(t,e,r,n,i){let a;const s=e.length;for(let o=0;o<s-1;o++){const l=e[o];t.j[l]?a=t.j[l]:(a=new gc(n),a.jr=i.slice(),t.j[l]=a),t=a}return a=new gc(r),a.jr=i.slice(),t.j[e[s-1]]=a,a}function mfe(t){const e=[],r=[];let n=0,i="0123456789";for(;n<t.length;){let a=0;for(;i.indexOf(t[n+a])>=0;)a++;if(a>0){e.push(r.join(""));for(let s=parseInt(t.substring(n,n+a),10);s>0;s--)r.pop();n+=a}else r.push(t[n]),n++}return e}const MT={defaultProtocol:"http",events:null,format:Ufe,formatHref:Ufe,nl2br:!1,tagName:"a",target:null,rel:null,validate:!0,truncate:1/0,className:null,attributes:null,ignoreTags:[],render:null};function wee(t,e=null){let r=Object.assign({},MT);t&&(r=Object.assign(r,t instanceof wee?t.o:t));const n=r.ignoreTags,i=[];for(let a=0;a<n.length;a++)i.push(n[a].toUpperCase());this.o=r,e&&(this.defaultRender=e),this.ignoreTags=i}wee.prototype={o:MT,ignoreTags:[],defaultRender(t){return t},check(t){return this.get("validate",t.toString(),t)},get(t,e,r){const n=e!=null;let i=this.o[t];return i&&(typeof i=="object"?(i=r.t in i?i[r.t]:MT[t],typeof i=="function"&&n&&(i=i(e,r))):typeof i=="function"&&n&&(i=i(e,r.t,r)),i)},getObj(t,e,r){let n=this.o[t];return typeof n=="function"&&e!=null&&(n=n(e,r.t,r)),n},render(t){const e=t.render(this);return(this.get("render",null,t)||this.defaultRender)(e,t.t,t)}};function Ufe(t){return t}function MEe(t,e){this.t="token",this.v=t,this.tk=e}MEe.prototype={isLink:!1,toString(){return this.v},toHref(t){return this.toString()},toFormattedString(t){const e=this.toString(),r=t.get("truncate",e,this),n=t.get("format",e,this);return r&&n.length>r?n.substring(0,r)+"…":n},toFormattedHref(t){return t.get("formatHref",this.toHref(t.get("defaultProtocol")),this)},startIndex(){return this.tk[0].s},endIndex(){return this.tk[this.tk.length-1].e},toObject(t=MT.defaultProtocol){return{type:this.t,value:this.toString(),isLink:this.isLink,href:this.toHref(t),start:this.startIndex(),end:this.endIndex()}},toFormattedObject(t){return{type:this.t,value:this.toFormattedString(t),isLink:this.isLink,href:this.toFormattedHref(t),start:this.startIndex(),end:this.endIndex()}},validate(t){return t.get("validate",this.toString(),this)},render(t){const e=this,r=this.toHref(t.get("defaultProtocol")),n=t.get("formatHref",r,this),i=t.get("tagName",r,e),a=this.toFormattedString(t),s={},o=t.get("className",r,e),l=t.get("target",r,e),u=t.get("rel",r,e),d=t.getObj("attributes",r,e),h=t.getObj("events",r,e);return s.href=n,o&&(s.class=o),l&&(s.target=l),u&&(s.rel=u),d&&Object.assign(s,d),{tagName:i,attributes:s,content:a,eventListeners:h}}};function zD(t,e){class r extends MEe{constructor(i,a){super(i,a),this.t=t}}for(const n in e)r.prototype[n]=e[n];return r.t=t,r}const BIt=zD("email",{isLink:!0,toHref(){return"mailto:"+this.toString()}}),yfe=zD("text"),$It=zD("nl"),eE=zD("url",{isLink:!0,toHref(t=MT.defaultProtocol){return this.hasProtocol()?this.v:`${t}://${this.v}`},hasProtocol(){const t=this.tk;return t.length>=2&&t[0].t!==AT&&t[1].t===fU}}),Uu=t=>new gc(t);function FIt({groups:t}){const e=t.domain.concat([rL,iL,Yp,aL,sL,oL,lL,cL,Tu,mee,Jx,uL,dL,hL,gh,pL,ew,fL]),r=[nL,fU,yee,ph,bee,Jx,Qx,vee,xee,qI,jI,Kx,Zx,VI,HI,GI,WI,YI,XI,KI,ZI,JI,QI,eL,tL],n=[rL,nL,iL,aL,sL,oL,lL,cL,Tu,Kx,Zx,Jx,uL,dL,hL,Qx,gh,pL,ew,fL],i=Uu(),a=Wt(i,ew);Sn(a,n,a),Sn(a,t.domain,a);const s=Uu(),o=Uu(),l=Uu();Sn(i,t.domain,s),Sn(i,t.scheme,o),Sn(i,t.slashscheme,l),Sn(s,n,a),Sn(s,t.domain,s);const u=Wt(s,Yp);Wt(a,Yp,u),Wt(o,Yp,u),Wt(l,Yp,u);const d=Wt(a,ph);Sn(d,n,a),Sn(d,t.domain,a);const h=Uu();Sn(u,t.domain,h),Sn(h,t.domain,h);const f=Wt(h,ph);Sn(f,t.domain,h);const p=Uu(BIt);Sn(f,t.tld,p),Sn(f,t.utld,p),Wt(u,AT,p);const g=Wt(h,Tu);Wt(g,Tu,g),Sn(g,t.domain,h),Sn(p,t.domain,h),Wt(p,ph,f),Wt(p,Tu,g);const m=Wt(s,Tu),U=Wt(s,ph);Wt(m,Tu,m),Sn(m,t.domain,s),Sn(U,n,a),Sn(U,t.domain,s);const y=Uu(eE);Sn(U,t.tld,y),Sn(U,t.utld,y),Sn(y,t.domain,s),Sn(y,n,a),Wt(y,ph,U),Wt(y,Tu,m),Wt(y,Yp,u);const b=Wt(y,fU),v=Uu(eE);Sn(b,t.numeric,v);const w=Uu(eE),T=Uu();Sn(w,e,w),Sn(w,r,T),Sn(T,e,w),Sn(T,r,T),Wt(y,gh,w),Wt(v,gh,w);const S=Wt(o,fU),C=Wt(l,fU),k=Wt(C,gh),E=Wt(k,gh);Sn(o,t.domain,s),Wt(o,ph,U),Wt(o,Tu,m),Sn(l,t.domain,s),Wt(l,ph,U),Wt(l,Tu,m),Sn(S,t.domain,w),Wt(S,gh,w),Wt(S,Qx,w),Sn(E,t.domain,w),Sn(E,e,w),Wt(E,gh,w);const A=[[Kx,Zx],[HI,VI],[GI,WI],[qI,jI],[YI,XI],[KI,ZI],[JI,QI],[eL,tL]];for(let M=0;M<A.length;M++){const[P,N]=A[M],I=Wt(w,P);Wt(T,P,I);const L=Uu(eE);Sn(I,e,L);const _=Uu();Sn(I,r,_),Wt(I,N,w),Sn(L,e,L),Sn(L,r,_),Sn(_,e,L),Sn(_,r,_),Wt(L,N,w),Wt(_,N,w)}return Wt(i,AT,y),Wt(i,Uee,$It),{start:i,tokens:EEe}}function zIt(t,e,r){let n=r.length,i=0,a=[],s=[];for(;i<n;){let o=t,l=null,u=null,d=0,h=null,f=-1;for(;i<n&&!(l=o.go(r[i].t));)s.push(r[i++]);for(;i<n&&(u=l||o.go(r[i].t));)l=null,o=u,o.accepts()?(f=0,h=o):f>=0&&f++,i++,d++;if(f<0)i-=d,i<n&&(s.push(r[i]),i++);else{s.length>0&&(a.push(nF(yfe,e,s)),s=[]),i-=f,d-=f;const p=h.t,g=r.slice(i-d,i);a.push(nF(p,e,g))}}return s.length>0&&a.push(nF(yfe,e,s)),a}function nF(t,e,r){const n=r[0].s,i=r[r.length-1].e,a=e.slice(n,i);return new t(a,r)}const HIt=typeof console<"u"&&console&&console.warn||(()=>{}),VIt="until manual call of linkify.init(). Register all schemes and plugins before invoking linkify the first time.",Ji={scanner:null,parser:null,tokenQueue:[],pluginQueue:[],customSchemes:[],initialized:!1};function REe(){return gc.groups={},Ji.scanner=null,Ji.parser=null,Ji.tokenQueue=[],Ji.pluginQueue=[],Ji.customSchemes=[],Ji.initialized=!1,Ji}function gL(t,e=!1){if(Ji.initialized&&HIt(`linkifyjs: already initialized - will not register custom scheme "${t}" ${VIt}`),!/^[0-9a-z]+(-[0-9a-z]+)*$/.test(t))throw new Error(`linkifyjs: incorrect scheme format.
1. Must only contain digits, lowercase ASCII letters or "-"
2. Cannot start or end with "-"
3. "-" cannot repeat`);Ji.customSchemes.push([t,e])}function GIt(){Ji.scanner=PIt(Ji.customSchemes);for(let t=0;t<Ji.tokenQueue.length;t++)Ji.tokenQueue[t][1]({scanner:Ji.scanner});Ji.parser=FIt(Ji.scanner.tokens);for(let t=0;t<Ji.pluginQueue.length;t++)Ji.pluginQueue[t][1]({scanner:Ji.scanner,parser:Ji.parser});return Ji.initialized=!0,Ji}function HD(t){return Ji.initialized||GIt(),zIt(Ji.parser.start,t,AEe(Ji.scanner.start,t))}HD.scan=AEe;function VD(t,e=null,r=null){if(e&&typeof e=="object"){if(r)throw Error(`linkifyjs: Invalid link type ${e}; must be a string`);r=e,e=null}const n=new wee(r),i=HD(t),a=[];for(let s=0;s<i.length;s++){const o=i[s];o.isLink&&(!e||o.t===e)&&n.check(o)&&a.push(o.toFormattedObject(n))}return a}const GD="[\0-   ᠎ -\u2029  ]",WIt=new RegExp(GD),qIt=new RegExp(`${GD}$`),jIt=new RegExp(`${GD}+$`),YIt=new RegExp(GD,"g");function XIt(t,e,r){var n,i;const a=t.doc.resolve(e.to);if(!(!((n=a.nodeBefore)===null||n===void 0)&&n.isText))return;const s=(i=t.doc.textBetween(e.from,e.to,"","").match(jIt))===null||i===void 0?void 0:i[0];if(!s)return;const o=e.to-s.length,l=q4(o,e.to,t.doc).filter(h=>h.mark.type===r);if(!l.length)return;const{nodeAfter:u}=a;if(u&&l.some(h=>h.mark.isInSet(u.marks)))return;const d=t.storedMarks;t.removeMark(o,e.to,r),t.setStoredMarks(d),t.selection.empty&&t.selection.from===e.to&&t.removeStoredMark(r)}function KIt(t){return t.length===1?t[0].isLink:t.length===3&&t[1].isLink?["()","[]"].includes(t[0].value+t[2].value):!1}function ZIt(t){return new ci({key:new Mi("autolink"),appendTransaction:(e,r,n)=>{const i=e.some(l=>l.docChanged)&&!r.doc.eq(n.doc),a=e.some(l=>l.getMeta("preventAutolink"));if(!i||a)return;const{tr:s}=n,o=NJ(r.doc,[...e]);if(!e.some(M4e)){const l=[];o.steps.forEach((u,d)=>{if(!(u instanceof va)||!u.slice.size)return;const h=o.mapping.slice(d+1),f=h.map(u.from,1),p=h.map(u.from+u.slice.size,-1);f<p&&l.push({from:f,to:p})}),l.sort((u,d)=>d.to-u.to),l.forEach(u=>XIt(s,u,t.type))}if(QC(o).forEach(({newRange:l})=>{const u=F4e(n.doc,l,f=>f.isTextblock);let d,h;if(u.length>1)d=u[0],h=n.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ");else if(u.length){const f=n.doc.textBetween(l.from,l.to," "," ");if(!qIt.test(f))return;d=u[0],h=n.doc.textBetween(d.pos,l.to,void 0," ")}if(d&&h){const f=h.split(WIt).filter(Boolean);if(f.length<=0)return!1;const p=f[f.length-1],g=d.pos+h.lastIndexOf(p);if(!p)return!1;const m=HD(p).map(U=>U.toObject(t.defaultProtocol));if(!KIt(m))return!1;m.filter(U=>U.isLink).map(U=>({...U,from:g+U.start+1,to:g+U.end+1})).filter(U=>n.schema.marks.code?!n.doc.rangeHasMark(U.from,U.to,n.schema.marks.code):!0).filter(U=>t.validate(U.value)).filter(U=>t.shouldAutoLink(U.value)).forEach(U=>{q4(U.from,U.to,n.doc).some(y=>y.mark.type===t.type)||s.addMark(U.from,U.to,t.type.create({href:U.href}))})}}),!!s.steps.length)return s}})}function JIt(t){return new ci({key:new Mi("handleClickLink"),props:{handleClick:(e,r,n)=>{if(n.button!==0||!e.editable)return!1;let i=null;if(n.target instanceof HTMLAnchorElement)i=n.target;else{const l=n.target;if(!l)return!1;const u=t.editor.view.dom;i=l.closest("a"),i&&!u.contains(i)&&(i=null)}if(!i)return!1;let a=!1;if(t.enableClickSelection&&(a=t.editor.commands.extendMarkRange(t.type.name)),t.openOnClick){var s,o;const l=PJ(e.state,t.type.name),u=(s=i.href)!==null&&s!==void 0?s:l.href,d=(o=i.target)!==null&&o!==void 0?o:l.target;u&&(window.open(u,d),a=!0)}return a}}})}const QIt=/\[([^[\]]+)\]\(((?:[^\s()]|\([^\s()]*\))+)(?:\s+(?:(["'])(.*?)\3|“(.*?)”|‘(.*?)’))?\)$/,eLt=/\[([^[\]]+)\]\(((?:[^\s()]|\([^\s()]*\))+)(?:\s+(?:(["'])(.*?)\3|“(.*?)”|‘(.*?)’))?\)/g;function IEe(t,e){let r=0;for(let n=e-1;n>=0&&t[n]==="\\";n-=1)r+=1;return r%2===1}function tLt(t,e){let r=0,n=0;for(;n<e;){if(t[n]!=="`"){n+=1;continue}if(r===0&&IEe(t,n)){n+=1;continue}let i=0;for(;n<e&&t[n]==="`";)i+=1,n+=1;r===0?r=i:i===r&&(r=0)}return r>0}function LEe(t,e,r){var n,i;const[,a,s]=e;return(e.index?t[e.index-1]:void 0)==="!"||IEe(t,(n=e.index)!==null&&n!==void 0?n:0)||tLt(t,(i=e.index)!==null&&i!==void 0?i:0)?!1:!!a.trim()&&r(s)}function NEe(t){var e,r;const[n,i,a,,s,o,l]=t,u=(e=s??o)!==null&&e!==void 0?e:l;return{index:(r=t.index)!==null&&r!==void 0?r:0,text:n,replaceWith:i,data:{href:a,title:u||null,markdown:!0}}}function rLt(t,e){return t.index<e.index+e.text.length&&e.index<t.index+t.text.length}function OEe(t){var e,r,n;return{href:(e=t.data)===null||e===void 0?void 0:e.href,title:(r=(n=t.data)===null||n===void 0?void 0:n.title)!==null&&r!==void 0?r:null}}function nLt(t){const e=Fg({find:r=>{const n=QIt.exec(r);return!n||!LEe(r,n,t.isAllowedHref)?null:NEe(n)},type:t.type,getAttributes:OEe});return new Zd({find:e.find,handler:r=>{const n=e.handler(r);return n!==null&&r.state.tr.steps.length&&r.state.tr.setMeta("preventAutolink",!0),n}})}function iLt(t){const e=jh({find:r=>{var n,i;const a=[];for(const o of r.matchAll(eLt))LEe(r,o,t.isAllowedHref)&&a.push(NEe(o));const s=((n=(i=t.findPlainUrls)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:[]).filter(o=>!a.some(l=>rLt(l,o)));return[...a,...s]},type:t.type,getAttributes:OEe});return new tS({find:e.find,handler:r=>{var n;const i=e.handler(r);return i!==null&&r.state.tr.steps.length&&(!((n=r.match.data)===null||n===void 0)&&n.markdown)&&r.state.tr.setMeta("preventAutolink",!0),i}})}function aLt(t){return new ci({key:new Mi("handlePasteLink"),props:{handlePaste:(e,r,n)=>{const{shouldAutoLink:i}=t,{state:a}=e,{selection:s}=a,{empty:o}=s;if(o)return!1;let l="";n.content.forEach(d=>{l+=d.textContent});const u=VD(l,{defaultProtocol:t.defaultProtocol}).find(d=>d.isLink&&d.value===l);return!l||!u||i!==void 0&&!i(u.value)?!1:t.editor.commands.setMark(t.type,{href:u.href})}}})}function Rf(t,e){const r=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(n=>{const i=typeof n=="string"?n:n.scheme;i&&r.push(i)}),!t||t.replace(YIt,"").match(new RegExp(`^(?:(?:${r.map(n=>n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")).join("|")}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`,"i"))}const sLt=np.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){gL(t);return}gL(t.scheme,t.optionalSlashes)})},onDestroy(){REe()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,markdownLinks:!1,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!Rf(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>{const e=/^[a-z][a-z0-9+.-]*:\/\//i.test(t),r=/^[a-z][a-z0-9+.-]*:/i.test(t);if(e||r&&!t.includes("@"))return!0;const n=(t.includes("@")?t.split("@").pop():t).split(/[/?#:]/)[0];return!(/^\d{1,3}(\.\d{1,3}){3}$/.test(n)||!/\./.test(n))}}},addAttributes(){var t,e,r;return{href:{default:null,parseHTML(n){return n.getAttribute("href")}},target:{default:(t=this.options.HTMLAttributes.target)!==null&&t!==void 0?t:null},rel:{default:(e=this.options.HTMLAttributes.rel)!==null&&e!==void 0?e:null},class:{default:(r=this.options.HTMLAttributes.class)!==null&&r!==void 0?r:null},title:{default:null}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{const e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:r=>!!Rf(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!Rf(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",yn(this.options.HTMLAttributes,t),0]:["a",yn(this.options.HTMLAttributes,{...t,href:""}),0]},markdownTokenName:"link",parseMarkdown:(t,e)=>e.applyMark("link",e.parseInline(t.tokens||[]),{href:t.href,title:t.title||null}),renderMarkdown:(t,e)=>{var r,n,i,a;const s=(r=(n=t.attrs)===null||n===void 0?void 0:n.href)!==null&&r!==void 0?r:"",o=(i=(a=t.attrs)===null||a===void 0?void 0:a.title)!==null&&i!==void 0?i:"",l=e.renderChildren(t);return o?`[${l}](${s} "${o}")`:`[${l}](${s})`},addCommands(){return{setLink:t=>({chain:e})=>{const{href:r}=t;return this.options.isAllowedUri(r,{defaultValidate:n=>!!Rf(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e})=>{const{href:r}=t||{};return r&&!this.options.isAllowedUri(r,{defaultValidate:n=>!!Rf(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:e().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()},unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addInputRules(){return this.options.markdownLinks?[nLt({type:this.type,isAllowedHref:t=>this.options.isAllowedUri(t,{defaultValidate:e=>!!Rf(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})})]:[]},addPasteRules(){const t=e=>{const r=[];if(e){const{protocols:n,defaultProtocol:i}=this.options;VD(e).filter(a=>a.isLink&&this.options.isAllowedUri(a.value,{defaultValidate:s=>!!Rf(s,n),protocols:n,defaultProtocol:i})).forEach(a=>{this.options.shouldAutoLink(a.value)&&r.push({text:a.value,data:{href:a.href},index:a.start})})}return r};return this.options.markdownLinks?[iLt({type:this.type,isAllowedHref:e=>this.options.isAllowedUri(e,{defaultValidate:r=>!!Rf(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol}),findPlainUrls:t})]:[jh({find:t,type:this.type,getAttributes:e=>{var r;return{href:(r=e.data)===null||r===void 0?void 0:r.href}}})]},addProseMirrorPlugins(){const t=[],{protocols:e,defaultProtocol:r}=this.options;return this.options.autolink&&t.push(ZIt({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:n=>this.options.isAllowedUri(n,{defaultValidate:i=>!!Rf(i,e),protocols:e,defaultProtocol:r}),shouldAutoLink:this.options.shouldAutoLink})),t.push(JIt({type:this.type,editor:this.editor,openOnClick:this.options.openOnClick==="whenNotEditable"?!0:this.options.openOnClick,enableClickSelection:this.options.enableClickSelection})),this.options.linkOnPaste&&t.push(aLt({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type,shouldAutoLink:this.options.shouldAutoLink})),t}}),tE="&nbsp;",iF=" ",oLt=ri.create({name:"paragraph",priority:1e3,addOptions(){return{HTMLAttributes:{}}},group:"block",content:"inline*",parseHTML(){return[{tag:"p"}]},renderHTML({HTMLAttributes:t}){return["p",yn(this.options.HTMLAttributes,t),0]},parseMarkdown:(t,e)=>{const r=t.tokens||[];if(r.length===1&&r[0].type==="image")return e.parseChildren([r[0]]);const n=e.parseInline(r);return r.length===1&&r[0].type==="text"&&(r[0].raw===tE||r[0].text===tE||r[0].raw===iF||r[0].text===iF)&&n.length===1&&n[0].type==="text"&&(n[0].text===tE||n[0].text===iF)?e.createNode("paragraph",void 0,[]):e.createNode("paragraph",void 0,n)},renderMarkdown:(t,e,r)=>{if(!t)return"";const n=Array.isArray(t.content)?t.content:[];if(n.length===0){var i,a;const s=Array.isArray(r==null||(i=r.previousNode)===null||i===void 0?void 0:i.content)?r.previousNode.content:[];return(r==null||(a=r.previousNode)===null||a===void 0?void 0:a.type)==="paragraph"&&s.length===0?tE:""}return e.renderChildren(n)},addCommands(){return{setParagraph:()=>({commands:t})=>t.setNode(this.name)}},addKeyboardShortcuts(){return{"Mod-Alt-0":()=>this.editor.commands.setParagraph()}}}),lLt=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))$/,cLt=/(?:^|\s)(~~(?!\s+~~)((?:[^~]+))~~(?!\s+~~))/g,uLt=np.create({name:"strike",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"s"},{tag:"del"},{tag:"strike"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("line-through")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["s",yn(this.options.HTMLAttributes,t),0]},markdownTokenName:"del",parseMarkdown:(t,e)=>e.applyMark("strike",e.parseInline(t.tokens||[])),renderMarkdown:(t,e)=>`~~${e.renderChildren(t)}~~`,addCommands(){return{setStrike:()=>({commands:t})=>t.setMark(this.name),toggleStrike:()=>({commands:t})=>t.toggleMark(this.name),unsetStrike:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-Shift-s":()=>this.editor.commands.toggleStrike()}},addInputRules(){return[Fg({find:lLt,type:this.type})]},addPasteRules(){return[jh({find:cLt,type:this.type})]}}),dLt=ri.create({name:"text",group:"inline",parseMarkdown:t=>({type:"text",text:t.text||""}),renderMarkdown:t=>t.text||""}),hLt=np.create({name:"underline",addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"u"},{style:"text-decoration",consuming:!1,getAttrs:t=>t.includes("underline")?{}:!1}]},renderHTML({HTMLAttributes:t}){return["u",yn(this.options.HTMLAttributes,t),0]},parseMarkdown(t,e){return e.applyMark(this.name||"underline",e.parseInline(t.tokens||[]))},renderMarkdown(t,e){return`++${e.renderChildren(t)}++`},markdownTokenizer:{name:"underline",level:"inline",start(t){return t.indexOf("++")},tokenize(t,e,r){const n=/^(\+\+)([\s\S]+?)(\+\+)/.exec(t);if(!n)return;const i=n[2].trim();return{type:"underline",raw:n[0],text:i,tokens:r.inlineTokens(i)}}},addCommands(){return{setUnderline:()=>({commands:t})=>t.setMark(this.name),toggleUnderline:()=>({commands:t})=>t.toggleMark(this.name),unsetUnderline:()=>({commands:t})=>t.unsetMark(this.name)}},addKeyboardShortcuts(){return{"Mod-u":()=>this.editor.commands.toggleUnderline(),"Mod-U":()=>this.editor.commands.toggleUnderline()}}}),fLt=Oi.create({name:"starterKit",addExtensions(){const t=[];if(this.options.bold!==!1&&t.push(pIt.configure(this.options.bold)),this.options.blockquote!==!1&&t.push(cIt.configure(this.options.blockquote)),this.options.bulletList!==!1&&t.push(qke.configure(this.options.bulletList)),this.options.code!==!1&&t.push(yIt.configure(this.options.code)),this.options.codeBlock!==!1&&t.push(p3e.configure(this.options.codeBlock)),this.options.document!==!1&&t.push(bIt.configure(this.options.document)),this.options.dropcursor!==!1&&t.push(L5t.configure(this.options.dropcursor)),this.options.gapcursor!==!1&&t.push(N5t.configure(this.options.gapcursor)),this.options.hardBreak!==!1&&t.push(vIt.configure(this.options.hardBreak)),this.options.heading!==!1&&t.push(xIt.configure(this.options.heading)),this.options.undoRedo!==!1&&t.push(Y5t.configure(this.options.undoRedo)),this.options.horizontalRule!==!1&&t.push(wIt.configure(this.options.horizontalRule)),this.options.italic!==!1&&t.push(EIt.configure(this.options.italic)),this.options.listItem!==!1&&t.push(Zke.configure(this.options.listItem)),this.options.listKeymap!==!1){var e;t.push(Qke.configure((e=this.options)===null||e===void 0?void 0:e.listKeymap))}if(this.options.link!==!1){var r;t.push(sLt.configure((r=this.options)===null||r===void 0?void 0:r.link))}if(this.options.orderedList!==!1&&t.push(tEe.configure(this.options.orderedList)),this.options.paragraph!==!1&&t.push(oLt.configure(this.options.paragraph)),this.options.strike!==!1&&t.push(uLt.configure(this.options.strike)),this.options.text!==!1&&t.push(dLt.configure(this.options.text)),this.options.underline!==!1){var n;t.push(hLt.configure((n=this.options)===null||n===void 0?void 0:n.underline))}if(this.options.trailingNode!==!1){var i;t.push(j5t.configure((i=this.options)===null||i===void 0?void 0:i.trailingNode))}return t}});var aF=fLt;const mL=(t,e)=>{const r=e.view.domAtPos(t).node,n=r.nodeType===Node.ELEMENT_NODE?r:r.parentElement;return n?n.offsetParent!==null:!1},pLt=(t,e,r)=>{for(let n=t.depth;n>0;n-=1){const i=t.node(n),a=e(i),s=mL(t.start(n),r);if(a&&s)return{pos:n>0?t.before(n):0,start:t.start(n),depth:n,node:i}}},bfe=(t,e)=>{const{state:r,view:n,extensionManager:i}=t,{schema:a,selection:s}=r,{empty:o,$anchor:l}=s,u=!!i.extensions.find(U=>U.name==="gapCursor");if(!o||l.parent.type!==a.nodes.detailsSummary||!u||e==="right"&&l.parentOffset!==l.parent.nodeSize-2)return!1;const d=T5(U=>U.type===a.nodes.details)(s);if(!d)return!1;const h=RA(d.node,U=>U.type===a.nodes.detailsContent);if(!h.length||mL(d.start+h[0].pos+1,t))return!1;const f=r.doc.resolve(d.pos+d.node.nodeSize),p=la.findFrom(f,1,!1);if(!p)return!1;const{tr:g}=r,m=new la(p);return g.setSelection(m),g.scrollIntoView(),n.dispatch(g),!0},gLt=ri.create({name:"details",content:"detailsSummary detailsContent",group:"block",defining:!0,isolating:!0,allowGapCursor:!1,addOptions(){return{persist:!1,openClassName:"is-open",HTMLAttributes:{},renderToggleButton:({element:t,isOpen:e})=>{t.setAttribute("aria-label",e?"Collapse details content":"Expand details content")}}},addAttributes(){return this.options.persist?{open:{default:!1,parseHTML:t=>t.hasAttribute("open"),renderHTML:({open:t})=>t?{open:""}:{}}}:[]},parseHTML(){return[{tag:"details"}]},renderHTML({HTMLAttributes:t}){return["details",yn(this.options.HTMLAttributes,t),0]},...BJ({nodeName:"details",content:"block"}),addNodeView(){return({editor:t,getPos:e,node:r,HTMLAttributes:n})=>{const i=document.createElement("div"),a=yn(this.options.HTMLAttributes,n,{"data-type":this.name});Object.entries(a).forEach(([d,h])=>i.setAttribute(d,h));const s=document.createElement("button");s.type="button";const o=d=>{this.options.renderToggleButton({element:s,...d})};i.append(s);const l=document.createElement("div");i.append(l);const u=d=>{const{setToValue:h,node:f=r}=d||{};if(h!==void 0)if(h){if(i.classList.contains(this.options.openClassName))return;i.classList.add(this.options.openClassName)}else{if(!i.classList.contains(this.options.openClassName))return;i.classList.remove(this.options.openClassName)}else i.classList.toggle(this.options.openClassName);const p=i.classList.contains(this.options.openClassName);o({isOpen:p,node:f});const g=new Event("toggleDetailsContent"),m=l.querySelector(':scope > div[data-type="detailsContent"]');m==null||m.dispatchEvent(g)};return o({isOpen:!!r.attrs.open,node:r}),r.attrs.open&&setTimeout(()=>u()),s.addEventListener("click",()=>{if(u(),!this.options.persist){t.commands.focus(void 0,{scrollIntoView:!1});return}if(t.isEditable&&typeof e=="function"){const{from:d,to:h}=t.state.selection;t.chain().command(({tr:f})=>{const p=e();if(typeof p!="number")return!1;const g=f.doc.nodeAt(p);return(g==null?void 0:g.type)!==this.type?!1:(f.setNodeMarkup(p,void 0,{open:!g.attrs.open}),!0)}).setTextSelection({from:d,to:h}).focus(void 0,{scrollIntoView:!1}).run()}}),{dom:i,contentDOM:l,ignoreMutation(d){if(d.type==="selection")return!1;const h=d.target,f=i.contains(h);return s.contains(h)||!f||i===h},update:d=>d.type!==this.type?!1:(d.attrs.open!==void 0?u({setToValue:d.attrs.open,node:d}):o({isOpen:i.classList.contains(this.options.openClassName),node:d}),!0)}}},addCommands(){return{setDetails:()=>({state:t,chain:e})=>{var r;const{schema:n,selection:i}=t,{$from:a,$to:s}=i,o=a.blockRange(s);if(!o)return!1;const l=t.doc.slice(o.start,o.end);if(!n.nodes.detailsContent.contentMatch.matchFragment(l.content))return!1;const u=((r=l.toJSON())===null||r===void 0?void 0:r.content)||[];return e().insertContentAt({from:o.start,to:o.end},{type:this.name,content:[{type:"detailsSummary"},{type:"detailsContent",content:u}]}).setTextSelection(o.start+2).run()},unsetDetails:()=>({state:t,chain:e})=>{const{selection:r,schema:n}=t,i=T5(m=>m.type===this.type)(r);if(!i)return!1;const a=RA(i.node,m=>m.type===n.nodes.detailsSummary),s=RA(i.node,m=>m.type===n.nodes.detailsContent);if(!a.length||!s.length)return!1;const o=a[0],l=s[0],u=i.pos,d=t.doc.resolve(u),h={from:u,to:u+i.node.nodeSize},f=l.node.content.toJSON()||[],p=d.parent.type.contentMatch.defaultType,g=[p==null?void 0:p.create(null,o.node.content).toJSON(),...f];return e().insertContentAt(h,g).setTextSelection(u+1).run()}}},addKeyboardShortcuts(){return{Backspace:()=>{const{schema:t,selection:e}=this.editor.state,{empty:r,$anchor:n}=e;return!r||n.parent.type!==t.nodes.detailsSummary?!1:n.parentOffset!==0?this.editor.commands.command(({tr:i})=>{const a=n.pos-1,s=n.pos;return i.delete(a,s),!0}):this.editor.commands.unsetDetails()},Enter:({editor:t})=>{const{state:e,view:r}=t,{schema:n,selection:i}=e,{$head:a}=i;if(a.parent.type!==n.nodes.detailsSummary)return!1;const s=mL(a.after()+1,t),o=s?e.doc.nodeAt(a.after()):a.node(-2);if(!o)return!1;const l=s?0:a.indexAfter(-1),u=nD(o.contentMatchAt(l));if(!u||!o.canReplaceWith(l,l,u))return!1;const d=u.createAndFill();if(!d)return!1;const h=s?a.after()+1:a.after(-1),f=e.tr.replaceWith(h,h,d),p=f.doc.resolve(h),g=Vr.near(p,1);return f.setSelection(g),f.scrollIntoView(),r.dispatch(f),!0},ArrowRight:({editor:t})=>bfe(t,"right"),ArrowDown:({editor:t})=>bfe(t,"down")}},addProseMirrorPlugins(){return[new ci({key:new Mi("detailsSelection"),appendTransaction:(t,e,r)=>{const{editor:n,type:i}=this;if(n.view.composing||!t.some(h=>h.selectionSet)||!e.selection.empty||!r.selection.empty||!W4e(r,i.name))return;const{$from:a}=r.selection;if(mL(a.pos,n))return;const s=pLt(a,h=>h.type===i,n);if(!s)return;const o=RA(s.node,h=>h.type===r.schema.nodes.detailsSummary);if(!o.length)return;const l=o[0],u=(e.selection.from<r.selection.from?"forward":"backward")=="forward"?s.start+l.pos:s.pos+l.pos+l.node.nodeSize,d=yr.create(r.doc,u);return r.tr.setSelection(d)}})]}}),mLt=ri.create({name:"detailsContent",content:"block+",defining:!0,selectable:!1,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:`div[data-type="${this.name}"]`}]},renderHTML({HTMLAttributes:t}){return["div",yn(this.options.HTMLAttributes,t,{"data-type":this.name}),0]},addNodeView(){return({HTMLAttributes:t})=>{const e=document.createElement("div"),r=yn(this.options.HTMLAttributes,t,{"data-type":this.name,hidden:"hidden"});return Object.entries(r).forEach(([n,i])=>e.setAttribute(n,i)),e.addEventListener("toggleDetailsContent",()=>{e.toggleAttribute("hidden")}),{dom:e,contentDOM:e,ignoreMutation(n){return n.type==="selection"?!1:!e.contains(n.target)||e===n.target},update:n=>n.type===this.type}}},addKeyboardShortcuts(){return{Enter:({editor:t})=>{const{state:e,view:r}=t,{selection:n}=e,{$from:i,empty:a}=n,s=T5(E=>E.type===this.type)(n);if(!a||!s||!s.node.childCount)return!1;const o=i.index(s.depth),{childCount:l}=s.node;if(l!==o+1)return!1;const u=s.node.type.contentMatch.defaultType,d=u==null?void 0:u.createAndFill();if(!d)return!1;const h=e.doc.resolve(s.pos+1),f=l-1,p=s.node.child(f),g=h.posAtIndex(f,s.depth);if(!p.eq(d))return!1;const m=i.node(-3);if(!m)return!1;const U=i.indexAfter(-3),y=nD(m.contentMatchAt(U));if(!y||!m.canReplaceWith(U,U,y))return!1;const b=y.createAndFill();if(!b)return!1;const{tr:v}=e,w=i.after(-2);v.replaceWith(w,w,b);const T=v.doc.resolve(w),S=Vr.near(T,1);v.setSelection(S);const C=g,k=g+p.nodeSize;return v.delete(C,k),v.scrollIntoView(),r.dispatch(v),!0}}},...BJ({nodeName:"detailsContent"})}),ULt=ri.create({name:"detailsSummary",content:"text*",defining:!0,selectable:!1,isolating:!0,addOptions(){return{HTMLAttributes:{}}},parseHTML(){return[{tag:"summary"}]},renderHTML({HTMLAttributes:t}){return["summary",yn(this.options.HTMLAttributes,t),0]},...BJ({nodeName:"detailsSummary",content:"inline"})}),Tee=t=>{var e;return((e=t==null?void 0:t.trim().toLowerCase().match(/\.([a-z0-9]+)(?:[?#].*)?$/))==null?void 0:e[1])??""},yLt={aac:"audio/aac",aiff:"audio/aiff",ape:"audio/x-ape",flac:"audio/flac",m4a:"audio/mp4",mp3:"audio/mpeg",oga:"audio/ogg",ogg:"audio/ogg",opus:"audio/ogg",wav:"audio/wav",weba:"audio/webm",wma:"audio/x-ms-wma"},bLt=(t,e)=>{const r=(t==null?void 0:t.trim().toLowerCase())??"";return r.startsWith("audio/")?r:yLt[Tee(e)]??null},vLt={m4v:"video/mp4",mov:"video/quicktime",mp4:"video/mp4",ogv:"video/ogg",webm:"video/webm"},Cee=(t,e)=>{const r=(t==null?void 0:t.trim().toLowerCase())??"";return r.startsWith("video/")?r:vLt[Tee(e)]??null},Xv=(t,e)=>{const r=(t==null?void 0:t.trim().toLowerCase())??"",n=Tee(e);return r.startsWith("image/")?"image":bLt(r,e)?"audio":Cee(r,e)?"video":r==="application/pdf"||n==="pdf"?"pdf":r.includes("spreadsheet")||r.includes("excel")||["xls","xlsx","xlsm","ods","csv"].includes(n)?"spreadsheet":r.includes("word")||r.includes("wordprocessingml")||["doc","docx","odt","rtf"].includes(n)?"document":r.includes("presentation")||r.includes("powerpoint")||r.includes("keynote")||["ppt","pptx","odp","keynote"].includes(n)||n==="key"&&r.includes("keynote")?"presentation":r.includes("android.package-archive")||["apk","xapk","apks","aab"].includes(n)?"apk":r.includes("application/x-msdownload")||r.includes("application/x-msdos-program")||r.includes("application/x-msi")||["exe","msi"].includes(n)?"exe":r.includes("application/x-apple-diskimage")||["dmg","pkg","ipa"].includes(n)?"dmg":r.includes("application/x-debian-package")||r.includes("application/x-redhat-package-manager")||["appimage","deb","rpm","flatpak"].includes(n)?"linux":r.includes("application/x-executable")||["run","elf"].includes(n)?"executable":r.includes("epub")||r.includes("mobipocket")||["epub","mobi","azw","azw3","fb2","djvu"].includes(n)?"book":r.startsWith("font/")||r.includes("font")||["ttf","otf","woff","woff2","eot"].includes(n)?"font":r.includes("iso9660")||["iso","img","vmdk","qcow2","vdi"].includes(n)?"diskimage":r.includes("sqlite")||["sqlite","sqlite3","db","db3"].includes(n)?"database":r.includes("photoshop")||["psd","psb","ai","sketch","fig","xd","afphoto","afdesign","cdr"].includes(n)?"design":r.startsWith("model/")||["blend","obj","stl","fbx","gltf","glb","step","stp","iges","igs","dwg","dxf"].includes(n)?"model3d":r.includes("pkix")||r.includes("x-x509")||r.includes("pkcs")||["pem","crt","cer","key","pub","pfx","p12","der","csr"].includes(n)?"certificate":["xmind","drawio","excalidraw","vsdx","vsd","mindnode","mmap"].includes(n)?"diagram":["log","crash","out","trace"].includes(n)?"log":["sh","bash","zsh","fish","bat","cmd","ps1"].includes(n)?"script":r.includes("zip")||r.includes("compressed")||r.includes("tar")||r.includes("rar")||r.includes("gzip")||["zip","rar","7z","tar","gz","bz2","xz"].includes(n)?"archive":r.includes("javascript")||r.includes("typescript")||r.includes("json")||r.includes("xml")||r.includes("yaml")||["js","jsx","ts","tsx","json","xml","yaml","yml","html","css","scss","less","py","java","go","rs","c","cpp","h","hpp","cs","swift","kt","kts","rb","php","lua","sql","toml","ini","conf","env"].includes(n)?"code":r.startsWith("text/")||["txt","md"].includes(n)?"text":"file"},xLt=/\/api\/v1\/resources\/([^/]+)\/blob(?:$|[?#])/,wLt=t=>{if(t.startsWith("edgeever-resource://"))try{const e=new URL(t);return decodeURIComponent(e.pathname.replace(/^\//,""))||null}catch{return null}try{const r=new URL(t,"http://edgeever.local").pathname.match(xLt);return r!=null&&r[1]?decodeURIComponent(r[1]):null}catch{return null}},See=t=>t.replace(/^\s*(?:附件[::]|Attachment:)\s*/i,"").trim(),TLt={image:"IMAGE",audio:"AUDIO",video:"VIDEO",pdf:"PDF",spreadsheet:"XLS",document:"DOC",presentation:"PPT",archive:"ZIP",code:"CODE",script:"SHELL",text:"TXT",apk:"APK",exe:"EXE",dmg:"DMG",linux:"LINUX",executable:"BIN",book:"BOOK",font:"FONT",diskimage:"ISO",database:"DB",design:"DESIGN",model3d:"3D",log:"LOG",certificate:"KEY",diagram:"DIAGRAM",file:"FILE"},vfe={msi:"MSI",appimage:"APPIMAGE",deb:"DEB",rpm:"RPM",pkg:"PKG",ipa:"IPA",aab:"AAB",psd:"PSD",ai:"AI",sketch:"SKETCH",fig:"FIG",xd:"XD",stl:"STL",obj:"OBJ",blend:"BLEND",fbx:"FBX",gltf:"GLTF",glb:"GLB",dwg:"DWG",sh:"SH",bash:"BASH",zsh:"ZSH",bat:"BAT",cmd:"CMD",ps1:"PS1",pem:"PEM",crt:"CERT",cer:"CERT",pub:"PUB",key:"KEY",xmind:"XMIND",drawio:"DRAWIO",vsdx:"VSDX",epub:"EPUB",mobi:"MOBI",woff2:"WOFF2",woff:"WOFF",ttf:"TTF",otf:"OTF",csv:"CSV",tsv:"TSV",md:"MD","7z":"7Z",tar:"TAR",gz:"GZ"},Wg=t=>{const e=typeof t=="number"?t:typeof t=="string"?Number(t):Number.NaN;return Number.isFinite(e)&&e>0?Math.round(e):null},CLt=t=>{const e=Wg(t);if(e===null)return null;const r=["B","KB","MB","GB","TB"],n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),r.length-1),i=e/1024**n;return`${n===0?i.toFixed(0):i.toFixed(i>=10?1:2)} ${r[n]}`},SLt=(t,e)=>{var n;const r=((n=e==null?void 0:e.trim().toLowerCase().match(/\.([a-z0-9]+)(?:[?#].*)?$/))==null?void 0:n[1])??"";return vfe[r]?vfe[r]:TLt[Xv(t,e)]},kLt=(t,e,r)=>[SLt(t,e),CLt(r)].filter(Boolean).join(" · "),l0="edgeeverFileAttachment",xfe=t=>t==="compact"?"compact":"inline",ELt=/^\[([^\]]+)\]\(([^\s)]+)(?:\s+"[^"]*")?\)/,ALt=/^\s*(?:附件[::]|Attachment:)\s*/i,MLt=/(?:\/api\/v1\/resources\/|edgeever-(?:resource|staged):\/\/)/i,RLt=t=>t.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]"),ILt=(t,e)=>Xv(null,See(t))==="pdf"||Xv(null,e)==="pdf"?!1:ALt.test(t)||MLt.test(e),LLt=ri.create({name:l0,group:"inline",inline:!0,atom:!0,selectable:!0,draggable:!0,addAttributes(){return{url:{default:"",parseHTML:t=>t.getAttribute("data-file-url")||"",renderHTML:t=>({"data-file-url":t.url||""})},label:{default:"Attachment",parseHTML:t=>t.getAttribute("data-file-label")||"Attachment",renderHTML:t=>({"data-file-label":t.label||"Attachment"})},filename:{default:"",parseHTML:t=>t.getAttribute("data-file-name")||"",renderHTML:t=>({"data-file-name":t.filename||""})},mimeType:{default:"",parseHTML:t=>t.getAttribute("data-file-mime-type")||"",renderHTML:t=>({"data-file-mime-type":t.mimeType||""})},byteSize:{default:null,parseHTML:t=>Wg(t.getAttribute("data-file-byte-size")),renderHTML:t=>{const e=Wg(t.byteSize);return e===null?{}:{"data-file-byte-size":String(e)}}},displayMode:{default:"inline",parseHTML:t=>xfe(t.getAttribute("data-file-display-mode")),renderHTML:t=>{const e=xfe(t.displayMode);return e==="compact"?{"data-file-display-mode":e}:{}}}}},parseHTML(){return[{tag:'span[data-type="edgeever-file-attachment"]'}]},renderHTML({HTMLAttributes:t}){return["span",yn(t,{"data-type":"edgeever-file-attachment",class:"edgeever-file-attachment"})]},parseMarkdown:t=>{const e=t.label||"Attachment";return{type:l0,attrs:{url:t.url||"",label:e,filename:See(e),mimeType:"",byteSize:null,displayMode:"inline"}}},renderMarkdown:t=>{var e,r;return`[${RLt(String(((e=t.attrs)==null?void 0:e.label)||"Attachment"))}](${String(((r=t.attrs)==null?void 0:r.url)||"")})`},markdownTokenizer:{name:l0,level:"inline",start(t){return t.indexOf("[")},tokenize(t){const e=ELt.exec(t);if(!(!e||!ILt(e[1],e[2])))return{type:l0,raw:e[0],label:e[1],url:e[2]}}}}),nq="details",DEe="detailsSummary",PEe="detailsContent",NLt=/^<details\b([^>]*)>/i,OLt=/^\s*<summary\b[^>]*>([\s\S]*?)<\/summary\s*>\s*/i,DLt=/^\s*<div\b[^>]*data-type=["']detailsContent["'][^>]*>([\s\S]*)<\/div>\s*$/i,_Ee=t=>t?typeof t.text=="string"?t.text:Array.isArray(t.content)?t.content.map(e=>_Ee(e)).join(""):"":"",kee=t=>t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),BEe=t=>t.replace(/&nbsp;/gi," ").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&#39;/gi,"'").replace(/&amp;/gi,"&"),PLt=t=>BEe(t.replace(/<[^>]+>/g,"")).trim(),_Lt=(t,e)=>{const r=new RegExp(`^<${e}\\b([^>]*)>`,"i").exec(t);if(!r)return null;const n=r[0];let i=1,a=n.length;const s=new RegExp(`<${e}\\b`,"ig"),o=new RegExp(`</${e}\\s*>`,"ig");for(;a<t.length&&i>0;){s.lastIndex=a,o.lastIndex=a;const l=s.exec(t),u=o.exec(t);if(!u)return null;if(l&&l.index<u.index){i+=1,a=l.index+l[0].length;continue}if(i-=1,a=u.index+u[0].length,i===0)return{raw:t.slice(0,a),inner:t.slice(n.length,u.index)}}return null},BLt=t=>{const e=DLt.exec(t.trim());return e?e[1]:t},$Lt=t=>new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s>]+))`,"i"),J3=(t,e)=>{const r=$Lt(e).exec(t);return BEe(((r==null?void 0:r[1])??(r==null?void 0:r[2])??(r==null?void 0:r[3])??"").trim())},FLt=t=>t.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]"),$Ee=t=>{if(!t||/[\u0000-\u0020"'<>`]/.test(t)||wLt(t))return!1;try{const e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}},zLt=t=>{if(!t||/[\u0000-\u0020"'<>`]/.test(t))return!1;if(t.startsWith("edgeever-resource://")||t.startsWith("edgeever-staged://")||t.startsWith("/")&&!t.startsWith("//"))return!0;try{const e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}},HLt=t=>{const e=t.trim();return/^\d+(?:\.\d+)?%$/.test(e)?gZ(e):null},FEe=t=>{const e=t.trim();if(!$Ee(e))return null;let r="";try{r=decodeURIComponent(new URL(e).pathname.split("/").filter(Boolean).pop()||"").trim()}catch{r=""}(!r||r.length>120||/[\\/[\]()<>]/.test(r))&&(r="");const n=r||"video";return{src:e,label:`附件:${n}`,filename:n,mimeType:Cee(null,n)??"video/mp4"}},wfe=(t,e,r)=>t.split(/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g).map(n=>n.startsWith("```")||n.startsWith("~~~")?n:(e.lastIndex=0,n.replace(e,r))).join(""),VLt=t=>{const e=[],r=[],n=wfe(t,/<video\b([^>]*)>([\s\S]*?)<\/video\s*>|<video\b([^>]*)\/>/gi,(a,s,o,l)=>{const u=FEe(J3(s||l||"","src"));return u?(r.push(u.src),`
[${FLt(u.label)}](${u.src})
`):""});return{markdown:wfe(n,/<img\b([^>]*)\/?>/gi,(a,s)=>{const o=J3(s||"","src");if(!o)return a;const l=J3(s||"","alt"),u=J3(s||"","title");return e.push({src:o,width:HLt(J3(s||"","width"))}),u?`![${l}](${o} "${u}")`:`![${l}](${o})`}),images:e,videoUrls:r}},GLt=(t,e,r)=>{const n=new Set(r);let i=0;const a=s=>{var o,l,u;if(s.type==="image"){const d=e[i],h=typeof((o=s.attrs)==null?void 0:o.src)=="string"?s.attrs.src:"";return d&&d.src===h&&(i+=1,d.width!=null)?{...s,attrs:{...s.attrs,width:d.width}}:s}if(s.type===l0&&n.has(String(((l=s.attrs)==null?void 0:l.url)||""))){const d=typeof((u=s.attrs)==null?void 0:u.filename)=="string"?s.attrs.filename:"";return{...s,attrs:{...s.attrs,mimeType:Cee(null,d)??"video/mp4"}}}return Array.isArray(s.content)?{...s,content:s.content.map(a)}:s};return t.map(a)},rE=(t,e)=>`${t}="${kee(e)}"`,WLt=t=>{var s,o,l,u;const e=typeof((s=t.attrs)==null?void 0:s.src)=="string"?t.attrs.src.trim():"";if(!zLt(e))return null;const r=typeof((o=t.attrs)==null?void 0:o.alt)=="string"?t.attrs.alt.trim():"",n=typeof((l=t.attrs)==null?void 0:l.title)=="string"?t.attrs.title.trim():"",i=((u=t.attrs)==null?void 0:u.width)==null||t.attrs.width===""?null:gZ(t.attrs.width),a=[rE("src",e)];return r&&a.push(rE("alt",r)),n&&a.push(rE("title",n)),i!=null&&a.push(rE("width",`${i}%`)),`<img ${a.join(" ")} />`},qLt=t=>{var e,r;return t.type===l0?t:t.type==="paragraph"&&((e=t.content)==null?void 0:e.length)===1&&((r=t.content[0])==null?void 0:r.type)===l0?t.content[0]:null},jLt=t=>{var a,s,o;const e=qLt(t);if(!e)return null;const r=typeof((a=e.attrs)==null?void 0:a.url)=="string"?e.attrs.url.trim():"";if(!$Ee(r))return null;const n=typeof((s=e.attrs)==null?void 0:s.filename)=="string"?e.attrs.filename:"",i=typeof((o=e.attrs)==null?void 0:o.mimeType)=="string"?e.attrs.mimeType:"";return Xv(i,n||r)!=="video"?null:`<video src="${kee(r)}" controls></video>`},YLt=(t,e)=>{const r=[],n=[],i=()=>{if(n.length===0)return;const a=e.renderChildren(n,`
`).trim();a&&r.push(a),n.length=0};for(const a of t){const s=a.type==="image"?WLt(a):jLt(a);if(!s){n.push(a);continue}i(),r.push(s)}return i(),r.join(`
`)},XLt=(t,e)=>{const r=t.createElement("p"),n=t.createElement("span");return n.setAttribute("data-type","edgeever-file-attachment"),n.setAttribute("data-file-url",e.src),n.setAttribute("data-file-label",e.label),n.setAttribute("data-file-name",e.filename),n.setAttribute("data-file-mime-type",e.mimeType),r.appendChild(n),r},KLt=t=>{if(typeof DOMParser>"u"||!t.includes("<details"))return t;const e=new DOMParser().parseFromString(t,"text/html"),r=[...e.querySelectorAll("details")].reverse();for(const n of r){for(const s of Array.from(n.querySelectorAll("video"))){if(s.closest("[data-type='edgeever-file-attachment'], [data-edgeever-video-player]"))continue;const o=FEe(s.getAttribute("src")||"");if(!o){s.remove();continue}s.replaceWith(XLt(e,o))}if(n.querySelector(':scope > [data-type="detailsContent"]'))continue;const i=e.createElement("div");i.setAttribute("data-type","detailsContent");for(const s of Array.from(n.childNodes))s.nodeName!=="SUMMARY"&&i.appendChild(s);i.hasChildNodes()||i.appendChild(e.createElement("p"));const a=n.querySelector(":scope > summary");a!=null&&a.nextSibling?n.insertBefore(i,a.nextSibling):n.appendChild(i)}return e.body.innerHTML},ZLt=`
.ProseMirror [data-type="details"],
.edgeever-editor-content [data-type="details"] {
display: flex;
align-items: flex-start;
gap: 0.1em;
margin: 0.15em 0;
padding: 0;
border: 0;
background: transparent;
}
.ProseMirror [data-type="details"] > button,
.edgeever-editor-content [data-type="details"] > button {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
justify-content: center;
box-sizing: border-box;
width: 1.6em;
height: 1.6em;
margin: 0;
padding: 0;
border: 0;
border-radius: 4px;
background: transparent;
color: #16a06e;
font: inherit;
line-height: 0;
cursor: pointer;
}
.ProseMirror [data-type="details"] > button:hover,
.edgeever-editor-content [data-type="details"] > button:hover {
background: color-mix(in srgb, currentColor 8%, transparent);
}
.ProseMirror [data-type="details"] > button:focus-visible,
.edgeever-editor-content [data-type="details"] > button:focus-visible {
outline: 2px solid color-mix(in srgb, #16a06e 55%, transparent);
outline-offset: 1px;
}
.ProseMirror [data-type="details"] > button::before,
.edgeever-editor-content [data-type="details"] > button::before {
content: "";
width: 0.32em;
height: 0.32em;
margin: 0;
border-right: 1.5px solid currentColor;
border-bottom: 1.5px solid currentColor;
transform: rotate(-45deg);
}
.ProseMirror [data-type="details"].is-open > button::before,
.edgeever-editor-content [data-type="details"].is-open > button::before {
transform: rotate(45deg);
}
.ProseMirror [data-type="details"] > div,
.edgeever-editor-content [data-type="details"] > div {
flex: 1;
min-width: 0;
}
.ProseMirror summary,
.edgeever-editor-content summary {
display: block;
margin: 0;
padding: 0;
font-size: inherit;
font-weight: 500;
line-height: inherit;
list-style: none;
cursor: text;
}
.ProseMirror summary::-webkit-details-marker,
.edgeever-editor-content summary::-webkit-details-marker {
display: none;
}
.ProseMirror [data-type="details"]:not(.is-open) [data-type="detailsContent"],
.edgeever-editor-content [data-type="details"]:not(.is-open) [data-type="detailsContent"] {
display: none !important;
}
.ProseMirror [data-type="details"].is-open [data-type="detailsContent"],
.edgeever-editor-content [data-type="details"].is-open [data-type="detailsContent"] {
margin-top: 0.15em;
}
`,JLt=(t,e)=>{const r=typeof t.summary=="string"?t.summary:"",n=t,i=GLt(e.parseChildren(t.tokens||[]),n.detailImages||[],n.detailVideoUrls||[]),a=i.length>0?i:[{type:"paragraph"}];return e.createNode(nq,void 0,[e.createNode(DEe,void 0,r?[e.createTextNode(r)]:[]),e.createNode(PEe,void 0,a)])},QLt=(t,e)=>{const r=Array.isArray(t.content)?t.content:[],n=r.find(o=>o.type===DEe),i=r.find(o=>o.type===PEe),a=kee(_Ee(n).trim()),s=Array.isArray(i==null?void 0:i.content)&&i.content.length>0?YLt(i.content,e):"";return`<details>
<summary>${a}</summary>
${s}
</details>`},eNt=gLt.extend({addOptions(){return{persist:!1,openClassName:"is-open",HTMLAttributes:{class:"edgeever-details"},renderToggleButton:({element:t,isOpen:e})=>{t.setAttribute("aria-label",e?"Collapse details":"Expand details")}}},parseMarkdown:JLt,renderMarkdown:QLt,markdownTokenizer:{name:nq,level:"block",start(t){const e=/<details\b/i.exec(t);return e?e.index:-1},tokenize(t,e,r){var h,f;const n=((h=/^\s*/.exec(t))==null?void 0:h[0])??"",i=t.slice(n.length);if(!NLt.test(i))return;const a=_Lt(i,"details");if(!a)return;const s=OLt.exec(a.inner),o=s?PLt(s[1]):"",l=VLt(BLt(s?a.inner.slice(s[0].length):a.inner)),u=l.markdown.trim()?r.blockTokens(l.markdown.trim()):[],d=((f=/^\s*\n/.exec(t.slice(n.length+a.raw.length)))==null?void 0:f[0])??"";return{type:nq,raw:`${n}${a.raw}${d}`,summary:o,tokens:u,detailImages:l.images,detailVideoUrls:l.videoUrls}}}}),tNt=ULt,rNt=mLt,nNt=()=>[eNt,tNt,rNt],P0="edgeeverImageGallery",zEe=["auto","2","3","1"],iNt="edgeever-image-upload://",aNt=t=>typeof t=="string"&&t.startsWith(iNt),iq=t=>zEe.includes(t)?t:"auto",HEe=ri.create({name:P0,group:"block",content:"image+",defining:!0,isolating:!0,addAttributes(){return{layout:{default:"auto",parseHTML:t=>iq(t.getAttribute("data-image-gallery-layout")),renderHTML:t=>({"data-image-gallery-layout":iq(t.layout)})}}},parseHTML(){return[{tag:"div[data-edgeever-image-gallery]"}]},renderHTML({node:t,HTMLAttributes:e}){return["div",yn(e,{"data-edgeever-image-gallery":"true","data-image-count":String(t.childCount)}),0]},renderMarkdown(t,e){return e.renderChildren(t.content??[],`
`)}}),nE="edgeeverMergeDivider",sNt="\x3C!-- edgeever:merge-divider -->",oNt=/^\x3C!--\s*edgeever:merge-divider\s*-->\s*(?:\n+---[ \t]*(?:\n+|$)|(?:\n+|$))/,lNt=ri.create({name:nE,group:"block",atom:!0,selectable:!0,draggable:!0,parseHTML(){return[{tag:"hr[data-edgeever-merge-divider]"}]},renderHTML({HTMLAttributes:t}){return["hr",yn(t,{"data-edgeever-merge-divider":"true",class:"edgeever-merge-divider"})]},renderMarkdown(){return`${sNt}
---`},parseMarkdown(t,e){return e.createNode(nE)},markdownTokenizer:{name:nE,level:"block",start(t){return t.indexOf("\x3C!-- edgeever:merge-divider -->")},tokenize(t){const e=oNt.exec(t);if(e)return{type:nE,raw:e[0],text:""}}}}),D2="edgeeverPdfAttachment",Tfe=t=>t==="inline"?"inline":"compact",cNt=/^\[([^\]]+)\]\(([^\s)]+)(?:\s+"[^"]*")?\)/,Cfe=(t,e)=>(e==null?void 0:e.trim().toLowerCase().endsWith(".pdf"))===!0,uNt=t=>t.replace(/\\/g,"\\\\").replace(/\[/g,"\\[").replace(/\]/g,"\\]"),dNt=ri.create({name:D2,group:"inline",inline:!0,atom:!0,selectable:!0,draggable:!0,addAttributes(){return{url:{default:"",parseHTML:t=>t.getAttribute("data-pdf-url")||"",renderHTML:t=>({"data-pdf-url":t.url||""})},label:{default:"PDF",parseHTML:t=>t.getAttribute("data-pdf-label")||"PDF",renderHTML:t=>({"data-pdf-label":t.label||"PDF"})},filename:{default:"",parseHTML:t=>t.getAttribute("data-pdf-name")||"",renderHTML:t=>({"data-pdf-name":t.filename||""})},mimeType:{default:"application/pdf",parseHTML:t=>t.getAttribute("data-pdf-mime-type")||"application/pdf",renderHTML:t=>({"data-pdf-mime-type":t.mimeType||"application/pdf"})},byteSize:{default:null,parseHTML:t=>Wg(t.getAttribute("data-pdf-byte-size")),renderHTML:t=>{const e=Wg(t.byteSize);return e===null?{}:{"data-pdf-byte-size":String(e)}}},displayMode:{default:"compact",parseHTML:t=>Tfe(t.getAttribute("data-pdf-display-mode")),renderHTML:t=>({"data-pdf-display-mode":Tfe(t.displayMode)})}}},parseHTML(){return[{tag:'span[data-type="edgeever-pdf-attachment"]'}]},renderHTML({HTMLAttributes:t}){return["span",yn(t,{"data-type":"edgeever-pdf-attachment",class:"edgeever-pdf-attachment"})]},parseMarkdown:t=>({type:D2,attrs:{url:t.url||"",label:t.label||"PDF",filename:See(t.label||"PDF"),mimeType:"application/pdf",byteSize:null,displayMode:"compact"}}),renderMarkdown:t=>{var e,r;return`[${uNt(String(((e=t.attrs)==null?void 0:e.label)||"PDF"))}](${String(((r=t.attrs)==null?void 0:r.url)||"")})`},markdownTokenizer:{name:D2,level:"inline",start(t){return t.indexOf("[")},tokenize(t){const e=cNt.exec(t);if(!(!e||!Cfe(null,e[1])&&!Cfe(null,e[2])))return{type:D2,raw:e[0],label:e[1],url:e[2]}}}}),G9="edgeeverPluginEmbed",VEe="edgeever-plugin-embed",Ty=(t,e=500)=>typeof t=="string"?t.trim().slice(0,e):"",Sfe=t=>{if(!t||typeof t!="object")return null;const e=t,r=Ty(e.id,160),n=Ty(e.pluginId,160),i=Ty(e.type,120),a=Ty(e.resourceId,200);if(!r||!n||!i||!a)return null;const s=typeof e.dataJson=="string"?e.dataJson:"null";try{JSON.parse(s)}catch{return null}return{id:r,pluginId:n,type:i,resourceId:a,previewResourceId:Ty(e.previewResourceId,200),title:Ty(e.title,500),dataJson:s}},hNt=t=>`\`\`\`${VEe}
${JSON.stringify(t)}
\`\`\``,fNt=/^```edgeever-plugin-embed[ \t]*\n([^\n]+)\n```(?:\n|$)/,pNt=ri.create({name:G9,group:"block",atom:!0,selectable:!0,draggable:!0,addAttributes(){return{id:{default:""},pluginId:{default:""},type:{default:""},resourceId:{default:""},previewResourceId:{default:""},title:{default:""},dataJson:{default:"null"}}},parseHTML(){return[{tag:'figure[data-type="edgeever-plugin-embed"]'}]},renderHTML({HTMLAttributes:t}){const e=typeof t.title=="string"&&t.title?t.title:"Plugin embed";return["figure",yn(t,{"data-type":"edgeever-plugin-embed",class:"edgeever-plugin-embed",contenteditable:"false"}),["figcaption",{},e]]},parseMarkdown:t=>({type:G9,attrs:t.attrs}),renderMarkdown:t=>{const e=Sfe(t.attrs);return e?hNt(e):""},markdownTokenizer:{name:G9,level:"block",start(t){return t.indexOf(`\`\`\`${VEe}`)},tokenize(t){const e=fNt.exec(t);if(e)try{const r=Sfe(JSON.parse(e[1]));return r?{type:G9,raw:e[0],attrs:r}:void 0}catch{return}}}}),Eee="edgeeverEmptyExternalLink",kfe=t=>{if(typeof t!="string")return"";const e=t.trim();return/^(?:https?:\/\/|\/|#)/i.test(e)?e:""},gNt=ri.create({name:Eee,group:"inline",inline:!0,atom:!0,selectable:!0,addAttributes(){return{href:{default:""},title:{default:null}}},parseHTML(){return[{tag:"a[data-edgeever-empty-link]"}]},renderHTML({HTMLAttributes:t}){const e=kfe(t.href);return["a",yn(t,{href:e||void 0,target:"_blank",rel:"noopener noreferrer","data-edgeever-empty-link":"true","aria-label":e?`Open link: ${e}`:"Open link",class:"edgeever-empty-external-link"}),"↗"]},renderMarkdown(t){var n,i;const e=kfe((n=t.attrs)==null?void 0:n.href);if(!e)return"";const r=typeof((i=t.attrs)==null?void 0:i.title)=="string"&&t.attrs.title?` "${t.attrs.title.replaceAll('"','\\"')}"`:"";return`[](${e}${r})`}}),WD="[\0-   ᠎ -\u2029  ]",mNt=new RegExp(WD),UNt=new RegExp(`${WD}$`),yNt=new RegExp(`${WD}+$`),bNt=new RegExp(WD,"g");function vNt(t,e,r){var n,i;const a=t.doc.resolve(e.to);if(!(!((n=a.nodeBefore)===null||n===void 0)&&n.isText))return;const s=(i=t.doc.textBetween(e.from,e.to,"","").match(yNt))===null||i===void 0?void 0:i[0];if(!s)return;const o=e.to-s.length,l=q4(o,e.to,t.doc).filter(h=>h.mark.type===r);if(!l.length)return;const{nodeAfter:u}=a;if(u&&l.some(h=>h.mark.isInSet(u.marks)))return;const d=t.storedMarks;t.removeMark(o,e.to,r),t.setStoredMarks(d),t.selection.empty&&t.selection.from===e.to&&t.removeStoredMark(r)}function xNt(t){return t.length===1?t[0].isLink:t.length===3&&t[1].isLink?["()","[]"].includes(t[0].value+t[2].value):!1}function wNt(t){return new ci({key:new Mi("autolink"),appendTransaction:(e,r,n)=>{const i=e.some(l=>l.docChanged)&&!r.doc.eq(n.doc),a=e.some(l=>l.getMeta("preventAutolink"));if(!i||a)return;const{tr:s}=n,o=NJ(r.doc,[...e]);if(!e.some(M4e)){const l=[];o.steps.forEach((u,d)=>{if(!(u instanceof va)||!u.slice.size)return;const h=o.mapping.slice(d+1),f=h.map(u.from,1),p=h.map(u.from+u.slice.size,-1);f<p&&l.push({from:f,to:p})}),l.sort((u,d)=>d.to-u.to),l.forEach(u=>vNt(s,u,t.type))}if(QC(o).forEach(({newRange:l})=>{const u=F4e(n.doc,l,f=>f.isTextblock);let d,h;if(u.length>1)d=u[0],h=n.doc.textBetween(d.pos,d.pos+d.node.nodeSize,void 0," ");else if(u.length){const f=n.doc.textBetween(l.from,l.to," "," ");if(!UNt.test(f))return;d=u[0],h=n.doc.textBetween(d.pos,l.to,void 0," ")}if(d&&h){const f=h.split(mNt).filter(Boolean);if(f.length<=0)return!1;const p=f[f.length-1],g=d.pos+h.lastIndexOf(p);if(!p)return!1;const m=HD(p).map(U=>U.toObject(t.defaultProtocol));if(!xNt(m))return!1;m.filter(U=>U.isLink).map(U=>({...U,from:g+U.start+1,to:g+U.end+1})).filter(U=>n.schema.marks.code?!n.doc.rangeHasMark(U.from,U.to,n.schema.marks.code):!0).filter(U=>t.validate(U.value)).filter(U=>t.shouldAutoLink(U.value)).forEach(U=>{q4(U.from,U.to,n.doc).some(y=>y.mark.type===t.type)||s.addMark(U.from,U.to,t.type.create({href:U.href}))})}}),!!s.steps.length)return s}})}function TNt(t){return new ci({key:new Mi("handleClickLink"),props:{handleClick:(e,r,n)=>{if(n.button!==0||!e.editable)return!1;let i=null;if(n.target instanceof HTMLAnchorElement)i=n.target;else{const l=n.target;if(!l)return!1;const u=t.editor.view.dom;i=l.closest("a"),i&&!u.contains(i)&&(i=null)}if(!i)return!1;let a=!1;if(t.enableClickSelection&&(a=t.editor.commands.extendMarkRange(t.type.name)),t.openOnClick){var s,o;const l=PJ(e.state,t.type.name),u=(s=i.href)!==null&&s!==void 0?s:l.href,d=(o=i.target)!==null&&o!==void 0?o:l.target;u&&(window.open(u,d),a=!0)}return a}}})}const CNt=/\[([^[\]]+)\]\(((?:[^\s()]|\([^\s()]*\))+)(?:\s+(?:(["'])(.*?)\3|“(.*?)”|‘(.*?)’))?\)$/,SNt=/\[([^[\]]+)\]\(((?:[^\s()]|\([^\s()]*\))+)(?:\s+(?:(["'])(.*?)\3|“(.*?)”|‘(.*?)’))?\)/g;function GEe(t,e){let r=0;for(let n=e-1;n>=0&&t[n]==="\\";n-=1)r+=1;return r%2===1}function kNt(t,e){let r=0,n=0;for(;n<e;){if(t[n]!=="`"){n+=1;continue}if(r===0&&GEe(t,n)){n+=1;continue}let i=0;for(;n<e&&t[n]==="`";)i+=1,n+=1;r===0?r=i:i===r&&(r=0)}return r>0}function WEe(t,e,r){var n,i;const[,a,s]=e;return(e.index?t[e.index-1]:void 0)==="!"||GEe(t,(n=e.index)!==null&&n!==void 0?n:0)||kNt(t,(i=e.index)!==null&&i!==void 0?i:0)?!1:!!a.trim()&&r(s)}function qEe(t){var e,r;const[n,i,a,,s,o,l]=t,u=(e=s??o)!==null&&e!==void 0?e:l;return{index:(r=t.index)!==null&&r!==void 0?r:0,text:n,replaceWith:i,data:{href:a,title:u||null,markdown:!0}}}function ENt(t,e){return t.index<e.index+e.text.length&&e.index<t.index+t.text.length}function jEe(t){var e,r,n;return{href:(e=t.data)===null||e===void 0?void 0:e.href,title:(r=(n=t.data)===null||n===void 0?void 0:n.title)!==null&&r!==void 0?r:null}}function ANt(t){const e=Fg({find:r=>{const n=CNt.exec(r);return!n||!WEe(r,n,t.isAllowedHref)?null:qEe(n)},type:t.type,getAttributes:jEe});return new Zd({find:e.find,handler:r=>{const n=e.handler(r);return n!==null&&r.state.tr.steps.length&&r.state.tr.setMeta("preventAutolink",!0),n}})}function MNt(t){const e=jh({find:r=>{var n,i;const a=[];for(const o of r.matchAll(SNt))WEe(r,o,t.isAllowedHref)&&a.push(qEe(o));const s=((n=(i=t.findPlainUrls)===null||i===void 0?void 0:i.call(t,r))!==null&&n!==void 0?n:[]).filter(o=>!a.some(l=>ENt(l,o)));return[...a,...s]},type:t.type,getAttributes:jEe});return new tS({find:e.find,handler:r=>{var n;const i=e.handler(r);return i!==null&&r.state.tr.steps.length&&(!((n=r.match.data)===null||n===void 0)&&n.markdown)&&r.state.tr.setMeta("preventAutolink",!0),i}})}function RNt(t){return new ci({key:new Mi("handlePasteLink"),props:{handlePaste:(e,r,n)=>{const{shouldAutoLink:i}=t,{state:a}=e,{selection:s}=a,{empty:o}=s;if(o)return!1;let l="";n.content.forEach(d=>{l+=d.textContent});const u=VD(l,{defaultProtocol:t.defaultProtocol}).find(d=>d.isLink&&d.value===l);return!l||!u||i!==void 0&&!i(u.value)?!1:t.editor.commands.setMark(t.type,{href:u.href})}}})}function If(t,e){const r=["http","https","ftp","ftps","mailto","tel","callto","sms","cid","xmpp"];return e&&e.forEach(n=>{const i=typeof n=="string"?n:n.scheme;i&&r.push(i)}),!t||t.replace(bNt,"").match(new RegExp(`^(?:(?:${r.map(n=>n.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")).join("|")}):|[^a-z]|[a-z0-9+.\\-]+(?:[^a-z+.\\-:]|$))`,"i"))}const INt=np.create({name:"link",priority:1e3,keepOnSplit:!1,exitable:!0,onCreate(){this.options.validate&&!this.options.shouldAutoLink&&(this.options.shouldAutoLink=this.options.validate,console.warn("The `validate` option is deprecated. Rename to the `shouldAutoLink` option instead.")),this.options.protocols.forEach(t=>{if(typeof t=="string"){gL(t);return}gL(t.scheme,t.optionalSlashes)})},onDestroy(){REe()},inclusive(){return this.options.autolink},addOptions(){return{openOnClick:!0,enableClickSelection:!1,linkOnPaste:!0,markdownLinks:!1,autolink:!0,protocols:[],defaultProtocol:"http",HTMLAttributes:{target:"_blank",rel:"noopener noreferrer nofollow",class:null},isAllowedUri:(t,e)=>!!If(t,e.protocols),validate:t=>!!t,shouldAutoLink:t=>{const e=/^[a-z][a-z0-9+.-]*:\/\//i.test(t),r=/^[a-z][a-z0-9+.-]*:/i.test(t);if(e||r&&!t.includes("@"))return!0;const n=(t.includes("@")?t.split("@").pop():t).split(/[/?#:]/)[0];return!(/^\d{1,3}(\.\d{1,3}){3}$/.test(n)||!/\./.test(n))}}},addAttributes(){var t,e,r;return{href:{default:null,parseHTML(n){return n.getAttribute("href")}},target:{default:(t=this.options.HTMLAttributes.target)!==null&&t!==void 0?t:null},rel:{default:(e=this.options.HTMLAttributes.rel)!==null&&e!==void 0?e:null},class:{default:(r=this.options.HTMLAttributes.class)!==null&&r!==void 0?r:null},title:{default:null}}},parseHTML(){return[{tag:"a[href]",getAttrs:t=>{const e=t.getAttribute("href");return!e||!this.options.isAllowedUri(e,{defaultValidate:r=>!!If(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:null}}]},renderHTML({HTMLAttributes:t}){return this.options.isAllowedUri(t.href,{defaultValidate:e=>!!If(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?["a",yn(this.options.HTMLAttributes,t),0]:["a",yn(this.options.HTMLAttributes,{...t,href:""}),0]},markdownTokenName:"link",parseMarkdown:(t,e)=>e.applyMark("link",e.parseInline(t.tokens||[]),{href:t.href,title:t.title||null}),renderMarkdown:(t,e)=>{var r,n,i,a;const s=(r=(n=t.attrs)===null||n===void 0?void 0:n.href)!==null&&r!==void 0?r:"",o=(i=(a=t.attrs)===null||a===void 0?void 0:a.title)!==null&&i!==void 0?i:"",l=e.renderChildren(t);return o?`[${l}](${s} "${o}")`:`[${l}](${s})`},addCommands(){return{setLink:t=>({chain:e})=>{const{href:r}=t;return this.options.isAllowedUri(r,{defaultValidate:n=>!!If(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?e().setMark(this.name,t).setMeta("preventAutolink",!0).run():!1},toggleLink:t=>({chain:e})=>{const{href:r}=t||{};return r&&!this.options.isAllowedUri(r,{defaultValidate:n=>!!If(n,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})?!1:e().toggleMark(this.name,t,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()},unsetLink:()=>({chain:t})=>t().unsetMark(this.name,{extendEmptyMarkRange:!0}).setMeta("preventAutolink",!0).run()}},addInputRules(){return this.options.markdownLinks?[ANt({type:this.type,isAllowedHref:t=>this.options.isAllowedUri(t,{defaultValidate:e=>!!If(e,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol})})]:[]},addPasteRules(){const t=e=>{const r=[];if(e){const{protocols:n,defaultProtocol:i}=this.options;VD(e).filter(a=>a.isLink&&this.options.isAllowedUri(a.value,{defaultValidate:s=>!!If(s,n),protocols:n,defaultProtocol:i})).forEach(a=>{this.options.shouldAutoLink(a.value)&&r.push({text:a.value,data:{href:a.href},index:a.start})})}return r};return this.options.markdownLinks?[MNt({type:this.type,isAllowedHref:e=>this.options.isAllowedUri(e,{defaultValidate:r=>!!If(r,this.options.protocols),protocols:this.options.protocols,defaultProtocol:this.options.defaultProtocol}),findPlainUrls:t})]:[jh({find:t,type:this.type,getAttributes:e=>{var r;return{href:(r=e.data)===null||r===void 0?void 0:r.href}}})]},addProseMirrorPlugins(){const t=[],{protocols:e,defaultProtocol:r}=this.options;return this.options.autolink&&t.push(wNt({type:this.type,defaultProtocol:this.options.defaultProtocol,validate:n=>this.options.isAllowedUri(n,{defaultValidate:i=>!!If(i,e),protocols:e,defaultProtocol:r}),shouldAutoLink:this.options.shouldAutoLink})),t.push(TNt({type:this.type,editor:this.editor,openOnClick:this.options.openOnClick==="whenNotEditable"?!0:this.options.openOnClick,enableClickSelection:this.options.enableClickSelection})),this.options.linkOnPaste&&t.push(RNt({editor:this.editor,defaultProtocol:this.options.defaultProtocol,type:this.type,shouldAutoLink:this.options.shouldAutoLink})),t}});var LNt=INt;function NNt(t){if(/^[a-z][a-z\d+.-]*:/i.test(t)||t.includes("@"))return 0;const r=t.split(".",1)[0].match(/^.*[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}](?=[a-z\d-]+$)/u);return(r==null?void 0:r[0].length)??0}const ONt=LNt.extend({inclusive:!1,addPasteRules(){var e;const t=((e=this.parent)==null?void 0:e.call(this))??[];for(const r of t){const n=r.find;typeof n=="function"&&(r.find=(i,a)=>(n(i,a)??[]).flatMap(s=>{if(s.replaceWith!==void 0)return[s];const o=NNt(s.text);return o?(n(s.text.slice(o),a)??[]).map(l=>({...l,index:s.index+o+l.index})):[s]}))}return t},parseMarkdown(t,e){var r;return!((r=t.tokens)!=null&&r.length)&&t.text===""&&typeof t.href=="string"&&t.href?{type:Eee,attrs:{href:t.href,title:t.title||null}}:e.applyMark("link",e.parseInline(t.tokens||[]),{href:t.href,title:t.title||null})}}),DNt=/^\s*\[([ xX])\] $/,PNt=({state:t,range:e,match:r})=>{var C,k;const n=((C=r[1])==null?void 0:C.toLowerCase())==="x",i=t.doc.resolve(e.from);if(i.parent.type.name!=="paragraph"||i.depth<2||i.node(-1).type.name!=="listItem"||i.node(-2).type.name!=="bulletList")return null;const a=t.schema.nodes.taskItem,s=t.schema.nodes.taskList;if(!a||!s)return null;const o=t.tr.delete(e.from,e.to),l=o.doc.resolve(e.from);if(l.parent.type.name!=="paragraph"||l.depth<2)return null;const u=l.node(-1),d=l.node(-2);if(u.type.name!=="listItem"||d.type.name!=="bulletList")return null;const h=l.depth-2,f=l.index(h),p=a.create({checked:n},u.content),g=s.create(null,p),m=[],U=[];d.forEach((E,A,M)=>{M<f?m.push(E):M>f&&U.push(E)});const y=[...m.length?[d.type.create(d.attrs,m)]:[],g,...U.length?[d.type.create(d.attrs,U)]:[]],b=l.before(h);o.replaceWith(b,l.after(h),y);let v=b;m.length&&(v+=((k=y[0])==null?void 0:k.nodeSize)??0);const w=v+3,T=o.steps.length,S=E=>{var M,P;if(E<=0||E>=o.doc.content.size)return;const A=o.doc.resolve(E);((M=A.nodeBefore)==null?void 0:M.type)!==s||((P=A.nodeAfter)==null?void 0:P.type)!==s||Ml(o.doc,E)&&o.join(E)};S(v+g.nodeSize),S(v),o.setSelection(yr.create(o.doc,o.mapping.slice(T).map(w)))},_Nt=()=>rEe.extend({addInputRules(){var t;return[new Zd({find:DNt,handler:PNt}),...((t=this.parent)==null?void 0:t.call(this))??[]]}}).configure({nested:!0}),RT="blockMath",UL="inlineMath",BNt=Oi.create({name:"mathCodeFence",priority:101,markdownTokenName:"code",parseMarkdown:t=>{var e;return t.lang!=="math"||!((e=t.text)!=null&&e.trim())?[]:{type:RT,attrs:{latex:t.text.trim()}}}}),yL=(t,e)=>{let r=0;for(let n=e-1;n>=0&&t[n]==="\\";n-=1)r+=1;return r%2===1},gS=(t,e,r)=>{for(let n=r;n<=t.length-e.length;n+=1)if(t.startsWith(e,n)&&!yL(t,n))return n;return-1},Aee=t=>/^\d+(?:[.,]\d+)?$/u.test(t),$Nt=(t,e)=>{if(t[e]!=="$"||yL(t,e)||t.startsWith("$$",e)||e>0&&t[e-1]==="$"&&!yL(t,e-1))return null;const r=gS(t,"$",e+1);if(r<0||t[r+1]==="$")return null;const n=t.slice(e+1,r).trim();return!n||n.includes(`
`)||Aee(n)?null:{index:e,raw:t.slice(e,r+1),latex:n}},FNt=(t,e)=>{if(yL(t,e)||t.startsWith("$$",e))return e+1;const r=gS(t,"$",e+1);if(r<0||t[r+1]==="$")return e+1;const n=t.slice(e+1,r).trim();return n&&!n.includes(`
`)&&Aee(n)?r+1:e+1},YEe=t=>{const e=[];let r=0;for(;r<t.length;){const n=t.indexOf("$",r);if(n<0)break;const i=$Nt(t,n);if(!i){r=FNt(t,n);continue}e.push(i),r=i.index+i.raw.length}return e},zNt=t=>{const e=YEe(t).at(-1);return!e||e.index+e.raw.length!==t.length?null:e},Efe=t=>{const e=t.trim();if(!e.startsWith("$$")||e.startsWith("$$$"))return null;const r=gS(e,"$$",2);if(r<0||e.slice(r+2).trim()!=="")return null;const n=e.slice(2,r).trim();return n?{latex:n}:null},XEe={name:UL,level:"inline",start:t=>t.indexOf("$"),tokenize:t=>{if(!t.startsWith("$")||t.startsWith("$$"))return;const e=gS(t,"$",1);if(e<0||t[e+1]==="$")return;const r=t.slice(0,e+1),n=t.slice(1,e).trim();if(!(!n||n.includes(`
`)))return Aee(n)?{type:"text",raw:r,text:r}:{type:UL,raw:r,latex:n}}},KEe={name:RT,level:"block",start:t=>t.indexOf("$$"),tokenize:t=>{if(!t.startsWith("$$")||t.startsWith("$$$"))return;const e=gS(t,"$$",2);if(e<0)return;const r=t.slice(2,e).trim();if(r)return{type:RT,raw:t.slice(0,e+2),latex:r}}},HNt=ri.create({name:UL,group:"inline",inline:!0,atom:!0,addAttributes(){return{latex:{default:"",parseHTML:t=>t.getAttribute("data-latex"),renderHTML:t=>({"data-latex":t.latex})}}},parseHTML(){return[{tag:'span[data-type="inline-math"]'}]},renderHTML({HTMLAttributes:t}){return["span",yn(t,{"data-type":"inline-math"})]},parseMarkdown:t=>({type:UL,attrs:{latex:t.latex}}),renderMarkdown:t=>{var e;return`$${((e=t.attrs)==null?void 0:e.latex)||""}$`},markdownTokenizer:XEe}),VNt=ri.create({name:RT,group:"block",atom:!0,addAttributes(){return{latex:{default:"",parseHTML:t=>t.getAttribute("data-latex"),renderHTML:t=>({"data-latex":t.latex})}}},parseHTML(){return[{tag:'div[data-type="block-math"]'}]},renderHTML({HTMLAttributes:t}){return["div",yn(t,{"data-type":"block-math"})]},parseMarkdown:t=>({type:RT,attrs:{latex:t.latex}}),renderMarkdown:t=>{var e;return["$$",((e=t.attrs)==null?void 0:e.latex)||"","$$"].join(`
`)},markdownTokenizer:KEe}),GNt=()=>[VNt.configure(),HNt.configure()],Q3=(t,e)=>t===!1?[]:[t??e],ZEe=t=>[t.markdown?aF.configure({...t.starterKit,link:!1}):t.starterKit===void 0?aF:aF.configure(t.starterKit),...t.markdown?[ONt]:[],gNt,nEe,_Nt(),t.table===void 0?ffe:ffe.configure(t.table),...Q3(t.image,o3e),...Q3(t.gallery,HEe),...Q3(t.pdf,dNt),...Q3(t.file,LLt),lNt,...nNt(),...Q3(t.pluginEmbed,pNt),...t.mathematics,BNt,...t.markdown?[cMt.configure({markedOptions:{gfm:!0}})]:[]],Mee="edgeeverUnsupportedBlock",IT="edgeeverUnsupportedInline",mS="edgeeverUnsupportedMark",LT=new Set([Mee,IT]),JEe=new Set(["doc","text","paragraph","heading","blockquote","bulletList","orderedList","listItem","taskList","taskItem","codeBlock","hardBreak","horizontalRule","image","details","detailsSummary","detailsContent","edgeeverImageGallery","table","tableRow","tableHeader","tableCell","edgeeverMergeDivider","edgeeverVideoNote",Eee,"inlineMath","blockMath",...LT]),aq=new Set(["bold","italic","strike","underline","code","link",mS]),WNt=new Set([...JEe,l0,D2,G9]),QEe=new Set(["paragraph","heading"]),qD=t=>t.type==="text"&&"text"in t,NT=t=>typeof(t==null?void 0:t.originalType)=="string"?t.originalType:"unknown",Kv=(t,e)=>e==="zh-CN"?`暂不支持的内容:${t}`:e==="ja"?`未対応のコンテンツ: ${t}`:e==="pl"?`Nieobsługiwana zawartość: ${t}`:`Unsupported content: ${t}`,qNt=(t,e)=>({originalType:t.type,originalJson:JSON.stringify(t),displayLabel:Kv(t.type,e)}),eAe=t=>{if(typeof(t==null?void 0:t.originalJson)!="string")return null;try{const e=JSON.parse(t.originalJson);return e&&typeof e.type=="string"?e:null}catch{return null}},jNt=t=>{if(typeof(t==null?void 0:t.originalMarksJson)!="string")return[];try{const e=JSON.parse(t.originalMarksJson);return Array.isArray(e)?e.filter(r=>!!(r&&typeof r=="object"&&typeof r.type=="string")):[]}catch{return[]}},YNt=ri.create({name:Mee,group:"block",atom:!0,selectable:!0,addAttributes(){return{originalType:{default:"unknown"},originalJson:{default:""},displayLabel:{default:""}}},parseHTML(){return[{tag:"div[data-edgeever-unsupported-block]"}]},renderHTML({node:t}){const e=NT(t.attrs);return["div",{"data-edgeever-unsupported-block":"true","data-original-type":e,class:"edgeever-unsupported-content edgeever-unsupported-content--block",contenteditable:"false"},typeof t.attrs.displayLabel=="string"&&t.attrs.displayLabel?t.attrs.displayLabel:Kv(e)]}}),XNt=ri.create({name:IT,group:"inline",inline:!0,atom:!0,selectable:!0,addAttributes(){return{originalType:{default:"unknown"},originalJson:{default:""},displayLabel:{default:""}}},parseHTML(){return[{tag:"span[data-edgeever-unsupported-inline]"}]},renderHTML({node:t}){const e=NT(t.attrs);return["span",{"data-edgeever-unsupported-inline":"true","data-original-type":e,class:"edgeever-unsupported-content edgeever-unsupported-content--inline",contenteditable:"false"},typeof t.attrs.displayLabel=="string"&&t.attrs.displayLabel?t.attrs.displayLabel:Kv(e)]}}),KNt=np.create({name:mS,addAttributes(){return{originalMarksJson:{default:"[]"}}},parseHTML(){return[{tag:"span[data-edgeever-unsupported-mark]"}]},renderHTML(){return["span",{"data-edgeever-unsupported-mark":"true",class:"edgeever-unsupported-mark"},0]}}),ZNt=()=>[YNt,XNt,KNt],JNt=t=>{const e=t.marks??[],r=e.filter(i=>aq.has(i.type));return e.filter(i=>!aq.has(i.type)).length?{...t,marks:[...r,{type:mS,attrs:{originalMarksJson:JSON.stringify(e)}}]}:t},QNt=(t,e)=>{const r=(n,i)=>{if(qD(n))return JNt(n);if(!JEe.has(n.type))return{type:QEe.has(i)?IT:Mee,attrs:qNt(n,e)};const a=n;return LT.has(a.type)?a:a.content?{...a,content:a.content.map(s=>r(s,a.type))}:a};return{...t,content:t.content.map(n=>r(n,"doc"))}},Ree=t=>{const e=r=>{var i;if(LT.has(r.type)){const a=r;return eAe(a.attrs)??{type:r.type===IT?"text":"paragraph",...r.type===IT?{text:Kv(NT(a.attrs))}:{content:[{type:"text",text:Kv(NT(a.attrs))}]}}}if(qD(r)){const a=r,s=(i=a.marks)==null?void 0:i.find(l=>l.type===mS),o=s?jNt(s.attrs):a.marks??[];return o.length?{...a,marks:o}:{type:"text",text:a.text}}const n=r;return n.content?{...n,content:n.content.map(e)}:n};return{...t,content:t.content.map(r=>e(r))}},tAe=t=>{var e;return qD(t)?t.text:((e=t.content)==null?void 0:e.map(tAe).filter(Boolean).join(" "))??""},eOt=t=>{const e=(r,n)=>{var a;if(qD(r)){const s=r;return{...s,marks:(a=s.marks)==null?void 0:a.filter(o=>aq.has(o.type)&&o.type!==mS)}}if(!WNt.has(r.type)||LT.has(r.type)){const s=r,o=LT.has(r.type)?eAe(s.attrs):s,l=(o==null?void 0:o.type)??NT(s.attrs),d=(o?tAe(o):"")||Kv(l);return QEe.has(n)?{type:"text",text:d}:{type:"paragraph",content:[{type:"text",text:d}]}}const i=r;return i.content?{...i,content:i.content.map(s=>e(s,i.type))}:i};return{...t,content:t.content.map(r=>e(r,"doc"))}},Iee=Symbol.for("yaml.alias"),tOt=Symbol.for("yaml.document"),RU=Symbol.for("yaml.map"),rAe=Symbol.for("yaml.pair"),Lee=Symbol.for("yaml.scalar"),US=Symbol.for("yaml.seq"),cf=Symbol.for("yaml.node.type"),I5=t=>!!t&&typeof t=="object"&&t[cf]===Iee,jD=t=>!!t&&typeof t=="object"&&t[cf]===tOt,nAe=t=>!!t&&typeof t=="object"&&t[cf]===RU,Do=t=>!!t&&typeof t=="object"&&t[cf]===rAe,_s=t=>!!t&&typeof t=="object"&&t[cf]===Lee,Nee=t=>!!t&&typeof t=="object"&&t[cf]===US;function Gc(t){if(t&&typeof t=="object")switch(t[cf]){case RU:case US:return!0}return!1}function Zo(t){if(t&&typeof t=="object")switch(t[cf]){case Iee:case RU:case Lee:case US:return!0}return!1}const iAe=t=>(_s(t)||Gc(t))&&!!t.anchor,xm=Symbol("break visit"),rOt=Symbol("skip children"),tw=Symbol("remove node");function YD(t,e){const r=nOt(e);jD(t)?P2(null,t.contents,r,Object.freeze([t]))===tw&&(t.contents=null):P2(null,t,r,Object.freeze([]))}YD.BREAK=xm;YD.SKIP=rOt;YD.REMOVE=tw;function P2(t,e,r,n){const i=iOt(t,e,r,n);if(Zo(i)||Do(i))return aOt(t,n,i),P2(t,i,r,n);if(typeof i!="symbol"){if(Gc(e)){n=Object.freeze(n.concat(e));for(let a=0;a<e.items.length;++a){const s=P2(a,e.items[a],r,n);if(typeof s=="number")a=s-1;else{if(s===xm)return xm;s===tw&&(e.items.splice(a,1),a-=1)}}}else if(Do(e)){n=Object.freeze(n.concat(e));const a=P2("key",e.key,r,n);if(a===xm)return xm;a===tw&&(e.key=null);const s=P2("value",e.value,r,n);if(s===xm)return xm;s===tw&&(e.value=null)}}return i}function nOt(t){return typeof t=="object"&&(t.Collection||t.Node||t.Value)?Object.assign({Alias:t.Node,Map:t.Node,Scalar:t.Node,Seq:t.Node},t.Value&&{Map:t.Value,Scalar:t.Value,Seq:t.Value},t.Collection&&{Map:t.Collection,Seq:t.Collection},t):t}function iOt(t,e,r,n){var i,a,s,o,l;if(typeof r=="function")return r(t,e,n);if(nAe(e))return(i=r.Map)==null?void 0:i.call(r,t,e,n);if(Nee(e))return(a=r.Seq)==null?void 0:a.call(r,t,e,n);if(Do(e))return(s=r.Pair)==null?void 0:s.call(r,t,e,n);if(_s(e))return(o=r.Scalar)==null?void 0:o.call(r,t,e,n);if(I5(e))return(l=r.Alias)==null?void 0:l.call(r,t,e,n)}function aOt(t,e,r){const n=e[e.length-1];if(Gc(n))n.items[t]=r;else if(Do(n))t==="key"?n.key=r:n.value=r;else if(jD(n))n.contents=r;else{const i=I5(n)?"alias":"scalar";throw new Error(`Cannot replace node with ${i} parent`)}}function aAe(t){if(/[\x00-\x19\s,[\]{}]/.test(t)){const r=`Anchor must not contain whitespace or control characters: ${JSON.stringify(t)}`;throw new Error(r)}return!0}function W9(t,e,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,a=n.length;i<a;++i){const s=n[i],o=W9(t,n,String(i),s);o===void 0?delete n[i]:o!==s&&(n[i]=o)}else if(n instanceof Map)for(const i of Array.from(n.keys())){const a=n.get(i),s=W9(t,n,i,a);s===void 0?n.delete(i):s!==a&&n.set(i,s)}else if(n instanceof Set)for(const i of Array.from(n)){const a=W9(t,n,i,i);a===void 0?n.delete(i):a!==i&&(n.delete(i),n.add(a))}else for(const[i,a]of Object.entries(n)){const s=W9(t,n,i,a);s===void 0?delete n[i]:s!==a&&(n[i]=s)}return t.call(e,r,n)}function Id(t,e,r){if(Array.isArray(t))return t.map((n,i)=>Id(n,String(i),r));if(t&&typeof t.toJSON=="function"){if(!r||!iAe(t))return t.toJSON(e,r);const n={aliasCount:0,count:1,res:void 0};r.anchors.set(t,n),r.onCreate=a=>{n.res=a,delete r.onCreate};const i=t.toJSON(e,r);return r.onCreate&&r.onCreate(i),i}return typeof t=="bigint"&&!(r!=null&&r.keep)?Number(t):t}class Oee{constructor(e){Object.defineProperty(this,cf,{value:e})}clone(){const e=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(e.range=this.range.slice()),e}toJS(e,{mapAsMap:r,maxAliasCount:n,onAnchor:i,reviver:a}={}){if(!jD(e))throw new TypeError("A document argument is required");const s={anchors:new Map,doc:e,keep:!0,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},o=Id(this,"",s);if(typeof i=="function")for(const{count:l,res:u}of s.anchors.values())i(u,l);return typeof a=="function"?W9(a,{"":o},"",o):o}}class sOt extends Oee{constructor(e){super(Iee),this.source=e,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(e,r){let n;r!=null&&r.aliasResolveCache?n=r.aliasResolveCache:(n=[],YD(e,{Node:(a,s)=>{(I5(s)||iAe(s))&&n.push(s)}}),r&&(r.aliasResolveCache=n));let i;for(const a of n){if(a===this)break;a.anchor===this.source&&(i=a)}return i}toJSON(e,r){if(!r)return{source:this.source};const{anchors:n,doc:i,maxAliasCount:a}=r,s=this.resolve(i,r);if(!s){const l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(l)}let o=n.get(s);if(o||(Id(s,null,r),o=n.get(s)),(o==null?void 0:o.res)===void 0){const l="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(l)}if(a>=0&&(o.count+=1,o.aliasCount===0&&(o.aliasCount=ZA(i,s,n)),o.count*o.aliasCount>a)){const l="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(l)}return o.res}toString(e,r,n){const i=`*${this.source}`;if(e){if(aAe(this.source),e.options.verifyAliasOrder&&!e.anchors.has(this.source)){const a=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(a)}if(e.implicitKey)return`${i} `}return i}}function ZA(t,e,r){if(I5(e)){const n=e.resolve(t),i=r&&n&&r.get(n);return i?i.count*i.aliasCount:0}else if(Gc(e)){let n=0;for(const i of e.items){const a=ZA(t,i,r);a>n&&(n=a)}return n}else if(Do(e)){const n=ZA(t,e.key,r),i=ZA(t,e.value,r);return Math.max(n,i)}return 1}const sAe=t=>!t||typeof t!="function"&&typeof t!="object";class $a extends Oee{constructor(e){super(Lee),this.value=e}toJSON(e,r){return r!=null&&r.keep?this.value:Id(this.value,e,r)}toString(){return String(this.value)}}$a.BLOCK_FOLDED="BLOCK_FOLDED";$a.BLOCK_LITERAL="BLOCK_LITERAL";$a.PLAIN="PLAIN";$a.QUOTE_DOUBLE="QUOTE_DOUBLE";$a.QUOTE_SINGLE="QUOTE_SINGLE";function oOt(t,e,r){return r.find(n=>{var i;return((i=n.identify)==null?void 0:i.call(n,t))&&!n.format})}function bL(t,e,r){var h,f,p;if(jD(t)&&(t=t.contents),Zo(t))return t;if(Do(t)){const g=(f=(h=r.schema[RU]).createNode)==null?void 0:f.call(h,r.schema,null,r);return g.items.push(t),g}(t instanceof String||t instanceof Number||t instanceof Boolean||typeof BigInt<"u"&&t instanceof BigInt)&&(t=t.valueOf());const{aliasDuplicateObjects:n,onAnchor:i,onTagObj:a,schema:s,sourceObjects:o}=r;let l;if(n&&t&&typeof t=="object"){if(l=o.get(t),l)return l.anchor??(l.anchor=i(t)),new sOt(l.anchor);l={anchor:null,node:null},o.set(t,l)}let u=oOt(t,e,s.tags);if(!u){if(t&&typeof t.toJSON=="function"&&(t=t.toJSON()),!t||typeof t!="object"){const g=new $a(t);return l&&(l.node=g),g}u=t instanceof Map?s[RU]:Symbol.iterator in Object(t)?s[US]:s[RU]}a&&(a(u),delete r.onTagObj);const d=u!=null&&u.createNode?u.createNode(r.schema,t,r):typeof((p=u==null?void 0:u.nodeClass)==null?void 0:p.from)=="function"?u.nodeClass.from(r.schema,t,r):new $a(t);return u.default||(d.tag=u.tag),l&&(l.node=d),d}function Afe(t,e,r){let n=r;for(let i=e.length-1;i>=0;--i){const a=e[i];if(typeof a=="number"&&Number.isInteger(a)&&a>=0){const s=[];s[a]=n,n=s}else n=new Map([[a,n]])}return bL(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:t,sourceObjects:new Map})}const lOt=t=>t==null||typeof t=="object"&&!!t[Symbol.iterator]().next().done;let oAe=class extends Oee{constructor(e,r){super(e),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(e){const r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return e&&(r.schema=e),r.items=r.items.map(n=>Zo(n)||Do(n)?n.clone(e):n),this.range&&(r.range=this.range.slice()),r}addIn(e,r){if(lOt(e))this.add(r);else{const[n,...i]=e,a=this.get(n,!0);if(Gc(a))a.addIn(i,r);else if(a===void 0&&this.schema)this.set(n,Afe(this.schema,i,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(e){const[r,...n]=e;if(n.length===0)return this.delete(r);const i=this.get(r,!0);if(Gc(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(e,r){const[n,...i]=e,a=this.get(n,!0);return i.length===0?!r&&_s(a)?a.value:a:Gc(a)?a.getIn(i,r):void 0}hasAllNullValues(e){return this.items.every(r=>{if(!Do(r))return!1;const n=r.value;return n==null||e&&_s(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(e){const[r,...n]=e;if(n.length===0)return this.has(r);const i=this.get(r,!0);return Gc(i)?i.hasIn(n):!1}setIn(e,r){const[n,...i]=e;if(i.length===0)this.set(n,r);else{const a=this.get(n,!0);if(Gc(a))a.setIn(i,r);else if(a===void 0&&this.schema)this.set(n,Afe(this.schema,i,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};const cOt=t=>t.replace(/^(?!$)(?: $)?/gm,"#");function OT(t,e){return/^\n+$/.test(t)?t.substring(1):e?t.replace(/^(?! *$)/gm,e):t}const _2=(t,e,r)=>t.endsWith(`
`)?OT(r,e):r.includes(`
`)?`
`+OT(r,e):(t.endsWith(" ")?"":" ")+r,lAe="flow",sq="block",JA="quoted";function XD(t,e,r="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:a=20,onFold:s,onOverflow:o}={}){if(!i||i<0)return t;i<a&&(a=0);const l=Math.max(1+a,1+i-e.length);if(t.length<=l)return t;const u=[],d={};let h=i-e.length;typeof n=="number"&&(n>i-Math.max(2,a)?u.push(0):h=i-n);let f,p,g=!1,m=-1,U=-1,y=-1;r===sq&&(m=Mfe(t,m,e.length),m!==-1&&(h=m+l));for(let v;v=t[m+=1];){if(r===JA&&v==="\\"){switch(U=m,t[m+1]){case"x":m+=3;break;case"u":m+=5;break;case"U":m+=9;break;default:m+=1}y=m}if(v===`
`)r===sq&&(m=Mfe(t,m,e.length)),h=m+e.length+l,f=void 0;else{if(v===" "&&p&&p!==" "&&p!==`
`&&p!==" "){const w=t[m+1];w&&w!==" "&&w!==`
`&&w!==" "&&(f=m)}if(m>=h)if(f)u.push(f),h=f+l,f=void 0;else if(r===JA){for(;p===" "||p===" ";)p=v,v=t[m+=1],g=!0;const w=m>y+1?m-2:U-1;if(d[w])return t;u.push(w),d[w]=!0,h=w+l,f=void 0}else g=!0}p=v}if(g&&o&&o(),u.length===0)return t;s&&s();let b=t.slice(0,u[0]);for(let v=0;v<u.length;++v){const w=u[v],T=u[v+1]||t.length;w===0?b=`
${e}${t.slice(0,T)}`:(r===JA&&d[w]&&(b+=`${t[w]}\\`),b+=`
${e}${t.slice(w+1,T)}`)}return b}function Mfe(t,e,r){let n=e,i=e+1,a=t[i];for(;a===" "||a===" ";)if(e<i+r)a=t[++e];else{do a=t[++e];while(a&&a!==`
`);n=e,i=e+1,a=t[i]}return n}const KD=(t,e)=>({indentAtStart:e?t.indent.length:t.indentAtStart,lineWidth:t.options.lineWidth,minContentWidth:t.options.minContentWidth}),ZD=t=>/^(%|---|\.\.\.)/m.test(t);function uOt(t,e,r){if(!e||e<0)return!1;const n=e-r,i=t.length;if(i<=n)return!1;for(let a=0,s=0;a<i;++a)if(t[a]===`
`){if(a-s>n)return!0;if(s=a+1,i-s<=n)return!1}return!0}function rw(t,e){const r=JSON.stringify(t);if(e.options.doubleQuotedAsJSON)return r;const{implicitKey:n}=e,i=e.options.doubleQuotedMinMultiLineLength,a=e.indent||(ZD(t)?" ":"");let s="",o=0;for(let l=0,u=r[l];u;u=r[++l])if(u===" "&&r[l+1]==="\\"&&r[l+2]==="n"&&(s+=r.slice(o,l)+"\\ ",l+=1,o=l,u="\\"),u==="\\")switch(r[l+1]){case"u":{s+=r.slice(o,l);const d=r.substr(l+2,4);switch(d){case"0000":s+="\\0";break;case"0007":s+="\\a";break;case"000b":s+="\\v";break;case"001b":s+="\\e";break;case"0085":s+="\\N";break;case"00a0":s+="\\_";break;case"2028":s+="\\L";break;case"2029":s+="\\P";break;default:d.substr(0,2)==="00"?s+="\\x"+d.substr(2):s+=r.substr(l,6)}l+=5,o=l+1}break;case"n":if(n||r[l+2]==='"'||r.length<i)l+=1;else{for(s+=r.slice(o,l)+`
`;r[l+2]==="\\"&&r[l+3]==="n"&&r[l+4]!=='"';)s+=`
`,l+=2;s+=a,r[l+2]===" "&&(s+="\\"),l+=1,o=l+1}break;default:l+=1}return s=o?s+r.slice(o):r,n?s:XD(s,a,JA,KD(e,!1))}function oq(t,e){if(e.options.singleQuote===!1||e.implicitKey&&t.includes(`
`)||/[ \t]\n|\n[ \t]/.test(t))return rw(t,e);const r=e.indent||(ZD(t)?" ":""),n="'"+t.replace(/'/g,"''").replace(/\n+/g,`$&
${r}`)+"'";return e.implicitKey?n:XD(n,r,lAe,KD(e,!1))}function B2(t,e){const{singleQuote:r}=e.options;let n;if(r===!1)n=rw;else{const i=t.includes('"'),a=t.includes("'");i&&!a?n=oq:a&&!i?n=rw:n=r?oq:rw}return n(t,e)}let lq;try{lq=new RegExp(`(^|(?<!
))
+(?!
|$)`,"g")}catch{lq=/\n+(?!\n|$)/g}function QA({comment:t,type:e,value:r},n,i,a){const{blockQuote:s,commentString:o,lineWidth:l}=n.options;if(!s||/\n[\t ]+$/.test(r))return B2(r,n);const u=n.indent||(n.forceBlockIndent||ZD(r)?" ":""),d=s==="literal"?!0:s==="folded"||e===$a.BLOCK_FOLDED?!1:e===$a.BLOCK_LITERAL?!0:!uOt(r,l,u.length);if(!r)return d?`|
`:`>
`;let h,f;for(f=r.length;f>0;--f){const T=r[f-1];if(T!==`
`&&T!==" "&&T!==" ")break}let p=r.substring(f);const g=p.indexOf(`
`);g===-1?h="-":r===p||g!==p.length-1?(h="+",a&&a()):h="",p&&(r=r.slice(0,-p.length),p[p.length-1]===`
`&&(p=p.slice(0,-1)),p=p.replace(lq,`$&${u}`));let m=!1,U,y=-1;for(U=0;U<r.length;++U){const T=r[U];if(T===" ")m=!0;else if(T===`
`)y=U;else break}let b=r.substring(0,y<U?y+1:U);b&&(r=r.substring(b.length),b=b.replace(/\n+/g,`$&${u}`));let w=(m?u?"2":"1":"")+h;if(t&&(w+=" "+o(t.replace(/ ?[\r\n]+/g," ")),i&&i()),!d){const T=r.replace(/\n+/g,`
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${u}`);let S=!1;const C=KD(n,!0);s!=="folded"&&e!==$a.BLOCK_FOLDED&&(C.onOverflow=()=>{S=!0});const k=XD(`${b}${T}${p}`,u,sq,C);if(!S)return`>${w}
${u}${k}`}return r=r.replace(/\n+/g,`$&${u}`),`|${w}
${u}${b}${r}${p}`}function dOt(t,e,r,n){const{type:i,value:a}=t,{actualString:s,implicitKey:o,indent:l,indentStep:u,inFlow:d}=e;if(o&&a.includes(`
`)||d&&/[[\]{},]/.test(a))return B2(a,e);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(a))return o||d||!a.includes(`
`)?B2(a,e):QA(t,e,r,n);if(!o&&!d&&i!==$a.PLAIN&&a.includes(`
`))return QA(t,e,r,n);if(ZD(a)){if(l==="")return e.forceBlockIndent=!0,QA(t,e,r,n);if(o&&l===u)return B2(a,e)}const h=a.replace(/\n+/g,`$&
${l}`);if(s){const f=m=>{var U;return m.default&&m.tag!=="tag:yaml.org,2002:str"&&((U=m.test)==null?void 0:U.test(h))},{compat:p,tags:g}=e.doc.schema;if(g.some(f)||p!=null&&p.some(f))return B2(a,e)}return o?h:XD(h,l,lAe,KD(e,!1))}function hOt(t,e,r,n){const{implicitKey:i,inFlow:a}=e,s=typeof t.value=="string"?t:Object.assign({},t,{value:String(t.value)});let{type:o}=t;o!==$a.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(s.value)&&(o=$a.QUOTE_DOUBLE);const l=d=>{switch(d){case $a.BLOCK_FOLDED:case $a.BLOCK_LITERAL:return i||a?B2(s.value,e):QA(s,e,r,n);case $a.QUOTE_DOUBLE:return rw(s.value,e);case $a.QUOTE_SINGLE:return oq(s.value,e);case $a.PLAIN:return dOt(s,e,r,n);default:return null}};let u=l(o);if(u===null){const{defaultKeyType:d,defaultStringType:h}=e.options,f=i&&d||h;if(u=l(f),u===null)throw new Error(`Unsupported default string type ${f}`)}return u}function fOt(t,e){const r=Object.assign({blockQuote:!0,commentString:cOt,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},t.schema.toStringOptions,e);let n;switch(r.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:t,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:typeof r.indent=="number"?" ".repeat(r.indent):" ",inFlow:n,options:r}}function pOt(t,e){var i;if(e.tag){const a=t.filter(s=>s.tag===e.tag);if(a.length>0)return a.find(s=>s.format===e.format)??a[0]}let r,n;if(_s(e)){n=e.value;let a=t.filter(s=>{var o;return(o=s.identify)==null?void 0:o.call(s,n)});if(a.length>1){const s=a.filter(o=>o.test);s.length>0&&(a=s)}r=a.find(s=>s.format===e.format)??a.find(s=>!s.format)}else n=e,r=t.find(a=>a.nodeClass&&n instanceof a.nodeClass);if(!r){const a=((i=n==null?void 0:n.constructor)==null?void 0:i.name)??(n===null?"null":typeof n);throw new Error(`Tag not resolved for ${a} value`)}return r}function gOt(t,e,{anchors:r,doc:n}){if(!n.directives)return"";const i=[],a=(_s(t)||Gc(t))&&t.anchor;a&&aAe(a)&&(r.add(a),i.push(`&${a}`));const s=t.tag??(e.default?null:e.tag);return s&&i.push(n.directives.tagString(s)),i.join(" ")}function vL(t,e,r,n){var l;if(Do(t))return t.toString(e,r,n);if(I5(t)){if(e.doc.directives)return t.toString(e);if((l=e.resolvedAliases)!=null&&l.has(t))throw new TypeError("Cannot stringify circular structure without alias nodes");e.resolvedAliases?e.resolvedAliases.add(t):e.resolvedAliases=new Set([t]),t=t.resolve(e.doc)}let i;const a=Zo(t)?t:e.doc.createNode(t,{onTagObj:u=>i=u});i??(i=pOt(e.doc.schema.tags,a));const s=gOt(a,i,e);s.length>0&&(e.indentAtStart=(e.indentAtStart??0)+s.length+1);const o=typeof i.stringify=="function"?i.stringify(a,e,r,n):_s(a)?hOt(a,e,r,n):a.toString(e,r,n);return s?_s(a)||o[0]==="{"||o[0]==="["?`${s} ${o}`:`${s}
${e.indent}${o}`:o}function mOt({key:t,value:e},r,n,i){const{allNullValues:a,doc:s,indent:o,indentStep:l,options:{commentString:u,indentSeq:d,simpleKeys:h}}=r;let f=Zo(t)&&t.comment||null;if(h){if(f)throw new Error("With simple keys, key nodes cannot have comments");if(Gc(t)||!Zo(t)&&typeof t=="object"){const C="With simple keys, collection cannot be used as a key value";throw new Error(C)}}let p=!h&&(!t||f&&e==null&&!r.inFlow||Gc(t)||(_s(t)?t.type===$a.BLOCK_FOLDED||t.type===$a.BLOCK_LITERAL:typeof t=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!p&&(h||!a),indent:o+l});let g=!1,m=!1,U=vL(t,r,()=>g=!0,()=>m=!0);if(!p&&!r.inFlow&&U.length>1024){if(h)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");p=!0}if(r.inFlow){if(a||e==null)return g&&n&&n(),U===""?"?":p?`? ${U}`:U}else if(a&&!h||e==null&&p)return U=`? ${U}`,f&&!g?U+=_2(U,r.indent,u(f)):m&&i&&i(),U;g&&(f=null),p?(f&&(U+=_2(U,r.indent,u(f))),U=`? ${U}
${o}:`):(U=`${U}:`,f&&(U+=_2(U,r.indent,u(f))));let y,b,v;Zo(e)?(y=!!e.spaceBefore,b=e.commentBefore,v=e.comment):(y=!1,b=null,v=null,e&&typeof e=="object"&&(e=s.createNode(e))),r.implicitKey=!1,!p&&!f&&_s(e)&&(r.indentAtStart=U.length+1),m=!1,!d&&l.length>=2&&!r.inFlow&&!p&&Nee(e)&&!e.flow&&!e.tag&&!e.anchor&&(r.indent=r.indent.substring(2));let w=!1;const T=vL(e,r,()=>w=!0,()=>m=!0);let S=" ";if(f||y||b){if(S=y?`
`:"",b){const C=u(b);S+=`
${OT(C,r.indent)}`}T===""&&!r.inFlow?S===`
`&&v&&(S=`
`):S+=`
${r.indent}`}else if(!p&&Gc(e)){const C=T[0],k=T.indexOf(`
`),E=k!==-1,A=r.inFlow??e.flow??e.items.length===0;if(E||!A){let M=!1;if(E&&(C==="&"||C==="!")){let P=T.indexOf(" ");C==="&"&&P!==-1&&P<k&&T[P+1]==="!"&&(P=T.indexOf(" ",P+1)),(P===-1||k<P)&&(M=!0)}M||(S=`
${r.indent}`)}}else(T===""||T[0]===`
`)&&(S="");return U+=S+T,r.inFlow?w&&n&&n():v&&!w?U+=_2(U,r.indent,u(v)):m&&i&&i(),U}function UOt(t,e){(t==="debug"||t==="warn")&&console.warn(e)}const iE="<<",sF={identify:t=>t===iE||typeof t=="symbol"&&t.description===iE,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new $a(Symbol(iE)),{addToJSMap:cAe}),stringify:()=>iE},yOt=(t,e)=>(sF.identify(e)||_s(e)&&(!e.type||e.type===$a.PLAIN)&&sF.identify(e.value))&&(t==null?void 0:t.doc.schema.tags.some(r=>r.tag===sF.tag&&r.default));function cAe(t,e,r){if(r=t&&I5(r)?r.resolve(t.doc):r,Nee(r))for(const n of r.items)oF(t,e,n);else if(Array.isArray(r))for(const n of r)oF(t,e,n);else oF(t,e,r)}function oF(t,e,r){const n=t&&I5(r)?r.resolve(t.doc):r;if(!nAe(n))throw new Error("Merge sources must be maps or map aliases");const i=n.toJSON(null,t,Map);for(const[a,s]of i)e instanceof Map?e.has(a)||e.set(a,s):e instanceof Set?e.add(a):Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{value:s,writable:!0,enumerable:!0,configurable:!0});return e}function uAe(t,e,{key:r,value:n}){if(Zo(r)&&r.addToJSMap)r.addToJSMap(t,e,n);else if(yOt(t,r))cAe(t,e,n);else{const i=Id(r,"",t);if(e instanceof Map)e.set(i,Id(n,i,t));else if(e instanceof Set)e.add(i);else{const a=bOt(r,i,t),s=Id(n,a,t);a in e?Object.defineProperty(e,a,{value:s,writable:!0,enumerable:!0,configurable:!0}):e[a]=s}}return e}function bOt(t,e,r){if(e===null)return"";if(typeof e!="object")return String(e);if(Zo(t)&&(r!=null&&r.doc)){const n=fOt(r.doc,{});n.anchors=new Set;for(const a of r.anchors.keys())n.anchors.add(a.anchor);n.inFlow=!0,n.inStringifyKey=!0;const i=t.toString(n);if(!r.mapKeyWarned){let a=JSON.stringify(i);a.length>40&&(a=a.substring(0,36)+'..."'),UOt(r.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${a}. Set mapAsMap: true to use object keys.`),r.mapKeyWarned=!0}return i}return JSON.stringify(e)}function Dee(t,e,r){const n=bL(t,void 0,r),i=bL(e,void 0,r);return new T0(n,i)}class T0{constructor(e,r=null){Object.defineProperty(this,cf,{value:rAe}),this.key=e,this.value=r}clone(e){let{key:r,value:n}=this;return Zo(r)&&(r=r.clone(e)),Zo(n)&&(n=n.clone(e)),new T0(r,n)}toJSON(e,r){const n=r!=null&&r.mapAsMap?new Map:{};return uAe(r,n,this)}toString(e,r,n){return e!=null&&e.doc?mOt(this,e,r,n):JSON.stringify(this)}}function dAe(t,e,r){return(e.inFlow??t.flow?xOt:vOt)(t,e,r)}function vOt({comment:t,items:e},r,{blockItemPrefix:n,flowChars:i,itemIndent:a,onChompKeep:s,onComment:o}){const{indent:l,options:{commentString:u}}=r,d=Object.assign({},r,{indent:a,type:null});let h=!1;const f=[];for(let g=0;g<e.length;++g){const m=e[g];let U=null;if(Zo(m))!h&&m.spaceBefore&&f.push(""),xL(r,f,m.commentBefore,h),m.comment&&(U=m.comment);else if(Do(m)){const b=Zo(m.key)?m.key:null;b&&(!h&&b.spaceBefore&&f.push(""),xL(r,f,b.commentBefore,h))}h=!1;let y=vL(m,d,()=>U=null,()=>h=!0);U&&(y+=_2(y,a,u(U))),h&&U&&(h=!1),f.push(n+y)}let p;if(f.length===0)p=i.start+i.end;else{p=f[0];for(let g=1;g<f.length;++g){const m=f[g];p+=m?`
${l}${m}`:`
`}}return t?(p+=`
`+OT(u(t),l),o&&o()):h&&s&&s(),p}function xOt({items:t},e,{flowChars:r,itemIndent:n}){const{indent:i,indentStep:a,flowCollectionPadding:s,options:{commentString:o}}=e;n+=a;const l=Object.assign({},e,{indent:n,inFlow:!0,type:null});let u=!1,d=0;const h=[];for(let g=0;g<t.length;++g){const m=t[g];let U=null;if(Zo(m))m.spaceBefore&&h.push(""),xL(e,h,m.commentBefore,!1),m.comment&&(U=m.comment);else if(Do(m)){const b=Zo(m.key)?m.key:null;b&&(b.spaceBefore&&h.push(""),xL(e,h,b.commentBefore,!1),b.comment&&(u=!0));const v=Zo(m.value)?m.value:null;v?(v.comment&&(U=v.comment),v.commentBefore&&(u=!0)):m.value==null&&(b!=null&&b.comment)&&(U=b.comment)}U&&(u=!0);let y=vL(m,l,()=>U=null);u||(u=h.length>d||y.includes(`
`)),g<t.length-1?y+=",":e.options.trailingComma&&(e.options.lineWidth>0&&(u||(u=h.reduce((b,v)=>b+v.length+2,2)+(y.length+2)>e.options.lineWidth)),u&&(y+=",")),U&&(y+=_2(y,n,o(U))),h.push(y),d=h.length}const{start:f,end:p}=r;if(h.length===0)return f+p;if(!u){const g=h.reduce((m,U)=>m+U.length+2,2);u=e.options.lineWidth>0&&g>e.options.lineWidth}if(u){let g=f;for(const m of h)g+=m?`
${a}${i}${m}`:`
`;return`${g}
${i}${p}`}else return`${f}${s}${h.join(" ")}${s}${p}`}function xL({indent:t,options:{commentString:e}},r,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){const a=OT(e(n),t);r.push(a.trimStart())}}function pU(t,e){const r=_s(e)?e.value:e;for(const n of t)if(Do(n)&&(n.key===e||n.key===r||_s(n.key)&&n.key.value===r))return n}class s2 extends oAe{static get tagName(){return"tag:yaml.org,2002:map"}constructor(e){super(RU,e),this.items=[]}static from(e,r,n){const{keepUndefined:i,replacer:a}=n,s=new this(e),o=(l,u)=>{if(typeof a=="function")u=a.call(r,l,u);else if(Array.isArray(a)&&!a.includes(l))return;(u!==void 0||i)&&s.items.push(Dee(l,u,n))};if(r instanceof Map)for(const[l,u]of r)o(l,u);else if(r&&typeof r=="object")for(const l of Object.keys(r))o(l,r[l]);return typeof e.sortMapEntries=="function"&&s.items.sort(e.sortMapEntries),s}add(e,r){var s;let n;Do(e)?n=e:!e||typeof e!="object"||!("key"in e)?n=new T0(e,e==null?void 0:e.value):n=new T0(e.key,e.value);const i=pU(this.items,n.key),a=(s=this.schema)==null?void 0:s.sortMapEntries;if(i){if(!r)throw new Error(`Key ${n.key} already set`);_s(i.value)&&sAe(n.value)?i.value.value=n.value:i.value=n.value}else if(a){const o=this.items.findIndex(l=>a(n,l)<0);o===-1?this.items.push(n):this.items.splice(o,0,n)}else this.items.push(n)}delete(e){const r=pU(this.items,e);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(e,r){const n=pU(this.items,e),i=n==null?void 0:n.value;return(!r&&_s(i)?i.value:i)??void 0}has(e){return!!pU(this.items,e)}set(e,r){this.add(new T0(e,r),!0)}toJSON(e,r,n){const i=n?new n:r!=null&&r.mapAsMap?new Map:{};r!=null&&r.onCreate&&r.onCreate(i);for(const a of this.items)uAe(r,i,a);return i}toString(e,r,n){if(!e)return JSON.stringify(this);for(const i of this.items)if(!Do(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!e.allNullValues&&this.hasAllNullValues(!1)&&(e=Object.assign({},e,{allNullValues:!0})),dAe(this,e,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:e.indent||"",onChompKeep:n,onComment:r})}}class hAe extends oAe{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(e){super(US,e),this.items=[]}add(e){this.items.push(e)}delete(e){const r=aE(e);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(e,r){const n=aE(e);if(typeof n!="number")return;const i=this.items[n];return!r&&_s(i)?i.value:i}has(e){const r=aE(e);return typeof r=="number"&&r<this.items.length}set(e,r){const n=aE(e);if(typeof n!="number")throw new Error(`Expected a valid index, not ${e}.`);const i=this.items[n];_s(i)&&sAe(r)?i.value=r:this.items[n]=r}toJSON(e,r){const n=[];r!=null&&r.onCreate&&r.onCreate(n);let i=0;for(const a of this.items)n.push(Id(a,String(i++),r));return n}toString(e,r,n){return e?dAe(this,e,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(e.indent||"")+" ",onChompKeep:n,onComment:r}):JSON.stringify(this)}static from(e,r,n){const{replacer:i}=n,a=new this(e);if(r&&Symbol.iterator in Object(r)){let s=0;for(let o of r){if(typeof i=="function"){const l=r instanceof Set?o:String(s++);o=i.call(r,l,o)}a.items.push(bL(o,void 0,n))}}return a}}function aE(t){let e=_s(t)?t.value:t;return e&&typeof e=="string"&&(e=Number(e)),typeof e=="number"&&Number.isInteger(e)&&e>=0?e:null}function wOt(t,e,r){const{replacer:n}=r,i=new hAe(t);i.tag="tag:yaml.org,2002:pairs";let a=0;if(e&&Symbol.iterator in Object(e))for(let s of e){typeof n=="function"&&(s=n.call(e,String(a++),s));let o,l;if(Array.isArray(s))if(s.length===2)o=s[0],l=s[1];else throw new TypeError(`Expected [key, value] tuple: ${s}`);else if(s&&s instanceof Object){const u=Object.keys(s);if(u.length===1)o=u[0],l=s[o];else throw new TypeError(`Expected tuple with one key, not ${u.length} keys`)}else o=s;i.items.push(Dee(o,l,r))}return i}class Pee extends hAe{constructor(){super(),this.add=s2.prototype.add.bind(this),this.delete=s2.prototype.delete.bind(this),this.get=s2.prototype.get.bind(this),this.has=s2.prototype.has.bind(this),this.set=s2.prototype.set.bind(this),this.tag=Pee.tag}toJSON(e,r){if(!r)return super.toJSON(e);const n=new Map;r!=null&&r.onCreate&&r.onCreate(n);for(const i of this.items){let a,s;if(Do(i)?(a=Id(i.key,"",r),s=Id(i.value,a,r)):a=Id(i,"",r),n.has(a))throw new Error("Ordered maps must not include duplicate keys");n.set(a,s)}return n}static from(e,r,n){const i=wOt(e,r,n),a=new this;return a.items=i.items,a}}Pee.tag="tag:yaml.org,2002:omap";class _ee extends s2{constructor(e){super(e),this.tag=_ee.tag}add(e){let r;Do(e)?r=e:e&&typeof e=="object"&&"key"in e&&"value"in e&&e.value===null?r=new T0(e.key,null):r=new T0(e,null),pU(this.items,r.key)||this.items.push(r)}get(e,r){const n=pU(this.items,e);return!r&&Do(n)?_s(n.key)?n.key.value:n.key:n}set(e,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);const n=pU(this.items,e);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new T0(e))}toJSON(e,r){return super.toJSON(e,r,Set)}toString(e,r,n){if(!e)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},e,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(e,r,n){const{replacer:i}=n,a=new this(e);if(r&&Symbol.iterator in Object(r))for(let s of r)typeof i=="function"&&(s=i.call(r,s,s)),a.items.push(Dee(s,null,n));return a}}_ee.tag="tag:yaml.org,2002:set";new Set("0123456789ABCDEFabcdef");new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()");new Set(",[]{}");new Set(` ,[]{}
\r `);const TOt="edgeever-frontmatter",COt=t=>{var e;return(t==null?void 0:t.type)==="codeBlock"&&((e=t.attrs)==null?void 0:e.language)===TOt},SOt=t=>{var e;return COt(t.content[0])?((e=t.content[0].content)==null?void 0:e.map(r=>"text"in r&&typeof r.text=="string"?r.text:"").join(""))??"":null},kOt=t=>new zW({extensions:ZEe({...t,markdown:!0})}),EOt=kOt({mathematics:GNt()}),AOt=t=>{if(!t||typeof t!="object")return"";const e=t;if(!Array.isArray(e.content))return"";const r=SOt(t),n=r===null?t:{...t,content:e.content.slice(1)},i=pAe(eOt(cq(n))),a=EOt.serialize(i).replaceAll(fAe,"\\$");return r===null?a:`---
${r}
---
${a}`},fAe="edgeever-dollar",pAe=t=>{var r;if(!t||typeof t!="object")return t;const e=t;return e.type==="codeBlock"||(r=e.marks)!=null&&r.some(n=>n.type==="code")?t:e.type==="text"&&typeof e.text=="string"?Array.from(e.text).filter(i=>i==="$").length>=2?{...e,text:e.text.replaceAll("$",fAe)}:t:Array.isArray(e.content)?{...e,content:e.content.map(pAe)}:t},cq=t=>{if(!t||typeof t!="object")return t;const e=t;if(e.type==="edgeeverThemeBlock"){const r=MOt(e.attrs,"kind"),n=Array.isArray(e.content)?e.content:[];return{type:"blockquote",content:[{type:"paragraph",content:[{type:"text",text:r?`[${r}]`:"[主题化组件]"}]},...n.map(cq)]}}return Array.isArray(e.content)?{...e,content:e.content.map(cq)}:t},MOt=(t,e)=>{const r=t==null?void 0:t[e];return typeof r=="string"?r.trim():""};function uq(t){const e=Object.values(t).filter(n=>typeof n=="number");return Object.entries(t).filter(([n,i])=>e.indexOf(+n)===-1).map(([n,i])=>i)}function Rfe(t,e="|"){return t.map(r=>bAe(r)).join(e)}function dq(t,e){return typeof e=="bigint"?e.toString():e}class ROt{constructor(e){this._getter=e,this._value=void 0}get value(){const e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}}function JD(t){return new ROt(t)}function IOt(t){return t==null}function Bee(t){const e=t.startsWith("^")?1:0,r=t.endsWith("$")?t.length-1:t.length;return t.slice(e,r)}function LOt(t,e){const r=t/e,n=Math.round(r),i=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-n)<i?0:r-n}function op(t,e,r){Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0})}function $ee(t){const e=Object.getOwnPropertyDescriptor(t,"shape");return e!=null&&e.get?e.get.raw:e==null?void 0:e.value}function _0(t){return $ee(t._zod.def)??t._zod.def.shape}function gAe(t,e,r){Object.defineProperty(t,e,{get(){const n=r();return op(this,e,n),n},enumerable:!0,configurable:!0})}function mAe(t,e,r){e in t?op(t,e,r):t[e]=r}function s5(t,e,r,n){const i=_0(e);for(const a of r){const s=Object.getOwnPropertyDescriptor(i,a);s.enumerable&&(s.get?gAe(t,a,()=>{const o=e._zod.def.shape[a];return n?n(o,a):o}):mAe(t,a,n?n(s.value,a):s.value))}}function NOt(t,e){for(const r of Reflect.ownKeys(e)){const n=Object.getOwnPropertyDescriptor(e,r);n.enumerable&&(n.get?gAe(t,r,()=>e[r]):mAe(t,r,n.value))}}function Wc(...t){const e={};for(const r of t){const n=Object.getOwnPropertyDescriptors(r);Object.assign(e,n)}return Object.defineProperties({},e)}function OOt(t){return JSON.stringify(t)}function DOt(t){return t.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}const UAe="captureStackTrace"in Error?Error.captureStackTrace:(...t)=>{};function DT(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}const POt=JD(()=>{var t;if(Vd.jitless||typeof navigator<"u"&&((t=navigator==null?void 0:navigator.userAgent)!=null&&t.includes("Cloudflare")))return!1;try{const e=Function;return new e(""),!0}catch{return!1}});function Zv(t){if(DT(t)===!1)return!1;const e=t.constructor;if(e===void 0||typeof e!="function")return!0;const r=e.prototype;return!(DT(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function yAe(t){return Zv(t)?{...t}:Array.isArray(t)?[...t]:t instanceof Map?new Map(t):t instanceof Set?new Set(t):t}const _Ot=new Set(["string","number","symbol"]);function Jv(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function k1(t,e,r){const n=new t._zod.constr(e??t._zod.def);return(!e||r!=null&&r.parent)&&(n._zod.parent=t),n}function Rr(t){const e=t;if(!e)return{};if(typeof e=="string")return{error:()=>e};if((e==null?void 0:e.message)!==void 0){if((e==null?void 0:e.error)!==void 0)throw new Error("Cannot specify both `message` and `error` params");e.error=e.message}return delete e.message,typeof e.error=="string"?{...e,error:()=>e.error}:e}function bAe(t){return typeof t=="bigint"?t.toString()+"n":typeof t=="string"?`"${t}"`:`${t}`}function BOt(t){return Object.keys(t).filter(e=>t[e]._zod.optin!==void 0&&t[e]._zod.optout==="optional")}const vAe={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},$Ot={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};function FOt(t,e){const r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");const a={};return s5(a,t,QD(t,e)),k1(t,Wc(r,{shape:a,checks:[]}))}function QD(t,e){var i;const r=_0(t),n=[];for(const a of Reflect.ownKeys(e)){if(!((i=Object.getOwnPropertyDescriptor(r,a))!=null&&i.enumerable))throw new Error(`Unrecognized key: "${String(a)}"`);e[a]&&n.push(a)}return n}function zOt(t,e){const r=t._zod.def,n=r.checks;if(n&&n.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");const a=new Set(QD(t,e)),s={};return s5(s,t,Reflect.ownKeys(_0(t)).filter(o=>!a.has(o))),k1(t,Wc(r,{shape:s,checks:[]}))}function HOt(t,e){if(!Zv(e))throw new Error("Invalid input to extend: expected a plain object");const r=t._zod.def.checks;if(r&&r.length>0){const i=_0(t);for(const a of Reflect.ownKeys(e))if(Object.getOwnPropertyDescriptor(i,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return k1(t,Wc(t._zod.def,{shape:xAe(t,e)}))}function xAe(t,e){const r={};return s5(r,t,Reflect.ownKeys(_0(t))),NOt(r,e),r}function VOt(t,e){if(!Zv(e))throw new Error("Invalid input to safeExtend: expected a plain object");return k1(t,Wc(t._zod.def,{shape:xAe(t,e)}))}function GOt(t,e){var i,a;if(!((i=e==null?void 0:e._zod)!=null&&i.def))throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if((a=t._zod.def.checks)!=null&&a.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");const r={};s5(r,t,Reflect.ownKeys(_0(t))),s5(r,e,Reflect.ownKeys(_0(e)));const n=Wc(t._zod.def,{shape:r,get catchall(){return e._zod.def.catchall},checks:e._zod.def.checks??[]});return k1(t,n)}function Ife(t,e,r,n="partial"){const a=e._zod.def.checks;if(a&&a.length>0)throw new Error(`.${n}() cannot be used on object schemas containing refinements`);const o=r?new Set(QD(e,r)):void 0,l={};return s5(l,e,Reflect.ownKeys(_0(e)),t&&((u,d)=>o&&!o.has(d)?u:new t({type:"optional",innerType:u}))),k1(e,Wc(e._zod.def,{shape:l,checks:[]}))}function WOt(t,e,r){const n=r?new Set(QD(e,r)):void 0,i={};return s5(i,e,Reflect.ownKeys(_0(e)),(a,s)=>n&&!n.has(s)?a:new t({type:"nonoptional",innerType:a})),k1(e,Wc(e._zod.def,{shape:i}))}function c0(t,e=0){var r;if(t.aborted===!0)return!0;for(let n=e;n<t.issues.length;n++)if(((r=t.issues[n])==null?void 0:r.continue)!==!0)return!0;return!1}function qOt(t,e=0){var r;if(t.aborted===!0)return!0;for(let n=e;n<t.issues.length;n++)if(((r=t.issues[n])==null?void 0:r.continue)===!1)return!0;return!1}function $2(t,e){return e.map(r=>{var n;return(n=r).path??(n.path=[]),r.path.unshift(t),r})}function e9(t){return typeof t=="string"?t:t==null?void 0:t.message}function Lfe(t){const e=[];for(const r of t??[]){const n=r._zod.def;if(!/_(length|size)$|_equals$/.test(n.check))break;const i=n.maximum??n.length??n.size;i>=0&&e.push([i,r])}return e}function hq(t,e,r){var n;for(let i=e;i<t.length;i++)(n=t[i]).schema??(n.schema=r)}function qg(t,e,r){var l,u,d,h,f,p,g,m,U,y;var n;const i=(u=(l=t.inst)==null?void 0:l._zod)==null?void 0:u.traits;i!=null&&i.has("$ZodType")&&(i.has("$ZodCheck")?(n=t).schema??(n.schema=t.inst):t.schema=t.inst);const a=t.schema!==t.inst?(h=(d=t.schema)==null?void 0:d._zod.def)==null?void 0:h.error:void 0,s=t.message?t.message:e9((g=(p=(f=t.inst)==null?void 0:f._zod.def)==null?void 0:p.error)==null?void 0:g.call(p,t))??e9(a==null?void 0:a(t))??e9((m=e==null?void 0:e.error)==null?void 0:m.call(e,t))??e9((U=r.customError)==null?void 0:U.call(r,t))??e9((y=r.localeError)==null?void 0:y.call(r,t))??"Invalid input",o={};for(const b of Object.keys(t))b==="inst"||b==="schema"||b==="continue"||b==="input"||b==="__proto__"||(o[b]=t[b]);return o.path??(o.path=[]),o.message=s,e!=null&&e.reportInput&&(o.input=t.input),o}const jOt=/[\uD800-\uDBFF]/;function Fee(t){const e=t.length;if(!jOt.test(t))return e;let r=e;for(let n=0;n<e-1;n++)(t.charCodeAt(n)&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320&&(r--,n++);return r}function zee(t){return Array.isArray(t)?"array":typeof t=="string"?"string":"unknown"}function YOt(t){const e=typeof t;switch(e){case"number":return Number.isNaN(t)?"nan":"number";case"object":{if(t===null)return"null";if(Array.isArray(t))return"array";const r=t;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return e}function PT(...t){const[e,r,n]=t;return typeof e=="string"?{message:e,code:"custom",input:r,inst:n}:{...e}}function XOt(t,e){for(const r in e){const n=Object.getOwnPropertyDescriptor(e,r);n.get?Object.defineProperty(t,r,{...n,enumerable:!1}):KOt(t,r,n.value)}}function jg(t,e,r,n=!0){return Object.defineProperty(t,e,{configurable:!0,writable:!0,enumerable:n,value:r}),r}function wAe(t,e,r){return jg(t,e,r,!1)}function TAe(t,e){for(const r in t){const n=t[r];Object.defineProperty(e,r,{configurable:!0,enumerable:!0,get(){return jg(this,r,n(this))},set(i){jg(this,r,i)}})}return e}function KOt(t,e,r){Object.defineProperty(t,e,{configurable:!0,get(){return this==null?r:jg(this,e,r.bind(this))},set(n){jg(this,e,n)}})}function ZOt(t,e){const r=Object.getPrototypeOf(t);return e in r?void 0:r}let lF,Gp=!1;const JOt={configurable:!0,get(){Gp=!0}};function fi(t,e,r){const n=Object.getPrototypeOf(t._zod);if(e in n&&lF!==t._zod){lF=void 0;return}lF=t._zod,Object.defineProperty(n,e,{configurable:!0,get(){Object.defineProperty(this,e,JOt);const i=Gp;Gp=!1;try{const a=r(this);return Gp?delete this[e]:Object.defineProperty(this,e,{configurable:!0,writable:!0,value:a}),Gp=Gp||i,a}catch(a){throw delete this[e],Gp=Gp||i,a}},set(i){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:i})}})}function QOt(t,e,r,n){const i=ZOt(t,e);i&&Object.defineProperty(i,e,{configurable:!0,get(){const a={configurable:!0,writable:!0,enumerable:n,value:void 0};return Object.defineProperty(this,e,a),a.value=r(this),Object.defineProperty(this,e,a),a.value},set(a){Object.defineProperty(this,e,{configurable:!0,writable:!0,enumerable:n,value:a})}})}const eDt="~constantCatch";function tDt(t){const e=()=>t;return e[eDt]=!0,e}var Nfe;const cF={value:void 0,enumerable:!1};let Ofe="captureStackTrace"in Error?Error:null;function rDt(t){const e=Ofe;if(e){const r=e.stackTraceLimit;if(typeof r=="number"){try{e.stackTraceLimit=0}catch{return Ofe=null,new t}try{return new t}finally{e.stackTraceLimit=r}}}return new t}function wt(t,e,r,n){const i={};function a(f){this.def=f,this.constr=h,this.traits=new Set}a.prototype=i;const s=r,o=s&&new WeakSet;function l(f,p){if(f._zod){if(f._zod.traits.has(t))return}else{cF.value=new a(p);try{Object.defineProperty(f,"_zod",cF)}finally{cF.value=void 0}}if(f._zod.traits.add(t),e(f,p),o){const m=Object.getPrototypeOf(f),U=f._zod.constr.prototype;let y=m;for(;y&&y!==U;)y=Object.getPrototypeOf(y);const b=y??m;o.has(b)||(o.add(b),XOt(b,s))}const g=h.prototype;for(const m in g)Object.prototype.hasOwnProperty.call(g,m)&&(m in f||(f[m]=g[m].bind(f)))}const u=(n==null?void 0:n.Parent)??Object;class d extends u{}Object.defineProperty(d,"name",{value:t});function h(f){var U;const p=n!=null&&n.Parent?rDt(d):this;l(p,f);const g=p._zod.deferred;if(g){for(const y of g)y();p._zod.deferred=void 0}const m=(U=globalThis.__zod_globalConfig)==null?void 0:U.postProcessor;return m&&m(p),p}return Object.defineProperty(h,"init",{value:l}),Object.defineProperty(h,Symbol.hasInstance,{value:f=>{var p,g;return n!=null&&n.Parent&&f instanceof n.Parent?!0:(g=(p=f==null?void 0:f._zod)==null?void 0:p.traits)==null?void 0:g.has(t)}}),Object.defineProperty(h,"name",{value:t}),h}class IU extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}class CAe extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name="ZodEncodeError"}}(Nfe=globalThis).__zod_globalConfig??(Nfe.__zod_globalConfig={});const Vd=globalThis.__zod_globalConfig;function Xh(t){return t&&Object.assign(Vd,t),Vd}function nDt(){const t=this._zod;return t.message??(t.message=JSON.stringify(t.def,dq,2)),t.message}function iDt(t){this._zod.message=t}const aDt={get:nDt,set:iDt,enumerable:!0,configurable:!0},uF={value:void 0,enumerable:!1},Dfe=new WeakSet([Object.prototype,Error.prototype]),sDt=(t,e)=>{t.name="$ZodError",uF.value=e,Object.defineProperty(t,"issues",uF),uF.value=void 0,Object.defineProperty(t,"message",aDt);const r=Object.getPrototypeOf(t);Dfe.has(r)||(Dfe.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){const n=()=>this.message;return Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,"toString",{value:n,configurable:!0,writable:!0})}}))},oDt=wt("$ZodError",sDt);function lDt(t,e,r){return Object.prototype.hasOwnProperty.call(t,e)||(e==="__proto__"?Object.defineProperty(t,e,{value:r(),writable:!0,enumerable:!0,configurable:!0}):t[e]=r()),t[e]}function cDt(t,e=r=>r.message){const r={},n=[];for(const i of t.issues)i.path.length>0?lDt(r,i.path[0],()=>[]).push(e(i)):n.push(e(i));return{formErrors:n,fieldErrors:r}}function uDt(t,e=r=>r.message){const r={_errors:[]},n=(i,a=[])=>{for(const s of i.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(o=>n({issues:o},[...a,...s.path]));else if(s.code==="invalid_key")n({issues:s.issues},[...a,...s.path]);else if(s.code==="invalid_element")n({issues:s.issues},[...a,...s.path]);else{const o=[...a,...s.path];if(o.length===0)r._errors.push(e(s));else{let l=r,u=0;for(;u<o.length;){const d=o[u],h=u===o.length-1;if(d==="_errors"){h&&l._errors.push(e(s)),u++;continue}Object.prototype.hasOwnProperty.call(l,d)||Object.defineProperty(l,d,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});const f=l[d];h&&f._errors.push(e(s)),l=f,u++}}}};return n(t),r}function eP(t,e){return{callee:(e==null?void 0:e.callee)??t,Err:e==null?void 0:e.Err}}const Hee=t=>{const e=(r,n,i,a)=>{const s=i?{...i,async:!1}:{async:!1},o=r._zod.run({value:n,issues:[]},s);if(o instanceof Promise)throw new IU;if(o.issues.length){const l=new((a==null?void 0:a.Err)??t)(o.issues.map(u=>qg(u,s,Xh())));throw UAe(l,(a==null?void 0:a.callee)??e),l}return o.value};return e},Vee=t=>{const e=async(r,n,i,a)=>{const s=i?{...i,async:!0}:{async:!0};let o=r._zod.run({value:n,issues:[]},s);if(o instanceof Promise&&(o=await o),o.issues.length){const l=new((a==null?void 0:a.Err)??t)(o.issues.map(u=>qg(u,s,Xh())));throw UAe(l,(a==null?void 0:a.callee)??e),l}return o.value};return e},Gee=t=>(e,r,n)=>{const i=n?{...n,async:!1}:{async:!1},a=e._zod.run({value:r,issues:[]},i);if(a instanceof Promise)throw new IU;return a.issues.length?SAe(t,a.issues,i):{success:!0,data:a.value}};function SAe(t,e,r){let n;return{success:!1,get error(){return n||(n=new t(e.map(i=>qg(i,r,Xh()))),e=void 0,r=void 0),n},set error(i){n=i,e=void 0,r=void 0}}}const Wee=t=>async(e,r,n)=>{const i=n?{...n,async:!0}:{async:!0};let a=e._zod.run({value:r,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?SAe(t,a.issues,i):{success:!0,data:a.value}},dDt=Symbol.for("zod.compile.invalid"),hDt=Symbol.for("zod.compile.fallback"),fDt=((t,e,r)=>{const n=t._zod.bag.validator;if(n!==void 0){if(n(e)!==dDt)return!0;if(n.definite===!0&&r===void 0)return!1}return pDt(t,e,r)});function pDt(t,e,r){const n=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=t._zod.bag.fallbackRun;let a;if(i?(n[hDt]=!0,a=i({value:e,issues:[]},n)):a=t._zod.run({value:e,issues:[]},n),a instanceof Promise)throw new IU;return a.issues.length===0}const gDt=async(t,e,r)=>{const n=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0};let i=t._zod.run({value:e,issues:[]},n);return i instanceof Promise&&(i=await i),i.issues.length===0},mDt=t=>{const e=Hee(t),r=(n,i,a,s)=>{const o=a?{...a,direction:"backward"}:{direction:"backward"};return e(n,i,o,eP(r,s))};return r},UDt=t=>{const e=Hee(t),r=(n,i,a,s)=>e(n,i,a,eP(r,s));return r},yDt=t=>{const e=Vee(t),r=async(n,i,a,s)=>{const o=a?{...a,direction:"backward"}:{direction:"backward"};return await e(n,i,o,eP(r,s))};return r},bDt=t=>{const e=Vee(t),r=async(n,i,a,s)=>await e(n,i,a,eP(r,s));return r},vDt=t=>(e,r,n)=>{const i=n?{...n,direction:"backward"}:{direction:"backward"};return Gee(t)(e,r,i)},xDt=t=>(e,r,n)=>Gee(t)(e,r,n),wDt=t=>async(e,r,n)=>{const i=n?{...n,direction:"backward"}:{direction:"backward"};return Wee(t)(e,r,i)},TDt=t=>async(e,r,n)=>Wee(t)(e,r,n),CDt=/^[cC][0-9a-z]{6,}$/,SDt=/^[0-9a-z]+$/,kDt=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,EDt=/^[0-9a-vA-V]{20}$/,ADt=/^[A-Za-z0-9]{27}$/,MDt=/^[a-zA-Z0-9_-]{21}$/;function RDt(t){return new RegExp(`^[a-zA-Z0-9_-]{${t}}$`)}const IDt=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,LDt=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Pfe=t=>t?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${t}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,NDt=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,ODt="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";function DDt(){return new RegExp(ODt,"u")}const PDt=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_Dt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,BDt=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,$Dt=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,FDt=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,zDt=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,HDt=/^https?$/,VDt=/^\+[1-9]\d{6,14}$/,kAe="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";function GDt(t){return new RegExp(`^${t}$`)}const WDt=GDt(kAe);function fq(t){const e="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof t.precision=="number"?t.precision===-1?`${e}`:t.precision===0?`${e}:[0-5]\\d`:`${e}:[0-5]\\d\\.\\d{${t.precision}}`:t.seconds?`${e}:[0-5]\\d(?:\\.\\d+)?`:`${e}(?::[0-5]\\d(?:\\.\\d+)?)?`}function qDt(t){return new RegExp(`^${fq(t)}$`)}function jDt(t){const e=["Z"];t.offset&&e.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");const r=`${fq({precision:t.precision,seconds:!0})}(?:${e.join("|")})`,n=t.local?`${r}|${fq({precision:t.precision})}`:r;return new RegExp(`^${kAe}T(?:${n})$`)}const YDt=/^[\s\S]{0,}$/,XDt=/^-?\d+$/,qee=/^-?\d+(?:\.\d+)?$/,KDt=/^(?:true|false)$/i,ZDt=/^[^A-Z]*$/,JDt=/^[^a-z]*$/,Mc=wt("$ZodCheck",(t,e)=>{var r;t._zod??(t._zod={}),t._zod.def=e,(r=t._zod).onattach??(r.onattach=[])}),jee=t=>{const e=t.value;return!IOt(e)&&e.length!==void 0},wL={number:"number",bigint:"bigint",object:"date"},EAe=wt("$ZodCheckLessThan",(t,e)=>{Mc.init(t,e);const r=wL[typeof e.value];t._zod.check=n=>{(e.inclusive?n.value<=e.value:n.value<e.value)||n.issues.push({origin:wL[typeof n.value]??r,code:"too_big",maximum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),AAe=wt("$ZodCheckGreaterThan",(t,e)=>{Mc.init(t,e);const r=wL[typeof e.value];t._zod.check=n=>{(e.inclusive?n.value>=e.value:n.value>e.value)||n.issues.push({origin:wL[typeof n.value]??r,code:"too_small",minimum:typeof e.value=="object"?e.value.getTime():e.value,input:n.value,inclusive:e.inclusive,inst:t,continue:!e.abort})}}),QDt=wt("$ZodCheckMultipleOf",(t,e)=>{Mc.init(t,e),t._zod.check=r=>{if(typeof r.value!=typeof e.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?e.value!==BigInt(0)&&r.value%e.value===BigInt(0):LOt(r.value,e.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:e.value,input:r.value,inst:t,continue:!e.abort})}}),ePt=wt("$ZodCheckNumberFormat",(t,e)=>{var s;Mc.init(t,e),e.format=e.format||"float64";const r=(s=e.format)==null?void 0:s.includes("int"),n=r?"int":"number",[i,a]=vAe[e.format];t._zod.check=o=>{const l=o.value;if(r){if(!Number.isInteger(l)){o.issues.push({expected:n,format:e.format,code:"invalid_type",continue:!1,input:l,inst:t});return}if(!Number.isSafeInteger(l)){l>0?o.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort}):o.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:t,origin:n,inclusive:!0,continue:!e.abort});return}}l<i&&o.issues.push({origin:"number",input:l,code:"too_small",minimum:i,inclusive:!0,inst:t,continue:!e.abort}),l>a&&o.issues.push({origin:"number",input:l,code:"too_big",maximum:a,inclusive:!0,inst:t,continue:!e.abort})}}),tPt=wt("$ZodCheckMaxLength",(t,e)=>{var r;Mc.init(t,e),(r=t._zod.def).when??(r.when=jee),t._zod.check=n=>{const i=n.value,a=i.length;if((typeof i=="string"&&a>e.maximum?Fee(i):a)<=e.maximum)return;const o=zee(i);n.issues.push({origin:o,code:"too_big",maximum:e.maximum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),rPt=wt("$ZodCheckMinLength",(t,e)=>{var r;Mc.init(t,e),(r=t._zod.def).when??(r.when=jee),t._zod.check=n=>{const i=n.value,a=i.length;if((typeof i=="string"&&a>=e.minimum&&a<e.minimum*2?Fee(i):a)>=e.minimum)return;const o=zee(i);n.issues.push({origin:o,code:"too_small",minimum:e.minimum,inclusive:!0,input:i,inst:t,continue:!e.abort})}}),nPt=wt("$ZodCheckLengthEquals",(t,e)=>{var r;Mc.init(t,e),(r=t._zod.def).when??(r.when=jee),t._zod.check=n=>{const i=n.value,a=i.length,s=typeof i=="string"&&a>=e.length&&a<=e.length*2?Fee(i):a;if(s===e.length)return;const o=zee(i),l=s>e.length;n.issues.push({origin:o,...l?{code:"too_big",maximum:e.length}:{code:"too_small",minimum:e.length},inclusive:!0,exact:!0,input:n.value,inst:t,continue:!e.abort})}}),tP=wt("$ZodCheckStringFormat",(t,e)=>{var r,n;Mc.init(t,e),e.pattern?(r=t._zod).check??(r.check=i=>{e.pattern.lastIndex=0,!e.pattern.test(i.value)&&i.issues.push({origin:"string",code:"invalid_format",format:e.format,input:i.value,...e.pattern?{pattern:e.pattern.toString()}:{},inst:t,continue:!e.abort})}):(n=t._zod).check??(n.check=()=>{})}),iPt=wt("$ZodCheckRegex",(t,e)=>{tP.init(t,e),t._zod.check=r=>{e.pattern.lastIndex=0,!e.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:e.pattern.toString(),inst:t,continue:!e.abort})}}),aPt=wt("$ZodCheckLowerCase",(t,e)=>{e.pattern??(e.pattern=ZDt),tP.init(t,e)}),sPt=wt("$ZodCheckUpperCase",(t,e)=>{e.pattern??(e.pattern=JDt),tP.init(t,e)}),oPt=wt("$ZodCheckIncludes",(t,e)=>{Mc.init(t,e);const r=Jv(e.includes),n=new RegExp(typeof e.position=="number"?`^.{${e.position},}${r}`:r);e.pattern=n,t._zod.check=i=>{i.value.includes(e.includes,e.position)||i.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:e.includes,input:i.value,inst:t,continue:!e.abort})}}),lPt=wt("$ZodCheckStartsWith",(t,e)=>{Mc.init(t,e);const r=new RegExp(`^${Jv(e.prefix)}.*`);e.pattern??(e.pattern=r),t._zod.check=n=>{n.value.startsWith(e.prefix)||n.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:e.prefix,input:n.value,inst:t,continue:!e.abort})}}),cPt=wt("$ZodCheckEndsWith",(t,e)=>{Mc.init(t,e);const r=new RegExp(`.*${Jv(e.suffix)}$`);e.pattern??(e.pattern=r),t._zod.check=n=>{n.value.endsWith(e.suffix)||n.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:e.suffix,input:n.value,inst:t,continue:!e.abort})}}),uPt=wt("$ZodCheckOverwrite",(t,e)=>{Mc.init(t,e),t._zod.check=r=>{r.value=e.tx(r.value)}});class dPt{constructor(e=[],r={}){this.content=[],this.indent=0,this.args=e,this.closed=r}indented(e){this.indent+=1;try{e(this)}finally{this.indent-=1}}write(e){if(typeof e=="function"){e(this,{execution:"sync"}),e(this,{execution:"async"});return}const n=e.split(`
`).filter(s=>s),i=Math.min(...n.map(s=>s.length-s.trimStart().length)),a=n.map(s=>s.slice(i)).map(s=>" ".repeat(this.indent*2)+s);for(const s of a)this.content.push(s)}compile(){const e=Function,r=(this==null?void 0:this.content)??[""];return new e(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
${r.join(`
`)}
};`)(...Object.values(this.closed))}}const hPt={major:4,minor:6,patch:6},ka=wt("$ZodType",(t,e)=>{var a;var r;t??(t={}),t._zod.def=e,t._zod.bag=t._zod.bag||{},t._zod.version=hPt;const n=t._zod.def.checks,i=t._zod.traits.has("$ZodCheck")?[t,...n??[]]:n!=null&&n.length?[...n]:[];for(const s of i)for(const o of s._zod.onattach)o(t);if(i.length===0)(r=t._zod).deferred??(r.deferred=[]),(a=t._zod.deferred)==null||a.push(()=>{t._zod.run=t._zod.parse});else{const s=(l,u,d)=>{if(l.memo)return l;let h=c0(l),f;for(const p of u){if(p._zod.def.when){if(qOt(l)||!p._zod.def.when(l))continue}else if(h)continue;const g=l.issues.length,m=p._zod.check(l);if(m instanceof Promise&&(d==null?void 0:d.async)===!1)throw new IU;if(f||m instanceof Promise)f=(f??Promise.resolve()).then(async()=>{await m,l.issues.length!==g&&(hq(l.issues,g,t),h||(h=c0(l,g)))});else{if(l.issues.length===g)continue;hq(l.issues,g,t),h||(h=c0(l,g))}}return f?f.then(()=>l):l},o=(l,u,d)=>{if(c0(l))return l.aborted=!0,l;const h=s(u,i,d);if(h instanceof Promise){if(d.async===!1)throw new IU;return h.then(f=>t._zod.parse(f,d))}return t._zod.parse(h,d)};t._zod.run=(l,u)=>{if(u.skipChecks)return t._zod.parse(l,u);if(u.direction==="backward"){const h=t._zod.parse({value:l.value,issues:[]},{...u,skipChecks:!0});return h instanceof Promise?h.then(f=>o(f,l,u)):o(h,l,u)}const d=t._zod.parse(l,u);if(d instanceof Promise){if(u.async===!1)throw new IU;return d.then(h=>s(h,i,u))}return s(d,i,u)}}},{get"~standard"(){return wAe(this,"~standard",RAe(this))},set"~standard"(t){jg(this,"~standard",t)}}),MAe=(t,e)=>t.issues.length?{issues:t.issues.map(r=>qg(r,e,Xh()))}:{value:t.value};async function fPt(t,e){const r={async:!0};return MAe(await t._zod.run({value:e,issues:[]},r),r)}function RAe(t){return{validate:e=>{const r={async:!1};try{const n=t._zod.run({value:e,issues:[]},r);if(!(n instanceof Promise))return MAe(n,r)}catch{}return fPt(t,e)},vendor:"zod",version:1}}const Yee=wt("$ZodString",(t,e)=>{ka.init(t,e),t._zod.pattern=e.pattern??YDt,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:t}),r}}),fa=wt("$ZodStringFormat",(t,e)=>{tP.init(t,e),Yee.init(t,e)}),pPt=wt("$ZodGUID",(t,e)=>{e.pattern??(e.pattern=LDt),fa.init(t,e)}),gPt=wt("$ZodUUID",(t,e)=>{if(e.version){const n={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[e.version];if(n===void 0)throw new Error(`Invalid UUID version: "${e.version}"`);e.pattern??(e.pattern=Pfe(n))}else e.pattern??(e.pattern=Pfe());fa.init(t,e)}),mPt=wt("$ZodEmail",(t,e)=>{e.pattern??(e.pattern=NDt),fa.init(t,e)}),IAe=1,TL=2;function LAe(t){try{return typeof URL<"u"&&typeof URL.canParse=="function"?URL.canParse(t):(new URL(t),!0)}catch{return!1}}function UPt(t,e){return!("normalize"in e)&&!("hostname"in e)&&!("protocol"in e)?LAe(t)||TL:yPt(t,e)}function yPt(t,e){var r;if(!e.normalize&&((r=e.protocol)==null?void 0:r.source)===HDt.source&&!/^https?:\/\//i.test(t))return IAe;try{if(typeof URL<"u"){const n=URL;if(typeof n.parse=="function")return n.parse(t)??TL}return new URL(t)}catch{return TL}}const bPt=/[\t\n\r]/g;function _fe(t){return t.replace(bPt,"")}function vPt(t,e){return e.lastIndex=0,e.test(t.hostname)}function xPt(t,e){return e.lastIndex=0,e.test(t.protocol.endsWith(":")?t.protocol.slice(0,-1):t.protocol)}const wPt=wt("$ZodURL",(t,e)=>{fa.init(t,e),t._zod.check=r=>{try{const n=r.value.trim(),i=UPt(n,e);if(i===IAe){r.issues.push({code:"invalid_format",format:"url",note:"Invalid URL format",input:r.value,inst:t,continue:!e.abort});return}if(i===TL){r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort});return}if(i===!0){r.value=_fe(n);return}e.hostname&&!vPt(i,e.hostname)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid hostname",pattern:e.hostname.source,input:r.value,inst:t,continue:!e.abort}),e.protocol&&!xPt(i,e.protocol)&&r.issues.push({code:"invalid_format",format:"url",note:"Invalid protocol",pattern:e.protocol.source,input:r.value,inst:t,continue:!e.abort}),r.value=e.normalize?i.href:_fe(n);return}catch{r.issues.push({code:"invalid_format",format:"url",input:r.value,inst:t,continue:!e.abort})}}}),TPt=wt("$ZodEmoji",(t,e)=>{e.pattern??(e.pattern=DDt()),fa.init(t,e)}),CPt=wt("$ZodNanoID",(t,e)=>{if(e.length!==void 0&&(!Number.isInteger(e.length)||e.length<1))throw new Error(`Invalid nanoid length: ${e.length}`);e.pattern??(e.pattern=e.length===void 0?MDt:RDt(e.length)),fa.init(t,e)}),SPt=wt("$ZodCUID",(t,e)=>{e.pattern??(e.pattern=CDt),fa.init(t,e)}),kPt=wt("$ZodCUID2",(t,e)=>{e.pattern??(e.pattern=SDt),fa.init(t,e)}),EPt=wt("$ZodULID",(t,e)=>{e.pattern??(e.pattern=kDt),fa.init(t,e)}),APt=wt("$ZodXID",(t,e)=>{e.pattern??(e.pattern=EDt),fa.init(t,e)}),MPt=wt("$ZodKSUID",(t,e)=>{e.pattern??(e.pattern=ADt),fa.init(t,e)}),RPt=wt("$ZodISODateTime",(t,e)=>{e.pattern??(e.pattern=jDt(e)),fa.init(t,e)}),IPt=wt("$ZodISODate",(t,e)=>{e.pattern??(e.pattern=WDt),fa.init(t,e)}),LPt=wt("$ZodISOTime",(t,e)=>{e.pattern??(e.pattern=qDt(e)),fa.init(t,e)}),NPt=wt("$ZodISODuration",(t,e)=>{e.pattern??(e.pattern=IDt),fa.init(t,e)}),OPt=wt("$ZodIPv4",(t,e)=>{e.pattern??(e.pattern=PDt),fa.init(t,e)}),DPt=/^[0-9a-fA-F:.]+$/;function NAe(t){return DPt.test(t)?LAe(`http://[${t}]`):!1}const PPt=wt("$ZodIPv6",(t,e)=>{e.pattern??(e.pattern=_Dt),fa.init(t,e),t._zod.check=r=>{NAe(r.value)||r.issues.push({code:"invalid_format",format:"ipv6",input:r.value,inst:t,continue:!e.abort})}}),_Pt=wt("$ZodCIDRv4",(t,e)=>{e.pattern??(e.pattern=BDt),fa.init(t,e)});function BPt(t){const e=t.split("/");if(e.length!==2)return!1;const[r,n]=e;if(!n)return!1;const i=Number(n);return`${i}`!==n||i<0||i>128?!1:NAe(r)}const $Pt=wt("$ZodCIDRv6",(t,e)=>{e.pattern??(e.pattern=$Dt),fa.init(t,e),t._zod.check=r=>{BPt(r.value)||r.issues.push({code:"invalid_format",format:"cidrv6",input:r.value,inst:t,continue:!e.abort})}});function OAe(t){if(t==="")return!0;if(/\s/.test(t)||t.length%4!==0)return!1;try{return atob(t),!0}catch{return!1}}const DAe=/^[0-9a-zA-Z+/]*={0,2}$/,FPt=wt("$ZodBase64",(t,e)=>{e.pattern??(e.pattern=DAe),fa.init(t,e),t._zod.check=r=>{OAe(r.value)||r.issues.push({code:"invalid_format",format:"base64",input:r.value,inst:t,continue:!e.abort})}}),Xee=/^[A-Za-z0-9_-]*$/;function zPt(t){if(!Xee.test(t))return!1;const e=t.replace(/[-_]/g,n=>n==="-"?"+":"/"),r=e.padEnd(Math.ceil(e.length/4)*4,"=");return OAe(r)}const HPt=wt("$ZodBase64URL",(t,e)=>{e.pattern??(e.pattern=Xee),fa.init(t,e),t._zod.check=r=>{zPt(r.value)||r.issues.push({code:"invalid_format",format:"base64url",input:r.value,inst:t,continue:!e.abort})}}),VPt=wt("$ZodE164",(t,e)=>{e.pattern??(e.pattern=VDt),fa.init(t,e)});function GPt(t,e=null){try{const r=t.split(".");if(r.length!==3)return!1;const[n]=r;if(!n)return!1;const i=JSON.parse(atob(n));return!("typ"in i&&(i==null?void 0:i.typ)!=="JWT"||!i.alg||e&&(!("alg"in i)||i.alg!==e))}catch{return!1}}const WPt=wt("$ZodJWT",(t,e)=>{fa.init(t,e),t._zod.check=r=>{GPt(r.value,e.alg)||r.issues.push({code:"invalid_format",format:"jwt",input:r.value,inst:t,continue:!e.abort})}}),PAe=wt("$ZodNumber",(t,e)=>{ka.init(t,e),t._zod.pattern=qee,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=Number(r.value)}catch{}const i=r.value;if(typeof i=="number"&&!Number.isNaN(i)&&Number.isFinite(i))return r;const a=typeof i=="number"?Number.isNaN(i)?"NaN":Number.isFinite(i)?void 0:String(i):void 0;return r.issues.push({expected:"number",code:"invalid_type",input:i,inst:t,...a?{received:a}:{}}),r}}),qPt=wt("$ZodNumberFormat",(t,e)=>{ePt.init(t,e),PAe.init(t,e)}),jPt=wt("$ZodBoolean",(t,e)=>{ka.init(t,e),t._zod.pattern=KDt,t._zod.parse=(r,n)=>{if(e.coerce)try{r.value=!!r.value}catch{}const i=r.value;return typeof i=="boolean"||r.issues.push({expected:"boolean",code:"invalid_type",input:i,inst:t}),r}}),YPt=wt("$ZodUnknown",(t,e)=>{ka.init(t,e),t._zod.parse=r=>r}),XPt=wt("$ZodNever",(t,e)=>{ka.init(t,e),t._zod.parse=(r,n)=>(r.issues.push({expected:"never",code:"invalid_type",input:r.value,inst:t}),r)});function KPt(t,e){const r=Lfe(t._zod.def.checks);if(!r.length)return;const n=Math.min(...r.map(a=>a[0])),i=t._zod.parse;t._zod.parse=(a,s)=>{const o=e(a.value);if(o>n&&!(s!=null&&s.skipChecks)&&(s==null?void 0:s.direction)!=="backward"){for(const[l,u]of Lfe(t._zod.def.checks))if(o>l&&u._zod.def.when(a)){const d=a.issues.length;return u._zod.check(a),a.issues[d].continue=!1,hq(a.issues,d,t),a}}return i(a,s)}}const ZPt=t=>Array.isArray(t)?t.length:-1;function Bfe(t,e,r){t.issues.length&&e.issues.push(...$2(r,t.issues)),e.value[r]=t.value}const JPt=wt("$ZodArray",(t,e)=>{ka.init(t,e);const r=Vd.memoizer;r==null||r.attach(t),t._zod.parse=(n,i)=>{const a=n.value;if(!Array.isArray(a))return n.issues.push({expected:"array",code:"invalid_type",input:a,inst:t}),n;n.value=r?r.alloc(t,n,Array(a.length),i):Array(a.length);const s=[],o=i==null?void 0:i.abortEarly;for(let l=0;l<a.length;l++){const u=a[l],d=e.element._zod.run({value:u,issues:[]},i);if(d instanceof Promise)s.push(d.then(h=>Bfe(h,n,l)));else if(Bfe(d,n,l),o&&d.issues.length!==0&&c0(d))break}return s.length?Promise.all(s).then(()=>n):n},KPt(t,ZPt)});function CL(t,e,r,n,i,a){const s=r in n,o=a==="optional";if(!(!s&&o&&i==="optional")){if(t.issues.length){if(i!==void 0&&o&&!s)return;e.issues.push(...$2(r,t.issues))}if(!s&&i===void 0){t.issues.length||e.issues.push({code:"invalid_type",expected:"nonoptional",input:void 0,path:[r]});return}t.value===void 0?(s||i==="defaulted"&&!o)&&(e.value[r]=void 0):e.value[r]=t.value}}const QPt=[];function _Ae(t){var s,o,l,u;const e=Object.keys(t.shape),r=Object.getOwnPropertySymbols(t.shape),n=r.length?r:QPt,i=n.length?[...e,...n]:e;for(const d of i)if(!((u=(l=(o=(s=t.shape)==null?void 0:s[d])==null?void 0:o._zod)==null?void 0:l.traits)!=null&&u.has("$ZodType")))throw new Error(`Invalid element at key "${String(d)}": expected a Zod schema`);const a=BOt(t.shape);return{...t,allKeys:i,symbolKeys:n,keySet:new Set(e),numKeys:e.length,optionalKeys:new Set(a)}}function BAe(t,e,r,n,i,a,s){const o=[],l=i.keySet,u=i.catchall._zod,d=u.def.type,h=u.optin,f=u.optout;let p=0;for(const g in e){if(s&&r.issues.length!==p){if(c0(r,p))break;p=r.issues.length}if(l.has(g))continue;if(g==="__proto__"){d==="never"&&o.push(g);continue}if(d==="never"){o.push(g);continue}const m=u.run({value:e[g],issues:[]},n);m instanceof Promise?t.push(m.then(U=>CL(U,r,g,e,h,f))):CL(m,r,g,e,h,f)}return o.length&&r.issues.push({code:"unrecognized_keys",keys:o,input:e,inst:a,continue:!0}),t.length?Promise.all(t).then(()=>r):r}const e_t=wt("$ZodObject",(t,e)=>{ka.init(t,e);const r=Object.getOwnPropertyDescriptor(e,"shape"),n=r!=null&&r.get?r.get.raw:e.shape??{};if(n){const u=()=>{const d={...n};return Object.defineProperty(e,"shape",{value:d}),u.raw=d,d};u.raw=n,Object.defineProperty(e,"shape",{get:u})}const i=JD(()=>_Ae(e));fi(t,"propValues",u=>{const d=u.def.shape,h={};for(const f in d){const p=d[f]._zod;if(p.values){Object.prototype.hasOwnProperty.call(h,f)||op(h,f,new Set);for(const g of p.values)h[f].add(g);p.optin!==void 0&&h[f].add(void 0)}}return h});const a=DT,s=e.catchall;let o;const l=Vd.memoizer;l==null||l.attach(t),t._zod.parse=(u,d)=>{o??(o=i.value);const h=u.value;if(!a(h))return u.issues.push({expected:"object",code:"invalid_type",input:h,inst:t}),u;u.value=l?l.alloc(t,u,{},d):{};const f=[],p=o.shape,g=d==null?void 0:d.abortEarly;let m=u.issues.length;for(const U of o.allKeys){if(g&&u.issues.length!==m){if(c0(u,m))break;m=u.issues.length}if(U==="__proto__")continue;const y=p[U],b=y._zod.optin,v=y._zod.optout,w=y._zod.run({value:h[U],issues:[]},d);w instanceof Promise?f.push(w.then(T=>CL(T,u,U,h,b,v))):CL(w,u,U,h,b,v)}return s?BAe(f,h,u,d,i.value,t,g===!0):f.length?Promise.all(f).then(()=>u):u}}),t_t=wt("$ZodObjectJIT",(t,e)=>{e_t.init(t,e);const r=t._zod.parse,n=JD(()=>_Ae(e)),i=Vd.memoizer,a=p=>{var T,S;const g=n.value,m=g.symbolKeys,U=new dPt(["payload","ctx"],{shape:p,inst:t,memo:i,syms:m}),y=C=>`shape[${C}]._zod.run({ value: input[${C}], issues: [] }, ctx)`,b=(C,k)=>`
let ${C}_ab = false;
for (let i = 0; i < ${C}.issues.length; i++) {
const iss = ${C}.issues[i];
iss.path = iss.path ? [${k}, ...iss.path] : [${k}];
payload.issues.push(iss);
if (iss.continue !== true) ${C}_ab = true;
}
if (${C}_ab && ctx && ctx.abortEarly) {
payload.value = newResult;
return payload;
}`;U.write("const input = payload.value;");const v=Object.create(null);let w=0;for(const C of g.allKeys)v[C]=`key_${w++}`;U.write(i?"const newResult = memo.alloc(inst, payload, {}, ctx);":"const newResult = {};");for(const C of g.allKeys){if(C==="__proto__")continue;const k=v[C],E=typeof C=="symbol"?`syms[${m.indexOf(C)}]`:OOt(C),A=`${E} in input`,M=p[C],P=(T=M==null?void 0:M._zod)==null?void 0:T.optin,N=P!==void 0,I=((S=M==null?void 0:M._zod)==null?void 0:S.optout)==="optional";if(U.write(`const ${k} = ${y(E)};`),N&&I){const L=P==="optional"?`${k}_present`:`${k}.value !== undefined || ${k}_present`;U.write(`
const ${k}_present = ${A};
if (!${k}.issues.length || ${k}_present) {
if (${k}.issues.length) {${b(k,E)}
}
if (${L}) {
newResult[${E}] = ${k}.value;
}
}
`)}else N?(U.write(`
if (${k}.issues.length) {${b(k,E)}
}
`),P==="defaulted"?U.write(`newResult[${E}] = ${k}.value;`):U.write(`
if (${k}.value !== undefined || ${A}) {
newResult[${E}] = ${k}.value;
}
`)):U.write(`
const ${k}_present = ${A};
if (${k}.issues.length) {${b(k,E)}
}
if (!${k}_present && !${k}.issues.length) {
payload.issues.push({
code: "invalid_type",
expected: "nonoptional",
input: undefined,
path: [${E}]
});
if (ctx && ctx.abortEarly) {
payload.value = newResult;
return payload;
}
}
if (${k}_present) {
newResult[${E}] = ${k}.value;
}
`)}return U.write("payload.value = newResult;"),U.write("return payload;"),U.compile()};let s;const o=DT,l=!Vd.jitless,d=l&&POt.value,h=e.catchall;let f;t._zod.parse=(p,g)=>{f??(f=n.value);const m=p.value;return o(m)?l&&d&&(g==null?void 0:g.async)===!1&&g.jitless!==!0?(s||(s=a(e.shape)),p=s(p,g),h?BAe([],m,p,g,f,t,(g==null?void 0:g.abortEarly)===!0):p):r(p,g):(p.issues.push({expected:"object",code:"invalid_type",input:m,inst:t}),p)}});function $fe(t,e,r,n){for(const a of t)if(a.issues.length===0)return e.value=a.value,e;const i=t.filter(a=>!c0(a));return i.length===1?(e.value=i[0].value,i[0]):(e.issues.push({code:"invalid_union",input:e.value,inst:r,errors:t.map(a=>a.issues.map(s=>qg(s,n,Xh())))}),e)}const $Ae=wt("$ZodUnion",(t,e)=>{ka.init(t,e),fi(t,"optin",n=>n.def.options.some(i=>i._zod.optin==="defaulted")?"defaulted":n.def.options.some(i=>i._zod.optin!==void 0)?"optional":void 0),fi(t,"optout",n=>n.def.options.some(i=>i._zod.optout==="optional")?"optional":void 0),fi(t,"values",n=>{if(n.def.options.every(i=>i._zod.values))return new Set(n.def.options.flatMap(i=>Array.from(i._zod.values)))}),fi(t,"pattern",n=>{if(n.def.options.every(i=>i._zod.pattern)){const i=n.def.options.map(a=>a._zod.pattern);return new RegExp(`^(${i.map(a=>Bee(a.source)).join("|")})$`)}});const r=e.options.length===1?e.options[0]._zod.run:null;t._zod.parse=(n,i)=>{if(r)return r(n,i);let a=!1;const s=[];for(const o of e.options){const l=o._zod.run({value:n.value,issues:[]},i);if(l instanceof Promise)s.push(l),a=!0;else{if(l.issues.length===0)return l;s.push(l)}}return a?Promise.all(s).then(o=>$fe(o,n,t,i)):$fe(s,n,t,i)}});function r_t(t){var r;const e=new Map;for(const n of t.options){const i=(r=n._zod.propValues)==null?void 0:r[t.discriminator];if(!i||i.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(n)}"`);for(const a of i)if(e.has(a)){if(a!==void 0)throw new Error(`Duplicate discriminator value "${String(a)}"`);e.set(a,null)}else e.set(a,n)}return e}const n_t=wt("$ZodDiscriminatedUnion",(t,e)=>{e.inclusive=!1,$Ae.init(t,e);const r=t._zod.parse;fi(t,"propValues",i=>{var o,l;const a={};let s=0;for(const u of i.def.options){const d=u._zod.propValues;if(!d||Object.keys(d).length===0)throw new Error(`Invalid discriminated union option at index "${i.def.options.indexOf(u)}"`);(o=d[i.def.discriminator])!=null&&o.has(void 0)&&s++;for(const[h,f]of Object.entries(d)){Object.prototype.hasOwnProperty.call(a,h)||op(a,h,new Set);for(const p of f)a[h].add(p)}}return!i.def.unionFallback&&s>1&&((l=a[i.def.discriminator])==null||l.delete(void 0)),a}),e.options.forEach((i,a)=>{const s=$ee(i._zod.def);if(s&&!Object.prototype.hasOwnProperty.call(s,e.discriminator))throw new Error(`Invalid discriminated union option at index "${a}"`)});const n=JD(()=>r_t(e));t._zod.parse=(i,a)=>{const s=i.value;if(!DT(s))return i.issues.push({code:"invalid_type",expected:"object",input:s,inst:t}),i;const o=s==null?void 0:s[e.discriminator],l=n.value.get(o);return l&&(o!==void 0||a.direction!=="backward")?l._zod.run(i,a):e.unionFallback||a.direction==="backward"?r(i,a):(i.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:e.discriminator,options:Array.from(n.value.keys()).filter(u=>n.value.get(u)!==null),input:s,path:[e.discriminator],inst:t}),i)}}),i_t=wt("$ZodIntersection",(t,e)=>{ka.init(t,e),t._zod.parse=(r,n)=>{const i=r.value,a=e.left._zod.run({value:i,issues:[]},n),s=e.right._zod.run({value:i,issues:[]},n);return a instanceof Promise||s instanceof Promise?Promise.all([a,s]).then(([l,u])=>Ffe(r,l,u)):Ffe(r,a,s)}});function pq(t,e){if(t===e)return{valid:!0,data:t};if(t instanceof Date&&e instanceof Date&&+t==+e)return{valid:!0,data:t};if(Zv(t)&&Zv(e)){const r=Object.keys(e),n=Object.keys(t).filter(a=>r.indexOf(a)!==-1),i={...t,...e};Object.prototype.hasOwnProperty.call(i,"__proto__")&&delete i.__proto__;for(const a of n){if(a==="__proto__")continue;const s=pq(t[a],e[a]);if(!s.valid)return{valid:!1,mergeErrorPath:[a,...s.mergeErrorPath]};i[a]=s.data}return{valid:!0,data:i}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return{valid:!1,mergeErrorPath:[]};const r=[];for(let n=0;n<t.length;n++){const i=t[n],a=e[n],s=pq(i,a);if(!s.valid)return{valid:!1,mergeErrorPath:[n,...s.mergeErrorPath]};r.push(s.data)}return{valid:!0,data:r}}return{valid:!1,mergeErrorPath:[]}}function Ffe(t,e,r){const n=new Map;let i;const a=new Map,s=(u,d)=>{var f,p;let h;if(u.code==="unrecognized_keys"&&!((f=u.path)!=null&&f.length))i??(i=u),h=u.keys;else if(u.code==="invalid_key"&&u.origin==="record"&&((p=u.path)==null?void 0:p.length)===1){const g=String(u.path[0]);a.has(g)||a.set(g,u),h=[g]}else return!1;for(const g of h)n.has(g)||n.set(g,{}),n.get(g)[d]=!0;return!0};for(const u of e.issues)s(u,"l")||t.issues.push(u);for(const u of r.issues)s(u,"r")||t.issues.push(u);const o=[...n].filter(([,u])=>u.l&&u.r).map(([u])=>u);if(o.length){const u=i?o.filter(d=>i.keys.includes(d)):[];u.length&&t.issues.push({...i,keys:u});for(const d of o)!u.includes(d)&&a.has(d)&&t.issues.push(a.get(d))}const l=pq(e.value,r.value);if(!l.valid){if(c0(t))return t;throw new Error(`Unmergable intersection. Error path: ${JSON.stringify(l.mergeErrorPath)}`)}return t.value=l.data,t}const a_t=wt("$ZodRecord",(t,e)=>{ka.init(t,e);const r=Vd.memoizer;r==null||r.attach(t),t._zod.parse=(n,i)=>{const a=n.value;if(!Zv(a))return n.issues.push({expected:"record",code:"invalid_type",input:a,inst:t}),n;const s=[],o=e.keyType._zod.values;if(o&&!e.partial){n.value=r?r.alloc(t,n,{},i):{};const l=new Set;for(const d of o)if(typeof d=="string"||typeof d=="number"||typeof d=="symbol"){if(l.add(typeof d=="number"?d.toString():d),d==="__proto__")continue;const h=e.keyType._zod.run({value:d,issues:[]},i);if(h instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(h.issues.length){n.issues.push({code:"invalid_key",origin:"record",issues:h.issues.map(g=>qg(g,i,Xh())),input:d,path:[d],inst:t});continue}const f=h.value;if(f==="__proto__")continue;const p=e.valueType._zod.run({value:a[d],issues:[]},i);p instanceof Promise?s.push(p.then(g=>{g.issues.length&&n.issues.push(...$2(d,g.issues)),n.value[f]=g.value})):(p.issues.length&&n.issues.push(...$2(d,p.issues)),n.value[f]=p.value)}let u;for(const d in a)if(!l.has(d))if(e.mode==="loose"){if(d==="__proto__")continue;n.value[d]=a[d]}else u=u??[],u.push(d);u&&u.length>0&&n.issues.push({code:"unrecognized_keys",input:a,inst:t,keys:u,continue:!0})}else{n.value=r?r.alloc(t,n,{},i):{};let l;for(const u of Reflect.ownKeys(a)){if(u==="__proto__"||!Object.prototype.propertyIsEnumerable.call(a,u))continue;let d=e.keyType._zod.run({value:u,issues:[]},i);if(d instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(typeof u=="string"&&qee.test(u)&&d.issues.length){const g=e.keyType._zod.run({value:Number(u),issues:[]},i);if(g instanceof Promise)throw new Error("Async schemas not supported in object keys currently");g.issues.length===0&&(d=g)}if(d.issues.length){e.mode==="loose"?n.value[u]=a[u]:o?(l=l??[],l.push(u)):n.issues.push({code:"invalid_key",origin:"record",issues:d.issues.map(g=>qg(g,i,Xh())),input:u,path:[u],inst:t});continue}const f=d.value;if(f==="__proto__")continue;const p=e.valueType._zod.run({value:a[u],issues:[]},i);p instanceof Promise?s.push(p.then(g=>{g.issues.length&&n.issues.push(...$2(u,g.issues)),n.value[f]=g.value})):(p.issues.length&&n.issues.push(...$2(u,p.issues)),n.value[f]=p.value)}l&&l.length>0&&n.issues.push({code:"unrecognized_keys",input:a,inst:t,keys:l,continue:!0})}return s.length?Promise.all(s).then(()=>n):n}}),s_t=wt("$ZodEnum",(t,e)=>{ka.init(t,e);const r=uq(e.entries),n=new Set(r);t._zod.values=n,fi(t,"pattern",i=>{const a=uq(i.def.entries).filter(s=>_Ot.has(typeof s));return new RegExp(a.length?`^(${a.map(s=>Jv(s.toString())).join("|")})$`:"^[^\\s\\S]$")}),t._zod.parse=(i,a)=>{const s=i.value;return n.has(s)||i.issues.push({code:"invalid_value",values:r,input:s,inst:t}),i}}),o_t=wt("$ZodLiteral",(t,e)=>{ka.init(t,e);const r=new Set(e.values);t._zod.values=r,fi(t,"pattern",n=>{const i=n.def.values;return new RegExp(i.length?`^(${i.map(a=>typeof a=="string"?Jv(a):a?Jv(a.toString()):String(a)).join("|")})$`:"^[^\\s\\S]$")}),t._zod.parse=(n,i)=>{const a=n.value;return r.has(a)||n.issues.push({code:"invalid_value",values:e.values,input:a,inst:t}),n}}),l_t=wt("$ZodTransform",(t,e)=>{var r;ka.init(t,e),t._zod.optin="optional",(r=Vd.memoizer)==null||r.guard(t),t._zod.parse=(n,i)=>{if(i.direction==="backward")throw new CAe(t.constructor.name);const a=e.transform(n.value,n);if(i.async)return(a instanceof Promise?a:Promise.resolve(a)).then(o=>(n.value=o,n));if(a instanceof Promise)throw new IU;return n.value=a,n}});function zfe(t,e){return t.value=e.issues.length?void 0:e.value,t}const FAe=wt("$ZodOptional",(t,e)=>{ka.init(t,e),fi(t,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),t._zod.optout="optional",fi(t,"values",r=>{const n=r.def.innerType._zod.values;return n?new Set([...n,void 0]):void 0}),fi(t,"pattern",r=>{const n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Bee(n.source)})?$`):void 0}),t._zod.parse=(r,n)=>{if(r.value===void 0){if(e.innerType._zod.optin!=="defaulted")return r;const i=e.innerType._zod.run({value:r.value,issues:[]},n);return i instanceof Promise?i.then(a=>zfe(r,a)):zfe(r,i)}return e.innerType._zod.run(r,n)}}),c_t=wt("$ZodExactOptional",(t,e)=>{FAe.init(t,e),fi(t,"values",r=>r.def.innerType._zod.values),fi(t,"pattern",r=>r.def.innerType._zod.pattern),t._zod.parse=(r,n)=>e.innerType._zod.run(r,n)}),u_t=wt("$ZodNullable",(t,e)=>{ka.init(t,e),fi(t,"optin",r=>r.def.innerType._zod.optin),fi(t,"optout",r=>r.def.innerType._zod.optout),fi(t,"pattern",r=>{const n=r.def.innerType._zod.pattern;return n?new RegExp(`^(${Bee(n.source)}|null)$`):void 0}),fi(t,"values",r=>r.def.innerType._zod.values?new Set([...r.def.innerType._zod.values,null]):void 0),t._zod.parse=(r,n)=>r.value===null?r:e.innerType._zod.run(r,n)}),d_t=wt("$ZodDefault",(t,e)=>{ka.init(t,e),t._zod.optin="defaulted",fi(t,"values",r=>r.def.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);if(r.value===void 0)return r.value=e.defaultValue,r;const i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>Hfe(a,e)):Hfe(i,e)}});function Hfe(t,e){return t.value===void 0&&(t.value=e.defaultValue),t}const h_t=wt("$ZodPrefault",(t,e)=>{ka.init(t,e),t._zod.optin="defaulted",fi(t,"values",r=>r.def.innerType._zod.values),t._zod.parse=(r,n)=>(n.direction==="backward"||r.value===void 0&&(r.value=e.defaultValue),e.innerType._zod.run(r,n))}),f_t=wt("$ZodNonOptional",(t,e)=>{ka.init(t,e),fi(t,"values",r=>{const n=r.def.innerType._zod.values;return n?new Set([...n].filter(i=>i!==void 0)):void 0}),t._zod.parse=(r,n)=>{const i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(a=>Vfe(a,t)):Vfe(i,t)}});function Vfe(t,e){return!t.issues.length&&t.value===void 0&&t.issues.push({code:"invalid_type",expected:"nonoptional",input:t.value,inst:e}),t}function Gfe(t,e,r,n){return e.issues.length?(t.value=r.catchValue({...e,value:t.value,error:{issues:e.issues.map(i=>qg(i,n,Xh()))},input:t.value}),t):(t.value=e.value,e.memo&&(t.memo=!0),t)}const p_t=wt("$ZodCatch",(t,e)=>{ka.init(t,e),fi(t,"optin",r=>r.def.innerType._zod.optin==="defaulted"?"defaulted":"optional"),fi(t,"optout",r=>r.def.innerType._zod.optout),fi(t,"values",r=>r.def.innerType._zod.values),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);const i=e.innerType._zod.run({value:r.value,issues:[]},n);return i instanceof Promise?i.then(a=>Gfe(r,a,e,n)):Gfe(r,i,e,n)}}),g_t=wt("$ZodPipe",(t,e)=>{ka.init(t,e),fi(t,"values",r=>r.def.in._zod.values),fi(t,"optin",r=>r.def.in._zod.optin),fi(t,"optout",r=>r.def.out._zod.optout),fi(t,"propValues",r=>r.def.in._zod.propValues),t._zod.parse=(r,n)=>{if(n.direction==="backward"){const a=e.out._zod.run(r,n);return a instanceof Promise?a.then(s=>sE(s,e.in,n)):sE(a,e.in,n)}const i=e.in._zod.run(r,n);return i instanceof Promise?i.then(a=>sE(a,e.out,n)):sE(i,e.out,n)}});function sE(t,e,r){return t.issues.some(n=>n.code!=="unrecognized_keys")?(t.aborted=!0,t):e._zod.run({value:t.value,issues:t.issues},r)}const m_t=wt("$ZodReadonly",(t,e)=>{ka.init(t,e),fi(t,"propValues",r=>r.def.innerType._zod.propValues),fi(t,"values",r=>r.def.innerType._zod.values),fi(t,"optin",r=>{var n,i;return(i=(n=r.def.innerType)==null?void 0:n._zod)==null?void 0:i.optin}),fi(t,"optout",r=>{var n,i;return(i=(n=r.def.innerType)==null?void 0:n._zod)==null?void 0:i.optout}),t._zod.parse=(r,n)=>{if(n.direction==="backward")return e.innerType._zod.run(r,n);const i=e.innerType._zod.run(r,n);return i instanceof Promise?i.then(Wfe):Wfe(i)}});function Wfe(t){return t.memo||(t.value=Object.freeze(t.value)),t}const U_t=wt("$ZodCustom",(t,e)=>{Mc.init(t,e),ka.init(t,e),t._zod.parse=(r,n)=>r,t._zod.check=r=>{const n=r.value,i=e.fn(n);if(i instanceof Promise)return i.then(a=>qfe(a,r,n,t));qfe(i,r,n,t)}});function qfe(t,e,r,n){if(!t){const i={code:"custom",input:r,inst:n,path:[...n._zod.def.path??[]],continue:!n._zod.def.abort};n._zod.def.params&&(i.params=n._zod.def.params),e.issues.push(PT(i))}}class y_t extends Error{constructor(){super("Cannot parse a reference cycle that closes through a transform"),this.name="ZodCyclicError"}}const gq="~memo",jfe=[];function zAe(t){return t!==null&&typeof t=="object"}function dF(t){return t.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const HAe=new WeakMap,q9=0,eM=1,nw=2;function tM(t,e,r){const n=HAe.get(t);if(n!==void 0)return n?nw:q9;if(e.has(t))return nw;e.add(t);let i=q9;const a=d=>{if(i!==nw&&(d!=null&&d._zod)){const h=tM(d,e);h>i&&(i=h)}},s=(d,h)=>{var p;let f=q9;for(const g of Reflect.ownKeys(d)){const m=Object.getOwnPropertyDescriptor(d,g);if(!m.enumerable)continue;const U=m.get?eM:(p=m.value)!=null&&p._zod?tM(m.value,e):q9;U>f&&(f=U)}return f},o=d=>{d>i&&(i=d)},l=t._zod.def;switch(l.type){case"object":{const d=$ee(l);o(d?s(d):eM),a(l.catchall);break}case"array":a(l.element);break;case"tuple":for(const d of l.items)a(d);a(l.rest);break;case"record":case"map":a(l.keyType),a(l.valueType);break;case"set":a(l.valueType);break;case"union":for(const d of l.options)a(d);break;case"intersection":a(l.left),a(l.right);break;case"optional":case"nullable":case"default":case"prefault":case"catch":case"readonly":case"nonoptional":case"promise":case"success":a(l.innerType);break;case"pipe":a(l.in),a(l.out);break;case"function":a(l.input),a(l.output);break;case"lazy":{const d=l._cachedInner??void 0;o(d?tM(d,e):eM);break}case"template_literal":case"string":case"number":case"int":case"boolean":case"bigint":case"symbol":case"undefined":case"null":case"void":case"never":case"any":case"unknown":case"date":case"nan":case"enum":case"literal":case"file":case"transform":case"custom":break;default:for(const d in l){const h=Object.getOwnPropertyDescriptor(l,d);if(!h||h.get)continue;const f=h.value;if(!(!f||typeof f!="object")){if(f._zod)a(f);else if(Array.isArray(f))for(const p of f)a(p)}}}return e.delete(t),b_t(t,i)}function b_t(t,e){return e!==eM&&HAe.set(t,e===nw),e}function v_t(t,e){let r=t.buckets.get(e);return r||(r=new WeakMap,t.buckets.set(e,r)),r}let oE;const lE=[],x_t={alloc(t,e,r){const n=oE;if(!n)return r;oE=void 0;const i={value:r,issues:null};return n.set(e.value,i),lE.push(i),r},guard(t){var e;(e=t._zod).deferred??(e.deferred=[]),t._zod.deferred.push(()=>{const r=t._zod.parse,n=(i,a)=>{if(a.direction!=="backward"&&T_t(a,i.value))throw new y_t;return r(i,a)};t._zod.parse=n,t._zod.run===r&&(t._zod.run=n)})},attach(t){var e;let r,n=!1,i,a;(e=t._zod).deferred??(e.deferred=[]),t._zod.deferred.push(()=>{const s=t._zod.parse,o=(l,u)=>{if(r===void 0){const y=tM(t,new Set);if(y===q9)return t._zod.parse=s,t._zod.run===o&&(t._zod.run=s),s(l,u);y===nw||n?r=!0:n=!0}const d=l.value;if(!zAe(d))return s(l,u);let h=u[gq];h||(h={buckets:new WeakMap,backEdges:void 0},u[gq]=h);let f;i===u?f=a:(f=v_t(h,t),i=u,a=f);const p=f.get(d);if(p)return l.value=p.value,p.issues?p.issues.length&&l.issues.push(...dF(p.issues)):(l.memo=!0,h.backEdges??(h.backEdges=new WeakSet),h.backEdges.add(p.value)),l;oE=f;const g=lE.length,m=s(l,u);oE=void 0;const U=lE.length>g?lE.pop():void 0;return m instanceof Promise?m.then(y=>(U&&(U.issues=y.issues.length?dF(y.issues):jfe),y)):(U&&(U.issues=m.issues.length?dF(m.issues):jfe),m)};t._zod.parse=o,t._zod.run===s&&(t._zod.run=o)})}};function w_t(){return x_t}function T_t(t,e){var n;const r=(n=t[gq])==null?void 0:n.backEdges;return r!==void 0&&zAe(e)&&r.has(e)}const C_t=()=>{const t={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"},map:{unit:"entries",verb:"to have"}};function e(a){return t[a]??null}const r={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",mac:"MAC address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",currency_code:"currency code",credit_card:"credit card number",iban:"IBAN",jwt:"JWT",template_literal:"input"},n={nan:"NaN"};function i(a,s){return a==="number"&&typeof s=="number"&&!Number.isFinite(s)?String(s):n[a]??a}return a=>{switch(a.code){case"invalid_type":{const s=i(a.expected),o=YOt(a.input),l=i(o,a.input);return`Invalid input: expected ${s}, received ${l}`}case"invalid_value":return a.values.length===1?`Invalid input: expected ${bAe(a.values[0])}`:`Invalid option: expected one of ${Rfe(a.values,"|")}`;case"too_big":{const s=a.exact?"exactly ":a.inclusive?"<=":"<",o=e(a.origin);return o?`Too big: expected ${a.origin??"value"} to have ${s}${a.maximum.toString()} ${o.unit??"elements"}`:`Too big: expected ${a.origin??"value"} to be ${s}${a.maximum.toString()}`}case"too_small":{const s=a.exact?"exactly ":a.inclusive?">=":">",o=e(a.origin);return o?`Too small: expected ${a.origin} to have ${s}${a.minimum.toString()} ${o.unit}`:`Too small: expected ${a.origin} to be ${s}${a.minimum.toString()}`}case"invalid_format":{const s=a;return s.format==="starts_with"?`Invalid string: must start with "${s.prefix}"`:s.format==="ends_with"?`Invalid string: must end with "${s.suffix}"`:s.format==="includes"?`Invalid string: must include "${s.includes}"`:s.format==="regex"?`Invalid string: must match pattern ${s.pattern}`:`Invalid ${r[s.format]??a.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${a.divisor}`;case"unrecognized_keys":return`Unrecognized key${a.keys.length>1?"s":""}: ${Rfe(a.keys,", ")}`;case"invalid_key":return`Invalid key in ${a.origin}`;case"invalid_union":return a.options&&Array.isArray(a.options)&&a.options.length>0?`Invalid discriminator value. Expected ${a.options.map(o=>`'${o}'`).join(" | ")}`:a.inclusive===!1?"Invalid input: more than one option matched":"Invalid input";case"invalid_element":return`Invalid value in ${a.origin}`;default:return"Invalid input"}}};function S_t(){return{localeError:C_t()}}var Yfe;class k_t{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...r){const n=r[0];return this._map.set(e,n),n&&typeof n=="object"&&"id"in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){const r=this._map.get(e);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(e),this}get(e){const r=e._zod.parent;if(r){const n={...this.get(r)??{}};delete n.id;const i={...n,...this._map.get(e)};return Object.keys(i).length?i:void 0}return this._map.get(e)}has(e){return this._map.has(e)}}function E_t(){return new k_t}(Yfe=globalThis).__zod_globalRegistry??(Yfe.__zod_globalRegistry=E_t());const j9=globalThis.__zod_globalRegistry;function VAe(t){return t.checks&&(t.checks=[...t.checks]),t}function A_t(t,e){return new t(VAe({type:"string",...Rr(e)}))}function M_t(t,e){return new t({type:"string",format:"email",check:"string_format",abort:!1,...Rr(e)})}function R_t(t,e){return new t({type:"string",format:"guid",check:"string_format",abort:!1,...Rr(e)})}function I_t(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,...Rr(e)})}function L_t(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...Rr(e)})}function N_t(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...Rr(e)})}function O_t(t,e){return new t({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...Rr(e)})}function D_t(t,e){return new t({type:"string",format:"url",check:"string_format",abort:!1,...Rr(e)})}function P_t(t,e){return new t({type:"string",format:"emoji",check:"string_format",abort:!1,...Rr(e)})}function __t(t,e){return new t({type:"string",format:"nanoid",check:"string_format",abort:!1,...Rr(e)})}function B_t(t,e){return new t({type:"string",format:"cuid",check:"string_format",abort:!1,...Rr(e)})}function $_t(t,e){return new t({type:"string",format:"cuid2",check:"string_format",abort:!1,...Rr(e)})}function F_t(t,e){return new t({type:"string",format:"ulid",check:"string_format",abort:!1,...Rr(e)})}function z_t(t,e){return new t({type:"string",format:"xid",check:"string_format",abort:!1,...Rr(e)})}function H_t(t,e){return new t({type:"string",format:"ksuid",check:"string_format",abort:!1,...Rr(e)})}function V_t(t,e){return new t({type:"string",format:"ipv4",check:"string_format",abort:!1,...Rr(e)})}function G_t(t,e){return new t({type:"string",format:"ipv6",check:"string_format",abort:!1,...Rr(e)})}function W_t(t,e){return new t({type:"string",format:"cidrv4",check:"string_format",abort:!1,...Rr(e)})}function q_t(t,e){return new t({type:"string",format:"cidrv6",check:"string_format",abort:!1,...Rr(e)})}function j_t(t,e){return new t({type:"string",format:"base64",check:"string_format",abort:!1,...Rr(e)})}function Y_t(t,e){return new t({type:"string",format:"base64url",check:"string_format",abort:!1,...Rr(e)})}function X_t(t,e){return new t({type:"string",format:"e164",check:"string_format",abort:!1,...Rr(e)})}function K_t(t,e){return new t({type:"string",format:"jwt",check:"string_format",abort:!1,...Rr(e)})}function Z_t(t,e){return new t({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...Rr(e)})}function J_t(t,e){return new t({type:"string",format:"date",check:"string_format",...Rr(e)})}function Q_t(t,e){return new t({type:"string",format:"time",check:"string_format",precision:null,...Rr(e)})}function eBt(t,e){return new t({type:"string",format:"duration",check:"string_format",...Rr(e)})}function tBt(t,e){return new t(VAe({type:"number",checks:[],...Rr(e)}))}function rBt(t,e){return new t({type:"number",check:"number_format",abort:!1,format:"safeint",...Rr(e)})}function nBt(t,e){return new t({type:"boolean",...Rr(e)})}function iBt(t){return new t({type:"unknown"})}function aBt(t,e){return new t({type:"never",...Rr(e)})}function Xfe(t,e){return new EAe({check:"less_than",...Rr(e),value:t,inclusive:!1})}function hF(t,e){return new EAe({check:"less_than",...Rr(e),value:t,inclusive:!0})}function Kfe(t,e){return new AAe({check:"greater_than",...Rr(e),value:t,inclusive:!1})}function fF(t,e){return new AAe({check:"greater_than",...Rr(e),value:t,inclusive:!0})}function Zfe(t,e){return new QDt({check:"multiple_of",...Rr(e),value:t})}function GAe(t,e){return new tPt({check:"max_length",...Rr(e),maximum:t})}function SL(t,e){return new rPt({check:"min_length",...Rr(e),minimum:t})}function WAe(t,e){return new nPt({check:"length_equals",...Rr(e),length:t})}function sBt(t,e){return new iPt({check:"string_format",format:"regex",...Rr(e),pattern:t})}function oBt(t){return new aPt({check:"string_format",format:"lowercase",...Rr(t)})}function lBt(t){return new sPt({check:"string_format",format:"uppercase",...Rr(t)})}function cBt(t,e){return new oPt({check:"string_format",format:"includes",...Rr(e),includes:t})}function uBt(t,e){return new lPt({check:"string_format",format:"starts_with",...Rr(e),prefix:t})}function dBt(t,e){return new cPt({check:"string_format",format:"ends_with",...Rr(e),suffix:t})}function t3(t){return new uPt({check:"overwrite",tx:t})}function hBt(t){return t3(e=>e.normalize(t))}function fBt(){return t3(t=>t.trim())}function pBt(){return t3(t=>t.toLowerCase())}function gBt(){return t3(t=>t.toUpperCase())}function mBt(){return t3(t=>DOt(t))}function UBt(t,e,r){return new t({type:"array",element:e,...Rr(r)})}function yBt(t,e,r){return new t({type:"custom",check:"custom",fn:e,...Rr(r)})}function bBt(t,e){const r=vBt(n=>(n.addIssue=i=>{if(typeof i=="string")n.issues.push(PT(i,n.value,r._zod.def));else{const a=i;a.fatal&&(a.continue=!1),a.code??(a.code="custom"),"input"in a||(a.input=n.value),a.inst??(a.inst=r),a.continue??(a.continue=!r._zod.def.abort),n.issues.push(PT(a))}},t(n.value,n)),e);return r}function vBt(t,e){const r=new Mc({check:"custom",...Rr(e)});return r._zod.check=t,r}function iw(t,...e){for(const r of e)for(const n of Reflect.ownKeys(r))Object.prototype.propertyIsEnumerable.call(r,n)&&op(t,n,r[n]);return t}function qAe(t){let e=(t==null?void 0:t.target)??"draft-2020-12";return e==="draft-4"&&(e="draft-04"),e==="draft-7"&&(e="draft-07"),{processors:t.processors??{},metadataRegistry:(t==null?void 0:t.metadata)??j9,target:e,unrepresentable:(t==null?void 0:t.unrepresentable)??"throw",override:(t==null?void 0:t.override)??(()=>{}),io:(t==null?void 0:t.io)??"output",counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:(t==null?void 0:t.cycles)??"ref",reused:(t==null?void 0:t.reused)??"inline",intersections:[],deferred:[],external:(t==null?void 0:t.external)??void 0}}function Yg(t,e,r,n,i){const a=typeof e.unrepresentable=="function"?e.unrepresentable({zodSchema:t,path:n.path,message:i}):e.unrepresentable;if(a==="any")return!1;if(a===void 0||a==="throw")throw new Error(i);return Object.assign(r,a),!0}function ms(t,e,r={path:[],schemaPath:[]}){var d,h;var n;const i=t._zod.def,a=e.seen.get(t);if(a)return a.count++,r.schemaPath.includes(t)&&(a.cycle=r.path),a.schema;const s={schema:{},count:1,cycle:void 0,path:r.path};e.seen.set(t,s),e.sharedDefsExtractedFor=void 0,e.sharedEmitDoneFor=void 0;const o=(h=(d=t._zod).toJSONSchema)==null?void 0:h.call(d);if(o)s.schema=o;else{const f={...r,schemaPath:[...r.schemaPath,t],path:r.path};if(t._zod.processJSONSchema)t._zod.processJSONSchema(e,s.schema,f);else{const g=s.schema,m=e.processors[i.type];if(!m)throw new Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);m(t,e,g,f)}const p=t._zod.parent;p&&(s.ref||(s.ref=p),ms(p,e,f),e.seen.get(p).isParent=!0)}const l=e.metadataRegistry.get(t);return l&&iw(s.schema,l),e.io==="input"&&ml(t)&&(delete s.schema.examples,delete s.schema.default),e.io==="input"&&"_prefault"in s.schema&&((n=s.schema).default??(n.default=s.schema._prefault)),delete s.schema._prefault,e.seen.get(t).schema}function Jfe(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}function jAe(t,e){var s,o,l,u;const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");if(t.external&&t.sharedDefsExtractedFor===t.external)return;const n=new Map;for(const d of t.seen.entries()){const h=(s=t.metadataRegistry.get(d[0]))==null?void 0:s.id;if(h){const f=n.get(h);if(f&&f!==d[0])throw new Error(`Duplicate schema id "${h}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);n.set(h,d[0])}}const i=d=>{var m;const h=t.target==="draft-2020-12"?"$defs":"definitions";if(t.external){const U=(m=t.external.registry.get(d[0]))==null?void 0:m.id,y=t.external.uri??(v=>v);if(U)return{ref:y(U)};const b=d[1].defId??d[1].schema.id??`schema${t.counter++}`;return d[1].defId=b,{defId:b,ref:`${y("__shared")}#/${h}/${Jfe(b)}`}}const f="#",p=`${f}/${h}/`;if(d[1]===r&&!d[1].schema.id)return{ref:f};const g=d[1].schema.id??`__schema${t.counter++}`;return{defId:g,ref:p+Jfe(g)}},a=d=>{if(d[1].schema.$ref)return;const h=d[1],{ref:f,defId:p}=i(d);h.def={...h.schema},p&&(h.defId=p);const g=h.schema;for(const m in g)delete g[m];g.$ref=f};if(t.cycles==="throw")for(const d of t.seen.entries()){const h=d[1];if(h.cycle)throw new Error(`Cycle detected: #/${(o=h.cycle)==null?void 0:o.join("/")}/<root>
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(const d of t.seen.entries()){const h=d[1];if(e===d[0]){a(d);continue}if(t.external){const p=(l=t.external.registry.get(d[0]))==null?void 0:l.id;if(e!==d[0]&&p){a(d);continue}}if((u=t.metadataRegistry.get(d[0]))==null?void 0:u.id){a(d);continue}if(h.cycle){a(d);continue}h.count>1&&t.reused==="ref"&&a(d)}t.external&&(t.sharedDefsExtractedFor=t.external)}function YAe(t){const e=t.anyOf;if(!Array.isArray(e)||e.length===0||t.type!==void 0)return;const r=[];for(const n of e){if(!n||typeof n!="object")return;YAe(n);const i=Object.keys(n);if(i.length!==1||i[0]!=="type")return;const a=n.type;for(const s of Array.isArray(a)?a:[a]){if(typeof s!="string")return;r.includes(s)||r.push(s)}}delete t.anyOf,t.type=r.length===1?r[0]:r}const XAe=new Set(["type","properties","required","additionalProperties"]),Qfe=["oneOf","anyOf"];function e0e(t){const e=t.additionalProperties;return e===void 0||e===!1||typeof e!="object"||e===null?null:Object.keys(e).length?e:null}function mq(t){var a;const e=[];for(const s of t){if(typeof s!="object"||s.type!=="object")return null;for(const o in s)if(!XAe.has(o))return null;e.push(s)}const r={},n=new Set;for(const s of e){for(const o in s.properties){if(Object.prototype.hasOwnProperty.call(r,o))continue;const l=[];for(const d of e){const h=((a=d.properties)==null?void 0:a[o])??e0e(d);h!=null&&(l.some(f=>JSON.stringify(f)===JSON.stringify(h))||l.push(h))}const u=l.length===1?l[0]:mq(l)??{allOf:l};op(r,o,u)}for(const o of s.required??[])n.add(o)}const i={type:"object",properties:r};if(n.size&&(i.required=[...n]),e.every(s=>s.additionalProperties===!1))i.additionalProperties=!1;else{const s=[];for(const o of e){const l=e0e(o);l&&!s.some(u=>JSON.stringify(u)===JSON.stringify(l))&&s.push(l)}s.length===1?i.additionalProperties=s[0]:s.length>1&&(i.additionalProperties={allOf:s})}return i}function xBt(t){const e=t.allOf;if(!Array.isArray(e)||e.length<2)return;for(const i of XAe)if(i in t)return;const r=e.filter(i=>Qfe.some(a=>Array.isArray(i[a])));let n=null;if(!r.length)n=mq(e);else{const i=r[0],a=Qfe.find(l=>Array.isArray(i[l]));if(Object.keys(i).length!==1)return;const s=e.filter(l=>l!==i),o=i[a].map(l=>mq([...s,l]));if(o.some(l=>!l))return;n={[a]:o}}n&&(delete t.allOf,iw(t,n))}function KAe(t,e){var o,l,u,d;const r=t.seen.get(e);if(!r)throw new Error("Unprocessed schema. This is a bug in Zod.");const n=h=>{const f=t.seen.get(h);if(f.ref===null)return;const p=f.def??f.schema,g={...p},m=f.ref;if(f.ref=null,m){n(m);const y=t.seen.get(m),b=y.schema;if(b.$ref&&(t.target==="draft-07"||t.target==="draft-04"||t.target==="openapi-3.0")?(p.allOf=p.allOf??[],p.allOf.push(b)):iw(p,b),iw(p,g),h._zod.parent===m)for(const w in p)w==="$ref"||w==="allOf"||w in g||delete p[w];if(b.$ref&&y.def)for(const w in p)w==="$ref"||w==="allOf"||w in y.def&&JSON.stringify(p[w])===JSON.stringify(y.def[w])&&delete p[w]}const U=h._zod.parent;if(U&&U!==m){n(U);const y=t.seen.get(U);if(y!=null&&y.schema.$ref&&(p.$ref=y.schema.$ref,y.def))for(const b in p)b==="$ref"||b==="allOf"||b in y.def&&JSON.stringify(p[b])===JSON.stringify(y.def[b])&&delete p[b]}t.override({zodSchema:h,jsonSchema:p,path:f.path??[]})};if(!t.external||t.sharedEmitDoneFor!==t.external){for(const h of[...t.seen.entries()].reverse())n(h[0]);if(t.target!=="openapi-3.0")for(const h of t.seen.entries())YAe(h[1].def??h[1].schema);for(const h of t.deferred)h();if(t.intersections.length){const h=new Map;for(const f of t.seen.values())for(const p of[f.schema,f.def]){const g=p==null?void 0:p.allOf;if(!Array.isArray(g))continue;const m=h.get(g);m?m.push(p):h.set(g,[p])}for(const f of t.intersections)for(const p of h.get(f)??[])xBt(p)}}const i={};if(t.target==="draft-2020-12"?i.$schema="https://json-schema.org/draft/2020-12/schema":t.target==="draft-07"?i.$schema="http://json-schema.org/draft-07/schema#":t.target==="draft-04"?i.$schema="http://json-schema.org/draft-04/schema#":t.target,(o=t.external)!=null&&o.uri){const h=(l=t.external.registry.get(e))==null?void 0:l.id;if(!h)throw new Error("Schema is missing an `id` property");i.$id=t.external.uri(h)}iw(i,r.defId?r.schema:r.def??r.schema);const a=(u=t.metadataRegistry.get(e))==null?void 0:u.id;a!==void 0&&i.id===a&&delete i.id;const s=((d=t.external)==null?void 0:d.defs)??{};if(!t.external||t.sharedEmitDoneFor!==t.external)for(const h of t.seen.entries()){const f=h[1];f.def&&f.defId&&(f.def.id===f.defId&&delete f.def.id,op(s,f.defId,f.def))}t.external&&(t.sharedEmitDoneFor=t.external),t.external||Object.keys(s).length>0&&(t.target==="draft-2020-12"?i.$defs=s:i.definitions=s);try{const h=JSON.parse(JSON.stringify(i));return Object.defineProperty(h,"~standard",{value:{...e["~standard"],jsonSchema:{input:kL(e,"input",t.processors),output:kL(e,"output",t.processors)}},enumerable:!1,writable:!1}),h}catch{throw new Error("Error converting schema to JSON.")}}function ml(t,e){const r=e??{seen:new Set};if(r.seen.has(t))return!1;r.seen.add(t);const n=t._zod.def;if(n.type==="transform")return!0;if(n.type==="array")return ml(n.element,r);if(n.type==="set")return ml(n.valueType,r);if(n.type==="lazy")return ml(n.getter(),r);if(n.type==="promise"||n.type==="optional"||n.type==="nonoptional"||n.type==="nullable"||n.type==="readonly"||n.type==="default"||n.type==="prefault"||n.type==="catch")return ml(n.innerType,r);if(n.type==="intersection")return ml(n.left,r)||ml(n.right,r);if(n.type==="record"||n.type==="map")return ml(n.keyType,r)||ml(n.valueType,r);if(n.type==="pipe")return t._zod.traits.has("$ZodCodec")?!0:ml(n.in,r)||ml(n.out,r);if(n.type==="object"){for(const i in n.shape)if(ml(n.shape[i],r))return!0;return!1}if(n.type==="union"){for(const i of n.options)if(ml(i,r))return!0;return!1}if(n.type==="tuple"){for(const i of n.items)if(ml(i,r))return!0;return!!(n.rest&&ml(n.rest,r))}return!1}const wBt=(t,e={})=>r=>{const n=qAe({...r,processors:e});return ms(t,n),jAe(n,t),KAe(n,t)},kL=(t,e,r={})=>n=>{const{libraryOptions:i,target:a}=n??{},s=qAe({...i??{},target:a,io:e,processors:r});return ms(t,s),jAe(s,t),KAe(s,t)},Qv=(t,e,r)=>{(t[e]===void 0||r>t[e])&&(t[e]=r)},e4=(t,e,r)=>{(t[e]===void 0||r<t[e])&&(t[e]=r)},t0e=(t,e)=>{Qv(t,"minimum",e),e4(t,"maximum",e)},ZAe=(t,e)=>{t.multipleOf??(t.multipleOf=[]),t.multipleOf.includes(e)||t.multipleOf.push(e)},JAe=(t,e)=>{t.patterns??(t.patterns=new Set),t.patterns.add(e)},QAe=(t,e)=>{t.mime=t.mime?t.mime.filter(r=>e.includes(r)):[...e]},eMe=(t,e)=>{t.format=e,e.includes("int")&&(t.isInt=!0)},r0e=(t,e)=>Qv(t,"minimum",e.minimum),n0e=(t,e)=>e4(t,"maximum",e.maximum),i0e=t=>(e,r)=>{eMe(e,r.format);const[n,i]=t[r.format];Qv(e,"minimum",n),e4(e,"maximum",i)},pF={greater_than:(t,e)=>Qv(t,e.inclusive?"minimum":"exclusiveMinimum",e.value),less_than:(t,e)=>e4(t,e.inclusive?"maximum":"exclusiveMaximum",e.value),multiple_of:(t,e)=>ZAe(t,e.value),number_format:i0e(vAe),bigint_format:i0e($Ot),min_length:r0e,max_length:n0e,length_equals:(t,e)=>t0e(t,e.length),min_size:r0e,max_size:n0e,size_equals:(t,e)=>t0e(t,e.size),string_format:(t,e)=>{eMe(t,e.format),e.pattern&&JAe(t,e.pattern),(e.format==="base64"||e.format==="base64url")&&(t.contentEncoding=e.format),(e.local||e.precision===-1)&&(t.laxFormat=!0)},mime_type:(t,e)=>QAe(t,e.mime)};function xd(t){var a;const e={},r=t._zod.def,n=t._zod.traits.has("$ZodCheck")?[t,...r.checks??[]]:r.checks??[];for(const s of n)(a=pF[s._zod.def.check])==null||a.call(pF,e,s._zod.def);const i=t._zod.bag;i.minimum!==void 0&&Qv(e,"minimum",i.minimum),i.exclusiveMinimum!==void 0&&Qv(e,"exclusiveMinimum",i.exclusiveMinimum),i.maximum!==void 0&&e4(e,"maximum",i.maximum),i.exclusiveMaximum!==void 0&&e4(e,"exclusiveMaximum",i.exclusiveMaximum),i.multipleOf!==void 0&&ZAe(e,i.multipleOf),i.format!==void 0&&(e.format??(e.format=i.format),i.format.includes("int")&&(e.isInt=!0)),i.mime&&QAe(e,i.mime);for(const s of i.patterns??[])JAe(e,s);return e}const TBt={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},CBt=new Map([[DAe,FDt],[Xee,zDt]]),tMe=t=>CBt.get(t)??t,SBt=(t,e,r,n)=>{const i=r;i.type="string";const{minimum:a,maximum:s,format:o,patterns:l,contentEncoding:u,laxFormat:d}=xd(t);if(typeof a=="number"&&(i.minLength=a),typeof s=="number"&&(i.maxLength=s),o&&(i.format=TBt[o]??o,i.format===""&&delete i.format,(o==="time"||d)&&delete i.format),u&&(i.contentEncoding=u),l&&l.size>0){const h=[...l].map(tMe);h.length===1?i.pattern=h[0].source:h.length>1&&(i.allOf=[...h.map(f=>({...e.target==="draft-07"||e.target==="draft-04"||e.target==="openapi-3.0"?{type:"string"}:{},pattern:f.source}))])}},kBt=(t,e,r,n)=>{const i=r,{minimum:a,maximum:s,multipleOf:o,exclusiveMaximum:l,exclusiveMinimum:u,isInt:d}=xd(t);i.type=d?"integer":"number";const h=typeof u=="number"&&u>=(a??Number.NEGATIVE_INFINITY),f=typeof l=="number"&&l<=(s??Number.POSITIVE_INFINITY),p=e.target==="draft-04"||e.target==="openapi-3.0";if(h?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a=="number"&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof s=="number"&&(i.maximum=s),o){const g=new Set;for(const y of o)Number.isFinite(y)&&y!==0?g.add(Math.abs(y)):Yg(t,e,i,n,`A multipleOf divisor of ${y} cannot be represented in JSON Schema`);const[m,...U]=g;m!==void 0&&(i.multipleOf=m),U.length&&(i.allOf=[...i.allOf??[],...U.map(y=>({multipleOf:y}))])}},EBt=(t,e,r,n)=>{r.type="boolean"},ABt=(t,e,r,n)=>{r.not={}},MBt=(t,e,r,n)=>{},RBt=(t,e,r,n)=>{const i=t._zod.def,a=uq(i.entries);if(a.length===0){r.not={};return}a.every(s=>typeof s=="number")&&(r.type="number"),a.every(s=>typeof s=="string")&&(r.type="string"),r.enum=a},IBt=(t,e,r,n)=>{const i=t._zod.def;if(i.values.length===0){r.not={};return}const a=[];for(const s of i.values)if(s===void 0){if(Yg(t,e,r,n,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof s=="bigint"){if(Yg(t,e,r,n,"BigInt literals cannot be represented in JSON Schema"))return;a.push(Number(s))}else a.push(s);if(a.length!==0)if(a.length===1){const s=a[0];r.type=s===null?"null":typeof s,e.target==="draft-04"||e.target==="openapi-3.0"?r.enum=[s]:r.const=s}else a.every(s=>typeof s=="number")&&(r.type="number"),a.every(s=>typeof s=="string")&&(r.type="string"),a.every(s=>typeof s=="boolean")&&(r.type="boolean"),a.every(s=>s===null)&&(r.type="null"),r.enum=a},LBt=(t,e,r,n)=>{Yg(t,e,r,n,"Custom types cannot be represented in JSON Schema")},NBt=(t,e,r,n)=>{Yg(t,e,r,n,"Transforms cannot be represented in JSON Schema")},OBt=(t,e,r,n)=>{const i=r,a=t._zod.def,{minimum:s,maximum:o}=xd(t);typeof s=="number"&&(i.minItems=s),typeof o=="number"&&(i.maxItems=o),i.type="array",i.items=ms(a.element,e,{...n,path:[...n.path,"items"]})};function EL(t){const e=t._zod.def;return e.type==="pipe"&&e.in._zod.traits.has("$ZodTransform")?EL(e.out):e.type==="catch"?EL(e.innerType):t._zod.optin}const DBt=(t,e,r,n)=>{var u;const i=r,a=t._zod.def,s=a.shape;if(Object.getOwnPropertySymbols(s).length&&Yg(t,e,i,n,"Symbol keys cannot be represented in JSON Schema"))return;i.type="object",i.properties={};for(const d in s)op(i.properties,d,ms(s[d],e,{...n,path:[...n.path,"properties",d]}));const l=[];for(const d of Object.keys(s)){const h=a.shape[d];(e.io==="input"?EL(h)===void 0:h._zod.optout===void 0)&&l.push(d)}l.length>0&&(i.required=l),((u=a.catchall)==null?void 0:u._zod.def.type)==="never"?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=ms(a.catchall,e,{...n,path:[...n.path,"additionalProperties"]})):e.io==="output"&&(i.additionalProperties=!1)},PBt=(t,e,r,n)=>{const i=t._zod.def,a=i.inclusive===!1,s=i.options.map((o,l)=>ms(o,e,{...n,path:[...n.path,a?"oneOf":"anyOf",l]}));a?r.oneOf=s:r.anyOf=s},_Bt=(t,e,r,n)=>{const i=t._zod.def,a=ms(i.left,e,{...n,path:[...n.path,"allOf",0]}),s=ms(i.right,e,{...n,path:[...n.path,"allOf",1]}),o=u=>"allOf"in u&&Object.keys(u).length===1,l=[...o(a)?a.allOf:[a],...o(s)?s.allOf:[s]];r.allOf=l,e.intersections.push(l)};function Uq(t,e,r){var g;if(e.$ref){if(r.has(e))return e;r.add(e);const m=(g=t.get(e))==null?void 0:g.def;if(!m)return e;const U=Uq(t,m,r);return U===m?e:U}for(const m of["anyOf","oneOf"]){const U=e[m];if(!Array.isArray(U))continue;const y=U.map(b=>Uq(t,b,r));y.some((b,v)=>b!==U[v])&&(e={...e,[m]:y})}const n=Array.isArray(e.type)?e.type:[e.type],i=!n.includes("string")&&n.some(m=>m==="number"||m==="integer"),a=e.enum??(e.const!==void 0?[e.const]:void 0);if(!i&&!(a!=null&&a.some(m=>typeof m=="number")))return e;const{minimum:s,maximum:o,exclusiveMinimum:l,exclusiveMaximum:u,multipleOf:d,format:h,id:f,...p}=e;return p.enum?p.enum=p.enum.map(m=>typeof m=="number"?String(m):m):typeof p.const=="number"&&(p.const=String(p.const)),i&&(p.type="string",a||(p.pattern=(n.includes("number")?qee:XDt).source)),p}const yq=new WeakMap;function BBt(t){var n;const e=new Map;for(const i of t.seen.values())i.def&&!e.has(i.schema)&&e.set(i.schema,i);const r=new Map;for(const i of yq.get(t)??[]){const a=t.seen.get(i),s=(n=(a==null?void 0:a.def)??(a==null?void 0:a.schema))==null?void 0:n.propertyNames;if(!s||s===!0||r.has(s))continue;const o=Uq(e,s,new Set);o!==s&&r.set(s,o)}if(r.size)for(const i of t.seen.values())for(const a of[i.schema,i.def]){const s=a&&r.get(a.propertyNames);s&&(a.propertyNames=s)}}const $Bt=(t,e,r,n)=>{const i=r,a=t._zod.def;i.type="object";const s=a.keyType,o=xd(s).patterns;if(a.mode==="loose"&&o&&o.size>0){const d=ms(a.valueType,e,{...n,path:[...n.path,"patternProperties","*"]});i.patternProperties={};for(const h of o)op(i.patternProperties,tMe(h).source,d)}else{if(e.target==="draft-07"||e.target==="draft-2020-12"){i.propertyNames=ms(a.keyType,e,{...n,path:[...n.path,"propertyNames"]});let d=yq.get(e);d||(d=[],yq.set(e,d),e.deferred.push(()=>BBt(e))),d.push(t)}i.additionalProperties=ms(a.valueType,e,{...n,path:[...n.path,"additionalProperties"]})}const l=s._zod.values,u=e.io==="input"&&EL(a.valueType)!==void 0;if(l&&!a.partial&&!u){const d=[...l].filter(h=>typeof h=="string"||typeof h=="number");d.length>0&&(i.required=d.map(String))}},FBt=(t,e,r,n)=>{const i=t._zod.def,a=ms(i.innerType,e,n),s=e.seen.get(t);e.target==="openapi-3.0"?(s.ref=i.innerType,r.nullable=!0):r.anyOf=[a,{type:"null"}]},zBt=(t,e,r,n)=>{const i=t._zod.def;ms(i.innerType,e,n);const a=e.seen.get(t);a.ref=i.innerType},Kee=Symbol();function rMe(t,e,r,n,i){let a=!1;const s=JSON.stringify(t,(o,l)=>typeof l!="bigint"?l:(a=!0,null));return a?(Yg(e,r,n,i,"BigInt defaults cannot be represented in JSON Schema"),Kee):JSON.parse(s)}const HBt=(t,e,r,n)=>{const i=t._zod.def;ms(i.innerType,e,n);const a=e.seen.get(t);a.ref=i.innerType;const s=rMe(i.defaultValue,t,e,r,n);s!==Kee&&(r.default=s)},VBt=(t,e,r,n)=>{const i=t._zod.def;ms(i.innerType,e,n);const a=e.seen.get(t);if(a.ref=i.innerType,e.io!=="input")return;const s=rMe(i.defaultValue,t,e,r,n);s!==Kee&&(r._prefault=s)},GBt=(t,e,r,n)=>{const i=t._zod.def;ms(i.innerType,e,n);const a=e.seen.get(t);a.ref=i.innerType;let s;try{s=i.catchValue(void 0)}catch{Yg(t,e,r,n,"Dynamic catch values are not supported in JSON Schema");return}r.default=s},WBt=(t,e,r,n)=>{const i=t._zod.def,a=i.in._zod.traits.has("$ZodTransform"),s=e.io==="input"?a?i.out:i.in:i.out;ms(s,e,n);const o=e.seen.get(t);o.ref=s},qBt=(t,e,r,n)=>{const i=t._zod.def;ms(i.innerType,e,n);const a=e.seen.get(t);a.ref=i.innerType,r.readOnly=!0},nMe=(t,e,r,n)=>{const i=t._zod.def;ms(i.innerType,e,n);const a=e.seen.get(t);a.ref=i.innerType},a0e=new WeakSet([Object.prototype,Error.prototype]);function cE(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!1,get(){const n=r(this);return Object.defineProperty(this,e,{value:n,configurable:!0,writable:!0}),n},set(n){Object.defineProperty(this,e,{value:n,configurable:!0,writable:!0})}})}const jBt=(t,e)=>{oDt.init(t,e),t.name="ZodError";const r=Object.getPrototypeOf(t);a0e.has(r)||(a0e.add(r),cE(r,"format",n=>i=>uDt(n,i)),cE(r,"flatten",n=>i=>cDt(n,i)),cE(r,"addIssue",n=>i=>{n.issues.push(i),n.message=JSON.stringify(n.issues,dq,2)}),cE(r,"addIssues",n=>i=>{n.issues.push(...i),n.message=JSON.stringify(n.issues,dq,2)}),Object.defineProperty(r,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},Ku=wt("ZodError",jBt,void 0,{Parent:Error}),YBt=Hee(Ku),XBt=Vee(Ku),KBt=Gee(Ku),ZBt=Wee(Ku),JBt=mDt(Ku),QBt=UDt(Ku),e$t=yDt(Ku),t$t=bDt(Ku),r$t=vDt(Ku),n$t=xDt(Ku),i$t=wDt(Ku),a$t=TDt(Ku);function s$t(){Vd.localeError||Xh(S_t())}function rP(){Vd.memoizer||Xh({memoizer:w_t()})}const Ea=wt("ZodType",(t,e)=>(s$t(),ka.init(t,e),t.def=e,t.type=e.type,t),{check(...t){const e=this.def;return this.clone(Wc(e,{checks:[...e.checks??[],...t.map(r=>typeof r=="function"?{_zod:{check:r,def:{check:"custom"},onattach:[]}}:r)]}),{parent:!0})},with(...t){return this.check(...t)},clone(t,e){return k1(this,t,e)},brand(){return this},register(t,e){return t.add(this,e),this},refine(t,e){return this.check(rFt(t,e))},superRefine(t,e){return this.check(nFt(t,e))},overwrite(t){return this.check(t3(t))},optional(){return l0e(this)},exactOptional(){return V$t(this)},nullable(){return c0e(this)},nullish(){return l0e(c0e(this))},nonoptional(t){return X$t(this,t)},array(){return Tn(this)},or(t){return Eg([this,t])},and(t){return $$t(this,t)},transform(t){return u0e(this,H$t(t))},default(t){return q$t(this,t)},prefault(t){return Y$t(this,t)},catch(t){return Z$t(this,t)},pipe(t){return u0e(this,t)},readonly(){return eFt(this)},describe(t){const e=this.clone();return j9.add(e,{description:t}),e},meta(...t){if(t.length===0)return j9.get(this);const e=this.clone();return j9.add(e,t[0]),e},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(t,...e){return e.length===0?t(this):t(this,...e)},get"~standard"(){return wAe(this,"~standard",{...RAe(this),jsonSchema:{input:kL(this,"input"),output:kL(this,"output")}})},set"~standard"(t){jg(this,"~standard",t)},parse:function t(e,r){return YBt(this,e,r,{callee:t})},parseAsync:async function t(e,r){return await XBt(this,e,r,{callee:t})},safeParse(t,e){return KBt(this,t,e)},async safeParseAsync(t,e){return ZBt(this,t,e)},get spa(){return this==null?void 0:this.safeParseAsync},set spa(t){jg(this,"spa",t)},validate(t,e){return fDt(this,t,e)},validateAsync(t,e){return gDt(this,t,e)},encode:function t(e,r){return JBt(this,e,r,{callee:t})},decode:function t(e,r){return QBt(this,e,r,{callee:t})},encodeAsync:async function t(e,r){return await e$t(this,e,r,{callee:t})},decodeAsync:async function t(e,r){return await t$t(this,e,r,{callee:t})},safeEncode(t,e){return r$t(this,t,e)},safeDecode(t,e){return n$t(this,t,e)},async safeEncodeAsync(t,e){return i$t(this,t,e)},async safeDecodeAsync(t,e){return a$t(this,t,e)},toJSONSchema(t){return wBt(this,{})(t)},get description(){var t;return(t=j9.get(this))==null?void 0:t.description},get _def(){return this._zod.def}}),iMe=wt("_ZodString",(t,e)=>{Yee.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>SBt(t,r,n)},TAe({format:t=>xd(t).format??null,minLength:t=>xd(t).minimum??null,maxLength:t=>xd(t).maximum??null},{regex(...t){return this.check(sBt(...t))},includes(...t){return this.check(cBt(...t))},startsWith(...t){return this.check(uBt(...t))},endsWith(...t){return this.check(dBt(...t))},min(...t){return this.check(SL(...t))},max(...t){return this.check(GAe(...t))},length(...t){return this.check(WAe(...t))},nonempty(...t){return this.check(SL(1,...t))},lowercase(t){return this.check(oBt(t))},uppercase(t){return this.check(lBt(t))},trim(){return this.check(fBt())},normalize(...t){return this.check(hBt(...t))},toLowerCase(){return this.check(pBt())},toUpperCase(){return this.check(gBt())},slugify(){return this.check(mBt())}})),o$t=wt("ZodString",(t,e)=>{Yee.init(t,e),iMe.init(t,e)},{email(t){return this.check(M_t(h$t,t))},url(t){return this.check(D_t(p$t,t))},jwt(t){return this.check(K_t(M$t,t))},emoji(t){return this.check(P_t(g$t,t))},guid(t){return this.check(R_t(f$t,t))},uuid(t){return this.check(I_t(uE,t))},uuidv4(t){return this.check(L_t(uE,t))},uuidv6(t){return this.check(N_t(uE,t))},uuidv7(t){return this.check(O_t(uE,t))},nanoid(t){return this.check(__t(m$t,t))},cuid(t){return this.check(B_t(U$t,t))},cuid2(t){return this.check($_t(y$t,t))},ulid(t){return this.check(F_t(b$t,t))},base64(t){return this.check(j_t(k$t,t))},base64url(t){return this.check(Y_t(E$t,t))},xid(t){return this.check(z_t(v$t,t))},ksuid(t){return this.check(H_t(x$t,t))},ipv4(t){return this.check(V_t(w$t,t))},ipv6(t){return this.check(G_t(T$t,t))},cidrv4(t){return this.check(W_t(C$t,t))},cidrv6(t){return this.check(q_t(S$t,t))},e164(t){return this.check(X_t(A$t,t))},datetime(t){return this.check(Z_t(l$t,t))},date(t){return this.check(J_t(c$t,t))},time(t){return this.check(Q_t(u$t,t))},duration(t){return this.check(eBt(d$t,t))}});function $e(t){return A_t(o$t,t)}const Aa=wt("ZodStringFormat",(t,e)=>{fa.init(t,e),iMe.init(t,e)}),l$t=wt("ZodISODateTime",(t,e)=>{RPt.init(t,e),Aa.init(t,e)}),c$t=wt("ZodISODate",(t,e)=>{IPt.init(t,e),Aa.init(t,e)}),u$t=wt("ZodISOTime",(t,e)=>{LPt.init(t,e),Aa.init(t,e)}),d$t=wt("ZodISODuration",(t,e)=>{NPt.init(t,e),Aa.init(t,e)}),h$t=wt("ZodEmail",(t,e)=>{mPt.init(t,e),Aa.init(t,e)}),f$t=wt("ZodGUID",(t,e)=>{pPt.init(t,e),Aa.init(t,e)}),uE=wt("ZodUUID",(t,e)=>{gPt.init(t,e),Aa.init(t,e)}),p$t=wt("ZodURL",(t,e)=>{wPt.init(t,e),Aa.init(t,e)}),g$t=wt("ZodEmoji",(t,e)=>{TPt.init(t,e),Aa.init(t,e)}),m$t=wt("ZodNanoID",(t,e)=>{CPt.init(t,e),Aa.init(t,e)}),U$t=wt("ZodCUID",(t,e)=>{SPt.init(t,e),Aa.init(t,e)}),y$t=wt("ZodCUID2",(t,e)=>{kPt.init(t,e),Aa.init(t,e)}),b$t=wt("ZodULID",(t,e)=>{EPt.init(t,e),Aa.init(t,e)}),v$t=wt("ZodXID",(t,e)=>{APt.init(t,e),Aa.init(t,e)}),x$t=wt("ZodKSUID",(t,e)=>{MPt.init(t,e),Aa.init(t,e)}),w$t=wt("ZodIPv4",(t,e)=>{OPt.init(t,e),Aa.init(t,e)}),T$t=wt("ZodIPv6",(t,e)=>{PPt.init(t,e),Aa.init(t,e)}),C$t=wt("ZodCIDRv4",(t,e)=>{_Pt.init(t,e),Aa.init(t,e)}),S$t=wt("ZodCIDRv6",(t,e)=>{$Pt.init(t,e),Aa.init(t,e)}),k$t=wt("ZodBase64",(t,e)=>{FPt.init(t,e),Aa.init(t,e)}),E$t=wt("ZodBase64URL",(t,e)=>{HPt.init(t,e),Aa.init(t,e)}),A$t=wt("ZodE164",(t,e)=>{VPt.init(t,e),Aa.init(t,e)}),M$t=wt("ZodJWT",(t,e)=>{WPt.init(t,e),Aa.init(t,e)}),aMe=wt("ZodNumber",(t,e)=>{PAe.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>kBt(t,r,n,i),t.isFinite=!0},TAe({minValue:t=>{const{minimum:e,exclusiveMinimum:r}=xd(t);return Math.max(e??Number.NEGATIVE_INFINITY,r??Number.NEGATIVE_INFINITY)},maxValue:t=>{const{maximum:e,exclusiveMaximum:r}=xd(t);return Math.min(e??Number.POSITIVE_INFINITY,r??Number.POSITIVE_INFINITY)},isInt:t=>{const{isInt:e,multipleOf:r}=xd(t);return!!e||!!(r!=null&&r.some(Number.isSafeInteger))},format:t=>xd(t).format??null},{gt(t,e){return this.check(Kfe(t,e))},gte(t,e){return this.check(fF(t,e))},min(t,e){return this.check(fF(t,e))},lt(t,e){return this.check(Xfe(t,e))},lte(t,e){return this.check(hF(t,e))},max(t,e){return this.check(hF(t,e))},int(t){return this.check(s0e(t))},safe(t){return this.check(s0e(t))},positive(t){return this.check(Kfe(0,t))},nonnegative(t){return this.check(fF(0,t))},negative(t){return this.check(Xfe(0,t))},nonpositive(t){return this.check(hF(0,t))},multipleOf(t,e){return this.check(Zfe(t,e))},step(t,e){return this.check(Zfe(t,e))},finite(){return this}}));function Qt(t){return tBt(aMe,t)}const R$t=wt("ZodNumberFormat",(t,e)=>{qPt.init(t,e),aMe.init(t,e)});function s0e(t){return rBt(R$t,t)}const I$t=wt("ZodBoolean",(t,e)=>{jPt.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>EBt(t,r,n)});function cn(t){return nBt(I$t,t)}const L$t=wt("ZodUnknown",(t,e)=>{YPt.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>MBt()});function Kh(){return iBt(L$t)}const N$t=wt("ZodNever",(t,e)=>{XPt.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>ABt(t,r,n)});function O$t(t){return aBt(N$t,t)}const D$t=wt("ZodArray",(t,e)=>{rP(),JPt.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>OBt(t,r,n,i),t.element=e.element},{min(t,e){return this.check(SL(t,e))},nonempty(t){return this.check(SL(1,t))},max(t,e){return this.check(GAe(t,e))},length(t,e){return this.check(WAe(t,e))},unwrap(){return this.element}});function Tn(t,e){return UBt(D$t,t,e)}const P$t=wt("ZodObject",(t,e)=>{rP(),t_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>DBt(t,r,n,i),QOt(t,"shape",r=>r._zod.def.shape,!1)},{keyof(){return nn(Object.keys(this._zod.def.shape))},catchall(t){return this.clone(Wc(this._zod.def,{catchall:t}))},passthrough(){return this.clone(Wc(this._zod.def,{catchall:Kh()}))},loose(){return this.clone(Wc(this._zod.def,{catchall:Kh()}))},strict(){return this.clone(Wc(this._zod.def,{catchall:O$t()}))},strip(){return this.clone(Wc(this._zod.def,{catchall:void 0}))},extend(t){return HOt(this,t)},safeExtend(t){return VOt(this,t)},merge(t){return GOt(this,t)},pick(t){return FOt(this,t)},omit(t){return zOt(this,t)},partial(...t){return Ife(oMe,this,t[0])},exactPartial(...t){return Ife(lMe,this,t[0],"exactPartial")},required(...t){return WOt(cMe,this,t[0])}});function Ct(t,e){const r={type:"object",shape:t??{},...Rr(e)};return new P$t(r)}const sMe=wt("ZodUnion",(t,e)=>{$Ae.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>PBt(t,r,n,i),t.options=e.options});function Eg(t,e){return new sMe({type:"union",options:t,...Rr(e)})}const _$t=wt("ZodDiscriminatedUnion",(t,e)=>{sMe.init(t,e),n_t.init(t,e)});function Zee(t,e,r){return new _$t({type:"union",options:e,discriminator:t,...Rr(r)})}const B$t=wt("ZodIntersection",(t,e)=>{i_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>_Bt(t,r,n,i)});function $$t(t,e){return new B$t({type:"intersection",left:t,right:e})}const o0e=wt("ZodRecord",(t,e)=>{rP(),a_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>$Bt(t,r,n,i),t.keyType=e.keyType,t.valueType=e.valueType});function nP(t,e,r){return!e||!e._zod?new o0e({type:"record",keyType:$e(),valueType:t,...Rr(e)}):new o0e({type:"record",keyType:t,valueType:e,...Rr(r)})}const bq=wt("ZodEnum",(t,e)=>{s_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(n,i,a)=>RBt(t,n,i),t.enum=e.entries,t.options=[...t._zod.values];const r=new Set(Object.keys(e.entries));t.extract=(n,i)=>{const a={};for(const s of n)if(r.has(s))a[s]=e.entries[s];else throw new Error(`Key ${s} not found in enum`);return new bq({...e,checks:[],...Rr(i),entries:a})},t.exclude=(n,i)=>{const a={...e.entries};for(const s of n)if(r.has(s))delete a[s];else throw new Error(`Key ${s} not found in enum`);return new bq({...e,checks:[],...Rr(i),entries:a})}});function nn(t,e){const r=Array.isArray(t)?Object.fromEntries(t.map(n=>[n,n])):t;return new bq({type:"enum",entries:r,...Rr(e)})}const F$t=wt("ZodLiteral",(t,e)=>{o_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>IBt(t,r,n,i),t.values=new Set(e.values),Object.defineProperty(t,"value",{get(){if(e.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return e.values[0]}})});function Wn(t,e){return new F$t({type:"literal",values:Array.isArray(t)?t:[t],...Rr(e)})}const z$t=wt("ZodTransform",(t,e)=>{rP(),l_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>NBt(t,r,n,i),t._zod.parse=(r,n)=>{if(n.direction==="backward")throw new CAe(t.constructor.name);r.addIssue=a=>{if(typeof a=="string")r.issues.push(PT(a,r.value,e));else{const s=a;s.fatal&&(s.continue=!1),s.code??(s.code="custom"),"input"in s||(s.input=r.value),s.inst??(s.inst=t),r.issues.push(PT(s))}};const i=e.transform(r.value,r);return i instanceof Promise?i.then(a=>(r.value=a,r)):(r.value=i,r)}});function H$t(t){return new z$t({type:"transform",transform:t})}const oMe=wt("ZodOptional",(t,e)=>{FAe.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>nMe(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function l0e(t){return new oMe({type:"optional",innerType:t})}const lMe=wt("ZodExactOptional",(t,e)=>{c_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>nMe(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function V$t(t){return new lMe({type:"optional",innerType:t})}const G$t=wt("ZodNullable",(t,e)=>{u_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>FBt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function c0e(t){return new G$t({type:"nullable",innerType:t})}const W$t=wt("ZodDefault",(t,e)=>{d_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>HBt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeDefault=t.unwrap});function q$t(t,e){return new W$t({type:"default",innerType:t,get defaultValue(){return typeof e=="function"?e():yAe(e)}})}const j$t=wt("ZodPrefault",(t,e)=>{h_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>VBt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function Y$t(t,e){return new j$t({type:"prefault",innerType:t,get defaultValue(){return typeof e=="function"?e():yAe(e)}})}const cMe=wt("ZodNonOptional",(t,e)=>{f_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>zBt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function X$t(t,e){return new cMe({type:"nonoptional",innerType:t,...Rr(e)})}const K$t=wt("ZodCatch",(t,e)=>{p_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>GBt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType,t.removeCatch=t.unwrap});function Z$t(t,e){return new K$t({type:"catch",innerType:t,catchValue:typeof e=="function"?e:tDt(e)})}const J$t=wt("ZodPipe",(t,e)=>{g_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>WBt(t,r,n,i),t.in=e.in,t.out=e.out});function u0e(t,e){return new J$t({type:"pipe",in:t,out:e})}const Q$t=wt("ZodReadonly",(t,e)=>{m_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>qBt(t,r,n,i),t.unwrap=()=>t._zod.def.innerType});function eFt(t){return new Q$t({type:"readonly",innerType:t})}const tFt=wt("ZodCustom",(t,e)=>{U_t.init(t,e),Ea.init(t,e),t._zod.processJSONSchema=(r,n,i)=>LBt(t,r,n,i)});function rFt(t,e={}){return yBt(tFt,t,e)}function nFt(t,e){return bBt(t,e)}const vq=["summarize","extract-key-points","extract-todos","rewrite-proofread","translate","improve-writing","fix-spelling-grammar","make-shorter","make-longer","simplify-language","change-tone","continue-writing","custom"],iFt=["professional","friendly","casual","direct"],aFt=["en","zh-CN","zh-TW","ja","ko","es","fr","de","pt","pl"],sFt=["image/jpeg","image/png","image/webp","image/gif","application/pdf","application/json","text/plain","text/markdown","text/csv"],oFt=4,d0e=4*1024*1024,lFt=256*1024,cFt=8*1024*1024,uMe=t=>{if(!t||t.length%4!==0||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t))return null;const e=t.endsWith("==")?2:t.endsWith("=")?1:0;return t.length/4*3-e},uFt=t=>t.startsWith("text/")||t==="application/json",Jee=["none","target-language","tone"],Qee=["append","replace","both"],AL=$e().uuid();Ct({content:$e().trim().min(1).max(500),sourceTurnId:AL.optional()}).strict();Ct({content:$e().trim().min(1).max(500),version:Qt().int().positive()}).strict();const dFt=Ct({memoId:$e().trim().min(1).max(100).optional(),notebookId:$e().trim().min(1).max(100).optional(),notebookTitle:$e().trim().max(160).optional(),title:$e().trim().max(160).optional(),selectionMarkdown:$e().max(2e3).optional(),contentMarkdown:$e().max(4e3).optional(),contentTruncated:cn().optional(),diagramKind:nn(["mind-map","flowchart","architecture"]).optional()}).strict(),hFt=Ct({type:nn(["memo","notebook","tag"]),id:$e().trim().min(1).max(100),title:$e().trim().max(160).optional()}).strict();Ct({id:AL,threadId:AL,message:$e().trim().min(1).max(4e3),useMemory:cn().default(!0),allowNotes:cn().default(!1),allowWrites:cn().optional(),locale:nn(["zh-CN","en-US","ja","pl"]).default("en-US"),focus:dFt.optional(),mentions:Tn(hFt).max(8).optional(),attachmentIds:Tn($e().uuid()).max(4).optional()}).strict();Ct({id:$e().trim().min(1).max(80),prompt:$e().trim().min(1).max(200),inputType:nn(["free_text","single_select","multi_select"]),options:Tn(Ct({id:$e().trim().min(1).max(80),label:$e().trim().min(1).max(80)}).strict()).min(2).max(6).optional()}).strict();const fFt=Ct({questionId:$e().trim().min(1).max(80),optionIds:Tn($e().trim().min(1).max(80)).max(6).optional(),text:$e().trim().max(400).optional()}).strict();Ct({answers:Tn(fFt).max(3).optional()}).strict();Ct({name:$e().trim().min(1).max(80),input:nP($e(),Kh()).default({}),callId:$e().trim().min(1).max(100).optional(),response:$e().max(16e3).optional(),process:$e().max(32e3).optional()}).strict();Ct({response:$e().max(16e3),process:$e().max(32e3).optional()}).strict();Ct({response:$e().max(16e3),process:$e().max(32e3).optional(),status:nn(["completed","interrupted","failed"]),inputTokens:Qt().int().nonnegative().optional(),outputTokens:Qt().int().nonnegative().optional()}).strict();Ct({enabled:cn(),learningEnabled:cn().optional(),useMemory:cn().optional(),version:Qt().int().nonnegative()}).strict();const pFt=$e().trim().min(1).max(180).refine(t=>t.split(/\r?\n/).length<=3,"Discovery body must contain at most 3 lines.");Ct({suggestion:Ct({kind:nn(["insight","merge","append","move","tag"]),title:$e().trim().min(1).max(60),body:pFt,sourceIds:Tn($e().min(1).max(100)).min(1).max(5),memoryIds:Tn($e().max(100)).max(8).optional(),notebookId:$e().max(100).nullable().optional(),tags:Tn($e().min(1).max(40)).max(5).optional(),targetId:$e().max(100).nullable()}).nullable()});Ct({turnId:AL,output:Kh()}).strict();const ete=$e().trim().min(1).max(400),dMe=$e().trim().min(1).max(100),gFt=Ct({kind:Wn("merge"),memoIds:Tn(dMe).min(2).max(5),title:$e().trim().min(1).max(160),reason:ete}).strict(),mFt=Ct({kind:Wn("tag"),memoId:dMe,tags:Tn($e().trim().min(1).max(40)).min(1).max(5),reason:ete}).strict(),UFt=Ct({kind:Wn("tool"),toolName:$e().min(1).max(80),arguments:nP($e(),Kh()),reason:ete}).strict();Zee("kind",[gFt,mFt,UFt]);Ct({version:Eg([Wn(1),Wn(2)]),memories:Tn(Ct({content:$e().trim().min(1).max(500),kind:nn(["explicit","inferred"]).optional()})).max(50),controls:Ct({useMemory:cn(),learningEnabled:cn()}).optional()}).strict();const Cy=(t,e,r,n,i)=>({...t,...e,translations:{"zh-CN":e,"en-US":r,ja:n,pl:i}});Cy({key:"summarize",action:"summarize",parameterKind:"none",resultMode:"append"},{name:"精简总结",description:"压缩全文,提炼主题、结论与可执行结果",instruction:["对笔记做真正的精简总结,不要逐句改写、同义复述或回声式重写。","识别中心主题、主要主张、关键结论与可执行结果。","省略重复、修辞、举例、引语和次要细节,除非它们对理解关键结论必不可少。","较长笔记目标约为原文 20–30% 篇幅,用 3–7 条简洁 Markdown 要点;短笔记用 1–3 句即可。","不要大段照搬原文,也不要添加原文没有的信息。","保持笔记原语言,只返回 Markdown 总结。"].join("")},{name:"Summarize",description:"Condense the note into its topic, conclusions, and actionable outcomes",instruction:["Create a genuinely condensed summary of the note rather than rewriting, paraphrasing line by line, or echoing it. ","Identify the central topic, main claims, essential conclusions, and actionable outcomes. ","Omit repetition, rhetorical phrasing, examples, quotations, and minor details unless necessary to understand a key conclusion. ","For a substantial note, target roughly 20–30% of the source length and use 3–7 concise Markdown bullet points; for a short note, use 1–3 concise sentences. ","Do not reproduce long passages verbatim or add facts that are not present in the source. ","Preserve the note's language and return only the summary in Markdown."].join("")},{name:"要約する",description:"テーマ、結論、実行できる結果に圧縮する",instruction:["ノートを本当に要約してください。逐語の言い換え、行ごとの書き換え、エコーのような再述はしないでください。","中心テーマ、主要な主張、重要な結論、実行できる結果を抜き出してください。","繰り返し、修辞、例示、引用、枝葉の詳細は、重要な結論を理解するのに必要でない限り省いてください。","長いノートは原文のおよそ 20–30% を目安に、3–7 個の簡潔な Markdown 箇条書きにしてください。短いノートは 1–3 文で構いません。","長い原文をそのまま写したり、原文にない事実を足したりしないでください。","ノートの言語を保ち、Markdown の要約だけを返してください。"].join("")},{name:"Podsumuj",description:"Streść notatkę do tematu, wniosków i działań do podjęcia",instruction:["Utwórz faktycznie skondensowane podsumowanie notatki, zamiast ją przepisywać, parafrazować zdanie po zdaniu lub powtarzać. ","Wskaż główny temat, najważniejsze tezy, kluczowe wnioski i działania do podjęcia. ","Pomiń powtórzenia, ozdobniki retoryczne, przykłady, cytaty i drobne szczegóły, chyba że są niezbędne do zrozumienia kluczowego wniosku. ","W przypadku obszernej notatki celuj w około 20–30% długości oryginału i użyj 3–7 zwięzłych punktów listy Markdown; w przypadku krótkiej notatki wystarczą 1–3 zwięzłe zdania. ","Nie przytaczaj dosłownie długich fragmentów i nie dodawaj faktów, których nie ma w oryginale. ","Zachowaj język notatki i zwróć wyłącznie podsumowanie w formacie Markdown."].join("")}),Cy({key:"translate",action:"translate",parameterKind:"target-language",resultMode:"both"},{name:"全文翻译",description:"翻译为指定目标语言,保留结构与格式",instruction:"将完整笔记翻译成用户指定的目标语言。保留原意、Markdown 结构、链接与代码块。只返回译文,不要评论。"},{name:"Translate",description:"Translate into a selected language while preserving formatting",instruction:"Translate the complete note into the target language specified by the user. Preserve its meaning, Markdown structure, links, and code blocks. Return only the translated note without commentary."},{name:"翻訳する",description:"指定した言語へ翻訳し、構造と書式を残す",instruction:"ノート全体を、ユーザーが指定した目標言語へ翻訳してください。意味、Markdown の構造、リンク、コードブロックは残してください。解説は付けず、訳文だけを返してください。"},{name:"Przetłumacz",description:"Przetłumacz na wybrany język, zachowując formatowanie",instruction:"Przetłumacz całą notatkę na język docelowy wskazany przez użytkownika. Zachowaj jej znaczenie, strukturę Markdown, linki i bloki kodu. Zwróć wyłącznie przetłumaczoną notatkę, bez komentarzy."}),Cy({key:"improve-writing",action:"improve-writing",parameterKind:"none",resultMode:"both"},{name:"润色表达",description:"校正语言并提升文字的清晰度与流畅度",instruction:"润色内容,修正错别字、语法与标点,改善用词、句式、清晰度和流畅度,但不要改变原意或刻意缩短内容。保持原语言与有用的 Markdown 格式。只返回润色后的内容。"},{name:"Polish",description:"Correct the language and improve clarity and flow",instruction:"Polish the content by correcting spelling, grammar, and punctuation and improving word choice, sentence structure, clarity, and flow. Do not change its meaning or deliberately shorten it. Preserve its language and useful Markdown formatting. Return only the polished content."},{name:"文章を整える",description:"誤字と文法を直し、わかりやすさと流れを上げる",instruction:"内容を整えてください。誤字、文法、句読点を直し、語彙、文の形、明瞭さ、流れを改善します。意味を変えたり、意図的に短くしたりしないでください。元の言語と有用な Markdown 書式は残してください。整えた本文だけを返してください。"},{name:"Popraw styl",description:"Popraw język oraz zwiększ przejrzystość i płynność tekstu",instruction:"Dopracuj treść: popraw pisownię, gramatykę i interpunkcję oraz ulepsz dobór słów, budowę zdań, przejrzystość i płynność. Nie zmieniaj jej znaczenia ani celowo jej nie skracaj. Zachowaj jej język i przydatne formatowanie Markdown. Zwróć wyłącznie dopracowaną treść."}),Cy({key:"make-shorter",action:"make-shorter",parameterKind:"none",resultMode:"both"},{name:"精炼表达",description:"删去重复与冗余,让表达更简洁有力",instruction:"精炼内容,删除重复、空话和不必要的修饰,合并可以合并的句子,使表达简洁、清晰、有力。保留所有关键事实、观点与原意,不要添加新信息。保持原语言与有用的 Markdown 格式。只返回精炼后的内容。"},{name:"Make concise",description:"Remove repetition and make the writing concise and direct",instruction:"Refine the content by removing repetition, filler, and unnecessary modifiers and by combining sentences where useful. Make it concise, clear, and direct while preserving every key fact, claim, and the original meaning. Do not add new information. Preserve its language and useful Markdown formatting. Return only the refined content."},{name:"簡潔にする",description:"重複と冗長さを削り、短くはっきり書く",instruction:"内容を簡潔にしてください。繰り返し、空疎な言い回し、不要な修飾を削り、まとめられる文はまとめて、短く、はっきり、力強くしてください。重要な事実、主張、元の意味はすべて残し、新しい情報は足さないでください。元の言語と有用な Markdown 書式は残してください。簡潔にした本文だけを返してください。"},{name:"Skróć i uprość",description:"Usuń powtórzenia i napisz tekst zwięźle i konkretnie",instruction:"Dopracuj treść, usuwając powtórzenia, puste frazy i zbędne określenia oraz łącząc zdania tam, gdzie to pomaga. Spraw, by tekst był zwięzły, jasny i konkretny, zachowując każdy kluczowy fakt, tezę i pierwotne znaczenie. Nie dodawaj nowych informacji. Zachowaj jej język i przydatne formatowanie Markdown. Zwróć wyłącznie dopracowaną treść."}),Cy({key:"extract-todos",action:"extract-todos",parameterKind:"none",resultMode:"append"},{name:"提取待办",description:"识别可执行任务,生成任务清单",instruction:"从笔记中提取明确或隐含的可执行任务,用 Markdown 任务列表(- [ ])输出。保持原语言,不要编造任务。若没有可执行事项,用原文语言简短说明。"},{name:"Extract tasks",description:"Identify actionable work and produce a task list",instruction:"Extract explicit or implied actionable tasks from the note as a Markdown task list using '- [ ]'. Preserve its language and do not invent tasks. If there are no actionable tasks, say so briefly in the note's language."},{name:"タスクを抜き出す",description:"実行できる作業を見つけ、チェックリストにする",instruction:"ノートから明示または含意された実行可能なタスクを抜き出し、Markdown のタスクリスト(- [ ])で出力してください。ノートの言語を保ち、タスクを捏造しないでください。実行できることがなければ、ノートの言語で短くそう書いてください。"},{name:"Wyodrębnij zadania",description:"Znajdź działania do wykonania i utwórz listę zadań",instruction:"Wyodrębnij z notatki jawne lub domniemane zadania do wykonania jako listę zadań Markdown z użyciem '- [ ]'. Zachowaj jej język i nie wymyślaj zadań. Jeśli nie ma zadań do wykonania, napisz to krótko w języku notatki."}),Cy({key:"continue-writing",action:"continue-writing",parameterKind:"none",resultMode:"append"},{name:"继续写作",description:"从笔记末尾自然续写",instruction:"从笔记结束处自然续写。只返回新增续写内容,不要重复原文。保持原语言与 Markdown 风格。"},{name:"Continue writing",description:"Continue naturally from the end of the note",instruction:"Continue writing naturally from where the note ends. Return only the new continuation, not the original content. Preserve its language and Markdown style."},{name:"続きを書く",description:"ノートの末尾から自然に書き継ぐ",instruction:"ノートの終わりから自然に書き継いでください。原文は繰り返さず、新しい続きだけを返してください。元の言語と Markdown の調子を保ってください。"},{name:"Pisz dalej",description:"Kontynuuj naturalnie od końca notatki",instruction:"Kontynuuj pisanie naturalnie od miejsca, w którym kończy się notatka. Zwróć wyłącznie nową kontynuację, bez oryginalnej treści. Zachowaj jej język i styl Markdown."});const yFt=new Set([l0,D2]),t9=(t,e)=>{var n;const r=(n=t.attrs)==null?void 0:n[e];return typeof r=="string"?r:""},h0e="edgeever-attachment-kind-",tte=t=>t.replace(/^\s*(?:附件[::]|Attachment:)\s*/i,"").trim(),hMe=(t,e,r)=>{const n=typeof r=="string"?r.split(/\s+/).filter(a=>a&&a!=="edgeever-attachment-link"&&!a.startsWith(h0e)):[],i=Xv(e,tte(t));return[...n,"edgeever-attachment-link",`${h0e}${i}`].join(" ")},bFt=Oi.create({name:"edgeeverNativeAttachmentMetadata",addGlobalAttributes(){return[{types:["link"],attributes:{attachmentFilename:{default:null,parseHTML:t=>t.getAttribute("data-attachment-filename"),renderHTML:t=>t.attachmentFilename?{"data-attachment-filename":String(t.attachmentFilename)}:{}},attachmentMimeType:{default:null,parseHTML:t=>t.getAttribute("data-attachment-mime-type"),renderHTML:t=>t.attachmentMimeType?{"data-attachment-mime-type":String(t.attachmentMimeType)}:{}},attachmentByteSize:{default:null,parseHTML:t=>Wg(t.getAttribute("data-attachment-byte-size")),renderHTML:t=>{const e=Wg(t.attachmentByteSize),r=typeof t.attachmentFilename=="string"?t.attachmentFilename:"",n=typeof t.attachmentMimeType=="string"?t.attachmentMimeType:"";return!r&&!n&&e===null?{}:{...e===null?{}:{"data-attachment-byte-size":String(e)},"data-attachment-meta":kLt(n,r,e)}}}}}]}}),f0e=t=>{var n,i;if(t.type!=="link")return!1;const e=typeof((n=t.attrs)==null?void 0:n.href)=="string"?t.attrs.href:"";return(typeof((i=t.attrs)==null?void 0:i.class)=="string"?t.attrs.class:"").split(/\s+/).includes("edgeever-attachment-link")||e.includes("/api/v1/resources/")},vFt=t=>{var e;return(e=t.marks)!=null&&e.some(f0e)?{...t,marks:t.marks.map(r=>{var n,i;return f0e(r)?{...r,attrs:{...r.attrs,class:hMe(t.text,null,(n=r.attrs)==null?void 0:n.class),attachmentFilename:typeof((i=r.attrs)==null?void 0:i.attachmentFilename)=="string"?r.attrs.attachmentFilename:tte(t.text)}}:r})}:t},xFt=t=>{var s;const e=t9(t,"url"),r=t9(t,"label")||t9(t,"filename")||"Attachment",n=t9(t,"mimeType"),i=t9(t,"filename")||tte(r),a=Wg((s=t.attrs)==null?void 0:s.byteSize);return{type:"text",text:r,...e?{marks:[{type:"link",attrs:{href:e,target:"_blank",class:hMe(r,n),attachmentFilename:i,attachmentMimeType:n,attachmentByteSize:a}}]}:{}}},wFt=t=>{const e=r=>yFt.has(r.type)?xFt(r):"content"in r&&r.content?{...r,content:r.content.map(e)}:r.type==="text"?vFt(r):r;return{...t,content:t.content.map(r=>e(r))}},TFt="edgeever-zip",CFt=2,Ld=$e().datetime();Ct({format:Wn(TFt),formatVersion:Eg([Wn(1),Wn(CFt)]),schemaVersion:Qt().int().positive(),edgeeverVersion:$e().trim().min(1),buildId:$e().trim().min(1),exportedAt:Ld,includesTrash:Wn(!1),counts:Ct({notebooks:Qt().int().min(0),memos:Qt().int().min(0),revisions:Qt().int().min(0),resources:Qt().int().min(0),prompts:Qt().int().min(0).optional()})});const SFt=Ct({id:$e().trim().min(1),parentId:$e().trim().min(1).nullable(),name:$e().trim().min(1).max(80),slug:$e().nullable(),icon:$e().nullable(),color:$e().nullable(),sortOrder:Qt().int(),createdAt:Ld,updatedAt:Ld}),kFt=Ct({id:$e().trim().min(1),memoId:$e().trim().min(1),revision:Qt().int().min(0),title:$e().nullable(),tags:Tn($e()),contentJson:Kh(),contentMarkdown:$e(),contentText:$e(),contentHash:$e(),createdBy:$e(),createdAt:Ld}),EFt=Ct({id:$e().trim().min(1),notebookId:$e().trim().min(1),title:$e().nullable(),excerpt:$e(),tags:Tn($e()),isPinned:cn(),isArchived:cn(),isDeleted:cn(),revision:Qt().int().min(0),createdAt:Ld,updatedAt:Ld,deletedAt:Ld.nullable(),contentJson:Kh(),contentMarkdown:$e(),contentText:$e(),contentHash:$e(),sourceMemoIds:Tn($e()),mergeSourceCount:Qt().int().min(0),mergedIntoMemoId:$e().nullable()}),fMe=Ct({memo:EFt,revisions:Tn(kFt),resources:Tn(Ct({id:$e().trim().min(1),memoId:$e().trim().min(1),originalMemoId:$e().nullable(),kind:nn(["image","attachment"]),mimeType:$e().nullable(),filename:$e().nullable(),byteSize:Qt().int().min(0),sha256:$e().nullable(),width:Qt().int().positive().nullable(),height:Qt().int().positive().nullable(),createdAt:Ld,updatedAt:Ld,archivePath:$e().trim().min(1)}))});Ct({notebooks:Tn(SFt).min(1).max(100)});Ct({memos:Tn(fMe).min(1).max(10)});const AFt=Ct({id:$e().trim().min(1).max(200),origin:nn(["default","custom"]),seedKey:nn(vq.filter(t=>t!=="custom")).nullable(),action:nn(vq),parameterKind:nn(Jee),resultMode:nn(Qee),nameCustomized:cn(),descriptionCustomized:cn(),instructionCustomized:cn(),name:$e().trim().min(1).max(80),description:$e().max(200).nullable(),instruction:$e().trim().min(1).max(2e3),createdAt:Ld,updatedAt:Ld}).superRefine((t,e)=>{t.origin==="default"&&!t.seedKey&&e.addIssue({code:"custom",path:["seedKey"],message:"A default prompt must include a seed key."}),t.origin==="default"&&t.seedKey&&t.action!==t.seedKey&&e.addIssue({code:"custom",path:["action"],message:"A default prompt action must match its seed key."}),t.origin==="custom"&&(t.seedKey!==null||t.action!=="custom")&&e.addIssue({code:"custom",path:["origin"],message:"A custom prompt cannot use factory prompt identity."})});Ct({prompts:Tn(AFt).max(100)});fMe.shape.resources.element;const r9=(t,e,r,n,i)=>({...t,translations:{"zh-CN":e,"en-US":r,ja:n,pl:i}});r9({key:"quick-note",translationKey:"quickNote",tag:"quick-note"},{title:"灵感速记",description:"快速捕捉闪念、临时灵感、资料链接与即刻行动。",contentMarkdown:`## 💡 闪念记录
-
## 📌 背景与补充说明
## 🚀 下一步动作
- [ ] `},{title:"Quick Spark",description:"Capture fleeting thoughts, ideas, links, and immediate action items.",contentMarkdown:`## 💡 Fleeting Thoughts
-
## 📌 Context & Notes
## 🚀 Next Actions
- [ ] `},{title:"ひらめきメモ",description:"ふとした思いつき、アイデア、リンク、すぐやることをすばやく書き留めます。",contentMarkdown:`## 💡 ひらめき
-
## 📌 背景と補足
## 🚀 次のアクション
- [ ] `},{title:"Szybka notatka",description:"Zapisuj ulotne myśli, pomysły, linki i działania do natychmiastowego podjęcia.",contentMarkdown:`## 💡 Ulotne myśli
-
## 📌 Kontekst i uwagi
## 🚀 Kolejne kroki
- [ ] `}),r9({key:"meeting",translationKey:"meeting",tag:"meeting"},{title:"会议纪要",description:"结构化记录议题背景、核心结论与带负责人的待办事项。",contentMarkdown:`# 📝 会议纪要
- **时间**:
- **主持人/记录人**:
- **参会人**:
---
## 🎯 会议目标
-
## 💬 核心讨论与决策
1. **[议题 1]**
- 讨论要点:
- ✅ **决议**:
2. **[议题 2]**
- 讨论要点:
- ✅ **决议**:
## 📋 待办事项 (Action Items)
- [ ] **[负责人]** 任务描述 (截止日期:MM-DD)
- [ ] **[负责人]** 任务描述 (截止日期:MM-DD)
`},{title:"Meeting Minutes",description:"Structured log for agenda, key decisions, and action items with owners.",contentMarkdown:`# 📝 Meeting Minutes
- **Time**:
- **Host/Recorder**:
- **Attendees**:
---
## 🎯 Goal
-
## 💬 Discussion & Decisions
1. **[Topic 1]**
- Points:
- ✅ **Decision**:
2. **[Topic 2]**
- Points:
- ✅ **Decision**:
## 📋 Action Items
- [ ] **[Owner]** Task description (Due: MM-DD)
- [ ] **[Owner]** Task description (Due: MM-DD)
`},{title:"会議メモ",description:"議題の背景、主な決定、担当者つきのToDoを構造化して記録します。",contentMarkdown:`# 📝 会議メモ
- **日時**:
- **司会/記録**:
- **参加者**:
---
## 🎯 会議の目的
-
## 💬 議論と決定
1. **[議題 1]**
- ポイント:
- ✅ **決定**:
2. **[議題 2]**
- ポイント:
- ✅ **決定**:
## 📋 アクションアイテム
- [ ] **[担当者]** タスク内容(期限:MM-DD)
- [ ] **[担当者]** タスク内容(期限:MM-DD)
`},{title:"Notatka ze spotkania",description:"Uporządkowany zapis agendy, kluczowych decyzji i zadań z osobami odpowiedzialnymi.",contentMarkdown:`# 📝 Notatka ze spotkania
- **Termin**:
- **Prowadzący/protokolant**:
- **Uczestnicy**:
---
## 🎯 Cel
-
## 💬 Dyskusja i decyzje
1. **[Temat 1]**
- Najważniejsze punkty:
- ✅ **Decyzja**:
2. **[Temat 2]**
- Najważniejsze punkty:
- ✅ **Decyzja**:
## 📋 Zadania do wykonania
- [ ] **[Osoba odpowiedzialna]** Opis zadania (termin: MM-DD)
- [ ] **[Osoba odpowiedzialna]** Opis zadania (termin: MM-DD)
`}),r9({key:"weekly-review",translationKey:"weeklyReview",tag:"weekly-review"},{title:"周报与进展复盘",description:"梳理本周核心产出、风险卡点与下周关键优先级。",contentMarkdown:`# 🗓️ 工作周报
## 🌟 本周核心进展 (Highlights)
- [x] **[项目/功能]** 完成情况与成果说明
- [x] **[项目/功能]** 完成情况与成果说明
## 🚧 卡点与风险 (Blockers & Risks)
- ⚠️ **阻塞项**:原因及所需支持
## 🎯 下周优先级 (Next Week Priorities)
- [ ]
- [ ]
- [ ]
## 💡 总结与思考
-
`},{title:"Weekly Review & Status",description:"Summarize weekly highlights, blockers, and next week's key priorities.",contentMarkdown:`# 🗓️ Weekly Status Report
## 🌟 Highlights
- [x] **[Project/Feature]** Accomplishment details
- [x] **[Project/Feature]** Accomplishment details
## 🚧 Blockers & Risks
- ⚠️ **Blocker**: Reason and required support
## 🎯 Next Week Priorities
- [ ]
- [ ]
- [ ]
## 💡 Reflection & Insights
-
`},{title:"週次レビュー",description:"今週の成果、ブロッカー、来週の優先事項を整理します。",contentMarkdown:`# 🗓️ 週次レポート
## 🌟 今週のハイライト
- [x] **[プロジェクト/機能]** 成果の説明
- [x] **[プロジェクト/機能]** 成果の説明
## 🚧 ブロッカーとリスク
- ⚠️ **ブロッカー**:原因と必要なサポート
## 🎯 来週の優先事項
- [ ]
- [ ]
- [ ]
## 💡 振り返り
-
`},{title:"Przegląd tygodnia i postępy",description:"Podsumuj najważniejsze osiągnięcia tygodnia, blokery i kluczowe priorytety na kolejny tydzień.",contentMarkdown:`# 🗓️ Tygodniowy raport postępów
## 🌟 Najważniejsze osiągnięcia
- [x] **[Projekt/funkcja]** Szczegóły osiągnięcia
- [x] **[Projekt/funkcja]** Szczegóły osiągnięcia
## 🚧 Blokery i ryzyka
- ⚠️ **Bloker**: Przyczyna i potrzebne wsparcie
## 🎯 Priorytety na kolejny tydzień
- [ ]
- [ ]
- [ ]
## 💡 Refleksje i wnioski
-
`}),r9({key:"reading",translationKey:"reading",tag:"reading"},{title:"深度阅读卡片",description:"提炼核心观点、精妙摘录、个人理解与关联知识卡片。",contentMarkdown:`# 📖 深度阅读卡片
- **书名/文章**:
- **作者/来源**:
- **推荐指数**:⭐⭐⭐⭐⭐
---
## 💡 一句话总结 (Key Takeaway)
>
## ✍️ 核心观点与金句摘录
> [摘录内容]
> —— *原书/原文*
## 🧠 我的理解与延伸思考
-
## 🔗 关联知识与行动
- [ ] **落地实践**:
`},{title:"Reading Note Card",description:"Extract key takeaways, quotes, reflections, and connected concepts.",contentMarkdown:`# 📖 Reading Note Card
- **Book/Article**:
- **Author/Source**:
- **Rating**: ⭐⭐⭐⭐⭐
---
## 💡 Key Takeaway
>
## ✍️ Highlights & Quotes
> [Quote content]
> —— *Original Source*
## 🧠 Personal Reflections
-
## 🔗 Action & Practice
- [ ] **Action Plan**:
`},{title:"読書カード",description:"要点、引用、自分の理解、関連する知識をまとめます。",contentMarkdown:`# 📖 読書カード
- **書籍/記事**:
- **著者/出典**:
- **評価**:⭐⭐⭐⭐⭐
---
## 💡 一言まとめ
>
## ✍️ 要点と引用
> [引用]
> —— *出典*
## 🧠 自分の理解と考察
-
## 🔗 関連知識とアクション
- [ ] **実践**:
`},{title:"Karta lektury",description:"Wyodrębnij kluczowe wnioski, cytaty, własne refleksje i powiązane zagadnienia.",contentMarkdown:`# 📖 Karta lektury
- **Książka/artykuł**:
- **Autor/źródło**:
- **Ocena**: ⭐⭐⭐⭐⭐
---
## 💡 Najważniejszy wniosek
>
## ✍️ Najciekawsze fragmenty i cytaty
> [Treść cytatu]
> —— *Źródło*
## 🧠 Własne refleksje
-
## 🔗 Działanie i praktyka
- [ ] **Plan działania**:
`}),r9({key:"okr",translationKey:"okr",tag:"okr"},{title:"目标与任务拆解",description:"明确 OKR 目标、关键结果、里程碑与具体执行清单。",contentMarkdown:`# 🎯 目标拆解
- **周期**:
- **负责人**:
---
## 📌 目标 (Objective)
>
## 📈 关键结果 (Key Results)
- **KR 1**:期望指标 -> 当前进度
- **KR 2**:期望指标 -> 当前进度
## 🗓️ 里程碑节点 (Milestones)
- [ ] **阶段一 (日期)**:完成标的
- [ ] **阶段二 (日期)**:完成标的
## 📋 执行任务清单
- [ ]
- [ ]
`},{title:"Goal & Task Breakdown",description:"Define OKRs, Key Results, milestones, and task checklists.",contentMarkdown:`# 🎯 Goal Breakdown
- **Period**:
- **Owner**:
---
## 📌 Objective
>
## 📈 Key Results
- **KR 1**: Target metric -> Current progress
- **KR 2**: Target metric -> Current progress
## 🗓️ Milestones
- [ ] **Phase 1 (Date)**: Target
- [ ] **Phase 2 (Date)**: Target
## 📋 Execution Checklist
- [ ]
- [ ]
`},{title:"目標とタスク分解",description:"OKR の目標、主要な結果、マイルストーン、実行チェックリストを定義します。",contentMarkdown:`# 🎯 目標の分解
- **期間**:
- **担当者**:
---
## 📌 目標 (Objective)
>
## 📈 主要な結果 (Key Results)
- **KR 1**:目標指標 -> 現在の進捗
- **KR 2**:目標指標 -> 現在の進捗
## 🗓️ マイルストーン
- [ ] **フェーズ 1(日付)**:達成目標
- [ ] **フェーズ 2(日付)**:達成目標
## 📋 実行チェックリスト
- [ ]
- [ ]
`},{title:"Cele i podział zadań",description:"Określ cele OKR, kluczowe rezultaty, kamienie milowe i listy zadań.",contentMarkdown:`# 🎯 Podział celu
- **Okres**:
- **Osoba odpowiedzialna**:
---
## 📌 Cel (Objective)
>
## 📈 Kluczowe rezultaty (Key Results)
- **KR 1**: Docelowy wskaźnik -> Obecny postęp
- **KR 2**: Docelowy wskaźnik -> Obecny postęp
## 🗓️ Kamienie milowe
- [ ] **Etap 1 (data)**: Cel etapu
- [ ] **Etap 2 (data)**: Cel etapu
## 📋 Lista zadań do wykonania
- [ ]
- [ ]
`});const MFt=["clay","dawn","teal","azure","violet","pink","slate"],RFt=["native",...MFt],IFt=8*1024,LFt=["wenkai-screen","neo-zhi-song","source-serif",...IC];Ct({name:$e().trim().min(1).max(80),parentId:$e().trim().min(1).nullable().optional()});Ct({name:$e().trim().min(1).max(80).optional(),parentId:$e().trim().min(1).nullable().optional(),sortOrder:Qt().int().optional()});Ct({notebookId:$e().trim().min(1),title:$e().trim().max(160).optional(),contentJson:Kh().optional(),contentMarkdown:$e().optional(),tags:Tn($e()).optional(),createdAt:$e().datetime().optional(),updatedAt:$e().datetime().optional()});Ct({expectedRevision:Qt().int().min(0).optional(),expectedContentHash:$e().length(64).optional(),editSessionId:$e().trim().min(1).optional(),notebookId:$e().trim().min(1).optional(),title:$e().trim().max(160).optional(),isPinned:cn().optional(),contentJson:Kh().optional(),contentMarkdown:$e().optional(),tags:Tn($e()).optional(),createdAt:$e().datetime().optional(),updatedAt:$e().datetime().optional(),allowDestructiveOverwrite:cn().optional()});Ct({name:$e().trim().min(1).max(160),description:$e().trim().max(500).optional(),memoId:$e().trim().min(1).optional(),title:$e().trim().max(160).nullable().optional(),contentMarkdown:$e().optional(),tags:Tn($e()).optional()}).refine(t=>t.memoId||t.contentMarkdown!==void 0,{message:"memoId or contentMarkdown is required"});Ct({name:$e().trim().min(1).max(160).optional(),description:$e().trim().max(500).nullable().optional(),title:$e().trim().max(160).nullable().optional(),contentMarkdown:$e().optional(),tags:Tn($e()).optional()});Ct({notebookId:$e().trim().min(1),locale:$e().trim().min(1).max(64).optional()});const pMe=Ct({pluginId:$e().trim().min(3).max(200),commandId:$e().trim().min(1).max(200)}),NFt=Ct({name:$e().trim().min(1).max(120),taskType:Wn("plugin-command"),taskPayload:pMe,cronExpression:$e().trim().min(1).max(160),timezone:$e().trim().min(1).max(80),executorDeviceId:$e().trim().min(16).max(160),missedRunPolicy:nn(["run-once","skip"]).default("run-once"),isEnabled:cn().default(!0)});NFt.omit({taskType:!0,taskPayload:!0,executorDeviceId:!0}).partial().extend({taskPayload:pMe.optional(),executorDeviceId:$e().trim().min(16).max(160).optional()}).refine(t=>Object.values(t).some(e=>e!==void 0),{message:"At least one field is required."});Ct({pluginId:$e().trim().min(3).max(200),scheduleKey:$e().trim().regex(/^[a-z0-9][a-z0-9._-]*$/i).max(120),name:$e().trim().min(1).max(120),commandId:$e().trim().min(1).max(200),cronExpression:$e().trim().min(1).max(160),timezone:$e().trim().min(1).max(80),executorDeviceId:$e().trim().min(16).max(160),missedRunPolicy:nn(["run-once","skip"]).default("run-once"),isEnabled:cn().optional()});Ct({scheduledFor:$e().datetime(),executorDeviceId:$e().trim().min(16).max(160)});Ct({executorDeviceId:$e().trim().min(16).max(160),status:nn(["succeeded","failed"]),errorMessage:$e().trim().max(2e3).nullable().optional()});const p0e=$e().trim().max(2e3).refine(t=>{try{const e=new URL(t);return e.protocol==="http:"||e.protocol==="https:"}catch{return!1}},{message:"URL must use http or https."});Ct({type:nn(["plugin","theme"]),version:$e().trim().regex(/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/).max(80),enabled:cn(),installedAt:$e().datetime(),manifestUrl:p0e,sourceKind:nn(["marketplace","github","manifest"]),verified:cn(),repositoryUrl:p0e.max(500).nullable().optional(),releaseTag:$e().trim().min(1).max(80).nullable().optional(),publisher:Wn("edgeever").nullable().optional()}).refine(t=>t.sourceKind==="github"?!!t.repositoryUrl:t.sourceKind==="marketplace"?!!(t.repositoryUrl||t.manifestUrl):!0,{message:"GitHub and marketplace extensions require a source URL."});Ct({memoIds:Tn($e().trim().min(1)).min(1).max(100),notebookId:$e().trim().min(1)});Ct({memoIds:Tn($e().trim().min(1)).min(1).max(100),permanent:cn().optional()});Ct({notebookId:$e().trim().min(1).optional(),title:$e().trim().max(160).optional()});Ct({memoIds:Tn($e().trim().min(1)).min(2).max(50),notebookId:$e().trim().min(1).optional(),title:$e().trim().max(160).optional()});Ct({username:$e().trim().min(1).max(80),password:$e().min(1).max(512),deviceId:$e().trim().min(16).max(160).optional(),locale:$e().trim().min(1).max(35).optional()});Ct({label:$e().trim().max(80).nullable()});Ct({currentPassword:$e().min(1).max(512),newPassword:$e().min(8).max(512),confirmPassword:$e().min(8).max(512)}).refine(t=>t.newPassword===t.confirmPassword,{message:"New passwords do not match.",path:["confirmPassword"]});Ct({username:$e().trim().min(1).max(80),displayName:$e().trim().max(80).nullable().optional(),password:$e().min(8).max(512)});Ct({displayName:$e().trim().max(80).nullable().optional(),password:$e().min(8).max(512).optional(),isDisabled:cn().optional()}).refine(t=>Object.keys(t).length>0,"At least one field is required.");Ct({name:$e().trim().min(1).max(80),scopes:Tn($e().trim().min(1).max(80)).min(1).max(32),expiresAt:$e().datetime().nullable().optional()});Ct({name:$e().trim().min(1).max(80)});Ct({filename:$e().trim().min(1).max(160)});const gMe=$e().trim().url().max(500).refine(t=>t.startsWith("https://")||t.startsWith("http://"),"Object storage endpoint must use HTTP or HTTPS.");Zee("provider",[Ct({provider:Wn("builtin")}),Ct({provider:Wn("s3"),displayName:$e().trim().min(1).max(80),endpoint:gMe,region:$e().trim().min(1).max(80),bucket:$e().trim().min(1).max(255),accessKeyId:$e().trim().min(1).max(256),secretAccessKey:$e().min(1).max(1024).optional(),forcePathStyle:cn().default(!0),objectPrefix:$e().trim().max(500).default("")})]);Ct({endpoint:gMe,region:$e().trim().min(1).max(80),bucket:$e().trim().min(1).max(255),accessKeyId:$e().trim().min(1).max(256),secretAccessKey:$e().min(1).max(1024).optional(),forcePathStyle:cn().default(!0),objectPrefix:$e().trim().max(500).default("")});const mMe=nn(["openai-compatible","anthropic","google"]),UMe=nn(["openai-compatible"]),yMe=(t,e)=>{let r;try{r=new URL(t)}catch{e.addIssue({code:"custom",message:"AI Base URL must be a valid URL."});return}r.protocol!=="http:"&&r.protocol!=="https:"&&e.addIssue({code:"custom",message:"AI Base URL must use HTTP or HTTPS."}),(r.username||r.password)&&e.addIssue({code:"custom",message:"AI Base URL must not contain credentials."})},bMe=$e().trim().url().max(500).superRefine(yMe),vMe=$e().trim().min(1).max(500).superRefine((t,e)=>{if(!$e().url().safeParse(t).success){e.addIssue({code:"custom",message:"AI Base URL must be a valid URL."});return}yMe(t,e)});Ct({provider:UMe.default("openai-compatible"),displayName:$e().trim().min(1).max(80),baseUrl:vMe,apiKey:$e().trim().min(1).max(4096),isEnabled:cn().default(!0),initialModelId:$e().trim().min(1).max(200).optional()});Ct({provider:UMe.default("openai-compatible"),displayName:$e().trim().min(1).max(80),baseUrl:vMe,apiKey:$e().trim().min(1).max(4096).optional(),isEnabled:cn().default(!0)});Ct({modelId:$e().trim().min(1).max(200),displayName:$e().trim().min(1).max(80).optional()});Ct({modelConfigId:$e().trim().min(1).nullable()});const xMe=Ct({provider:mMe,displayName:$e().trim().min(1).max(80),baseUrl:bMe,isEnabled:cn().default(!0)});xMe.extend({apiKey:$e().min(1).max(4096),initialModelId:$e().trim().min(1).max(200).optional()});xMe.extend({apiKey:$e().min(1).max(4096).optional()});Ct({modelId:$e().trim().min(1).max(200),provider:mMe.optional(),baseUrl:bMe.optional(),apiKey:$e().min(1).max(4096).optional()});Ct({modelId:$e().trim().min(1).max(200),displayName:$e().trim().min(1).max(200).optional()});Ct({modelConfigId:$e().trim().min(1).nullable()});const OFt=Ct({filename:$e().trim().min(1).max(255).regex(/^[^\u0000-\u001F\u007F]+$/),mediaType:nn(sFt),base64Data:$e().min(1).max(Math.ceil(d0e/3)*4)}).superRefine((t,e)=>{const r=uMe(t.base64Data);if(r===null){e.addIssue({code:"custom",path:["base64Data"],message:"Attachment data must be valid base64."});return}const n=uFt(t.mediaType)?lFt:d0e;r>n&&e.addIssue({code:"custom",path:["base64Data"],message:"The attachment is too large."})});Ct({action:nn(vq),promptId:$e().trim().min(1).max(200).optional(),locale:$e().trim().min(2).max(35).optional(),title:$e().trim().max(160).default(""),contentMarkdown:$e().max(3e5),stream:cn().default(!1),targetLanguage:nn(aFt).optional(),tone:nn(iFt).optional(),instruction:$e().trim().min(1).max(2e3).optional(),attachments:Tn(OFt).max(oFt).default([])}).superRefine((t,e)=>{!t.promptId&&t.action==="translate"&&!t.targetLanguage&&e.addIssue({code:"custom",path:["targetLanguage"],message:"A target language is required for translation."}),!t.promptId&&t.action==="change-tone"&&!t.tone&&e.addIssue({code:"custom",path:["tone"],message:"A tone is required when changing tone."}),!t.promptId&&t.action==="custom"&&!t.instruction&&e.addIssue({code:"custom",path:["instruction"],message:"An instruction is required for a custom action."});const r=t.action==="custom"&&!!(t.instruction||t.promptId);!t.title&&!t.contentMarkdown.trim()&&t.attachments.length===0&&!r&&e.addIssue({code:"custom",path:["contentMarkdown"],message:"Note content is required."}),t.attachments.reduce((i,a)=>i+(uMe(a.base64Data)??0),0)>cFt&&e.addIssue({code:"custom",path:["attachments"],message:"The attachments are too large in total."})});Ct({title:$e().trim().max(160).default(""),contentMarkdown:$e().max(3e5),currentTags:Tn($e().trim().min(1).max(200)).max(24).default([]),locale:$e().trim().min(2).max(35).optional()}).superRefine((t,e)=>{!t.title&&!t.contentMarkdown.trim()&&e.addIssue({code:"custom",path:["contentMarkdown"],message:"Note content is required."})});Ct({name:$e().trim().min(1).max(80),description:$e().trim().max(200).optional(),instruction:$e().trim().min(1).max(2e3),parameterKind:nn(Jee).default("none"),resultMode:nn(Qee).default("both")});Ct({name:$e().trim().min(1).max(80).optional(),description:$e().trim().max(200).nullable().optional(),instruction:$e().trim().min(1).max(2e3).optional(),parameterKind:nn(Jee).optional(),resultMode:nn(Qee).optional()}).refine(t=>Object.values(t).some(e=>e!==void 0),{message:"At least one field is required."});Ct({passwordProtected:cn()});Ct({bodyFont:nn(LFt).nullable()});const Ip=$e().regex(/^#[0-9a-f]{6}$/i),g0e=Ct({background:Ip,text:Ip,muted:Ip,heading:Ip,accent:Ip,soft:Ip,codeBackground:Ip,border:Ip});Ct({fontSize:Eg([Wn(14),Wn(16),Wn(18),Wn(20)]).nullable().optional(),lineHeight:Eg([Wn(1.5),Wn(1.65),Wn(2)]).nullable().optional(),palette:Eg([nn(RFt),Wn("orange")]).transform(t=>t==="orange"?"clay":t).nullable().optional(),customCss:$e().refine(t=>new TextEncoder().encode(t).byteLength<=IFt).nullable().optional(),customColors:Ct({light:g0e,dark:g0e}).nullable().optional()}).refine(t=>Object.values(t).some(e=>e!==void 0),{message:"At least one field is required."});Ct({password:$e().min(1).max(64)});const DFt=Ct({fieldId:$e().trim().min(1).max(80),required:cn()});Ct({enabled:cn(),passwordProtected:cn(),rotatePassword:cn().optional(),title:$e().trim().max(120),description:$e().trim().max(1e3),submitLabel:$e().trim().max(40),fields:Tn(DFt).max(40)});Ct({cells:nP($e().max(80),Kh())});const wMe="3.9.3",PFt=wMe,m0e=typeof TextDecoder=="function"?new TextDecoder("utf-8",{ignoreBOM:!0}):void 0,U0e=typeof TextEncoder=="function"?new TextEncoder:void 0,_Ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Y9=Array.prototype.slice.call(_Ft),dE=(t=>{let e={};return t.forEach((r,n)=>e[r]=n),e})(Y9),BFt=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,So=String.fromCharCode.bind(String),$Ft=typeof Uint8Array.from=="function"?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),TMe=t=>t.replace(/=/g,"").replace(/[+\/]/g,e=>e=="+"?"-":"_"),CMe=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),SMe=t=>{let e,r,n,i,a="";const s=t.length%3;for(let o=0;o<t.length;){if((r=t.charCodeAt(o++))>255||(n=t.charCodeAt(o++))>255||(i=t.charCodeAt(o++))>255)throw new TypeError("invalid character found");e=r<<16|n<<8|i,a+=Y9[e>>18&63]+Y9[e>>12&63]+Y9[e>>6&63]+Y9[e&63]}return s?a.slice(0,s-3)+"===".substring(s):a},rte=typeof btoa=="function"?t=>btoa(t):SMe,xq=typeof Uint8Array.prototype.toBase64=="function"?t=>t.toBase64():t=>{let r=[];for(let n=0,i=t.length;n<i;n+=4096)r.push(So.apply(null,t.subarray(n,n+4096)));return rte(r.join(""))},rM=(t,e=!1)=>e?TMe(xq(t)):xq(t),FFt=t=>{if(t.length<2){var e=t.charCodeAt(0);return e<128?t:e<2048?So(192|e>>>6)+So(128|e&63):So(224|e>>>12&15)+So(128|e>>>6&63)+So(128|e&63)}else{var e=65536+(t.charCodeAt(0)-55296)*1024+(t.charCodeAt(1)-56320);return So(240|e>>>18&7)+So(128|e>>>12&63)+So(128|e>>>6&63)+So(128|e&63)}},zFt=/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\x00-\x7F]/g,kMe=t=>t.replace(zFt,FFt),y0e=U0e?t=>xq(U0e.encode(t)):t=>rte(kMe(t)),gb=(t,e=!1)=>e?TMe(y0e(t)):y0e(t),b0e=t=>gb(t,!0),HFt=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,VFt=t=>{switch(t.length){case 4:var e=(7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3),r=e-65536;return So((r>>>10)+55296)+So((r&1023)+56320);case 3:return So((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return So((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},EMe=t=>t.replace(HFt,VFt),AMe=t=>{if(t=t.replace(/\s+/g,""),!BFt.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(t.length&3));let e,r,n,i=[];for(let a=0;a<t.length;)e=dE[t.charAt(a++)]<<18|dE[t.charAt(a++)]<<12|(r=dE[t.charAt(a++)])<<6|(n=dE[t.charAt(a++)]),r===64?i.push(So(e>>16&255)):n===64?i.push(So(e>>16&255,e>>8&255)):i.push(So(e>>16&255,e>>8&255,e&255));return i.join("")},nte=typeof atob=="function"?t=>atob(CMe(t)):AMe,MMe=typeof Uint8Array.fromBase64=="function"?t=>Uint8Array.fromBase64(t):t=>$Ft(nte(t).split("").map(e=>e.charCodeAt(0))),RMe=t=>MMe(IMe(t)),GFt=m0e?t=>m0e.decode(MMe(t)):t=>EMe(nte(t)),IMe=t=>CMe(t.replace(/[-_]/g,e=>e=="-"?"+":"/")),wq=t=>GFt(IMe(t)),WFt=t=>{if(typeof t!="string")return!1;const e=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},LMe=t=>({value:t,enumerable:!1,writable:!0,configurable:!0}),NMe=function(){const t=(e,r)=>Object.defineProperty(String.prototype,e,LMe(r));t("fromBase64",function(){return wq(this)}),t("toBase64",function(e){return gb(this,e)}),t("toBase64URI",function(){return gb(this,!0)}),t("toBase64URL",function(){return gb(this,!0)}),t("toUint8Array",function(){return RMe(this)})},OMe=function(){const t=(e,r)=>Object.defineProperty(Uint8Array.prototype,e,LMe(r));t("toBase64",function(e){return rM(this,e)}),t("toBase64URI",function(){return rM(this,!0)}),t("toBase64URL",function(){return rM(this,!0)})},qFt=()=>{NMe(),OMe()},jFt={version:wMe,VERSION:PFt,atob:nte,atobPolyfill:AMe,btoa:rte,btoaPolyfill:SMe,fromBase64:wq,toBase64:gb,encode:gb,encodeURI:b0e,encodeURL:b0e,utob:kMe,btou:EMe,decode:wq,isValid:WFt,fromUint8Array:rM,toUint8Array:RMe,extendString:NMe,extendUint8Array:OMe,extendBuiltins:qFt},yl="#f8fafb",bl="#222325",v0e={client:[{tagName:"path",attrs:{d:"M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8"}},{tagName:"path",attrs:{d:"M10 19v-3.96 3.15"}},{tagName:"path",attrs:{d:"M7 19h5"}},{tagName:"rect",attrs:{width:"6",height:"10",x:"16",y:"12",rx:"2"}}],webApp:[{tagName:"rect",attrs:{x:"2",y:"4",width:"20",height:"16",rx:"2"}},{tagName:"path",attrs:{d:"M10 4v4"}},{tagName:"path",attrs:{d:"M2 8h20"}},{tagName:"path",attrs:{d:"M6 4v4"}}],mobileApp:[{tagName:"rect",attrs:{width:"14",height:"20",x:"5",y:"2",rx:"2",ry:"2"}},{tagName:"path",attrs:{d:"M12 18h.01"}}],website:[{tagName:"path",attrs:{d:"M21.54 15H17a2 2 0 0 0-2 2v4.54"}},{tagName:"path",attrs:{d:"M7 3.34V5a3 3 0 0 0 3 3a2 2 0 0 1 2 2c0 1.1.9 2 2 2a2 2 0 0 0 2-2c0-1.1.9-2 2-2h3.17"}},{tagName:"path",attrs:{d:"M11 21.95V18a2 2 0 0 0-2-2a2 2 0 0 1-2-2v-1a2 2 0 0 0-2-2H2.05"}},{tagName:"circle",attrs:{cx:"12",cy:"12",r:"10"}}],apiClient:[{tagName:"path",attrs:{d:"m18 16 4-4-4-4"}},{tagName:"path",attrs:{d:"m6 8-4 4 4 4"}},{tagName:"path",attrs:{d:"m14.5 4-5 16"}}],service:[{tagName:"rect",attrs:{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}},{tagName:"rect",attrs:{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}},{tagName:"line",attrs:{x1:"6",x2:"6.01",y1:"6",y2:"6"}},{tagName:"line",attrs:{x1:"6",x2:"6.01",y1:"18",y2:"18"}}],cpu:[{tagName:"path",attrs:{d:"M12 20v2"}},{tagName:"path",attrs:{d:"M12 2v2"}},{tagName:"path",attrs:{d:"M17 20v2"}},{tagName:"path",attrs:{d:"M17 2v2"}},{tagName:"path",attrs:{d:"M2 12h2"}},{tagName:"path",attrs:{d:"M2 17h2"}},{tagName:"path",attrs:{d:"M2 7h2"}},{tagName:"path",attrs:{d:"M20 12h2"}},{tagName:"path",attrs:{d:"M20 17h2"}},{tagName:"path",attrs:{d:"M20 7h2"}},{tagName:"path",attrs:{d:"M7 20v2"}},{tagName:"path",attrs:{d:"M7 2v2"}},{tagName:"rect",attrs:{x:"4",y:"4",width:"16",height:"16",rx:"2"}},{tagName:"rect",attrs:{x:"8",y:"8",width:"8",height:"8",rx:"1"}}],gpu:[{tagName:"path",attrs:{d:"M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2"}},{tagName:"path",attrs:{d:"M2 21V3"}},{tagName:"path",attrs:{d:"M7 17v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3"}},{tagName:"circle",attrs:{cx:"16",cy:"11",r:"2"}},{tagName:"circle",attrs:{cx:"8",cy:"11",r:"2"}}],memory:[{tagName:"path",attrs:{d:"M12 12v-2"}},{tagName:"path",attrs:{d:"M12 18v-2"}},{tagName:"path",attrs:{d:"M16 12v-2"}},{tagName:"path",attrs:{d:"M16 18v-2"}},{tagName:"path",attrs:{d:"M2 11h1.5"}},{tagName:"path",attrs:{d:"M20 18v-2"}},{tagName:"path",attrs:{d:"M20.5 11H22"}},{tagName:"path",attrs:{d:"M4 18v-2"}},{tagName:"path",attrs:{d:"M8 12v-2"}},{tagName:"path",attrs:{d:"M8 18v-2"}},{tagName:"rect",attrs:{x:"2",y:"6",width:"20",height:"10",rx:"2"}}],virtualMachine:[{tagName:"path",attrs:{d:"m10.852 14.772-.383.923"}},{tagName:"path",attrs:{d:"M13.148 14.772a3 3 0 1 0-2.296-5.544l-.383-.923"}},{tagName:"path",attrs:{d:"m13.148 9.228.383-.923"}},{tagName:"path",attrs:{d:"m13.53 15.696-.382-.924a3 3 0 1 1-2.296-5.544"}},{tagName:"path",attrs:{d:"m14.772 10.852.923-.383"}},{tagName:"path",attrs:{d:"m14.772 13.148.923.383"}},{tagName:"path",attrs:{d:"M4.5 10H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-.5"}},{tagName:"path",attrs:{d:"M4.5 14H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2h-.5"}},{tagName:"path",attrs:{d:"M6 18h.01"}},{tagName:"path",attrs:{d:"M6 6h.01"}},{tagName:"path",attrs:{d:"m9.228 10.852-.923-.383"}},{tagName:"path",attrs:{d:"m9.228 13.148-.923.383"}}],container:[{tagName:"path",attrs:{d:"M22 7.7c0-.6-.4-1.2-.8-1.5l-6.3-3.9a1.72 1.72 0 0 0-1.7 0l-10.3 6c-.5.2-.9.8-.9 1.4v6.6c0 .5.4 1.2.8 1.5l6.3 3.9a1.72 1.72 0 0 0 1.7 0l10.3-6c.5-.3.9-1 .9-1.5Z"}},{tagName:"path",attrs:{d:"M10 21.9V14L2.1 9.1"}},{tagName:"path",attrs:{d:"m10 14 11.9-6.9"}},{tagName:"path",attrs:{d:"M14 19.8v-8.1"}},{tagName:"path",attrs:{d:"M18 17.5V9.4"}}],kubernetes:[{tagName:"circle",attrs:{cx:"12",cy:"12",r:"8"}},{tagName:"path",attrs:{d:"M12 2v7.5"}},{tagName:"path",attrs:{d:"m19 5-5.23 5.23"}},{tagName:"path",attrs:{d:"M22 12h-7.5"}},{tagName:"path",attrs:{d:"m19 19-5.23-5.23"}},{tagName:"path",attrs:{d:"M12 14.5V22"}},{tagName:"path",attrs:{d:"M10.23 13.77 5 19"}},{tagName:"path",attrs:{d:"M9.5 12H2"}},{tagName:"path",attrs:{d:"M10.23 10.23 5 5"}},{tagName:"circle",attrs:{cx:"12",cy:"12",r:"2.5"}}],serverless:[{tagName:"rect",attrs:{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}},{tagName:"path",attrs:{d:"M9 17c2 0 2.8-1 2.8-2.8V10c0-2 1-3.3 3.2-3"}},{tagName:"path",attrs:{d:"M9 11.2h5.7"}}],largeLanguageModel:[{tagName:"path",attrs:{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z"}},{tagName:"path",attrs:{d:"M9 13a4.5 4.5 0 0 0 3-4"}},{tagName:"path",attrs:{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5"}},{tagName:"path",attrs:{d:"M3.477 10.896a4 4 0 0 1 .585-.396"}},{tagName:"path",attrs:{d:"M6 18a4 4 0 0 1-1.967-.516"}},{tagName:"path",attrs:{d:"M12 13h4"}},{tagName:"path",attrs:{d:"M12 18h6a2 2 0 0 1 2 2v1"}},{tagName:"path",attrs:{d:"M12 8h8"}},{tagName:"path",attrs:{d:"M16 8V5a2 2 0 0 1 2-2"}},{tagName:"circle",attrs:{cx:"16",cy:"13",r:".5"}},{tagName:"circle",attrs:{cx:"18",cy:"3",r:".5"}},{tagName:"circle",attrs:{cx:"20",cy:"21",r:".5"}},{tagName:"circle",attrs:{cx:"20",cy:"8",r:".5"}}],multimodalModel:[{tagName:"path",attrs:{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"}},{tagName:"path",attrs:{d:"M20 2v4"}},{tagName:"path",attrs:{d:"M22 4h-4"}},{tagName:"circle",attrs:{cx:"4",cy:"20",r:"2"}}],embeddingModel:[{tagName:"rect",attrs:{x:"14",y:"14",width:"4",height:"6",rx:"2"}},{tagName:"rect",attrs:{x:"6",y:"4",width:"4",height:"6",rx:"2"}},{tagName:"path",attrs:{d:"M6 20h4"}},{tagName:"path",attrs:{d:"M14 10h4"}},{tagName:"path",attrs:{d:"M6 14h2v6"}},{tagName:"path",attrs:{d:"M14 4h2v6"}}],reranker:[{tagName:"path",attrs:{d:"m3 16 4 4 4-4"}},{tagName:"path",attrs:{d:"M7 20V4"}},{tagName:"path",attrs:{d:"m21 8-4-4-4 4"}},{tagName:"path",attrs:{d:"M17 4v16"}}],modelInference:[{tagName:"path",attrs:{d:"M10 12h4"}},{tagName:"path",attrs:{d:"M10 17h4"}},{tagName:"path",attrs:{d:"M10 7h4"}},{tagName:"path",attrs:{d:"M18 12h2"}},{tagName:"path",attrs:{d:"M18 18h2"}},{tagName:"path",attrs:{d:"M18 6h2"}},{tagName:"path",attrs:{d:"M4 12h2"}},{tagName:"path",attrs:{d:"M4 18h2"}},{tagName:"path",attrs:{d:"M4 6h2"}},{tagName:"rect",attrs:{x:"6",y:"2",width:"12",height:"20",rx:"2"}}],vectorDatabase:[{tagName:"path",attrs:{d:"m10.586 5.414-5.172 5.172"}},{tagName:"path",attrs:{d:"m18.586 13.414-5.172 5.172"}},{tagName:"path",attrs:{d:"M6 12h12"}},{tagName:"circle",attrs:{cx:"12",cy:"20",r:"2"}},{tagName:"circle",attrs:{cx:"12",cy:"4",r:"2"}},{tagName:"circle",attrs:{cx:"20",cy:"12",r:"2"}},{tagName:"circle",attrs:{cx:"4",cy:"12",r:"2"}}],ragPipeline:[{tagName:"rect",attrs:{width:"8",height:"8",x:"3",y:"3",rx:"2"}},{tagName:"path",attrs:{d:"M7 11v4a2 2 0 0 0 2 2h4"}},{tagName:"rect",attrs:{width:"8",height:"8",x:"13",y:"13",rx:"2"}}],aiAgent:[{tagName:"path",attrs:{d:"M12 8V4H8"}},{tagName:"rect",attrs:{width:"16",height:"12",x:"4",y:"8",rx:"2"}},{tagName:"path",attrs:{d:"M2 14h2"}},{tagName:"path",attrs:{d:"M20 14h2"}},{tagName:"path",attrs:{d:"M15 13v2"}},{tagName:"path",attrs:{d:"M9 13v2"}}],modelGateway:[{tagName:"rect",attrs:{width:"20",height:"8",x:"2",y:"14",rx:"2"}},{tagName:"path",attrs:{d:"M6.01 18H6"}},{tagName:"path",attrs:{d:"M10.01 18H10"}},{tagName:"path",attrs:{d:"M15 10v4"}},{tagName:"path",attrs:{d:"M17.84 7.17a4 4 0 0 0-5.66 0"}},{tagName:"path",attrs:{d:"M20.66 4.34a8 8 0 0 0-11.31 0"}}],mcpServer:[{tagName:"path",attrs:{d:"M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z"}},{tagName:"path",attrs:{d:"m2 22 3-3"}},{tagName:"path",attrs:{d:"M7.5 13.5 10 11"}},{tagName:"path",attrs:{d:"M10.5 16.5 13 14"}},{tagName:"path",attrs:{d:"m18 3-4 4h6l-4 4"}}],relationalDatabase:[{tagName:"ellipse",attrs:{cx:"12",cy:"5",rx:"9",ry:"3"}},{tagName:"path",attrs:{d:"M3 5V19A9 3 0 0 0 21 19V5"}},{tagName:"path",attrs:{d:"M3 12A9 3 0 0 0 21 12"}}],noSqlDatabase:[{tagName:"ellipse",attrs:{cx:"12",cy:"5",rx:"9",ry:"3"}},{tagName:"path",attrs:{d:"M3 5V19A9 3 0 0 0 15 21.84"}},{tagName:"path",attrs:{d:"M21 5V8"}},{tagName:"path",attrs:{d:"M21 12L18 17H22L19 22"}},{tagName:"path",attrs:{d:"M3 12A9 3 0 0 0 14.59 14.87"}}],cache:[{tagName:"path",attrs:{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"}}],dataWarehouse:[{tagName:"path",attrs:{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z"}},{tagName:"path",attrs:{d:"m7 16.5-4.74-2.85"}},{tagName:"path",attrs:{d:"m7 16.5 5-3"}},{tagName:"path",attrs:{d:"M7 16.5v5.17"}},{tagName:"path",attrs:{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z"}},{tagName:"path",attrs:{d:"m17 16.5-5-3"}},{tagName:"path",attrs:{d:"m17 16.5 4.74-2.85"}},{tagName:"path",attrs:{d:"M17 16.5v5.17"}},{tagName:"path",attrs:{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z"}},{tagName:"path",attrs:{d:"M12 8 7.26 5.15"}},{tagName:"path",attrs:{d:"m12 8 4.74-2.85"}},{tagName:"path",attrs:{d:"M12 13.5V8"}}],searchEngine:[{tagName:"path",attrs:{d:"m21 21-4.34-4.34"}},{tagName:"circle",attrs:{cx:"11",cy:"11",r:"8"}}],objectStorage:[{tagName:"path",attrs:{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z"}}],fileStorage:[{tagName:"path",attrs:{d:"M11 21a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1"}},{tagName:"path",attrs:{d:"M16 16a1 1 0 0 1-1 1H9a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1"}},{tagName:"path",attrs:{d:"M21 6a2 2 0 0 0-.586-1.414l-2-2A2 2 0 0 0 17 2h-3a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1z"}}],blockStorage:[{tagName:"path",attrs:{d:"M10 16h.01"}},{tagName:"path",attrs:{d:"M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"}},{tagName:"path",attrs:{d:"M21.946 12.013H2.054"}},{tagName:"path",attrs:{d:"M6 16h.01"}}],backup:[{tagName:"circle",attrs:{cx:"15",cy:"19",r:"2"}},{tagName:"path",attrs:{d:"M20.9 19.8A2 2 0 0 0 22 18V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2h5.1"}},{tagName:"path",attrs:{d:"M15 11v-1"}},{tagName:"path",attrs:{d:"M15 17v-2"}}],cdn:[{tagName:"path",attrs:{d:"M16.247 7.761a6 6 0 0 1 0 8.478"}},{tagName:"path",attrs:{d:"M19.075 4.933a10 10 0 0 1 0 14.134"}},{tagName:"path",attrs:{d:"M4.925 19.067a10 10 0 0 1 0-14.134"}},{tagName:"path",attrs:{d:"M7.753 16.239a6 6 0 0 1 0-8.478"}},{tagName:"circle",attrs:{cx:"12",cy:"12",r:"2"}}],messageQueue:[{tagName:"path",attrs:{d:"M11 5h10"}},{tagName:"path",attrs:{d:"M11 12h10"}},{tagName:"path",attrs:{d:"M11 19h10"}},{tagName:"path",attrs:{d:"M4 4h1v5"}},{tagName:"path",attrs:{d:"M4 9h2"}},{tagName:"path",attrs:{d:"M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02"}}],eventBus:[{tagName:"circle",attrs:{cx:"18",cy:"5",r:"3"}},{tagName:"circle",attrs:{cx:"6",cy:"12",r:"3"}},{tagName:"circle",attrs:{cx:"18",cy:"19",r:"3"}},{tagName:"line",attrs:{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49"}},{tagName:"line",attrs:{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49"}}],streamProcessing:[{tagName:"path",attrs:{d:"M2 12q2.5 2 5 0t5 0 5 0 5 0"}},{tagName:"path",attrs:{d:"M2 19q2.5 2 5 0t5 0 5 0 5 0"}},{tagName:"path",attrs:{d:"M2 5q2.5 2 5 0t5 0 5 0 5 0"}}],webhook:[{tagName:"path",attrs:{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2"}},{tagName:"path",attrs:{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06"}},{tagName:"path",attrs:{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8"}}],serviceMesh:[{tagName:"path",attrs:{d:"M12 3v18"}},{tagName:"path",attrs:{d:"M3 12h18"}},{tagName:"rect",attrs:{x:"3",y:"3",width:"18",height:"18",rx:"2"}}],apiGateway:[{tagName:"circle",attrs:{cx:"6",cy:"19",r:"3"}},{tagName:"path",attrs:{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"}},{tagName:"circle",attrs:{cx:"18",cy:"5",r:"3"}}],loadBalancer:[{tagName:"circle",attrs:{cx:"12",cy:"18",r:"3"}},{tagName:"circle",attrs:{cx:"6",cy:"6",r:"3"}},{tagName:"circle",attrs:{cx:"18",cy:"6",r:"3"}},{tagName:"path",attrs:{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9"}},{tagName:"path",attrs:{d:"M12 12v3"}}],dns:[{tagName:"circle",attrs:{cx:"12",cy:"12",r:"10"}},{tagName:"path",attrs:{d:"m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z"}}],vpc:[{tagName:"rect",attrs:{x:"16",y:"16",width:"6",height:"6",rx:"1"}},{tagName:"rect",attrs:{x:"2",y:"16",width:"6",height:"6",rx:"1"}},{tagName:"rect",attrs:{x:"9",y:"2",width:"6",height:"6",rx:"1"}},{tagName:"path",attrs:{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"}},{tagName:"path",attrs:{d:"M12 12V8"}}],subnet:[{tagName:"path",attrs:{d:"M17 19a1 1 0 0 1-1-1v-2a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2a1 1 0 0 1-1 1z"}},{tagName:"path",attrs:{d:"M17 21v-2"}},{tagName:"path",attrs:{d:"M19 14V6.5a1 1 0 0 0-7 0v11a1 1 0 0 1-7 0V10"}},{tagName:"path",attrs:{d:"M21 21v-2"}},{tagName:"path",attrs:{d:"M3 5V3"}},{tagName:"path",attrs:{d:"M4 10a2 2 0 0 1-2-2V6a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2z"}},{tagName:"path",attrs:{d:"M7 5V3"}}],vpn:[{tagName:"path",attrs:{d:"m15 20 3-3h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h2l3 3z"}},{tagName:"path",attrs:{d:"M6 8v1"}},{tagName:"path",attrs:{d:"M10 8v1"}},{tagName:"path",attrs:{d:"M14 8v1"}},{tagName:"path",attrs:{d:"M18 8v1"}}],identity:[{tagName:"path",attrs:{d:"M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z"}},{tagName:"circle",attrs:{cx:"16.5",cy:"7.5",r:".5",fill:"currentColor"}}],firewall:[{tagName:"rect",attrs:{width:"18",height:"18",x:"3",y:"3",rx:"2"}},{tagName:"path",attrs:{d:"M12 9v6"}},{tagName:"path",attrs:{d:"M16 15v6"}},{tagName:"path",attrs:{d:"M16 3v6"}},{tagName:"path",attrs:{d:"M3 15h18"}},{tagName:"path",attrs:{d:"M3 9h18"}},{tagName:"path",attrs:{d:"M8 15v6"}},{tagName:"path",attrs:{d:"M8 3v6"}}],waf:[{tagName:"path",attrs:{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}},{tagName:"path",attrs:{d:"m9 12 2 2 4-4"}}],secretManager:[{tagName:"circle",attrs:{cx:"12",cy:"16",r:"1"}},{tagName:"rect",attrs:{x:"3",y:"10",width:"18",height:"12",rx:"2"}},{tagName:"path",attrs:{d:"M7 10V7a5 5 0 0 1 10 0v3"}}],certificate:[{tagName:"path",attrs:{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z"}},{tagName:"path",attrs:{d:"M8 12h.01"}},{tagName:"path",attrs:{d:"M12 12h.01"}},{tagName:"path",attrs:{d:"M16 12h.01"}}],systemBoundary:[{tagName:"path",attrs:{d:"M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"}},{tagName:"path",attrs:{d:"m3.3 7 8.7 5 8.7-5"}},{tagName:"path",attrs:{d:"M12 22V12"}}],monitoring:[{tagName:"path",attrs:{d:"m12 14 4-4"}},{tagName:"path",attrs:{d:"M3.34 19a10 10 0 1 1 17.32 0"}}],logging:[{tagName:"path",attrs:{d:"M16 22h2a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v2.85"}},{tagName:"path",attrs:{d:"M14 2v5a1 1 0 0 0 1 1h5"}},{tagName:"path",attrs:{d:"M8 14v2.2l1.6 1"}},{tagName:"circle",attrs:{cx:"8",cy:"16",r:"6"}}],metrics:[{tagName:"path",attrs:{d:"M12 16v5"}},{tagName:"path",attrs:{d:"M16 14.639V21"}},{tagName:"path",attrs:{d:"M20 10.656V21"}},{tagName:"path",attrs:{d:"m22 3-8.646 8.646a.5.5 0 0 1-.708 0L9.354 8.354a.5.5 0 0 0-.707 0L2 15"}},{tagName:"path",attrs:{d:"M4 18.463V21"}},{tagName:"path",attrs:{d:"M8 14.656V21"}}],tracing:[{tagName:"path",attrs:{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}}],alerting:[{tagName:"circle",attrs:{cx:"12",cy:"12",r:"10"}},{tagName:"line",attrs:{x1:"12",x2:"12",y1:"8",y2:"12"}},{tagName:"line",attrs:{x1:"12",x2:"12.01",y1:"16",y2:"16"}}],saas:[{tagName:"path",attrs:{d:"m10.852 19.772-.383.924"}},{tagName:"path",attrs:{d:"m13.148 14.228.383-.923"}},{tagName:"path",attrs:{d:"M13.148 19.772a3 3 0 1 0-2.296-5.544l-.383-.923"}},{tagName:"path",attrs:{d:"m13.53 20.696-.382-.924a3 3 0 1 1-2.296-5.544"}},{tagName:"path",attrs:{d:"m14.772 15.852.923-.383"}},{tagName:"path",attrs:{d:"m14.772 18.148.923.383"}},{tagName:"path",attrs:{d:"M4.2 15.1a7 7 0 1 1 9.93-9.858A7 7 0 0 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.2"}},{tagName:"path",attrs:{d:"m9.228 15.852-.923-.383"}},{tagName:"path",attrs:{d:"m9.228 18.148-.923.383"}}],externalApi:[{tagName:"path",attrs:{d:"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"}},{tagName:"path",attrs:{d:"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"}}],thirdPartyService:[{tagName:"path",attrs:{d:"M15 3h6v6"}},{tagName:"path",attrs:{d:"M10 14 21 3"}},{tagName:"path",attrs:{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}}]},DMe='Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',YFt=12,XFt=550,KFt=17,ZFt=10,JFt=14,Tq=34,QFt=10,hE=32,fE=64,ezt=(t,e,r,n)=>({name:"manhattan",args:{padding:8,step:8,maxLoopCount:5e3,excludeNodes:[...new Set([t,e,...r])],...n?{startDirections:[n.source],endDirections:[n.target]}:{}}}),PMe=(t,e)=>{const r=t.x+t.width,n=e.x+e.width,i=t.y-(e.y+e.height),a=e.y-(t.y+t.height);if(e.x>=r)return e.x-r<hE&&i>fE?{source:"right",target:"bottom"}:e.x-r<hE&&a>fE?{source:"right",target:"top"}:{source:"right",target:"left"};if(n<=t.x)return t.x-n<hE&&i>fE?{source:"left",target:"bottom"}:t.x-n<hE&&a>fE?{source:"left",target:"top"}:{source:"left",target:"right"};const s=t.y+t.height/2;return e.y+e.height/2>=s?{source:"bottom",target:"top"}:{source:"top",target:"bottom"}},x0e=({side:t,offset:e})=>({name:t,args:t==="left"||t==="right"?{dy:e}:{dx:e}}),tzt=(t,e)=>{const r=new Map(t.map(a=>[a.id,a])),n=new Map,i=new Map;for(const a of e){const s=r.get(a.source),o=r.get(a.target);if(!s||!o)continue;const l=PMe(s,o);n.set(a.id,{source:{side:l.source,offset:0},target:{side:l.target,offset:0}});for(const[u,d,h,f]of[["source",s,l.source,o],["target",o,l.target,s]]){const p=`${d.id}:${h}`,g=i.get(p)??[];g.push({edgeId:a.id,end:u,opposite:h==="left"||h==="right"?f.y+f.height/2:f.x+f.width/2}),i.set(p,g)}}for(const[a,s]of i){if(s.length<2)continue;const o=a.lastIndexOf(":"),l=r.get(a.slice(0,o)),u=a.slice(o+1);if(!l)continue;const d=u==="left"||u==="right"?l.height:l.width,h=Math.min(Math.max(0,d-28),(s.length-1)*16);s.sort((f,p)=>f.opposite-p.opposite||f.edgeId.localeCompare(p.edgeId)),s.forEach(({edgeId:f,end:p},g)=>{const m=n.get(f);m&&(m[p].offset=Math.round(-h/2+h*g/(s.length-1)))})}return n},_Me=["client","frontend","service","database","storage","queue","security","external"],rzt={client:"client",frontend:"webApp",service:"service",database:"relationalDatabase",storage:"objectStorage",queue:"messageQueue",security:"waf",external:"saas"},nzt={light:{canvas:yl,boundaryStroke:"#7B8F86",boundaryText:"#1C3D31",boundaryFill:"rgba(123, 143, 134, 0.05)",boundaryBadgeFill:"rgba(255, 255, 255, 0.95)",boundaryBadgeStroke:"rgba(123, 143, 134, 0.4)",nodes:{client:{fill:"#E9EFF5",stroke:"#3B6285",text:"#1A3B5C",accent:"#2B5A84",iconFrame:"#D4E2EE"},frontend:{fill:"#EEF2FF",stroke:"#4338CA",text:"#312E81",accent:"#4F46E5",iconFrame:"#E0E7FF"},service:{fill:"#E3F4EE",stroke:"#169567",text:"#19563E",accent:"#16A06E",iconFrame:"#D0ECE2"},database:{fill:"#EFE7FD",stroke:"#7437DC",text:"#472877",accent:"#7C3AED",iconFrame:"#E5D8FB"},storage:{fill:"#FAEFE1",stroke:"#CA6F07",text:"#71430F",accent:"#D97706",iconFrame:"#F7E4CD"},queue:{fill:"#FCEBE2",stroke:"#DA530D",text:"#793512",accent:"#EA580C",iconFrame:"#FBDECE"},security:{fill:"#FBE4E9",stroke:"#D11D44",text:"#751B2D",accent:"#E11D48",iconFrame:"#F9D2DA"},external:{fill:"#ECEEF1",stroke:"#5E6D82",text:"#3C424B",accent:"#64748B",iconFrame:"#E0E3E8"}},edges:{dependency:{stroke:"#64748B",strokeWidth:1.2,markerWidth:7,markerHeight:5},request:{stroke:"#0F8A5C",strokeWidth:1.6,markerWidth:8,markerHeight:6},data:{stroke:"#7C3AED",strokeWidth:1.6,markerWidth:8,markerHeight:6},async:{stroke:"#EA580C",strokeWidth:1.5,strokeDasharray:"7 5",markerWidth:8,markerHeight:6}}},dark:{canvas:bl,boundaryStroke:"#5B6F66",boundaryText:"#D7F4E8",boundaryFill:"rgba(91, 111, 102, 0.12)",boundaryBadgeFill:"rgba(16, 19, 17, 0.95)",boundaryBadgeStroke:"rgba(91, 111, 102, 0.5)",nodes:{client:{fill:"#132537",stroke:"#5A8EB9",text:"#DCE8F2",accent:"#5A8EB9",iconFrame:"#1C3752"},frontend:{fill:"#18214D",stroke:"#6366F1",text:"#E0E7FF",accent:"#6366F1",iconFrame:"#232F6B"},service:{fill:"#123A2B",stroke:"#49B58E",text:"#D5EEE5",accent:"#49B58E",iconFrame:"#13573E"},database:{fill:"#2E1E4F",stroke:"#9965F1",text:"#E7DCFC",accent:"#9965F1",iconFrame:"#44267B"},storage:{fill:"#482F0E",stroke:"#E1953D",text:"#F8E7D2",accent:"#E1953D",iconFrame:"#70430C"},queue:{fill:"#4D2610",stroke:"#EF7D41",text:"#FBE1D3",accent:"#EF7D41",iconFrame:"#79340F"},security:{fill:"#4B1620",stroke:"#E84F70",text:"#FAD6DE",accent:"#E84F70",iconFrame:"#74182B"},external:{fill:"#282E33",stroke:"#8693A5",text:"#E3E6EA",accent:"#8693A5",iconFrame:"#38424C"}},edges:{dependency:{stroke:"#94A3B8",strokeWidth:1.2,markerWidth:7,markerHeight:5},request:{stroke:"#4DB58B",strokeWidth:1.6,markerWidth:8,markerHeight:6},data:{stroke:"#A78BFA",strokeWidth:1.6,markerWidth:8,markerHeight:6},async:{stroke:"#FB923C",strokeWidth:1.5,strokeDasharray:"7 5",markerWidth:8,markerHeight:6}}}},iP=(t="light")=>nzt[t],izt=(t,e)=>{const r=iP(e);return t==="boundary"?{fill:r.boundaryFill,stroke:r.boundaryStroke,text:r.boundaryText,accent:r.boundaryStroke,iconFrame:"transparent"}:_Me.includes(t)?r.nodes[t]:r.nodes.service},azt=(t,e)=>t==="database"||t==="queue"||t==="external"?Math.round(e/2):t==="security"?16:t==="frontend"?10:t==="service"?8:t==="client"||t==="storage"?6:11,w0e=t=>t==="database"||t==="external"?17:t==="security"?12:t==="queue"?10:8,szt=t=>Math.round((t-Tq)/2),BMe=(t,e)=>{const r=t??(_Me.includes(e)?rzt[e]:"service");return v0e[r]??v0e.service},ozt=(t,e)=>{if(e==="boundary")return[{tagName:"rect",selector:"body"},{tagName:"rect",selector:"headerBadge"},{tagName:"text",selector:"label"}];const r=BMe(t,e);return[{tagName:"rect",selector:"body"},{tagName:"rect",selector:"iconFrame"},...r.map((n,i)=>({tagName:n.tagName,selector:`architectureIcon${i}`})),{tagName:"text",selector:"label"}]},lzt=(t,e,r,n)=>{const i=iP(e),a=izt(t,e),s=t==="boundary",o=azt(t,r.height),l=szt(r.height),u=s?[]:BMe(n,t),d=Object.fromEntries(u.map((h,f)=>[`architectureIcon${f}`,{...h.attrs,transform:`translate(15 ${l+5})`,fill:"none",stroke:a.accent,strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",pointerEvents:"none"}]));return{markup:ozt(n,t),body:{fill:a.fill,stroke:a.stroke,strokeWidth:1.5,strokeDasharray:s||t==="external"?"7 5":void 0,rx:o,ry:o},label:{fill:a.text,fontSize:s?12:YFt,fontWeight:s?650:XFt,fontFamily:DMe,lineHeight:s?18:KFt,...s?{refX:20,refY:20,textAnchor:"start",textVerticalAnchor:"middle"}:{refX:54,refY:"50%",textAnchor:"start",textVerticalAnchor:"middle"}},attrs:s?{headerBadge:{ref:"label",refWidth:1,refHeight:1,refWidth2:16,refHeight2:6,refX:-8,refY:-3,fill:i.boundaryBadgeFill,stroke:i.boundaryBadgeStroke,strokeWidth:1,rx:4,ry:4,pointerEvents:"none"}}:{iconFrame:{x:QFt,y:l,width:Tq,height:Tq,rx:w0e(t),ry:w0e(t),fill:a.iconFrame,stroke:"none",pointerEvents:"none"},...d}}},czt=(t,e,r=!1)=>{const n=iP(e).edges[t??"dependency"],i={name:"block",width:n.markerWidth,height:n.markerHeight};return{stroke:n.stroke,strokeWidth:n.strokeWidth,strokeDasharray:n.strokeDasharray,sourceMarker:r?i:null,targetMarker:i,fill:"none"}},Cq='Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',uzt=10,dzt=14,hzt={name:"manhattan",args:{padding:8,step:8,excludeEnds:!0}},fzt=(t,e)=>{const r={x:t.x+t.width/2,y:t.y+t.height/2},n={x:e.x+e.width/2,y:e.y+e.height/2},i=n.x-r.x,a=n.y-r.y;return a<-t.height?{source:"left",target:"left"}:i<-t.width?{source:"top",target:"top"}:Math.abs(a)>=Math.abs(i)?a>=0?{source:"bottom",target:"top"}:{source:"top",target:"bottom"}:i>=0?{source:"right",target:"left"}:{source:"left",target:"right"}},pzt=(t,e)=>{const r=e.x+e.width/2-(t.x+t.width/2),n=e.y+e.height/2-(t.y+t.height/2);return n<-t.height||r<-t.width?!1:Math.abs(r)<=1&&Math.abs(n)>8||Math.abs(n)<=1&&Math.abs(r)>8},gzt=.85,mzt=["plain","brand","ink","paper","island","tea","cosmos","sun","wa","rose","mint"],Uzt={ocean:"brand",slate:"ink",mono:"ink",classic:"paper",sand:"island",sky:"cosmos",sunset:"sun",violet:"rose",aurora:"mint"},yzt=t=>t&&mzt.includes(t)?t:t?Uzt[t]??"brand":"plain",bzt={plain:{light:{canvas:yl,edge:"#737373",process:{fill:"#FFFFFF",stroke:"#D4D4D4",text:"#212121"},decision:{fill:"#F4F4F5",stroke:"#737373",text:"#212121"},terminator:{fill:"#707070",stroke:"#707070",text:"#FFFFFF"}},dark:{canvas:bl,edge:"#A3A3A3",process:{fill:"#1C1C1C",stroke:"#3A3A3A",text:"#F4F4F5"},decision:{fill:"#262626",stroke:"#A3A3A3",text:"#F4F4F5"},terminator:{fill:"#F5F5F5",stroke:"#F5F5F5",text:"#212121"}}},brand:{light:{canvas:yl,edge:"#5C7166",process:{fill:"#FFFFFF",stroke:"#6F9B88",text:"#1C3D31"},decision:{fill:"#FFF6E5",stroke:"#D4A24A",text:"#7A4A12"},terminator:{fill:"#E7F6EF",stroke:"#16A06E",text:"#145C40"}},dark:{canvas:bl,edge:"#8CA397",process:{fill:"#1B2420",stroke:"#5B7569",text:"#E8F2ED"},decision:{fill:"#2A2316",stroke:"#E0B35C",text:"#F8E4B8"},terminator:{fill:"#1A3329",stroke:"#4DB58B",text:"#D8F3E6"}}},ink:{light:{canvas:yl,edge:"#64748B",process:{fill:"#FFFFFF",stroke:"#7D8794",text:"#1C232C"},decision:{fill:"#E8EDF3",stroke:"#6E7C8F",text:"#243044"},terminator:{fill:"#E6EAEF",stroke:"#3A4656",text:"#1A222C"}},dark:{canvas:bl,edge:"#94A3B8",process:{fill:"#1B1E23",stroke:"#6B7380",text:"#E8ECF1"},decision:{fill:"#222830",stroke:"#8B9BB0",text:"#D5DDE8"},terminator:{fill:"#1A2028",stroke:"#A8B4C4",text:"#E8EEF4"}}},paper:{light:{canvas:yl,edge:"#78716C",process:{fill:"#FFFCF6",stroke:"#C4B396",text:"#3A3126"},decision:{fill:"#F4E4CC",stroke:"#C08A48",text:"#6A3F14"},terminator:{fill:"#F0E4D0",stroke:"#7A5230",text:"#3F2A16"}},dark:{canvas:bl,edge:"#A8A29E",process:{fill:"#221E19",stroke:"#7A6A56",text:"#F3EBE0"},decision:{fill:"#2C2418",stroke:"#D4A06A",text:"#F6E2C4"},terminator:{fill:"#2A2118",stroke:"#C4A07A",text:"#F0E4D4"}}},island:{light:{canvas:yl,edge:"#7C6F68",process:{fill:"#FFF8F3",stroke:"#C4A090",text:"#3A2A22"},decision:{fill:"#F3D8C8",stroke:"#C46A48",text:"#6A3220"},terminator:{fill:"#EBD0C0",stroke:"#8B4A32",text:"#3F2418"}},dark:{canvas:bl,edge:"#ABA09A",process:{fill:"#231C18",stroke:"#8A6A56",text:"#F3E8E0"},decision:{fill:"#2C2018",stroke:"#D49070",text:"#F6D8C4"},terminator:{fill:"#281A16",stroke:"#C48868",text:"#F0D8CC"}}},tea:{light:{canvas:yl,edge:"#657361",process:{fill:"#FFFFFF",stroke:"#8A9A72",text:"#2A3420"},decision:{fill:"#E8EED4",stroke:"#8A9A48",text:"#3F4A18"},terminator:{fill:"#DCE6C8",stroke:"#4F6A32",text:"#243018"}},dark:{canvas:bl,edge:"#97A693",process:{fill:"#1C2018",stroke:"#6A7A56",text:"#E8F0DC"},decision:{fill:"#222618",stroke:"#B8C46A",text:"#E8F0C4"},terminator:{fill:"#1A2418",stroke:"#8AAA5A",text:"#D8E8C4"}}},cosmos:{light:{canvas:yl,edge:"#5C6D7E",process:{fill:"#FFFFFF",stroke:"#7A94A8",text:"#1C2A38"},decision:{fill:"#E4EEF5",stroke:"#5A82A0",text:"#1E3A52"},terminator:{fill:"#D8E6F0",stroke:"#2A5470",text:"#163044"}},dark:{canvas:bl,edge:"#8EA0B2",process:{fill:"#181E26",stroke:"#5A7088",text:"#E0E8F0"},decision:{fill:"#1C2834",stroke:"#7AA0C0",text:"#D0E4F4"},terminator:{fill:"#162028",stroke:"#8AB4D0",text:"#D8E8F4"}}},sun:{light:{canvas:yl,edge:"#736B5E",process:{fill:"#FFFEF6",stroke:"#D4C47A",text:"#3A3418"},decision:{fill:"#FFF0C4",stroke:"#E0B040",text:"#6A4A08"},terminator:{fill:"#F8E8B0",stroke:"#C09020",text:"#4A3808"}},dark:{canvas:bl,edge:"#A8A092",process:{fill:"#242018",stroke:"#8A7A48",text:"#F6F0D8"},decision:{fill:"#2C2410",stroke:"#E0B848",text:"#F8E8B8"},terminator:{fill:"#28240C",stroke:"#D4B040",text:"#F4E8C0"}}},wa:{light:{canvas:yl,edge:"#5B6F7D",process:{fill:"#FFFFFF",stroke:"#8AA8C0",text:"#1C2C3A"},decision:{fill:"#FCE8DC",stroke:"#E09070",text:"#7A3A24"},terminator:{fill:"#DCE8F4",stroke:"#2A5A88",text:"#1A3858"}},dark:{canvas:bl,edge:"#8EA3B3",process:{fill:"#182028",stroke:"#5A7088",text:"#E0E8F0"},decision:{fill:"#2C2018",stroke:"#E0A080",text:"#F8DCC8"},terminator:{fill:"#162030",stroke:"#6A98C0",text:"#D4E4F4"}}},rose:{light:{canvas:yl,edge:"#75646B",process:{fill:"#FFFFFF",stroke:"#C49AAC",text:"#3A2430"},decision:{fill:"#F8E4EC",stroke:"#D0809A",text:"#7A3048"},terminator:{fill:"#F0D8E2",stroke:"#A04060",text:"#4A2030"}},dark:{canvas:bl,edge:"#A8969D",process:{fill:"#24181C",stroke:"#8A5A6A",text:"#F4E4EA"},decision:{fill:"#2C1A22",stroke:"#E090A8",text:"#F8D8E4"},terminator:{fill:"#28141C",stroke:"#E07090",text:"#F4D0DC"}}},mint:{light:{canvas:yl,edge:"#5A736F",process:{fill:"#FFFFFF",stroke:"#7AB0A8",text:"#1C3A38"},decision:{fill:"#E4F4F0",stroke:"#4AA89A",text:"#1A5A52"},terminator:{fill:"#D4EEE8",stroke:"#1A7A70",text:"#145048"}},dark:{canvas:bl,edge:"#8EA8A4",process:{fill:"#182422",stroke:"#4A786E",text:"#DCF0EC"},decision:{fill:"#1A2C28",stroke:"#6AC4B4",text:"#D0F0E8"},terminator:{fill:"#162824",stroke:"#5AB8A8",text:"#D0EEE6"}}}},$Me=(t="light",e)=>bzt[yzt(e)][t],vzt=(t,e,r)=>{const n=$Me(e,r);return t==="decision"?n.decision:t==="terminator"?n.terminator:n.process},xzt=(t,e,r,n)=>{const i=vzt(t,e,n),a=t==="terminator",s=t==="decision";return{body:{fill:i.fill,stroke:i.stroke,strokeWidth:1.5,rx:a?Math.round(r.height/2):10,ry:a?Math.round(r.height/2):10,...s?{refPoints:"0,10 10,0 20,10 10,20"}:{},style:{filter:e==="dark"?"drop-shadow(0 1px 3px rgba(0, 0, 0, 0.45)) drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3))":"drop-shadow(0 1px 2px rgba(15, 23, 42, 0.06)) drop-shadow(0 2px 5px rgba(15, 23, 42, 0.04))"}},label:{fill:i.text,fontSize:13,fontWeight:a?650:s?600:500,fontFamily:Cq,lineHeight:18}}},wzt=1,Tzt=2,Czt=["plain","brand","cosmos","dune","slate","prism","sunrise","marine","blossom","mint","macaron"],Szt="plain",kzt=["plain","brand","ocean","ink","classic","sky","sunset","violet","rose","sand","slate","aurora","mono","sun","wa","island","mint","cosmos","tea","naive","macaron","paper","dune","prism","sunrise","marine","blossom"],Ezt=["map","line","capsule","box","circle","ellipse","hexagon","logic","tree","brace","org","timeline","fishbone"],Azt=[...Ezt,"rect","diamond","cloud"],Mzt={ocean:"brand",ink:"brand",paper:"brand",classic:"sunrise",sunset:"sunrise",sun:"sunrise",wa:"marine",island:"dune",sand:"dune",tea:"slate",mono:"slate",slate:"slate",sky:"cosmos",cosmos:"cosmos",rose:"blossom",violet:"blossom",aurora:"mint",naive:"prism",mint:"mint",macaron:"macaron"},ite=t=>t&&Czt.includes(t)?t:t?Mzt[t]??"brand":Szt,Rzt=["client","webApp","mobileApp","website","apiClient","service","cpu","gpu","memory","virtualMachine","container","kubernetes","serverless","largeLanguageModel","multimodalModel","embeddingModel","reranker","modelInference","vectorDatabase","ragPipeline","aiAgent","modelGateway","mcpServer","relationalDatabase","noSqlDatabase","cache","dataWarehouse","searchEngine","objectStorage","fileStorage","blockStorage","backup","cdn","messageQueue","eventBus","streamProcessing","webhook","serviceMesh","apiGateway","loadBalancer","dns","vpc","subnet","vpn","identity","firewall","waf","secretManager","certificate","systemBoundary","monitoring","logging","metrics","tracing","alerting","saas","externalApi","thirdPartyService"],Izt="edgeever-diagram-v1",FMe=new RegExp(`\x3C!--\\s*${Izt}:([\\s\\S]*?)\\s*-->`),Lzt=t=>jFt.decode(t),pE=t=>typeof t=="number"&&Number.isFinite(t),Nzt=["mind-map","flowchart","architecture"],Ozt=["topic","process","decision","terminator","client","frontend","service","database","storage","queue","security","external","boundary"],T0e=["dependency","request","async","data"],Dzt=t=>typeof t=="string"&&Rzt.includes(t),Pzt=t=>{if(!t||typeof t!="object"||Array.isArray(t))return null;const e=t;return typeof e.id!="string"||!e.id||typeof e.label!="string"||!pE(e.x)||!pE(e.y)||!pE(e.width)||!pE(e.height)||!Ozt.includes(e.shape)?null:{id:e.id,label:e.label,x:e.x,y:e.y,width:e.width,height:e.height,shape:e.shape,...typeof e.parentId=="string"&&e.parentId?{parentId:e.parentId}:{},...Dzt(e.resourceIcon)?{resourceIcon:e.resourceIcon}:{}}},_zt=t=>{if(!t||typeof t!="object"||Array.isArray(t))return null;const e=t;return typeof e.id!="string"||!e.id||typeof e.source!="string"||typeof e.target!="string"||e.kind!==void 0&&!T0e.includes(e.kind)||e.bidirectional!==void 0&&typeof e.bidirectional!="boolean"?null:{id:e.id,source:e.source,target:e.target,...typeof e.label=="string"&&e.label?{label:e.label}:{},...T0e.includes(e.kind)?{kind:e.kind}:{},...typeof e.bidirectional=="boolean"?{bidirectional:e.bidirectional}:{}}},Bzt=t=>{var r,n;const e=(n=(r=t==null?void 0:t.match(FMe))==null?void 0:r[1])==null?void 0:n.replace(/\s+/g,"");if(!e||!/^[A-Za-z0-9_-]+$/.test(e))return null;try{const i=JSON.parse(Lzt(e));if(!Nzt.includes(i.kind))return null;const a=i.kind==="architecture";if((a?i.schemaVersion!==Tzt:i.schemaVersion!==wzt)||!Array.isArray(i.nodes)||!Array.isArray(i.edges))return null;const s=kzt.includes(i.theme)?i.theme:void 0,o=Azt.includes(i.structure)?i.structure:void 0,l=i.nodes.map(Pzt),u=i.edges.map(_zt);if(l.some(f=>!f)||u.some(f=>!f))return null;const d=new Set(l.map(f=>f.id)),h=new Map(l.map(f=>[f.id,f]));if(d.size!==l.length||l.some(f=>f.parentId&&(f.parentId===f.id||!d.has(f.parentId)))||u.some(f=>!d.has(f.source)||!d.has(f.target)))return null;if(a){if(l.some(f=>f.shape==="topic"||f.shape==="process"||f.shape==="decision"||f.shape==="terminator")||l.some(f=>{var p;return f.parentId&&((p=h.get(f.parentId))==null?void 0:p.shape)!=="boundary"})||u.some(f=>{var p,g;return((p=h.get(f.source))==null?void 0:p.shape)==="boundary"||((g=h.get(f.target))==null?void 0:g.shape)==="boundary"}))return null}else if(l.some(f=>!["topic","process","decision","terminator"].includes(f.shape)))return null;return{schemaVersion:i.schemaVersion,kind:i.kind,...s?{theme:s}:{},...i.kind==="mind-map"&&o?{structure:o}:{},nodes:l,edges:u}}catch{return null}},$zt=t=>(t??"").replace(FMe,"").trimEnd(),Fzt=1e5;Ct({prompt:$e().trim().min(1).max(1e3),locale:$e().trim().min(2).max(35).optional(),currentTemplate:$e().regex(/^[a-z0-9-]+$/).max(120).optional(),currentContent:$e().max(Fzt).default(""),candidates:Tn($e().regex(/^[a-z0-9-]+$/).max(120)).min(1).max(50),history:Tn(Ct({prompt:$e().max(1e3),response:$e().max(2e3)})).max(12).default([])});const zMe={plain:{id:"plain",group:"classic",colors:["#707070","#8A8A8A","#A3A3A3","#BDBDBD","#D4D4D4","#FFFFFF"],accent:"#707070"},brand:{id:"brand",group:"classic",colors:["#16A06E","#059669","#0D9488","#10B981","#047857","#065F46"],accent:"#16A06E"},cosmos:{id:"cosmos",group:"classic",colors:["#2563EB","#0284C7","#4F46E5","#0D9488","#3B82F6","#1D4ED8"],accent:"#2563EB"},dune:{id:"dune",group:"classic",colors:["#C2410C","#D97706","#B45309","#A16207","#78350F","#9A3412"],accent:"#B45309"},slate:{id:"slate",group:"classic",colors:["#475569","#52525B","#4B5563","#334155","#64748B","#1E293B"],accent:"#475569"},prism:{id:"prism",group:"vivid",colors:["#E11D48","#EA580C","#D97706","#059669","#2563EB","#7C3AED"],accent:"#6366F1"},sunrise:{id:"sunrise",group:"vivid",colors:["#E11D48","#F97316","#F59E0B","#D97706","#DC2626","#EA580C"],accent:"#EA580C"},marine:{id:"marine",group:"vivid",colors:["#0284C7","#06B6D4","#0D9488","#2563EB","#0891B2","#1D4ED8"],accent:"#0284C7"},blossom:{id:"blossom",group:"vivid",colors:["#DB2777","#C026D3","#9333EA","#E11D48","#BE185D","#7C3AED"],accent:"#DB2777"},mint:{id:"mint",group:"vivid",colors:["#0D9488","#059669","#10B981","#0891B2","#16A34A","#047857"],accent:"#0D9488"},macaron:{id:"macaron",group:"vivid",colors:["#EC4899","#FB923C","#EAB308","#10B981","#38BDF8","#8B5CF6"],accent:"#EC4899"}},zzt=Object.fromEntries(Object.entries(zMe).map(([t,e])=>[t,{id:e.id,group:e.group,colors:e.colors}])),Sq=t=>{const e=t.replace("#","");return[Number.parseInt(e.slice(0,2),16),Number.parseInt(e.slice(2,4),16),Number.parseInt(e.slice(4,6),16)]},Hzt=(t,e,r)=>`#${[t,e,r].map(n=>Math.round(Math.min(255,Math.max(0,n))).toString(16).padStart(2,"0")).join("")}`,xl=(t,e,r)=>{const n=Sq(t),i=Sq(e);return Hzt(n[0]+(i[0]-n[0])*r,n[1]+(i[1]-n[1])*r,n[2]+(i[2]-n[2])*r)},Vzt=t=>{const e=t/255;return e<=.04045?e/12.92:((e+.055)/1.055)**2.4},HMe=t=>{const[e,r,n]=Sq(t).map(Vzt);return e*.2126+r*.7152+n*.0722},kq=t=>HMe(t)>.35?"#1C1917":"#FFFCF8",Gzt=t=>zzt[ite(t)].colors,Wzt=t=>{const e=ite(t);return e!=="brand"&&e!=="plain"},Eq=(t,e)=>{const r=HMe(t);return e==="dark"?r<.22?xl(t,"#FFFFFF",Math.max(.35,(.3-r)*1.6)):t:r>.26?xl(t,"#18181B",Math.max(.24,(r-.2)*.9)):t},qzt=(t,e)=>Gzt(t).map(n=>{const i=Eq(n,e),a=e==="dark"?xl(n,"#121518",.72):xl(n,"#FFFFFF",.84);return{fill:a,stroke:e==="dark"?xl(i,"#FFFFFF",.15):xl(i,"#1C1917",.12),text:kq(a),edge:i}}),jzt=(t,e)=>{const r=ite(t),n=zMe[r],i=n.accent;if(r==="plain")return e==="dark"?{topicFill:"#F5F5F5",topicText:"#212121",nodeFill:"#1C1C1C",nodeText:"#F4F4F5",nodeStroke:"#3A3A3A",topicStroke:"#F5F5F5",mindMapEdge:"#A3A3A3",flowEdge:"#A3A3A3",canvas:bl}:{topicFill:"#707070",topicText:"#FFFFFF",nodeFill:"#FFFFFF",nodeText:"#212121",nodeStroke:"#D4D4D4",topicStroke:"#707070",mindMapEdge:"#737373",flowEdge:"#737373",canvas:yl};if(r==="brand")return e==="dark"?{topicFill:"#16A06E",topicText:"#F4FFF9",nodeFill:"#18211D",nodeText:"#E8F2ED",nodeStroke:"#3B5248",topicStroke:"#58CDA4",mindMapEdge:"#4DB58B",flowEdge:"#72B99B",canvas:bl}:{topicFill:"#16A06E",topicText:"#FFFFFF",nodeFill:"#F0F8F4",nodeText:"#173B2E",nodeStroke:"#B8DFD0",topicStroke:"#12845B",mindMapEdge:"#55B891",flowEdge:"#408A6D",canvas:yl};if(e==="dark"){const s=Eq(i,"dark");return{topicFill:i,topicText:kq(i),nodeFill:xl(i,"#101418",.78),nodeText:"#E8EEF2",nodeStroke:xl(s,"#FFFFFF",.15),topicStroke:xl(i,"#FFFFFF",.25),mindMapEdge:s,flowEdge:xl(i,"#FFFFFF",.15),canvas:bl}}const a=Eq(i,"light");return{topicFill:i,topicText:kq(i),nodeFill:xl(i,"#FFFFFF",.88),nodeText:xl(n.colors[n.colors.length-1],"#1C1917",.35),nodeStroke:xl(a,"#FFFFFF",.5),topicStroke:xl(i,"#1C1917",.15),mindMapEdge:a,flowEdge:xl(i,"#1C1917",.15),canvas:yl}},ate=t=>Array.from(t).reduce((e,r)=>e+(/[^\u0000-\u00ff]/.test(r)?1:.55),0),Yzt=t=>t==="decision"?{width:176,height:80}:t==="terminator"?{width:140,height:44}:{width:176,height:56},Xzt=13,Kzt=18,C0e=.7,Zzt=(t,e)=>t.split(`
`).flatMap(r=>{const n=[];let i="";for(const a of Array.from(r))i&&ate(i+a)>e&&(n.push(i),i=""),i+=a;return n.push(i),n}),Jzt=(t,e)=>{const r=Yzt(t),n=t==="decision",i=t==="terminator",a=i?36:28,s=r.width,o=Math.max(4,(n?s*C0e:s-a)/Xzt),l=Zzt(e,o),u=Math.max(l.length,1)*Kzt,d=Math.max(r.height,n?Math.ceil(u/(1-C0e)):u+(i?16:18));return{width:s,height:d,text:l.join(`
`)}},VMe="edgeever-mindmap",S0e='Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',Qzt=10,eHt=14,ste=t=>t==="logic"?"logic":t==="brace"?"brace":t==="org"?"org":t==="tree"?"tree":t==="timeline"?"timeline":t==="fishbone"?"fishbone":"map",tHt=t=>{const e=ste(t);return e==="map"||e==="logic"},r3=(t,e)=>t==="root"?!1:e==="line"||e==="brace"?!0:e==="map"||e==="tree"||e==="timeline"||e==="fishbone"||!e?t==="nested":!1,ote=(t,e="primary")=>r3(e,t)?"underline":t==="capsule"?"capsule":t==="ellipse"?"ellipse":t==="circle"?"circle":t==="hexagon"?"hexagon":t==="box"||t==="logic"||t==="org"?"rounded":e==="root"?"capsule":"rounded",rHt=(t,e="primary")=>{const r=ote(t,e);return[r==="ellipse"||r==="circle"?{tagName:"ellipse",selector:"body"}:r==="diamond"||r==="hexagon"?{tagName:"polygon",selector:"body"}:r==="cloud"?{tagName:"path",selector:"body"}:{tagName:"rect",selector:"body"},{tagName:"path",selector:"underline"},{tagName:"text",selector:"label"}]},nHt={light:[{fill:"#E7F6EF",stroke:"#0F8A5C",text:"#145C40",edge:"#16A06E"},{fill:"#E7F0FE",stroke:"#2563EB",text:"#1E3A8A",edge:"#3B82F6"},{fill:"#F3E8FF",stroke:"#7C3AED",text:"#5B21B6",edge:"#8B5CF6"},{fill:"#FEF3C7",stroke:"#D97706",text:"#92400E",edge:"#F59E0B"},{fill:"#FCE7F3",stroke:"#DB2777",text:"#9D174D",edge:"#EC4899"},{fill:"#CFFAFE",stroke:"#0E7490",text:"#155E75",edge:"#06B6D4"}],dark:[{fill:"#1A2A22",stroke:"#4DB58B",text:"#D7F4E8",edge:"#4DB58B"},{fill:"#1A2438",stroke:"#60A5FA",text:"#DBEAFE",edge:"#60A5FA"},{fill:"#251B38",stroke:"#A78BFA",text:"#EDE9FE",edge:"#A78BFA"},{fill:"#2A2114",stroke:"#FBBF24",text:"#FEF3C7",edge:"#FBBF24"},{fill:"#2A1520",stroke:"#F472B6",text:"#FCE7F3",edge:"#F472B6"},{fill:"#15252B",stroke:"#22D3EE",text:"#CFFAFE",edge:"#22D3EE"}]},iHt=(t,e)=>t.split(`
`).flatMap(r=>{const n=[];let i="";for(const a of Array.from(r))i&&ate(i+a)>e&&(n.push(i),i=""),i+=a;return n.push(i),n}),rr=t=>(Math.round(t*100)/100).toFixed(2),aHt=t=>Wzt(t),nM=(t,e)=>{const r=new Map(t.map(a=>[a.id,a])),n=r.get(e);if(!(n!=null&&n.parentId))return"root";const i=r.get(n.parentId);return i!=null&&i.parentId?"nested":"primary"},sHt=(t,e)=>{const r=new Map(t.map(u=>[u.id,u])),n=r.get(e);if(!(n!=null&&n.parentId))return null;let i=n,a=n;const s=new Set;for(;a.parentId&&r.has(a.parentId)&&!s.has(a.id);){s.add(a.id);const u=r.get(a.parentId);if(!u)break;if(!u.parentId){i=a;break}a=u,i=a}const l=t.filter(u=>u.parentId===i.parentId).sort((u,d)=>(u.y??0)-(d.y??0)||(u.x??0)-(d.x??0)||u.id.localeCompare(d.id)).findIndex(u=>u.id===i.id);return l<0?0:l},oHt=(t,e,r)=>{if(t==null)return;const n=r?qzt(r,e):nHt[e];return n[t%n.length]},lHt=(t,e="primary",r)=>{const n=e==="root",i=r3(e,r),a=ote(r,e),s=n?36:i?22:a==="diamond"||a==="hexagon"||a==="circle"?36:28,o=Math.round(Math.min(n?180:a==="circle"?132:168,Math.max(n?124:i?88:a==="circle"?108:96,ate(t)*13+s))),l=n?46:i?32:a==="circle"?Math.max(40,o-24):36;return{width:o,height:l}},cHt=(t,e,r)=>{const n=lHt(t,e,r),i=r3(e,r),a=e==="root"?20:18,s=e==="root"?36:i?22:28,o=iHt(t,Math.max(4,(n.width-s)/13));return{...n,height:Math.max(n.height,o.length*a+(e==="root"?18:i?10:14)),text:o.join(`
`),fontSize:e==="root"?15:e==="primary"?14:13}},uHt=t=>Math.round(Math.max(1,t/2)),dHt=(t,e)=>`M 1 ${rr(Math.max(2,e-2))} H ${rr(Math.max(2,t-1))}`,hHt=(t,e)=>{const r=Math.max(t,12),n=Math.max(e,12);return[`M ${rr(r*.18)} ${rr(n*.62)}`,`Q ${rr(r*.06)} ${rr(n*.6)} ${rr(r*.08)} ${rr(n*.44)}`,`Q ${rr(r*.02)} ${rr(n*.26)} ${rr(r*.22)} ${rr(n*.24)}`,`Q ${rr(r*.3)} ${rr(n*.06)} ${rr(r*.48)} ${rr(n*.14)}`,`Q ${rr(r*.6)} ${rr(n*.02)} ${rr(r*.72)} ${rr(n*.16)}`,`Q ${rr(r*.96)} ${rr(n*.14)} ${rr(r*.92)} ${rr(n*.4)}`,`Q ${rr(r*1.02)} ${rr(n*.56)} ${rr(r*.84)} ${rr(n*.64)}`,`Q ${rr(r*.8)} ${rr(n*.84)} ${rr(r*.58)} ${rr(n*.78)}`,`Q ${rr(r*.42)} ${rr(n*.92)} ${rr(r*.3)} ${rr(n*.76)}`,`Q ${rr(r*.12)} ${rr(n*.82)} ${rr(r*.18)} ${rr(n*.62)}`,"Z"].join(" ")},fHt=(t,e,r,n)=>t==="ellipse"||t==="circle"?{refCx:"50%",refCy:"50%",refRx:"50%",refRy:"50%"}:t==="diamond"?{refPoints:"5,0 10,5 5,10 0,5"}:t==="hexagon"?{refPoints:"2.5,0 7.5,0 10,5 7.5,10 2.5,10 0,5"}:t==="cloud"?{d:hHt(e,r)}:{rx:n,ry:n},pHt=(t,e,r={})=>{const n=r.underline??r3(t,r.structure),i=r.width??96,a=r.height??(t==="root"?46:n?32:36),s=r.tint,o=ote(r.structure,t);if(n){const d=(s==null?void 0:s.edge)??e.mindMapEdge;return{body:{fill:"transparent",stroke:"none",strokeWidth:0,rx:0,ry:0},label:{fill:(s==null?void 0:s.text)??e.nodeText,fontSize:t==="primary"?14:13,fontWeight:t==="primary"?650:500,fontFamily:S0e,lineHeight:18,refX:"50%",refY:a-6,textAnchor:"middle",textVerticalAnchor:"bottom"},underline:{d:dHt(i,a),stroke:d,strokeWidth:1.8,fill:"none",strokeLinecap:"round",pointerEvents:"none"}}}const l=t==="root",u=o==="capsule"||l&&o==="rounded"?uHt(a):o==="rect"?2:l?12:t==="nested"?8:10;return{body:{fill:l?e.topicFill:(s==null?void 0:s.fill)??(t==="nested"?e.canvas:e.nodeFill),stroke:l?e.topicStroke:(s==null?void 0:s.stroke)??(t==="nested"?e.nodeStroke:e.topicStroke),strokeWidth:t==="nested"&&!l?1:1.5,...fHt(o,i,a,u)},label:{fill:l?e.topicText:(s==null?void 0:s.text)??e.nodeText,fontSize:l?15:t==="primary"?14:13,fontWeight:l||t==="primary"?650:500,fontFamily:S0e,lineHeight:l?20:18,refY:"50%",textAnchor:"middle",textVerticalAnchor:"middle"},underline:{d:"",stroke:"none",fill:"none"}}},k0e=(t,e,r,n,i,a,s)=>{const o=nM(t,e),l=r3(o,s),u=aHt(n)?oHt(sHt(t,e),i,n):void 0;return{role:o,underline:l,tint:u,visual:pHt(o,r,{tint:u,underline:l,structure:s,width:a.width,height:a.height})}},gHt=(t,e,r)=>{const n=(r==null?void 0:r.edge)??e.mindMapEdge;return t==="root"?{stroke:n,sourceWidth:3.1,targetWidth:1.55}:t==="primary"?{stroke:n,sourceWidth:1.85,targetWidth:1.15}:{stroke:n,sourceWidth:1.25,targetWidth:.9}},mHt=(t,e,r)=>{const n=ste(r),i=t.x+t.width/2,a=e.x+e.width/2,s=t.y+t.height/2,o=e.y+e.height/2;return n==="org"?{source:"bottom",target:"top"}:n==="fishbone"?a<i-8?{source:"left",target:"right"}:o<s-8?{source:"top",target:"bottom"}:o>s+8?{source:"bottom",target:"top"}:{source:"left",target:"right"}:n==="timeline"?o<s-8?{source:a>=i?"right":"left",target:"bottom"}:o>s+8?{source:a>=i?"right":"left",target:"top"}:a>=i?{source:"right",target:"left"}:{source:"left",target:"right"}:a>=i?{source:"right",target:"left"}:{source:"left",target:"right"}},E0e=(t,e,r,n)=>{const i=r3(e,n),a=i&&(r==="left"||r==="right")?t.height/2-2:0;return{anchor:{name:r,...a?{args:{dy:a}}:{}},connectionPoint:{name:i?"anchor":"boundary"}}},UHt=(t,e)=>{const r=t.filter(i=>i.parentId===e);if(r.length===0)return null;const n=r.map(i=>i.y+i.height/2);return{top:Math.min(...n),bottom:Math.max(...n)}},A0e=(t,e)=>tHt(t)?{fill:e,strokeWidth:.5,strokeLinejoin:"round",strokeLinecap:"round"}:{fill:"none",strokeWidth:1.7,strokeLinejoin:"round",strokeLinecap:"round"},yHt=(t,e,r,n,i)=>{const a=1-i;return{x:a*a*a*t.x+3*a*a*i*e.x+3*a*i*i*r.x+i*i*i*n.x,y:a*a*a*t.y+3*a*a*i*e.y+3*a*i*i*r.y+i*i*i*n.y}},bHt=(t,e,r,n,i)=>{const a=1-i;return{x:3*a*a*(e.x-t.x)+6*a*i*(r.x-e.x)+3*i*i*(n.x-r.x),y:3*a*a*(e.y-t.y)+6*a*i*(r.y-e.y)+3*i*i*(n.y-r.y)}},vHt=(t,e,r=2.4,n=1.15)=>{const i=e.x-t.x,a=e.y-t.y;if(Math.abs(i)<.01&&Math.abs(a)<.01)return`M ${rr(t.x)} ${rr(t.y)} L ${rr(e.x)} ${rr(e.y)}`;const s=(t.x+e.x)/2,o=t,l={x:s,y:t.y},u={x:s,y:e.y},d=e,h=20,f=[],p=[];for(let U=0;U<=h;U+=1){const y=U/h,b=yHt(o,l,u,d,y),v=bHt(o,l,u,d,y),w=Math.hypot(v.x,v.y)||1,T=((1-y)*r+y*n)/2,S=-v.y/w,C=v.x/w;f.push({x:b.x+S*T,y:b.y+C*T}),p.push({x:b.x-S*T,y:b.y-C*T})}const g=f[0],m=[`M ${rr(g.x)} ${rr(g.y)}`];for(let U=1;U<f.length;U+=1)m.push(`L ${rr(f[U].x)} ${rr(f[U].y)}`);for(let U=p.length-1;U>=0;U-=1)m.push(`L ${rr(p[U].x)} ${rr(p[U].y)}`);return m.push("Z"),m.join(" ")},xHt=t=>`${rr(t.x)} ${rr(t.y)}`,Zh=t=>t.map((e,r)=>`${r===0?"M":"L"} ${xHt(e)}`).join(" "),wHt=(t,e,r)=>{if(Math.abs(t.x-e.x)<.8||Math.abs(t.y-e.y)<.8)return Zh([t,e]);const n={x:t.x,y:(t.y+e.y)/2},i={x:e.x,y:n.y};return Zh([t,n,i,e])},THt=(t,e)=>{const r=t.x+Math.max(10,Math.min(28,Math.abs(e.x-t.x)*.38));return Math.abs(t.y-e.y)<.8?Zh([t,e]):Zh([t,{x:r,y:t.y},{x:r,y:e.y},e])},CHt=(t,e,r,n)=>{const i=Math.min(r??t.y,n??t.y,t.y,e.y),a=Math.max(r??t.y,n??t.y,t.y,e.y),s=Math.max(18,a-i),o=(i+a)/2-s/2,l=o+s,u=(o+l)/2,d=9,h=t.x+Math.max(18,Math.min(36,Math.abs(e.x-t.x)*.42));return[Zh([t,{x:h-d,y:t.y}]),`M ${rr(h-d)} ${rr(o)}`,`C ${rr(h)} ${rr(o)} ${rr(h)} ${rr(o)} ${rr(h)} ${rr((o+u)/2)}`,`C ${rr(h)} ${rr(u)} ${rr(h+d)} ${rr(u)} ${rr(h+d)} ${rr(u)}`,`C ${rr(h)} ${rr(u)} ${rr(h)} ${rr(u)} ${rr(h)} ${rr((u+l)/2)}`,`C ${rr(h)} ${rr(l)} ${rr(h)} ${rr(l)} ${rr(h-d)} ${rr(l)}`,Zh([{x:h,y:e.y},e])].join(" ")},SHt=(t,e)=>Math.abs(t.x-e.x)<.8||Math.abs(t.y-e.y)<.8?Zh([t,e]):Zh([t,{x:e.x,y:t.y},e]),kHt=(t,e)=>{if(Math.abs(t.y-e.y)<.8||Math.abs(t.x-e.x)<.8)return Zh([t,e]);const r=Math.abs(e.y-t.y),n=t.x>=e.x?1:-1,i=e.x+n*Math.max(18,r/Math.sqrt(3)),a={x:n>0?Math.min(t.x,i):Math.max(t.x,i),y:t.y};return Zh([t,a,e])},EHt=(t,e,r,n={})=>{const i=ste(n.structure);return i==="org"?wHt(t,e):i==="tree"?THt(t,e):i==="brace"?CHt(t,e,n.braceTop,n.braceBottom):i==="timeline"?SHt(t,e):i==="fishbone"?kHt(t,e):vHt(t,e,n.sourceWidth,n.targetWidth)},AHt=(t,e="light")=>jzt(t,e),MHt=(t,e)=>{const r=AHt(t.kind==="architecture"?t.theme??"brand":t.theme,e),n=t.kind==="flowchart"?$Me(e,t.theme):null,i=t.kind==="architecture"?iP(e):null,a=t.nodes.map(d=>{const h=t.kind==="mind-map"?nM(t.nodes,d.id):null,f=t.kind==="flowchart"?Jzt(d.shape,d.label):h?cHt(d.label,h,t.structure):{width:d.width,height:d.height,text:d.label},p=h?k0e(t.nodes,d.id,r,t.theme,e,f,t.structure):null,g=(p==null?void 0:p.visual)??null,m=t.kind==="flowchart"?xzt(d.shape,e,f,t.theme):null,U=t.kind==="architecture"?lzt(d.shape,e,f,d.resourceIcon):null,y=d.shape==="topic"&&!d.parentId,b=d.shape==="terminator",v=d.shape==="boundary",w=y||b,T=g?g.body.fill:m?m.body.fill:U?U.body.fill:w?r.topicFill:r.nodeFill,S=g?g.body.stroke:m?m.body.stroke:U?U.body.stroke:w?r.topicStroke:r.nodeStroke;return{id:d.id,shape:d.shape==="decision"?"polygon":"rect",x:d.x,y:d.y,width:f.width,height:f.height,zIndex:v?0:2,...U?{markup:U.markup}:h?{markup:rHt(t.structure,h)}:{},attrs:{body:{strokeDasharray:(U==null?void 0:U.body.strokeDasharray)??(v?"7 5":void 0),...(g==null?void 0:g.body)??(m==null?void 0:m.body)??(U==null?void 0:U.body)??{rx:b?24:11,ry:b?24:11},fill:T,stroke:S,strokeWidth:(g==null?void 0:g.body.strokeWidth)??(m==null?void 0:m.body.strokeWidth)??(U==null?void 0:U.body.strokeWidth)??1,...d.shape==="decision"?{refPoints:"0,10 10,0 20,10 10,20"}:{}},label:{text:f.text,lineHeight:(g==null?void 0:g.label.lineHeight)??(m==null?void 0:m.label.lineHeight)??(U==null?void 0:U.label.lineHeight)??(h==="root"?20:18),fill:(g==null?void 0:g.label.fill)??(m==null?void 0:m.label.fill)??(U==null?void 0:U.label.fill)??(w?r.topicText:r.nodeText),fontSize:(g==null?void 0:g.label.fontSize)??(m==null?void 0:m.label.fontSize)??(U==null?void 0:U.label.fontSize)??(d.shape==="topic"?14:13),fontWeight:(g==null?void 0:g.label.fontWeight)??(m==null?void 0:m.label.fontWeight)??(U==null?void 0:U.label.fontWeight)??(w?650:500),fontFamily:(g==null?void 0:g.label.fontFamily)??(m==null?void 0:m.label.fontFamily)??(U==null?void 0:U.label.fontFamily)??Cq,...g?{refX:g.label.refX,refY:g.label.refY,textAnchor:g.label.textAnchor,textVerticalAnchor:g.label.textVerticalAnchor}:{},...U?{refX:U.label.refX,refY:U.label.refY,textAnchor:U.label.textAnchor,textVerticalAnchor:U.label.textVerticalAnchor}:{}},...g?{underline:g.underline}:{},...U==null?void 0:U.attrs}}}),s=new Map(a.map(d=>[d.id,d])),o=t.nodes.filter(d=>d.shape==="boundary").map(d=>d.id),l=t.kind==="architecture"?tzt(t.nodes.filter(d=>d.shape!=="boundary"),t.edges):null,u=t.edges.map(d=>{const h=d.kind??(t.kind==="architecture"?"dependency":void 0),f=s.get(d.source),p=s.get(d.target),g=t.kind==="mind-map"?nM(t.nodes,d.source):null,m=t.kind==="mind-map"?nM(t.nodes,d.target):null,U=t.kind==="mind-map"?k0e(t.nodes,d.target,r,t.theme,e,{width:96,height:36},t.structure).tint:void 0,y=g?gHt(g,r,U):null,b=f&&p?mHt(f,p,t.structure):{source:"right",target:"left"},v=f&&g?E0e(f,g,b.source,t.structure):null,w=p&&m?E0e(p,m,b.target,t.structure):null,T=t.kind==="mind-map"&&t.structure==="brace"?UHt(t.nodes,d.source):null,S=t.kind==="architecture"?czt(h,e,d.bidirectional):null,C=(S==null?void 0:S.stroke)??(y==null?void 0:y.stroke)??(n==null?void 0:n.edge)??r.flowEdge,k=f&&p?t.kind==="architecture"?PMe(f,p):t.kind==="flowchart"?fzt(f,p):null:null,E=t.kind==="flowchart"&&!!(k&&f&&p&&pzt(f,p)),A=l==null?void 0:l.get(d.id);return{id:d.id,source:t.kind==="mind-map"?{cell:d.source,...v??{anchor:{name:b.source}}}:A?{cell:d.source,anchor:x0e(A.source)}:k?{cell:d.source,port:k.source}:{cell:d.source},target:t.kind==="mind-map"?{cell:d.target,...w??{anchor:{name:b.target}}}:A?{cell:d.target,anchor:x0e(A.target)}:k?{cell:d.target,port:k.target}:{cell:d.target},router:t.kind==="architecture"?ezt(d.source,d.target,o,k??void 0):t.kind==="flowchart"?E?{name:"normal"}:hzt:void 0,connector:t.kind==="mind-map"?{name:VMe,args:{sourceWidth:y==null?void 0:y.sourceWidth,targetWidth:y==null?void 0:y.targetWidth,structure:t.structure,...T?{braceTop:T.top,braceBottom:T.bottom}:{}}}:{name:"rounded",args:{radius:10}},attrs:{line:{...y?A0e(t.structure,C):{fill:"none"},stroke:C,strokeWidth:(S==null?void 0:S.strokeWidth)??(y?A0e(t.structure,C).strokeWidth:1.5),strokeDasharray:S==null?void 0:S.strokeDasharray,sourceMarker:S?S.sourceMarker:d.bidirectional?{name:"block",width:7,height:5}:null,targetMarker:t.kind==="mind-map"?null:(S==null?void 0:S.targetMarker)??{name:"block",width:7,height:5}}},labels:d.label?[{attrs:{label:{text:d.label,fill:t.kind==="architecture"?e==="dark"?"#E2E8F0":"#334155":t.kind==="flowchart"?e==="dark"?"#E2E8F0":"#475569":(n==null?void 0:n.process.text)??(i==null?void 0:i.nodes.service.text)??r.nodeText,fontSize:t.kind==="architecture"?ZFt:t.kind==="flowchart"?uzt:Qzt,fontWeight:t.kind==="architecture"||t.kind==="flowchart"?500:400,lineHeight:t.kind==="architecture"?JFt:t.kind==="flowchart"?dzt:eHt,fontFamily:t.kind==="architecture"?DMe:Cq,textWrap:{width:140,height:512}},body:{ref:"label",refWidth:1,refHeight:1,refWidth2:t.kind==="architecture"||t.kind==="flowchart"?14:12,refHeight2:6,refX:t.kind==="architecture"||t.kind==="flowchart"?-7:-6,refY:-3,fill:t.kind==="architecture"?e==="dark"?"rgba(15, 23, 42, 0.92)":"rgba(255, 255, 255, 0.96)":t.kind==="flowchart"?e==="dark"?"rgba(24, 28, 34, 0.94)":"rgba(255, 255, 255, 0.95)":(n==null?void 0:n.canvas)??(i==null?void 0:i.canvas)??r.canvas,stroke:t.kind==="architecture"?(S==null?void 0:S.stroke)??(e==="dark"?"rgba(148, 163, 184, 0.3)":"rgba(203, 213, 225, 0.8)"):t.kind==="flowchart"?e==="dark"?"rgba(148, 163, 184, 0.28)":"rgba(100, 116, 139, 0.24)":(n==null?void 0:n.process.stroke)??(i==null?void 0:i.nodes.service.stroke)??r.nodeStroke,strokeWidth:1,rx:6,ry:6,...t.kind==="architecture"||t.kind==="flowchart"?{style:{filter:"drop-shadow(0 1px 2px rgba(0,0,0,0.06))"}}:{}}}}]:void 0}});return{canvas:(n==null?void 0:n.canvas)??(i==null?void 0:i.canvas)??r.canvas,edges:u,nodes:a}};Ct({system:$e().max(8e3),prompt:$e().min(1).max(9e4),maxOutputTokens:Qt().int().min(1).optional()}).strict();Ct({url:$e().min(1).max(8192),method:nn(["GET","HEAD"]).default("GET"),headers:nP($e().max(100),$e().max(2e3)).default({})}).strict();const RHt=(t,e)=>{const r=n=>{if(n.ctrlKey||n.metaKey||n.altKey)return;const i=n.target;if(typeof Element<"u"&&i instanceof Element&&i.closest('input, textarea, select, [contenteditable="true"]'))return;const a=n.deltaMode===1?16:n.deltaMode===2?Math.max(1,t.clientHeight):1,s=(n.shiftKey&&n.deltaX===0?n.deltaY:n.deltaX)*a,o=(n.shiftKey&&n.deltaX===0?0:n.deltaY)*a;if(!s&&!o)return;n.preventDefault(),n.stopPropagation();const l=e.translate();e.translate(l.tx-s,l.ty-o)};return t.addEventListener("wheel",r,{capture:!0,passive:!1}),()=>t.removeEventListener("wheel",r,{capture:!0})},IHt=gzt,LHt=2.5,NHt=28,OHt=(t,e=IHt)=>t+1e-6>=e?"fit":"read",DHt=t=>{if(t.nodes.length){if(t.kind==="flowchart"){const e=new Set(t.edges.map(r=>r.target));return t.nodes.find(r=>!e.has(r.id))??t.nodes[0]}if(t.kind==="architecture"){const e=t.nodes.filter(r=>r.shape!=="boundary");return[...e.length?e:t.nodes].sort((r,n)=>r.x-n.x||r.y-n.y||r.id.localeCompare(n.id))[0]}return t.nodes.find(e=>!e.parentId)??t.nodes[0]}},PHt=(t,e,r,n=1)=>{const i=t.x+t.width/2,a=r==="flowchart"?t.y:t.y+t.height/2;return{tx:e.width/2-i*n,ty:(r==="flowchart"?32:e.height/2)-a*n}},_Ht=(t,e,r,n=.1,i=LHt)=>e<8?t:Math.min(i,Math.max(n,t*(r/e))),M0e=(t,e)=>Math.hypot(t.clientX-e.clientX,t.clientY-e.clientY),BHt=(t,e,r)=>({x:(t.clientX+e.clientX)/2-r.left,y:(t.clientY+e.clientY)/2-r.top}),$Ht=(t,e,r,n,i)=>{const a=RHt(e,t),s=e.parentElement;s==null||s.classList.add("edgeever-diagram-reader-host");const o=()=>{t.zoomToFit({maxScale:1,padding:NHt}),t.centerContent()},l=(b,v=1)=>{t.zoomTo(v);const w=PHt(b,{width:U,height:y},r.kind,v);t.translate(w.tx,w.ty)},u=()=>{const b=DHt(r);b&&l(b,1)},d=()=>{e.dataset.scale=`${Math.round(t.scale().sx*100)}`};t.on("scale",d);const h=b=>{var w,T;const v=(T=(w=b==null?void 0:b.node)==null?void 0:w.getBBox)==null?void 0:T.call(w);v&&l(v,Math.max(1,t.scale().sx))};t.on("node:click",h);let f=null;const p=b=>{var v;b.touches.length===2&&(f={distance:M0e(b.touches[0],b.touches[1]),scale:t.scale().sx},(v=t.disablePanning)==null||v.call(t))},g=b=>{if(!f||b.touches.length!==2)return;b.preventDefault(),b.stopPropagation();const v=_Ht(f.scale,f.distance,M0e(b.touches[0],b.touches[1]));t.zoomTo(v,{center:BHt(b.touches[0],b.touches[1],e.getBoundingClientRect())})},m=b=>{var v;b.touches.length<2&&(f=null,(v=t.enablePanning)==null||v.call(t))};e.addEventListener("touchstart",p,{passive:!0}),e.addEventListener("touchmove",g,{capture:!0,passive:!1}),e.addEventListener("touchend",m),e.addEventListener("touchcancel",m);let U=0,y=0;return{resize(b,v){if(b===U&&v===y)return;const w=U===0,T=t.translate(),S=(b-U)/2,C=(v-y)/2,k=w||y<80&&v>=160;U=b,y=v,t.resize(U,y),k?(o(),OHt(t.scale().sx)==="read"&&u()):t.translate(T.tx+S,T.ty+C),d()},dispose(){var b;a(),t.off("scale",d),t.off("node:click",h),e.removeEventListener("touchstart",p),e.removeEventListener("touchmove",g,!0),e.removeEventListener("touchend",m),e.removeEventListener("touchcancel",m),(b=t.enablePanning)==null||b.call(t),s==null||s.classList.remove("edgeever-diagram-reader-host"),delete e.dataset.scale}}},t4=$e().regex(/^#[0-9a-f]{6}$/i),GMe=Ct({kind:nn(["linear","radial"]),from:t4,to:t4,angle:Qt().finite().min(-360).max(360).default(90)}),n3=$e().max(80).regex(/^(?:#[0-9a-f]{3,8}|rgba?\([\d.,\s]+\)|transparent)$/i),FHt=Ct({color:n3,blur:Qt().min(0).max(300),offsetX:Qt().min(-300).max(300),offsetY:Qt().min(-300).max(300)}),_T=$e().min(1).max(160).regex(/^[\w-]+$/),zHt=Tn(Ct({offset:Qt().min(0).max(1),color:n3,opacity:Qt().min(0).max(1).optional()})).min(2).max(16),WMe=Ct({kind:nn(["linear","radial"]),from:t4,to:t4,angle:Qt().finite().default(90),stops:zHt.optional(),coords:Ct({x1:Qt().finite(),y1:Qt().finite(),x2:Qt().finite(),y2:Qt().finite(),r1:Qt().finite().optional(),r2:Qt().finite().optional()}).optional()}),aP={id:_T,name:$e().max(120),role:nn(["title","subtitle","badge","decor"]).optional(),visible:cn().optional(),imagePlaceholder:cn().optional(),flipX:cn().optional(),flipY:cn().optional(),stroke:n3.optional(),strokeWidth:Qt().min(0).max(1024).optional(),shadow:FHt.optional(),gradient:WMe.optional(),groupId:_T.optional(),x:Qt().finite().min(-8192).max(8192),y:Qt().finite().min(-8192).max(8192),width:Qt().finite().min(1).max(8192),height:Qt().finite().min(1).max(8192),rotation:Qt().finite().min(-360).max(360).default(0),opacity:Qt().min(0).max(1).default(1),locked:cn().optional()},HHt=Ct({...aP,type:Wn("text"),text:$e().max(8e3),fill:n3,fontSize:Qt().min(4).max(8192),fontFamily:$e().min(1).max(100).regex(/^[\w\s\-\u3400-\u9fff]+$/),fontStyle:nn(["normal","italic"]).optional(),underline:cn().optional(),lineHeight:Qt().min(.5).max(3).optional(),charSpacing:Qt().min(-300).max(1e3).optional(),sourceText:$e().max(8e3).optional(),badge:Ct({background:t4,padX:Qt().min(0).max(3),padY:Qt().min(0).max(3),radius:Qt().min(0).max(1)}).optional(),fontWeight:nn(["normal","bold"]),textAlign:nn(["left","center","right"])}),VHt=Ct({...aP,type:nn(["rect","ellipse"]),fill:n3,radius:Qt().min(0).max(4096).optional()}),GHt=Ct({...aP,type:Wn("image"),resourceId:_T,crop:Ct({x:Qt().min(0).max(1),y:Qt().min(0).max(1),width:Qt().min(.01).max(1),height:Qt().min(.01).max(1)}).optional()}),WHt=Ct({...aP,type:Wn("path"),fill:n3,path:$e().min(1).max(1e5).regex(/^[MmLlHhVvCcSsQqTtAaZz\d\s,.eE+-]+$/)}),X9=Eg([HHt,VHt,GHt,WHt]);Ct({schemaVersion:Wn(1),width:Qt().int().min(320).max(4096),height:Qt().int().min(320).max(4096),background:t4,backgroundGradient:GMe.optional(),elements:Tn(X9).max(500),copy:Ct({title:$e().max(8e3),subtitle:$e().max(8e3),badge:$e().max(8e3)}).optional(),templateId:$e().max(80).optional(),platformId:$e().max(80).optional(),sourceMemoId:_T.optional(),previewResourceId:_T.optional()}).superRefine((t,e)=>{new Set(t.elements.map(r=>r.id)).size!==t.elements.length&&e.addIssue({code:"custom",message:"Element IDs must be unique"})});const qMe=["editorial","bold","quote","minimal"];IC.map(t=>({family:Td[t].posterFamily,zh:Td[t].zh,en:Td[t].en}));Ct({notebookId:$e().min(1),title:$e().min(1).max(160),heading:$e().trim().min(1).max(80),subtitle:$e().max(240).default(""),template:nn(qMe).default("editorial"),format:nn(["portrait","square","wechat","video","story"]).default("portrait"),badge:$e().trim().max(24).default(""),footer:$e().trim().max(100).default(""),layout:nn(["auto","grid","list"]).default("auto"),sections:Tn(Ct({heading:$e().trim().min(1).max(32),body:$e().trim().min(1).max(120)}).strict()).min(2).max(6).optional(),tags:Tn($e()).max(100).optional()}).strict();const qHt=Ct({name:$e().max(120).optional(),role:nn(["title","subtitle","badge","decor"]).optional(),visible:cn().optional(),flipX:cn().optional(),flipY:cn().optional(),stroke:$e().max(80).regex(/^(?:#[0-9a-f]{3,8}|rgba?\([\d.,\s]+\)|transparent)$/i).optional(),strokeWidth:Qt().min(0).max(1024).optional(),shadow:Ct({color:$e().max(80).regex(/^(?:#[0-9a-f]{3,8}|rgba?\([\d.,\s]+\)|transparent)$/i),blur:Qt().min(0).max(300),offsetX:Qt().min(-300).max(300),offsetY:Qt().min(-300).max(300)}).strict().nullable().optional(),gradient:WMe.nullable().optional(),fontFamily:$e().min(1).max(100).regex(/^[\w\s\-\u3400-\u9fff]+$/).optional(),fontStyle:nn(["normal","italic"]).optional(),underline:cn().optional(),lineHeight:Qt().min(.5).max(3).optional(),charSpacing:Qt().min(-300).max(1e3).optional(),badge:Ct({background:$e().regex(/^#[0-9a-f]{6}$/i),padX:Qt().min(0).max(3),padY:Qt().min(0).max(3),radius:Qt().min(0).max(1)}).strict().nullable().optional(),radius:Qt().min(0).max(4096).optional(),resourceId:$e().min(1).max(160).regex(/^[\w-]+$/).optional(),crop:Ct({x:Qt().min(0).max(1),y:Qt().min(0).max(1),width:Qt().min(.01).max(1),height:Qt().min(.01).max(1)}).strict().refine(t=>t.x+t.width<=1&&t.y+t.height<=1).nullable().optional(),path:$e().min(1).max(1e5).regex(/^[MmLlHhVvCcSsQqTtAaZz\d\s,.eE+-]+$/).optional(),text:$e().max(8e3).optional(),fill:$e().regex(/^#[0-9a-f]{6}$/i).optional(),fontSize:Qt().finite().min(4).max(8192).optional(),fontWeight:nn(["normal","bold"]).optional(),textAlign:nn(["left","center","right"]).optional(),x:Qt().finite().min(-8192).max(8192).optional(),y:Qt().finite().min(-8192).max(8192).optional(),width:Qt().finite().min(1).max(8192).optional(),height:Qt().finite().min(1).max(8192).optional(),rotation:Qt().finite().min(-360).max(360).optional(),opacity:Qt().finite().min(0).max(1).optional()}).strict().refine(t=>Object.keys(t).length>0),jHt=qHt,tm=Tn($e().min(1)).min(1).max(100).refine(t=>new Set(t).size===t.length),YHt=Zee("op",[Ct({op:Wn("add"),element:Eg([X9.options[0].strict(),X9.options[1].strict(),X9.options[2].strict(),X9.options[3].strict()])}).strict(),Ct({op:Wn("remove"),ids:tm}).strict(),Ct({op:Wn("duplicate"),ids:tm,dx:Qt().min(-8192).max(8192).default(24),dy:Qt().min(-8192).max(8192).default(24)}).strict(),Ct({op:Wn("reorder"),ids:tm,position:nn(["front","back","forward","backward"])}).strict(),Ct({op:Wn("group"),ids:tm}).strict(),Ct({op:Wn("ungroup"),ids:tm}).strict(),Ct({op:Wn("align"),ids:tm,alignment:nn(["left","center","right","top","middle","bottom"])}).strict(),Ct({op:Wn("lock"),ids:tm,locked:cn()}).strict(),Ct({op:Wn("apply_template"),template:nn(qMe),heading:$e().min(1).max(80).optional(),subtitle:$e().max(240).optional()}).strict()]);Ct({memoId:$e().min(1),expectedRevision:Qt().int().nonnegative(),dryRun:cn().optional(),background:$e().regex(/^#[0-9a-f]{6}$/i).optional(),backgroundGradient:GMe.nullable().optional(),canvas:Ct({width:Qt().int().min(320).max(4096),height:Qt().int().min(320).max(4096),scaleElements:cn().default(!0)}).strict().optional(),platform:$e().min(1).max(80).optional(),operations:Tn(YHt).min(1).max(100).optional(),edits:Tn(Ct({id:$e().min(1),patch:jHt}).strict()).max(100).optional()}).strict().refine(t=>{var e,r;return!!((e=t.edits)!=null&&e.length||t.background||t.backgroundGradient!==void 0||t.canvas||t.platform||(r=t.operations)!=null&&r.length)});const R0e=t=>{try{const e=t.state;t.view.updateState(vd.create({doc:e.doc,plugins:e.plugins,schema:e.schema,selection:e.selection})),t.view.dispatch(t.state.tr.setMeta("addToHistory",!1).setMeta("preventUpdate",!0))}catch{try{const e=t.state;t.view.updateState(vd.create({doc:e.doc,plugins:e.plugins,schema:e.schema}))}catch{}}};let Yt=class jMe extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var d;a+15<o.length?d=o.slice(a,a+15)+"…":d=o.slice(a),n+=u+l+d}super(n),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,jMe.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=e}};var XHt=/([A-Z])/g,KHt=t=>t.replace(XHt,"-$1").toLowerCase(),ZHt={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},JHt=/[&><"']/g,Jo=t=>String(t).replace(JHt,e=>ZHt[e]),iM=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?iM(t.body[0]):t:t.type==="font"?iM(t.body):t,QHt=new Set(["mathord","textord","atom"]),lp=t=>QHt.has(iM(t).type),eVt=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},Aq={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 <type>"},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 <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:t=>"#"+t},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),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:t=>Math.max(0,t),cli:"--min-rule-thickness <size>",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:t=>Math.max(0,t),cli:"-s, --max-size <n>",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:t=>Math.max(0,t),cli:"-e, --max-expand <n>",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function tVt(t){if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function rVt(t){if(Object.prototype.hasOwnProperty.call(t,"default")&&t.default!==void 0)return t.default;var e=Array.isArray(t.type)?t.type[0]:t.type;return tVt(e)}function nVt(t,e,r,n){var i=Object.prototype.hasOwnProperty.call(r,e)?r[e]:void 0,a=Object.prototype.hasOwnProperty.call(n,"processor")?n.processor:void 0;t[e]=i!==void 0?a?a(i):i:rVt(n)}let lte=class{constructor(e){e===void 0&&(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 r of Object.keys(Aq)){var n=Aq[r];n&&nVt(this,r,e,n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new Yt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=eVt(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}},Lp=class{constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return Sh[iVt[this.id]]}sub(){return Sh[aVt[this.id]]}fracNum(){return Sh[sVt[this.id]]}fracDen(){return Sh[oVt[this.id]]}cramp(){return Sh[lVt[this.id]]}text(){return Sh[cVt[this.id]]}isTight(){return this.size>=2}};var cte=0,ML=1,mb=2,C0=3,BT=4,Ou=5,r4=6,Ol=7,Sh=[new Lp(cte,0,!1),new Lp(ML,0,!0),new Lp(mb,1,!1),new Lp(C0,1,!0),new Lp(BT,2,!1),new Lp(Ou,2,!0),new Lp(r4,3,!1),new Lp(Ol,3,!0)],iVt=[BT,Ou,BT,Ou,r4,Ol,r4,Ol],aVt=[Ou,Ou,Ou,Ou,Ol,Ol,Ol,Ol],sVt=[mb,C0,BT,Ou,r4,Ol,r4,Ol],oVt=[C0,C0,Ou,Ou,Ol,Ol,Ol,Ol],lVt=[ML,ML,C0,C0,Ou,Ou,Ol,Ol],cVt=[cte,ML,mb,C0,mb,C0,mb,C0],fn={DISPLAY:Sh[cte],TEXT:Sh[mb],SCRIPT:Sh[BT],SCRIPTSCRIPT:Sh[r4]},Mq=[{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 uVt(t){for(var e=0;e<Mq.length;e++)for(var r=Mq[e],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(t>=i[0]&&t<=i[1])return r.name}return null}var aM=[];Mq.forEach(t=>t.blocks.forEach(e=>aM.push(...e)));function YMe(t){for(var e=0;e<aM.length;e+=2)if(t>=aM[e]&&t<=aM[e+1])return!0;return!1}var Ts=t=>t+" "+t,Sy=80,dVt=function(e,r){return"M95,"+(622+e+r)+`
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)+" "+r+"h400000v"+(40+e)+"h-400000z"},hVt=function(e,r){return"M263,"+(601+e+r)+`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)+" "+r+"h400000v"+(40+e)+"h-400000z"},fVt=function(e,r){return"M983 "+(10+e+r)+`
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)+" "+r+"h400000v"+(40+e)+"h-400000z"},pVt=function(e,r){return"M424,"+(2398+e+r)+`
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)+" "+r+`
h400000v`+(40+e)+"h-400000z"},gVt=function(e,r){return"M473,"+(2713+e+r)+`
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)+" "+r+"h400000v"+(40+e)+"H1017.7z"},mVt=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},UVt=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+`
H742v`+i+`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 `+r+"H400000v"+(40+e)+"H742z"},yVt=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=dVt(r,Sy);break;case"sqrtSize1":i=hVt(r,Sy);break;case"sqrtSize2":i=fVt(r,Sy);break;case"sqrtSize3":i=pVt(r,Sy);break;case"sqrtSize4":i=gVt(r,Sy);break;case"sqrtTall":i=UVt(r,Sy,n)}return i},bVt=function(e,r){switch(e){case"⎜":return Ts("M291 0 H417 V"+r+" H291z");case"∣":return Ts("M145 0 H188 V"+r+" H145z");case"∥":return Ts("M145 0 H188 V"+r+" H145z")+Ts("M367 0 H410 V"+r+" H367z");case"⎟":return Ts("M457 0 H583 V"+r+" H457z");case"⎢":return Ts("M319 0 H403 V"+r+" H319z");case"⎥":return Ts("M263 0 H347 V"+r+" H263z");case"⎪":return Ts("M384 0 H504 V"+r+" H384z");case"⏐":return Ts("M312 0 H355 V"+r+" H312z");case"‖":return Ts("M257 0 H300 V"+r+" H257z")+Ts("M478 0 H521 V"+r+" H478z");default:return""}},I0e={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:Ts("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Ts("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Ts("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Ts("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:Ts("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:Ts("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Ts("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Ts("M399995 440 h-120 V150 H0 v-120 H399995z"),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`},vVt=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 v84 h347 v-84
H403z M403 1759 V0 H319 V1759 v`+r+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z
M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z
M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z
MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z
MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z
M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z
M347 1759 V0 h-84 V1759 v`+r+" 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,`+(r+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,-`+(r+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,`+(r+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,-`+(r+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.")}};function xVt(t){return"toText"in t}let i3=class{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 this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e}toMarkup(){for(var e="",r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e}toText(){return this.children.map(e=>{if(xVt(e))return e.toText();throw new Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}};var Rq={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},wVt={ex:!0,em:!0,mu:!0},XMe=function(e){return typeof e!="string"&&(e=e.unit),e in Rq||e in wVt||e==="ex"},xa=function(e,r){var n;if(e.unit in Rq)n=Rq[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new Yt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Xt=function(e){return+e.toFixed(4)+"em"},Xg=function(e){return e.filter(r=>r).join(" ")},ute=function(e){var r="";for(var n of Object.keys(e)){var i=e[n];i!==void 0&&(r+=KHt(n)+":"+i+";")}return r},KMe=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},ZMe=function(e){var r=document.createElement(e);r.className=Xg(this.classes),Object.assign(r.style,this.style);for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i<this.children.length;i++)r.appendChild(this.children[i].toNode());return r},TVt=/[\s"'>/=\x00-\x1f]/,JMe=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Jo(Xg(this.classes))+'"');var n=ute(this.style);n&&(r+=' style="'+Jo(n)+'"');for(var i of Object.keys(this.attributes)){if(TVt.test(i))throw new Yt("Invalid attribute name '"+i+"'");r+=" "+i+'="'+Jo(this.attributes[i])+'"'}r+=">";for(var a=0;a<this.children.length;a++)r+=this.children[a].toMarkup();return r+="</"+e+">",r};let a3=class{constructor(e,r,n,i){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,this.italic=void 0,KMe.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ZMe.call(this,"span")}toMarkup(){return JMe.call(this,"span")}},sP=class{constructor(e,r,n,i){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,KMe.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return ZMe.call(this,"a")}toMarkup(){return JMe.call(this,"a")}},CVt=class{constructor(e,r,n){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=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e='<img src="'+Jo(this.src)+'"'+(' alt="'+Jo(this.alt)+'"'),r=ute(this.style);return r&&(e+=' style="'+Jo(r)+'"'),e+="'/>",e}};var SVt={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};let tu=class{constructor(e,r,n,i,a,s,o,l){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=r||0,this.depth=n||0,this.italic=i||0,this.skew=a||0,this.width=s||0,this.classes=o||[],this.style=l||{},this.maxFontSize=0;var u=uVt(this.text.charCodeAt(0));u&&this.classes.push(u+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=SVt[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),r=null;return this.italic>0&&(r=document.createElement("span"),r.style.marginRight=Xt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=Xg(this.classes)),Object.keys(this.style).length>0&&(r=r||document.createElement("span"),Object.assign(r.style,this.style)),r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="<span";this.classes.length&&(e=!0,r+=' class="',r+=Jo(Xg(this.classes)),r+='"');var n="";this.italic>0&&(n+="margin-right:"+Xt(this.italic)+";"),n+=ute(this.style),n&&(e=!0,r+=' style="'+Jo(n)+'"');var i=Jo(this.text);return e?(r+=">",r+=i,r+="</span>",r):i}},B0=class{constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i<this.children.length;i++)r.appendChild(this.children[i].toNode());return r}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var r of Object.keys(this.attributes))e+=" "+r+'="'+Jo(this.attributes[r])+'"';e+=">";for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+="</svg>",e}},Kg=class{constructor(e,r){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=r}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"path");return this.alternate?r.setAttribute("d",this.alternate):r.setAttribute("d",I0e[this.pathName]),r}toMarkup(){return this.alternate?'<path d="'+Jo(this.alternate)+'"/>':'<path d="'+Jo(I0e[this.pathName])+'"/>'}},Iq=class{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="<line";for(var r of Object.keys(this.attributes))e+=" "+r+'="'+Jo(this.attributes[r])+'"';return e+="/>",e}};function kVt(t){if(t instanceof tu)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function EVt(t){if(t instanceof a3)return t;throw new Error("Expected span<HtmlDomNode> but got "+String(t)+".")}var AVt=t=>t instanceof a3||t instanceof sP||t instanceof i3,Ih={"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]}},gF={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]},L0e={Å:"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 MVt(t,e){Ih[t]=e}function dte(t,e,r){if(!Ih[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Ih[e][n];if(!i&&t[0]in L0e&&(n=L0e[t[0]].charCodeAt(0),i=Ih[e][n]),!i&&r==="text"&&YMe(n)&&(i=Ih[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var mF={};function RVt(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!mF[e]){var r=mF[e]={cssEmPerMu:gF.quad[e]/18};for(var n of Object.keys(gF))r[n]=gF[n][e]}return mF[e]}var ua={math:{},text:{}};function j(t,e,r,n,i,a){ua[t][i]={font:e,group:r,replace:n},a&&n&&(ua[t][n]=ua[t][i])}var ae="math",Ot="text",ye="main",Ge="ams",pa="accent-token",dr="bin",Zl="close",s3="inner",zr="mathord",ys="op-token",su="open",yS="punct",Ye="rel",cp="spacing",Qe="textord";j(ae,ye,Ye,"≡","\\equiv",!0);j(ae,ye,Ye,"≺","\\prec",!0);j(ae,ye,Ye,"≻","\\succ",!0);j(ae,ye,Ye,"∼","\\sim",!0);j(ae,ye,Ye,"⊥","\\perp");j(ae,ye,Ye,"⪯","\\preceq",!0);j(ae,ye,Ye,"⪰","\\succeq",!0);j(ae,ye,Ye,"≃","\\simeq",!0);j(ae,ye,Ye,"∣","\\mid",!0);j(ae,ye,Ye,"≪","\\ll",!0);j(ae,ye,Ye,"≫","\\gg",!0);j(ae,ye,Ye,"≍","\\asymp",!0);j(ae,ye,Ye,"∥","\\parallel");j(ae,ye,Ye,"⋈","\\bowtie",!0);j(ae,ye,Ye,"⌣","\\smile",!0);j(ae,ye,Ye,"⊑","\\sqsubseteq",!0);j(ae,ye,Ye,"⊒","\\sqsupseteq",!0);j(ae,ye,Ye,"≐","\\doteq",!0);j(ae,ye,Ye,"⌢","\\frown",!0);j(ae,ye,Ye,"∋","\\ni",!0);j(ae,ye,Ye,"∝","\\propto",!0);j(ae,ye,Ye,"⊢","\\vdash",!0);j(ae,ye,Ye,"⊣","\\dashv",!0);j(ae,ye,Ye,"∋","\\owns");j(ae,ye,yS,".","\\ldotp");j(ae,ye,yS,"⋅","\\cdotp");j(ae,ye,yS,"⋅","·");j(Ot,ye,Qe,"⋅","·");j(ae,ye,Qe,"#","\\#");j(Ot,ye,Qe,"#","\\#");j(ae,ye,Qe,"&","\\&");j(Ot,ye,Qe,"&","\\&");j(ae,ye,Qe,"ℵ","\\aleph",!0);j(ae,ye,Qe,"∀","\\forall",!0);j(ae,ye,Qe,"ℏ","\\hbar",!0);j(ae,ye,Qe,"∃","\\exists",!0);j(ae,ye,Qe,"∇","\\nabla",!0);j(ae,ye,Qe,"♭","\\flat",!0);j(ae,ye,Qe,"ℓ","\\ell",!0);j(ae,ye,Qe,"♮","\\natural",!0);j(ae,ye,Qe,"♣","\\clubsuit",!0);j(ae,ye,Qe,"℘","\\wp",!0);j(ae,ye,Qe,"♯","\\sharp",!0);j(ae,ye,Qe,"♢","\\diamondsuit",!0);j(ae,ye,Qe,"ℜ","\\Re",!0);j(ae,ye,Qe,"♡","\\heartsuit",!0);j(ae,ye,Qe,"ℑ","\\Im",!0);j(ae,ye,Qe,"♠","\\spadesuit",!0);j(ae,ye,Qe,"§","\\S",!0);j(Ot,ye,Qe,"§","\\S");j(ae,ye,Qe,"¶","\\P",!0);j(Ot,ye,Qe,"¶","\\P");j(ae,ye,Qe,"†","\\dag");j(Ot,ye,Qe,"†","\\dag");j(Ot,ye,Qe,"†","\\textdagger");j(ae,ye,Qe,"‡","\\ddag");j(Ot,ye,Qe,"‡","\\ddag");j(Ot,ye,Qe,"‡","\\textdaggerdbl");j(ae,ye,Zl,"⎱","\\rmoustache",!0);j(ae,ye,su,"⎰","\\lmoustache",!0);j(ae,ye,Zl,"⟯","\\rgroup",!0);j(ae,ye,su,"⟮","\\lgroup",!0);j(ae,ye,dr,"∓","\\mp",!0);j(ae,ye,dr,"⊖","\\ominus",!0);j(ae,ye,dr,"⊎","\\uplus",!0);j(ae,ye,dr,"⊓","\\sqcap",!0);j(ae,ye,dr,"∗","\\ast");j(ae,ye,dr,"⊔","\\sqcup",!0);j(ae,ye,dr,"◯","\\bigcirc",!0);j(ae,ye,dr,"∙","\\bullet",!0);j(ae,ye,dr,"‡","\\ddagger");j(ae,ye,dr,"≀","\\wr",!0);j(ae,ye,dr,"⨿","\\amalg");j(ae,ye,dr,"&","\\And");j(ae,ye,Ye,"⟵","\\longleftarrow",!0);j(ae,ye,Ye,"⇐","\\Leftarrow",!0);j(ae,ye,Ye,"⟸","\\Longleftarrow",!0);j(ae,ye,Ye,"⟶","\\longrightarrow",!0);j(ae,ye,Ye,"⇒","\\Rightarrow",!0);j(ae,ye,Ye,"⟹","\\Longrightarrow",!0);j(ae,ye,Ye,"↔","\\leftrightarrow",!0);j(ae,ye,Ye,"⟷","\\longleftrightarrow",!0);j(ae,ye,Ye,"⇔","\\Leftrightarrow",!0);j(ae,ye,Ye,"⟺","\\Longleftrightarrow",!0);j(ae,ye,Ye,"↦","\\mapsto",!0);j(ae,ye,Ye,"⟼","\\longmapsto",!0);j(ae,ye,Ye,"↗","\\nearrow",!0);j(ae,ye,Ye,"↩","\\hookleftarrow",!0);j(ae,ye,Ye,"↪","\\hookrightarrow",!0);j(ae,ye,Ye,"↘","\\searrow",!0);j(ae,ye,Ye,"↼","\\leftharpoonup",!0);j(ae,ye,Ye,"⇀","\\rightharpoonup",!0);j(ae,ye,Ye,"↙","\\swarrow",!0);j(ae,ye,Ye,"↽","\\leftharpoondown",!0);j(ae,ye,Ye,"⇁","\\rightharpoondown",!0);j(ae,ye,Ye,"↖","\\nwarrow",!0);j(ae,ye,Ye,"⇌","\\rightleftharpoons",!0);j(ae,Ge,Ye,"≮","\\nless",!0);j(ae,Ge,Ye,"","\\@nleqslant");j(ae,Ge,Ye,"","\\@nleqq");j(ae,Ge,Ye,"⪇","\\lneq",!0);j(ae,Ge,Ye,"≨","\\lneqq",!0);j(ae,Ge,Ye,"","\\@lvertneqq");j(ae,Ge,Ye,"⋦","\\lnsim",!0);j(ae,Ge,Ye,"⪉","\\lnapprox",!0);j(ae,Ge,Ye,"⊀","\\nprec",!0);j(ae,Ge,Ye,"⋠","\\npreceq",!0);j(ae,Ge,Ye,"⋨","\\precnsim",!0);j(ae,Ge,Ye,"⪹","\\precnapprox",!0);j(ae,Ge,Ye,"≁","\\nsim",!0);j(ae,Ge,Ye,"","\\@nshortmid");j(ae,Ge,Ye,"∤","\\nmid",!0);j(ae,Ge,Ye,"⊬","\\nvdash",!0);j(ae,Ge,Ye,"⊭","\\nvDash",!0);j(ae,Ge,Ye,"⋪","\\ntriangleleft");j(ae,Ge,Ye,"⋬","\\ntrianglelefteq",!0);j(ae,Ge,Ye,"⊊","\\subsetneq",!0);j(ae,Ge,Ye,"","\\@varsubsetneq");j(ae,Ge,Ye,"⫋","\\subsetneqq",!0);j(ae,Ge,Ye,"","\\@varsubsetneqq");j(ae,Ge,Ye,"≯","\\ngtr",!0);j(ae,Ge,Ye,"","\\@ngeqslant");j(ae,Ge,Ye,"","\\@ngeqq");j(ae,Ge,Ye,"⪈","\\gneq",!0);j(ae,Ge,Ye,"≩","\\gneqq",!0);j(ae,Ge,Ye,"","\\@gvertneqq");j(ae,Ge,Ye,"⋧","\\gnsim",!0);j(ae,Ge,Ye,"⪊","\\gnapprox",!0);j(ae,Ge,Ye,"⊁","\\nsucc",!0);j(ae,Ge,Ye,"⋡","\\nsucceq",!0);j(ae,Ge,Ye,"⋩","\\succnsim",!0);j(ae,Ge,Ye,"⪺","\\succnapprox",!0);j(ae,Ge,Ye,"≆","\\ncong",!0);j(ae,Ge,Ye,"","\\@nshortparallel");j(ae,Ge,Ye,"∦","\\nparallel",!0);j(ae,Ge,Ye,"⊯","\\nVDash",!0);j(ae,Ge,Ye,"⋫","\\ntriangleright");j(ae,Ge,Ye,"⋭","\\ntrianglerighteq",!0);j(ae,Ge,Ye,"","\\@nsupseteqq");j(ae,Ge,Ye,"⊋","\\supsetneq",!0);j(ae,Ge,Ye,"","\\@varsupsetneq");j(ae,Ge,Ye,"⫌","\\supsetneqq",!0);j(ae,Ge,Ye,"","\\@varsupsetneqq");j(ae,Ge,Ye,"⊮","\\nVdash",!0);j(ae,Ge,Ye,"⪵","\\precneqq",!0);j(ae,Ge,Ye,"⪶","\\succneqq",!0);j(ae,Ge,Ye,"","\\@nsubseteqq");j(ae,Ge,dr,"⊴","\\unlhd");j(ae,Ge,dr,"⊵","\\unrhd");j(ae,Ge,Ye,"↚","\\nleftarrow",!0);j(ae,Ge,Ye,"↛","\\nrightarrow",!0);j(ae,Ge,Ye,"⇍","\\nLeftarrow",!0);j(ae,Ge,Ye,"⇏","\\nRightarrow",!0);j(ae,Ge,Ye,"↮","\\nleftrightarrow",!0);j(ae,Ge,Ye,"⇎","\\nLeftrightarrow",!0);j(ae,Ge,Ye,"△","\\vartriangle");j(ae,Ge,Qe,"ℏ","\\hslash");j(ae,Ge,Qe,"▽","\\triangledown");j(ae,Ge,Qe,"◊","\\lozenge");j(ae,Ge,Qe,"Ⓢ","\\circledS");j(ae,Ge,Qe,"®","\\circledR");j(Ot,Ge,Qe,"®","\\circledR");j(ae,Ge,Qe,"∡","\\measuredangle",!0);j(ae,Ge,Qe,"∄","\\nexists");j(ae,Ge,Qe,"℧","\\mho");j(ae,Ge,Qe,"Ⅎ","\\Finv",!0);j(ae,Ge,Qe,"⅁","\\Game",!0);j(ae,Ge,Qe,"‵","\\backprime");j(ae,Ge,Qe,"▲","\\blacktriangle");j(ae,Ge,Qe,"▼","\\blacktriangledown");j(ae,Ge,Qe,"■","\\blacksquare");j(ae,Ge,Qe,"⧫","\\blacklozenge");j(ae,Ge,Qe,"★","\\bigstar");j(ae,Ge,Qe,"∢","\\sphericalangle",!0);j(ae,Ge,Qe,"∁","\\complement",!0);j(ae,Ge,Qe,"ð","\\eth",!0);j(Ot,ye,Qe,"ð","ð");j(ae,Ge,Qe,"╱","\\diagup");j(ae,Ge,Qe,"╲","\\diagdown");j(ae,Ge,Qe,"□","\\square");j(ae,Ge,Qe,"□","\\Box");j(ae,Ge,Qe,"◊","\\Diamond");j(ae,Ge,Qe,"¥","\\yen",!0);j(Ot,Ge,Qe,"¥","\\yen",!0);j(ae,Ge,Qe,"✓","\\checkmark",!0);j(Ot,Ge,Qe,"✓","\\checkmark");j(ae,Ge,Qe,"ℶ","\\beth",!0);j(ae,Ge,Qe,"ℸ","\\daleth",!0);j(ae,Ge,Qe,"ℷ","\\gimel",!0);j(ae,Ge,Qe,"ϝ","\\digamma",!0);j(ae,Ge,Qe,"ϰ","\\varkappa");j(ae,Ge,su,"┌","\\@ulcorner",!0);j(ae,Ge,Zl,"┐","\\@urcorner",!0);j(ae,Ge,su,"└","\\@llcorner",!0);j(ae,Ge,Zl,"┘","\\@lrcorner",!0);j(ae,Ge,Ye,"≦","\\leqq",!0);j(ae,Ge,Ye,"⩽","\\leqslant",!0);j(ae,Ge,Ye,"⪕","\\eqslantless",!0);j(ae,Ge,Ye,"≲","\\lesssim",!0);j(ae,Ge,Ye,"⪅","\\lessapprox",!0);j(ae,Ge,Ye,"≊","\\approxeq",!0);j(ae,Ge,dr,"⋖","\\lessdot");j(ae,Ge,Ye,"⋘","\\lll",!0);j(ae,Ge,Ye,"≶","\\lessgtr",!0);j(ae,Ge,Ye,"⋚","\\lesseqgtr",!0);j(ae,Ge,Ye,"⪋","\\lesseqqgtr",!0);j(ae,Ge,Ye,"≑","\\doteqdot");j(ae,Ge,Ye,"≓","\\risingdotseq",!0);j(ae,Ge,Ye,"≒","\\fallingdotseq",!0);j(ae,Ge,Ye,"∽","\\backsim",!0);j(ae,Ge,Ye,"⋍","\\backsimeq",!0);j(ae,Ge,Ye,"⫅","\\subseteqq",!0);j(ae,Ge,Ye,"⋐","\\Subset",!0);j(ae,Ge,Ye,"⊏","\\sqsubset",!0);j(ae,Ge,Ye,"≼","\\preccurlyeq",!0);j(ae,Ge,Ye,"⋞","\\curlyeqprec",!0);j(ae,Ge,Ye,"≾","\\precsim",!0);j(ae,Ge,Ye,"⪷","\\precapprox",!0);j(ae,Ge,Ye,"⊲","\\vartriangleleft");j(ae,Ge,Ye,"⊴","\\trianglelefteq");j(ae,Ge,Ye,"⊨","\\vDash",!0);j(ae,Ge,Ye,"⊪","\\Vvdash",!0);j(ae,Ge,Ye,"⌣","\\smallsmile");j(ae,Ge,Ye,"⌢","\\smallfrown");j(ae,Ge,Ye,"≏","\\bumpeq",!0);j(ae,Ge,Ye,"≎","\\Bumpeq",!0);j(ae,Ge,Ye,"≧","\\geqq",!0);j(ae,Ge,Ye,"⩾","\\geqslant",!0);j(ae,Ge,Ye,"⪖","\\eqslantgtr",!0);j(ae,Ge,Ye,"≳","\\gtrsim",!0);j(ae,Ge,Ye,"⪆","\\gtrapprox",!0);j(ae,Ge,dr,"⋗","\\gtrdot");j(ae,Ge,Ye,"⋙","\\ggg",!0);j(ae,Ge,Ye,"≷","\\gtrless",!0);j(ae,Ge,Ye,"⋛","\\gtreqless",!0);j(ae,Ge,Ye,"⪌","\\gtreqqless",!0);j(ae,Ge,Ye,"≖","\\eqcirc",!0);j(ae,Ge,Ye,"≗","\\circeq",!0);j(ae,Ge,Ye,"≜","\\triangleq",!0);j(ae,Ge,Ye,"∼","\\thicksim");j(ae,Ge,Ye,"≈","\\thickapprox");j(ae,Ge,Ye,"⫆","\\supseteqq",!0);j(ae,Ge,Ye,"⋑","\\Supset",!0);j(ae,Ge,Ye,"⊐","\\sqsupset",!0);j(ae,Ge,Ye,"≽","\\succcurlyeq",!0);j(ae,Ge,Ye,"⋟","\\curlyeqsucc",!0);j(ae,Ge,Ye,"≿","\\succsim",!0);j(ae,Ge,Ye,"⪸","\\succapprox",!0);j(ae,Ge,Ye,"⊳","\\vartriangleright");j(ae,Ge,Ye,"⊵","\\trianglerighteq");j(ae,Ge,Ye,"⊩","\\Vdash",!0);j(ae,Ge,Ye,"∣","\\shortmid");j(ae,Ge,Ye,"∥","\\shortparallel");j(ae,Ge,Ye,"≬","\\between",!0);j(ae,Ge,Ye,"⋔","\\pitchfork",!0);j(ae,Ge,Ye,"∝","\\varpropto");j(ae,Ge,Ye,"◀","\\blacktriangleleft");j(ae,Ge,Ye,"∴","\\therefore",!0);j(ae,Ge,Ye,"∍","\\backepsilon");j(ae,Ge,Ye,"▶","\\blacktriangleright");j(ae,Ge,Ye,"∵","\\because",!0);j(ae,Ge,Ye,"⋘","\\llless");j(ae,Ge,Ye,"⋙","\\gggtr");j(ae,Ge,dr,"⊲","\\lhd");j(ae,Ge,dr,"⊳","\\rhd");j(ae,Ge,Ye,"≂","\\eqsim",!0);j(ae,ye,Ye,"⋈","\\Join");j(ae,Ge,Ye,"≑","\\Doteq",!0);j(ae,Ge,dr,"∔","\\dotplus",!0);j(ae,Ge,dr,"∖","\\smallsetminus");j(ae,Ge,dr,"⋒","\\Cap",!0);j(ae,Ge,dr,"⋓","\\Cup",!0);j(ae,Ge,dr,"⩞","\\doublebarwedge",!0);j(ae,Ge,dr,"⊟","\\boxminus",!0);j(ae,Ge,dr,"⊞","\\boxplus",!0);j(ae,Ge,dr,"⋇","\\divideontimes",!0);j(ae,Ge,dr,"⋉","\\ltimes",!0);j(ae,Ge,dr,"⋊","\\rtimes",!0);j(ae,Ge,dr,"⋋","\\leftthreetimes",!0);j(ae,Ge,dr,"⋌","\\rightthreetimes",!0);j(ae,Ge,dr,"⋏","\\curlywedge",!0);j(ae,Ge,dr,"⋎","\\curlyvee",!0);j(ae,Ge,dr,"⊝","\\circleddash",!0);j(ae,Ge,dr,"⊛","\\circledast",!0);j(ae,Ge,dr,"⋅","\\centerdot");j(ae,Ge,dr,"⊺","\\intercal",!0);j(ae,Ge,dr,"⋒","\\doublecap");j(ae,Ge,dr,"⋓","\\doublecup");j(ae,Ge,dr,"⊠","\\boxtimes",!0);j(ae,Ge,Ye,"⇢","\\dashrightarrow",!0);j(ae,Ge,Ye,"⇠","\\dashleftarrow",!0);j(ae,Ge,Ye,"⇇","\\leftleftarrows",!0);j(ae,Ge,Ye,"⇆","\\leftrightarrows",!0);j(ae,Ge,Ye,"⇚","\\Lleftarrow",!0);j(ae,Ge,Ye,"↞","\\twoheadleftarrow",!0);j(ae,Ge,Ye,"↢","\\leftarrowtail",!0);j(ae,Ge,Ye,"↫","\\looparrowleft",!0);j(ae,Ge,Ye,"⇋","\\leftrightharpoons",!0);j(ae,Ge,Ye,"↶","\\curvearrowleft",!0);j(ae,Ge,Ye,"↺","\\circlearrowleft",!0);j(ae,Ge,Ye,"↰","\\Lsh",!0);j(ae,Ge,Ye,"⇈","\\upuparrows",!0);j(ae,Ge,Ye,"↿","\\upharpoonleft",!0);j(ae,Ge,Ye,"⇃","\\downharpoonleft",!0);j(ae,ye,Ye,"⊶","\\origof",!0);j(ae,ye,Ye,"⊷","\\imageof",!0);j(ae,Ge,Ye,"⊸","\\multimap",!0);j(ae,Ge,Ye,"↭","\\leftrightsquigarrow",!0);j(ae,Ge,Ye,"⇉","\\rightrightarrows",!0);j(ae,Ge,Ye,"⇄","\\rightleftarrows",!0);j(ae,Ge,Ye,"↠","\\twoheadrightarrow",!0);j(ae,Ge,Ye,"↣","\\rightarrowtail",!0);j(ae,Ge,Ye,"↬","\\looparrowright",!0);j(ae,Ge,Ye,"↷","\\curvearrowright",!0);j(ae,Ge,Ye,"↻","\\circlearrowright",!0);j(ae,Ge,Ye,"↱","\\Rsh",!0);j(ae,Ge,Ye,"⇊","\\downdownarrows",!0);j(ae,Ge,Ye,"↾","\\upharpoonright",!0);j(ae,Ge,Ye,"⇂","\\downharpoonright",!0);j(ae,Ge,Ye,"⇝","\\rightsquigarrow",!0);j(ae,Ge,Ye,"⇝","\\leadsto");j(ae,Ge,Ye,"⇛","\\Rrightarrow",!0);j(ae,Ge,Ye,"↾","\\restriction");j(ae,ye,Qe,"‘","`");j(ae,ye,Qe,"$","\\$");j(Ot,ye,Qe,"$","\\$");j(Ot,ye,Qe,"$","\\textdollar");j(ae,ye,Qe,"%","\\%");j(Ot,ye,Qe,"%","\\%");j(ae,ye,Qe,"_","\\_");j(Ot,ye,Qe,"_","\\_");j(Ot,ye,Qe,"_","\\textunderscore");j(ae,ye,Qe,"∠","\\angle",!0);j(ae,ye,Qe,"∞","\\infty",!0);j(ae,ye,Qe,"′","\\prime");j(ae,ye,Qe,"△","\\triangle");j(ae,ye,Qe,"Γ","\\Gamma",!0);j(ae,ye,Qe,"Δ","\\Delta",!0);j(ae,ye,Qe,"Θ","\\Theta",!0);j(ae,ye,Qe,"Λ","\\Lambda",!0);j(ae,ye,Qe,"Ξ","\\Xi",!0);j(ae,ye,Qe,"Π","\\Pi",!0);j(ae,ye,Qe,"Σ","\\Sigma",!0);j(ae,ye,Qe,"Υ","\\Upsilon",!0);j(ae,ye,Qe,"Φ","\\Phi",!0);j(ae,ye,Qe,"Ψ","\\Psi",!0);j(ae,ye,Qe,"Ω","\\Omega",!0);j(ae,ye,Qe,"A","Α");j(ae,ye,Qe,"B","Β");j(ae,ye,Qe,"E","Ε");j(ae,ye,Qe,"Z","Ζ");j(ae,ye,Qe,"H","Η");j(ae,ye,Qe,"I","Ι");j(ae,ye,Qe,"K","Κ");j(ae,ye,Qe,"M","Μ");j(ae,ye,Qe,"N","Ν");j(ae,ye,Qe,"O","Ο");j(ae,ye,Qe,"P","Ρ");j(ae,ye,Qe,"T","Τ");j(ae,ye,Qe,"X","Χ");j(ae,ye,Qe,"¬","\\neg",!0);j(ae,ye,Qe,"¬","\\lnot");j(ae,ye,Qe,"⊤","\\top");j(ae,ye,Qe,"⊥","\\bot");j(ae,ye,Qe,"∅","\\emptyset");j(ae,Ge,Qe,"∅","\\varnothing");j(ae,ye,zr,"α","\\alpha",!0);j(ae,ye,zr,"β","\\beta",!0);j(ae,ye,zr,"γ","\\gamma",!0);j(ae,ye,zr,"δ","\\delta",!0);j(ae,ye,zr,"ϵ","\\epsilon",!0);j(ae,ye,zr,"ζ","\\zeta",!0);j(ae,ye,zr,"η","\\eta",!0);j(ae,ye,zr,"θ","\\theta",!0);j(ae,ye,zr,"ι","\\iota",!0);j(ae,ye,zr,"κ","\\kappa",!0);j(ae,ye,zr,"λ","\\lambda",!0);j(ae,ye,zr,"μ","\\mu",!0);j(ae,ye,zr,"ν","\\nu",!0);j(ae,ye,zr,"ξ","\\xi",!0);j(ae,ye,zr,"ο","\\omicron",!0);j(ae,ye,zr,"π","\\pi",!0);j(ae,ye,zr,"ρ","\\rho",!0);j(ae,ye,zr,"σ","\\sigma",!0);j(ae,ye,zr,"τ","\\tau",!0);j(ae,ye,zr,"υ","\\upsilon",!0);j(ae,ye,zr,"ϕ","\\phi",!0);j(ae,ye,zr,"χ","\\chi",!0);j(ae,ye,zr,"ψ","\\psi",!0);j(ae,ye,zr,"ω","\\omega",!0);j(ae,ye,zr,"ε","\\varepsilon",!0);j(ae,ye,zr,"ϑ","\\vartheta",!0);j(ae,ye,zr,"ϖ","\\varpi",!0);j(ae,ye,zr,"ϱ","\\varrho",!0);j(ae,ye,zr,"ς","\\varsigma",!0);j(ae,ye,zr,"φ","\\varphi",!0);j(ae,ye,dr,"∗","*",!0);j(ae,ye,dr,"+","+");j(ae,ye,dr,"−","-",!0);j(ae,ye,dr,"⋅","\\cdot",!0);j(ae,ye,dr,"∘","\\circ",!0);j(ae,ye,dr,"÷","\\div",!0);j(ae,ye,dr,"±","\\pm",!0);j(ae,ye,dr,"×","\\times",!0);j(ae,ye,dr,"∩","\\cap",!0);j(ae,ye,dr,"∪","\\cup",!0);j(ae,ye,dr,"∖","\\setminus",!0);j(ae,ye,dr,"∧","\\land");j(ae,ye,dr,"∨","\\lor");j(ae,ye,dr,"∧","\\wedge",!0);j(ae,ye,dr,"∨","\\vee",!0);j(ae,ye,Qe,"√","\\surd");j(ae,ye,su,"⟨","\\langle",!0);j(ae,ye,su,"∣","\\lvert");j(ae,ye,su,"∥","\\lVert");j(ae,ye,Zl,"?","?");j(ae,ye,Zl,"!","!");j(ae,ye,Zl,"⟩","\\rangle",!0);j(ae,ye,Zl,"∣","\\rvert");j(ae,ye,Zl,"∥","\\rVert");j(ae,ye,Ye,"=","=");j(ae,ye,Ye,":",":");j(ae,ye,Ye,"≈","\\approx",!0);j(ae,ye,Ye,"≅","\\cong",!0);j(ae,ye,Ye,"≥","\\ge");j(ae,ye,Ye,"≥","\\geq",!0);j(ae,ye,Ye,"←","\\gets");j(ae,ye,Ye,">","\\gt",!0);j(ae,ye,Ye,"∈","\\in",!0);j(ae,ye,Ye,"","\\@not");j(ae,ye,Ye,"⊂","\\subset",!0);j(ae,ye,Ye,"⊃","\\supset",!0);j(ae,ye,Ye,"⊆","\\subseteq",!0);j(ae,ye,Ye,"⊇","\\supseteq",!0);j(ae,Ge,Ye,"⊈","\\nsubseteq",!0);j(ae,Ge,Ye,"⊉","\\nsupseteq",!0);j(ae,ye,Ye,"⊨","\\models");j(ae,ye,Ye,"←","\\leftarrow",!0);j(ae,ye,Ye,"≤","\\le");j(ae,ye,Ye,"≤","\\leq",!0);j(ae,ye,Ye,"<","\\lt",!0);j(ae,ye,Ye,"→","\\rightarrow",!0);j(ae,ye,Ye,"→","\\to");j(ae,Ge,Ye,"≱","\\ngeq",!0);j(ae,Ge,Ye,"≰","\\nleq",!0);j(ae,ye,cp," ","\\ ");j(ae,ye,cp," ","\\space");j(ae,ye,cp," ","\\nobreakspace");j(Ot,ye,cp," ","\\ ");j(Ot,ye,cp," "," ");j(Ot,ye,cp," ","\\space");j(Ot,ye,cp," ","\\nobreakspace");j(ae,ye,cp,"","\\nobreak");j(ae,ye,cp,"","\\allowbreak");j(ae,ye,yS,",",",");j(ae,ye,yS,";",";");j(ae,Ge,dr,"⊼","\\barwedge",!0);j(ae,Ge,dr,"⊻","\\veebar",!0);j(ae,ye,dr,"⊙","\\odot",!0);j(ae,ye,dr,"⊕","\\oplus",!0);j(ae,ye,dr,"⊗","\\otimes",!0);j(ae,ye,Qe,"∂","\\partial",!0);j(ae,ye,dr,"⊘","\\oslash",!0);j(ae,Ge,dr,"⊚","\\circledcirc",!0);j(ae,Ge,dr,"⊡","\\boxdot",!0);j(ae,ye,dr,"△","\\bigtriangleup");j(ae,ye,dr,"▽","\\bigtriangledown");j(ae,ye,dr,"†","\\dagger");j(ae,ye,dr,"⋄","\\diamond");j(ae,ye,dr,"⋆","\\star");j(ae,ye,dr,"◃","\\triangleleft");j(ae,ye,dr,"▹","\\triangleright");j(ae,ye,su,"{","\\{");j(Ot,ye,Qe,"{","\\{");j(Ot,ye,Qe,"{","\\textbraceleft");j(ae,ye,Zl,"}","\\}");j(Ot,ye,Qe,"}","\\}");j(Ot,ye,Qe,"}","\\textbraceright");j(ae,ye,su,"{","\\lbrace");j(ae,ye,Zl,"}","\\rbrace");j(ae,ye,su,"[","\\lbrack",!0);j(Ot,ye,Qe,"[","\\lbrack",!0);j(ae,ye,Zl,"]","\\rbrack",!0);j(Ot,ye,Qe,"]","\\rbrack",!0);j(ae,ye,su,"(","\\lparen",!0);j(ae,ye,Zl,")","\\rparen",!0);j(Ot,ye,Qe,"<","\\textless",!0);j(Ot,ye,Qe,">","\\textgreater",!0);j(ae,ye,su,"⌊","\\lfloor",!0);j(ae,ye,Zl,"⌋","\\rfloor",!0);j(ae,ye,su,"⌈","\\lceil",!0);j(ae,ye,Zl,"⌉","\\rceil",!0);j(ae,ye,Qe,"\\","\\backslash");j(ae,ye,Qe,"∣","|");j(ae,ye,Qe,"∣","\\vert");j(Ot,ye,Qe,"|","\\textbar",!0);j(ae,ye,Qe,"∥","\\|");j(ae,ye,Qe,"∥","\\Vert");j(Ot,ye,Qe,"∥","\\textbardbl");j(Ot,ye,Qe,"~","\\textasciitilde");j(Ot,ye,Qe,"\\","\\textbackslash");j(Ot,ye,Qe,"^","\\textasciicircum");j(ae,ye,Ye,"↑","\\uparrow",!0);j(ae,ye,Ye,"⇑","\\Uparrow",!0);j(ae,ye,Ye,"↓","\\downarrow",!0);j(ae,ye,Ye,"⇓","\\Downarrow",!0);j(ae,ye,Ye,"↕","\\updownarrow",!0);j(ae,ye,Ye,"⇕","\\Updownarrow",!0);j(ae,ye,ys,"∐","\\coprod");j(ae,ye,ys,"⋁","\\bigvee");j(ae,ye,ys,"⋀","\\bigwedge");j(ae,ye,ys,"⨄","\\biguplus");j(ae,ye,ys,"⋂","\\bigcap");j(ae,ye,ys,"⋃","\\bigcup");j(ae,ye,ys,"∫","\\int");j(ae,ye,ys,"∫","\\intop");j(ae,ye,ys,"∬","\\iint");j(ae,ye,ys,"∭","\\iiint");j(ae,ye,ys,"∏","\\prod");j(ae,ye,ys,"∑","\\sum");j(ae,ye,ys,"⨂","\\bigotimes");j(ae,ye,ys,"⨁","\\bigoplus");j(ae,ye,ys,"⨀","\\bigodot");j(ae,ye,ys,"∮","\\oint");j(ae,ye,ys,"∯","\\oiint");j(ae,ye,ys,"∰","\\oiiint");j(ae,ye,ys,"⨆","\\bigsqcup");j(ae,ye,ys,"∫","\\smallint");j(Ot,ye,s3,"…","\\textellipsis");j(ae,ye,s3,"…","\\mathellipsis");j(Ot,ye,s3,"…","\\ldots",!0);j(ae,ye,s3,"…","\\ldots",!0);j(ae,ye,s3,"⋯","\\@cdots",!0);j(ae,ye,s3,"⋱","\\ddots",!0);j(ae,ye,Qe,"⋮","\\varvdots");j(Ot,ye,Qe,"⋮","\\varvdots");j(ae,ye,pa,"ˊ","\\acute");j(ae,ye,pa,"ˋ","\\grave");j(ae,ye,pa,"¨","\\ddot");j(ae,ye,pa,"~","\\tilde");j(ae,ye,pa,"ˉ","\\bar");j(ae,ye,pa,"˘","\\breve");j(ae,ye,pa,"ˇ","\\check");j(ae,ye,pa,"^","\\hat");j(ae,ye,pa,"⃗","\\vec");j(ae,ye,pa,"˙","\\dot");j(ae,ye,pa,"˚","\\mathring");j(ae,ye,zr,"","\\@imath");j(ae,ye,zr,"","\\@jmath");j(ae,ye,Qe,"ı","ı");j(ae,ye,Qe,"ȷ","ȷ");j(Ot,ye,Qe,"ı","\\i",!0);j(Ot,ye,Qe,"ȷ","\\j",!0);j(Ot,ye,Qe,"ß","\\ss",!0);j(Ot,ye,Qe,"æ","\\ae",!0);j(Ot,ye,Qe,"œ","\\oe",!0);j(Ot,ye,Qe,"ø","\\o",!0);j(Ot,ye,Qe,"Æ","\\AE",!0);j(Ot,ye,Qe,"Œ","\\OE",!0);j(Ot,ye,Qe,"Ø","\\O",!0);j(Ot,ye,pa,"ˊ","\\'");j(Ot,ye,pa,"ˋ","\\`");j(Ot,ye,pa,"ˆ","\\^");j(Ot,ye,pa,"˜","\\~");j(Ot,ye,pa,"ˉ","\\=");j(Ot,ye,pa,"˘","\\u");j(Ot,ye,pa,"˙","\\.");j(Ot,ye,pa,"¸","\\c");j(Ot,ye,pa,"˚","\\r");j(Ot,ye,pa,"ˇ","\\v");j(Ot,ye,pa,"¨",'\\"');j(Ot,ye,pa,"˝","\\H");j(Ot,ye,pa,"◯","\\textcircled");var QMe={"--":!0,"---":!0,"``":!0,"''":!0};j(Ot,ye,Qe,"–","--",!0);j(Ot,ye,Qe,"–","\\textendash");j(Ot,ye,Qe,"—","---",!0);j(Ot,ye,Qe,"—","\\textemdash");j(Ot,ye,Qe,"‘","`",!0);j(Ot,ye,Qe,"‘","\\textquoteleft");j(Ot,ye,Qe,"’","'",!0);j(Ot,ye,Qe,"’","\\textquoteright");j(Ot,ye,Qe,"“","``",!0);j(Ot,ye,Qe,"“","\\textquotedblleft");j(Ot,ye,Qe,"”","''",!0);j(Ot,ye,Qe,"”","\\textquotedblright");j(ae,ye,Qe,"°","\\degree",!0);j(Ot,ye,Qe,"°","\\degree");j(Ot,ye,Qe,"°","\\textdegree",!0);j(ae,ye,Qe,"£","\\pounds");j(ae,ye,Qe,"£","\\mathsterling",!0);j(Ot,ye,Qe,"£","\\pounds");j(Ot,ye,Qe,"£","\\textsterling",!0);j(ae,Ge,Qe,"✠","\\maltese");j(Ot,Ge,Qe,"✠","\\maltese");var N0e='0123456789/@."';for(var UF=0;UF<N0e.length;UF++){var O0e=N0e.charAt(UF);j(ae,ye,Qe,O0e,O0e)}var D0e='0123456789!@*()-=+";:?/.,';for(var yF=0;yF<D0e.length;yF++){var P0e=D0e.charAt(yF);j(Ot,ye,Qe,P0e,P0e)}var RL="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var bF=0;bF<RL.length;bF++){var gE=RL.charAt(bF);j(ae,ye,zr,gE,gE),j(Ot,ye,Qe,gE,gE)}j(ae,Ge,Qe,"C","ℂ");j(Ot,Ge,Qe,"C","ℂ");j(ae,Ge,Qe,"H","ℍ");j(Ot,Ge,Qe,"H","ℍ");j(ae,Ge,Qe,"N","ℕ");j(Ot,Ge,Qe,"N","ℕ");j(ae,Ge,Qe,"P","ℙ");j(Ot,Ge,Qe,"P","ℙ");j(ae,Ge,Qe,"Q","ℚ");j(Ot,Ge,Qe,"Q","ℚ");j(ae,Ge,Qe,"R","ℝ");j(Ot,Ge,Qe,"R","ℝ");j(ae,Ge,Qe,"Z","ℤ");j(Ot,Ge,Qe,"Z","ℤ");j(ae,ye,zr,"h","ℎ");j(Ot,ye,zr,"h","ℎ");var sn;for(var hl=0;hl<RL.length;hl++){var Na=RL.charAt(hl);sn=String.fromCharCode(55349,56320+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56372+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56424+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56580+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56684+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56736+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56788+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56840+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56944+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),hl<26&&(sn=String.fromCharCode(55349,56632+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn),sn=String.fromCharCode(55349,56476+hl),j(ae,ye,zr,Na,sn),j(Ot,ye,Qe,Na,sn))}sn="𝕜";j(ae,ye,zr,"k",sn);j(Ot,ye,Qe,"k",sn);for(var rm=0;rm<10;rm++){var Np=rm.toString();sn=String.fromCharCode(55349,57294+rm),j(ae,ye,zr,Np,sn),j(Ot,ye,Qe,Np,sn),sn=String.fromCharCode(55349,57314+rm),j(ae,ye,zr,Np,sn),j(Ot,ye,Qe,Np,sn),sn=String.fromCharCode(55349,57324+rm),j(ae,ye,zr,Np,sn),j(Ot,ye,Qe,Np,sn),sn=String.fromCharCode(55349,57334+rm),j(ae,ye,zr,Np,sn),j(Ot,ye,Qe,Np,sn)}var Lq="ÐÞþ";for(var vF=0;vF<Lq.length;vF++){var mE=Lq.charAt(vF);j(ae,ye,zr,mE,mE),j(Ot,ye,Qe,mE,mE)}var Nq={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},_0e={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},B0e={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},IVt={mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},$m={mathClass:"",textClass:"",font:""},$0e={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},F0e={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},z0e={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},Oq={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},Dq={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},H0e={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},Pq={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},V0e=[Nq,Nq,_0e,_0e,B0e,B0e,IVt,$m,$m,$m,$0e,$0e,F0e,F0e,z0e,z0e,Oq,Oq,Dq,Dq,H0e,H0e,$m,$m,Pq,Pq],LVt=[Nq,$m,Oq,Dq,Pq],NVt=t=>{var e=t.charCodeAt(0),r=t.charCodeAt(1),n=(e-55296)*1024+(r-56320)+65536;if(119808<=n&&n<120484){var i=Math.floor((n-119808)/26);return V0e[i]}else if(120782<=n&&n<=120831){var a=Math.floor((n-120782)/10);return LVt[a]}else{if(n===120485||n===120486)return V0e[0];if(120486<n&&n<120782)return $m;throw new Yt("Unsupported character: "+t)}},oP=function(e,r,n){if(ua[n][e]){var i=ua[n][e].replace;i&&(e=i)}return{value:e,metrics:dte(e,r,n)}},wl=function(e,r,n,i,a){var s=oP(e,r,n),o=s.metrics;e=s.value;var l;if(o){var u=o.italic;(n==="text"||i&&i.font==="mathit")&&(u=0),l=new tu(e,o.height,o.depth,u,o.skew,o.width,a)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+r+"' and mode '"+n+"'")),l=new tu(e,0,0,0,0,0,a);if(i){l.maxFontSize=i.sizeMultiplier,i.style.isTight()&&l.classes.push("mtight");var d=i.getColor();d&&(l.style.color=d)}return l},hte=function(e,r,n,i){return i===void 0&&(i=[]),n.font==="boldsymbol"&&oP(e,"Main-Bold",r).metrics?wl(e,"Main-Bold",r,n,i.concat(["mathbf"])):e==="\\"||ua[r][e].font==="main"?wl(e,"Main-Regular",r,n,i):wl(e,"AMS-Regular",r,n,i.concat(["amsrm"]))},OVt=function(e,r,n){return n!=="textord"&&oP(e,"Math-BoldItalic",r).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},lP=function(e,r){var n=e.type==="mathord"?"mathord":"textord",i=e.mode,a=e.text,s=["mord"],o=r.font,l=r.fontFamily,u=r.fontWeight,d=r.fontShape,h=i==="math"||i==="text"&&!!o,f=h?o:l,p="",g="";if(a.charCodeAt(0)===55349){var m=NVt(a);p=m.font,g=m[i+"Class"]}if(p)return wl(a,p,i,r,s.concat(g));if(f){var U,y;if(f==="boldsymbol"){var b=OVt(a,i,n);U=b.fontName,y=[b.fontClass]}else h?(U=_q[o].fontName,y=[o]):(U=UE(l,u,d),y=[l,u,d]);if(oP(a,U,i).metrics)return wl(a,U,i,r,s.concat(y));if(Object.prototype.hasOwnProperty.call(QMe,a)&&U.slice(0,10)==="Typewriter"){for(var v=[],w=0;w<a.length;w++)v.push(wl(a[w],U,i,r,s.concat(y)));return up(v)}}if(n==="mathord")return wl(a,"Math-Italic",i,r,s.concat(["mathnormal"]));if(n==="textord"){var T=ua[i][a]&&ua[i][a].font;if(T==="ams"){var S=UE("amsrm",u,d);return wl(a,S,i,r,s.concat("amsrm",u,d))}else if(T==="main"||!T){var C=UE("textrm",u,d);return wl(a,C,i,r,s.concat(u,d))}else{var k=UE(T,u,d);return wl(a,k,i,r,s.concat(k,u,d))}}else throw new Error("unexpected type: "+n+" in makeOrd")},DVt=(t,e)=>{if(Xg(t.classes)!==Xg(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},eRe=t=>{for(var e=0;e<t.length-1;e++){var r=t[e],n=t[e+1];r instanceof tu&&n instanceof tu&&DVt(r,n)&&(r.text+=n.text,r.height=Math.max(r.height,n.height),r.depth=Math.max(r.depth,n.depth),r.italic=n.italic,t.splice(e+1,1),e--)}return t},fte=function(e){for(var r=0,n=0,i=0,a=0;a<e.children.length;a++){var s=e.children[a];s.height>r&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},Ft=function(e,r,n,i){var a=new a3(e,r,n,i);return fte(a),a},Zg=(t,e,r,n)=>new a3(t,e,r,n),n4=function(e,r,n){var i=Ft([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Xt(i.height),i.maxFontSize=1,i},PVt=function(e,r,n,i){var a=new sP(e,r,n,i);return fte(a),a},up=function(e){var r=new i3(e);return fte(r),r},i4=function(e,r){return e instanceof i3?Ft([],[e],r):e},_Vt=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s<r.length;s++){var o=-r[s].shift-a-r[s].elem.depth,l=o-(r[s-1].elem.height+r[s-1].elem.depth);a=a+o,n.push({type:"kern",size:l}),n.push(r[s])}return{children:n,depth:i}}var u;if(e.positionType==="top"){for(var d=e.positionData,h=0;h<e.children.length;h++){var f=e.children[h];d-=f.type==="kern"?f.size:f.elem.height+f.elem.depth}u=d}else if(e.positionType==="bottom")u=-e.positionData;else{var p=e.children[0];if(p.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")u=-p.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")u=-p.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:u}},pi=function(e,r){for(var n=_Vt(e),i=n.children,a=n.depth,s=0,o=0;o<i.length;o++){var l=i[o];if(l.type==="elem"){var u=l.elem;s=Math.max(s,u.maxFontSize,u.height)}}s+=2;var d=Ft(["pstrut"],[]);d.style.height=Xt(s);for(var h=[],f=a,p=a,g=a,m=0;m<i.length;m++){var U=i[m];if(U.type==="kern")g+=U.size;else{var y=U.elem,b=U.wrapperClasses||[],v=U.wrapperStyle||{},w=Ft(b,[d,y],void 0,v);w.style.top=Xt(-s-g-y.depth),U.marginLeft&&(w.style.marginLeft=U.marginLeft),U.marginRight&&(w.style.marginRight=U.marginRight),h.push(w),g+=y.height+y.depth}f=Math.min(f,g),p=Math.max(p,g)}var T=Ft(["vlist"],h);T.style.height=Xt(p);var S;if(f<0){var C=Ft([],[]),k=Ft(["vlist"],[C]);k.style.height=Xt(-f);var E=Ft(["vlist-s"],[new tu("​")]);S=[Ft(["vlist-r"],[T,E]),Ft(["vlist-r"],[k])]}else S=[Ft(["vlist-r"],[T])];var A=Ft(["vlist-t"],S);return S.length===2&&A.classes.push("vlist-t2"),A.height=p,A.depth=-f,A},tRe=(t,e)=>{var r=Ft(["mspace"],[],e),n=xa(t,e);return r.style.marginRight=Xt(n),r},UE=(t,e,r)=>{var n,i;switch(t){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=t}return e==="textbf"&&r==="textit"?i="BoldItalic":e==="textbf"?i="Bold":r==="textit"?i="Italic":i="Regular",n+"-"+i},_q={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"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-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"}},rRe={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},nRe=function(e,r){var n=rRe[e],i=n[0],a=n[1],s=n[2],o=new Kg(i),l=new B0([o],{width:Xt(a),height:Xt(s),style:"width:"+Xt(a),viewBox:"0 0 "+1e3*a+" "+1e3*s,preserveAspectRatio:"xMinYMin"}),u=Zg(["katex-overlay"],[l],r);return u.height=s,u.style.height=Xt(s),u.style.width=Xt(a),u},ya={number:3,unit:"mu"},nm={number:4,unit:"mu"},Lf={number:5,unit:"mu"},BVt={mord:{mop:ya,mbin:nm,mrel:Lf,minner:ya},mop:{mord:ya,mop:ya,mrel:Lf,minner:ya},mbin:{mord:nm,mop:nm,mopen:nm,minner:nm},mrel:{mord:Lf,mop:Lf,mopen:Lf,minner:Lf},mopen:{},mclose:{mop:ya,mbin:nm,mrel:Lf,minner:ya},mpunct:{mord:ya,mop:ya,mrel:Lf,mopen:ya,mclose:ya,mpunct:ya,minner:ya},minner:{mord:ya,mop:ya,mbin:nm,mrel:Lf,mopen:ya,mpunct:ya,minner:ya}},$Vt={mord:{mop:ya},mop:{mord:ya,mop:ya},mbin:{},mrel:{},mopen:{},mclose:{mop:ya},mpunct:{},minner:{mop:ya}},iRe={},$T={},FT={};function sr(t){for(var e=t.type,r=t.names,n=t.htmlBuilder,i=t.mathmlBuilder,a=0;a<r.length;++a)iRe[r[a]]=t;e&&(n&&($T[e]=n),i&&(FT[e]=i))}function L5(t){var e=t.type,r=t.htmlBuilder,n=t.mathmlBuilder;r&&($T[e]=r),n&&(FT[e]=n)}var IL=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},hs=function(e){return e.type==="ordgroup"?e.body:[e]},FVt=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),zVt=new Set(["rightmost","mrel","mclose","mpunct"]),HVt={display:fn.DISPLAY,text:fn.TEXT,script:fn.SCRIPT,scriptscript:fn.SCRIPTSCRIPT},VVt={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Bs=function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s<e.length;s++){var o=mi(e[s],r);if(o instanceof i3){var l=o.children;a.push(...l)}else a.push(o)}if(eRe(a),!n)return a;var u=r;if(e.length===1){var d=e[0];d.type==="sizing"?u=r.havingSize(d.size):d.type==="styling"&&(u=r.havingStyle(HVt[d.style]))}var h=Ft([i[0]||"leftmost"],[],r),f=Ft([i[1]||"rightmost"],[],r),p=n==="root";return Bq(a,(g,m)=>{var U=m.classes[0],y=g.classes[0];U==="mbin"&&zVt.has(y)?m.classes[0]="mord":y==="mbin"&&FVt.has(U)&&(g.classes[0]="mord")},{node:h},f,p),Bq(a,(g,m)=>{var U,y,b=Fq(m),v=Fq(g),w=b&&v?g.hasClass("mtight")?(U=$Vt[b])==null?void 0:U[v]:(y=BVt[b])==null?void 0:y[v]:null;if(w)return tRe(w,u)},{node:h},f,p),a},Bq=function(e,r,n,i,a){i&&e.push(i);for(var s=0;s<e.length;s++){var o=e[s],l=aRe(o);if(l){Bq(l.children,r,n,null,a);continue}var u=!o.hasClass("mspace");if(u){var d=r(o,n.node);d&&(n.insertAfter?n.insertAfter(d):(e.unshift(d),s++))}u?n.node=o:a&&o.hasClass("katex-newline")&&(n.node=Ft(["leftmost"])),n.insertAfter=(h=>f=>{e.splice(h+1,0,f),s++})(s)}i&&e.pop()},aRe=function(e){return e instanceof i3||e instanceof sP||e instanceof a3&&e.hasClass("enclosing")?e:null},$q=function(e,r){var n=aRe(e);if(n){var i=n.children;if(i.length){if(r==="right")return $q(i[i.length-1],"right");if(r==="left")return $q(i[0],"left")}}return e},Fq=function(e,r){if(!e)return null;r&&(e=$q(e,r));var n=e.classes[0];return VVt[n]||null},zT=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return Ft(r.concat(n))},mi=function(e,r,n){if(!e)return Ft();if($T[e.type]){var i=$T[e.type](e,r);if(n&&r.size!==n.size){i=Ft(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new Yt("Got group of unknown type: '"+e.type+"'")};function yE(t,e){var r=Ft(["katex-base"],t,e),n=Ft(["katex-strut"]);return n.style.height=Xt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Xt(-r.depth)),r.children.unshift(n),r}function zq(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=Bs(t,e,"root"),i;n.length===2&&n[1].hasClass("katex-tag")&&(i=n.pop());for(var a=[],s=[],o=0;o<n.length;o++)if(s.push(n[o]),n[o].hasClass("mbin")||n[o].hasClass("mrel")||n[o].hasClass("allowbreak")){for(var l=!1;o<n.length-1&&n[o+1].hasClass("mspace")&&!n[o+1].hasClass("katex-newline");)o++,s.push(n[o]),n[o].hasClass("nobreak")&&(l=!0);l||(a.push(yE(s,e)),s=[])}else n[o].hasClass("katex-newline")&&(s.pop(),s.length>0&&(a.push(yE(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(yE(s,e));var u;r?(u=yE(Bs(r,e,!0),e),u.classes=["katex-tag"],a.push(u)):i&&a.push(i);var d=Ft(["katex-html"],a);if(d.setAttribute("aria-hidden","true"),u){var h=u.children[0];h.style.height=Xt(d.height+d.depth),d.depth&&(h.style.verticalAlign=Xt(-d.depth))}return d}function sRe(t){return new i3(t)}let qt=class{constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r of Object.entries(this.attributes)){var n=r[0],i=r[1];e.setAttribute(n,i)}this.classes.length>0&&(e.className=Xg(this.classes));for(var a=0;a<this.children.length;a++)if(this.children[a]instanceof fs&&this.children[a+1]instanceof fs){for(var s=this.children[a].toText()+this.children[++a].toText();this.children[a+1]instanceof fs;)s+=this.children[++a].toText();e.appendChild(new fs(s).toNode())}else e.appendChild(this.children[a].toNode());return e}toMarkup(){var e="<"+this.type;for(var r of Object.entries(this.attributes)){var n=r[0],i=r[1];e+=" "+n+'="',e+=Jo(i),e+='"'}this.classes.length>0&&(e+=' class ="'+Jo(Xg(this.classes))+'"'),e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}},fs=class{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Jo(this.toText())}toText(){return this.text}},oRe=class{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",Xt(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+Xt(this.width)+'"/>'}toText(){return this.character?this.character:" "}};var GVt=new Set(["\\imath","\\jmath"]),WVt=new Set(["mrow","mtable"]),Gu=function(e,r,n){var i,a;return ua[r][e]&&ua[r][e].replace&&e.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(QMe,e)&&((n==null||(i=n.fontFamily)==null?void 0:i.slice(4,6))==="tt"||(n==null||(a=n.font)==null?void 0:a.slice(4,6))==="tt"))&&(e=ua[r][e].replace),new fs(e)},pte=function(e){return e.length===1?e[0]:new qt("mrow",e)},qVt={mathit:"italic",boldsymbol:t=>t.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},gte=(t,e)=>{if(t.mode==="text"){if(e.fontFamily==="texttt")return"monospace";if(e.fontFamily==="textsf")return e.fontShape==="textit"&&e.fontWeight==="textbf"?"sans-serif-bold-italic":e.fontShape==="textit"?"sans-serif-italic":e.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(e.fontShape==="textit"&&e.fontWeight==="textbf")return"bold-italic";if(e.fontShape==="textit")return"italic";if(e.fontWeight==="textbf")return"bold"}var r=e.font;if(!r||r==="mathnormal")return null;var n=t.mode,i=qVt[r];if(i)return typeof i=="function"?i(t):i;var a=t.text;if(GVt.has(a))return null;if(ua[n][a]){var s=ua[n][a].replace;s&&(a=s)}var o=_q[r].fontName;return dte(a,o,n)?_q[r].variant:null};function xF(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof fs&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof fs&&r.text===","}else return!1}var ou=function(e,r,n){if(e.length===1){var i=Li(e[0],r);return n&&i instanceof qt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o<e.length;o++){var l=Li(e[o],r);if(l instanceof qt&&s instanceof qt){if(l.type==="mtext"&&s.type==="mtext"&&l.getAttribute("mathvariant")===s.getAttribute("mathvariant")){s.children.push(...l.children);continue}else if(l.type==="mn"&&s.type==="mn"){s.children.push(...l.children);continue}else if(xF(l)&&s.type==="mn"){s.children.push(...l.children);continue}else if(l.type==="mn"&&xF(s))l.children=[...s.children,...l.children],a.pop();else if((l.type==="msup"||l.type==="msub")&&l.children.length>=1&&(s.type==="mn"||xF(s))){var u=l.children[0];u instanceof qt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var d=s.children[0];if(d instanceof fs&&d.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var h=l.children[0];h instanceof fs&&h.text.length>0&&(h.text=h.text.slice(0,1)+"̸"+h.text.slice(1),a.pop())}}}a.push(l),s=l}return a},Jg=function(e,r,n){return pte(ou(e,r,n))},Li=function(e,r){if(!e)return new qt("mrow");if(FT[e.type])return FT[e.type](e,r);throw new Yt("Got group of unknown type: '"+e.type+"'")};function G0e(t,e,r,n,i){var a=ou(t,r),s;a.length===1&&a[0]instanceof qt&&WVt.has(a[0].type)?s=a[0]:s=new qt("mrow",a);var o=new qt("annotation",[new fs(e)]);o.setAttribute("encoding","application/x-tex");var l=new qt("semantics",[s,o]),u=new qt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var d=i?"katex":"katex-mathml";return Ft([d],[u])}var jVt=[[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]],W0e=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],q0e=function(e,r){return r.size<2?e:jVt[e-1][r.size-1]};let lRe=class wm{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||wm.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=W0e[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={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};return Object.assign(r,e),new wm(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:q0e(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:W0e[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=q0e(wm.BASESIZE,e);return this.size===r&&this.textSize===wm.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}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?["katex-sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==wm.BASESIZE?["katex-sizing","reset-size"+this.size,"size"+wm.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=RVt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}};lRe.BASESIZE=6;var cRe=function(e){return new lRe({style:e.displayMode?fn.DISPLAY:fn.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},uRe=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=Ft(n,[e])}return e},YVt=function(e,r,n){var i=cRe(n),a;if(n.output==="mathml")return G0e(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=zq(e,i);a=Ft(["katex"],[s])}else{var o=G0e(e,r,i,n.displayMode,!1),l=zq(e,i);a=Ft(["katex"],[o,l])}return uRe(a,n)},XVt=function(e,r,n){var i=cRe(n),a=zq(e,i),s=Ft(["katex"],[a]);return uRe(s,n)},KVt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",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":"="},cP=function(e){var r=new qt("mo",[new fs(KVt[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},ZVt={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],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],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]},JVt=new Set(["widehat","widecheck","widetilde","utilde"]),uP=function(e,r){function n(){var l=4e5,u=e.label.slice(1);if(JVt.has(u)&&"base"in e){var d=e.base.type==="ordgroup"?e.base.body.length:1,h,f,p;if(d>5)u==="widehat"||u==="widecheck"?(h=420,l=2364,p=.42,f=u+"4"):(h=312,l=2340,p=.34,f="tilde4");else{var g=[1,1,2,2,3,3][d];u==="widehat"||u==="widecheck"?(l=[0,1062,2364,2364,2364][g],h=[0,239,300,360,420][g],p=[0,.24,.3,.3,.36,.42][g],f=u+g):(l=[0,600,1033,2339,2340][g],h=[0,260,286,306,312][g],p=[0,.26,.286,.3,.306,.34][g],f="tilde"+g)}var m=new Kg(f),U=new B0([m],{width:"100%",height:Xt(p),viewBox:"0 0 "+l+" "+h,preserveAspectRatio:"none"});return{span:Zg([],[U],r),minWidth:0,height:p}}else{var y=[],b=ZVt[u];if(!b)throw new Error('No SVG data for "'+u+'".');var v=b[0],w=b[1],T=b[2],S=T/1e3,C=v.length,k,E;if(C===1){if(b.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+u+'".');k=["hide-tail"],E=[b[3]]}else if(C===2)k=["halfarrow-left","halfarrow-right"],E=["xMinYMin","xMaxYMin"];else if(C===3)k=["brace-left","brace-center","brace-right"],E=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
`+C+" children.");for(var A=0;A<C;A++){var M=new Kg(v[A]),P=new B0([M],{width:"400em",height:Xt(S),viewBox:"0 0 "+l+" "+T,preserveAspectRatio:E[A]+" slice"}),N=Zg([k[A]],[P],r);if(C===1)return{span:N,minWidth:w,height:S};N.style.height=Xt(S),y.push(N)}return{span:Ft(["katex-stretchy"],y,r),minWidth:w,height:S}}}var i=n(),a=i.span,s=i.minWidth,o=i.height;return a.height=o,a.style.height=Xt(o),s>0&&(a.style.minWidth=Xt(s)),a},QVt=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=Ft(["katex-stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Iq({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Iq({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var d=new B0(u,{width:"100%",height:Xt(o)});s=Zg([],[d],a)}return s.height=o,s.style.height=Xt(o),s},eGt=["bin","close","inner","open","punct","rel"],tGt=["accent-token","mathord","op-token","spacing","textord"],rGt=new Set(eGt),nGt=new Set(tGt);function iGt(t){return rGt.has(t)}function xn(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function dP(t){var e=hP(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function hP(t){return t.type==="atom"||nGt.has(t.type)?t:null}var dRe=t=>{if(t instanceof tu)return t;if(AVt(t)&&t.children.length===1)return dRe(t.children[0])},hRe=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=xn(t.base,"accent"),r=n.base,t.base=r,i=EVt(mi(t,e)),t.base=n):(n=xn(t,"accent"),r=n.base);var a=mi(r,e.havingCrampedStyle()),s=n.isShifty&&lp(r),o=0;if(s){var l,u;o=(l=(u=dRe(a))==null?void 0:u.skew)!=null?l:0}var d=n.label==="\\c",h=d?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=uP(n,e),f=pi({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Xt(2*o)+")",marginLeft:Xt(2*o)}:void 0}]});else{var p,g;n.label==="\\vec"?(p=nRe("vec",e),g=rRe.vec[1]):(p=lP({type:"textord",mode:n.mode,text:n.label},e),p=kVt(p),p.italic=0,g=p.width,d&&(h+=p.depth)),f=Ft(["accent-body"],[p]);var m=n.label==="\\textcircled";m&&(f.classes.push("accent-full"),h=a.height);var U=o;m||(U-=g/2),f.style.left=Xt(U),n.label==="\\textcircled"&&(f.style.top=".2em"),f=pi({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-h},{type:"elem",elem:f}]})}var y=Ft(["mord","katex-accent"],[f],e);return i?(i.children[0]=y,i.height=Math.max(y.height,i.height),i.classes[0]="mord",i):y},aGt=(t,e)=>{var r=t.isStretchy?cP(t.label):new qt("mo",[Gu(t.label,t.mode)]),n=new qt("mover",[Li(t.base,e),r]);return n.setAttribute("accent","true"),n},sGt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));sr({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"],numArgs:1,handler:(t,e)=>{var r=IL(e[0]),n=!sGt.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:hRe,mathmlBuilder:aGt});sr({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"],handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}}});sr({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],numArgs:1,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=mi(t.base,e),n=uP(t,e),i=t.label==="\\utilde"?.12:0,a=pi({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return Ft(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=cP(t.label),n=new qt("munder",[Li(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var bE=t=>{var e=new qt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};sr({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"],numArgs:1,numOptionalArgs:1,handler(t,e,r){var n=t.parser,i=t.funcName;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=i4(mi(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=i4(mi(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=uP(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var d;if(s){var h=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;d=pi({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l,wrapperClasses:["svg-align"]},{type:"elem",elem:s,shift:h}]})}else d=pi({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l,wrapperClasses:["svg-align"]}]});return Ft(["mrel","x-arrow"],[d],e)},mathmlBuilder(t,e){var r=cP(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=bE(Li(t.body,e));if(t.below){var a=bE(Li(t.below,e));n=new qt("munderover",[r,a,i])}else n=new qt("mover",[r,i])}else if(t.below){var s=bE(Li(t.below,e));n=new qt("munder",[r,s])}else n=bE(),n=new qt("mover",[r,n]);return n}});function oGt(t,e){var r=Bs(t.body,e,!0);return Ft([t.mclass],r,e)}function lGt(t,e){var r,n=ou(t.body,e);return t.mclass==="minner"?r=new qt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new qt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new qt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):(t.mclass==="mopen"||t.mclass==="mclose")&&(r.attributes.lspace="0em",r.attributes.rspace="0em")),r}sr({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],numArgs:1,primitive:!0,handler(t,e){var r=t.parser,n=t.funcName,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:hs(i),isCharacterBox:lp(i)}},htmlBuilder:oGt,mathmlBuilder:lGt});var fP=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};sr({type:"mclass",names:["\\@binrel"],numArgs:2,handler(t,e){var r=t.parser;return{type:"mclass",mode:r.mode,mclass:fP(e[0]),body:hs(e[1]),isCharacterBox:lp(e[1])}}});sr({type:"mclass",names:["\\stackrel","\\overset","\\underset"],numArgs:2,handler(t,e){var r=t.parser,n=t.funcName,i=e[1],a=e[0],s;n!=="\\stackrel"?s=fP(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:hs(i)},l=n==="\\underset"?{type:"supsub",mode:a.mode,base:o,sub:a}:{type:"supsub",mode:a.mode,base:o,sup:a};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:lp(l)}}});sr({type:"pmb",names:["\\pmb"],numArgs:1,allowedInText:!0,handler(t,e){var r=t.parser;return{type:"pmb",mode:r.mode,mclass:fP(e[0]),body:hs(e[0])}},htmlBuilder(t,e){var r=Bs(t.body,e,!0),n=Ft([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=ou(t.body,e),n=new qt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var cGt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},j0e=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),Y0e=t=>t.type==="textord"&&t.text==="@",uGt=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function dGt(t,e,r){var n=cGt[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function hGt(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new Yt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a<e.length;a++){for(var s=e[a],o=j0e(),l=0;l<s.length;l++)if(!Y0e(s[l]))o.body.push(s[l]);else{n.push(o),l+=1;var u=dP(s[l]).text,d=new Array(2);if(d[0]={type:"ordgroup",mode:"math",body:[]},d[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(u))if("<>AV".includes(u))for(var h=0;h<2;h++){for(var f=!0,p=l+1;p<s.length;p++){if(uGt(s[p],u)){f=!1,l=p;break}if(Y0e(s[p]))throw new Yt("Missing a "+u+" character to complete a CD arrow.",s[p]);d[h].body.push(s[p])}if(f)throw new Yt("Missing a "+u+" character to complete a CD arrow.",s[l])}else throw new Yt('Expected one of "<>AV=|." after @',s[l]);var g=dGt(u,d,t),m={type:"styling",body:[g],mode:"math",style:"display",resetFont:!0};n.push(m),o=j0e()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var U=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:U,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}sr({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],numArgs:1,handler(t,e){var r=t.parser,n=t.funcName;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=i4(mi(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Xt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new qt("mrow",[Li(t.label,e)]);return r=new qt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new qt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});sr({type:"cdlabelparent",names:["\\\\cdparent"],numArgs:1,handler(t,e){var r=t.parser;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=i4(mi(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new qt("mrow",[Li(t.fragment,e)])}});sr({type:"textord",names:["\\@char"],numArgs:1,allowedInText:!0,handler(t,e){for(var r=t.parser,n=xn(e[0],"ordgroup"),i=n.body,a="",s=0;s<i.length;s++){var o=xn(i[s],"textord");a+=o.text}var l=parseInt(a),u;if(isNaN(l))throw new Yt("\\@char has non-numeric argument "+a);if(l<0||l>=1114111)throw new Yt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var fGt=(t,e)=>{var r=Bs(t.body,e.withColor(t.color),!1);return up(r)},pGt=(t,e)=>{var r=ou(t.body,e.withColor(t.color)),n=new qt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};sr({type:"color",names:["\\textcolor"],numArgs:2,allowedInText:!0,argTypes:["color","original"],handler(t,e){var r=t.parser,n=xn(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:hs(i)}},htmlBuilder:fGt,mathmlBuilder:pGt});sr({type:"color",names:["\\color"],numArgs:1,allowedInText:!0,argTypes:["color"],handler(t,e){var r=t.parser,n=t.breakOnTokenText,i=xn(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}}});sr({type:"cr",names:["\\\\"],numArgs:0,numOptionalArgs:0,allowedInText:!0,handler(t,e,r){var n=t.parser,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&xn(i,"size").value}},htmlBuilder(t,e){var r=Ft(["mspace"],[],e);return t.newLine&&(r.classes.push("katex-newline"),t.size&&(r.style.marginTop=Xt(xa(t.size,e)))),r},mathmlBuilder(t,e){var r=new qt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Xt(xa(t.size,e)))),r}});var Hq={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},fRe=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new Yt("Expected a control sequence",t);return e},gGt=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},pRe=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};sr({type:"internal",names:["\\global","\\long","\\\\globallong"],numArgs:0,allowedInText:!0,handler(t){var e=t.parser,r=t.funcName;e.consumeSpaces();var n=e.fetch();if(Hq[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=Hq[n.text]),xn(e.parseFunction(),"internal");throw new Yt("Invalid token after macro prefix",n)}});sr({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],numArgs:0,allowedInText:!0,primitive:!0,handler(t){var e=t.parser,r=t.funcName,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new Yt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new Yt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new Yt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new Yt("Expected a macro definition");o[a].push(n.text)}var l=e.gullet.consumeArg(),u=l.tokens;return s&&u.unshift(s),(r==="\\edef"||r==="\\xdef")&&(u=e.gullet.expandTokens(u),u.reverse()),e.gullet.macros.set(i,{tokens:u,numArgs:a,delimiters:o},r===Hq[r]),{type:"internal",mode:e.mode}}});sr({type:"internal",names:["\\let","\\\\globallet"],numArgs:0,allowedInText:!0,primitive:!0,handler(t){var e=t.parser,r=t.funcName,n=fRe(e.gullet.popToken());e.gullet.consumeSpaces();var i=gGt(e);return pRe(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});sr({type:"internal",names:["\\futurelet","\\\\globalfuture"],numArgs:0,allowedInText:!0,primitive:!0,handler(t){var e=t.parser,r=t.funcName,n=fRe(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return pRe(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var K9=function(e,r,n){var i=ua.math[e]&&ua.math[e].replace,a=dte(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},mte=function(e,r,n,i){var a=n.havingBaseStyle(r),s=Ft(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},gRe=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Xt(a),e.height-=a,e.depth+=a},mGt=function(e,r,n,i,a,s){var o=wl(e,"Main-Regular",a,i),l=mte(o,r,i,s);return gRe(l,i,r),l},UGt=function(e,r,n,i){return wl(e,"Size"+r+"-Regular",n,i)},mRe=function(e,r,n,i,a,s){var o=UGt(e,r,a,i),l=mte(Ft(["delimsizing","size"+r],[o],i),fn.TEXT,i,s);return n&&gRe(l,i,fn.TEXT),l},wF=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=Ft(["delimsizinginner",i],[Ft([],[wl(e,r,n)])]);return{type:"elem",elem:a}},TF=function(e,r,n){var i=Ih["Size4-Regular"][e.charCodeAt(0)]?Ih["Size4-Regular"][e.charCodeAt(0)][4]:Ih["Size1-Regular"][e.charCodeAt(0)][4],a=new Kg("inner",bVt(e,Math.round(1e3*r))),s=new B0([a],{width:Xt(i),height:Xt(r),style:"width:"+Xt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=Zg([],[s],n);return o.height=r,o.style.height=Xt(r),o.style.width=Xt(i),{type:"elem",elem:o}},Vq=.008,vE={type:"kern",size:-1*Vq},yGt=new Set(["|","\\lvert","\\rvert","\\vert"]),bGt=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),URe=function(e,r,n,i,a,s){var o,l,u,d,h="",f=0;o=u=d=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=d="⏐":e==="\\Uparrow"?u=d="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",d="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",d="\\Downarrow"):yGt.has(e)?(u="∣",h="vert",f=333):bGt.has(e)?(u="∥",h="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",d="⎣",p="Size4-Regular",h="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",d="⎦",p="Size4-Regular",h="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",d="⎣",p="Size4-Regular",h="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=d="⎢",p="Size4-Regular",h="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",d="⎦",p="Size4-Regular",h="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=d="⎥",p="Size4-Regular",h="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",d="⎝",p="Size4-Regular",h="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",d="⎠",p="Size4-Regular",h="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",d="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",d="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",d="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",d="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",d="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",d="⎩",u="⎪",p="Size4-Regular");var g=K9(o,p,a),m=g.height+g.depth,U=K9(u,p,a),y=U.height+U.depth,b=K9(d,p,a),v=b.height+b.depth,w=0,T=1;if(l!==null){var S=K9(l,p,a);w=S.height+S.depth,T=2}var C=m+v+w,k=Math.max(0,Math.ceil((r-C)/(T*y))),E=C+k*T*y,A=i.fontMetrics().axisHeight;n&&(A*=i.sizeMultiplier);var M=E/2-A,P=[];if(h.length>0){var N=E-m-v,I=Math.round(E*1e3),L=vVt(h,Math.round(N*1e3)),_=new Kg(h,L),D=Xt(f/1e3),O=Xt(I/1e3),B=new B0([_],{width:D,height:O,viewBox:"0 0 "+f+" "+I}),F=Zg([],[B],i);F.height=I/1e3,F.style.width=D,F.style.height=O,P.push({type:"elem",elem:F})}else{if(P.push(wF(d,p,a)),P.push(vE),l===null){var z=E-m-v+2*Vq;P.push(TF(u,z,i))}else{var $=(E-m-v-w)/2+2*Vq;P.push(TF(u,$,i)),P.push(vE),P.push(wF(l,p,a)),P.push(vE),P.push(TF(u,$,i))}P.push(vE),P.push(wF(o,p,a))}var H=i.havingBaseStyle(fn.TEXT),V=pi({positionType:"bottom",positionData:M,children:P});return mte(Ft(["delimsizing","mult"],[V],H),fn.TEXT,i,s)},CF=80,SF=.08,kF=function(e,r,n,i,a){var s=yVt(e,i,n),o=new Kg(e,s),l=new B0([o],{width:"400em",height:Xt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return Zg(["hide-tail"],[l],a)},vGt=function(e,r){var n=r.havingBaseSizing(),i=wRe("\\surd",e*n.sizeMultiplier,xRe,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l,u,d,h;return i.type==="small"?(d=1e3+1e3*s+CF,e<1?a=1:e<1.4&&(a=.7),l=(1+s+SF)/a,u=(1+s)/a,o=kF("sqrtMain",l,d,s,r),o.style.minWidth="0.853em",h=.833/a):i.type==="large"?(d=(1e3+CF)*aw[i.size],u=(aw[i.size]+s)/a,l=(aw[i.size]+s+SF)/a,o=kF("sqrtSize"+i.size,l,d,s,r),o.style.minWidth="1.02em",h=1/a):(l=e+s+SF,u=e+s,d=Math.floor(1e3*e+s)+CF,o=kF("sqrtTall",l,d,s,r),o.style.minWidth="0.742em",h=1.056),o.height=u,o.style.height=Xt(l),{span:o,advanceWidth:h,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},yRe=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),xGt=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),bRe=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),aw=[0,1.2,1.8,2.4,3],vRe=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),yRe.has(e)||bRe.has(e))return mRe(e,r,!1,n,i,a);if(xGt.has(e))return URe(e,aw[r],!1,n,i,a);throw new Yt("Illegal delimiter: '"+e+"'")},wGt=[{type:"small",style:fn.SCRIPTSCRIPT},{type:"small",style:fn.SCRIPT},{type:"small",style:fn.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],TGt=[{type:"small",style:fn.SCRIPTSCRIPT},{type:"small",style:fn.SCRIPT},{type:"small",style:fn.TEXT},{type:"stack"}],xRe=[{type:"small",style:fn.SCRIPTSCRIPT},{type:"small",style:fn.SCRIPT},{type:"small",style:fn.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],CGt=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";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},wRe=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;s<n.length;s++){var o=n[s];if(o.type==="stack")break;var l=K9(e,CGt(o),"math"),u=l.height+l.depth;if(o.type==="small"){var d=i.havingBaseStyle(o.style);u*=d.sizeMultiplier}if(u>r)return o}return n[n.length-1]},Gq=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;bRe.has(e)?o=wGt:yRe.has(e)?o=xRe:o=TGt;var l=wRe(e,r,o,i);return l.type==="small"?mGt(e,l.style,n,i,a,s):l.type==="large"?mRe(e,l.size,n,i,a,s):URe(e,r,n,i,a,s)},EF=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,d=Math.max(r-o,n+o),h=Math.max(d/500*l,2*d-u);return Gq(e,h,!0,i,a,s)},X0e={"\\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}},SGt=new Set(["(","\\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 K0e(t){return"isMiddle"in t}function pP(t,e){var r=hP(t);if(r&&SGt.has(r.text))return r;throw r?new Yt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new Yt("Invalid delimiter type '"+t.type+"'",t)}sr({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],numArgs:1,argTypes:["primitive"],handler:(t,e)=>{var r=pP(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:X0e[t.funcName].size,mclass:X0e[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?Ft([t.mclass]):vRe(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Gu(t.delim,t.mode));var r=new qt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Xt(aw[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function Z0e(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}sr({type:"leftright-right",names:["\\right"],numArgs:1,primitive:!0,handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new Yt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:pP(e[0],t).text,color:r}}});sr({type:"leftright",names:["\\left"],numArgs:1,primitive:!0,handler:(t,e)=>{var r=pP(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=xn(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{Z0e(t);for(var r=Bs(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s<r.length;s++){var o=r[s];K0e(o)?a=!0:(n=Math.max(r[s].height,n),i=Math.max(r[s].depth,i))}n*=e.sizeMultiplier,i*=e.sizeMultiplier;var l;if(t.left==="."?l=zT(e,["mopen"]):l=EF(t.left,n,i,e,t.mode,["mopen"]),r.unshift(l),a)for(var u=1;u<r.length;u++){var d=r[u];if(K0e(d)){var h=d.isMiddle;r[u]=EF(h.delim,n,i,h.options,t.mode,[])}}var f;if(t.right===".")f=zT(e,["mclose"]);else{var p=t.rightColor?e.withColor(t.rightColor):e;f=EF(t.right,n,i,p,t.mode,["mclose"])}return r.push(f),Ft(["minner"],r,e)},mathmlBuilder:(t,e)=>{Z0e(t);var r=ou(t.body,e);if(t.left!=="."){var n=new qt("mo",[Gu(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new qt("mo",[Gu(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return pte(r)}});sr({type:"middle",names:["\\middle"],numArgs:1,primitive:!0,handler:(t,e)=>{var r=pP(e[0],t);if(!t.parser.leftrightDepth)throw new Yt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;return t.delim==="."?r=zT(e,[]):(r=vRe(t.delim,1,e,t.mode,[]),r.isMiddle={delim:t.delim,options:e}),r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Gu("|","text"):Gu(t.delim,t.mode),n=new qt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var kGt=(t,e)=>{var r=i4(mi(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s,o=lp(t.body);if(n==="sout")a=Ft(["katex-stretchy","katex-sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=xa({number:.6,unit:"pt"},e),u=xa({number:.35,unit:"ex"},e),d=e.havingBaseSizing();i=i/d.sizeMultiplier;var h=r.height+r.depth+l+u;r.style.paddingLeft=Xt(h/2+l);var f=Math.floor(1e3*h*i),p=mVt(f),g=new B0([new Kg("phase",p)],{width:"400em",height:Xt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=Zg(["hide-tail"],[g],e),a.style.height=Xt(h),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var m,U,y=0;/box/.test(n)?(y=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),m=e.fontMetrics().fboxsep+(n==="colorbox"?0:y),U=m):n==="angl"?(y=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),m=4*y,U=Math.max(0,.25-r.depth)):(m=o?.2:0,U=m),a=QVt(r,n,m,U,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Xt(y)):n==="angl"&&y!==.049&&(a.style.borderTopWidth=Xt(y),a.style.borderRightWidth=Xt(y)),s=r.depth+U,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=pi({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var v=/cancel|phase/.test(n)?["svg-align"]:[];b=pi({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:v}]})}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!o?Ft(["mord","cancel-lap"],[b],e):Ft(["mord"],[b],e)},EGt=(t,e)=>{var r,n=new qt(t.label.includes("colorbox")?"mpadded":"menclose",[Li(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Xt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};sr({type:"enclose",names:["\\colorbox"],numArgs:2,allowedInText:!0,argTypes:["color","hbox"],handler(t,e,r){var n=t.parser,i=t.funcName,a=xn(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:kGt,mathmlBuilder:EGt});sr({type:"enclose",names:["\\fcolorbox"],numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"],handler(t,e,r){var n=t.parser,i=t.funcName,a=xn(e[0],"color-token").color,s=xn(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}}});sr({type:"enclose",names:["\\fbox"],numArgs:1,argTypes:["hbox"],allowedInText:!0,handler(t,e){var r=t.parser;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});sr({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],numArgs:1,handler(t,e){var r=t.parser,n=t.funcName,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}}});sr({type:"enclose",names:["\\sout"],numArgs:1,allowedInText:!0,handler(t,e){var r=t.parser,n=t.funcName;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}}});sr({type:"enclose",names:["\\angl"],numArgs:1,argTypes:["hbox"],allowedInText:!1,handler(t,e){var r=t.parser;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var TRe={};function uf(t){for(var e=t.type,r=t.names,n=t.props,i=t.handler,a=t.htmlBuilder,s=t.mathmlBuilder,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l<r.length;++l)TRe[r[l]]=o;a&&($T[e]=a),s&&(FT[e]=s)}var CRe={};function Se(t,e){CRe[t]=e}let ku=class SRe{constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new SRe(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}},Nd=class kRe{constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new kRe(r,ku.range(this,e))}};function J0e(t){var e=[];t.consumeSpaces();var r=t.fetch().text;for(r==="\\relax"&&(t.consume(),t.consumeSpaces(),r=t.fetch().text);r==="\\hline"||r==="\\hdashline";)t.consume(),e.push(r==="\\hdashline"),t.consumeSpaces(),r=t.fetch().text;return e}var gP=t=>{var e=t.parser.settings;if(!e.displayMode)throw new Yt("{"+t.envName+"} can be used only in display mode.")},AGt=new Set(["gather","gather*"]);function Ute(t){if(!t.includes("ed"))return!t.includes("*")}function E1(t,e,r){var n=e.hskipBeforeAndAfter,i=e.addJot,a=e.cols,s=e.arraystretch,o=e.colSeparationType,l=e.autoTag,u=e.singleRow,d=e.emptySingleRow,h=e.maxNumCols,f=e.leqno;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new Yt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var g=[],m=[g],U=[],y=[],b=l!=null?[]:void 0;function v(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function w(){b&&(t.gullet.macros.get("\\df@tag")?(b.push(t.subparse([new Nd("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):b.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(v(),y.push(J0e(t));;){var T=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var S={type:"ordgroup",mode:t.mode,body:T};r&&(S={type:"styling",mode:t.mode,style:r,resetFont:!0,body:[S]}),g.push(S);var C=t.fetch().text;if(C==="&"){if(h&&g.length===h){if(u||o)throw new Yt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(C==="\\end"){w(),g.length===1&&S.type==="styling"&&S.body.length===1&&S.body[0].type==="ordgroup"&&S.body[0].body.length===0&&(m.length>1||!d)&&m.pop(),y.length<m.length+1&&y.push([]);break}else if(C==="\\\\"){t.consume();var k=void 0;t.gullet.future().text!==" "&&(k=t.parseSizeGroup(!0)),U.push(k?k.value:null),w(),y.push(J0e(t)),g=[],m.push(g),v()}else throw new Yt("Expected & or \\\\ or \\cr or \\end",t.nextToken)}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:t.mode,addJot:i,arraystretch:s,body:m,cols:a,rowGaps:U,hskipBeforeAndAfter:n,hLinesBeforeRow:y,colSeparationType:o,tags:b,leqno:f}}function yte(t){return t.slice(0,1)==="d"?"display":"text"}var df=function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,o=0,l=new Array(a),u=[],d=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),h=1/r.fontMetrics().ptPerEm,f=5*h;if(e.colSeparationType&&e.colSeparationType==="small"){var p=r.havingStyle(fn.SCRIPT).sizeMultiplier;f=.2778*(p/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?xa({number:3,unit:"ex"},r):12*h,m=3*h,U=e.arraystretch*g,y=.7*U,b=.3*U,v=0;function w(Te){for(var re=0;re<Te.length;++re)re>0&&(v+=.25),u.push({pos:v,isDashed:Te[re]})}for(w(s[0]),n=0;n<e.body.length;++n){var T=e.body[n],S=y,C=b;o<T.length&&(o=T.length);var k={cells:new Array(T.length),height:0,depth:0,pos:0};for(i=0;i<T.length;++i){var E=mi(T[i],r);C<E.depth&&(C=E.depth),S<E.height&&(S=E.height),k.cells[i]=E}var A=e.rowGaps[n],M=0;A&&(M=xa(A,r),M>0&&(M+=b,C<M&&(C=M),M=0)),e.addJot&&n<e.body.length-1&&(C+=m),k.height=S,k.depth=C,v+=S,k.pos=v,v+=C+M,l[n]=k,w(s[n+1])}var P=v/2+r.fontMetrics().axisHeight,N=e.cols||[],I=[],L,_,D=[];if(e.tags&&e.tags.some(Te=>Te))for(n=0;n<a;++n){var O=l[n],B=O.pos-P,F=e.tags[n],z=void 0;F===!0?z=Ft(["eqn-num"],[],r):F===!1?z=Ft([],[],r):z=Ft([],Bs(F,r,!0),r),z.depth=O.depth,z.height=O.height,D.push({type:"elem",elem:z,shift:B})}for(i=0,_=0;i<o||_<N.length;++i,++_){for(var $,H=N[_],V=!0;((G=H)==null?void 0:G.type)==="separator";){var G;if(V||(L=Ft(["arraycolsep"],[]),L.style.width=Xt(r.fontMetrics().doubleRuleSep),I.push(L)),H.separator==="|"||H.separator===":"){var K=H.separator==="|"?"solid":"dashed",W=Ft(["vertical-separator"],[],r);W.style.height=Xt(v),W.style.borderRightWidth=Xt(d),W.style.borderRightStyle=K,W.style.margin="0 "+Xt(-d/2);var oe=v-P;oe&&(W.style.verticalAlign=Xt(-oe)),I.push(W)}else throw new Yt("Invalid separator type: "+H.separator);_++,H=N[_],V=!1}if(!(i>=o)){var Z=void 0;if(i>0||e.hskipBeforeAndAfter){var J,ne;Z=(J=(ne=H)==null?void 0:ne.pregap)!=null?J:f,Z!==0&&(L=Ft(["arraycolsep"],[]),L.style.width=Xt(Z),I.push(L))}var ie=[];for(n=0;n<a;++n){var me=l[n],te=me.cells[i];if(te){var Re=me.pos-P;te.depth=me.depth,te.height=me.height,ie.push({type:"elem",elem:te,shift:Re})}}var _e=pi({positionType:"individualShift",children:ie}),He=Ft(["col-align-"+((($=H)==null?void 0:$.align)||"c")],[_e]);if(I.push(He),i<o-1||e.hskipBeforeAndAfter){var ce,de;Z=(ce=(de=H)==null?void 0:de.postgap)!=null?ce:f,Z!==0&&(L=Ft(["arraycolsep"],[]),L.style.width=Xt(Z),I.push(L))}}}var we=Ft(["mtable"],I);if(u.length>0){for(var ge=n4("katex-hline",r,d),ze=n4("katex-hdashline",r,d),xe=[{type:"elem",elem:we,shift:0}];u.length>0;){var Ee=u.pop(),qe=Ee.pos-P;Ee.isDashed?xe.push({type:"elem",elem:ze,shift:qe}):xe.push({type:"elem",elem:ge,shift:qe})}we=pi({positionType:"individualShift",children:xe})}if(D.length===0)return Ft(["mord"],[we],r);var le=pi({positionType:"individualShift",children:D}),pe=Ft(["katex-tag"],[le],r);return up([we,pe])},MGt={c:"center ",l:"left ",r:"right "},hf=function(e,r){for(var n=[],i=new qt("mtd",[],["mtr-glue"]),a=new qt("mtd",[],["mml-eqn-num"]),s=0;s<e.body.length;s++){for(var o=e.body[s],l=[],u=0;u<o.length;u++)l.push(new qt("mtd",[Li(o[u],r)]));e.tags&&e.tags[s]&&(l.unshift(i),l.push(i),e.leqno?l.unshift(a):l.push(a)),n.push(new qt("mtr",l))}var d=new qt("mtable",n),h=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);d.setAttribute("rowspacing",Xt(h));var f="",p="";if(e.cols&&e.cols.length>0){var g=e.cols,m="",U=!1,y=0,b=g.length;g[0].type==="separator"&&(f+="top ",y=1),g[g.length-1].type==="separator"&&(f+="bottom ",b-=1);for(var v=y;v<b;v++){var w=g[v];w.type==="align"?(p+=MGt[w.align],U&&(m+="none "),U=!0):w.type==="separator"&&U&&(m+=w.separator==="|"?"solid ":"dashed ",U=!1)}d.setAttribute("columnalign",p.trim()),/[sd]/.test(m)&&d.setAttribute("columnlines",m.trim())}if(e.colSeparationType==="align"){for(var T=e.cols||[],S="",C=1;C<T.length;C++)S+=C%2?"0em ":"1em ";d.setAttribute("columnspacing",S.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?d.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?d.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?d.setAttribute("columnspacing","0.5em"):d.setAttribute("columnspacing","1em");var k="",E=e.hLinesBeforeRow;f+=E[0].length>0?"left ":"",f+=E[E.length-1].length>0?"right ":"";for(var A=1;A<E.length-1;A++)k+=E[A].length===0?"none ":E[A][0]?"dashed ":"solid ";return/[sd]/.test(k)&&d.setAttribute("rowlines",k.trim()),f!==""&&(d=new qt("menclose",[d]),d.setAttribute("notation",f.trim())),e.arraystretch&&e.arraystretch<1&&(d=new qt("mstyle",[d]),d.setAttribute("scriptlevel","1")),d},ERe=function(e,r){e.envName.includes("ed")||gP(e);var n=[],i=e.envName==="split",a=E1(e.parser,{cols:n,addJot:!0,autoTag:i?void 0:Ute(e.envName),emptySingleRow:!0,colSeparationType:e.envName.includes("at")?"alignat":"align",maxNumCols:i?2:void 0,leqno:e.parser.settings.leqno},"display"),s=0,o=0,l={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var u="",d=0;d<r[0].body.length;d++){var h=xn(r[0].body[d],"textord");u+=h.text}s=Number(u),o=s*2}var f=!o;a.body.forEach(function(U){for(var y=1;y<U.length;y+=2){var b=xn(U[y],"styling"),v=xn(b.body[0],"ordgroup");v.body.unshift(l)}if(f)o<U.length&&(o=U.length);else{var w=U.length/2;if(s<w)throw new Yt("Too many math in a row: "+("expected "+s+", but got "+w),U[0])}});for(var p=0;p<o;++p){var g="r",m=0;p%2===1?g="l":p>0&&f&&(m=1),n[p]={type:"align",align:g,pregap:m,postgap:0}}return a.colSeparationType=f?"align":"alignat",a};uf({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=hP(e[0]),n=r?[e[0]]:xn(e[0],"ordgroup").body,i=n.map(function(s){var o=dP(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new Yt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return E1(t.parser,a,yte(t.envName))},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new Yt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=E1(t.parser,n,yte(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=E1(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=hP(e[0]),n=r?[e[0]]:xn(e[0],"ordgroup").body,i=n.map(function(o){var l=dP(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new Yt("Unknown column alignment: "+u,o)});if(i.length>1)throw new Yt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=E1(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new Yt("{subarray} can contain only one column");return s},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=E1(t.parser,e,yte(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:ERe,htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){AGt.has(t.envName)&&gP(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Ute(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return E1(t.parser,e,"display")},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:ERe,htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){gP(t);var e={autoTag:Ute(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return E1(t.parser,e,"display")},htmlBuilder:df,mathmlBuilder:hf});uf({type:"array",names:["CD"],props:{numArgs:0},handler(t){return gP(t),hGt(t.parser)},htmlBuilder:df,mathmlBuilder:hf});Se("\\nonumber","\\gdef\\@eqnsw{0}");Se("\\notag","\\nonumber");sr({type:"text",names:["\\hline","\\hdashline"],numArgs:0,allowedInText:!0,allowedInMath:!0,handler(t,e){throw new Yt(t.funcName+" valid only within array environment")}});var Q0e=TRe;sr({type:"environment",names:["\\begin","\\end"],numArgs:1,argTypes:["text"],handler(t,e){var r=t.parser,n=t.funcName,i=e[0];if(i.type!=="ordgroup")throw new Yt("Invalid environment name",i);for(var a="",s=0;s<i.body.length;++s)a+=xn(i.body[s],"textord").text;if(n==="\\begin"){if(!Object.prototype.hasOwnProperty.call(Q0e,a))throw new Yt("No such environment: "+a,i);var o=Q0e[a],l=r.parseArguments("\\begin{"+a+"}",o),u=l.args,d=l.optArgs,h={mode:r.mode,envName:a,parser:r},f=o.handler(h,u,d);r.expect("\\end",!1);var p=r.nextToken,g=xn(r.parseFunction(),"environment");if(g.name!==a)throw new Yt("Mismatch: \\begin{"+a+"} matched by \\end{"+g.name+"}",p);return f}return{type:"environment",mode:r.mode,name:a,nameGroup:i}}});var RGt=(t,e)=>{var r=t.font,n=e.withFont(r);return mi(t.body,n)},IGt=(t,e)=>{var r=t.font,n=e.withFont(r);return Li(t.body,n)},epe={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};sr({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],numArgs:1,allowedInArgument:!0,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=IL(e[0]),a=n in epe?epe[n]:n;return{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:RGt,mathmlBuilder:IGt});sr({type:"mclass",names:["\\boldsymbol","\\bm"],numArgs:1,handler:(t,e)=>{var r=t.parser,n=e[0];return{type:"mclass",mode:r.mode,mclass:fP(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:lp(n)}}});sr({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],numArgs:0,allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=t.breakOnTokenText,a=r.mode,s=r.parseExpression(!0,i);return{type:"font",mode:a,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:s}}}});var LGt=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=mi(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height<o?o:s.height,s.depth=s.depth<l?l:s.depth}a=e.havingStyle(i);var u=mi(t.denom,a,e),d,h,f;t.hasBarLine?(t.barSize?(h=xa(t.barSize,e),d=n4("frac-line",e,h)):d=n4("frac-line",e),h=d.height,f=d.height):(d=null,h=0,f=e.fontMetrics().defaultRuleThickness);var p,g,m;r.size===fn.DISPLAY.size?(p=e.fontMetrics().num1,h>0?g=3*f:g=7*f,m=e.fontMetrics().denom1):(h>0?(p=e.fontMetrics().num2,g=f):(p=e.fontMetrics().num3,g=3*f),m=e.fontMetrics().denom2);var U;if(d){var b=e.fontMetrics().axisHeight;p-s.depth-(b+.5*h)<g&&(p+=g-(p-s.depth-(b+.5*h))),b-.5*h-(u.height-m)<g&&(m+=g-(b-.5*h-(u.height-m)));var v=-(b-.5*h);U=pi({positionType:"individualShift",children:[{type:"elem",elem:u,shift:m},{type:"elem",elem:d,shift:v},{type:"elem",elem:s,shift:-p}]})}else{var y=p-s.depth-(u.height-m);y<g&&(p+=.5*(g-y),m+=.5*(g-y)),U=pi({positionType:"individualShift",children:[{type:"elem",elem:u,shift:m},{type:"elem",elem:s,shift:-p}]})}a=e.havingStyle(r),U.height*=a.sizeMultiplier/e.sizeMultiplier,U.depth*=a.sizeMultiplier/e.sizeMultiplier;var w;r.size===fn.DISPLAY.size?w=e.fontMetrics().delim1:r.size===fn.SCRIPTSCRIPT.size?w=e.havingStyle(fn.SCRIPT).fontMetrics().delim2:w=e.fontMetrics().delim2;var T,S;return t.leftDelim==null?T=zT(e,["mopen"]):T=Gq(t.leftDelim,w,!0,e.havingStyle(r),t.mode,["mopen"]),t.continued?S=Ft([]):t.rightDelim==null?S=zT(e,["mclose"]):S=Gq(t.rightDelim,w,!0,e.havingStyle(r),t.mode,["mclose"]),Ft(["mord"].concat(a.sizingClasses(e)),[T,Ft(["mfrac"],[U]),S],e)},NGt=(t,e)=>{var r=new qt("mfrac",[Li(t.numer,e),Li(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=xa(t.barSize,e);r.setAttribute("linethickness",Xt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new qt("mo",[new fs(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new qt("mo",[new fs(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return pte(i)}return r},ARe=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};sr({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],numArgs:2,allowedInArgument:!0,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",d=null;return u||n.startsWith("\\d")?d="display":n.startsWith("\\t")&&(d="text"),ARe({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},d)},htmlBuilder:LGt,mathmlBuilder:NGt});sr({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],numArgs:0,infix:!0,handler(t){var e=t.parser,r=t.funcName,n=t.token,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var tpe=["display","text","script","scriptscript"],rpe=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};sr({type:"genfrac",names:["\\genfrac"],numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"],handler(t,e){var r=t.parser,n=e[4],i=e[5],a=IL(e[0]),s=a.type==="atom"&&a.family==="open"?rpe(a.text):null,o=IL(e[1]),l=o.type==="atom"&&o.family==="close"?rpe(o.text):null,u=xn(e[2],"size"),d,h=null;u.isBlank?d=!0:(h=u.value,d=h.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var g=xn(p.body[0],"textord");f=tpe[Number(g.text)]}}else p=xn(p,"textord"),f=tpe[Number(p.text)];return ARe({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:d,barSize:h,leftDelim:s,rightDelim:l},f)}});sr({type:"infix",names:["\\above"],numArgs:1,argTypes:["size"],infix:!0,handler(t,e){var r=t.parser;t.funcName;var n=t.token;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:xn(e[0],"size").value,token:n}}});sr({type:"genfrac",names:["\\\\abovefrac"],numArgs:3,argTypes:["math","size","math"],handler:(t,e)=>{var r=t.parser;t.funcName;var n=e[0],i=xn(e[1],"infix").size;if(!i)throw new Error("\\\\abovefrac expected size, but got "+String(i));var a=e[2],s=i.number>0;return{type:"genfrac",mode:r.mode,numer:n,denom:a,continued:!1,hasBarLine:s,barSize:i,leftDelim:null,rightDelim:null}}});var MRe=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?mi(t.sup,e.havingStyle(r.sup()),e):mi(t.sub,e.havingStyle(r.sub()),e),i=xn(t.base,"horizBrace")):i=xn(t,"horizBrace");var a=mi(i.base,e.havingBaseStyle(fn.DISPLAY)),s=uP(i,e),o;if(i.isOver?o=pi({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s,wrapperClasses:["svg-align"]}]}):o=pi({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:a}]}),n){var l=Ft(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=pi({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=pi({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return Ft(["minner",i.isOver?"mover":"munder"],[o],e)},OGt=(t,e)=>{var r=cP(t.label);return new qt(t.isOver?"mover":"munder",[Li(t.base,e),r])};sr({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],numArgs:1,handler(t,e){var r=t.parser,n=t.funcName;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:MRe,mathmlBuilder:OGt});sr({type:"href",names:["\\href"],numArgs:2,argTypes:["url","original"],allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=e[1],i=xn(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:hs(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=Bs(t.body,e,!1);return PVt(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=Jg(t.body,e);return r instanceof qt||(r=new qt("mrow",[r])),r.setAttribute("href",t.href),r}});sr({type:"href",names:["\\url"],numArgs:1,argTypes:["url"],allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=xn(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a<n.length;a++){var s=n[a];s==="~"&&(s="\\textasciitilde"),i.push({type:"textord",mode:"text",text:s})}var o={type:"text",mode:r.mode,font:"\\texttt",body:i};return{type:"href",mode:r.mode,href:n,body:hs(o)}}});sr({type:"hbox",names:["\\hbox"],numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0,handler(t,e){var r=t.parser;return{type:"hbox",mode:r.mode,body:hs(e[0])}},htmlBuilder(t,e){var r=Bs(t.body,e.withFont(""),!1);return up(r)},mathmlBuilder(t,e){return new qt("mrow",ou(t.body,e.withFont("")))}});sr({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],numArgs:2,argTypes:["raw","original"],allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=t.funcName;t.token;var i=xn(e[0],"raw").string,a=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var s,o={};switch(n){case"\\htmlClass":o.class=i,s={command:"\\htmlClass",class:i};break;case"\\htmlId":o.id=i,s={command:"\\htmlId",id:i};break;case"\\htmlStyle":o.style=i,s={command:"\\htmlStyle",style:i};break;case"\\htmlData":{for(var l="{,}",u=[],d="",h=0;h<i.length;h++)i.startsWith(l,h)?(d+=",",h+=l.length-1):i[h]===","?(u.push(d),d=""):d+=i[h];u.push(d);for(var f=0;f<u.length;f++){var p=u[f],g=p.indexOf("=");if(g<0)throw new Yt("\\htmlData key/value '"+p+"' missing equals sign");var m=p.slice(0,g),U=p.slice(g+1);o["data-"+m.trim()]=U}s={command:"\\htmlData",attributes:o};break}default:throw new Error("Unrecognized html command")}return r.settings.isTrusted(s)?{type:"html",mode:r.mode,attributes:o,body:hs(a)}:r.formatUnsupportedCmd(n)},htmlBuilder:(t,e)=>{var r=Bs(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=Ft(n,r,e);for(var a of Object.entries(t.attributes)){var s=a[0],o=a[1];s!=="class"&&i.setAttribute(s,o)}return i},mathmlBuilder:(t,e)=>Jg(t.body,e)});sr({type:"htmlmathml",names:["\\html@mathml"],numArgs:2,allowedInArgument:!0,allowedInText:!0,handler:(t,e)=>{var r=t.parser;return{type:"htmlmathml",mode:r.mode,html:hs(e[0]),mathml:hs(e[1])}},htmlBuilder:(t,e)=>{var r=Bs(t.html,e,!1);return up(r)},mathmlBuilder:(t,e)=>Jg(t.mathml,e)});var AF=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new Yt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!XMe(n))throw new Yt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};sr({type:"includegraphics",names:["\\includegraphics"],numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1,handler:(t,e,r)=>{var n=t.parser,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=xn(r[0],"raw").string,u=l.split(","),d=0;d<u.length;d++){var h=u[d].split("=");if(h.length===2){var f=h[1].trim();switch(h[0].trim()){case"alt":o=f;break;case"width":i=AF(f);break;case"height":a=AF(f);break;case"totalheight":s=AF(f);break;default:throw new Yt("Invalid key: '"+h[0]+"' in \\includegraphics.")}}}var p=xn(e[0],"url").url;return o===""&&(o=p,o=o.replace(/^.*[\\/]/,""),o=o.substring(0,o.lastIndexOf("."))),n.settings.isTrusted({command:"\\includegraphics",url:p})?{type:"includegraphics",mode:n.mode,alt:o,width:i,height:a,totalheight:s,src:p}:n.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(t,e)=>{var r=xa(t.height,e),n=0;t.totalheight.number>0&&(n=xa(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=xa(t.width,e));var a={height:Xt(r+n)};i>0&&(a.width=Xt(i)),n>0&&(a.verticalAlign=Xt(-n));var s=new CVt(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new qt("mglyph",[]);r.setAttribute("alt",t.alt);var n=xa(t.height,e),i=0;if(t.totalheight.number>0&&(i=xa(t.totalheight,e)-n,r.setAttribute("valign",Xt(-i))),r.setAttribute("height",Xt(n+i)),t.width.number>0){var a=xa(t.width,e);r.setAttribute("width",Xt(a))}return r.setAttribute("src",t.src),r}});sr({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0,handler(t,e){var r=t.parser,n=t.funcName,i=xn(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return tRe(t.dimension,e)},mathmlBuilder(t,e){var r=xa(t.dimension,e);return new oRe(r)}});sr({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],numArgs:1,allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=Ft([],[mi(t.body,e)]),r=Ft(["katex-inner"],[r],e)):r=Ft(["katex-inner"],[mi(t.body,e)]);var n=Ft(["katex-fix"],[]),i=Ft([t.alignment],[r,n],e),a=Ft(["katex-strut"]);return a.style.height=Xt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Xt(-i.depth)),i.children.unshift(a),i=Ft(["katex-thinbox"],[i],e),Ft(["mord","katex-vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new qt("mpadded",[Li(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});sr({type:"styling",names:["\\(","$"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(t,e){var r=t.funcName,n=t.parser,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",resetFont:!0,body:s}}});sr({type:"text",names:["\\)","\\]"],numArgs:0,allowedInText:!0,allowedInMath:!1,handler(t,e){throw new Yt("Mismatched "+t.funcName)}});var npe=(t,e)=>{switch(e.style.size){case fn.DISPLAY.size:return t.display;case fn.TEXT.size:return t.text;case fn.SCRIPT.size:return t.script;case fn.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};sr({type:"mathchoice",names:["\\mathchoice"],numArgs:4,primitive:!0,handler:(t,e)=>{var r=t.parser;return{type:"mathchoice",mode:r.mode,display:hs(e[0]),text:hs(e[1]),script:hs(e[2]),scriptscript:hs(e[3])}},htmlBuilder:(t,e)=>{var r=npe(t,e),n=Bs(r,e,!1);return up(n)},mathmlBuilder:(t,e)=>{var r=npe(t,e);return Jg(r,e)}});var RRe=(t,e,r,n,i,a,s)=>{t=Ft([],[t]);var o=r&&lp(r),l,u;if(e){var d=mi(e,n.havingStyle(i.sup()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-d.depth)}}if(r){var h=mi(r,n.havingStyle(i.sub()),n);l={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-h.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=pi({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Xt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Xt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var g=t.height-s;f=pi({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Xt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var m=t.depth+s;f=pi({positionType:"bottom",positionData:m,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Xt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var U=[f];if(l&&a!==0&&!o){var y=Ft(["mspace"],[],n);y.style.marginRight=Xt(a),U.unshift(y)}return Ft(["mop","op-limits"],U,n)},IRe=new Set(["\\smallint"]),LRe=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=xn(t.base,"op"),i=!0):a=xn(t,"op");var s=e.style,o=!1;s.size===fn.DISPLAY.size&&a.symbol&&!IRe.has(a.name)&&(o=!0);var l,u;if(a.symbol){var d=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=wl(a.name,d,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),u=l.italic,h.length>0){var f=nRe(h+"Size"+(o?"2":"1"),e);l=pi({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=u}}else if(a.body){var p=Bs(a.body,e,!0);p.length===1&&p[0]instanceof tu?(l=p[0],l.classes[0]="mop"):l=Ft(["mop"],p,e)}else{for(var g=[],m=1;m<a.name.length;m++)g.push(hte(a.name[m],a.mode,e));l=Ft(["mop"],g,e)}var U=0,y=0;if((l instanceof tu||a.name==="\\oiint"||a.name==="\\oiiint")&&!a.suppressBaseShift){var b;U=(l.height-l.depth)/2-e.fontMetrics().axisHeight,y=(b=l.italic)!=null?b:0}return i?RRe(l,r,n,e,s,y,U):(U&&(l.style.position="relative",l.style.top=Xt(U)),l)},DGt=(t,e)=>{var r;if(t.symbol)r=new qt("mo",[Gu(t.name,t.mode)]),IRe.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new qt("mo",ou(t.body,e));else{r=new qt("mi",[new fs(t.name.slice(1))]);var n=new qt("mo",[Gu("⁡","text")]);t.parentIsSupSub?r=new qt("mrow",[r,n]):r=sRe([r,n])}return r},PGt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};sr({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],numArgs:0,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=n;return i.length===1&&(i=PGt[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:LRe,mathmlBuilder:DGt});sr({type:"op",names:["\\mathop"],numArgs:1,primitive:!0,handler:(t,e)=>{var r=t.parser,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:hs(n)}}});var _Gt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};sr({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"],numArgs:0,handler(t){var e=t.parser,r=t.funcName;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}}});sr({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],numArgs:0,handler(t){var e=t.parser,r=t.funcName;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}}});sr({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],numArgs:0,allowedInArgument:!0,handler(t){var e=t.parser,r=t.funcName,n=r;return n.length===1&&(n=_Gt[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}}});var NRe=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=xn(t.base,"operatorname"),i=!0):a=xn(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(h=>{var f="text"in h?h.text:void 0;return typeof f=="string"?{type:"textord",mode:h.mode,text:f}:h}),l=Bs(o,e.withFont("mathrm"),!0),u=0;u<l.length;u++){var d=l[u];d instanceof tu&&(d.text=d.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}s=Ft(["mop"],l,e)}else s=Ft(["mop"],[],e);return i?RRe(s,r,n,e,e.style,0,0):s},BGt=(t,e)=>{for(var r=ou(t.body,e.withFont("mathrm")),n=!0,i=0;i<r.length;i++){var a=r[i];if(!(a instanceof oRe))if(a instanceof qt)switch(a.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var s=a.children[0];a.children.length===1&&s instanceof fs?s.text=s.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break}default:n=!1}else n=!1}if(n){var o=r.map(d=>d.toText()).join("");r=[new fs(o)]}var l=new qt("mi",r);l.setAttribute("mathvariant","normal");var u=new qt("mo",[Gu("⁡","text")]);return t.parentIsSupSub?new qt("mrow",[l,u]):sRe([l,u])};sr({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],numArgs:1,handler:(t,e)=>{var r=t.parser,n=t.funcName,i=e[0];return{type:"operatorname",mode:r.mode,body:hs(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:NRe,mathmlBuilder:BGt});Se("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");L5({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?up(Bs(t.body,e,!1)):Ft(["mord"],Bs(t.body,e,!0),e)},mathmlBuilder(t,e){return Jg(t.body,e,!0)}});sr({type:"overline",names:["\\overline"],numArgs:1,handler(t,e){var r=t.parser,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=mi(t.body,e.havingCrampedStyle()),n=n4("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=pi({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return Ft(["mord","katex-overline"],[a],e)},mathmlBuilder(t,e){var r=new qt("mo",[new fs("‾")]);r.setAttribute("stretchy","true");var n=new qt("mover",[Li(t.body,e),r]);return n.setAttribute("accent","true"),n}});sr({type:"phantom",names:["\\phantom"],numArgs:1,allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=e[0];return{type:"phantom",mode:r.mode,body:hs(n)}},htmlBuilder:(t,e)=>{var r=Bs(t.body,e.withPhantom(),!1);return up(r)},mathmlBuilder:(t,e)=>{var r=ou(t.body,e);return new qt("mphantom",r)}});Se("\\hphantom","\\smash{\\phantom{#1}}");sr({type:"vphantom",names:["\\vphantom"],numArgs:1,allowedInText:!0,handler:(t,e)=>{var r=t.parser,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=Ft(["katex-inner"],[mi(t.body,e.withPhantom())]),n=Ft(["katex-fix"],[]);return Ft(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=ou(hs(t.body),e),n=new qt("mphantom",r),i=new qt("mpadded",[n]);return i.setAttribute("width","0px"),i}});sr({type:"raisebox",names:["\\raisebox"],numArgs:2,argTypes:["size","hbox"],allowedInText:!0,handler(t,e){var r=t.parser,n=xn(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=mi(t.body,e),n=xa(t.dy,e);return pi({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new qt("mpadded",[Li(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});sr({type:"internal",names:["\\relax"],numArgs:0,allowedInText:!0,allowedInArgument:!0,handler(t){var e=t.parser;return{type:"internal",mode:e.mode}}});sr({type:"rule",names:["\\rule"],numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"],handler(t,e,r){var n=t.parser,i=r[0],a=xn(e[0],"size"),s=xn(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&xn(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=Ft(["mord","katex-rule"],[],e),n=xa(t.width,e),i=xa(t.height,e),a=t.shift?xa(t.shift,e):0;return r.style.borderRightWidth=Xt(n),r.style.borderTopWidth=Xt(i),r.style.bottom=Xt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=xa(t.width,e),n=xa(t.height,e),i=t.shift?xa(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new qt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Xt(r)),s.setAttribute("height",Xt(n));var o=new qt("mpadded",[s]);return i>=0?o.setAttribute("height",Xt(i)):(o.setAttribute("height",Xt(i)),o.setAttribute("depth",Xt(-i))),o.setAttribute("voffset",Xt(i)),o}});function ORe(t,e,r){for(var n=Bs(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a<n.length;a++){var s=n[a].classes.indexOf("katex-sizing");s<0?Array.prototype.push.apply(n[a].classes,e.sizingClasses(r)):n[a].classes[s+1]==="reset-size"+e.size&&(n[a].classes[s+1]="reset-size"+r.size),n[a].height*=i,n[a].depth*=i}return up(n)}var ipe=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],$Gt=(t,e)=>{var r=e.havingSize(t.size);return ORe(t.body,r,e)};sr({type:"sizing",names:ipe,numArgs:0,allowedInText:!0,handler:(t,e)=>{var r=t.breakOnTokenText,n=t.funcName,i=t.parser,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:ipe.indexOf(n)+1,body:a}},htmlBuilder:$Gt,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=ou(t.body,r),i=new qt("mstyle",n);return i.setAttribute("mathsize",Xt(r.sizeMultiplier)),i}});sr({type:"smash",names:["\\smash"],numArgs:1,numOptionalArgs:1,allowedInText:!0,handler:(t,e,r)=>{var n=t.parser,i=!1,a=!1,s=r[0]&&xn(r[0],"ordgroup");if(s)for(var o,l=0;l<s.body.length;++l){var u=s.body[l];if(o=dP(u).text,o==="t")i=!0;else if(o==="b")a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var d=e[0];return{type:"smash",mode:n.mode,body:d,smashHeight:i,smashDepth:a}},htmlBuilder:(t,e)=>{var r=Ft([],[mi(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return Ft(["mord","katex-smash"],[r],e);if(r.children)for(var n=0;n<r.children.length;n++)t.smashHeight&&(r.children[n].height=0),t.smashDepth&&(r.children[n].depth=0);var i=pi({positionType:"firstBaseline",children:[{type:"elem",elem:r}]});return Ft(["mord"],[i],e)},mathmlBuilder:(t,e)=>{var r=new qt("mpadded",[Li(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});sr({type:"sqrt",names:["\\sqrt"],numArgs:1,numOptionalArgs:1,handler(t,e,r){var n=t.parser,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=mi(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=i4(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.id<fn.TEXT.id&&(a=e.fontMetrics().xHeight);var s=i+a/4,o=r.height+r.depth+s+i,l=vGt(o,e),u=l.span,d=l.ruleWidth,h=l.advanceWidth,f=u.height-d;f>r.height+r.depth+s&&(s=(s+f-r.height-r.depth)/2);var p=u.height-r.height-s-d;r.style.paddingLeft=Xt(h);var g=pi({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+p)},{type:"elem",elem:u},{type:"kern",size:d}]});if(t.index){var m=e.havingStyle(fn.SCRIPTSCRIPT),U=mi(t.index,m,e),y=.6*(g.height-g.depth),b=pi({positionType:"shift",positionData:-y,children:[{type:"elem",elem:U}]}),v=Ft(["katex-root"],[b]);return Ft(["mord","sqrt"],[v,g],e)}else return Ft(["mord","sqrt"],[g],e)},mathmlBuilder(t,e){var r=t.body,n=t.index;return n?new qt("mroot",[Li(r,e),Li(n,e)]):new qt("msqrt",[Li(r,e)])}});var Wq={display:fn.DISPLAY,text:fn.TEXT,script:fn.SCRIPT,scriptscript:fn.SCRIPTSCRIPT};function FGt(t){return t in Wq}sr({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],numArgs:0,allowedInText:!0,primitive:!0,handler(t,e){var r=t.breakOnTokenText,n=t.funcName,i=t.parser,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);if(!FGt(s))throw new Error("Unknown style: "+s);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=Wq[t.style],n=e.havingStyle(r);return t.resetFont&&(n=n.withFont("")),ORe(t.body,n,e)},mathmlBuilder(t,e){var r=Wq[t.style],n=e.havingStyle(r);t.resetFont&&(n=n.withFont(""));var i=ou(t.body,n),a=new qt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var zGt=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===fn.DISPLAY.size||n.alwaysHandleSupSub);return i?LRe:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===fn.DISPLAY.size||n.limits);return a?NRe:null}else{if(n.type==="accent")return lp(n.base)?hRe:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?MRe:null}else return null}else return null};L5({type:"supsub",htmlBuilder(t,e){var r=zGt(t,e);if(r)return r(t,e);var n=t.base,i=t.sup,a=t.sub,s=mi(n,e),o,l,u=e.fontMetrics(),d=0,h=0,f=n&&lp(n);if(i){var p=e.havingStyle(e.style.sup());o=mi(i,p,e),f||(d=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());l=mi(a,g,e),f||(h=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var m;e.style===fn.DISPLAY?m=u.sup1:e.style.cramped?m=u.sup3:m=u.sup2;var U=e.sizeMultiplier,y=Xt(.5/u.ptPerEm/U),b=null;if(l){var v=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");if(s instanceof tu||v){var w;b=Xt(-((w=s.italic)!=null?w:0))}}var T;if(o&&l){d=Math.max(d,m,o.depth+.25*u.xHeight),h=Math.max(h,u.sub2);var S=u.defaultRuleThickness,C=4*S;if(d-o.depth-(l.height-h)<C){h=C-(d-o.depth)+l.height;var k=.8*u.xHeight-(d-o.depth);k>0&&(d+=k,h-=k)}var E=[{type:"elem",elem:l,shift:h,marginRight:y,marginLeft:b},{type:"elem",elem:o,shift:-d,marginRight:y}];T=pi({positionType:"individualShift",children:E})}else if(l){h=Math.max(h,u.sub1,l.height-.8*u.xHeight);var A=[{type:"elem",elem:l,marginLeft:b,marginRight:y}];T=pi({positionType:"shift",positionData:h,children:A})}else if(o)d=Math.max(d,m,o.depth+.25*u.xHeight),T=pi({positionType:"shift",positionData:-d,children:[{type:"elem",elem:o,marginRight:y}]});else throw new Error("supsub must have either sup or sub.");var M=Fq(s,"right")||"mord";return Ft([M],[s,Ft(["msupsub"],[T])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Li(t.base,e)];t.sub&&a.push(Li(t.sub,e)),t.sup&&a.push(Li(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===fn.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===fn.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===fn.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===fn.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===fn.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===fn.DISPLAY)?s="mover":s="msup"}return new qt(s,a)}});L5({type:"atom",htmlBuilder(t,e){return hte(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new qt("mo",[Gu(t.text,t.mode)]);if(t.family==="bin"){var n=gte(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var DRe={mi:"italic",mn:"normal",mtext:"normal"};L5({type:"mathord",htmlBuilder(t,e){return lP(t,e)},mathmlBuilder(t,e){var r=new qt("mi",[Gu(t.text,t.mode,e)]),n=gte(t,e)||"italic";return n!==DRe[r.type]&&r.setAttribute("mathvariant",n),r}});L5({type:"textord",htmlBuilder(t,e){return lP(t,e)},mathmlBuilder(t,e){var r=Gu(t.text,t.mode,e),n=gte(t,e)||"normal",i;return t.mode==="text"?i=new qt("mtext",[r]):/[0-9]/.test(t.text)?i=new qt("mn",[r]):t.text==="\\prime"?i=new qt("mo",[r]):i=new qt("mi",[r]),n!==DRe[i.type]&&i.setAttribute("mathvariant",n),i}});var ape=new Map([["\\nobreak","nobreak"],["\\allowbreak","allowbreak"]]),spe=new Map([[" ",{}],["\\ ",{}],["~",{className:"nobreak"}],["\\space",{}],["\\nobreakspace",{className:"nobreak"}]]);L5({type:"spacing",htmlBuilder(t,e){var r=spe.get(t.text),n=ape.get(t.text);if(r){var i=r.className||"";if(t.mode==="text"){var a=lP(t,e);return a.classes.push(i),a}else return Ft(["mspace",i],[hte(t.text,t.mode,e)],e)}else{if(n)return Ft(["mspace",n],[],e);throw new Yt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(spe.has(t.text))r=new qt("mtext",[new fs(" ")]);else{if(ape.has(t.text))return new qt("mspace");throw new Yt('Unknown type of space "'+t.text+'"')}return r}});var ope=()=>{var t=new qt("mtd",[]);return t.setAttribute("width","50%"),t};L5({type:"tag",mathmlBuilder(t,e){var r=new qt("mtable",[new qt("mtr",[ope(),new qt("mtd",[Jg(t.body,e)]),ope(),new qt("mtd",[Jg(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var lpe={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},cpe={"\\textbf":"textbf","\\textmd":"textmd"},HGt={"\\textit":"textit","\\textup":"textup"},upe=(t,e)=>{var r=t.font;if(r){if(lpe[r])return e.withTextFontFamily(lpe[r]);if(cpe[r])return e.withTextFontWeight(cpe[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(HGt[r])};sr({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0,handler(t,e){var r=t.parser,n=t.funcName,i=e[0];return{type:"text",mode:r.mode,body:hs(i),font:n}},htmlBuilder(t,e){var r=upe(t,e),n=Bs(t.body,r,!0);return Ft(["mord","text"],n,r)},mathmlBuilder(t,e){var r=upe(t,e);return Jg(t.body,r)}});sr({type:"underline",names:["\\underline"],numArgs:1,allowedInText:!0,handler(t,e){var r=t.parser;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=mi(t.body,e),n=n4("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=pi({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return Ft(["mord","katex-underline"],[a],e)},mathmlBuilder(t,e){var r=new qt("mo",[new fs("‾")]);r.setAttribute("stretchy","true");var n=new qt("munder",[Li(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});sr({type:"vcenter",names:["\\vcenter"],numArgs:1,argTypes:["original"],allowedInText:!1,handler(t,e){var r=t.parser;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=mi(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return pi({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new qt("mpadded",[Li(t.body,e)],["vcenter"]);return new qt("mrow",[r])}});sr({type:"verb",names:["\\verb"],numArgs:0,allowedInText:!0,handler(t,e,r){throw new Yt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=dpe(t),n=[],i=e.havingStyle(e.style.text()),a=0;a<r.length;a++){var s=r[a];s==="~"&&(s="\\textasciitilde"),n.push(wl(s,"Typewriter-Regular",t.mode,i,["mord","texttt"]))}return Ft(["mord","text"].concat(i.sizingClasses(e)),eRe(n),i)},mathmlBuilder(t,e){var r=new fs(dpe(t)),n=new qt("mtext",[r]);return n.setAttribute("mathvariant","monospace"),n}});var dpe=t=>t.body.replace(/ /g,t.star?"␣":" "),hg=iRe,PRe=`[ \r
]`,VGt="\\\\[a-zA-Z@]+",GGt="\\\\[^\uD800-\uDFFF]",WGt="("+VGt+")"+PRe+"*",qGt=`\\\\(
|[ \r ]+
?)[ \r ]*`,qq="[̀-ͯ]",jGt=new RegExp(qq+"+$"),YGt="("+PRe+"+)|"+(qGt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(qq+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(qq+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+WGt)+("|"+GGt+")");let hpe=class{constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(YGt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new Nd("EOF",new ku(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new Yt("Unexpected character: '"+e[r]+"'",new Nd(e[r],new ku(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(`
`,this.tokenRegex.lastIndex);return a===-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=a+1,this.lex()}return new Nd(i,new ku(this,r,this.tokenRegex.lastIndex))}},XGt=class{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Yt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r of Object.keys(e))e[r]===void 0?delete this.current[r]:this.current[r]=e[r]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return Object.prototype.hasOwnProperty.call(this.current,e)||Object.prototype.hasOwnProperty.call(this.builtins,e)}get(e){return Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:Object.prototype.hasOwnProperty.call(this.builtins,e)?this.builtins[e]:void 0}set(e,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i<this.undefStack.length;i++)delete this.undefStack[i][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!Object.prototype.hasOwnProperty.call(a,e)&&(a[e]=Object.prototype.hasOwnProperty.call(this.current,e)?this.current[e]:void 0)}r==null?delete this.current[e]:this.current[e]=r}};var KGt=CRe;Se("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});Se("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});Se("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});Se("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});Se("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});Se("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");Se("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var fpe={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};Se("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new Yt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=fpe[e.text],n==null||n>=r)throw new Yt("Invalid base-"+r+" digit "+e.text);for(var i;(i=fpe[t.future().text])!=null&&i<r;)n*=r,n+=i,t.popToken()}return"\\@char{"+n+"}"});var bte=(t,e,r,n)=>{var i=t.consumeArg().tokens;if(i.length!==1)throw new Yt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new Yt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new Yt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new Yt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};Se("\\newcommand",t=>bte(t,!1,!0,!1));Se("\\renewcommand",t=>bte(t,!0,!1,!1));Se("\\providecommand",t=>bte(t,!0,!0,!0));Se("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});Se("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});Se("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),hg[r],ua.math[r],ua.text[r]),""});Se("\\bgroup","{");Se("\\egroup","}");Se("~","\\nobreakspace");Se("\\lq","`");Se("\\rq","'");Se("\\aa","\\r a");Se("\\AA","\\r A");Se("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");Se("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");Se("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");Se("ℬ","\\mathscr{B}");Se("ℰ","\\mathscr{E}");Se("ℱ","\\mathscr{F}");Se("ℋ","\\mathscr{H}");Se("ℐ","\\mathscr{I}");Se("ℒ","\\mathscr{L}");Se("ℳ","\\mathscr{M}");Se("ℛ","\\mathscr{R}");Se("ℭ","\\mathfrak{C}");Se("ℌ","\\mathfrak{H}");Se("ℨ","\\mathfrak{Z}");Se("\\Bbbk","\\Bbb{k}");Se("\\llap","\\mathllap{\\textrm{#1}}");Se("\\rlap","\\mathrlap{\\textrm{#1}}");Se("\\clap","\\mathclap{\\textrm{#1}}");Se("\\mathstrut","\\vphantom{(}");Se("\\underbar","\\underline{\\text{#1}}");Se("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');Se("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");Se("\\ne","\\neq");Se("≠","\\neq");Se("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");Se("∉","\\notin");Se("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");Se("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");Se("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");Se("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");Se("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");Se("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");Se("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");Se("⟂","\\perp");Se("‼","\\mathclose{!\\mkern-0.8mu!}");Se("∌","\\notni");Se("⌜","\\ulcorner");Se("⌝","\\urcorner");Se("⌞","\\llcorner");Se("⌟","\\lrcorner");Se("©","\\copyright");Se("®","\\textregistered");Se("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');Se("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');Se("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');Se("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');Se("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");Se("⋮","\\vdots");Se("\\varGamma","\\mathit{\\Gamma}");Se("\\varDelta","\\mathit{\\Delta}");Se("\\varTheta","\\mathit{\\Theta}");Se("\\varLambda","\\mathit{\\Lambda}");Se("\\varXi","\\mathit{\\Xi}");Se("\\varPi","\\mathit{\\Pi}");Se("\\varSigma","\\mathit{\\Sigma}");Se("\\varUpsilon","\\mathit{\\Upsilon}");Se("\\varPhi","\\mathit{\\Phi}");Se("\\varPsi","\\mathit{\\Psi}");Se("\\varOmega","\\mathit{\\Omega}");Se("\\substack","\\begin{subarray}{c}#1\\end{subarray}");Se("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");Se("\\boxed","\\fbox{$\\displaystyle{#1}$}");Se("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");Se("\\implies","\\DOTSB\\;\\Longrightarrow\\;");Se("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");Se("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");Se("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var ppe={",":"\\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"},ZGt=new Set(["bin","rel"]);Se("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in ppe?e=ppe[r]:(r.slice(0,4)==="\\not"||r in ua.math&&ZGt.has(ua.math[r].group))&&(e="\\dotsb"),e});var vte={")":!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};Se("\\dotso",function(t){var e=t.future().text;return e in vte?"\\ldots\\,":"\\ldots"});Se("\\dotsc",function(t){var e=t.future().text;return e in vte&&e!==","?"\\ldots\\,":"\\ldots"});Se("\\cdots",function(t){var e=t.future().text;return e in vte?"\\@cdots\\,":"\\@cdots"});Se("\\dotsb","\\cdots");Se("\\dotsm","\\cdots");Se("\\dotsi","\\!\\cdots");Se("\\dotsx","\\ldots\\,");Se("\\DOTSI","\\relax");Se("\\DOTSB","\\relax");Se("\\DOTSX","\\relax");Se("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");Se("\\,","\\tmspace+{3mu}{.1667em}");Se("\\thinspace","\\,");Se("\\>","\\mskip{4mu}");Se("\\:","\\tmspace+{4mu}{.2222em}");Se("\\medspace","\\:");Se("\\;","\\tmspace+{5mu}{.2777em}");Se("\\thickspace","\\;");Se("\\!","\\tmspace-{3mu}{.1667em}");Se("\\negthinspace","\\!");Se("\\negmedspace","\\tmspace-{4mu}{.2222em}");Se("\\negthickspace","\\tmspace-{5mu}{.277em}");Se("\\enspace","\\kern.5em ");Se("\\enskip","\\hskip.5em\\relax");Se("\\quad","\\hskip1em\\relax");Se("\\qquad","\\hskip2em\\relax");Se("\\tag","\\@ifstar\\tag@literal\\tag@paren");Se("\\tag@paren","\\tag@literal{({#1})}");Se("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new Yt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});Se("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");Se("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");Se("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");Se("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");Se("\\newline","\\\\\\relax");Se("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var _Re=Xt(Ih["Main-Regular"][84][1]-.7*Ih["Main-Regular"][65][1]);Se("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+_Re+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");Se("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+_Re+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");Se("\\hspace","\\@ifstar\\@hspacer\\@hspace");Se("\\@hspace","\\hskip #1\\relax");Se("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");Se("\\ordinarycolon",":");Se("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");Se("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');Se("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');Se("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');Se("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');Se("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');Se("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');Se("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');Se("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');Se("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');Se("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');Se("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');Se("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');Se("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');Se("∷","\\dblcolon");Se("∹","\\eqcolon");Se("≔","\\coloneqq");Se("≕","\\eqqcolon");Se("⩴","\\Coloneqq");Se("\\ratio","\\vcentcolon");Se("\\coloncolon","\\dblcolon");Se("\\colonequals","\\coloneqq");Se("\\coloncolonequals","\\Coloneqq");Se("\\equalscolon","\\eqqcolon");Se("\\equalscoloncolon","\\Eqqcolon");Se("\\colonminus","\\coloneq");Se("\\coloncolonminus","\\Coloneq");Se("\\minuscolon","\\eqcolon");Se("\\minuscoloncolon","\\Eqcolon");Se("\\coloncolonapprox","\\Colonapprox");Se("\\coloncolonsim","\\Colonsim");Se("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");Se("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");Se("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");Se("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");Se("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");Se("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");Se("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");Se("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");Se("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");Se("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");Se("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");Se("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");Se("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");Se("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");Se("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");Se("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");Se("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");Se("\\nleqq","\\html@mathml{\\@nleqq}{≰}");Se("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");Se("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");Se("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");Se("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");Se("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");Se("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");Se("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");Se("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");Se("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");Se("\\imath","\\html@mathml{\\@imath}{ı}");Se("\\jmath","\\html@mathml{\\@jmath}{ȷ}");Se("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");Se("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");Se("⟦","\\llbracket");Se("⟧","\\rrbracket");Se("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");Se("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");Se("⦃","\\lBrace");Se("⦄","\\rBrace");Se("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");Se("⦵","\\minuso");Se("\\darr","\\downarrow");Se("\\dArr","\\Downarrow");Se("\\Darr","\\Downarrow");Se("\\lang","\\langle");Se("\\rang","\\rangle");Se("\\uarr","\\uparrow");Se("\\uArr","\\Uparrow");Se("\\Uarr","\\Uparrow");Se("\\N","\\mathbb{N}");Se("\\R","\\mathbb{R}");Se("\\Z","\\mathbb{Z}");Se("\\alef","\\aleph");Se("\\alefsym","\\aleph");Se("\\Alpha","\\mathrm{A}");Se("\\Beta","\\mathrm{B}");Se("\\bull","\\bullet");Se("\\Chi","\\mathrm{X}");Se("\\clubs","\\clubsuit");Se("\\cnums","\\mathbb{C}");Se("\\Complex","\\mathbb{C}");Se("\\Dagger","\\ddagger");Se("\\diamonds","\\diamondsuit");Se("\\empty","\\emptyset");Se("\\Epsilon","\\mathrm{E}");Se("\\Eta","\\mathrm{H}");Se("\\exist","\\exists");Se("\\harr","\\leftrightarrow");Se("\\hArr","\\Leftrightarrow");Se("\\Harr","\\Leftrightarrow");Se("\\hearts","\\heartsuit");Se("\\image","\\Im");Se("\\infin","\\infty");Se("\\Iota","\\mathrm{I}");Se("\\isin","\\in");Se("\\Kappa","\\mathrm{K}");Se("\\larr","\\leftarrow");Se("\\lArr","\\Leftarrow");Se("\\Larr","\\Leftarrow");Se("\\lrarr","\\leftrightarrow");Se("\\lrArr","\\Leftrightarrow");Se("\\Lrarr","\\Leftrightarrow");Se("\\Mu","\\mathrm{M}");Se("\\natnums","\\mathbb{N}");Se("\\Nu","\\mathrm{N}");Se("\\Omicron","\\mathrm{O}");Se("\\plusmn","\\pm");Se("\\rarr","\\rightarrow");Se("\\rArr","\\Rightarrow");Se("\\Rarr","\\Rightarrow");Se("\\real","\\Re");Se("\\reals","\\mathbb{R}");Se("\\Reals","\\mathbb{R}");Se("\\Rho","\\mathrm{P}");Se("\\sdot","\\cdot");Se("\\sect","\\S");Se("\\spades","\\spadesuit");Se("\\sub","\\subset");Se("\\sube","\\subseteq");Se("\\supe","\\supseteq");Se("\\Tau","\\mathrm{T}");Se("\\thetasym","\\vartheta");Se("\\weierp","\\wp");Se("\\Zeta","\\mathrm{Z}");Se("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");Se("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");Se("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");Se("\\bra","\\mathinner{\\langle{#1}|}");Se("\\ket","\\mathinner{|{#1}\\rangle}");Se("\\braket","\\mathinner{\\langle{#1}\\rangle}");Se("\\Bra","\\left\\langle#1\\right|");Se("\\Ket","\\left|#1\\right\\rangle");var BRe=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=h=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=h;if(!h&&i.length){var g=f.future();g.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,d=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:d.reverse(),numArgs:0}};Se("\\bra@ket",BRe(!1));Se("\\bra@set",BRe(!0));Se("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");Se("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");Se("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");Se("\\angln","{\\angl n}");Se("\\blue","\\textcolor{##6495ed}{#1}");Se("\\orange","\\textcolor{##ffa500}{#1}");Se("\\pink","\\textcolor{##ff00af}{#1}");Se("\\red","\\textcolor{##df0030}{#1}");Se("\\green","\\textcolor{##28ae7b}{#1}");Se("\\gray","\\textcolor{gray}{#1}");Se("\\purple","\\textcolor{##9d38bd}{#1}");Se("\\blueA","\\textcolor{##ccfaff}{#1}");Se("\\blueB","\\textcolor{##80f6ff}{#1}");Se("\\blueC","\\textcolor{##63d9ea}{#1}");Se("\\blueD","\\textcolor{##11accd}{#1}");Se("\\blueE","\\textcolor{##0c7f99}{#1}");Se("\\tealA","\\textcolor{##94fff5}{#1}");Se("\\tealB","\\textcolor{##26edd5}{#1}");Se("\\tealC","\\textcolor{##01d1c1}{#1}");Se("\\tealD","\\textcolor{##01a995}{#1}");Se("\\tealE","\\textcolor{##208170}{#1}");Se("\\greenA","\\textcolor{##b6ffb0}{#1}");Se("\\greenB","\\textcolor{##8af281}{#1}");Se("\\greenC","\\textcolor{##74cf70}{#1}");Se("\\greenD","\\textcolor{##1fab54}{#1}");Se("\\greenE","\\textcolor{##0d923f}{#1}");Se("\\goldA","\\textcolor{##ffd0a9}{#1}");Se("\\goldB","\\textcolor{##ffbb71}{#1}");Se("\\goldC","\\textcolor{##ff9c39}{#1}");Se("\\goldD","\\textcolor{##e07d10}{#1}");Se("\\goldE","\\textcolor{##a75a05}{#1}");Se("\\redA","\\textcolor{##fca9a9}{#1}");Se("\\redB","\\textcolor{##ff8482}{#1}");Se("\\redC","\\textcolor{##f9685d}{#1}");Se("\\redD","\\textcolor{##e84d39}{#1}");Se("\\redE","\\textcolor{##bc2612}{#1}");Se("\\maroonA","\\textcolor{##ffbde0}{#1}");Se("\\maroonB","\\textcolor{##ff92c6}{#1}");Se("\\maroonC","\\textcolor{##ed5fa6}{#1}");Se("\\maroonD","\\textcolor{##ca337c}{#1}");Se("\\maroonE","\\textcolor{##9e034e}{#1}");Se("\\purpleA","\\textcolor{##ddd7ff}{#1}");Se("\\purpleB","\\textcolor{##c6b9fc}{#1}");Se("\\purpleC","\\textcolor{##aa87ff}{#1}");Se("\\purpleD","\\textcolor{##7854ab}{#1}");Se("\\purpleE","\\textcolor{##543b78}{#1}");Se("\\mintA","\\textcolor{##f5f9e8}{#1}");Se("\\mintB","\\textcolor{##edf2df}{#1}");Se("\\mintC","\\textcolor{##e0e5cc}{#1}");Se("\\grayA","\\textcolor{##f6f7f7}{#1}");Se("\\grayB","\\textcolor{##f0f1f2}{#1}");Se("\\grayC","\\textcolor{##e3e5e6}{#1}");Se("\\grayD","\\textcolor{##d6d8da}{#1}");Se("\\grayE","\\textcolor{##babec2}{#1}");Se("\\grayF","\\textcolor{##888d93}{#1}");Se("\\grayG","\\textcolor{##626569}{#1}");Se("\\grayH","\\textcolor{##3b3e40}{#1}");Se("\\grayI","\\textcolor{##21242c}{#1}");Se("\\kaBlue","\\textcolor{##314453}{#1}");Se("\\kaGreen","\\textcolor{##71B307}{#1}");var $Re={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};let JGt=class{constructor(e,r,n){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=r,this.expansionCount=0,this.feed(e),this.macros=new XGt(KGt,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new hpe(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 r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken();var a=this.consumeArg(["]"]);i=a.tokens,n=a.end}else{var s=this.consumeArg();i=s.tokens,r=s.start,n=s.end}return this.pushToken(new Nd("EOF",n.loc)),this.pushTokens(i),new Nd("",ku.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new Yt("Extra }",a)}else if(a.text==="EOF")throw new Yt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new Yt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;i<n.length;i++){var a=this.popToken();if(n[i]!==a.text)throw new Yt("Use of the macro doesn't match its definition",a)}}for(var s=[],o=0;o<e;o++)s.push(this.consumeArg(r&&r[o+1]).tokens);return s}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new Yt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new Yt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new Yt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new Yt("Not a valid argument number",l)}}}return this.pushTokens(a),a.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}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Nd(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new hpe(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var d={tokens:l,numArgs:a};return d}return i}isDefined(e){return this.macros.has(e)||Object.prototype.hasOwnProperty.call(hg,e)||Object.prototype.hasOwnProperty.call(ua.math,e)||Object.prototype.hasOwnProperty.call(ua.text,e)||Object.prototype.hasOwnProperty.call($Re,e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:Object.prototype.hasOwnProperty.call(hg,e)&&!hg[e].primitive}};var gpe=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,xE=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","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),MF={"́":{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"}},mpe={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let FRe=class zRe{constructor(e,r){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 JGt(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new Yt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&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 r=this.nextToken;this.consume(),this.gullet.pushToken(new Nd("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(zRe.endOfExpression.has(i.text)||r&&i.text===r||e&&hg[i.text]&&hg[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i<e.length;i++){var a=e[i];if(a.type==="infix"){if(r!==-1)throw new Yt("only one infix operator per group",a.token);r=i,n=a.replaceWith}}if(r!==-1&&n){var s,o,l=e.slice(0,r),u=e.slice(r+1);l.length===1&&l[0].type==="ordgroup"?s=l[0]:s={type:"ordgroup",mode:this.mode,body:l},u.length===1&&u[0].type==="ordgroup"?o=u[0]:o={type:"ordgroup",mode:this.mode,body:u};var d;return n==="\\\\abovefrac"?d=this.callFunction(n,[s,e[r],o],[]):d=this.callFunction(n,[s,o],[]),[d]}else return e}handleSupSubscript(e){var r=this.fetch(),n=r.text;this.consume(),this.consumeSpaces();var i;do{var a;i=this.parseGroup(e)}while(((a=i)==null?void 0:a.type)==="internal");if(!i)throw new Yt("Expected group after '"+n+"'",r);return i}formatUnsupportedCmd(e){for(var r=[],n=0;n<e.length;n++)r.push({type:"textord",mode:"text",text:e[n]});var i={type:"text",mode:this.mode,body:r},a={type:"color",mode:this.mode,color:this.settings.errorColor,body:[i]};return a}parseAtom(e){var r=this.parseGroup("atom",e);if((r==null?void 0:r.type)==="internal"||this.mode==="text")return r;for(var n,i;;){this.consumeSpaces();var a=this.fetch();if(a.text==="\\limits"||a.text==="\\nolimits"){if(r&&r.type==="op")r.limits=a.text==="\\limits",r.alwaysHandleSupSub=!0;else if(r&&r.type==="operatorname")r.alwaysHandleSupSub&&(r.limits=a.text==="\\limits");else throw new Yt("Limit controls must follow a math operator",a);this.consume()}else if(a.text==="^"){if(n)throw new Yt("Double superscript",a);n=this.handleSupSubscript("superscript")}else if(a.text==="_"){if(i)throw new Yt("Double subscript",a);i=this.handleSupSubscript("subscript")}else if(a.text==="'"){if(n)throw new Yt("Double superscript",a);var s={type:"textord",mode:this.mode,text:"\\prime"},o=[s];for(this.consume();this.fetch().text==="'";)o.push(s),this.consume();this.fetch().text==="^"&&o.push(this.handleSupSubscript("superscript")),n={type:"ordgroup",mode:this.mode,body:o}}else if(xE[a.text]){var l=gpe.test(a.text),u=[];for(u.push(new Nd(xE[a.text])),this.consume();;){var d=this.fetch().text;if(!xE[d]||gpe.test(d)!==l)break;u.unshift(new Nd(xE[d])),this.consume()}var h=this.subparse(u);l?i={type:"ordgroup",mode:"math",body:h}:n={type:"ordgroup",mode:"math",body:h}}else break}return n&&i?{type:"supsub",mode:this.mode,base:r,sup:n,sub:i}:n?{type:"supsub",mode:this.mode,base:r,sup:n}:i?{type:"supsub",mode:this.mode,base:r,sub:i}:r}parseFunction(e,r){var n=this.fetch(),i=n.text,a=hg[i];if(!a)return null;if(this.consume(),r&&r!=="atom"&&!a.allowedInArgument)throw new Yt("Got function '"+i+"' with no arguments"+(r?" as "+r:""),n);if(this.mode==="text"&&!a.allowedInText)throw new Yt("Can't use function '"+i+"' in text mode",n);if(this.mode==="math"&&a.allowedInMath===!1)throw new Yt("Can't use function '"+i+"' in math mode",n);var s=this.parseArguments(i,a),o=s.args,l=s.optArgs;return this.callFunction(i,o,l,n,e)}callFunction(e,r,n,i,a){var s={funcName:e,parser:this,token:i,breakOnTokenText:a},o=hg[e];if(o&&o.handler)return o.handler(s,r,n);throw new Yt("No function handler for "+e)}parseArguments(e,r){var n,i=(n=r.numOptionalArgs)!=null?n:0,a=r.numArgs+i;if(a===0)return{args:[],optArgs:[]};for(var s=[],o=[],l=0;l<a;l++){var u,d=(u=r.argTypes)==null?void 0:u[l],h=l<i;("primitive"in r&&r.primitive&&d==null||r.type==="sqrt"&&l===1&&o[0]==null)&&(d="primitive");var f=this.parseGroupOfType("argument to '"+e+"'",d,h);if(h)o.push(f);else if(f!=null)s.push(f);else throw new Yt("Null argument, please report this as a bug")}return{args:s,optArgs:o}}parseGroupOfType(e,r,n){switch(r){case"color":return this.parseColorGroup(n);case"size":return this.parseSizeGroup(n);case"url":return this.parseUrlGroup(n);case"math":case"text":return this.parseArgumentGroup(n,r);case"hbox":{var i=this.parseArgumentGroup(n,"text");return i!=null?{type:"styling",mode:i.mode,body:[i],style:"text",resetFont:!0}:null}case"raw":{var a=this.parseStringGroup(n);return a!=null?{type:"raw",mode:"text",string:a.text}:null}case"primitive":{if(n)throw new Yt("A primitive argument cannot be optional");var s=this.parseGroup(e);if(s==null)throw new Yt("Expected group as "+e,this.fetch());return s}case"original":case void 0:return this.parseArgumentGroup(n);default:throw new Yt("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e){var r=this.gullet.scanArgument(e);if(r==null)return null;for(var n="",i;(i=this.fetch()).text!=="EOF";)n+=i.text,this.consume();return this.consume(),r.text=n,r}parseRegexGroup(e,r){for(var n=this.fetch(),i=n,a="",s;(s=this.fetch()).text!=="EOF"&&e.test(a+s.text);)i=s,a+=i.text,this.consume();if(a==="")throw new Yt("Invalid "+r+": '"+n.text+"'",n);return n.range(i,a)}parseColorGroup(e){var r=this.parseStringGroup(e);if(r==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(r.text);if(!n)throw new Yt("Invalid color: '"+r.text+"'",r);var i=n[0];return/^[0-9a-f]{6}$/i.test(i)&&(i="#"+i),{type:"color-token",mode:this.mode,color:i}}parseSizeGroup(e){var r,n=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?r=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):r=this.parseStringGroup(e),!r)return null;!e&&r.text.length===0&&(r.text="0pt",n=!0);var i=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text);if(!i)throw new Yt("Invalid size: '"+r.text+"'",r);var a={number:+(i[1]+i[2]),unit:i[3]};if(!XMe(a))throw new Yt("Invalid unit: '"+a.unit+"'",r);return{type:"size",mode:this.mode,value:a,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var r=this.parseStringGroup(e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),r==null)return null;var n=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:n}}parseArgumentGroup(e,r){var n=this.gullet.scanArgument(e);if(n==null)return null;var i=this.mode;r&&this.switchMode(r),this.gullet.beginGroup();var a=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var s={type:"ordgroup",mode:this.mode,loc:n.loc,body:a};return r&&this.switchMode(i),s}parseGroup(e,r){var n=this.fetch(),i=n.text,a;if(i==="{"||i==="\\begingroup"){this.consume();var s=i==="{"?"}":"\\endgroup";this.gullet.beginGroup();var o=this.parseExpression(!1,s),l=this.fetch();this.expect(s),this.gullet.endGroup(),a={type:"ordgroup",mode:this.mode,loc:ku.range(n,l),body:o,semisimple:i==="\\begingroup"||void 0}}else if(a=this.parseFunction(r,e)||this.parseSymbol(),a==null&&i[0]==="\\"&&!Object.prototype.hasOwnProperty.call($Re,i)){if(this.settings.throwOnError)throw new Yt("Undefined control sequence: "+i,n);a=this.formatUnsupportedCmd(i),this.consume()}return a}formLigatures(e){for(var r=e.length-1,n=0;n<r;++n){var i=e[n];if(i.type==="textord"){var a=i.text,s=e[n+1];if(!(!s||s.type!=="textord")){if(a==="-"&&s.text==="-"){var o=e[n+2];n+1<r&&o&&o.type==="textord"&&o.text==="-"?(e.splice(n,3,{type:"textord",mode:"text",loc:ku.range(i,o),text:"---"}),r-=2):(e.splice(n,2,{type:"textord",mode:"text",loc:ku.range(i,s),text:"--"}),r-=1)}(a==="'"||a==="`")&&s.text===a&&(e.splice(n,2,{type:"textord",mode:"text",loc:ku.range(i,s),text:a+a}),r-=1)}}}}parseSymbol(){var e=this.fetch(),r=e.text;if(/^\\verb[^a-zA-Z]/.test(r)){this.consume();var n=r.slice(5),i=n.charAt(0)==="*";if(i&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new Yt(`\\verb assertion failed --
please report what input caused this bug`);return n=n.slice(1,-1),{type:"verb",mode:"text",body:n,star:i}}Object.prototype.hasOwnProperty.call(mpe,r[0])&&!ua[this.mode][r[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+r[0]+'" used in math mode',e),r=mpe[r[0]]+r.slice(1));var a=jGt.exec(r);a&&(r=r.substring(0,a.index),r==="i"?r="ı":r==="j"&&(r="ȷ"));var s;if(ua[this.mode][r]){this.settings.strict&&this.mode==="math"&&Lq.includes(r)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var o=ua[this.mode][r].group,l=ku.range(e),u;iGt(o)?u={type:"atom",mode:this.mode,family:o,loc:l,text:r}:u={type:o,mode:this.mode,loc:l,text:r},s=u}else if(r.charCodeAt(0)>=128)this.settings.strict&&(YMe(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:ku.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d<a[0].length;d++){var h=a[0][d];if(!MF[h])throw new Yt("Unknown accent ' "+h+"'",e);var f=MF[h][this.mode]||MF[h].text;if(!f)throw new Yt("Accent "+h+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:ku.range(e),label:f,isStretchy:!1,isShifty:!0,base:s}}return s}};FRe.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var xte=function(e,r){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var n=new FRe(e,r);delete n.gullet.macros.current["\\df@tag"];var i=n.parse();if(delete n.gullet.macros.current["\\current@color"],delete n.gullet.macros.current["\\color"],n.gullet.macros.get("\\df@tag")){if(!r.displayMode)throw new Yt("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:n.subparse([new Nd("\\df@tag")])}]}return i},HRe=function(e,r,n){r.textContent="";var i=wte(e,n).toNode();r.appendChild(i)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),HRe=function(){throw new Yt("KaTeX doesn't work in quirks mode.")});var QGt=function(e,r){var n=wte(e,r).toMarkup();return n},eWt=function(e,r){var n=new lte(r);return xte(e,n)},VRe=function(e,r,n){if(n.throwOnError||!(e instanceof Yt))throw e;var i=Ft(["katex-error"],[new tu(r)]);return i.setAttribute("title",e.toString()),i.setAttribute("style","color:"+n.errorColor),i},wte=function(e,r){var n=new lte(r);try{var i=xte(e,n);return YVt(i,e,n)}catch(a){return VRe(a,e,n)}},tWt=function(e,r){var n=new lte(r);try{var i=xte(e,n);return XVt(i,e,n)}catch(a){return VRe(a,e,n)}},rWt="0.18.2",nWt={Span:a3,Anchor:sP,SymbolNode:tu,SvgNode:B0,PathNode:Kg,LineNode:Iq},GRe={version:rWt,render:HRe,renderToString:QGt,ParseError:Yt,SETTINGS_SCHEMA:Aq,__parse:eWt,__renderToDomTree:wte,__renderToHTMLTree:tWt,__setFontMetrics:MVt,__defineSymbol:j,__defineFunction:sr,__defineMacro:Se,__domTree:nWt};const WRe=ri.create({name:"blockMath",group:"block",atom:!0,addOptions(){return{onClick:void 0,katexOptions:void 0}},addAttributes(){return{latex:{default:"",parseHTML:t=>t.getAttribute("data-latex"),renderHTML:t=>({"data-latex":t.latex})}}},addCommands(){return{insertBlockMath:t=>({commands:e,editor:r})=>{const{latex:n,pos:i}=t;return n?e.insertContentAt(i??r.state.selection.from,{type:this.name,attrs:{latex:n}}):!1},deleteBlockMath:t=>({editor:e,tr:r})=>{var n;const i=(n=t==null?void 0:t.pos)!==null&&n!==void 0?n:e.state.selection.$from.pos,a=e.state.doc.nodeAt(i);return!a||a.type.name!==this.name?!1:(r.delete(i,i+a.nodeSize),!0)},updateBlockMath:t=>({editor:e,tr:r})=>{const n=t==null?void 0:t.latex;let i=t==null?void 0:t.pos;i===void 0&&(i=e.state.selection.$from.pos);const a=e.state.doc.nodeAt(i);return!a||a.type.name!==this.name?!1:(r.setNodeMarkup(i,this.type,{...a.attrs,latex:n??a.attrs.latex}),!0)}}},parseHTML(){return[{tag:'div[data-type="block-math"]'}]},renderHTML({HTMLAttributes:t}){return["div",yn(t,{"data-type":"block-math"})]},parseMarkdown:t=>({type:"blockMath",attrs:{latex:t.latex}}),renderMarkdown:t=>{var e;return["$$",((e=t.attrs)===null||e===void 0?void 0:e.latex)||"","$$"].join(`
`)},markdownTokenizer:{name:"blockMath",level:"block",start:t=>t.indexOf("$$"),tokenize:t=>{const e=t.match(/^\$\$([^$]+)\$\$/);if(!e)return;const[r,n]=e;return{type:"blockMath",raw:r,latex:n.trim()}}},addInputRules(){return[new Zd({find:/^\$\$\$([^$]+)\$\$\$$/,handler:({state:t,range:e,match:r})=>{const[,n]=r,{tr:i}=t,a=t.doc.resolve(e.from),s=this.type.create({latex:n}),o=a.depth>0&&a.parent.isTextblock&&e.from===a.start()&&e.to===a.end()&&a.node(-1).canReplaceWith(a.index(-1),a.indexAfter(-1),this.type)?{from:a.before(),to:a.after()}:e;i.replaceWith(o.from,o.to,s)}})]},addNodeView(){const{katexOptions:t}=this.options;return({node:e,getPos:r})=>{const n=document.createElement("div"),i=document.createElement("div");n.className="tiptap-mathematics-render",this.editor.isEditable&&n.classList.add("tiptap-mathematics-render--editable"),i.className="block-math-inner",n.dataset.type="block-math",n.setAttribute("data-latex",e.attrs.latex),n.appendChild(i);function a(){try{GRe.render(e.attrs.latex,i,t),n.classList.remove("block-math-error")}catch{n.textContent=e.attrs.latex,n.classList.add("block-math-error")}}const s=o=>{o.preventDefault(),o.stopPropagation();const l=r();l!=null&&this.options.onClick&&this.options.onClick(e,l)};return this.options.onClick&&n.addEventListener("click",s),a(),{dom:n,destroy(){n.removeEventListener("click",s)}}}}}),iWt=t=>{const e=/\$\$([^$\n]+?)\$\$(?!\$)/g;let r=e.exec(t);for(;r!==null;){if(r.index===0||t[r.index-1]!=="$")return{index:r.index,text:r[0],data:{latex:r[1]}};e.lastIndex=r.index+1,r=e.exec(t)}return null},qRe=ri.create({name:"inlineMath",group:"inline",inline:!0,atom:!0,addOptions(){return{onClick:void 0,katexOptions:void 0}},addAttributes(){return{latex:{default:"",parseHTML:t=>t.getAttribute("data-latex"),renderHTML:t=>({"data-latex":t.latex})}}},addCommands(){return{insertInlineMath:t=>({editor:e,tr:r})=>{var n;const i=t.latex,a=(n=t==null?void 0:t.pos)!==null&&n!==void 0?n:e.state.selection.from;return i?(r.replaceWith(a,a,this.type.create({latex:i})),!0):!1},deleteInlineMath:t=>({editor:e,tr:r})=>{var n;const i=(n=t==null?void 0:t.pos)!==null&&n!==void 0?n:e.state.selection.$from.pos,a=e.state.doc.nodeAt(i);return!a||a.type.name!==this.name?!1:(r.delete(i,i+a.nodeSize),!0)},updateInlineMath:t=>({editor:e,tr:r})=>{const n=t==null?void 0:t.latex;let i=t==null?void 0:t.pos;i===void 0&&(i=e.state.selection.$from.pos);const a=e.state.doc.nodeAt(i);return!a||a.type.name!==this.name?!1:(r.setNodeMarkup(i,this.type,{...a.attrs,latex:n}),!0)}}},parseHTML(){return[{tag:'span[data-type="inline-math"]'}]},renderHTML({HTMLAttributes:t}){return["span",yn(t,{"data-type":"inline-math"})]},parseMarkdown:t=>({type:"inlineMath",attrs:{latex:t.latex}}),renderMarkdown:t=>{var e;return`$${((e=t.attrs)===null||e===void 0?void 0:e.latex)||""}$`},markdownTokenizer:{name:"inlineMath",level:"inline",start:t=>t.indexOf("$"),tokenize:t=>{const e=t.match(/^\$([^$]+)\$(?!\$)/);if(!e)return;const[r,n]=e;return{type:"inlineMath",raw:r,latex:n.trim()}}},addInputRules(){return[new Zd({find:iWt,handler:({state:t,range:e,match:r})=>{var n;const i=(n=r.data)===null||n===void 0?void 0:n.latex;if(typeof i!="string")return null;const{tr:a}=t,s=e.from,o=e.to;a.replaceWith(s,o,this.type.create({latex:i}))}})]},addNodeView(){const{katexOptions:t}=this.options;return({node:e,getPos:r})=>{const n=document.createElement("span");n.className="tiptap-mathematics-render",this.editor.isEditable&&n.classList.add("tiptap-mathematics-render--editable"),n.dataset.type="inline-math",n.setAttribute("data-latex",e.attrs.latex);function i(){try{GRe.render(e.attrs.latex,n,t),n.classList.remove("inline-math-error")}catch{n.textContent=e.attrs.latex,n.classList.add("inline-math-error")}}const a=s=>{s.preventDefault(),s.stopPropagation();const o=r();o!=null&&this.options.onClick&&this.options.onClick(e,o)};return this.options.onClick&&n.addEventListener("click",a),i(),{dom:n,destroy(){n.removeEventListener("click",a)}}}}});Oi.create({name:"Mathematics",addOptions(){return{inlineOptions:void 0,blockOptions:void 0,katexOptions:void 0}},addExtensions(){return[WRe.configure({...this.options.blockOptions,katexOptions:this.options.katexOptions}),qRe.configure({...this.options.inlineOptions,katexOptions:this.options.katexOptions})]}});const aWt=(t,e,r)=>e<0||r>t.content.size||e>=r?"":t.textBetween(e,r),Upe=(t,e)=>{var i,a;const n=((i=t.doc.resolve(e).nodeAfter)==null?void 0:i.type.name)==="paragraph"?null:(a=t.doc.type.schema.nodes.paragraph)==null?void 0:a.create();n&&t.insert(e,n),t.setSelection(yr.create(t.doc,e+1))},sWt=qRe.extend({markdownTokenizer:XEe,addInputRules(){return[new Zd({find:t=>{const e=zNt(t);return e?{index:e.index,text:e.raw,data:{latex:e.latex}}:null},handler:({state:t,range:e,match:r})=>{var i;const n=(i=r.data)==null?void 0:i.latex;if(typeof n!="string"||!n)return null;t.tr.replaceWith(e.from,e.to,this.type.create({latex:n}))}})]},addPasteRules(){return[new tS({find:t=>YEe(t).map(e=>({index:e.index,text:e.raw,data:{latex:e.latex}})),handler:({state:t,range:e,match:r})=>{var a;const n=(a=r.data)==null?void 0:a.latex;if(typeof n!="string"||!n||e.from>=e.to||aWt(t.doc,e.from,e.to)!==r[0])return;const i=t.doc.resolve(e.from);i.parent.type.spec.code||i.marks().some(s=>s.type.spec.code)||t.tr.replaceWith(e.from,e.to,this.type.create({latex:n}))}})]}}),oWt=WRe.extend({markdownTokenizer:KEe,addInputRules(){return[new Zd({find:t=>{const e=Efe(t);return e?{index:0,text:t,data:{latex:e.latex}}:null},handler:({state:t,range:e,match:r})=>{var o;const n=(o=r.data)==null?void 0:o.latex;if(typeof n!="string"||!n)return null;const i=t.doc.resolve(e.from);if(!(i.parent.isTextblock&&e.from===i.start()&&e.to===i.end())||i.depth<1||!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),this.type))return null;const{tr:s}=t;s.replaceWith(i.before(),i.after(),this.type.create({latex:n})),Upe(s,s.mapping.map(i.after()))}})]},addPasteRules(){return[new tS({find:t=>{const e=Efe(t);if(!e)return null;const r=t.trim();return[{index:t.indexOf(r),text:r,data:{latex:e.latex}}]},handler:({state:t,range:e,match:r})=>{var h;const n=(h=r.data)==null?void 0:h.latex;if(typeof n!="string"||!n||e.from>=e.to)return;const i=t.doc.resolve(e.from);if(!i.parent.isTextblock||i.parent.type.spec.code||i.parent.textContent.trim()!==r[0]||i.depth<1||!i.node(-1).canReplaceWith(i.index(-1),i.indexAfter(-1),this.type))return;const{tr:a}=t,s=i.before(),o=i.after();a.replaceWith(s,o,this.type.create({latex:n}));const l=a.mapping.map(o),{from:u,to:d}=a.selection;u>=a.mapping.map(s)&&d<=l&&Upe(a,l)}})]}}),ype={throwOnError:!1,strict:"warn",trust:!1},lWt=(t={})=>[oWt.configure({katexOptions:ype,onClick:t.onBlockClick}),sWt.configure({katexOptions:ype,onClick:t.onInlineClick})],bpe=t=>(t==null?void 0:t.type.name)==="image"&&!aNt(t.attrs.src),wE=(t,e)=>!!t&&t.type.name===P0&&!e.has(t),cWt=(t,e)=>{let r=null;return t.doc.forEach((n,i)=>{n===e&&(r={node:n,pos:i})}),r},uWt=(t,e,r)=>{let n=e,i=e+r.nodeSize;for(;bpe(t.doc.resolve(n).nodeBefore);)n-=t.doc.resolve(n).nodeBefore.nodeSize;for(;bpe(t.doc.resolve(i).nodeAfter);)i+=t.doc.resolve(i).nodeAfter.nodeSize;return{start:n,end:i}},RF=(t,e,r,n,i)=>{const a=t.doc.resolve(e).blockRange(t.doc.resolve(r));return a?(t.wrap(a,[{type:n,attrs:i}]),!0):!1},dWt=(t,e)=>{const r=new Set(e),n=[];t.doc.forEach(i=>{r.has(i)&&(i.type.name==="image"||i.type.name===P0)&&n.push(i)});for(const i of n.reverse()){const a=cWt(t,i);a&&hWt(t,a.node,a.pos,r)}return t},hWt=(t,e,r,n)=>{const i=t.doc.type.schema.nodes[P0];if(!i)return;const{start:a,end:s}=uWt(t,r,e),o=wE(t.doc.resolve(a).nodeBefore,n)?t.doc.resolve(a).nodeBefore:null,l=o?null:wE(t.doc.resolve(s).nodeAfter,n)?t.doc.resolve(s).nodeAfter:null,u=o??l;if(!(a<r||s>r+e.nodeSize)&&!u)return;if(e.type.name==="image"){const U=(u==null?void 0:u.attrs)??{layout:"auto"};if(!RF(t,a,s,(u==null?void 0:u.type)??i,U))return;if(o)Ml(t.doc,a)&&t.join(a);else if(l){const y=t.doc.nodeAt(a),b=y?a+y.nodeSize:null;b!==null&&Ml(t.doc,b)&&t.join(b)}return}const h=(u==null?void 0:u.attrs)??e.attrs;let f=r;if(s>r+e.nodeSize){const U=r+e.nodeSize;RF(t,U,s,i,h)&&Ml(t.doc,U)&&t.join(U)}if(a<f&&RF(t,a,f,i,h)){const U=t.doc.nodeAt(a),y=U?a+U.nodeSize:null;y!==null&&Ml(t.doc,y)&&(t.join(y),f=a)}const p=t.doc.nodeAt(f);if(!p||p.type.name!==P0)return;const g=t.doc.resolve(f).nodeBefore,m=t.doc.resolve(f+p.nodeSize).nodeAfter;if(wE(g,n))Ml(t.doc,f)&&t.join(f);else if(wE(m,n)){t.setNodeMarkup(f,void 0,m.attrs);const U=f+t.doc.nodeAt(f).nodeSize;Ml(t.doc,U)&&t.join(U)}},fWt=(t,e)=>{const r=Math.min(e.from,t.content.size),n=Math.min(e.to,t.content.size),i=t.resolve(r);for(let s=i.depth;s>0;s-=1)if(i.node(s).type.name===P0){const o=i.after(s);return{from:o,to:o}}const a=t.nodeAt(r);if(n>r&&((a==null?void 0:a.type.name)==="image"||(a==null?void 0:a.type.name)===P0)){const s=r+a.nodeSize;return{from:s,to:s}}return{from:r,to:n}},pWt=(t,e,r=t.selection)=>{const{from:n,to:i}=fWt(t.doc,r),a=t.schema.nodes.image.create(e),s=t.tr.replaceRangeWith(n,i,a);return s.doc.descendants((o,l)=>{o===a&&s.setSelection(Nr.create(s.doc,l))}),s},gWt=(t,e)=>{if(!t.isEditable||t.isDestroyed||e.length===0)return!1;const r=t.schema.nodes[P0];if(!r)return!1;const n=new Set(e),i=[];let a=null;if(t.state.doc.forEach((l,u)=>{l.type.name==="image"&&n.has(l.attrs.src)?(a||(a={from:u,to:u,images:[]}),a.images.push(l),a.to=u+l.nodeSize):(a&&i.push(a),a=null)}),a&&i.push(a),!i.length)return!1;const s=t.state.tr,o=[];for(const l of i.reverse())if(l.images.length===1)o.push(l.images[0]);else{const u=r.create({layout:"auto"},l.images);s.replaceWith(l.from,l.to,u),o.push(u)}return dWt(s,o),s.docChanged?(t.view.dispatch(s),!0):!1},vpe={"zh-CN":{label:"图片画廊布局",auto:"自动",single:"单列",columns:t=>`${t} 栏`},"en-US":{label:"Image gallery layout",auto:"Auto",single:"Single",columns:t=>`${t} columns`},ja:{label:"画像ギャラリーのレイアウト",auto:"自動",single:"1列",columns:t=>`${t}列`},pl:{label:"Układ galerii obrazów",auto:"Auto",single:"1 kolumna",columns:t=>`${t} kolumny`}},mWt=t=>vpe[t]??vpe["zh-CN"],UWt=t=>(({editor:e,node:r,getPos:n})=>{let i=r;const a=document.createElement("div");a.className="edgeever-native-image-gallery",a.dataset.edgeeverImageGallery="true";const s=document.createElement("div");s.className="edgeever-native-gallery-toolbar",s.contentEditable="false",s.setAttribute("role","toolbar");const o=document.createElement("div");o.className="edgeever-native-gallery-content";const l=zEe.map(d=>{const h=document.createElement("button");return h.type="button",h.addEventListener("pointerdown",f=>f.stopPropagation()),h.addEventListener("mousedown",f=>f.preventDefault()),h.addEventListener("click",f=>{f.preventDefault(),f.stopPropagation();const p=n();if(!e.isEditable||typeof p!="number")return;const g=e.state.doc.nodeAt(p);(g==null?void 0:g.type.name)===P0&&e.view.dispatch(e.state.tr.setNodeMarkup(p,void 0,{...g.attrs,layout:d}))}),s.appendChild(h),{button:h,layout:d}});a.appendChild(s),a.appendChild(o);const u=()=>{const d=mWt(t()),h=iq(i.attrs.layout);a.dataset.imageGalleryLayout=h,a.dataset.imageCount=String(i.childCount),s.hidden=!e.isEditable,s.setAttribute("aria-label",d.label);for(const f of l)f.button.textContent=f.layout==="auto"?d.auto:f.layout==="1"?d.single:d.columns(f.layout),f.button.setAttribute("aria-pressed",String(f.layout===h))};return u(),e.on("transaction",u),e.on("update",u),{dom:a,contentDOM:o,update:d=>d.type!==i.type?!1:(i=d,u(),!0),stopEvent:d=>s.contains(d.target),ignoreMutation:d=>d.type!=="selection"&&!o.contains(d.target),destroy:()=>{e.off("transaction",u),e.off("update",u)}}}),yWt=`
[data-edgeever-image-gallery].edgeever-native-image-gallery { display: block; }
.edgeever-native-gallery-toolbar { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 8px; line-height: 1.2; }
.edgeever-native-gallery-toolbar[hidden] { display: none; }
.edgeever-native-gallery-toolbar button { min-height: 44px; padding: 8px 12px; border: 1px solid #16a06e55; border-radius: 8px; background: transparent; color: inherit; font: inherit; font-size: 13px; }
.edgeever-native-gallery-toolbar button[aria-pressed="true"] { color: #16a06e; background: #16a06e22; }
.edgeever-native-gallery-toolbar button:focus-visible { outline: 2px solid #16a06e; outline-offset: 2px; }
.edgeever-native-gallery-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
[data-image-gallery-layout="1"] > .edgeever-native-gallery-content { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { [data-image-gallery-layout="3"] > .edgeever-native-gallery-content { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.edgeever-native-gallery-content > * { width: 100% !important; min-width: 0; height: 100%; margin: 0 !important; overflow: hidden; border-radius: 10px; background: transparent; }
.edgeever-native-gallery-content > img, .edgeever-native-gallery-content > * > img { width: 100% !important; height: 100%; min-height: 112px; max-height: 220px; object-fit: cover; }
.edgeever-native-gallery-content .edgeever-image-size-controls { display: none !important; }
`,bWt=t=>HEe.extend({addNodeView(){return UWt(t)}}),jRe=document.createElement("style");jRe.textContent=yWt;document.head.append(jRe);zJe();const YRe=document.createElement("style");YRe.textContent=ZLt;document.head.append(YRe);dt.registerConnector(VMe,EHt,!0);function LU(t){try{const n=new URL(t,"http://edgeever.local").pathname.match(/^\/api\/v1\/resources\/([^/]+)(?:\/blob)?\/?$/);if(n!=null&&n[1])return decodeURIComponent(n[1])}catch{}const e=t.match(/\/api\/v1\/resources\/([^/?#]+)/);return e!=null&&e[1]&&e[1]!=="blob"?decodeURIComponent(e[1]):null}function Tte(t,e){return/\/blob(?:$|[?#])/.test(t)||t.includes(`/resources/${e}/blob`)?t:t.startsWith("/api/v1/resources/")||t.includes("/api/v1/resources/")?`/api/v1/resources/${encodeURIComponent(e)}/blob`:t}function Cte(t,e){const r=LU(t);return r?JSON.stringify({kind:"image",href:Tte(t,r),filename:e.trim()||`image-${r}`,resourceId:r}):null}function vWt(t,e){const r=LU(t);if(!r)return null;const n=e.replace(/^\s*(?:附件[::]|Attachment:)\s*/i,"").trim()||r;return JSON.stringify({kind:"attachment",href:Tte(t,r),filename:n,resourceId:r})}const xpe="edgeever-attachment-kind-";function xWt(t){return t.replace(/^\s*(?:附件[::]|Attachment:)\s*/i,"").trim()}function XRe(t){t.querySelectorAll('a.edgeever-attachment-link, a[href*="/api/v1/resources/"]').forEach(e=>{Array.from(e.classList).forEach(n=>{n.startsWith(xpe)&&e.classList.remove(n)});const r=xWt(e.textContent||"");e.classList.add("edgeever-attachment-link",`${xpe}${Xv(null,r)}`)})}const wWt=performance.now(),wpe=256*1024;let Pa="viewer",LL="zh-CN",jq="开始输入…",Z9=!1;const NL=new Map;let TWt=0;function wa(t){var e,r,n;try{(n=(r=(e=window.webkit)==null?void 0:e.messageHandlers)==null?void 0:r.edgeever)==null||n.postMessage(t)}catch{}}async function CWt(t){return new Uint8Array(await t.arrayBuffer())}function SWt(t){let e="";for(let r=0;r<t.length;r+=32768)e+=String.fromCharCode(...t.subarray(r,r+32768));return btoa(e)}function OL(t){return t.startsWith("/api/")||t.includes("/api/v1/resources/")}function KRe(t){return!t||t.startsWith("data:")||t.startsWith("blob:")||t.startsWith("edgeever-res:")?!1:!!(OL(t)||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("/"))}function ZRe(t){return new Promise(e=>{const r=`r${++TWt}`;NL.set(r,e),wa({type:"loadResource",requestId:r,source:t}),setTimeout(()=>{NL.delete(r)&&e(null)},3e4)})}async function kWt(t){const e=Array.from(t.querySelectorAll("img[src]"));await Promise.all(e.map(async r=>{const n=r.getAttribute("src")||"";if(KRe(n)&&(r.dataset.originalSrc||(r.dataset.originalSrc=n),r.dataset.hydrating!=="1")){r.dataset.hydrating="1";try{const i=await ZRe(n);i&&r.setAttribute("src",i)}finally{delete r.dataset.hydrating}}}))}async function EWt(t,e){const r=Array.from(t.querySelectorAll("pre code.language-mermaid, pre code[class*='mermaid']")),n=Array.from(t.querySelectorAll("pre")).filter(s=>{const o=s.textContent||"";return s.querySelector("code")&&/^(graph|sequenceDiagram|classDiagram|stateDiagram|erDiagram|journey|gantt|pie|mindmap|flowchart)/m.test(o.trim())}),i=new Set([...r.map(s=>s.parentElement).filter(Boolean),...n]);Ehe.initialize({startOnLoad:!1,securityLevel:"strict",theme:e==="dark"?"dark":"default",flowchart:{nodeSpacing:25,rankSpacing:30}});let a=0;for(const s of i){const o=(s.textContent||"").trim();if(o)try{const l=`mmd-${Date.now()}-${a++}`,{svg:u}=await Ehe.render(l,o),d=document.createElement("div");d.className="edgeever-mermaid",d.innerHTML=u;const h=d.querySelector("svg"),f=h==null?void 0:h.viewBox.baseVal;h&&f&&f.width>0&&f.height>0&&(h.style.width=`${Math.ceil(f.width)}px`,h.style.height=`${Math.ceil(f.height)}px`,h.style.maxWidth="none"),s.replaceWith(d)}catch{}}}let J9=null,sM=null,DL=null,Q9=null,ex=null,tx=null;function Ste(){var t;sM!==null&&cancelAnimationFrame(sM),sM=null,J9==null||J9.dispose(),J9=null,ex==null||ex.disconnect(),ex=null,Q9==null||Q9.dispose(),Q9=null,tx==null||tx.remove(),tx=null,(t=Rs.querySelector(".ProseMirror"))==null||t.removeAttribute("hidden")}function AWt(t,e,r){Ste();const n=t.querySelector(".ProseMirror");if(!n)return!1;const i=MHt(e,r),a=document.createElement("div");a.className="edgeever-x6-diagram",a.setAttribute("role","img"),a.setAttribute("aria-label",e.kind==="mind-map"?"思维导图":e.kind==="architecture"?"架构图":"流程图"),n.hidden=!0,t.append(a);const s=a.parentElement,o=()=>{if(!s)return Math.max(1,a.clientWidth);const f=getComputedStyle(s),p=getComputedStyle(a),g=Number.parseFloat(f.paddingLeft||"0")+Number.parseFloat(f.paddingRight||"0"),m=Number.parseFloat(p.marginLeft||"0")+Number.parseFloat(p.marginRight||"0");return Math.max(1,s.clientWidth-g-m)},l=new dt({container:a,width:o(),height:Math.max(1,a.clientHeight),background:{color:i.canvas},grid:!1,interacting:!1,panning:{enabled:!0},mousewheel:{enabled:!0,minScale:.1,maxScale:2.5}});l.addNodes(i.nodes),l.addEdges(i.edges);const u=$Ht(l,a,{...e,nodes:e.nodes.map((f,p)=>({...f,width:i.nodes[p].width,height:i.nodes[p].height}))});J9=u;const d=()=>u.resize(o(),Math.max(1,a.clientHeight));sM=requestAnimationFrame(d);const h=new ResizeObserver(d);return h.observe(s??a),Q9=l,ex=h,tx=a,!0}const MWt=[{label:"25%",width:25},{label:"50%",width:50},{label:"75%",width:75},{label:"100%",width:100}];function Op(t){if(t==null||t==="")return null;const e=typeof t=="number"?t:Number.parseFloat(String(t).replace("%",""));return Number.isFinite(e)?Math.min(100,Math.max(10,Math.round(e))):null}function JRe(t){return Math.min(100,Math.max(10,Math.round(t)))}function TE(t,e){const r=e==null?null:JRe(e);if(r==null){t.style.removeProperty("width"),t.style.removeProperty("max-width"),t.style.removeProperty("--ee-image-width"),delete t.dataset.width,t.classList.remove("has-width");return}const n=`${r}%`;t.dataset.width=String(r),t.classList.add("has-width"),t.style.setProperty("--ee-image-width",n),t.style.setProperty("width",n),t.style.setProperty("max-width",n),t.style.setProperty("margin-left","auto"),t.style.setProperty("margin-right","auto"),t.style.setProperty("box-sizing","border-box"),t.style.setProperty("display","block")}function Tpe(t,e){let r=0;const n=a=>{a.preventDefault(),a.stopPropagation(),typeof a.stopImmediatePropagation=="function"&&a.stopImmediatePropagation()},i=a=>{n(a);const s=Date.now();s-r<350||(r=s,e())};t.addEventListener("pointerdown",n),t.addEventListener("mousedown",n),t.addEventListener("touchstart",n,{passive:!1}),t.addEventListener("pointerup",i),t.addEventListener("click",i)}function RWt(){return o3e.extend({addAttributes(){var t;return{...(t=this.parent)==null?void 0:t.call(this),width:{default:null,parseHTML:e=>Op(e.getAttribute("data-width")??e.getAttribute("width")??e.style.width),renderHTML:e=>{const r=Op(e.width);return r?{"data-width":String(r),style:`width: ${r}%`}:{}}}}},addNodeView(){return({editor:t,getPos:e,node:r})=>{let n=r;const i=document.createElement("figure");i.className="edgeever-image-node is-loading",i.contentEditable="false",i.setAttribute("role","img");const a=document.createElement("div");a.className="edgeever-image-loading";const s=document.createElement("span");s.className="edgeever-image-upload-spinner",a.append(s);const o=document.createElement("img");o.draggable=!1,o.hidden=!0;const l=document.createElement("button");l.type="button",l.className="edgeever-image-actions",l.contentEditable="false",l.hidden=!0,l.setAttribute("aria-label","图片操作"),l.textContent="⋯";const u=document.createElement("div");u.className="edgeever-image-size-controls",u.contentEditable="false",u.hidden=!0,u.setAttribute("role","group"),u.setAttribute("aria-label","图片宽度");const d=k=>{const E=e();if(typeof E!="number")return;const A=t.state.doc.nodeAt(E);if(!A||A.type.name!=="image")return;const M=JRe(k);let P=t.state.tr.setNodeMarkup(E,void 0,{...A.attrs,width:M});try{P=P.setSelection(Nr.create(P.doc,E))}catch{}t.view.dispatch(P),TE(i,M),f(M)},h=[];for(const k of MWt){const E=document.createElement("button");E.type="button",E.className="edgeever-image-size-button",E.textContent=k.label,E.setAttribute("aria-label",k.label),E.setAttribute("aria-pressed","false"),Tpe(E,()=>d(k.width)),h.push({button:E,width:k.width}),u.append(E)}const f=k=>{for(const E of h){const A=k!=null&&E.width===k;E.button.classList.toggle("is-active",A),E.button.setAttribute("aria-pressed",String(A))}},p=k=>{if(i.classList.toggle("is-loading",k==="loading"),i.classList.toggle("is-failed",k==="failed"),a.hidden=k==="ready",o.hidden=k!=="ready",l.hidden=k!=="ready",k==="failed"){a.replaceChildren();const E=document.createElement("span");E.className="edgeever-image-loading-label",E.textContent="图片加载失败",a.append(E),a.hidden=!1}else k==="loading"&&a.replaceChildren(s)},g=k=>{const E=String(k.src??"");return OL(E)||LU(E)?E:i.dataset.resourceHref||E},m=()=>{const k=i.dataset.resourceHref||o.dataset.originalSrc||g(n.attrs),E=Cte(k,String(n.attrs.alt??"image"));if(E){wa({type:"resourcePress",targetJson:E});return}wa({type:"log",message:`image actions: no resource id for href=${k.slice(0,120)}`})},U=()=>{const k=i.dataset.resourceHref||o.dataset.originalSrc||g(n.attrs)||o.getAttribute("src")||"";k&&wa({type:"imagePreview",source:k,alt:String(n.attrs.alt??"")})};Tpe(l,m);let y=0;const b=k=>{if(k.target instanceof Element&&k.target.closest(".edgeever-image-actions"))return;const E=Date.now();if(E-y<350)return;if(y=E,k.stopPropagation(),Pa==="viewer"||!t.isEditable){k.preventDefault(),U();return}k.preventDefault();const A=e();typeof A=="number"&&t.chain().setNodeSelection(A).run()};o.addEventListener("pointerdown",k=>k.stopPropagation()),o.addEventListener("click",b),o.addEventListener("pointerup",k=>{(k.pointerType==="touch"||k.pointerType==="pen")&&b(k)}),i.append(a,o,l,u);let v=0,w="",T=!1;const S=k=>{const E=String(k.alt??"");o.alt=E;const A=Op(k.width);TE(i,A),f(A);const M=String(k.src??""),P=LU(M);P&&(i.dataset.resourceHref=Tte(M,P),o.dataset.originalSrc=i.dataset.resourceHref)},C=k=>{v+=1;const E=v,A=String(k.src??"");w=A,S(k),p("loading"),u.hidden=!0;const M=P=>{E===v&&(o.onload=()=>{E===v&&(p("ready"),o.style.cursor=Pa==="viewer"||!t.isEditable?"zoom-in":"pointer",T&&t.isEditable&&Pa==="editor"&&(u.hidden=!1))},o.onerror=()=>{E===v&&p("failed")},o.src=P)};if(!A){p("failed");return}if(A.startsWith("data:")||A.startsWith("edgeever-res:")||A.startsWith("blob:")){M(A);return}if(KRe(A)){ZRe(A).then(P=>{E===v&&(P?M(P):p("failed"))});return}M(A)};return C(r.attrs),{dom:i,update:k=>{if(k.type.name!=="image")return!1;n=k;const E=String(k.attrs.src??"");return S(k.attrs),E!==w?C(k.attrs):(f(Op(k.attrs.width)),TE(i,Op(k.attrs.width))),!0},selectNode:()=>{var E,A;T=!0,i.classList.add("is-selected");const k=Op((A=(E=t.state.selection.node)==null?void 0:E.attrs)==null?void 0:A.width)??Op(i.dataset.width)??Op(n.attrs.width);TE(i,k),t.isEditable&&Pa==="editor"&&!o.hidden&&(u.hidden=!1,f(k))},deselectNode:()=>{T=!1,i.classList.remove("is-selected"),u.hidden=!0},destroy:()=>{v+=1}}}}}).configure({inline:!1,allowBase64:!0})}function IWt(t){return[...ZEe({mathematics:lWt(),starterKit:{codeBlock:!1,link:!1},image:RWt(),gallery:bWt(()=>LL),pdf:!1,file:!1,pluginEmbed:!1,table:{table:{resizable:!1}},markdown:!0}),bFt,J5t.configure({languageClassPrefix:"language-"}),...ZNt(),X5t.configure({placeholder:t})]}const Rs=document.getElementById("editor"),oM=document.getElementById("toolbar");let lM=!1;Rs.addEventListener("scroll",()=>{if(Pa!=="viewer")return;const t=Rs.scrollTop>(lM?4:24);t!==lM&&(lM=t,wa({type:"readerScroll",collapsed:t}))},{passive:!0});function LWt(){Pa==="viewer"&&(Rs.scrollTop=0,lM=!1,wa({type:"readerScroll",collapsed:!1}))}const Ur=new y5t({element:Rs,extensions:IWt("开始书写…"),editable:!1,content:{type:"doc",content:[{type:"paragraph"}]},onUpdate:({editor:t})=>{a4(),requestAnimationFrame(()=>XRe(Rs)),!(Z9||Pa!=="editor")&&mh(t)},onSelectionUpdate:()=>a4(),editorProps:{attributes:{class:"edgeever-prose",spellcheck:"true"},transformPastedHTML(t){return KLt(t)},handleClick(t,e,r){return Cpe(r,"click")},handleDOMEvents:{contextmenu(t,e){return Cpe(e,"contextmenu")}}}});Rs.addEventListener("dblclick",t=>{if(Pa!=="viewer")return;const e=t.target;!e||e.closest("a, button, img, input, textarea, select, .edgeever-image-node")||(t.preventDefault(),t.stopPropagation(),wa({type:"doubleTap"}))});function Cpe(t,e){const r=t.target;if(!r)return!1;if(r.closest(".edgeever-image-size-controls")||r.closest(".edgeever-image-actions")||r.closest(".edgeever-image-size-button"))return!0;const n=r.closest("a");if(n instanceof HTMLAnchorElement){const a=n.getAttribute("href")||"";if(OL(a)||LU(a)){const s=vWt(a,n.textContent||"");if(s)return t.preventDefault(),t.stopPropagation(),wa({type:"resourcePress",targetJson:s}),!0}}const i=r.closest("img");if(i instanceof HTMLImageElement){if(i.closest("figure.edgeever-image-node")&&e==="click")return!1;const a=i.dataset.originalSrc||i.getAttribute("src")||"",s=i.dataset.originalSrc||(OL(a)||LU(a)?a:"");if(!s&&!LU(a))return Pa==="viewer"&&e==="click"&&a?(t.preventDefault(),wa({type:"imagePreview",source:a,alt:i.getAttribute("alt")||""}),!0):!1;const o=s||a,l=i.getAttribute("alt")||"image";if(e==="contextmenu"){const u=Cte(o,l);if(u)return t.preventDefault(),t.stopPropagation(),wa({type:"resourcePress",targetJson:u}),!0}if(Pa==="viewer"&&e==="click")return t.preventDefault(),t.stopPropagation(),wa({type:"imagePreview",source:o,alt:l}),!0}return!1}(()=>{let t=null,e=null;const r=()=>{t&&clearTimeout(t),t=null,e=null};Rs.addEventListener("touchstart",n=>{var a;const i=(a=n.target)==null?void 0:a.closest("img");i instanceof HTMLImageElement&&(e=i,t=setTimeout(()=>{if(!e)return;const s=e.dataset.originalSrc||e.getAttribute("src")||"",o=Cte(s,e.getAttribute("alt")||"image");o&&wa({type:"resourcePress",targetJson:o}),r()},480))},{passive:!0}),Rs.addEventListener("touchend",r,{passive:!0}),Rs.addEventListener("touchmove",r,{passive:!0}),Rs.addEventListener("touchcancel",r,{passive:!0})})();const kte="edgeever-dollar",Ete=t=>{if(!t||typeof t!="object")return t;const e=t;return e.type==="text"&&typeof e.text=="string"?Array.from(e.text).filter(n=>n==="$").length>=2?{...e,text:e.text.replaceAll("$",kte)}:t:Array.isArray(e.content)?{...e,content:e.content.map(Ete)}:t},QRe=t=>AOt(Ree(t.getJSON()));let n9=null;const NWt=(t,e,r)=>{var a;const n=(a=t.storage.markdown)==null?void 0:a.manager,i=t.state.doc.slice(e,r).content.toJSON();return n!=null&&n.serialize?n.serialize(Ete({type:"doc",content:i})).replaceAll(kte,"\\$"):t.state.doc.textBetween(e,r,`
`)},IF="edgeever-inline-sentinel",OWt=(t,e,r)=>{var i;const n=(i=t.storage.markdown)==null?void 0:i.manager;return n!=null&&n.serialize?n.serialize(Ete({type:"doc",content:[{type:"paragraph",content:e}]})).replaceAll(kte,"\\$"):r},DWt=t=>{const e=t.state.selection;if(e.empty||e.from>=e.to)return null;const r=[];if(t.state.doc.nodesBetween(e.from,e.to,(i,a)=>{if(!i.isTextblock)return!0;const s=a+1,o=s+i.content.size,l=Math.max(e.from,s),u=Math.min(e.to,o);return u>l&&r.push({node:i,contentFrom:s,contentTo:o,from:l,to:u}),!1}),r.length===1){const i=r[0],a=i.node.cut(i.from-i.contentFrom,i.to-i.contentFrom).toJSON(),s=t.state.doc.textBetween(i.from,i.to,`
`),o=OWt(t,a.content??[],s).trim();return o?{from:i.from,to:i.to,isInline:!0,markdown:o,text:s}:null}const n=NWt(t,e.from,e.to).trim();return n?{from:e.from,to:e.to,isInline:!1,markdown:n,text:t.state.doc.textBetween(e.from,e.to,`
`)}:null},PWt=(t,e,r)=>{var f,p,g;const n=(f=t.storage.markdown)==null?void 0:f.manager,i=e.trim(),a=((p=n==null?void 0:n.parse)==null?void 0:p.call(n,i).content)??[{type:"text",text:i}];if(!r)return a;const s=i.replace(/\s*\n+\s*/g," "),o=(g=n==null?void 0:n.parse)==null?void 0:g.call(n,`${IF}${s}`).content,l=(o==null?void 0:o.length)===1?o[0]:null,u=(l==null?void 0:l.type)==="paragraph"?l.content??[]:[],d=u[0];if((d==null?void 0:d.type)!=="text"||typeof d.text!="string"||!d.text.startsWith(IF))return[{type:"text",text:s}];const h=d.text.slice(IF.length);return[...h?[{...d,text:h}]:[],...u.slice(1)]};function mh(t){try{const e=JSON.stringify(Ree(t.getJSON())),r=QRe(t);wa({type:"change",contentMarkdown:r,contentJson:e})}catch(e){wa({type:"error",message:e instanceof Error?e.message:String(e)})}}function _Wt(t,e){const r=e.trim().toLocaleLowerCase();if(r.length===0)return[];const n=[];let i=null;t.state.doc.descendants((l,u)=>{if(!(!l.isText||!l.text)){i!==null&&u>i&&n.push({char:"\0",pos:-1});for(let d=0;d<l.text.length;d+=1)n.push({char:l.text[d]??"",pos:u+d});i=u+l.text.length}});const a=n.map(l=>l.char).join("").toLocaleLowerCase(),s=[];let o=a.indexOf(r);for(;o!==-1;){const l=n[o],u=n[o+r.length-1];l&&u&&l.pos>=0&&u.pos>=0&&s.push({from:l.pos,to:u.pos+1}),o=a.indexOf(r,o+r.length)}return s}const Spe=()=>Ur.isActive("taskItem")?"taskItem":"listItem";function eIe(t){var r;if(oM.classList.toggle("editor-mode",t),oM.innerHTML="",!t)return;const e=[{id:"undo",label:"↩",run:()=>Ur.chain().focus().undo().run()},{id:"redo",label:"↪",run:()=>Ur.chain().focus().redo().run()},{id:"image",label:"▧+",run:()=>wa({type:"pickImage"})},{id:"bold",label:"B",run:()=>Ur.chain().focus().toggleBold().run()},{id:"bullet",label:"•",run:()=>Ur.chain().focus().toggleBulletList().run()},{id:"task",label:"☑",run:()=>Ur.chain().focus().toggleTaskList().run()},{id:"indent",label:"⇥",run:()=>Ur.chain().focus().sinkListItem(Spe()).run()},{id:"outdent",label:"⇤",run:()=>Ur.chain().focus().liftListItem(Spe()).run()},{id:"quote",label:"❝",run:()=>Ur.chain().focus().toggleBlockquote().run()},{id:"hr",label:"—",run:()=>Ur.chain().focus().setHorizontalRule().run()}];for(const n of e){const i=document.createElement("button");i.type="button",i.textContent=n.label,i.dataset.action=n.id;const a={undo:{"zh-CN":"撤销","en-US":"Undo",ja:"元に戻す",pl:"Cofnij"},redo:{"zh-CN":"重做","en-US":"Redo",ja:"やり直す",pl:"Ponów"},image:{"zh-CN":"插入图片","en-US":"Insert image",ja:"画像を挿入",pl:"Wstaw obraz"},bold:{"zh-CN":"粗体","en-US":"Bold",ja:"太字",pl:"Pogrubienie"},bullet:{"zh-CN":"项目符号列表","en-US":"Bullet list",ja:"箇条書き",pl:"Lista punktowana"},task:{"zh-CN":"任务清单","en-US":"Task list",ja:"タスクリスト",pl:"Lista zadań"},indent:{"zh-CN":"增加列表缩进","en-US":"Increase list indent",ja:"リストのインデントを増やす",pl:"Zwiększ wcięcie listy"},outdent:{"zh-CN":"减少列表缩进","en-US":"Decrease list indent",ja:"リストのインデントを減らす",pl:"Zmniejsz wcięcie listy"},quote:{"zh-CN":"引用","en-US":"Block quote",ja:"引用",pl:"Cytat"},hr:{"zh-CN":"分隔线","en-US":"Horizontal rule",ja:"区切り線",pl:"Linia pozioma"}};i.setAttribute("aria-label",((r=a[n.id])==null?void 0:r[LL])??n.id),i.addEventListener("click",()=>{n.run(),n.id!=="image"&&mh(Ur),a4()}),oM.appendChild(i)}a4()}function a4(){const t={bold:Ur.isActive("bold"),bullet:Ur.isActive("bulletList"),task:Ur.isActive("taskList"),quote:Ur.isActive("blockquote")},e=n=>{try{return Ur.can().chain().focus()[n]().run()}catch{return!1}},r={undo:e("undo"),redo:e("redo")};oM.querySelectorAll("button[data-action]").forEach(n=>{const i=n.dataset.action??"";n.classList.toggle("is-active",t[i]??!1),i in r&&(n.disabled=!r[i])})}async function LF(t="light"){Rs.querySelectorAll("[data-placeholder]").forEach(e=>{e.dataset.placeholder=jq}),XRe(Rs),await kWt(Rs),Pa==="viewer"&&(!DL||!AWt(Rs,DL,t))&&(Ste(),await EWt(Rs,t))}async function BWt(t){var p,g;if(!t.requestId||t.format!=="png"&&t.format!=="jpeg")return;const e=LC(t.background,t.theme),r=t.fontStyle??"auto",n=t.fontSize??"lg",i=t.cardWidth??"wide",a=kV[i]||kV.wide,s=EV[e]||EV.aurora,o=Ur.view.dom.cloneNode(!0);o.removeAttribute("contenteditable"),o.querySelectorAll("button, [contenteditable='true']").forEach(m=>{m.removeAttribute("contenteditable"),m instanceof HTMLButtonElement&&m.remove()}),HJe(o);const l=o.innerHTML,u=document.createElement("div");u.style.cssText=`position:fixed;left:-100000px;top:0;width:${a}px;pointer-events:none;`;const d=document.createElement("style");d.textContent=Yse({theme:e,fontStyle:r,fontSize:n,cardWidth:i});const h=KJe({title:t.title||t.fallbackTitle,notebook:t.notebook,tags:t.tags,updatedAt:t.updatedAt,bodyHtml:l,theme:e,showTitle:t.showTitle??!1,showNotebook:t.showNotebook??!1,showTags:t.showTags??!1,showUpdatedAt:t.showUpdatedAt??!0,showBranding:t.branding??!0});u.appendChild(d),u.insertAdjacentHTML("beforeend",h);const f=u.lastElementChild;f.style.width=`${a}px`,f.style.maxWidth="none",f.style.margin="0",document.body.appendChild(u);try{wa({type:"imageExportFontStatus",requestId:t.requestId,status:"loading"});const m=await lQe({theme:e,fontStyle:r,text:[t.title,t.notebook,...t.tags||[],t.updatedAt,l].join(" "),urls:cQe});wa({type:"imageExportFontStatus",requestId:t.requestId,status:m.fontFallback?"fallback":"ready"}),(p=m.fontsReady)==null||p.then(()=>wa({type:"imageExportFontsReady",requestId:t.requestId}),()=>{}),d.textContent=m.css+Yse({theme:e,fontStyle:r,fontSize:n,cardWidth:i});const U=Array.from(f.querySelectorAll("img"));await Promise.race([Promise.all([(g=document.fonts)==null?void 0:g.ready,...U.map(async B=>{if(!B.complete)try{await B.decode()}catch{}})]),new Promise(B=>window.setTimeout(B,8e3))]);const y=Array.from(f.querySelectorAll(".edgeever-card-body img")),b=y.filter(B=>!B.complete||B.naturalWidth===0).length,v=Math.max(1,Math.ceil(f.getBoundingClientRect().height)),w=GJe(a,v);let T=0,S=f,C=null;w.sourceScale<1&&(C=document.createElement("div"),C.style.cssText=`position:relative;width:${w.sourceWidth}px;height:${w.sourceHeight}px;overflow:hidden;`,f.replaceWith(C),C.appendChild(f),f.style.transform=`scale(${w.sourceScale})`,f.style.transformOrigin="top left",S=C);const k=WJe[e]||s.canvasBg,E="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",A=(B,F,z)=>lAt(B,{backgroundColor:k,cacheBust:!1,height:z,imagePlaceholder:E,onImageErrorHandler:$=>{T+=1,$ instanceof Event&&$.target instanceof HTMLImageElement&&($.target.src=E)},pixelRatio:w.pixelRatio,fontEmbedCSS:m.fontCss,width:F});let M;try{M=await A(S,w.sourceWidth,w.sourceHeight)}catch{const B=w.sourceScale*.75;if(B<.5)throw new Error("NOTE_IMAGE_RENDER_FAILED");const F=Math.max(1,Math.floor(a*B)),z=Math.max(1,Math.floor(v*B));C||(C=document.createElement("div"),f.replaceWith(C),C.appendChild(f)),C.style.cssText=`position:relative;width:${F}px;height:${z}px;overflow:hidden;`,f.style.transform=`scale(${B})`,f.style.transformOrigin="top left";try{M=await A(C,F,z)}catch{throw new Error("NOTE_IMAGE_RENDER_FAILED")}}const P=await new Promise((B,F)=>{M.toBlob(z=>z?B(z):F(new Error("Image renderer returned an empty file")),t.format==="jpeg"?"image/jpeg":"image/png",t.format==="jpeg"?.92:1)}),N=t.format==="jpeg"?"jpg":"png",I=YJe(t.title,t.fallbackTitle),L=await CWt(P),_=`${I}.${N}`,D=t.format==="jpeg"?"image/jpeg":"image/png",O=SWt(L);for(let B=0;B<O.length;B+=wpe)wa({type:"imageExportChunk",requestId:t.requestId,chunk:O.slice(B,B+wpe)}),await new Promise(F=>setTimeout(F,0));wa({type:"imageExportComplete",fontFallback:m.fontFallback,requestId:t.requestId,filename:_,mimeType:D,width:M.width,height:M.height,totalImages:y.length,failedImages:Math.min(y.length,b+T)})}catch(m){wa({type:"imageExportError",requestId:t.requestId,message:m instanceof Error?m.message:"Image export failed"})}finally{u.remove()}}const $Wt={resetReaderScroll:LWt,exportImage(t){BWt(t)},configure(t){const e=t.mode==="editor"?"editor":"viewer",r=e!==Pa;Pa=e,LL=t.locale==="en-US"||t.locale==="ja"||t.locale==="pl"?t.locale:"zh-CN",Ur.setEditable(Pa==="editor",!1),eIe(Pa==="editor"),document.documentElement.dataset.theme=t.theme||"light",document.body.classList.toggle("viewer-mode",Pa==="viewer"),document.body.classList.toggle("editor-mode",Pa==="editor"),t.placeholder&&(jq=t.placeholder,Rs.querySelectorAll("[data-placeholder]").forEach(n=>{n.dataset.placeholder=jq})),Pa==="editor"&&r&&requestAnimationFrame(()=>{try{Ur.commands.focus("end")}catch{}}),LF(t.theme||"light")},setMarkdown(t){var n;Z9=!0;const e=Pa==="viewer"?Bzt(t):null;DL=e;const r=Pa==="viewer"?e?"":$zt(t):t;try{Ur.commands.setContent(r||"",{contentType:"markdown"})}catch{try{const i=(n=Ur.storage.markdown)==null?void 0:n.manager;if(i)Ur.commands.setContent(i.parse(r||""));else throw new Error("no markdown manager")}catch{Ur.commands.setContent({type:"doc",content:[{type:"paragraph",content:r?[{type:"text",text:r}]:[]}]})}}Ur.setEditable(Pa==="editor"),R0e(Ur),a4(),Z9=!1,LF(document.documentElement.dataset.theme||"light")},setDocumentFromJSON(t){Z9=!0,DL=null,Ste();try{const e=JSON.parse(t);Ur.commands.setContent(QNt(wFt(e),LL))}catch{Ur.commands.setContent({type:"doc",content:[{type:"paragraph"}]})}Ur.setEditable(Pa==="editor"),R0e(Ur),a4(),Z9=!1,LF(document.documentElement.dataset.theme||"light")},resolveResource(t,e){const r=NL.get(t);r&&(NL.delete(t),r(e))},getMarkdown(){return QRe(Ur)},getDocument(){return JSON.stringify(Ree(Ur.getJSON()))},captureSelection(){const t=DWt(Ur);return t?(n9={from:t.from,to:t.to,isInline:t.isInline,documentFingerprint:JSON.stringify(Ur.getJSON())},JSON.stringify({from:t.from,to:t.to,markdown:t.markdown,text:t.text})):(n9=null,null)},applySelectionDraft(t,e){var s,o;const r=n9;if(!r||!t.trim())return!1;if(JSON.stringify(Ur.getJSON())!==r.documentFingerprint)return n9=null,!1;const n=Ur.state.doc.content.size,i=Math.min(Math.max(r.from,0),n),a=Math.min(Math.max(r.to,i),n);try{const l=(s=Ur.storage.markdown)==null?void 0:s.manager,u=(o=l==null?void 0:l.parse)==null?void 0:o.call(l,t),d=e==="replace"?PWt(Ur,t,r.isInline):(u==null?void 0:u.content)??t,h=e==="append"?{from:a,to:a}:{from:i,to:a};return Ur.chain().focus().insertContentAt(h,d).run(),n9=null,mh(Ur),!0}catch{return!1}},undo(){if(!Ur.can().undo())return!1;const t=Ur.commands.undo();return t&&mh(Ur),t},focusEnd(){var t;try{Ur.commands.focus("end")}catch{}try{const e=(t=Ur.view)==null?void 0:t.dom;e&&typeof e.focus=="function"&&e.focus({preventScroll:!0})}catch{}},flush(){mh(Ur)},exec(t){var r;const e={bold:()=>Ur.chain().focus().toggleBold().run(),bulletList:()=>Ur.chain().focus().toggleBulletList().run(),taskList:()=>Ur.chain().focus().toggleTaskList().run(),blockquote:()=>Ur.chain().focus().toggleBlockquote().run(),horizontalRule:()=>Ur.chain().focus().setHorizontalRule().run(),heading2:()=>Ur.chain().focus().toggleHeading({level:2}).run(),codeBlock:()=>Ur.chain().focus().toggleCodeBlock().run()};(r=e[t])==null||r.call(e),mh(Ur)},beginImageUpload(t,e){Ur.chain().focus().setImage({src:e,alt:t,width:zse}).run();const r=Rs.querySelectorAll("img"),n=r[r.length-1];n&&(n.dataset.uploadId=t),mh(Ur)},completeImageUpload(t,e,r){Ur.isEditable&&(Ur.view.dispatch(pWt(Ur.state,{src:e,alt:r||t||"",width:zse})),mh(Ur))},groupImages(t){const e=gWt(Ur,t);return e&&mh(Ur),e},cancelImageUpload(t){const e=Rs.querySelector(`img[data-upload-id="${t}"]`);e==null||e.remove(),mh(Ur)},search(t,e){const r=_Wt(Ur,t),n=r.length>0?Math.min(Math.max(Number.isFinite(e)?e:0,0),r.length-1):0,i=r[n];if(i){Ur.commands.setTextSelection({from:i.from,to:i.to});try{const a=Ur.view.domAtPos(i.from).node,s=a instanceof Element?a:a.parentElement;s==null||s.scrollIntoView({block:"center",behavior:"smooth"})}catch{}}wa({type:"searchResult",count:r.length,index:n})}};window.EdgeEverEditor=$Wt;eIe(!1);wa({type:"ready",startupMs:Math.round(performance.now()-wWt)});class Gt extends Error{constructor(e,r){var n="KaTeX parse error: "+e,i,a,s=r&&r.loc;if(s&&s.start<=s.end){var o=s.lexer.input;i=s.start,a=s.end,i===o.length?n+=" at end of input: ":n+=" at position "+(i+1)+": ";var l=o.slice(i,a).replace(/[^]/g,"$&̲"),u;i>15?u="…"+o.slice(i-15,i):u=o.slice(0,i);var d;a+15<o.length?d=o.slice(a,a+15)+"…":d=o.slice(a),n+=u+l+d}super(n),this.name="ParseError",this.position=void 0,this.length=void 0,this.rawMessage=void 0,Object.setPrototypeOf(this,Gt.prototype),this.position=i,i!=null&&a!=null&&(this.length=a-i),this.rawMessage=e}}var FWt=/([A-Z])/g,zWt=t=>t.replace(FWt,"-$1").toLowerCase(),HWt={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},VWt=/[&><"']/g,Qo=t=>String(t).replace(VWt,e=>HWt[e]),cM=t=>t.type==="ordgroup"||t.type==="color"?t.body.length===1?cM(t.body[0]):t:t.type==="font"?cM(t.body):t,GWt=new Set(["mathord","textord","atom"]),dp=t=>GWt.has(cM(t).type),WWt=t=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(t);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},PL={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 <type>"},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 <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:t=>"#"+t},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(t,e)=>(e.push(t),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:t=>Math.max(0,t),cli:"--min-rule-thickness <size>",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:t=>Math.max(0,t),cli:"-s, --max-size <n>",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:t=>Math.max(0,t),cli:"-e, --max-expand <n>",cliProcessor:t=>t==="Infinity"?1/0:parseInt(t)},globalGroup:{type:"boolean",cli:!1}};function qWt(t){if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{};default:throw new Error("Unexpected schema type; settings must declare an explicit default.")}}function jWt(t){if(t.default!==void 0)return t.default;var e=Array.isArray(t.type)?t.type[0]:t.type;return qWt(e)}function YWt(t,e,r,n){var i=r[e];t[e]=i!==void 0?n.processor?n.processor(i):i:jWt(n)}class Ate{constructor(e){e===void 0&&(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 r of Object.keys(PL)){var n=PL[r];n&&YWt(this,r,e,n)}}reportNonstrict(e,r,n){var i=this.strict;if(typeof i=="function"&&(i=i(e,r,n)),!(!i||i==="ignore")){if(i===!0||i==="error")throw new Gt("LaTeX-incompatible input and strict mode is set to 'error': "+(r+" ["+e+"]"),n);i==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]"))}}useStrictBehavior(e,r,n){var i=this.strict;if(typeof i=="function")try{i=i(e,r,n)}catch{i="error"}return!i||i==="ignore"?!1:i===!0||i==="error"?!0:i==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(r+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+i+"': "+r+" ["+e+"]")),!1)}isTrusted(e){if("url"in e&&e.url&&!e.protocol){var r=WWt(e.url);if(r==null)return!1;e.protocol=r}var n=typeof this.trust=="function"?this.trust(e):this.trust;return!!n}}class Dp{constructor(e,r,n){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=r,this.cramped=n}sup(){return kh[XWt[this.id]]}sub(){return kh[KWt[this.id]]}fracNum(){return kh[ZWt[this.id]]}fracDen(){return kh[JWt[this.id]]}cramp(){return kh[QWt[this.id]]}text(){return kh[eqt[this.id]]}isTight(){return this.size>=2}}var Mte=0,_L=1,Ub=2,S0=3,HT=4,Du=5,s4=6,Dl=7,kh=[new Dp(Mte,0,!1),new Dp(_L,0,!0),new Dp(Ub,1,!1),new Dp(S0,1,!0),new Dp(HT,2,!1),new Dp(Du,2,!0),new Dp(s4,3,!1),new Dp(Dl,3,!0)],XWt=[HT,Du,HT,Du,s4,Dl,s4,Dl],KWt=[Du,Du,Du,Du,Dl,Dl,Dl,Dl],ZWt=[Ub,S0,HT,Du,s4,Dl,s4,Dl],JWt=[S0,S0,Du,Du,Dl,Dl,Dl,Dl],QWt=[_L,_L,S0,S0,Du,Du,Dl,Dl],eqt=[Mte,_L,Ub,S0,Ub,S0,Ub,S0],pn={DISPLAY:kh[Mte],TEXT:kh[Ub],SCRIPT:kh[HT],SCRIPTSCRIPT:kh[s4]},Yq=[{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 tqt(t){for(var e=0;e<Yq.length;e++)for(var r=Yq[e],n=0;n<r.blocks.length;n++){var i=r.blocks[n];if(t>=i[0]&&t<=i[1])return r.name}return null}var uM=[];Yq.forEach(t=>t.blocks.forEach(e=>uM.push(...e)));function tIe(t){for(var e=0;e<uM.length;e+=2)if(t>=uM[e]&&t<=uM[e+1])return!0;return!1}var Cs=t=>t+" "+t,ky=80,rqt=function(e,r){return"M95,"+(622+e+r)+`
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)+" "+r+"h400000v"+(40+e)+"h-400000z"},nqt=function(e,r){return"M263,"+(601+e+r)+`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)+" "+r+"h400000v"+(40+e)+"h-400000z"},iqt=function(e,r){return"M983 "+(10+e+r)+`
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)+" "+r+"h400000v"+(40+e)+"h-400000z"},aqt=function(e,r){return"M424,"+(2398+e+r)+`
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)+" "+r+`
h400000v`+(40+e)+"h-400000z"},sqt=function(e,r){return"M473,"+(2713+e+r)+`
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)+" "+r+"h400000v"+(40+e)+"H1017.7z"},oqt=function(e){var r=e/2;return"M400000 "+e+" H0 L"+r+" 0 l65 45 L145 "+(e-80)+" H400000z"},lqt=function(e,r,n){var i=n-54-r-e;return"M702 "+(e+r)+"H400000"+(40+e)+`
H742v`+i+`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 `+r+"H400000v"+(40+e)+"H742z"},cqt=function(e,r,n){r=1e3*r;var i="";switch(e){case"sqrtMain":i=rqt(r,ky);break;case"sqrtSize1":i=nqt(r,ky);break;case"sqrtSize2":i=iqt(r,ky);break;case"sqrtSize3":i=aqt(r,ky);break;case"sqrtSize4":i=sqt(r,ky);break;case"sqrtTall":i=lqt(r,ky,n)}return i},uqt=function(e,r){switch(e){case"⎜":return Cs("M291 0 H417 V"+r+" H291z");case"∣":return Cs("M145 0 H188 V"+r+" H145z");case"∥":return Cs("M145 0 H188 V"+r+" H145z")+Cs("M367 0 H410 V"+r+" H367z");case"⎟":return Cs("M457 0 H583 V"+r+" H457z");case"⎢":return Cs("M319 0 H403 V"+r+" H319z");case"⎥":return Cs("M263 0 H347 V"+r+" H263z");case"⎪":return Cs("M384 0 H504 V"+r+" H384z");case"⏐":return Cs("M312 0 H355 V"+r+" H312z");case"‖":return Cs("M257 0 H300 V"+r+" H257z")+Cs("M478 0 H521 V"+r+" H478z");default:return""}},kpe={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:Cs("M40 281 V428 H0 V94 H40 V241 H400000 v40z"),leftbracketunder:Cs("M0 0 h120 V290 H399995 v120 H0z"),leftbracketover:Cs("M0 440 h120 V150 H399995 v-120 H0z"),leftmapsto:Cs("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:Cs("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:Cs("M399960 241 V94 h40 V428 h-40 V281 H0 v-40z"),rightbracketunder:Cs("M399995 0 h-120 V290 H0 v120 H400000z"),rightbracketover:Cs("M399995 440 h-120 V150 H0 v-120 H399995z"),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`},dqt=function(e,r){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v1759 v84 h347 v-84
H403z M403 1759 V0 H319 V1759 v`+r+" v1759 v84 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v1759 H0 v84 H347z
M347 1759 V0 H263 V1759 v`+r+" v1759 h84z";case"vert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+" v585 h43z";case"doublevert":return"M145 15 v585 v"+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+r+` v585 h43z
M367 15 v585 v`+r+` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v`+-r+` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+r+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+r+` v1715 h263 v84 H319z
MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+r+` v1799 H0 v-84 H319z
MM319 602 V0 H403 V602 v`+r+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+r+` v602 h84z
M403 1759 V0 H319 V1759 v`+r+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+r+` v602 h84z
M347 1759 V0 h-84 V1759 v`+r+" 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,`+(r+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,-`+(r+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,`+(r+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,-`+(r+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.")}};function hqt(t){return"toText"in t}let o3=class{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 this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),r=0;r<this.children.length;r++)e.appendChild(this.children[r].toNode());return e}toMarkup(){for(var e="",r=0;r<this.children.length;r++)e+=this.children[r].toMarkup();return e}toText(){return this.children.map(e=>{if(hqt(e))return e.toText();throw new Error("Expected MathDomNode with toText, got "+e.constructor.name)}).join("")}};var Xq={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},fqt={ex:!0,em:!0,mu:!0},rIe=function(e){return typeof e!="string"&&(e=e.unit),e in Xq||e in fqt||e==="ex"},Ta=function(e,r){var n;if(e.unit in Xq)n=Xq[e.unit]/r.fontMetrics().ptPerEm/r.sizeMultiplier;else if(e.unit==="mu")n=r.fontMetrics().cssEmPerMu;else{var i;if(r.style.isTight()?i=r.havingStyle(r.style.text()):i=r,e.unit==="ex")n=i.fontMetrics().xHeight;else if(e.unit==="em")n=i.fontMetrics().quad;else throw new Gt("Invalid unit: '"+e.unit+"'");i!==r&&(n*=i.sizeMultiplier/r.sizeMultiplier)}return Math.min(e.number*n,r.maxSize)},Kt=function(e){return+e.toFixed(4)+"em"},Qg=function(e){return e.filter(r=>r).join(" ")},Rte=function(e){var r="";for(var n of Object.keys(e)){var i=e[n];i!==void 0&&(r+=zWt(n)+":"+i+";")}return r},nIe=function(e,r,n){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=n||{},r){r.style.isTight()&&this.classes.push("mtight");var i=r.getColor();i&&(this.style.color=i)}},iIe=function(e){var r=document.createElement(e);r.className=Qg(this.classes),Object.assign(r.style,this.style);for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i<this.children.length;i++)r.appendChild(this.children[i].toNode());return r},pqt=/[\s"'>/=\x00-\x1f]/,aIe=function(e){var r="<"+e;this.classes.length&&(r+=' class="'+Qo(Qg(this.classes))+'"');var n=Rte(this.style);n&&(r+=' style="'+Qo(n)+'"');for(var i of Object.keys(this.attributes)){if(pqt.test(i))throw new Gt("Invalid attribute name '"+i+"'");r+=" "+i+'="'+Qo(this.attributes[i])+'"'}r+=">";for(var a=0;a<this.children.length;a++)r+=this.children[a].toMarkup();return r+="</"+e+">",r};class l3{constructor(e,r,n,i){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,this.italic=void 0,nIe.call(this,e,n,i),this.children=r||[]}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return iIe.call(this,"span")}toMarkup(){return aIe.call(this,"span")}}let mP=class{constructor(e,r,n,i){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,nIe.call(this,r,i),this.children=n||[],this.setAttribute("href",e)}setAttribute(e,r){this.attributes[e]=r}hasClass(e){return this.classes.includes(e)}toNode(){return iIe.call(this,"a")}toMarkup(){return aIe.call(this,"a")}};class gqt{constructor(e,r,n){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=r,this.src=e,this.classes=["mord"],this.height=0,this.depth=0,this.maxFontSize=0,this.style=n}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");return e.src=this.src,e.alt=this.alt,e.className="mord",Object.assign(e.style,this.style),e}toMarkup(){var e='<img src="'+Qo(this.src)+'"'+(' alt="'+Qo(this.alt)+'"'),r=Rte(this.style);return r&&(e+=' style="'+Qo(r)+'"'),e+="'/>",e}}var mqt={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class ru{constructor(e,r,n,i,a,s,o,l){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=r||0,this.depth=n||0,this.italic=i||0,this.skew=a||0,this.width=s||0,this.classes=o||[],this.style=l||{},this.maxFontSize=0;var u=tqt(this.text.charCodeAt(0));u&&this.classes.push(u+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=mqt[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),r=null;return this.italic>0&&(r=document.createElement("span"),r.style.marginRight=Kt(this.italic)),this.classes.length>0&&(r=r||document.createElement("span"),r.className=Qg(this.classes)),Object.keys(this.style).length>0&&(r=r||document.createElement("span"),Object.assign(r.style,this.style)),r?(r.appendChild(e),r):e}toMarkup(){var e=!1,r="<span";this.classes.length&&(e=!0,r+=' class="',r+=Qo(Qg(this.classes)),r+='"');var n="";this.italic>0&&(n+="margin-right:"+Kt(this.italic)+";"),n+=Rte(this.style),n&&(e=!0,r+=' style="'+Qo(n)+'"');var i=Qo(this.text);return e?(r+=">",r+=i,r+="</span>",r):i}}class $0{constructor(e,r){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=r||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"svg");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);for(var i=0;i<this.children.length;i++)r.appendChild(this.children[i].toNode());return r}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var r of Object.keys(this.attributes))e+=" "+r+'="'+Qo(this.attributes[r])+'"';e+=">";for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+="</svg>",e}}class e1{constructor(e,r){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=r}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"path");return this.alternate?r.setAttribute("d",this.alternate):r.setAttribute("d",kpe[this.pathName]),r}toMarkup(){return this.alternate?'<path d="'+Qo(this.alternate)+'"/>':'<path d="'+Qo(kpe[this.pathName])+'"/>'}}class Kq{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",r=document.createElementNS(e,"line");for(var n of Object.keys(this.attributes))r.setAttribute(n,this.attributes[n]);return r}toMarkup(){var e="<line";for(var r of Object.keys(this.attributes))e+=" "+r+'="'+Qo(this.attributes[r])+'"';return e+="/>",e}}function Uqt(t){if(t instanceof ru)return t;throw new Error("Expected symbolNode but got "+String(t)+".")}function yqt(t){if(t instanceof l3)return t;throw new Error("Expected span<HtmlDomNode> but got "+String(t)+".")}var bqt=t=>t instanceof l3||t instanceof mP||t instanceof o3,Lh={"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]}},CE={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]},Epe={Å:"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 sIe(t,e){Lh[t]=e}function Ite(t,e,r){if(!Lh[e])throw new Error("Font metrics not found for font: "+e+".");var n=t.charCodeAt(0),i=Lh[e][n];if(!i&&t[0]in Epe&&(n=Epe[t[0]].charCodeAt(0),i=Lh[e][n]),!i&&r==="text"&&tIe(n)&&(i=Lh[e][77]),i)return{depth:i[0],height:i[1],italic:i[2],skew:i[3],width:i[4]}}var NF={};function vqt(t){var e;if(t>=5?e=0:t>=3?e=1:e=2,!NF[e]){var r=NF[e]={cssEmPerMu:CE.quad[e]/18};for(var n in CE)CE.hasOwnProperty(n)&&(r[n]=CE[n][e])}return NF[e]}var da={math:{},text:{}};function q(t,e,r,n,i,a){da[t][i]={font:e,group:r,replace:n},a&&n&&(da[t][n]=da[t][i])}var se="math",Dt="text",be="main",We="ams",ga="accent-token",hr="bin",Jl="close",c3="inner",Hr="mathord",bs="op-token",lu="open",bS="punct",Xe="rel",hp="spacing",et="textord";q(se,be,Xe,"≡","\\equiv",!0);q(se,be,Xe,"≺","\\prec",!0);q(se,be,Xe,"≻","\\succ",!0);q(se,be,Xe,"∼","\\sim",!0);q(se,be,Xe,"⊥","\\perp");q(se,be,Xe,"⪯","\\preceq",!0);q(se,be,Xe,"⪰","\\succeq",!0);q(se,be,Xe,"≃","\\simeq",!0);q(se,be,Xe,"∣","\\mid",!0);q(se,be,Xe,"≪","\\ll",!0);q(se,be,Xe,"≫","\\gg",!0);q(se,be,Xe,"≍","\\asymp",!0);q(se,be,Xe,"∥","\\parallel");q(se,be,Xe,"⋈","\\bowtie",!0);q(se,be,Xe,"⌣","\\smile",!0);q(se,be,Xe,"⊑","\\sqsubseteq",!0);q(se,be,Xe,"⊒","\\sqsupseteq",!0);q(se,be,Xe,"≐","\\doteq",!0);q(se,be,Xe,"⌢","\\frown",!0);q(se,be,Xe,"∋","\\ni",!0);q(se,be,Xe,"∝","\\propto",!0);q(se,be,Xe,"⊢","\\vdash",!0);q(se,be,Xe,"⊣","\\dashv",!0);q(se,be,Xe,"∋","\\owns");q(se,be,bS,".","\\ldotp");q(se,be,bS,"⋅","\\cdotp");q(se,be,bS,"⋅","·");q(Dt,be,et,"⋅","·");q(se,be,et,"#","\\#");q(Dt,be,et,"#","\\#");q(se,be,et,"&","\\&");q(Dt,be,et,"&","\\&");q(se,be,et,"ℵ","\\aleph",!0);q(se,be,et,"∀","\\forall",!0);q(se,be,et,"ℏ","\\hbar",!0);q(se,be,et,"∃","\\exists",!0);q(se,be,et,"∇","\\nabla",!0);q(se,be,et,"♭","\\flat",!0);q(se,be,et,"ℓ","\\ell",!0);q(se,be,et,"♮","\\natural",!0);q(se,be,et,"♣","\\clubsuit",!0);q(se,be,et,"℘","\\wp",!0);q(se,be,et,"♯","\\sharp",!0);q(se,be,et,"♢","\\diamondsuit",!0);q(se,be,et,"ℜ","\\Re",!0);q(se,be,et,"♡","\\heartsuit",!0);q(se,be,et,"ℑ","\\Im",!0);q(se,be,et,"♠","\\spadesuit",!0);q(se,be,et,"§","\\S",!0);q(Dt,be,et,"§","\\S");q(se,be,et,"¶","\\P",!0);q(Dt,be,et,"¶","\\P");q(se,be,et,"†","\\dag");q(Dt,be,et,"†","\\dag");q(Dt,be,et,"†","\\textdagger");q(se,be,et,"‡","\\ddag");q(Dt,be,et,"‡","\\ddag");q(Dt,be,et,"‡","\\textdaggerdbl");q(se,be,Jl,"⎱","\\rmoustache",!0);q(se,be,lu,"⎰","\\lmoustache",!0);q(se,be,Jl,"⟯","\\rgroup",!0);q(se,be,lu,"⟮","\\lgroup",!0);q(se,be,hr,"∓","\\mp",!0);q(se,be,hr,"⊖","\\ominus",!0);q(se,be,hr,"⊎","\\uplus",!0);q(se,be,hr,"⊓","\\sqcap",!0);q(se,be,hr,"∗","\\ast");q(se,be,hr,"⊔","\\sqcup",!0);q(se,be,hr,"◯","\\bigcirc",!0);q(se,be,hr,"∙","\\bullet",!0);q(se,be,hr,"‡","\\ddagger");q(se,be,hr,"≀","\\wr",!0);q(se,be,hr,"⨿","\\amalg");q(se,be,hr,"&","\\And");q(se,be,Xe,"⟵","\\longleftarrow",!0);q(se,be,Xe,"⇐","\\Leftarrow",!0);q(se,be,Xe,"⟸","\\Longleftarrow",!0);q(se,be,Xe,"⟶","\\longrightarrow",!0);q(se,be,Xe,"⇒","\\Rightarrow",!0);q(se,be,Xe,"⟹","\\Longrightarrow",!0);q(se,be,Xe,"↔","\\leftrightarrow",!0);q(se,be,Xe,"⟷","\\longleftrightarrow",!0);q(se,be,Xe,"⇔","\\Leftrightarrow",!0);q(se,be,Xe,"⟺","\\Longleftrightarrow",!0);q(se,be,Xe,"↦","\\mapsto",!0);q(se,be,Xe,"⟼","\\longmapsto",!0);q(se,be,Xe,"↗","\\nearrow",!0);q(se,be,Xe,"↩","\\hookleftarrow",!0);q(se,be,Xe,"↪","\\hookrightarrow",!0);q(se,be,Xe,"↘","\\searrow",!0);q(se,be,Xe,"↼","\\leftharpoonup",!0);q(se,be,Xe,"⇀","\\rightharpoonup",!0);q(se,be,Xe,"↙","\\swarrow",!0);q(se,be,Xe,"↽","\\leftharpoondown",!0);q(se,be,Xe,"⇁","\\rightharpoondown",!0);q(se,be,Xe,"↖","\\nwarrow",!0);q(se,be,Xe,"⇌","\\rightleftharpoons",!0);q(se,We,Xe,"≮","\\nless",!0);q(se,We,Xe,"","\\@nleqslant");q(se,We,Xe,"","\\@nleqq");q(se,We,Xe,"⪇","\\lneq",!0);q(se,We,Xe,"≨","\\lneqq",!0);q(se,We,Xe,"","\\@lvertneqq");q(se,We,Xe,"⋦","\\lnsim",!0);q(se,We,Xe,"⪉","\\lnapprox",!0);q(se,We,Xe,"⊀","\\nprec",!0);q(se,We,Xe,"⋠","\\npreceq",!0);q(se,We,Xe,"⋨","\\precnsim",!0);q(se,We,Xe,"⪹","\\precnapprox",!0);q(se,We,Xe,"≁","\\nsim",!0);q(se,We,Xe,"","\\@nshortmid");q(se,We,Xe,"∤","\\nmid",!0);q(se,We,Xe,"⊬","\\nvdash",!0);q(se,We,Xe,"⊭","\\nvDash",!0);q(se,We,Xe,"⋪","\\ntriangleleft");q(se,We,Xe,"⋬","\\ntrianglelefteq",!0);q(se,We,Xe,"⊊","\\subsetneq",!0);q(se,We,Xe,"","\\@varsubsetneq");q(se,We,Xe,"⫋","\\subsetneqq",!0);q(se,We,Xe,"","\\@varsubsetneqq");q(se,We,Xe,"≯","\\ngtr",!0);q(se,We,Xe,"","\\@ngeqslant");q(se,We,Xe,"","\\@ngeqq");q(se,We,Xe,"⪈","\\gneq",!0);q(se,We,Xe,"≩","\\gneqq",!0);q(se,We,Xe,"","\\@gvertneqq");q(se,We,Xe,"⋧","\\gnsim",!0);q(se,We,Xe,"⪊","\\gnapprox",!0);q(se,We,Xe,"⊁","\\nsucc",!0);q(se,We,Xe,"⋡","\\nsucceq",!0);q(se,We,Xe,"⋩","\\succnsim",!0);q(se,We,Xe,"⪺","\\succnapprox",!0);q(se,We,Xe,"≆","\\ncong",!0);q(se,We,Xe,"","\\@nshortparallel");q(se,We,Xe,"∦","\\nparallel",!0);q(se,We,Xe,"⊯","\\nVDash",!0);q(se,We,Xe,"⋫","\\ntriangleright");q(se,We,Xe,"⋭","\\ntrianglerighteq",!0);q(se,We,Xe,"","\\@nsupseteqq");q(se,We,Xe,"⊋","\\supsetneq",!0);q(se,We,Xe,"","\\@varsupsetneq");q(se,We,Xe,"⫌","\\supsetneqq",!0);q(se,We,Xe,"","\\@varsupsetneqq");q(se,We,Xe,"⊮","\\nVdash",!0);q(se,We,Xe,"⪵","\\precneqq",!0);q(se,We,Xe,"⪶","\\succneqq",!0);q(se,We,Xe,"","\\@nsubseteqq");q(se,We,hr,"⊴","\\unlhd");q(se,We,hr,"⊵","\\unrhd");q(se,We,Xe,"↚","\\nleftarrow",!0);q(se,We,Xe,"↛","\\nrightarrow",!0);q(se,We,Xe,"⇍","\\nLeftarrow",!0);q(se,We,Xe,"⇏","\\nRightarrow",!0);q(se,We,Xe,"↮","\\nleftrightarrow",!0);q(se,We,Xe,"⇎","\\nLeftrightarrow",!0);q(se,We,Xe,"△","\\vartriangle");q(se,We,et,"ℏ","\\hslash");q(se,We,et,"▽","\\triangledown");q(se,We,et,"◊","\\lozenge");q(se,We,et,"Ⓢ","\\circledS");q(se,We,et,"®","\\circledR");q(Dt,We,et,"®","\\circledR");q(se,We,et,"∡","\\measuredangle",!0);q(se,We,et,"∄","\\nexists");q(se,We,et,"℧","\\mho");q(se,We,et,"Ⅎ","\\Finv",!0);q(se,We,et,"⅁","\\Game",!0);q(se,We,et,"‵","\\backprime");q(se,We,et,"▲","\\blacktriangle");q(se,We,et,"▼","\\blacktriangledown");q(se,We,et,"■","\\blacksquare");q(se,We,et,"⧫","\\blacklozenge");q(se,We,et,"★","\\bigstar");q(se,We,et,"∢","\\sphericalangle",!0);q(se,We,et,"∁","\\complement",!0);q(se,We,et,"ð","\\eth",!0);q(Dt,be,et,"ð","ð");q(se,We,et,"╱","\\diagup");q(se,We,et,"╲","\\diagdown");q(se,We,et,"□","\\square");q(se,We,et,"□","\\Box");q(se,We,et,"◊","\\Diamond");q(se,We,et,"¥","\\yen",!0);q(Dt,We,et,"¥","\\yen",!0);q(se,We,et,"✓","\\checkmark",!0);q(Dt,We,et,"✓","\\checkmark");q(se,We,et,"ℶ","\\beth",!0);q(se,We,et,"ℸ","\\daleth",!0);q(se,We,et,"ℷ","\\gimel",!0);q(se,We,et,"ϝ","\\digamma",!0);q(se,We,et,"ϰ","\\varkappa");q(se,We,lu,"┌","\\@ulcorner",!0);q(se,We,Jl,"┐","\\@urcorner",!0);q(se,We,lu,"└","\\@llcorner",!0);q(se,We,Jl,"┘","\\@lrcorner",!0);q(se,We,Xe,"≦","\\leqq",!0);q(se,We,Xe,"⩽","\\leqslant",!0);q(se,We,Xe,"⪕","\\eqslantless",!0);q(se,We,Xe,"≲","\\lesssim",!0);q(se,We,Xe,"⪅","\\lessapprox",!0);q(se,We,Xe,"≊","\\approxeq",!0);q(se,We,hr,"⋖","\\lessdot");q(se,We,Xe,"⋘","\\lll",!0);q(se,We,Xe,"≶","\\lessgtr",!0);q(se,We,Xe,"⋚","\\lesseqgtr",!0);q(se,We,Xe,"⪋","\\lesseqqgtr",!0);q(se,We,Xe,"≑","\\doteqdot");q(se,We,Xe,"≓","\\risingdotseq",!0);q(se,We,Xe,"≒","\\fallingdotseq",!0);q(se,We,Xe,"∽","\\backsim",!0);q(se,We,Xe,"⋍","\\backsimeq",!0);q(se,We,Xe,"⫅","\\subseteqq",!0);q(se,We,Xe,"⋐","\\Subset",!0);q(se,We,Xe,"⊏","\\sqsubset",!0);q(se,We,Xe,"≼","\\preccurlyeq",!0);q(se,We,Xe,"⋞","\\curlyeqprec",!0);q(se,We,Xe,"≾","\\precsim",!0);q(se,We,Xe,"⪷","\\precapprox",!0);q(se,We,Xe,"⊲","\\vartriangleleft");q(se,We,Xe,"⊴","\\trianglelefteq");q(se,We,Xe,"⊨","\\vDash",!0);q(se,We,Xe,"⊪","\\Vvdash",!0);q(se,We,Xe,"⌣","\\smallsmile");q(se,We,Xe,"⌢","\\smallfrown");q(se,We,Xe,"≏","\\bumpeq",!0);q(se,We,Xe,"≎","\\Bumpeq",!0);q(se,We,Xe,"≧","\\geqq",!0);q(se,We,Xe,"⩾","\\geqslant",!0);q(se,We,Xe,"⪖","\\eqslantgtr",!0);q(se,We,Xe,"≳","\\gtrsim",!0);q(se,We,Xe,"⪆","\\gtrapprox",!0);q(se,We,hr,"⋗","\\gtrdot");q(se,We,Xe,"⋙","\\ggg",!0);q(se,We,Xe,"≷","\\gtrless",!0);q(se,We,Xe,"⋛","\\gtreqless",!0);q(se,We,Xe,"⪌","\\gtreqqless",!0);q(se,We,Xe,"≖","\\eqcirc",!0);q(se,We,Xe,"≗","\\circeq",!0);q(se,We,Xe,"≜","\\triangleq",!0);q(se,We,Xe,"∼","\\thicksim");q(se,We,Xe,"≈","\\thickapprox");q(se,We,Xe,"⫆","\\supseteqq",!0);q(se,We,Xe,"⋑","\\Supset",!0);q(se,We,Xe,"⊐","\\sqsupset",!0);q(se,We,Xe,"≽","\\succcurlyeq",!0);q(se,We,Xe,"⋟","\\curlyeqsucc",!0);q(se,We,Xe,"≿","\\succsim",!0);q(se,We,Xe,"⪸","\\succapprox",!0);q(se,We,Xe,"⊳","\\vartriangleright");q(se,We,Xe,"⊵","\\trianglerighteq");q(se,We,Xe,"⊩","\\Vdash",!0);q(se,We,Xe,"∣","\\shortmid");q(se,We,Xe,"∥","\\shortparallel");q(se,We,Xe,"≬","\\between",!0);q(se,We,Xe,"⋔","\\pitchfork",!0);q(se,We,Xe,"∝","\\varpropto");q(se,We,Xe,"◀","\\blacktriangleleft");q(se,We,Xe,"∴","\\therefore",!0);q(se,We,Xe,"∍","\\backepsilon");q(se,We,Xe,"▶","\\blacktriangleright");q(se,We,Xe,"∵","\\because",!0);q(se,We,Xe,"⋘","\\llless");q(se,We,Xe,"⋙","\\gggtr");q(se,We,hr,"⊲","\\lhd");q(se,We,hr,"⊳","\\rhd");q(se,We,Xe,"≂","\\eqsim",!0);q(se,be,Xe,"⋈","\\Join");q(se,We,Xe,"≑","\\Doteq",!0);q(se,We,hr,"∔","\\dotplus",!0);q(se,We,hr,"∖","\\smallsetminus");q(se,We,hr,"⋒","\\Cap",!0);q(se,We,hr,"⋓","\\Cup",!0);q(se,We,hr,"⩞","\\doublebarwedge",!0);q(se,We,hr,"⊟","\\boxminus",!0);q(se,We,hr,"⊞","\\boxplus",!0);q(se,We,hr,"⋇","\\divideontimes",!0);q(se,We,hr,"⋉","\\ltimes",!0);q(se,We,hr,"⋊","\\rtimes",!0);q(se,We,hr,"⋋","\\leftthreetimes",!0);q(se,We,hr,"⋌","\\rightthreetimes",!0);q(se,We,hr,"⋏","\\curlywedge",!0);q(se,We,hr,"⋎","\\curlyvee",!0);q(se,We,hr,"⊝","\\circleddash",!0);q(se,We,hr,"⊛","\\circledast",!0);q(se,We,hr,"⋅","\\centerdot");q(se,We,hr,"⊺","\\intercal",!0);q(se,We,hr,"⋒","\\doublecap");q(se,We,hr,"⋓","\\doublecup");q(se,We,hr,"⊠","\\boxtimes",!0);q(se,We,Xe,"⇢","\\dashrightarrow",!0);q(se,We,Xe,"⇠","\\dashleftarrow",!0);q(se,We,Xe,"⇇","\\leftleftarrows",!0);q(se,We,Xe,"⇆","\\leftrightarrows",!0);q(se,We,Xe,"⇚","\\Lleftarrow",!0);q(se,We,Xe,"↞","\\twoheadleftarrow",!0);q(se,We,Xe,"↢","\\leftarrowtail",!0);q(se,We,Xe,"↫","\\looparrowleft",!0);q(se,We,Xe,"⇋","\\leftrightharpoons",!0);q(se,We,Xe,"↶","\\curvearrowleft",!0);q(se,We,Xe,"↺","\\circlearrowleft",!0);q(se,We,Xe,"↰","\\Lsh",!0);q(se,We,Xe,"⇈","\\upuparrows",!0);q(se,We,Xe,"↿","\\upharpoonleft",!0);q(se,We,Xe,"⇃","\\downharpoonleft",!0);q(se,be,Xe,"⊶","\\origof",!0);q(se,be,Xe,"⊷","\\imageof",!0);q(se,We,Xe,"⊸","\\multimap",!0);q(se,We,Xe,"↭","\\leftrightsquigarrow",!0);q(se,We,Xe,"⇉","\\rightrightarrows",!0);q(se,We,Xe,"⇄","\\rightleftarrows",!0);q(se,We,Xe,"↠","\\twoheadrightarrow",!0);q(se,We,Xe,"↣","\\rightarrowtail",!0);q(se,We,Xe,"↬","\\looparrowright",!0);q(se,We,Xe,"↷","\\curvearrowright",!0);q(se,We,Xe,"↻","\\circlearrowright",!0);q(se,We,Xe,"↱","\\Rsh",!0);q(se,We,Xe,"⇊","\\downdownarrows",!0);q(se,We,Xe,"↾","\\upharpoonright",!0);q(se,We,Xe,"⇂","\\downharpoonright",!0);q(se,We,Xe,"⇝","\\rightsquigarrow",!0);q(se,We,Xe,"⇝","\\leadsto");q(se,We,Xe,"⇛","\\Rrightarrow",!0);q(se,We,Xe,"↾","\\restriction");q(se,be,et,"‘","`");q(se,be,et,"$","\\$");q(Dt,be,et,"$","\\$");q(Dt,be,et,"$","\\textdollar");q(se,be,et,"%","\\%");q(Dt,be,et,"%","\\%");q(se,be,et,"_","\\_");q(Dt,be,et,"_","\\_");q(Dt,be,et,"_","\\textunderscore");q(se,be,et,"∠","\\angle",!0);q(se,be,et,"∞","\\infty",!0);q(se,be,et,"′","\\prime");q(se,be,et,"△","\\triangle");q(se,be,et,"Γ","\\Gamma",!0);q(se,be,et,"Δ","\\Delta",!0);q(se,be,et,"Θ","\\Theta",!0);q(se,be,et,"Λ","\\Lambda",!0);q(se,be,et,"Ξ","\\Xi",!0);q(se,be,et,"Π","\\Pi",!0);q(se,be,et,"Σ","\\Sigma",!0);q(se,be,et,"Υ","\\Upsilon",!0);q(se,be,et,"Φ","\\Phi",!0);q(se,be,et,"Ψ","\\Psi",!0);q(se,be,et,"Ω","\\Omega",!0);q(se,be,et,"A","Α");q(se,be,et,"B","Β");q(se,be,et,"E","Ε");q(se,be,et,"Z","Ζ");q(se,be,et,"H","Η");q(se,be,et,"I","Ι");q(se,be,et,"K","Κ");q(se,be,et,"M","Μ");q(se,be,et,"N","Ν");q(se,be,et,"O","Ο");q(se,be,et,"P","Ρ");q(se,be,et,"T","Τ");q(se,be,et,"X","Χ");q(se,be,et,"¬","\\neg",!0);q(se,be,et,"¬","\\lnot");q(se,be,et,"⊤","\\top");q(se,be,et,"⊥","\\bot");q(se,be,et,"∅","\\emptyset");q(se,We,et,"∅","\\varnothing");q(se,be,Hr,"α","\\alpha",!0);q(se,be,Hr,"β","\\beta",!0);q(se,be,Hr,"γ","\\gamma",!0);q(se,be,Hr,"δ","\\delta",!0);q(se,be,Hr,"ϵ","\\epsilon",!0);q(se,be,Hr,"ζ","\\zeta",!0);q(se,be,Hr,"η","\\eta",!0);q(se,be,Hr,"θ","\\theta",!0);q(se,be,Hr,"ι","\\iota",!0);q(se,be,Hr,"κ","\\kappa",!0);q(se,be,Hr,"λ","\\lambda",!0);q(se,be,Hr,"μ","\\mu",!0);q(se,be,Hr,"ν","\\nu",!0);q(se,be,Hr,"ξ","\\xi",!0);q(se,be,Hr,"ο","\\omicron",!0);q(se,be,Hr,"π","\\pi",!0);q(se,be,Hr,"ρ","\\rho",!0);q(se,be,Hr,"σ","\\sigma",!0);q(se,be,Hr,"τ","\\tau",!0);q(se,be,Hr,"υ","\\upsilon",!0);q(se,be,Hr,"ϕ","\\phi",!0);q(se,be,Hr,"χ","\\chi",!0);q(se,be,Hr,"ψ","\\psi",!0);q(se,be,Hr,"ω","\\omega",!0);q(se,be,Hr,"ε","\\varepsilon",!0);q(se,be,Hr,"ϑ","\\vartheta",!0);q(se,be,Hr,"ϖ","\\varpi",!0);q(se,be,Hr,"ϱ","\\varrho",!0);q(se,be,Hr,"ς","\\varsigma",!0);q(se,be,Hr,"φ","\\varphi",!0);q(se,be,hr,"∗","*",!0);q(se,be,hr,"+","+");q(se,be,hr,"−","-",!0);q(se,be,hr,"⋅","\\cdot",!0);q(se,be,hr,"∘","\\circ",!0);q(se,be,hr,"÷","\\div",!0);q(se,be,hr,"±","\\pm",!0);q(se,be,hr,"×","\\times",!0);q(se,be,hr,"∩","\\cap",!0);q(se,be,hr,"∪","\\cup",!0);q(se,be,hr,"∖","\\setminus",!0);q(se,be,hr,"∧","\\land");q(se,be,hr,"∨","\\lor");q(se,be,hr,"∧","\\wedge",!0);q(se,be,hr,"∨","\\vee",!0);q(se,be,et,"√","\\surd");q(se,be,lu,"⟨","\\langle",!0);q(se,be,lu,"∣","\\lvert");q(se,be,lu,"∥","\\lVert");q(se,be,Jl,"?","?");q(se,be,Jl,"!","!");q(se,be,Jl,"⟩","\\rangle",!0);q(se,be,Jl,"∣","\\rvert");q(se,be,Jl,"∥","\\rVert");q(se,be,Xe,"=","=");q(se,be,Xe,":",":");q(se,be,Xe,"≈","\\approx",!0);q(se,be,Xe,"≅","\\cong",!0);q(se,be,Xe,"≥","\\ge");q(se,be,Xe,"≥","\\geq",!0);q(se,be,Xe,"←","\\gets");q(se,be,Xe,">","\\gt",!0);q(se,be,Xe,"∈","\\in",!0);q(se,be,Xe,"","\\@not");q(se,be,Xe,"⊂","\\subset",!0);q(se,be,Xe,"⊃","\\supset",!0);q(se,be,Xe,"⊆","\\subseteq",!0);q(se,be,Xe,"⊇","\\supseteq",!0);q(se,We,Xe,"⊈","\\nsubseteq",!0);q(se,We,Xe,"⊉","\\nsupseteq",!0);q(se,be,Xe,"⊨","\\models");q(se,be,Xe,"←","\\leftarrow",!0);q(se,be,Xe,"≤","\\le");q(se,be,Xe,"≤","\\leq",!0);q(se,be,Xe,"<","\\lt",!0);q(se,be,Xe,"→","\\rightarrow",!0);q(se,be,Xe,"→","\\to");q(se,We,Xe,"≱","\\ngeq",!0);q(se,We,Xe,"≰","\\nleq",!0);q(se,be,hp," ","\\ ");q(se,be,hp," ","\\space");q(se,be,hp," ","\\nobreakspace");q(Dt,be,hp," ","\\ ");q(Dt,be,hp," "," ");q(Dt,be,hp," ","\\space");q(Dt,be,hp," ","\\nobreakspace");q(se,be,hp,"","\\nobreak");q(se,be,hp,"","\\allowbreak");q(se,be,bS,",",",");q(se,be,bS,";",";");q(se,We,hr,"⊼","\\barwedge",!0);q(se,We,hr,"⊻","\\veebar",!0);q(se,be,hr,"⊙","\\odot",!0);q(se,be,hr,"⊕","\\oplus",!0);q(se,be,hr,"⊗","\\otimes",!0);q(se,be,et,"∂","\\partial",!0);q(se,be,hr,"⊘","\\oslash",!0);q(se,We,hr,"⊚","\\circledcirc",!0);q(se,We,hr,"⊡","\\boxdot",!0);q(se,be,hr,"△","\\bigtriangleup");q(se,be,hr,"▽","\\bigtriangledown");q(se,be,hr,"†","\\dagger");q(se,be,hr,"⋄","\\diamond");q(se,be,hr,"⋆","\\star");q(se,be,hr,"◃","\\triangleleft");q(se,be,hr,"▹","\\triangleright");q(se,be,lu,"{","\\{");q(Dt,be,et,"{","\\{");q(Dt,be,et,"{","\\textbraceleft");q(se,be,Jl,"}","\\}");q(Dt,be,et,"}","\\}");q(Dt,be,et,"}","\\textbraceright");q(se,be,lu,"{","\\lbrace");q(se,be,Jl,"}","\\rbrace");q(se,be,lu,"[","\\lbrack",!0);q(Dt,be,et,"[","\\lbrack",!0);q(se,be,Jl,"]","\\rbrack",!0);q(Dt,be,et,"]","\\rbrack",!0);q(se,be,lu,"(","\\lparen",!0);q(se,be,Jl,")","\\rparen",!0);q(Dt,be,et,"<","\\textless",!0);q(Dt,be,et,">","\\textgreater",!0);q(se,be,lu,"⌊","\\lfloor",!0);q(se,be,Jl,"⌋","\\rfloor",!0);q(se,be,lu,"⌈","\\lceil",!0);q(se,be,Jl,"⌉","\\rceil",!0);q(se,be,et,"\\","\\backslash");q(se,be,et,"∣","|");q(se,be,et,"∣","\\vert");q(Dt,be,et,"|","\\textbar",!0);q(se,be,et,"∥","\\|");q(se,be,et,"∥","\\Vert");q(Dt,be,et,"∥","\\textbardbl");q(Dt,be,et,"~","\\textasciitilde");q(Dt,be,et,"\\","\\textbackslash");q(Dt,be,et,"^","\\textasciicircum");q(se,be,Xe,"↑","\\uparrow",!0);q(se,be,Xe,"⇑","\\Uparrow",!0);q(se,be,Xe,"↓","\\downarrow",!0);q(se,be,Xe,"⇓","\\Downarrow",!0);q(se,be,Xe,"↕","\\updownarrow",!0);q(se,be,Xe,"⇕","\\Updownarrow",!0);q(se,be,bs,"∐","\\coprod");q(se,be,bs,"⋁","\\bigvee");q(se,be,bs,"⋀","\\bigwedge");q(se,be,bs,"⨄","\\biguplus");q(se,be,bs,"⋂","\\bigcap");q(se,be,bs,"⋃","\\bigcup");q(se,be,bs,"∫","\\int");q(se,be,bs,"∫","\\intop");q(se,be,bs,"∬","\\iint");q(se,be,bs,"∭","\\iiint");q(se,be,bs,"∏","\\prod");q(se,be,bs,"∑","\\sum");q(se,be,bs,"⨂","\\bigotimes");q(se,be,bs,"⨁","\\bigoplus");q(se,be,bs,"⨀","\\bigodot");q(se,be,bs,"∮","\\oint");q(se,be,bs,"∯","\\oiint");q(se,be,bs,"∰","\\oiiint");q(se,be,bs,"⨆","\\bigsqcup");q(se,be,bs,"∫","\\smallint");q(Dt,be,c3,"…","\\textellipsis");q(se,be,c3,"…","\\mathellipsis");q(Dt,be,c3,"…","\\ldots",!0);q(se,be,c3,"…","\\ldots",!0);q(se,be,c3,"⋯","\\@cdots",!0);q(se,be,c3,"⋱","\\ddots",!0);q(se,be,et,"⋮","\\varvdots");q(Dt,be,et,"⋮","\\varvdots");q(se,be,ga,"ˊ","\\acute");q(se,be,ga,"ˋ","\\grave");q(se,be,ga,"¨","\\ddot");q(se,be,ga,"~","\\tilde");q(se,be,ga,"ˉ","\\bar");q(se,be,ga,"˘","\\breve");q(se,be,ga,"ˇ","\\check");q(se,be,ga,"^","\\hat");q(se,be,ga,"⃗","\\vec");q(se,be,ga,"˙","\\dot");q(se,be,ga,"˚","\\mathring");q(se,be,Hr,"","\\@imath");q(se,be,Hr,"","\\@jmath");q(se,be,et,"ı","ı");q(se,be,et,"ȷ","ȷ");q(Dt,be,et,"ı","\\i",!0);q(Dt,be,et,"ȷ","\\j",!0);q(Dt,be,et,"ß","\\ss",!0);q(Dt,be,et,"æ","\\ae",!0);q(Dt,be,et,"œ","\\oe",!0);q(Dt,be,et,"ø","\\o",!0);q(Dt,be,et,"Æ","\\AE",!0);q(Dt,be,et,"Œ","\\OE",!0);q(Dt,be,et,"Ø","\\O",!0);q(Dt,be,ga,"ˊ","\\'");q(Dt,be,ga,"ˋ","\\`");q(Dt,be,ga,"ˆ","\\^");q(Dt,be,ga,"˜","\\~");q(Dt,be,ga,"ˉ","\\=");q(Dt,be,ga,"˘","\\u");q(Dt,be,ga,"˙","\\.");q(Dt,be,ga,"¸","\\c");q(Dt,be,ga,"˚","\\r");q(Dt,be,ga,"ˇ","\\v");q(Dt,be,ga,"¨",'\\"');q(Dt,be,ga,"˝","\\H");q(Dt,be,ga,"◯","\\textcircled");var oIe={"--":!0,"---":!0,"``":!0,"''":!0};q(Dt,be,et,"–","--",!0);q(Dt,be,et,"–","\\textendash");q(Dt,be,et,"—","---",!0);q(Dt,be,et,"—","\\textemdash");q(Dt,be,et,"‘","`",!0);q(Dt,be,et,"‘","\\textquoteleft");q(Dt,be,et,"’","'",!0);q(Dt,be,et,"’","\\textquoteright");q(Dt,be,et,"“","``",!0);q(Dt,be,et,"“","\\textquotedblleft");q(Dt,be,et,"”","''",!0);q(Dt,be,et,"”","\\textquotedblright");q(se,be,et,"°","\\degree",!0);q(Dt,be,et,"°","\\degree");q(Dt,be,et,"°","\\textdegree",!0);q(se,be,et,"£","\\pounds");q(se,be,et,"£","\\mathsterling",!0);q(Dt,be,et,"£","\\pounds");q(Dt,be,et,"£","\\textsterling",!0);q(se,We,et,"✠","\\maltese");q(Dt,We,et,"✠","\\maltese");var Ape='0123456789/@."';for(var OF=0;OF<Ape.length;OF++){var Mpe=Ape.charAt(OF);q(se,be,et,Mpe,Mpe)}var Rpe='0123456789!@*()-=+";:?/.,';for(var DF=0;DF<Rpe.length;DF++){var Ipe=Rpe.charAt(DF);q(Dt,be,et,Ipe,Ipe)}var BL="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var PF=0;PF<BL.length;PF++){var SE=BL.charAt(PF);q(se,be,Hr,SE,SE),q(Dt,be,et,SE,SE)}q(se,We,et,"C","ℂ");q(Dt,We,et,"C","ℂ");q(se,We,et,"H","ℍ");q(Dt,We,et,"H","ℍ");q(se,We,et,"N","ℕ");q(Dt,We,et,"N","ℕ");q(se,We,et,"P","ℙ");q(Dt,We,et,"P","ℙ");q(se,We,et,"Q","ℚ");q(Dt,We,et,"Q","ℚ");q(se,We,et,"R","ℝ");q(Dt,We,et,"R","ℝ");q(se,We,et,"Z","ℤ");q(Dt,We,et,"Z","ℤ");q(se,be,Hr,"h","ℎ");q(Dt,be,Hr,"h","ℎ");var on;for(var fl=0;fl<BL.length;fl++){var Oa=BL.charAt(fl);on=String.fromCharCode(55349,56320+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56372+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56424+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56580+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56684+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56736+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56788+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56840+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56944+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),fl<26&&(on=String.fromCharCode(55349,56632+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on),on=String.fromCharCode(55349,56476+fl),q(se,be,Hr,Oa,on),q(Dt,be,et,Oa,on))}on="𝕜";q(se,be,Hr,"k",on);q(Dt,be,et,"k",on);for(var im=0;im<10;im++){var Pp=im.toString();on=String.fromCharCode(55349,57294+im),q(se,be,Hr,Pp,on),q(Dt,be,et,Pp,on),on=String.fromCharCode(55349,57314+im),q(se,be,Hr,Pp,on),q(Dt,be,et,Pp,on),on=String.fromCharCode(55349,57324+im),q(se,be,Hr,Pp,on),q(Dt,be,et,Pp,on),on=String.fromCharCode(55349,57334+im),q(se,be,Hr,Pp,on),q(Dt,be,et,Pp,on)}var Zq="ÐÞþ";for(var _F=0;_F<Zq.length;_F++){var kE=Zq.charAt(_F);q(se,be,Hr,kE,kE),q(Dt,be,et,kE,kE)}var Jq={mathClass:"mathbf",textClass:"textbf",font:"Main-Bold"},Lpe={mathClass:"mathnormal",textClass:"textit",font:"Math-Italic"},Npe={mathClass:"boldsymbol",textClass:"boldsymbol",font:"Main-BoldItalic"},xqt={mathClass:"mathscr",textClass:"textscr",font:"Script-Regular"},Fm={mathClass:"",textClass:"",font:""},Ope={mathClass:"mathfrak",textClass:"textfrak",font:"Fraktur-Regular"},Dpe={mathClass:"mathbb",textClass:"textbb",font:"AMS-Regular"},Ppe={mathClass:"mathboldfrak",textClass:"textboldfrak",font:"Fraktur-Regular"},Qq={mathClass:"mathsf",textClass:"textsf",font:"SansSerif-Regular"},ej={mathClass:"mathboldsf",textClass:"textboldsf",font:"SansSerif-Bold"},_pe={mathClass:"mathitsf",textClass:"textitsf",font:"SansSerif-Italic"},tj={mathClass:"mathtt",textClass:"texttt",font:"Typewriter-Regular"},Bpe=[Jq,Jq,Lpe,Lpe,Npe,Npe,xqt,Fm,Fm,Fm,Ope,Ope,Dpe,Dpe,Ppe,Ppe,Qq,Qq,ej,ej,_pe,_pe,Fm,Fm,tj,tj],wqt=[Jq,Fm,Qq,ej,tj],Tqt=t=>{var e=t.charCodeAt(0),r=t.charCodeAt(1),n=(e-55296)*1024+(r-56320)+65536;if(119808<=n&&n<120484){var i=Math.floor((n-119808)/26);return Bpe[i]}else if(120782<=n&&n<=120831){var a=Math.floor((n-120782)/10);return wqt[a]}else{if(n===120485||n===120486)return Bpe[0];if(120486<n&&n<120782)return Fm;throw new Gt("Unsupported character: "+t)}},UP=function(e,r,n){if(da[n][e]){var i=da[n][e].replace;i&&(e=i)}return{value:e,metrics:Ite(e,r,n)}},Tl=function(e,r,n,i,a){var s=UP(e,r,n),o=s.metrics;e=s.value;var l;if(o){var u=o.italic;(n==="text"||i&&i.font==="mathit")&&(u=0),l=new ru(e,o.height,o.depth,u,o.skew,o.width,a)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+r+"' and mode '"+n+"'")),l=new ru(e,0,0,0,0,0,a);if(i){l.maxFontSize=i.sizeMultiplier,i.style.isTight()&&l.classes.push("mtight");var d=i.getColor();d&&(l.style.color=d)}return l},Lte=function(e,r,n,i){return i===void 0&&(i=[]),n.font==="boldsymbol"&&UP(e,"Main-Bold",r).metrics?Tl(e,"Main-Bold",r,n,i.concat(["mathbf"])):e==="\\"||da[r][e].font==="main"?Tl(e,"Main-Regular",r,n,i):Tl(e,"AMS-Regular",r,n,i.concat(["amsrm"]))},Cqt=function(e,r,n){return n!=="textord"&&UP(e,"Math-BoldItalic",r).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},yP=function(e,r,n){var i=e.mode,a=e.text,s=["mord"],{font:o,fontFamily:l,fontWeight:u,fontShape:d}=r,h=i==="math"||i==="text"&&!!o,f=h?o:l,p="",g="";if(a.charCodeAt(0)===55349){var m=Tqt(a);p=m.font,g=m[i+"Class"]}if(p)return Tl(a,p,i,r,s.concat(g));if(f){var U,y;if(f==="boldsymbol"){var b=Cqt(a,i,n);U=b.fontName,y=[b.fontClass]}else h?(U=rj[o].fontName,y=[o]):(U=EE(l,u,d),y=[l,u,d]);if(UP(a,U,i).metrics)return Tl(a,U,i,r,s.concat(y));if(oIe.hasOwnProperty(a)&&U.slice(0,10)==="Typewriter"){for(var v=[],w=0;w<a.length;w++)v.push(Tl(a[w],U,i,r,s.concat(y)));return fp(v)}}if(n==="mathord")return Tl(a,"Math-Italic",i,r,s.concat(["mathnormal"]));if(n==="textord"){var T=da[i][a]&&da[i][a].font;if(T==="ams"){var S=EE("amsrm",u,d);return Tl(a,S,i,r,s.concat("amsrm",u,d))}else if(T==="main"||!T){var C=EE("textrm",u,d);return Tl(a,C,i,r,s.concat(u,d))}else{var k=EE(T,u,d);return Tl(a,k,i,r,s.concat(k,u,d))}}else throw new Error("unexpected type: "+n+" in makeOrd")},Sqt=(t,e)=>{if(Qg(t.classes)!==Qg(e.classes)||t.skew!==e.skew||t.maxFontSize!==e.maxFontSize||t.italic!==0&&t.hasClass("mathnormal"))return!1;if(t.classes.length===1){var r=t.classes[0];if(r==="mbin"||r==="mord")return!1}for(var n of Object.keys(t.style))if(t.style[n]!==e.style[n])return!1;for(var i of Object.keys(e.style))if(t.style[i]!==e.style[i])return!1;return!0},lIe=t=>{for(var e=0;e<t.length-1;e++){var r=t[e],n=t[e+1];r instanceof ru&&n instanceof ru&&Sqt(r,n)&&(r.text+=n.text,r.height=Math.max(r.height,n.height),r.depth=Math.max(r.depth,n.depth),r.italic=n.italic,t.splice(e+1,1),e--)}return t},Nte=function(e){for(var r=0,n=0,i=0,a=0;a<e.children.length;a++){var s=e.children[a];s.height>r&&(r=s.height),s.depth>n&&(n=s.depth),s.maxFontSize>i&&(i=s.maxFontSize)}e.height=r,e.depth=n,e.maxFontSize=i},zt=function(e,r,n,i){var a=new l3(e,r,n,i);return Nte(a),a},t1=(t,e,r,n)=>new l3(t,e,r,n),o4=function(e,r,n){var i=zt([e],[],r);return i.height=Math.max(n||r.fontMetrics().defaultRuleThickness,r.minRuleThickness),i.style.borderBottomWidth=Kt(i.height),i.maxFontSize=1,i},kqt=function(e,r,n,i){var a=new mP(e,r,n,i);return Nte(a),a},fp=function(e){var r=new o3(e);return Nte(r),r},l4=function(e,r){return e instanceof o3?zt([],[e],r):e},Eqt=function(e){if(e.positionType==="individualShift"){for(var r=e.children,n=[r[0]],i=-r[0].shift-r[0].elem.depth,a=i,s=1;s<r.length;s++){var o=-r[s].shift-a-r[s].elem.depth,l=o-(r[s-1].elem.height+r[s-1].elem.depth);a=a+o,n.push({type:"kern",size:l}),n.push(r[s])}return{children:n,depth:i}}var u;if(e.positionType==="top"){for(var d=e.positionData,h=0;h<e.children.length;h++){var f=e.children[h];d-=f.type==="kern"?f.size:f.elem.height+f.elem.depth}u=d}else if(e.positionType==="bottom")u=-e.positionData;else{var p=e.children[0];if(p.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")u=-p.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")u=-p.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:u}},gi=function(e,r){for(var{children:n,depth:i}=Eqt(e),a=0,s=0;s<n.length;s++){var o=n[s];if(o.type==="elem"){var l=o.elem;a=Math.max(a,l.maxFontSize,l.height)}}a+=2;var u=zt(["pstrut"],[]);u.style.height=Kt(a);for(var d=[],h=i,f=i,p=i,g=0;g<n.length;g++){var m=n[g];if(m.type==="kern")p+=m.size;else{var U=m.elem,y=m.wrapperClasses||[],b=m.wrapperStyle||{},v=zt(y,[u,U],void 0,b);v.style.top=Kt(-a-p-U.depth),m.marginLeft&&(v.style.marginLeft=m.marginLeft),m.marginRight&&(v.style.marginRight=m.marginRight),d.push(v),p+=U.height+U.depth}h=Math.min(h,p),f=Math.max(f,p)}var w=zt(["vlist"],d);w.style.height=Kt(f);var T;if(h<0){var S=zt([],[]),C=zt(["vlist"],[S]);C.style.height=Kt(-h);var k=zt(["vlist-s"],[new ru("​")]);T=[zt(["vlist-r"],[w,k]),zt(["vlist-r"],[C])]}else T=[zt(["vlist-r"],[w])];var E=zt(["vlist-t"],T);return T.length===2&&E.classes.push("vlist-t2"),E.height=f,E.depth=-h,E},cIe=(t,e)=>{var r=zt(["mspace"],[],e),n=Ta(t,e);return r.style.marginRight=Kt(n),r},EE=(t,e,r)=>{var n,i;switch(t){case"amsrm":n="AMS";break;case"textrm":n="Main";break;case"textsf":n="SansSerif";break;case"texttt":n="Typewriter";break;default:n=t}return e==="textbf"&&r==="textit"?i="BoldItalic":e==="textbf"?i="Bold":r==="textit"?i="Italic":i="Regular",n+"-"+i},rj={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"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-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"}},uIe={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},dIe=function(e,r){var[n,i,a]=uIe[e],s=new e1(n),o=new $0([s],{width:Kt(i),height:Kt(a),style:"width:"+Kt(i),viewBox:"0 0 "+1e3*i+" "+1e3*a,preserveAspectRatio:"xMinYMin"}),l=t1(["overlay"],[o],r);return l.height=a,l.style.height=Kt(a),l.style.width=Kt(i),l},ba={number:3,unit:"mu"},am={number:4,unit:"mu"},Nf={number:5,unit:"mu"},Aqt={mord:{mop:ba,mbin:am,mrel:Nf,minner:ba},mop:{mord:ba,mop:ba,mrel:Nf,minner:ba},mbin:{mord:am,mop:am,mopen:am,minner:am},mrel:{mord:Nf,mop:Nf,mopen:Nf,minner:Nf},mopen:{},mclose:{mop:ba,mbin:am,mrel:Nf,minner:ba},mpunct:{mord:ba,mop:ba,mrel:Nf,mopen:ba,mclose:ba,mpunct:ba,minner:ba},minner:{mord:ba,mop:ba,mbin:am,mrel:Nf,mopen:ba,mpunct:ba,minner:ba}},Mqt={mord:{mop:ba},mop:{mord:ba,mop:ba},mbin:{},mrel:{},mopen:{},mclose:{mop:ba},mpunct:{},minner:{mop:ba}},hIe={},$L={},FL={};function ar(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs,argTypes:n.argTypes,allowedInArgument:!!n.allowedInArgument,allowedInText:!!n.allowedInText,allowedInMath:n.allowedInMath===void 0?!0:n.allowedInMath,numOptionalArgs:n.numOptionalArgs||0,infix:!!n.infix,primitive:!!n.primitive,handler:i},l=0;l<r.length;++l)hIe[r[l]]=o;e&&(a&&($L[e]=a),s&&(FL[e]=s))}function N5(t){var{type:e,htmlBuilder:r,mathmlBuilder:n}=t;ar({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:r,mathmlBuilder:n})}var zL=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},ps=function(e){return e.type==="ordgroup"?e.body:[e]},Rqt=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),Iqt=new Set(["rightmost","mrel","mclose","mpunct"]),Lqt={display:pn.DISPLAY,text:pn.TEXT,script:pn.SCRIPT,scriptscript:pn.SCRIPTSCRIPT},Nqt={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},$s=function(e,r,n,i){i===void 0&&(i=[null,null]);for(var a=[],s=0;s<e.length;s++){var o=Ui(e[s],r);if(o instanceof o3){var l=o.children;a.push(...l)}else a.push(o)}if(lIe(a),!n)return a;var u=r;if(e.length===1){var d=e[0];d.type==="sizing"?u=r.havingSize(d.size):d.type==="styling"&&(u=r.havingStyle(Lqt[d.style]))}var h=zt([i[0]||"leftmost"],[],r),f=zt([i[1]||"rightmost"],[],r),p=n==="root";return nj(a,(g,m)=>{var U=m.classes[0],y=g.classes[0];U==="mbin"&&Iqt.has(y)?m.classes[0]="mord":y==="mbin"&&Rqt.has(U)&&(g.classes[0]="mord")},{node:h},f,p),nj(a,(g,m)=>{var U,y,b=aj(m),v=aj(g),w=b&&v?g.hasClass("mtight")?(U=Mqt[b])==null?void 0:U[v]:(y=Aqt[b])==null?void 0:y[v]:null;if(w)return cIe(w,u)},{node:h},f,p),a},nj=function(e,r,n,i,a){i&&e.push(i);for(var s=0;s<e.length;s++){var o=e[s],l=fIe(o);if(l){nj(l.children,r,n,null,a);continue}var u=!o.hasClass("mspace");if(u){var d=r(o,n.node);d&&(n.insertAfter?n.insertAfter(d):(e.unshift(d),s++))}u?n.node=o:a&&o.hasClass("newline")&&(n.node=zt(["leftmost"])),n.insertAfter=(h=>f=>{e.splice(h+1,0,f),s++})(s)}i&&e.pop()},fIe=function(e){return e instanceof o3||e instanceof mP||e instanceof l3&&e.hasClass("enclosing")?e:null},ij=function(e,r){var n=fIe(e);if(n){var i=n.children;if(i.length){if(r==="right")return ij(i[i.length-1],"right");if(r==="left")return ij(i[0],"left")}}return e},aj=function(e,r){if(!e)return null;r&&(e=ij(e,r));var n=e.classes[0];return Nqt[n]||null},VT=function(e,r){var n=["nulldelimiter"].concat(e.baseSizingClasses());return zt(r.concat(n))},Ui=function(e,r,n){if(!e)return zt();if($L[e.type]){var i=$L[e.type](e,r);if(n&&r.size!==n.size){i=zt(r.sizingClasses(n),[i],r);var a=r.sizeMultiplier/n.sizeMultiplier;i.height*=a,i.depth*=a}return i}else throw new Gt("Got group of unknown type: '"+e.type+"'")};function AE(t,e){var r=zt(["base"],t,e),n=zt(["strut"]);return n.style.height=Kt(r.height+r.depth),r.depth&&(n.style.verticalAlign=Kt(-r.depth)),r.children.unshift(n),r}function sj(t,e){var r=null;t.length===1&&t[0].type==="tag"&&(r=t[0].tag,t=t[0].body);var n=$s(t,e,"root"),i;n.length===2&&n[1].hasClass("tag")&&(i=n.pop());for(var a=[],s=[],o=0;o<n.length;o++)if(s.push(n[o]),n[o].hasClass("mbin")||n[o].hasClass("mrel")||n[o].hasClass("allowbreak")){for(var l=!1;o<n.length-1&&n[o+1].hasClass("mspace")&&!n[o+1].hasClass("newline");)o++,s.push(n[o]),n[o].hasClass("nobreak")&&(l=!0);l||(a.push(AE(s,e)),s=[])}else n[o].hasClass("newline")&&(s.pop(),s.length>0&&(a.push(AE(s,e)),s=[]),a.push(n[o]));s.length>0&&a.push(AE(s,e));var u;r?(u=AE($s(r,e,!0),e),u.classes=["tag"],a.push(u)):i&&a.push(i);var d=zt(["katex-html"],a);if(d.setAttribute("aria-hidden","true"),u){var h=u.children[0];h.style.height=Kt(d.height+d.depth),d.depth&&(h.style.verticalAlign=Kt(-d.depth))}return d}function pIe(t){return new o3(t)}class jt{constructor(e,r,n){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=r||[],this.classes=n||[]}setAttribute(e,r){this.attributes[e]=r}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&e.setAttribute(r,this.attributes[r]);this.classes.length>0&&(e.className=Qg(this.classes));for(var n=0;n<this.children.length;n++)if(this.children[n]instanceof gs&&this.children[n+1]instanceof gs){for(var i=this.children[n].toText()+this.children[++n].toText();this.children[n+1]instanceof gs;)i+=this.children[++n].toText();e.appendChild(new gs(i).toNode())}else e.appendChild(this.children[n].toNode());return e}toMarkup(){var e="<"+this.type;for(var r in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,r)&&(e+=" "+r+'="',e+=Qo(this.attributes[r]),e+='"');this.classes.length>0&&(e+=' class ="'+Qo(Qg(this.classes))+'"'),e+=">";for(var n=0;n<this.children.length;n++)e+=this.children[n].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}}class gs{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Qo(this.toText())}toText(){return this.text}}class gIe{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",Kt(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+Kt(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var Oqt=new Set(["\\imath","\\jmath"]),Dqt=new Set(["mrow","mtable"]),Wu=function(e,r,n){return da[r][e]&&da[r][e].replace&&e.charCodeAt(0)!==55349&&!(oIe.hasOwnProperty(e)&&n&&(n.fontFamily&&n.fontFamily.slice(4,6)==="tt"||n.font&&n.font.slice(4,6)==="tt"))&&(e=da[r][e].replace),new gs(e)},Ote=function(e){return e.length===1?e[0]:new jt("mrow",e)},Pqt={mathit:"italic",boldsymbol:t=>t.type==="textord"?"bold":"bold-italic",mathbf:"bold",mathbb:"double-struck",mathsfit:"sans-serif-italic",mathfrak:"fraktur",mathscr:"script",mathcal:"script",mathsf:"sans-serif",mathtt:"monospace"},Dte=(t,e)=>{if(t.mode==="text"){if(e.fontFamily==="texttt")return"monospace";if(e.fontFamily==="textsf")return e.fontShape==="textit"&&e.fontWeight==="textbf"?"sans-serif-bold-italic":e.fontShape==="textit"?"sans-serif-italic":e.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(e.fontShape==="textit"&&e.fontWeight==="textbf")return"bold-italic";if(e.fontShape==="textit")return"italic";if(e.fontWeight==="textbf")return"bold"}var r=e.font;if(!r||r==="mathnormal")return null;var n=t.mode,i=Pqt[r];if(i)return typeof i=="function"?i(t):i;var a=t.text;if(Oqt.has(a))return null;if(da[n][a]){var s=da[n][a].replace;s&&(a=s)}var o=rj[r].fontName;return Ite(a,o,n)?rj[r].variant:null};function BF(t){if(!t)return!1;if(t.type==="mi"&&t.children.length===1){var e=t.children[0];return e instanceof gs&&e.text==="."}else if(t.type==="mo"&&t.children.length===1&&t.getAttribute("separator")==="true"&&t.getAttribute("lspace")==="0em"&&t.getAttribute("rspace")==="0em"){var r=t.children[0];return r instanceof gs&&r.text===","}else return!1}var cu=function(e,r,n){if(e.length===1){var i=Ni(e[0],r);return n&&i instanceof jt&&i.type==="mo"&&(i.setAttribute("lspace","0em"),i.setAttribute("rspace","0em")),[i]}for(var a=[],s,o=0;o<e.length;o++){var l=Ni(e[o],r);if(l instanceof jt&&s instanceof jt){if(l.type==="mtext"&&s.type==="mtext"&&l.getAttribute("mathvariant")===s.getAttribute("mathvariant")){s.children.push(...l.children);continue}else if(l.type==="mn"&&s.type==="mn"){s.children.push(...l.children);continue}else if(BF(l)&&s.type==="mn"){s.children.push(...l.children);continue}else if(l.type==="mn"&&BF(s))l.children=[...s.children,...l.children],a.pop();else if((l.type==="msup"||l.type==="msub")&&l.children.length>=1&&(s.type==="mn"||BF(s))){var u=l.children[0];u instanceof jt&&u.type==="mn"&&(u.children=[...s.children,...u.children],a.pop())}else if(s.type==="mi"&&s.children.length===1){var d=s.children[0];if(d instanceof gs&&d.text==="̸"&&(l.type==="mo"||l.type==="mi"||l.type==="mn")){var h=l.children[0];h instanceof gs&&h.text.length>0&&(h.text=h.text.slice(0,1)+"̸"+h.text.slice(1),a.pop())}}}a.push(l),s=l}return a},r1=function(e,r,n){return Ote(cu(e,r,n))},Ni=function(e,r){if(!e)return new jt("mrow");if(FL[e.type])return FL[e.type](e,r);throw new Gt("Got group of unknown type: '"+e.type+"'")};function $pe(t,e,r,n,i){var a=cu(t,r),s;a.length===1&&a[0]instanceof jt&&Dqt.has(a[0].type)?s=a[0]:s=new jt("mrow",a);var o=new jt("annotation",[new gs(e)]);o.setAttribute("encoding","application/x-tex");var l=new jt("semantics",[s,o]),u=new jt("math",[l]);u.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),n&&u.setAttribute("display","block");var d=i?"katex":"katex-mathml";return zt([d],[u])}var _qt=[[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]],Fpe=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],zpe=function(e,r){return r.size<2?e:_qt[e-1][r.size-1]};class Xf{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||Xf.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=Fpe[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var r={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};return Object.assign(r,e),new Xf(r)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:zpe(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:Fpe[e-1]})}havingBaseStyle(e){e=e||this.style.text();var r=zpe(Xf.BASESIZE,e);return this.size===r&&this.textSize===Xf.BASESIZE&&this.style===e?this:this.extend({style:e,size:r})}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!==Xf.BASESIZE?["sizing","reset-size"+this.size,"size"+Xf.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=vqt(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}Xf.BASESIZE=6;var mIe=function(e){return new Xf({style:e.displayMode?pn.DISPLAY:pn.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},UIe=function(e,r){if(r.displayMode){var n=["katex-display"];r.leqno&&n.push("leqno"),r.fleqn&&n.push("fleqn"),e=zt(n,[e])}return e},Bqt=function(e,r,n){var i=mIe(n),a;if(n.output==="mathml")return $pe(e,r,i,n.displayMode,!0);if(n.output==="html"){var s=sj(e,i);a=zt(["katex"],[s])}else{var o=$pe(e,r,i,n.displayMode,!1),l=sj(e,i);a=zt(["katex"],[o,l])}return UIe(a,n)},$qt=function(e,r,n){var i=mIe(n),a=sj(e,i),s=zt(["katex"],[a]);return UIe(s,n)},Fqt={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",underbracket:"⎵",overbracket:"⎴",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":"="},bP=function(e){var r=new jt("mo",[new gs(Fqt[e.replace(/^\\/,"")])]);return r.setAttribute("stretchy","true"),r},zqt={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],overbracket:[["leftbracketover","rightbracketover"],1.6,440],underbracket:[["leftbracketunder","rightbracketunder"],1.6,410],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]},Hqt=new Set(["widehat","widecheck","widetilde","utilde"]),vP=function(e,r){function n(){var o=4e5,l=e.label.slice(1);if(Hqt.has(l)&&"base"in e){var u=e.base.type==="ordgroup"?e.base.body.length:1,d,h,f;if(u>5)l==="widehat"||l==="widecheck"?(d=420,o=2364,f=.42,h=l+"4"):(d=312,o=2340,f=.34,h="tilde4");else{var p=[1,1,2,2,3,3][u];l==="widehat"||l==="widecheck"?(o=[0,1062,2364,2364,2364][p],d=[0,239,300,360,420][p],f=[0,.24,.3,.3,.36,.42][p],h=l+p):(o=[0,600,1033,2339,2340][p],d=[0,260,286,306,312][p],f=[0,.26,.286,.3,.306,.34][p],h="tilde"+p)}var g=new e1(h),m=new $0([g],{width:"100%",height:Kt(f),viewBox:"0 0 "+o+" "+d,preserveAspectRatio:"none"});return{span:t1([],[m],r),minWidth:0,height:f}}else{var U=[],y=zqt[l];if(!y)throw new Error('No SVG data for "'+l+'".');var[b,v,w]=y,T=w/1e3,S=b.length,C,k;if(S===1){if(y.length!==4)throw new Error('Expected 4-tuple for single-path SVG data "'+l+'".');C=["hide-tail"],k=[y[3]]}else if(S===2)C=["halfarrow-left","halfarrow-right"],k=["xMinYMin","xMaxYMin"];else if(S===3)C=["brace-left","brace-center","brace-right"],k=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
`+S+" children.");for(var E=0;E<S;E++){var A=new e1(b[E]),M=new $0([A],{width:"400em",height:Kt(T),viewBox:"0 0 "+o+" "+w,preserveAspectRatio:k[E]+" slice"}),P=t1([C[E]],[M],r);if(S===1)return{span:P,minWidth:v,height:T};P.style.height=Kt(T),U.push(P)}return{span:zt(["stretchy"],U,r),minWidth:v,height:T}}}var{span:i,minWidth:a,height:s}=n();return i.height=s,i.style.height=Kt(s),a>0&&(i.style.minWidth=Kt(a)),i},Vqt=function(e,r,n,i,a){var s,o=e.height+e.depth+n+i;if(/fbox|color|angl/.test(r)){if(s=zt(["stretchy",r],[],a),r==="fbox"){var l=a.color&&a.getColor();l&&(s.style.borderColor=l)}}else{var u=[];/^[bx]cancel$/.test(r)&&u.push(new Kq({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(r)&&u.push(new Kq({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var d=new $0(u,{width:"100%",height:Kt(o)});s=t1([],[d],a)}return s.height=o,s.style.height=Kt(o),s},Gqt={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Wqt={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1};function qqt(t){return t in Gqt}function wn(t,e){if(!t||t.type!==e)throw new Error("Expected node of type "+e+", but got "+(t?"node of type "+t.type:String(t)));return t}function xP(t){var e=wP(t);if(!e)throw new Error("Expected node of symbol group type, but got "+(t?"node of type "+t.type:String(t)));return e}function wP(t){return t&&(t.type==="atom"||Wqt.hasOwnProperty(t.type))?t:null}var yIe=t=>{if(t instanceof ru)return t;if(bqt(t)&&t.children.length===1)return yIe(t.children[0])},Pte=(t,e)=>{var r,n,i;t&&t.type==="supsub"?(n=wn(t.base,"accent"),r=n.base,t.base=r,i=yqt(Ui(t,e)),t.base=n):(n=wn(t,"accent"),r=n.base);var a=Ui(r,e.havingCrampedStyle()),s=n.isShifty&&dp(r),o=0;if(s){var l,u;o=(l=(u=yIe(a))==null?void 0:u.skew)!=null?l:0}var d=n.label==="\\c",h=d?a.height+a.depth:Math.min(a.height,e.fontMetrics().xHeight),f;if(n.isStretchy)f=vP(n,e),f=gi({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"elem",elem:f,wrapperClasses:["svg-align"],wrapperStyle:o>0?{width:"calc(100% - "+Kt(2*o)+")",marginLeft:Kt(2*o)}:void 0}]});else{var p,g;n.label==="\\vec"?(p=dIe("vec",e),g=uIe.vec[1]):(p=yP({mode:n.mode,text:n.label},e,"textord"),p=Uqt(p),p.italic=0,g=p.width,d&&(h+=p.depth)),f=zt(["accent-body"],[p]);var m=n.label==="\\textcircled";m&&(f.classes.push("accent-full"),h=a.height);var U=o;m||(U-=g/2),f.style.left=Kt(U),n.label==="\\textcircled"&&(f.style.top=".2em"),f=gi({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:-h},{type:"elem",elem:f}]})}var y=zt(["mord","accent"],[f],e);return i?(i.children[0]=y,i.height=Math.max(y.height,i.height),i.classes[0]="mord",i):y},bIe=(t,e)=>{var r=t.isStretchy?bP(t.label):new jt("mo",[Wu(t.label,t.mode)]),n=new jt("mover",[Ni(t.base,e),r]);return n.setAttribute("accent","true"),n},jqt=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(t=>"\\"+t).join("|"));ar({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:(t,e)=>{var r=zL(e[0]),n=!jqt.test(t.funcName),i=!n||t.funcName==="\\widehat"||t.funcName==="\\widetilde"||t.funcName==="\\widecheck";return{type:"accent",mode:t.parser.mode,label:t.funcName,isStretchy:n,isShifty:i,base:r}},htmlBuilder:Pte,mathmlBuilder:bIe});ar({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(t,e)=>{var r=e[0],n=t.parser.mode;return n==="math"&&(t.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+t.funcName+" works only in text mode"),n="text"),{type:"accent",mode:n,label:t.funcName,isStretchy:!1,isShifty:!0,base:r}},htmlBuilder:Pte,mathmlBuilder:bIe});ar({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"accentUnder",mode:r.mode,label:n,base:i}},htmlBuilder:(t,e)=>{var r=Ui(t.base,e),n=vP(t,e),i=t.label==="\\utilde"?.12:0,a=gi({positionType:"top",positionData:r.height,children:[{type:"elem",elem:n,wrapperClasses:["svg-align"]},{type:"kern",size:i},{type:"elem",elem:r}]});return zt(["mord","accentunder"],[a],e)},mathmlBuilder:(t,e)=>{var r=bP(t.label),n=new jt("munder",[Ni(t.base,e),r]);return n.setAttribute("accentunder","true"),n}});var ME=t=>{var e=new jt("mpadded",t?[t]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};ar({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(t,e,r){var{parser:n,funcName:i}=t;return{type:"xArrow",mode:n.mode,label:i,body:e[0],below:r[0]}},htmlBuilder(t,e){var r=e.style,n=e.havingStyle(r.sup()),i=l4(Ui(t.body,n,e),e),a=t.label.slice(0,2)==="\\x"?"x":"cd";i.classes.push(a+"-arrow-pad");var s;t.below&&(n=e.havingStyle(r.sub()),s=l4(Ui(t.below,n,e),e),s.classes.push(a+"-arrow-pad"));var o=vP(t,e),l=-e.fontMetrics().axisHeight+.5*o.height,u=-e.fontMetrics().axisHeight-.5*o.height-.111;(i.depth>.25||t.label==="\\xleftequilibrium")&&(u-=i.depth);var d;if(s){var h=-e.fontMetrics().axisHeight+s.height+.5*o.height+.111;d=gi({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l,wrapperClasses:["svg-align"]},{type:"elem",elem:s,shift:h}]})}else d=gi({positionType:"individualShift",children:[{type:"elem",elem:i,shift:u},{type:"elem",elem:o,shift:l,wrapperClasses:["svg-align"]}]});return zt(["mrel","x-arrow"],[d],e)},mathmlBuilder(t,e){var r=bP(t.label);r.setAttribute("minsize",t.label.charAt(0)==="x"?"1.75em":"3.0em");var n;if(t.body){var i=ME(Ni(t.body,e));if(t.below){var a=ME(Ni(t.below,e));n=new jt("munderover",[r,a,i])}else n=new jt("mover",[r,i])}else if(t.below){var s=ME(Ni(t.below,e));n=new jt("munder",[r,s])}else n=ME(),n=new jt("mover",[r,n]);return n}});function vIe(t,e){var r=$s(t.body,e,!0);return zt([t.mclass],r,e)}function xIe(t,e){var r,n=cu(t.body,e);return t.mclass==="minner"?r=new jt("mpadded",n):t.mclass==="mord"?t.isCharacterBox?(r=n[0],r.type="mi"):r=new jt("mi",n):(t.isCharacterBox?(r=n[0],r.type="mo"):r=new jt("mo",n),t.mclass==="mbin"?(r.attributes.lspace="0.22em",r.attributes.rspace="0.22em"):t.mclass==="mpunct"?(r.attributes.lspace="0em",r.attributes.rspace="0.17em"):t.mclass==="mopen"||t.mclass==="mclose"?(r.attributes.lspace="0em",r.attributes.rspace="0em"):t.mclass==="minner"&&(r.attributes.lspace="0.0556em",r.attributes.width="+0.1111em")),r}ar({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"mclass",mode:r.mode,mclass:"m"+n.slice(5),body:ps(i),isCharacterBox:dp(i)}},htmlBuilder:vIe,mathmlBuilder:xIe});var TP=t=>{var e=t.type==="ordgroup"&&t.body.length?t.body[0]:t;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};ar({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(t,e){var{parser:r}=t;return{type:"mclass",mode:r.mode,mclass:TP(e[0]),body:ps(e[1]),isCharacterBox:dp(e[1])}}});ar({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(t,e){var{parser:r,funcName:n}=t,i=e[1],a=e[0],s;n!=="\\stackrel"?s=TP(i):s="mrel";var o={type:"op",mode:i.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:n!=="\\stackrel",body:ps(i)},l={type:"supsub",mode:a.mode,base:o,sup:n==="\\underset"?null:a,sub:n==="\\underset"?a:null};return{type:"mclass",mode:r.mode,mclass:s,body:[l],isCharacterBox:dp(l)}},htmlBuilder:vIe,mathmlBuilder:xIe});ar({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"pmb",mode:r.mode,mclass:TP(e[0]),body:ps(e[0])}},htmlBuilder(t,e){var r=$s(t.body,e,!0),n=zt([t.mclass],r,e);return n.style.textShadow="0.02em 0.01em 0.04px",n},mathmlBuilder(t,e){var r=cu(t.body,e),n=new jt("mstyle",r);return n.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),n}});var Yqt={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Hpe=()=>({type:"styling",body:[],mode:"math",style:"display",resetFont:!0}),Vpe=t=>t.type==="textord"&&t.text==="@",Xqt=(t,e)=>(t.type==="mathord"||t.type==="atom")&&t.text===e;function Kqt(t,e,r){var n=Yqt[t];switch(n){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return r.callFunction(n,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var i=r.callFunction("\\\\cdleft",[e[0]],[]),a={type:"atom",text:n,mode:"math",family:"rel"},s=r.callFunction("\\Big",[a],[]),o=r.callFunction("\\\\cdright",[e[1]],[]),l={type:"ordgroup",mode:"math",body:[i,s,o]};return r.callFunction("\\\\cdparent",[l],[])}case"\\\\cdlongequal":return r.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var u={type:"textord",text:"\\Vert",mode:"math"};return r.callFunction("\\Big",[u],[])}default:return{type:"textord",text:" ",mode:"math"}}}function Zqt(t){var e=[];for(t.gullet.beginGroup(),t.gullet.macros.set("\\cr","\\\\\\relax"),t.gullet.beginGroup();;){e.push(t.parseExpression(!1,"\\\\")),t.gullet.endGroup(),t.gullet.beginGroup();var r=t.fetch().text;if(r==="&"||r==="\\\\")t.consume();else if(r==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new Gt("Expected \\\\ or \\cr or \\end",t.nextToken)}for(var n=[],i=[n],a=0;a<e.length;a++){for(var s=e[a],o=Hpe(),l=0;l<s.length;l++)if(!Vpe(s[l]))o.body.push(s[l]);else{n.push(o),l+=1;var u=xP(s[l]).text,d=new Array(2);if(d[0]={type:"ordgroup",mode:"math",body:[]},d[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(u))if("<>AV".includes(u))for(var h=0;h<2;h++){for(var f=!0,p=l+1;p<s.length;p++){if(Xqt(s[p],u)){f=!1,l=p;break}if(Vpe(s[p]))throw new Gt("Missing a "+u+" character to complete a CD arrow.",s[p]);d[h].body.push(s[p])}if(f)throw new Gt("Missing a "+u+" character to complete a CD arrow.",s[l])}else throw new Gt('Expected one of "<>AV=|." after @',s[l]);var g=Kqt(u,d,t),m={type:"styling",body:[g],mode:"math",style:"display",resetFont:!0};n.push(m),o=Hpe()}a%2===0?n.push(o):n.shift(),n=[],i.push(n)}t.gullet.endGroup(),t.gullet.endGroup();var U=new Array(i[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:i,arraystretch:1,addJot:!0,rowGaps:[null],cols:U,colSeparationType:"CD",hLinesBeforeRow:new Array(i.length+1).fill([])}}ar({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"cdlabel",mode:r.mode,side:n.slice(4),label:e[0]}},htmlBuilder(t,e){var r=e.havingStyle(e.style.sup()),n=l4(Ui(t.label,r,e),e);return n.classes.push("cd-label-"+t.side),n.style.bottom=Kt(.8-n.depth),n.height=0,n.depth=0,n},mathmlBuilder(t,e){var r=new jt("mrow",[Ni(t.label,e)]);return r=new jt("mpadded",[r]),r.setAttribute("width","0"),t.side==="left"&&r.setAttribute("lspace","-1width"),r.setAttribute("voffset","0.7em"),r=new jt("mstyle",[r]),r.setAttribute("displaystyle","false"),r.setAttribute("scriptlevel","1"),r}});ar({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(t,e){var{parser:r}=t;return{type:"cdlabelparent",mode:r.mode,fragment:e[0]}},htmlBuilder(t,e){var r=l4(Ui(t.fragment,e),e);return r.classes.push("cd-vert-arrow"),r},mathmlBuilder(t,e){return new jt("mrow",[Ni(t.fragment,e)])}});ar({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(t,e){for(var{parser:r}=t,n=wn(e[0],"ordgroup"),i=n.body,a="",s=0;s<i.length;s++){var o=wn(i[s],"textord");a+=o.text}var l=parseInt(a),u;if(isNaN(l))throw new Gt("\\@char has non-numeric argument "+a);if(l<0||l>=1114111)throw new Gt("\\@char with invalid code point "+a);return l<=65535?u=String.fromCharCode(l):(l-=65536,u=String.fromCharCode((l>>10)+55296,(l&1023)+56320)),{type:"textord",mode:r.mode,text:u}}});var wIe=(t,e)=>{var r=$s(t.body,e.withColor(t.color),!1);return fp(r)},TIe=(t,e)=>{var r=cu(t.body,e.withColor(t.color)),n=new jt("mstyle",r);return n.setAttribute("mathcolor",t.color),n};ar({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(t,e){var{parser:r}=t,n=wn(e[0],"color-token").color,i=e[1];return{type:"color",mode:r.mode,color:n,body:ps(i)}},htmlBuilder:wIe,mathmlBuilder:TIe});ar({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(t,e){var{parser:r,breakOnTokenText:n}=t,i=wn(e[0],"color-token").color;r.gullet.macros.set("\\current@color",i);var a=r.parseExpression(!0,n);return{type:"color",mode:r.mode,color:i,body:a}},htmlBuilder:wIe,mathmlBuilder:TIe});ar({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(t,e,r){var{parser:n}=t,i=n.gullet.future().text==="["?n.parseSizeGroup(!0):null,a=!n.settings.displayMode||!n.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:n.mode,newLine:a,size:i&&wn(i,"size").value}},htmlBuilder(t,e){var r=zt(["mspace"],[],e);return t.newLine&&(r.classes.push("newline"),t.size&&(r.style.marginTop=Kt(Ta(t.size,e)))),r},mathmlBuilder(t,e){var r=new jt("mspace");return t.newLine&&(r.setAttribute("linebreak","newline"),t.size&&r.setAttribute("height",Kt(Ta(t.size,e)))),r}});var oj={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},CIe=t=>{var e=t.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new Gt("Expected a control sequence",t);return e},Jqt=t=>{var e=t.gullet.popToken();return e.text==="="&&(e=t.gullet.popToken(),e.text===" "&&(e=t.gullet.popToken())),e},SIe=(t,e,r,n)=>{var i=t.gullet.macros.get(r.text);i==null&&(r.noexpand=!0,i={tokens:[r],numArgs:0,unexpandable:!t.gullet.isExpandable(r.text)}),t.gullet.macros.set(e,i,n)};ar({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(t){var{parser:e,funcName:r}=t;e.consumeSpaces();var n=e.fetch();if(oj[n.text])return(r==="\\global"||r==="\\\\globallong")&&(n.text=oj[n.text]),wn(e.parseFunction(),"internal");throw new Gt("Invalid token after macro prefix",n)}});ar({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=e.gullet.popToken(),i=n.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(i))throw new Gt("Expected a control sequence",n);for(var a=0,s,o=[[]];e.gullet.future().text!=="{";)if(n=e.gullet.popToken(),n.text==="#"){if(e.gullet.future().text==="{"){s=e.gullet.future(),o[a].push("{");break}if(n=e.gullet.popToken(),!/^[1-9]$/.test(n.text))throw new Gt('Invalid argument number "'+n.text+'"');if(parseInt(n.text)!==a+1)throw new Gt('Argument number "'+n.text+'" out of order');a++,o.push([])}else{if(n.text==="EOF")throw new Gt("Expected a macro definition");o[a].push(n.text)}var{tokens:l}=e.gullet.consumeArg();return s&&l.unshift(s),(r==="\\edef"||r==="\\xdef")&&(l=e.gullet.expandTokens(l),l.reverse()),e.gullet.macros.set(i,{tokens:l,numArgs:a,delimiters:o},r===oj[r]),{type:"internal",mode:e.mode}}});ar({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=CIe(e.gullet.popToken());e.gullet.consumeSpaces();var i=Jqt(e);return SIe(e,n,i,r==="\\\\globallet"),{type:"internal",mode:e.mode}}});ar({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t){var{parser:e,funcName:r}=t,n=CIe(e.gullet.popToken()),i=e.gullet.popToken(),a=e.gullet.popToken();return SIe(e,n,a,r==="\\\\globalfuture"),e.gullet.pushToken(a),e.gullet.pushToken(i),{type:"internal",mode:e.mode}}});var rx=function(e,r,n){var i=da.math[e]&&da.math[e].replace,a=Ite(i||e,r,n);if(!a)throw new Error("Unsupported symbol "+e+" and font size "+r+".");return a},_te=function(e,r,n,i){var a=n.havingBaseStyle(r),s=zt(i.concat(a.sizingClasses(n)),[e],n),o=a.sizeMultiplier/n.sizeMultiplier;return s.height*=o,s.depth*=o,s.maxFontSize=a.sizeMultiplier,s},kIe=function(e,r,n){var i=r.havingBaseStyle(n),a=(1-r.sizeMultiplier/i.sizeMultiplier)*r.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=Kt(a),e.height-=a,e.depth+=a},Qqt=function(e,r,n,i,a,s){var o=Tl(e,"Main-Regular",a,i),l=_te(o,r,i,s);return kIe(l,i,r),l},ejt=function(e,r,n,i){return Tl(e,"Size"+r+"-Regular",n,i)},EIe=function(e,r,n,i,a,s){var o=ejt(e,r,a,i),l=_te(zt(["delimsizing","size"+r],[o],i),pn.TEXT,i,s);return n&&kIe(l,i,pn.TEXT),l},$F=function(e,r,n){var i;r==="Size1-Regular"?i="delim-size1":i="delim-size4";var a=zt(["delimsizinginner",i],[zt([],[Tl(e,r,n)])]);return{type:"elem",elem:a}},FF=function(e,r,n){var i=Lh["Size4-Regular"][e.charCodeAt(0)]?Lh["Size4-Regular"][e.charCodeAt(0)][4]:Lh["Size1-Regular"][e.charCodeAt(0)][4],a=new e1("inner",uqt(e,Math.round(1e3*r))),s=new $0([a],{width:Kt(i),height:Kt(r),style:"width:"+Kt(i),viewBox:"0 0 "+1e3*i+" "+Math.round(1e3*r),preserveAspectRatio:"xMinYMin"}),o=t1([],[s],n);return o.height=r,o.style.height=Kt(r),o.style.width=Kt(i),{type:"elem",elem:o}},lj=.008,RE={type:"kern",size:-1*lj},tjt=new Set(["|","\\lvert","\\rvert","\\vert"]),rjt=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),AIe=function(e,r,n,i,a,s){var o,l,u,d,h="",f=0;o=u=d=e,l=null;var p="Size1-Regular";e==="\\uparrow"?u=d="⏐":e==="\\Uparrow"?u=d="‖":e==="\\downarrow"?o=u="⏐":e==="\\Downarrow"?o=u="‖":e==="\\updownarrow"?(o="\\uparrow",u="⏐",d="\\downarrow"):e==="\\Updownarrow"?(o="\\Uparrow",u="‖",d="\\Downarrow"):tjt.has(e)?(u="∣",h="vert",f=333):rjt.has(e)?(u="∥",h="doublevert",f=556):e==="["||e==="\\lbrack"?(o="⎡",u="⎢",d="⎣",p="Size4-Regular",h="lbrack",f=667):e==="]"||e==="\\rbrack"?(o="⎤",u="⎥",d="⎦",p="Size4-Regular",h="rbrack",f=667):e==="\\lfloor"||e==="⌊"?(u=o="⎢",d="⎣",p="Size4-Regular",h="lfloor",f=667):e==="\\lceil"||e==="⌈"?(o="⎡",u=d="⎢",p="Size4-Regular",h="lceil",f=667):e==="\\rfloor"||e==="⌋"?(u=o="⎥",d="⎦",p="Size4-Regular",h="rfloor",f=667):e==="\\rceil"||e==="⌉"?(o="⎤",u=d="⎥",p="Size4-Regular",h="rceil",f=667):e==="("||e==="\\lparen"?(o="⎛",u="⎜",d="⎝",p="Size4-Regular",h="lparen",f=875):e===")"||e==="\\rparen"?(o="⎞",u="⎟",d="⎠",p="Size4-Regular",h="rparen",f=875):e==="\\{"||e==="\\lbrace"?(o="⎧",l="⎨",d="⎩",u="⎪",p="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(o="⎫",l="⎬",d="⎭",u="⎪",p="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(o="⎧",d="⎩",u="⎪",p="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(o="⎫",d="⎭",u="⎪",p="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(o="⎧",d="⎭",u="⎪",p="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(o="⎫",d="⎩",u="⎪",p="Size4-Regular");var g=rx(o,p,a),m=g.height+g.depth,U=rx(u,p,a),y=U.height+U.depth,b=rx(d,p,a),v=b.height+b.depth,w=0,T=1;if(l!==null){var S=rx(l,p,a);w=S.height+S.depth,T=2}var C=m+v+w,k=Math.max(0,Math.ceil((r-C)/(T*y))),E=C+k*T*y,A=i.fontMetrics().axisHeight;n&&(A*=i.sizeMultiplier);var M=E/2-A,P=[];if(h.length>0){var N=E-m-v,I=Math.round(E*1e3),L=dqt(h,Math.round(N*1e3)),_=new e1(h,L),D=Kt(f/1e3),O=Kt(I/1e3),B=new $0([_],{width:D,height:O,viewBox:"0 0 "+f+" "+I}),F=t1([],[B],i);F.height=I/1e3,F.style.width=D,F.style.height=O,P.push({type:"elem",elem:F})}else{if(P.push($F(d,p,a)),P.push(RE),l===null){var z=E-m-v+2*lj;P.push(FF(u,z,i))}else{var $=(E-m-v-w)/2+2*lj;P.push(FF(u,$,i)),P.push(RE),P.push($F(l,p,a)),P.push(RE),P.push(FF(u,$,i))}P.push(RE),P.push($F(o,p,a))}var H=i.havingBaseStyle(pn.TEXT),V=gi({positionType:"bottom",positionData:M,children:P});return _te(zt(["delimsizing","mult"],[V],H),pn.TEXT,i,s)},zF=80,HF=.08,VF=function(e,r,n,i,a){var s=cqt(e,i,n),o=new e1(e,s),l=new $0([o],{width:"400em",height:Kt(r),viewBox:"0 0 400000 "+n,preserveAspectRatio:"xMinYMin slice"});return t1(["hide-tail"],[l],a)},njt=function(e,r){var n=r.havingBaseSizing(),i=NIe("\\surd",e*n.sizeMultiplier,LIe,n),a=n.sizeMultiplier,s=Math.max(0,r.minRuleThickness-r.fontMetrics().sqrtRuleThickness),o,l,u,d,h;return i.type==="small"?(d=1e3+1e3*s+zF,e<1?a=1:e<1.4&&(a=.7),l=(1+s+HF)/a,u=(1+s)/a,o=VF("sqrtMain",l,d,s,r),o.style.minWidth="0.853em",h=.833/a):i.type==="large"?(d=(1e3+zF)*sw[i.size],u=(sw[i.size]+s)/a,l=(sw[i.size]+s+HF)/a,o=VF("sqrtSize"+i.size,l,d,s,r),o.style.minWidth="1.02em",h=1/a):(l=e+s+HF,u=e+s,d=Math.floor(1e3*e+s)+zF,o=VF("sqrtTall",l,d,s,r),o.style.minWidth="0.742em",h=1.056),o.height=u,o.style.height=Kt(l),{span:o,advanceWidth:h,ruleWidth:(r.fontMetrics().sqrtRuleThickness+s)*a}},MIe=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),ijt=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),RIe=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),sw=[0,1.2,1.8,2.4,3],IIe=function(e,r,n,i,a){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),MIe.has(e)||RIe.has(e))return EIe(e,r,!1,n,i,a);if(ijt.has(e))return AIe(e,sw[r],!1,n,i,a);throw new Gt("Illegal delimiter: '"+e+"'")},ajt=[{type:"small",style:pn.SCRIPTSCRIPT},{type:"small",style:pn.SCRIPT},{type:"small",style:pn.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],sjt=[{type:"small",style:pn.SCRIPTSCRIPT},{type:"small",style:pn.SCRIPT},{type:"small",style:pn.TEXT},{type:"stack"}],LIe=[{type:"small",style:pn.SCRIPTSCRIPT},{type:"small",style:pn.SCRIPT},{type:"small",style:pn.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],ojt=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";var r=e.type;throw new Error("Add support for delim type '"+r+"' here.")},NIe=function(e,r,n,i){for(var a=Math.min(2,3-i.style.size),s=a;s<n.length;s++){var o=n[s];if(o.type==="stack")break;var l=rx(e,ojt(o),"math"),u=l.height+l.depth;if(o.type==="small"){var d=i.havingBaseStyle(o.style);u*=d.sizeMultiplier}if(u>r)return o}return n[n.length-1]},cj=function(e,r,n,i,a,s){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var o;RIe.has(e)?o=ajt:MIe.has(e)?o=LIe:o=sjt;var l=NIe(e,r,o,i);return l.type==="small"?Qqt(e,l.style,n,i,a,s):l.type==="large"?EIe(e,l.size,n,i,a,s):AIe(e,r,n,i,a,s)},GF=function(e,r,n,i,a,s){var o=i.fontMetrics().axisHeight*i.sizeMultiplier,l=901,u=5/i.fontMetrics().ptPerEm,d=Math.max(r-o,n+o),h=Math.max(d/500*l,2*d-u);return cj(e,h,!0,i,a,s)},Gpe={"\\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}},ljt=new Set(["(","\\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 Wpe(t){return"isMiddle"in t}function CP(t,e){var r=wP(t);if(r&&ljt.has(r.text))return r;throw r?new Gt("Invalid delimiter '"+r.text+"' after '"+e.funcName+"'",t):new Gt("Invalid delimiter type '"+t.type+"'",t)}ar({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:(t,e)=>{var r=CP(e[0],t);return{type:"delimsizing",mode:t.parser.mode,size:Gpe[t.funcName].size,mclass:Gpe[t.funcName].mclass,delim:r.text}},htmlBuilder:(t,e)=>t.delim==="."?zt([t.mclass]):IIe(t.delim,t.size,e,t.mode,[t.mclass]),mathmlBuilder:t=>{var e=[];t.delim!=="."&&e.push(Wu(t.delim,t.mode));var r=new jt("mo",e);t.mclass==="mopen"||t.mclass==="mclose"?r.setAttribute("fence","true"):r.setAttribute("fence","false"),r.setAttribute("stretchy","true");var n=Kt(sw[t.size]);return r.setAttribute("minsize",n),r.setAttribute("maxsize",n),r}});function qpe(t){if(!t.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}ar({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=t.parser.gullet.macros.get("\\current@color");if(r&&typeof r!="string")throw new Gt("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:t.parser.mode,delim:CP(e[0],t).text,color:r}}});ar({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=CP(e[0],t),n=t.parser;++n.leftrightDepth;var i=n.parseExpression(!1);--n.leftrightDepth,n.expect("\\right",!1);var a=wn(n.parseFunction(),"leftright-right");return{type:"leftright",mode:n.mode,body:i,left:r.text,right:a.delim,rightColor:a.color}},htmlBuilder:(t,e)=>{qpe(t);for(var r=$s(t.body,e,!0,["mopen","mclose"]),n=0,i=0,a=!1,s=0;s<r.length;s++){var o=r[s];Wpe(o)?a=!0:(n=Math.max(r[s].height,n),i=Math.max(r[s].depth,i))}n*=e.sizeMultiplier,i*=e.sizeMultiplier;var l;if(t.left==="."?l=VT(e,["mopen"]):l=GF(t.left,n,i,e,t.mode,["mopen"]),r.unshift(l),a)for(var u=1;u<r.length;u++){var d=r[u];if(Wpe(d)){var h=d.isMiddle;r[u]=GF(h.delim,n,i,h.options,t.mode,[])}}var f;if(t.right===".")f=VT(e,["mclose"]);else{var p=t.rightColor?e.withColor(t.rightColor):e;f=GF(t.right,n,i,p,t.mode,["mclose"])}return r.push(f),zt(["minner"],r,e)},mathmlBuilder:(t,e)=>{qpe(t);var r=cu(t.body,e);if(t.left!=="."){var n=new jt("mo",[Wu(t.left,t.mode)]);n.setAttribute("fence","true"),r.unshift(n)}if(t.right!=="."){var i=new jt("mo",[Wu(t.right,t.mode)]);i.setAttribute("fence","true"),t.rightColor&&i.setAttribute("mathcolor",t.rightColor),r.push(i)}return Ote(r)}});ar({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var r=CP(e[0],t);if(!t.parser.leftrightDepth)throw new Gt("\\middle without preceding \\left",r);return{type:"middle",mode:t.parser.mode,delim:r.text}},htmlBuilder:(t,e)=>{var r;return t.delim==="."?r=VT(e,[]):(r=IIe(t.delim,1,e,t.mode,[]),r.isMiddle={delim:t.delim,options:e}),r},mathmlBuilder:(t,e)=>{var r=t.delim==="\\vert"||t.delim==="|"?Wu("|","text"):Wu(t.delim,t.mode),n=new jt("mo",[r]);return n.setAttribute("fence","true"),n.setAttribute("lspace","0.05em"),n.setAttribute("rspace","0.05em"),n}});var SP=(t,e)=>{var r=l4(Ui(t.body,e),e),n=t.label.slice(1),i=e.sizeMultiplier,a,s,o=dp(t.body);if(n==="sout")a=zt(["stretchy","sout"]),a.height=e.fontMetrics().defaultRuleThickness/i,s=-.5*e.fontMetrics().xHeight;else if(n==="phase"){var l=Ta({number:.6,unit:"pt"},e),u=Ta({number:.35,unit:"ex"},e),d=e.havingBaseSizing();i=i/d.sizeMultiplier;var h=r.height+r.depth+l+u;r.style.paddingLeft=Kt(h/2+l);var f=Math.floor(1e3*h*i),p=oqt(f),g=new $0([new e1("phase",p)],{width:"400em",height:Kt(f/1e3),viewBox:"0 0 400000 "+f,preserveAspectRatio:"xMinYMin slice"});a=t1(["hide-tail"],[g],e),a.style.height=Kt(h),s=r.depth+l+u}else{/cancel/.test(n)?o||r.classes.push("cancel-pad"):n==="angl"?r.classes.push("anglpad"):r.classes.push("boxpad");var m,U,y=0;/box/.test(n)?(y=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),m=e.fontMetrics().fboxsep+(n==="colorbox"?0:y),U=m):n==="angl"?(y=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),m=4*y,U=Math.max(0,.25-r.depth)):(m=o?.2:0,U=m),a=Vqt(r,n,m,U,e),/fbox|boxed|fcolorbox/.test(n)?(a.style.borderStyle="solid",a.style.borderWidth=Kt(y)):n==="angl"&&y!==.049&&(a.style.borderTopWidth=Kt(y),a.style.borderRightWidth=Kt(y)),s=r.depth+U,t.backgroundColor&&(a.style.backgroundColor=t.backgroundColor,t.borderColor&&(a.style.borderColor=t.borderColor))}var b;if(t.backgroundColor)b=gi({positionType:"individualShift",children:[{type:"elem",elem:a,shift:s},{type:"elem",elem:r,shift:0}]});else{var v=/cancel|phase/.test(n)?["svg-align"]:[];b=gi({positionType:"individualShift",children:[{type:"elem",elem:r,shift:0},{type:"elem",elem:a,shift:s,wrapperClasses:v}]})}return/cancel/.test(n)&&(b.height=r.height,b.depth=r.depth),/cancel/.test(n)&&!o?zt(["mord","cancel-lap"],[b],e):zt(["mord"],[b],e)},kP=(t,e)=>{var r,n=new jt(t.label.includes("colorbox")?"mpadded":"menclose",[Ni(t.body,e)]);switch(t.label){case"\\cancel":n.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":n.setAttribute("notation","downdiagonalstrike");break;case"\\phase":n.setAttribute("notation","phasorangle");break;case"\\sout":n.setAttribute("notation","horizontalstrike");break;case"\\fbox":n.setAttribute("notation","box");break;case"\\angl":n.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(r=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,n.setAttribute("width","+"+2*r+"pt"),n.setAttribute("height","+"+2*r+"pt"),n.setAttribute("lspace",r+"pt"),n.setAttribute("voffset",r+"pt"),t.label==="\\fcolorbox"){var i=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);n.setAttribute("style","border: "+Kt(i)+" solid "+t.borderColor)}break;case"\\xcancel":n.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return t.backgroundColor&&n.setAttribute("mathbackground",t.backgroundColor),n};ar({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","hbox"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=wn(e[0],"color-token").color,s=e[1];return{type:"enclose",mode:n.mode,label:i,backgroundColor:a,body:s}},htmlBuilder:SP,mathmlBuilder:kP});ar({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","hbox"]},handler(t,e,r){var{parser:n,funcName:i}=t,a=wn(e[0],"color-token").color,s=wn(e[1],"color-token").color,o=e[2];return{type:"enclose",mode:n.mode,label:i,backgroundColor:s,borderColor:a,body:o}},htmlBuilder:SP,mathmlBuilder:kP});ar({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\fbox",body:e[0]}}});ar({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\phase"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:SP,mathmlBuilder:kP});ar({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t;r.mode==="math"&&r.settings.reportNonstrict("mathVsSout","LaTeX's \\sout works only in text mode");var i=e[0];return{type:"enclose",mode:r.mode,label:n,body:i}},htmlBuilder:SP,mathmlBuilder:kP});ar({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"enclose",mode:r.mode,label:"\\angl",body:e[0]}}});var OIe={};function ff(t){for(var{type:e,names:r,props:n,handler:i,htmlBuilder:a,mathmlBuilder:s}=t,o={type:e,numArgs:n.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:i},l=0;l<r.length;++l)OIe[r[l]]=o;a&&($L[e]=a),s&&(FL[e]=s)}var DIe={};function Ce(t,e){DIe[t]=e}class fc{constructor(e,r,n){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=r,this.end=n}static range(e,r){return r?!e||!e.loc||!r.loc||e.loc.lexer!==r.loc.lexer?null:new fc(e.loc.lexer,e.loc.start,r.loc.end):e&&e.loc}}class Zc{constructor(e,r){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=r}range(e,r){return new Zc(r,fc.range(this,e))}}function jpe(t){var e=[];t.consumeSpaces();var r=t.fetch().text;for(r==="\\relax"&&(t.consume(),t.consumeSpaces(),r=t.fetch().text);r==="\\hline"||r==="\\hdashline";)t.consume(),e.push(r==="\\hdashline"),t.consumeSpaces(),r=t.fetch().text;return e}var EP=t=>{var e=t.parser.settings;if(!e.displayMode)throw new Gt("{"+t.envName+"} can be used only in display mode.")},cjt=new Set(["gather","gather*"]);function Bte(t){if(!t.includes("ed"))return!t.includes("*")}function A1(t,e,r){var{hskipBeforeAndAfter:n,addJot:i,cols:a,arraystretch:s,colSeparationType:o,autoTag:l,singleRow:u,emptySingleRow:d,maxNumCols:h,leqno:f}=e;if(t.gullet.beginGroup(),u||t.gullet.macros.set("\\cr","\\\\\\relax"),!s){var p=t.gullet.expandMacroAsText("\\arraystretch");if(p==null)s=1;else if(s=parseFloat(p),!s||s<0)throw new Gt("Invalid \\arraystretch: "+p)}t.gullet.beginGroup();var g=[],m=[g],U=[],y=[],b=l!=null?[]:void 0;function v(){l&&t.gullet.macros.set("\\@eqnsw","1",!0)}function w(){b&&(t.gullet.macros.get("\\df@tag")?(b.push(t.subparse([new Zc("\\df@tag")])),t.gullet.macros.set("\\df@tag",void 0,!0)):b.push(!!l&&t.gullet.macros.get("\\@eqnsw")==="1"))}for(v(),y.push(jpe(t));;){var T=t.parseExpression(!1,u?"\\end":"\\\\");t.gullet.endGroup(),t.gullet.beginGroup();var S={type:"ordgroup",mode:t.mode,body:T};r&&(S={type:"styling",mode:t.mode,style:r,resetFont:!0,body:[S]}),g.push(S);var C=t.fetch().text;if(C==="&"){if(h&&g.length===h){if(u||o)throw new Gt("Too many tab characters: &",t.nextToken);t.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}t.consume()}else if(C==="\\end"){w(),g.length===1&&S.type==="styling"&&S.body.length===1&&S.body[0].type==="ordgroup"&&S.body[0].body.length===0&&(m.length>1||!d)&&m.pop(),y.length<m.length+1&&y.push([]);break}else if(C==="\\\\"){t.consume();var k=void 0;t.gullet.future().text!==" "&&(k=t.parseSizeGroup(!0)),U.push(k?k.value:null),w(),y.push(jpe(t)),g=[],m.push(g),v()}else throw new Gt("Expected & or \\\\ or \\cr or \\end",t.nextToken)}return t.gullet.endGroup(),t.gullet.endGroup(),{type:"array",mode:t.mode,addJot:i,arraystretch:s,body:m,cols:a,rowGaps:U,hskipBeforeAndAfter:n,hLinesBeforeRow:y,colSeparationType:o,tags:b,leqno:f}}function $te(t){return t.slice(0,1)==="d"?"display":"text"}var pf=function(e,r){var n,i,a=e.body.length,s=e.hLinesBeforeRow,o=0,l=new Array(a),u=[],d=Math.max(r.fontMetrics().arrayRuleWidth,r.minRuleThickness),h=1/r.fontMetrics().ptPerEm,f=5*h;if(e.colSeparationType&&e.colSeparationType==="small"){var p=r.havingStyle(pn.SCRIPT).sizeMultiplier;f=.2778*(p/r.sizeMultiplier)}var g=e.colSeparationType==="CD"?Ta({number:3,unit:"ex"},r):12*h,m=3*h,U=e.arraystretch*g,y=.7*U,b=.3*U,v=0;function w(Te){for(var re=0;re<Te.length;++re)re>0&&(v+=.25),u.push({pos:v,isDashed:Te[re]})}for(w(s[0]),n=0;n<e.body.length;++n){var T=e.body[n],S=y,C=b;o<T.length&&(o=T.length);var k={cells:new Array(T.length),height:0,depth:0,pos:0};for(i=0;i<T.length;++i){var E=Ui(T[i],r);C<E.depth&&(C=E.depth),S<E.height&&(S=E.height),k.cells[i]=E}var A=e.rowGaps[n],M=0;A&&(M=Ta(A,r),M>0&&(M+=b,C<M&&(C=M),M=0)),e.addJot&&n<e.body.length-1&&(C+=m),k.height=S,k.depth=C,v+=S,k.pos=v,v+=C+M,l[n]=k,w(s[n+1])}var P=v/2+r.fontMetrics().axisHeight,N=e.cols||[],I=[],L,_,D=[];if(e.tags&&e.tags.some(Te=>Te))for(n=0;n<a;++n){var O=l[n],B=O.pos-P,F=e.tags[n],z=void 0;F===!0?z=zt(["eqn-num"],[],r):F===!1?z=zt([],[],r):z=zt([],$s(F,r,!0),r),z.depth=O.depth,z.height=O.height,D.push({type:"elem",elem:z,shift:B})}for(i=0,_=0;i<o||_<N.length;++i,++_){for(var $,H=N[_],V=!0;((G=H)==null?void 0:G.type)==="separator";){var G;if(V||(L=zt(["arraycolsep"],[]),L.style.width=Kt(r.fontMetrics().doubleRuleSep),I.push(L)),H.separator==="|"||H.separator===":"){var K=H.separator==="|"?"solid":"dashed",W=zt(["vertical-separator"],[],r);W.style.height=Kt(v),W.style.borderRightWidth=Kt(d),W.style.borderRightStyle=K,W.style.margin="0 "+Kt(-d/2);var oe=v-P;oe&&(W.style.verticalAlign=Kt(-oe)),I.push(W)}else throw new Gt("Invalid separator type: "+H.separator);_++,H=N[_],V=!1}if(!(i>=o)){var Z=void 0;if(i>0||e.hskipBeforeAndAfter){var J,ne;Z=(J=(ne=H)==null?void 0:ne.pregap)!=null?J:f,Z!==0&&(L=zt(["arraycolsep"],[]),L.style.width=Kt(Z),I.push(L))}var ie=[];for(n=0;n<a;++n){var me=l[n],te=me.cells[i];if(te){var Re=me.pos-P;te.depth=me.depth,te.height=me.height,ie.push({type:"elem",elem:te,shift:Re})}}var _e=gi({positionType:"individualShift",children:ie}),He=zt(["col-align-"+((($=H)==null?void 0:$.align)||"c")],[_e]);if(I.push(He),i<o-1||e.hskipBeforeAndAfter){var ce,de;Z=(ce=(de=H)==null?void 0:de.postgap)!=null?ce:f,Z!==0&&(L=zt(["arraycolsep"],[]),L.style.width=Kt(Z),I.push(L))}}}var we=zt(["mtable"],I);if(u.length>0){for(var ge=o4("hline",r,d),ze=o4("hdashline",r,d),xe=[{type:"elem",elem:we,shift:0}];u.length>0;){var Ee=u.pop(),qe=Ee.pos-P;Ee.isDashed?xe.push({type:"elem",elem:ze,shift:qe}):xe.push({type:"elem",elem:ge,shift:qe})}we=gi({positionType:"individualShift",children:xe})}if(D.length===0)return zt(["mord"],[we],r);var le=gi({positionType:"individualShift",children:D}),pe=zt(["tag"],[le],r);return fp([we,pe])},ujt={c:"center ",l:"left ",r:"right "},gf=function(e,r){for(var n=[],i=new jt("mtd",[],["mtr-glue"]),a=new jt("mtd",[],["mml-eqn-num"]),s=0;s<e.body.length;s++){for(var o=e.body[s],l=[],u=0;u<o.length;u++)l.push(new jt("mtd",[Ni(o[u],r)]));e.tags&&e.tags[s]&&(l.unshift(i),l.push(i),e.leqno?l.unshift(a):l.push(a)),n.push(new jt("mtr",l))}var d=new jt("mtable",n),h=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);d.setAttribute("rowspacing",Kt(h));var f="",p="";if(e.cols&&e.cols.length>0){var g=e.cols,m="",U=!1,y=0,b=g.length;g[0].type==="separator"&&(f+="top ",y=1),g[g.length-1].type==="separator"&&(f+="bottom ",b-=1);for(var v=y;v<b;v++){var w=g[v];w.type==="align"?(p+=ujt[w.align],U&&(m+="none "),U=!0):w.type==="separator"&&U&&(m+=w.separator==="|"?"solid ":"dashed ",U=!1)}d.setAttribute("columnalign",p.trim()),/[sd]/.test(m)&&d.setAttribute("columnlines",m.trim())}if(e.colSeparationType==="align"){for(var T=e.cols||[],S="",C=1;C<T.length;C++)S+=C%2?"0em ":"1em ";d.setAttribute("columnspacing",S.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?d.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?d.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?d.setAttribute("columnspacing","0.5em"):d.setAttribute("columnspacing","1em");var k="",E=e.hLinesBeforeRow;f+=E[0].length>0?"left ":"",f+=E[E.length-1].length>0?"right ":"";for(var A=1;A<E.length-1;A++)k+=E[A].length===0?"none ":E[A][0]?"dashed ":"solid ";return/[sd]/.test(k)&&d.setAttribute("rowlines",k.trim()),f!==""&&(d=new jt("menclose",[d]),d.setAttribute("notation",f.trim())),e.arraystretch&&e.arraystretch<1&&(d=new jt("mstyle",[d]),d.setAttribute("scriptlevel","1")),d},PIe=function(e,r){e.envName.includes("ed")||EP(e);var n=[],i=e.envName.includes("at")?"alignat":"align",a=e.envName==="split",s=A1(e.parser,{cols:n,addJot:!0,autoTag:a?void 0:Bte(e.envName),emptySingleRow:!0,colSeparationType:i,maxNumCols:a?2:void 0,leqno:e.parser.settings.leqno},"display"),o=0,l=0,u={type:"ordgroup",mode:e.mode,body:[]};if(r[0]&&r[0].type==="ordgroup"){for(var d="",h=0;h<r[0].body.length;h++){var f=wn(r[0].body[h],"textord");d+=f.text}o=Number(d),l=o*2}var p=!l;s.body.forEach(function(y){for(var b=1;b<y.length;b+=2){var v=wn(y[b],"styling"),w=wn(v.body[0],"ordgroup");w.body.unshift(u)}if(p)l<y.length&&(l=y.length);else{var T=y.length/2;if(o<T)throw new Gt("Too many math in a row: "+("expected "+o+", but got "+T),y[0])}});for(var g=0;g<l;++g){var m="r",U=0;g%2===1?m="l":g>0&&p&&(U=1),n[g]={type:"align",align:m,pregap:U,postgap:0}}return s.colSeparationType=p?"align":"alignat",s};ff({type:"array",names:["array","darray"],props:{numArgs:1},handler(t,e){var r=wP(e[0]),n=r?[e[0]]:wn(e[0],"ordgroup").body,i=n.map(function(s){var o=xP(s),l=o.text;if("lcr".includes(l))return{type:"align",align:l};if(l==="|")return{type:"separator",separator:"|"};if(l===":")return{type:"separator",separator:":"};throw new Gt("Unknown column alignment: "+l,s)}),a={cols:i,hskipBeforeAndAfter:!0,maxNumCols:i.length};return A1(t.parser,a,$te(t.envName))},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(t){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[t.envName.replace("*","")],r="c",n={hskipBeforeAndAfter:!1,cols:[{type:"align",align:r}]};if(t.envName.charAt(t.envName.length-1)==="*"){var i=t.parser;if(i.consumeSpaces(),i.fetch().text==="["){if(i.consume(),i.consumeSpaces(),r=i.fetch().text,!"lcr".includes(r))throw new Gt("Expected l or c or r",i.nextToken);i.consume(),i.consumeSpaces(),i.expect("]"),i.consume(),n.cols=[{type:"align",align:r}]}}var a=A1(t.parser,n,$te(t.envName)),s=Math.max(0,...a.body.map(o=>o.length));return a.cols=new Array(s).fill({type:"align",align:r}),e?{type:"leftright",mode:t.mode,body:[a],left:e[0],right:e[1],rightColor:void 0}:a},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(t){var e={arraystretch:.5},r=A1(t.parser,e,"script");return r.colSeparationType="small",r},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["subarray"],props:{numArgs:1},handler(t,e){var r=wP(e[0]),n=r?[e[0]]:wn(e[0],"ordgroup").body,i=n.map(function(o){var l=xP(o),u=l.text;if("lc".includes(u))return{type:"align",align:u};throw new Gt("Unknown column alignment: "+u,o)});if(i.length>1)throw new Gt("{subarray} can contain only one column");var a={cols:i,hskipBeforeAndAfter:!1,arraystretch:.5},s=A1(t.parser,a,"script");if(s.body.length>0&&s.body[0].length>1)throw new Gt("{subarray} can contain only one column");return s},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(t){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},r=A1(t.parser,e,$te(t.envName));return{type:"leftright",mode:t.mode,body:[r],left:t.envName.includes("r")?".":"\\{",right:t.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:PIe,htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(t){cjt.has(t.envName)&&EP(t);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Bte(t.envName),emptySingleRow:!0,leqno:t.parser.settings.leqno};return A1(t.parser,e,"display")},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:PIe,htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(t){EP(t);var e={autoTag:Bte(t.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:t.parser.settings.leqno};return A1(t.parser,e,"display")},htmlBuilder:pf,mathmlBuilder:gf});ff({type:"array",names:["CD"],props:{numArgs:0},handler(t){return EP(t),Zqt(t.parser)},htmlBuilder:pf,mathmlBuilder:gf});Ce("\\nonumber","\\gdef\\@eqnsw{0}");Ce("\\notag","\\nonumber");ar({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(t,e){throw new Gt(t.funcName+" valid only within array environment")}});var Ype=OIe;ar({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];if(i.type!=="ordgroup")throw new Gt("Invalid environment name",i);for(var a="",s=0;s<i.body.length;++s)a+=wn(i.body[s],"textord").text;if(n==="\\begin"){if(!Ype.hasOwnProperty(a))throw new Gt("No such environment: "+a,i);var o=Ype[a],{args:l,optArgs:u}=r.parseArguments("\\begin{"+a+"}",o),d={mode:r.mode,envName:a,parser:r},h=o.handler(d,l,u);r.expect("\\end",!1);var f=r.nextToken,p=wn(r.parseFunction(),"environment");if(p.name!==a)throw new Gt("Mismatch: \\begin{"+a+"} matched by \\end{"+p.name+"}",f);return h}return{type:"environment",mode:r.mode,name:a,nameGroup:i}}});var _Ie=(t,e)=>{var r=t.font,n=e.withFont(r);return Ui(t.body,n)},BIe=(t,e)=>{var r=t.font,n=e.withFont(r);return Ni(t.body,n)},Xpe={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak"};ar({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=zL(e[0]),a=n;return a in Xpe&&(a=Xpe[a]),{type:"font",mode:r.mode,font:a.slice(1),body:i}},htmlBuilder:_Ie,mathmlBuilder:BIe});ar({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"mclass",mode:r.mode,mclass:TP(n),body:[{type:"font",mode:r.mode,font:"boldsymbol",body:n}],isCharacterBox:dp(n)}}});ar({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,breakOnTokenText:i}=t,{mode:a}=r,s=r.parseExpression(!0,i);return{type:"font",mode:a,font:"math"+n.slice(1),body:{type:"ordgroup",mode:r.mode,body:s}}},htmlBuilder:_Ie,mathmlBuilder:BIe});var djt=(t,e)=>{var r=e.style,n=r.fracNum(),i=r.fracDen(),a;a=e.havingStyle(n);var s=Ui(t.numer,a,e);if(t.continued){var o=8.5/e.fontMetrics().ptPerEm,l=3.5/e.fontMetrics().ptPerEm;s.height=s.height<o?o:s.height,s.depth=s.depth<l?l:s.depth}a=e.havingStyle(i);var u=Ui(t.denom,a,e),d,h,f;t.hasBarLine?(t.barSize?(h=Ta(t.barSize,e),d=o4("frac-line",e,h)):d=o4("frac-line",e),h=d.height,f=d.height):(d=null,h=0,f=e.fontMetrics().defaultRuleThickness);var p,g,m;r.size===pn.DISPLAY.size?(p=e.fontMetrics().num1,h>0?g=3*f:g=7*f,m=e.fontMetrics().denom1):(h>0?(p=e.fontMetrics().num2,g=f):(p=e.fontMetrics().num3,g=3*f),m=e.fontMetrics().denom2);var U;if(d){var b=e.fontMetrics().axisHeight;p-s.depth-(b+.5*h)<g&&(p+=g-(p-s.depth-(b+.5*h))),b-.5*h-(u.height-m)<g&&(m+=g-(b-.5*h-(u.height-m)));var v=-(b-.5*h);U=gi({positionType:"individualShift",children:[{type:"elem",elem:u,shift:m},{type:"elem",elem:d,shift:v},{type:"elem",elem:s,shift:-p}]})}else{var y=p-s.depth-(u.height-m);y<g&&(p+=.5*(g-y),m+=.5*(g-y)),U=gi({positionType:"individualShift",children:[{type:"elem",elem:u,shift:m},{type:"elem",elem:s,shift:-p}]})}a=e.havingStyle(r),U.height*=a.sizeMultiplier/e.sizeMultiplier,U.depth*=a.sizeMultiplier/e.sizeMultiplier;var w;r.size===pn.DISPLAY.size?w=e.fontMetrics().delim1:r.size===pn.SCRIPTSCRIPT.size?w=e.havingStyle(pn.SCRIPT).fontMetrics().delim2:w=e.fontMetrics().delim2;var T,S;return t.leftDelim==null?T=VT(e,["mopen"]):T=cj(t.leftDelim,w,!0,e.havingStyle(r),t.mode,["mopen"]),t.continued?S=zt([]):t.rightDelim==null?S=VT(e,["mclose"]):S=cj(t.rightDelim,w,!0,e.havingStyle(r),t.mode,["mclose"]),zt(["mord"].concat(a.sizingClasses(e)),[T,zt(["mfrac"],[U]),S],e)},hjt=(t,e)=>{var r=new jt("mfrac",[Ni(t.numer,e),Ni(t.denom,e)]);if(!t.hasBarLine)r.setAttribute("linethickness","0px");else if(t.barSize){var n=Ta(t.barSize,e);r.setAttribute("linethickness",Kt(n))}if(t.leftDelim!=null||t.rightDelim!=null){var i=[];if(t.leftDelim!=null){var a=new jt("mo",[new gs(t.leftDelim.replace("\\",""))]);a.setAttribute("fence","true"),i.push(a)}if(i.push(r),t.rightDelim!=null){var s=new jt("mo",[new gs(t.rightDelim.replace("\\",""))]);s.setAttribute("fence","true"),i.push(s)}return Ote(i)}return r},$Ie=(t,e)=>{if(!e)return t;var r={type:"styling",mode:t.mode,style:e,body:[t]};return r};ar({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=e[1],s,o=null,l=null;switch(n){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":s=!0;break;case"\\\\atopfrac":s=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":s=!1,o="(",l=")";break;case"\\\\bracefrac":s=!1,o="\\{",l="\\}";break;case"\\\\brackfrac":s=!1,o="[",l="]";break;default:throw new Error("Unrecognized genfrac command")}var u=n==="\\cfrac",d=null;return u||n.startsWith("\\d")?d="display":n.startsWith("\\t")&&(d="text"),$Ie({type:"genfrac",mode:r.mode,numer:i,denom:a,continued:u,hasBarLine:s,leftDelim:o,rightDelim:l,barSize:null},d)},htmlBuilder:djt,mathmlBuilder:hjt});ar({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(t){var{parser:e,funcName:r,token:n}=t,i;switch(r){case"\\over":i="\\frac";break;case"\\choose":i="\\binom";break;case"\\atop":i="\\\\atopfrac";break;case"\\brace":i="\\\\bracefrac";break;case"\\brack":i="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:i,token:n}}});var Kpe=["display","text","script","scriptscript"],Zpe=function(e){var r=null;return e.length>0&&(r=e,r=r==="."?null:r),r};ar({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(t,e){var{parser:r}=t,n=e[4],i=e[5],a=zL(e[0]),s=a.type==="atom"&&a.family==="open"?Zpe(a.text):null,o=zL(e[1]),l=o.type==="atom"&&o.family==="close"?Zpe(o.text):null,u=wn(e[2],"size"),d,h=null;u.isBlank?d=!0:(h=u.value,d=h.number>0);var f=null,p=e[3];if(p.type==="ordgroup"){if(p.body.length>0){var g=wn(p.body[0],"textord");f=Kpe[Number(g.text)]}}else p=wn(p,"textord"),f=Kpe[Number(p.text)];return $Ie({type:"genfrac",mode:r.mode,numer:n,denom:i,continued:!1,hasBarLine:d,barSize:h,leftDelim:s,rightDelim:l},f)}});ar({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(t,e){var{parser:r,funcName:n,token:i}=t;return{type:"infix",mode:r.mode,replaceWith:"\\\\abovefrac",size:wn(e[0],"size").value,token:i}}});ar({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0],a=wn(e[1],"infix").size;if(!a)throw new Error("\\\\abovefrac expected size, but got "+String(a));var s=e[2],o=a.number>0;return{type:"genfrac",mode:r.mode,numer:i,denom:s,continued:!1,hasBarLine:o,barSize:a,leftDelim:null,rightDelim:null}}});var FIe=(t,e)=>{var r=e.style,n,i;t.type==="supsub"?(n=t.sup?Ui(t.sup,e.havingStyle(r.sup()),e):Ui(t.sub,e.havingStyle(r.sub()),e),i=wn(t.base,"horizBrace")):i=wn(t,"horizBrace");var a=Ui(i.base,e.havingBaseStyle(pn.DISPLAY)),s=vP(i,e),o;if(i.isOver?o=gi({positionType:"firstBaseline",children:[{type:"elem",elem:a},{type:"kern",size:.1},{type:"elem",elem:s,wrapperClasses:["svg-align"]}]}):o=gi({positionType:"bottom",positionData:a.depth+.1+s.height,children:[{type:"elem",elem:s,wrapperClasses:["svg-align"]},{type:"kern",size:.1},{type:"elem",elem:a}]}),n){var l=zt(["minner",i.isOver?"mover":"munder"],[o],e);i.isOver?o=gi({positionType:"firstBaseline",children:[{type:"elem",elem:l},{type:"kern",size:.2},{type:"elem",elem:n}]}):o=gi({positionType:"bottom",positionData:l.depth+.2+n.height+n.depth,children:[{type:"elem",elem:n},{type:"kern",size:.2},{type:"elem",elem:l}]})}return zt(["minner",i.isOver?"mover":"munder"],[o],e)},fjt=(t,e)=>{var r=bP(t.label);return new jt(t.isOver?"mover":"munder",[Ni(t.base,e),r])};ar({type:"horizBrace",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler(t,e){var{parser:r,funcName:n}=t;return{type:"horizBrace",mode:r.mode,label:n,isOver:n.includes("\\over"),base:e[0]}},htmlBuilder:FIe,mathmlBuilder:fjt});ar({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[1],i=wn(e[0],"url").url;return r.settings.isTrusted({command:"\\href",url:i})?{type:"href",mode:r.mode,href:i,body:ps(n)}:r.formatUnsupportedCmd("\\href")},htmlBuilder:(t,e)=>{var r=$s(t.body,e,!1);return kqt(t.href,[],r,e)},mathmlBuilder:(t,e)=>{var r=r1(t.body,e);return r instanceof jt||(r=new jt("mrow",[r])),r.setAttribute("href",t.href),r}});ar({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=wn(e[0],"url").url;if(!r.settings.isTrusted({command:"\\url",url:n}))return r.formatUnsupportedCmd("\\url");for(var i=[],a=0;a<n.length;a++){var s=n[a];s==="~"&&(s="\\textasciitilde"),i.push({type:"textord",mode:"text",text:s})}var o={type:"text",mode:r.mode,font:"\\texttt",body:i};return{type:"href",mode:r.mode,href:n,body:ps(o)}}});ar({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(t,e){var{parser:r}=t;return{type:"hbox",mode:r.mode,body:ps(e[0])}},htmlBuilder(t,e){var r=$s(t.body,e.withFont(""),!1);return fp(r)},mathmlBuilder(t,e){return new jt("mrow",cu(t.body,e.withFont("")))}});ar({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n,token:i}=t,a=wn(e[0],"raw").string,s=e[1];r.settings.strict&&r.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var o,l={};switch(n){case"\\htmlClass":l.class=a,o={command:"\\htmlClass",class:a};break;case"\\htmlId":l.id=a,o={command:"\\htmlId",id:a};break;case"\\htmlStyle":l.style=a,o={command:"\\htmlStyle",style:a};break;case"\\htmlData":{for(var u=a.split(","),d=0;d<u.length;d++){var h=u[d],f=h.indexOf("=");if(f<0)throw new Gt("\\htmlData key/value '"+h+"' missing equals sign");var p=h.slice(0,f),g=h.slice(f+1);l["data-"+p.trim()]=g}o={command:"\\htmlData",attributes:l};break}default:throw new Error("Unrecognized html command")}return r.settings.isTrusted(o)?{type:"html",mode:r.mode,attributes:l,body:ps(s)}:r.formatUnsupportedCmd(n)},htmlBuilder:(t,e)=>{var r=$s(t.body,e,!1),n=["enclosing"];t.attributes.class&&n.push(...t.attributes.class.trim().split(/\s+/));var i=zt(n,r,e);for(var a in t.attributes)a!=="class"&&t.attributes.hasOwnProperty(a)&&i.setAttribute(a,t.attributes[a]);return i},mathmlBuilder:(t,e)=>r1(t.body,e)});ar({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"htmlmathml",mode:r.mode,html:ps(e[0]),mathml:ps(e[1])}},htmlBuilder:(t,e)=>{var r=$s(t.html,e,!1);return fp(r)},mathmlBuilder:(t,e)=>r1(t.mathml,e)});var WF=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var r=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!r)throw new Gt("Invalid size: '"+e+"' in \\includegraphics");var n={number:+(r[1]+r[2]),unit:r[3]};if(!rIe(n))throw new Gt("Invalid unit: '"+n.unit+"' in \\includegraphics.");return n};ar({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(t,e,r)=>{var{parser:n}=t,i={number:0,unit:"em"},a={number:.9,unit:"em"},s={number:0,unit:"em"},o="";if(r[0])for(var l=wn(r[0],"raw").string,u=l.split(","),d=0;d<u.length;d++){var h=u[d].split("=");if(h.length===2){var f=h[1].trim();switch(h[0].trim()){case"alt":o=f;break;case"width":i=WF(f);break;case"height":a=WF(f);break;case"totalheight":s=WF(f);break;default:throw new Gt("Invalid key: '"+h[0]+"' in \\includegraphics.")}}}var p=wn(e[0],"url").url;return o===""&&(o=p,o=o.replace(/^.*[\\/]/,""),o=o.substring(0,o.lastIndexOf("."))),n.settings.isTrusted({command:"\\includegraphics",url:p})?{type:"includegraphics",mode:n.mode,alt:o,width:i,height:a,totalheight:s,src:p}:n.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(t,e)=>{var r=Ta(t.height,e),n=0;t.totalheight.number>0&&(n=Ta(t.totalheight,e)-r);var i=0;t.width.number>0&&(i=Ta(t.width,e));var a={height:Kt(r+n)};i>0&&(a.width=Kt(i)),n>0&&(a.verticalAlign=Kt(-n));var s=new gqt(t.src,t.alt,a);return s.height=r,s.depth=n,s},mathmlBuilder:(t,e)=>{var r=new jt("mglyph",[]);r.setAttribute("alt",t.alt);var n=Ta(t.height,e),i=0;if(t.totalheight.number>0&&(i=Ta(t.totalheight,e)-n,r.setAttribute("valign",Kt(-i))),r.setAttribute("height",Kt(n+i)),t.width.number>0){var a=Ta(t.width,e);r.setAttribute("width",Kt(a))}return r.setAttribute("src",t.src),r}});ar({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=wn(e[0],"size");if(r.settings.strict){var a=n[1]==="m",s=i.value.unit==="mu";a?(s||r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" supports only mu units, "+("not "+i.value.unit+" units")),r.mode!=="math"&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" works only in math mode")):s&&r.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+n+" doesn't support mu units")}return{type:"kern",mode:r.mode,dimension:i.value}},htmlBuilder(t,e){return cIe(t.dimension,e)},mathmlBuilder(t,e){var r=Ta(t.dimension,e);return new gIe(r)}});ar({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"lap",mode:r.mode,alignment:n.slice(5),body:i}},htmlBuilder:(t,e)=>{var r;t.alignment==="clap"?(r=zt([],[Ui(t.body,e)]),r=zt(["inner"],[r],e)):r=zt(["inner"],[Ui(t.body,e)]);var n=zt(["fix"],[]),i=zt([t.alignment],[r,n],e),a=zt(["strut"]);return a.style.height=Kt(i.height+i.depth),i.depth&&(a.style.verticalAlign=Kt(-i.depth)),i.children.unshift(a),i=zt(["thinbox"],[i],e),zt(["mord","vbox"],[i],e)},mathmlBuilder:(t,e)=>{var r=new jt("mpadded",[Ni(t.body,e)]);if(t.alignment!=="rlap"){var n=t.alignment==="llap"?"-1":"-0.5";r.setAttribute("lspace",n+"width")}return r.setAttribute("width","0px"),r}});ar({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){var{funcName:r,parser:n}=t,i=n.mode;n.switchMode("math");var a=r==="\\("?"\\)":"$",s=n.parseExpression(!1,a);return n.expect(a),n.switchMode(i),{type:"styling",mode:n.mode,style:"text",resetFont:!0,body:s}}});ar({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(t,e){throw new Gt("Mismatched "+t.funcName)}});var Jpe=(t,e)=>{switch(e.style.size){case pn.DISPLAY.size:return t.display;case pn.TEXT.size:return t.text;case pn.SCRIPT.size:return t.script;case pn.SCRIPTSCRIPT.size:return t.scriptscript;default:return t.text}};ar({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(t,e)=>{var{parser:r}=t;return{type:"mathchoice",mode:r.mode,display:ps(e[0]),text:ps(e[1]),script:ps(e[2]),scriptscript:ps(e[3])}},htmlBuilder:(t,e)=>{var r=Jpe(t,e),n=$s(r,e,!1);return fp(n)},mathmlBuilder:(t,e)=>{var r=Jpe(t,e);return r1(r,e)}});var zIe=(t,e,r,n,i,a,s)=>{t=zt([],[t]);var o=r&&dp(r),l,u;if(e){var d=Ui(e,n.havingStyle(i.sup()),n);u={elem:d,kern:Math.max(n.fontMetrics().bigOpSpacing1,n.fontMetrics().bigOpSpacing3-d.depth)}}if(r){var h=Ui(r,n.havingStyle(i.sub()),n);l={elem:h,kern:Math.max(n.fontMetrics().bigOpSpacing2,n.fontMetrics().bigOpSpacing4-h.height)}}var f;if(u&&l){var p=n.fontMetrics().bigOpSpacing5+l.elem.height+l.elem.depth+l.kern+t.depth+s;f=gi({positionType:"bottom",positionData:p,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Kt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Kt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else if(l){var g=t.height-s;f=gi({positionType:"top",positionData:g,children:[{type:"kern",size:n.fontMetrics().bigOpSpacing5},{type:"elem",elem:l.elem,marginLeft:Kt(-a)},{type:"kern",size:l.kern},{type:"elem",elem:t}]})}else if(u){var m=t.depth+s;f=gi({positionType:"bottom",positionData:m,children:[{type:"elem",elem:t},{type:"kern",size:u.kern},{type:"elem",elem:u.elem,marginLeft:Kt(a)},{type:"kern",size:n.fontMetrics().bigOpSpacing5}]})}else return t;var U=[f];if(l&&a!==0&&!o){var y=zt(["mspace"],[],n);y.style.marginRight=Kt(a),U.unshift(y)}return zt(["mop","op-limits"],U,n)},HIe=new Set(["\\smallint"]),u3=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=wn(t.base,"op"),i=!0):a=wn(t,"op");var s=e.style,o=!1;s.size===pn.DISPLAY.size&&a.symbol&&!HIe.has(a.name)&&(o=!0);var l,u;if(a.symbol){var d=o?"Size2-Regular":"Size1-Regular",h="";if((a.name==="\\oiint"||a.name==="\\oiiint")&&(h=a.name.slice(1),a.name=h==="oiint"?"\\iint":"\\iiint"),l=Tl(a.name,d,"math",e,["mop","op-symbol",o?"large-op":"small-op"]),u=l.italic,h.length>0){var f=dIe(h+"Size"+(o?"2":"1"),e);l=gi({positionType:"individualShift",children:[{type:"elem",elem:l,shift:0},{type:"elem",elem:f,shift:o?.08:0}]}),a.name="\\"+h,l.classes.unshift("mop"),l.italic=u}}else if(a.body){var p=$s(a.body,e,!0);p.length===1&&p[0]instanceof ru?(l=p[0],l.classes[0]="mop"):l=zt(["mop"],p,e)}else{for(var g=[],m=1;m<a.name.length;m++)g.push(Lte(a.name[m],a.mode,e));l=zt(["mop"],g,e)}var U=0,y=0;if((l instanceof ru||a.name==="\\oiint"||a.name==="\\oiiint")&&!a.suppressBaseShift){var b;U=(l.height-l.depth)/2-e.fontMetrics().axisHeight,y=(b=l.italic)!=null?b:0}return i?zIe(l,r,n,e,s,y,U):(U&&(l.style.position="relative",l.style.top=Kt(U)),l)},vS=(t,e)=>{var r;if(t.symbol)r=new jt("mo",[Wu(t.name,t.mode)]),HIe.has(t.name)&&r.setAttribute("largeop","false");else if(t.body)r=new jt("mo",cu(t.body,e));else{r=new jt("mi",[new gs(t.name.slice(1))]);var n=new jt("mo",[Wu("⁡","text")]);t.parentIsSupSub?r=new jt("mrow",[r,n]):r=pIe([r,n])}return r},pjt={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};ar({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=n;return i.length===1&&(i=pjt[i]),{type:"op",mode:r.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:i}},htmlBuilder:u3,mathmlBuilder:vS});ar({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"op",mode:r.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:ps(n)}},htmlBuilder:u3,mathmlBuilder:vS});var gjt={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};ar({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(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:u3,mathmlBuilder:vS});ar({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(t){var{parser:e,funcName:r}=t;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:r}},htmlBuilder:u3,mathmlBuilder:vS});ar({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(t){var{parser:e,funcName:r}=t,n=r;return n.length===1&&(n=gjt[n]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:n}},htmlBuilder:u3,mathmlBuilder:vS});var VIe=(t,e)=>{var r,n,i=!1,a;t.type==="supsub"?(r=t.sup,n=t.sub,a=wn(t.base,"operatorname"),i=!0):a=wn(t,"operatorname");var s;if(a.body.length>0){for(var o=a.body.map(h=>{var f="text"in h?h.text:void 0;return typeof f=="string"?{type:"textord",mode:h.mode,text:f}:h}),l=$s(o,e.withFont("mathrm"),!0),u=0;u<l.length;u++){var d=l[u];d instanceof ru&&(d.text=d.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}s=zt(["mop"],l,e)}else s=zt(["mop"],[],e);return i?zIe(s,r,n,e,e.style,0,0):s},mjt=(t,e)=>{for(var r=cu(t.body,e.withFont("mathrm")),n=!0,i=0;i<r.length;i++){var a=r[i];if(!(a instanceof gIe))if(a instanceof jt)switch(a.type){case"mi":case"mn":case"mspace":case"mtext":break;case"mo":{var s=a.children[0];a.children.length===1&&s instanceof gs?s.text=s.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):n=!1;break}default:n=!1}else n=!1}if(n){var o=r.map(d=>d.toText()).join("");r=[new gs(o)]}var l=new jt("mi",r);l.setAttribute("mathvariant","normal");var u=new jt("mo",[Wu("⁡","text")]);return t.parentIsSupSub?new jt("mrow",[l,u]):pIe([l,u])};ar({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(t,e)=>{var{parser:r,funcName:n}=t,i=e[0];return{type:"operatorname",mode:r.mode,body:ps(i),alwaysHandleSupSub:n==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:VIe,mathmlBuilder:mjt});Ce("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");N5({type:"ordgroup",htmlBuilder(t,e){return t.semisimple?fp($s(t.body,e,!1)):zt(["mord"],$s(t.body,e,!0),e)},mathmlBuilder(t,e){return r1(t.body,e,!0)}});ar({type:"overline",names:["\\overline"],props:{numArgs:1},handler(t,e){var{parser:r}=t,n=e[0];return{type:"overline",mode:r.mode,body:n}},htmlBuilder(t,e){var r=Ui(t.body,e.havingCrampedStyle()),n=o4("overline-line",e),i=e.fontMetrics().defaultRuleThickness,a=gi({positionType:"firstBaseline",children:[{type:"elem",elem:r},{type:"kern",size:3*i},{type:"elem",elem:n},{type:"kern",size:i}]});return zt(["mord","overline"],[a],e)},mathmlBuilder(t,e){var r=new jt("mo",[new gs("‾")]);r.setAttribute("stretchy","true");var n=new jt("mover",[Ni(t.body,e),r]);return n.setAttribute("accent","true"),n}});ar({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"phantom",mode:r.mode,body:ps(n)}},htmlBuilder:(t,e)=>{var r=$s(t.body,e.withPhantom(),!1);return fp(r)},mathmlBuilder:(t,e)=>{var r=cu(t.body,e);return new jt("mphantom",r)}});Ce("\\hphantom","\\smash{\\phantom{#1}}");ar({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(t,e)=>{var{parser:r}=t,n=e[0];return{type:"vphantom",mode:r.mode,body:n}},htmlBuilder:(t,e)=>{var r=zt(["inner"],[Ui(t.body,e.withPhantom())]),n=zt(["fix"],[]);return zt(["mord","rlap"],[r,n],e)},mathmlBuilder:(t,e)=>{var r=cu(ps(t.body),e),n=new jt("mphantom",r),i=new jt("mpadded",[n]);return i.setAttribute("width","0px"),i}});ar({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(t,e){var{parser:r}=t,n=wn(e[0],"size").value,i=e[1];return{type:"raisebox",mode:r.mode,dy:n,body:i}},htmlBuilder(t,e){var r=Ui(t.body,e),n=Ta(t.dy,e);return gi({positionType:"shift",positionData:-n,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new jt("mpadded",[Ni(t.body,e)]),n=t.dy.number+t.dy.unit;return r.setAttribute("voffset",n),r}});ar({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(t){var{parser:e}=t;return{type:"internal",mode:e.mode}}});ar({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(t,e,r){var{parser:n}=t,i=r[0],a=wn(e[0],"size"),s=wn(e[1],"size");return{type:"rule",mode:n.mode,shift:i&&wn(i,"size").value,width:a.value,height:s.value}},htmlBuilder(t,e){var r=zt(["mord","rule"],[],e),n=Ta(t.width,e),i=Ta(t.height,e),a=t.shift?Ta(t.shift,e):0;return r.style.borderRightWidth=Kt(n),r.style.borderTopWidth=Kt(i),r.style.bottom=Kt(a),r.width=n,r.height=i+a,r.depth=-a,r.maxFontSize=i*1.125*e.sizeMultiplier,r},mathmlBuilder(t,e){var r=Ta(t.width,e),n=Ta(t.height,e),i=t.shift?Ta(t.shift,e):0,a=e.color&&e.getColor()||"black",s=new jt("mspace");s.setAttribute("mathbackground",a),s.setAttribute("width",Kt(r)),s.setAttribute("height",Kt(n));var o=new jt("mpadded",[s]);return i>=0?o.setAttribute("height",Kt(i)):(o.setAttribute("height",Kt(i)),o.setAttribute("depth",Kt(-i))),o.setAttribute("voffset",Kt(i)),o}});function GIe(t,e,r){for(var n=$s(t,e,!1),i=e.sizeMultiplier/r.sizeMultiplier,a=0;a<n.length;a++){var s=n[a].classes.indexOf("sizing");s<0?Array.prototype.push.apply(n[a].classes,e.sizingClasses(r)):n[a].classes[s+1]==="reset-size"+e.size&&(n[a].classes[s+1]="reset-size"+r.size),n[a].height*=i,n[a].depth*=i}return fp(n)}var Qpe=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],Ujt=(t,e)=>{var r=e.havingSize(t.size);return GIe(t.body,r,e)};ar({type:"sizing",names:Qpe,props:{numArgs:0,allowedInText:!0},handler:(t,e)=>{var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!1,r);return{type:"sizing",mode:i.mode,size:Qpe.indexOf(n)+1,body:a}},htmlBuilder:Ujt,mathmlBuilder:(t,e)=>{var r=e.havingSize(t.size),n=cu(t.body,r),i=new jt("mstyle",n);return i.setAttribute("mathsize",Kt(r.sizeMultiplier)),i}});ar({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(t,e,r)=>{var{parser:n}=t,i=!1,a=!1,s=r[0]&&wn(r[0],"ordgroup");if(s)for(var o,l=0;l<s.body.length;++l){var u=s.body[l];if(o=xP(u).text,o==="t")i=!0;else if(o==="b")a=!0;else{i=!1,a=!1;break}}else i=!0,a=!0;var d=e[0];return{type:"smash",mode:n.mode,body:d,smashHeight:i,smashDepth:a}},htmlBuilder:(t,e)=>{var r=zt([],[Ui(t.body,e)]);if(!t.smashHeight&&!t.smashDepth)return r;if(t.smashHeight&&(r.height=0),t.smashDepth&&(r.depth=0),t.smashHeight&&t.smashDepth)return zt(["mord","smash"],[r],e);if(r.children)for(var n=0;n<r.children.length;n++)t.smashHeight&&(r.children[n].height=0),t.smashDepth&&(r.children[n].depth=0);var i=gi({positionType:"firstBaseline",children:[{type:"elem",elem:r}]});return zt(["mord"],[i],e)},mathmlBuilder:(t,e)=>{var r=new jt("mpadded",[Ni(t.body,e)]);return t.smashHeight&&r.setAttribute("height","0px"),t.smashDepth&&r.setAttribute("depth","0px"),r}});ar({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(t,e,r){var{parser:n}=t,i=r[0],a=e[0];return{type:"sqrt",mode:n.mode,body:a,index:i}},htmlBuilder(t,e){var r=Ui(t.body,e.havingCrampedStyle());r.height===0&&(r.height=e.fontMetrics().xHeight),r=l4(r,e);var n=e.fontMetrics(),i=n.defaultRuleThickness,a=i;e.style.id<pn.TEXT.id&&(a=e.fontMetrics().xHeight);var s=i+a/4,o=r.height+r.depth+s+i,{span:l,ruleWidth:u,advanceWidth:d}=njt(o,e),h=l.height-u;h>r.height+r.depth+s&&(s=(s+h-r.height-r.depth)/2);var f=l.height-r.height-s-u;r.style.paddingLeft=Kt(d);var p=gi({positionType:"firstBaseline",children:[{type:"elem",elem:r,wrapperClasses:["svg-align"]},{type:"kern",size:-(r.height+f)},{type:"elem",elem:l},{type:"kern",size:u}]});if(t.index){var g=e.havingStyle(pn.SCRIPTSCRIPT),m=Ui(t.index,g,e),U=.6*(p.height-p.depth),y=gi({positionType:"shift",positionData:-U,children:[{type:"elem",elem:m}]}),b=zt(["root"],[y]);return zt(["mord","sqrt"],[b,p],e)}else return zt(["mord","sqrt"],[p],e)},mathmlBuilder(t,e){var{body:r,index:n}=t;return n?new jt("mroot",[Ni(r,e),Ni(n,e)]):new jt("msqrt",[Ni(r,e)])}});var uj={display:pn.DISPLAY,text:pn.TEXT,script:pn.SCRIPT,scriptscript:pn.SCRIPTSCRIPT};function yjt(t){return t in uj}ar({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(t,e){var{breakOnTokenText:r,funcName:n,parser:i}=t,a=i.parseExpression(!0,r),s=n.slice(1,n.length-5);if(!yjt(s))throw new Error("Unknown style: "+s);return{type:"styling",mode:i.mode,style:s,body:a}},htmlBuilder(t,e){var r=uj[t.style],n=e.havingStyle(r);return t.resetFont&&(n=n.withFont("")),GIe(t.body,n,e)},mathmlBuilder(t,e){var r=uj[t.style],n=e.havingStyle(r);t.resetFont&&(n=n.withFont(""));var i=cu(t.body,n),a=new jt("mstyle",i),s={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},o=s[t.style];return a.setAttribute("scriptlevel",o[0]),a.setAttribute("displaystyle",o[1]),a}});var bjt=function(e,r){var n=e.base;if(n)if(n.type==="op"){var i=n.limits&&(r.style.size===pn.DISPLAY.size||n.alwaysHandleSupSub);return i?u3:null}else if(n.type==="operatorname"){var a=n.alwaysHandleSupSub&&(r.style.size===pn.DISPLAY.size||n.limits);return a?VIe:null}else{if(n.type==="accent")return dp(n.base)?Pte:null;if(n.type==="horizBrace"){var s=!e.sub;return s===n.isOver?FIe:null}else return null}else return null};N5({type:"supsub",htmlBuilder(t,e){var r=bjt(t,e);if(r)return r(t,e);var{base:n,sup:i,sub:a}=t,s=Ui(n,e),o,l,u=e.fontMetrics(),d=0,h=0,f=n&&dp(n);if(i){var p=e.havingStyle(e.style.sup());o=Ui(i,p,e),f||(d=s.height-p.fontMetrics().supDrop*p.sizeMultiplier/e.sizeMultiplier)}if(a){var g=e.havingStyle(e.style.sub());l=Ui(a,g,e),f||(h=s.depth+g.fontMetrics().subDrop*g.sizeMultiplier/e.sizeMultiplier)}var m;e.style===pn.DISPLAY?m=u.sup1:e.style.cramped?m=u.sup3:m=u.sup2;var U=e.sizeMultiplier,y=Kt(.5/u.ptPerEm/U),b=null;if(l){var v=t.base&&t.base.type==="op"&&t.base.name&&(t.base.name==="\\oiint"||t.base.name==="\\oiiint");if(s instanceof ru||v){var w;b=Kt(-((w=s.italic)!=null?w:0))}}var T;if(o&&l){d=Math.max(d,m,o.depth+.25*u.xHeight),h=Math.max(h,u.sub2);var S=u.defaultRuleThickness,C=4*S;if(d-o.depth-(l.height-h)<C){h=C-(d-o.depth)+l.height;var k=.8*u.xHeight-(d-o.depth);k>0&&(d+=k,h-=k)}var E=[{type:"elem",elem:l,shift:h,marginRight:y,marginLeft:b},{type:"elem",elem:o,shift:-d,marginRight:y}];T=gi({positionType:"individualShift",children:E})}else if(l){h=Math.max(h,u.sub1,l.height-.8*u.xHeight);var A=[{type:"elem",elem:l,marginLeft:b,marginRight:y}];T=gi({positionType:"shift",positionData:h,children:A})}else if(o)d=Math.max(d,m,o.depth+.25*u.xHeight),T=gi({positionType:"shift",positionData:-d,children:[{type:"elem",elem:o,marginRight:y}]});else throw new Error("supsub must have either sup or sub.");var M=aj(s,"right")||"mord";return zt([M],[s,zt(["msupsub"],[T])],e)},mathmlBuilder(t,e){var r=!1,n,i;t.base&&t.base.type==="horizBrace"&&(i=!!t.sup,i===t.base.isOver&&(r=!0,n=t.base.isOver)),t.base&&(t.base.type==="op"||t.base.type==="operatorname")&&(t.base.parentIsSupSub=!0);var a=[Ni(t.base,e)];t.sub&&a.push(Ni(t.sub,e)),t.sup&&a.push(Ni(t.sup,e));var s;if(r)s=n?"mover":"munder";else if(t.sub)if(t.sup){var u=t.base;u&&u.type==="op"&&u.limits&&e.style===pn.DISPLAY||u&&u.type==="operatorname"&&u.alwaysHandleSupSub&&(e.style===pn.DISPLAY||u.limits)?s="munderover":s="msubsup"}else{var l=t.base;l&&l.type==="op"&&l.limits&&(e.style===pn.DISPLAY||l.alwaysHandleSupSub)||l&&l.type==="operatorname"&&l.alwaysHandleSupSub&&(l.limits||e.style===pn.DISPLAY)?s="munder":s="msub"}else{var o=t.base;o&&o.type==="op"&&o.limits&&(e.style===pn.DISPLAY||o.alwaysHandleSupSub)||o&&o.type==="operatorname"&&o.alwaysHandleSupSub&&(o.limits||e.style===pn.DISPLAY)?s="mover":s="msup"}return new jt(s,a)}});N5({type:"atom",htmlBuilder(t,e){return Lte(t.text,t.mode,e,["m"+t.family])},mathmlBuilder(t,e){var r=new jt("mo",[Wu(t.text,t.mode)]);if(t.family==="bin"){var n=Dte(t,e);n==="bold-italic"&&r.setAttribute("mathvariant",n)}else t.family==="punct"?r.setAttribute("separator","true"):(t.family==="open"||t.family==="close")&&r.setAttribute("stretchy","false");return r}});var WIe={mi:"italic",mn:"normal",mtext:"normal"};N5({type:"mathord",htmlBuilder(t,e){return yP(t,e,"mathord")},mathmlBuilder(t,e){var r=new jt("mi",[Wu(t.text,t.mode,e)]),n=Dte(t,e)||"italic";return n!==WIe[r.type]&&r.setAttribute("mathvariant",n),r}});N5({type:"textord",htmlBuilder(t,e){return yP(t,e,"textord")},mathmlBuilder(t,e){var r=Wu(t.text,t.mode,e),n=Dte(t,e)||"normal",i;return t.mode==="text"?i=new jt("mtext",[r]):/[0-9]/.test(t.text)?i=new jt("mn",[r]):t.text==="\\prime"?i=new jt("mo",[r]):i=new jt("mi",[r]),n!==WIe[i.type]&&i.setAttribute("mathvariant",n),i}});var qF={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},jF={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};N5({type:"spacing",htmlBuilder(t,e){if(jF.hasOwnProperty(t.text)){var r=jF[t.text].className||"";if(t.mode==="text"){var n=yP(t,e,"textord");return n.classes.push(r),n}else return zt(["mspace",r],[Lte(t.text,t.mode,e)],e)}else{if(qF.hasOwnProperty(t.text))return zt(["mspace",qF[t.text]],[],e);throw new Gt('Unknown type of space "'+t.text+'"')}},mathmlBuilder(t,e){var r;if(jF.hasOwnProperty(t.text))r=new jt("mtext",[new gs(" ")]);else{if(qF.hasOwnProperty(t.text))return new jt("mspace");throw new Gt('Unknown type of space "'+t.text+'"')}return r}});var ege=()=>{var t=new jt("mtd",[]);return t.setAttribute("width","50%"),t};N5({type:"tag",mathmlBuilder(t,e){var r=new jt("mtable",[new jt("mtr",[ege(),new jt("mtd",[r1(t.body,e)]),ege(),new jt("mtd",[r1(t.tag,e)])])]);return r.setAttribute("width","100%"),r}});var tge={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},rge={"\\textbf":"textbf","\\textmd":"textmd"},vjt={"\\textit":"textit","\\textup":"textup"},nge=(t,e)=>{var r=t.font;if(r){if(tge[r])return e.withTextFontFamily(tge[r]);if(rge[r])return e.withTextFontWeight(rge[r]);if(r==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(vjt[r])};ar({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(t,e){var{parser:r,funcName:n}=t,i=e[0];return{type:"text",mode:r.mode,body:ps(i),font:n}},htmlBuilder(t,e){var r=nge(t,e),n=$s(t.body,r,!0);return zt(["mord","text"],n,r)},mathmlBuilder(t,e){var r=nge(t,e);return r1(t.body,r)}});ar({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(t,e){var{parser:r}=t;return{type:"underline",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Ui(t.body,e),n=o4("underline-line",e),i=e.fontMetrics().defaultRuleThickness,a=gi({positionType:"top",positionData:r.height,children:[{type:"kern",size:i},{type:"elem",elem:n},{type:"kern",size:3*i},{type:"elem",elem:r}]});return zt(["mord","underline"],[a],e)},mathmlBuilder(t,e){var r=new jt("mo",[new gs("‾")]);r.setAttribute("stretchy","true");var n=new jt("munder",[Ni(t.body,e),r]);return n.setAttribute("accentunder","true"),n}});ar({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(t,e){var{parser:r}=t;return{type:"vcenter",mode:r.mode,body:e[0]}},htmlBuilder(t,e){var r=Ui(t.body,e),n=e.fontMetrics().axisHeight,i=.5*(r.height-n-(r.depth+n));return gi({positionType:"shift",positionData:i,children:[{type:"elem",elem:r}]})},mathmlBuilder(t,e){var r=new jt("mpadded",[Ni(t.body,e)],["vcenter"]);return new jt("mrow",[r])}});ar({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(t,e,r){throw new Gt("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(t,e){for(var r=ige(t),n=[],i=e.havingStyle(e.style.text()),a=0;a<r.length;a++){var s=r[a];s==="~"&&(s="\\textasciitilde"),n.push(Tl(s,"Typewriter-Regular",t.mode,i,["mord","texttt"]))}return zt(["mord","text"].concat(i.sizingClasses(e)),lIe(n),i)},mathmlBuilder(t,e){var r=new gs(ige(t)),n=new jt("mtext",[r]);return n.setAttribute("mathvariant","monospace"),n}});var ige=t=>t.body.replace(/ /g,t.star?"␣":" "),fg=hIe,qIe=`[ \r
]`,xjt="\\\\[a-zA-Z@]+",wjt="\\\\[^\uD800-\uDFFF]",Tjt="("+xjt+")"+qIe+"*",Cjt=`\\\\(
|[ \r ]+
?)[ \r ]*`,dj="[̀-ͯ]",Sjt=new RegExp(dj+"+$"),kjt="("+qIe+"+)|"+(Cjt+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(dj+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(dj+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Tjt)+("|"+wjt+")");let age=class{constructor(e,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=r,this.tokenRegex=new RegExp(kjt,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,r){this.catcodes[e]=r}lex(){var e=this.input,r=this.tokenRegex.lastIndex;if(r===e.length)return new Zc("EOF",new fc(this,r,r));var n=this.tokenRegex.exec(e);if(n===null||n.index!==r)throw new Gt("Unexpected character: '"+e[r]+"'",new Zc(e[r],new fc(this,r,r+1)));var i=n[6]||n[3]||(n[2]?"\\ ":" ");if(this.catcodes[i]===14){var a=e.indexOf(`
`,this.tokenRegex.lastIndex);return a===-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=a+1,this.lex()}return new Zc(i,new fc(this,r,this.tokenRegex.lastIndex))}};class Ejt{constructor(e,r){e===void 0&&(e={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new Gt("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var r in e)e.hasOwnProperty(r)&&(e[r]==null?delete this.current[r]:this.current[r]=e[r])}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,r,n){if(n===void 0&&(n=!1),n){for(var i=0;i<this.undefStack.length;i++)delete this.undefStack[i][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=r)}else{var a=this.undefStack[this.undefStack.length-1];a&&!a.hasOwnProperty(e)&&(a[e]=this.current[e])}r==null?delete this.current[e]:this.current[e]=r}}var Ajt=DIe;Ce("\\noexpand",function(t){var e=t.popToken();return t.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});Ce("\\expandafter",function(t){var e=t.popToken();return t.expandOnce(!0),{tokens:[e],numArgs:0}});Ce("\\@firstoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[0],numArgs:0}});Ce("\\@secondoftwo",function(t){var e=t.consumeArgs(2);return{tokens:e[1],numArgs:0}});Ce("\\@ifnextchar",function(t){var e=t.consumeArgs(3);t.consumeSpaces();var r=t.future();return e[0].length===1&&e[0][0].text===r.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});Ce("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");Ce("\\TextOrMath",function(t){var e=t.consumeArgs(2);return t.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var sge={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};Ce("\\char",function(t){var e=t.popToken(),r,n=0;if(e.text==="'")r=8,e=t.popToken();else if(e.text==='"')r=16,e=t.popToken();else if(e.text==="`")if(e=t.popToken(),e.text[0]==="\\")n=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new Gt("\\char` missing argument");n=e.text.charCodeAt(0)}else r=10;if(r){if(n=sge[e.text],n==null||n>=r)throw new Gt("Invalid base-"+r+" digit "+e.text);for(var i;(i=sge[t.future().text])!=null&&i<r;)n*=r,n+=i,t.popToken()}return"\\@char{"+n+"}"});var Fte=(t,e,r,n)=>{var i=t.consumeArg().tokens;if(i.length!==1)throw new Gt("\\newcommand's first argument must be a macro name");var a=i[0].text,s=t.isDefined(a);if(s&&!e)throw new Gt("\\newcommand{"+a+"} attempting to redefine "+(a+"; use \\renewcommand"));if(!s&&!r)throw new Gt("\\renewcommand{"+a+"} when command "+a+" does not yet exist; use \\newcommand");var o=0;if(i=t.consumeArg().tokens,i.length===1&&i[0].text==="["){for(var l="",u=t.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=t.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new Gt("Invalid number of arguments: "+l);o=parseInt(l),i=t.consumeArg().tokens}return s&&n||t.macros.set(a,{tokens:i,numArgs:o}),""};Ce("\\newcommand",t=>Fte(t,!1,!0,!1));Ce("\\renewcommand",t=>Fte(t,!0,!1,!1));Ce("\\providecommand",t=>Fte(t,!0,!0,!0));Ce("\\message",t=>{var e=t.consumeArgs(1)[0];return console.log(e.reverse().map(r=>r.text).join("")),""});Ce("\\errmessage",t=>{var e=t.consumeArgs(1)[0];return console.error(e.reverse().map(r=>r.text).join("")),""});Ce("\\show",t=>{var e=t.popToken(),r=e.text;return console.log(e,t.macros.get(r),fg[r],da.math[r],da.text[r]),""});Ce("\\bgroup","{");Ce("\\egroup","}");Ce("~","\\nobreakspace");Ce("\\lq","`");Ce("\\rq","'");Ce("\\aa","\\r a");Ce("\\AA","\\r A");Ce("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");Ce("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");Ce("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");Ce("ℬ","\\mathscr{B}");Ce("ℰ","\\mathscr{E}");Ce("ℱ","\\mathscr{F}");Ce("ℋ","\\mathscr{H}");Ce("ℐ","\\mathscr{I}");Ce("ℒ","\\mathscr{L}");Ce("ℳ","\\mathscr{M}");Ce("ℛ","\\mathscr{R}");Ce("ℭ","\\mathfrak{C}");Ce("ℌ","\\mathfrak{H}");Ce("ℨ","\\mathfrak{Z}");Ce("\\Bbbk","\\Bbb{k}");Ce("\\llap","\\mathllap{\\textrm{#1}}");Ce("\\rlap","\\mathrlap{\\textrm{#1}}");Ce("\\clap","\\mathclap{\\textrm{#1}}");Ce("\\mathstrut","\\vphantom{(}");Ce("\\underbar","\\underline{\\text{#1}}");Ce("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');Ce("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");Ce("\\ne","\\neq");Ce("≠","\\neq");Ce("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");Ce("∉","\\notin");Ce("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");Ce("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");Ce("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");Ce("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");Ce("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");Ce("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");Ce("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");Ce("⟂","\\perp");Ce("‼","\\mathclose{!\\mkern-0.8mu!}");Ce("∌","\\notni");Ce("⌜","\\ulcorner");Ce("⌝","\\urcorner");Ce("⌞","\\llcorner");Ce("⌟","\\lrcorner");Ce("©","\\copyright");Ce("®","\\textregistered");Ce("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');Ce("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');Ce("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');Ce("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');Ce("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");Ce("⋮","\\vdots");Ce("\\varGamma","\\mathit{\\Gamma}");Ce("\\varDelta","\\mathit{\\Delta}");Ce("\\varTheta","\\mathit{\\Theta}");Ce("\\varLambda","\\mathit{\\Lambda}");Ce("\\varXi","\\mathit{\\Xi}");Ce("\\varPi","\\mathit{\\Pi}");Ce("\\varSigma","\\mathit{\\Sigma}");Ce("\\varUpsilon","\\mathit{\\Upsilon}");Ce("\\varPhi","\\mathit{\\Phi}");Ce("\\varPsi","\\mathit{\\Psi}");Ce("\\varOmega","\\mathit{\\Omega}");Ce("\\substack","\\begin{subarray}{c}#1\\end{subarray}");Ce("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");Ce("\\boxed","\\fbox{$\\displaystyle{#1}$}");Ce("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");Ce("\\implies","\\DOTSB\\;\\Longrightarrow\\;");Ce("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");Ce("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");Ce("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var oge={",":"\\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"},Mjt=new Set(["bin","rel"]);Ce("\\dots",function(t){var e="\\dotso",r=t.expandAfterFuture().text;return r in oge?e=oge[r]:(r.slice(0,4)==="\\not"||r in da.math&&Mjt.has(da.math[r].group))&&(e="\\dotsb"),e});var zte={")":!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};Ce("\\dotso",function(t){var e=t.future().text;return e in zte?"\\ldots\\,":"\\ldots"});Ce("\\dotsc",function(t){var e=t.future().text;return e in zte&&e!==","?"\\ldots\\,":"\\ldots"});Ce("\\cdots",function(t){var e=t.future().text;return e in zte?"\\@cdots\\,":"\\@cdots"});Ce("\\dotsb","\\cdots");Ce("\\dotsm","\\cdots");Ce("\\dotsi","\\!\\cdots");Ce("\\dotsx","\\ldots\\,");Ce("\\DOTSI","\\relax");Ce("\\DOTSB","\\relax");Ce("\\DOTSX","\\relax");Ce("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");Ce("\\,","\\tmspace+{3mu}{.1667em}");Ce("\\thinspace","\\,");Ce("\\>","\\mskip{4mu}");Ce("\\:","\\tmspace+{4mu}{.2222em}");Ce("\\medspace","\\:");Ce("\\;","\\tmspace+{5mu}{.2777em}");Ce("\\thickspace","\\;");Ce("\\!","\\tmspace-{3mu}{.1667em}");Ce("\\negthinspace","\\!");Ce("\\negmedspace","\\tmspace-{4mu}{.2222em}");Ce("\\negthickspace","\\tmspace-{5mu}{.277em}");Ce("\\enspace","\\kern.5em ");Ce("\\enskip","\\hskip.5em\\relax");Ce("\\quad","\\hskip1em\\relax");Ce("\\qquad","\\hskip2em\\relax");Ce("\\tag","\\@ifstar\\tag@literal\\tag@paren");Ce("\\tag@paren","\\tag@literal{({#1})}");Ce("\\tag@literal",t=>{if(t.macros.get("\\df@tag"))throw new Gt("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});Ce("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");Ce("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");Ce("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");Ce("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");Ce("\\newline","\\\\\\relax");Ce("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var jIe=Kt(Lh["Main-Regular"][84][1]-.7*Lh["Main-Regular"][65][1]);Ce("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+jIe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");Ce("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+jIe+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");Ce("\\hspace","\\@ifstar\\@hspacer\\@hspace");Ce("\\@hspace","\\hskip #1\\relax");Ce("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");Ce("\\ordinarycolon",":");Ce("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");Ce("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');Ce("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');Ce("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');Ce("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');Ce("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');Ce("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');Ce("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');Ce("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');Ce("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');Ce("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');Ce("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');Ce("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');Ce("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');Ce("∷","\\dblcolon");Ce("∹","\\eqcolon");Ce("≔","\\coloneqq");Ce("≕","\\eqqcolon");Ce("⩴","\\Coloneqq");Ce("\\ratio","\\vcentcolon");Ce("\\coloncolon","\\dblcolon");Ce("\\colonequals","\\coloneqq");Ce("\\coloncolonequals","\\Coloneqq");Ce("\\equalscolon","\\eqqcolon");Ce("\\equalscoloncolon","\\Eqqcolon");Ce("\\colonminus","\\coloneq");Ce("\\coloncolonminus","\\Coloneq");Ce("\\minuscolon","\\eqcolon");Ce("\\minuscoloncolon","\\Eqcolon");Ce("\\coloncolonapprox","\\Colonapprox");Ce("\\coloncolonsim","\\Colonsim");Ce("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");Ce("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");Ce("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");Ce("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");Ce("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");Ce("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");Ce("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");Ce("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");Ce("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");Ce("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");Ce("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");Ce("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");Ce("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");Ce("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");Ce("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");Ce("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");Ce("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");Ce("\\nleqq","\\html@mathml{\\@nleqq}{≰}");Ce("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");Ce("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");Ce("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");Ce("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");Ce("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");Ce("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");Ce("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");Ce("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");Ce("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");Ce("\\imath","\\html@mathml{\\@imath}{ı}");Ce("\\jmath","\\html@mathml{\\@jmath}{ȷ}");Ce("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");Ce("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");Ce("⟦","\\llbracket");Ce("⟧","\\rrbracket");Ce("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");Ce("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");Ce("⦃","\\lBrace");Ce("⦄","\\rBrace");Ce("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");Ce("⦵","\\minuso");Ce("\\darr","\\downarrow");Ce("\\dArr","\\Downarrow");Ce("\\Darr","\\Downarrow");Ce("\\lang","\\langle");Ce("\\rang","\\rangle");Ce("\\uarr","\\uparrow");Ce("\\uArr","\\Uparrow");Ce("\\Uarr","\\Uparrow");Ce("\\N","\\mathbb{N}");Ce("\\R","\\mathbb{R}");Ce("\\Z","\\mathbb{Z}");Ce("\\alef","\\aleph");Ce("\\alefsym","\\aleph");Ce("\\Alpha","\\mathrm{A}");Ce("\\Beta","\\mathrm{B}");Ce("\\bull","\\bullet");Ce("\\Chi","\\mathrm{X}");Ce("\\clubs","\\clubsuit");Ce("\\cnums","\\mathbb{C}");Ce("\\Complex","\\mathbb{C}");Ce("\\Dagger","\\ddagger");Ce("\\diamonds","\\diamondsuit");Ce("\\empty","\\emptyset");Ce("\\Epsilon","\\mathrm{E}");Ce("\\Eta","\\mathrm{H}");Ce("\\exist","\\exists");Ce("\\harr","\\leftrightarrow");Ce("\\hArr","\\Leftrightarrow");Ce("\\Harr","\\Leftrightarrow");Ce("\\hearts","\\heartsuit");Ce("\\image","\\Im");Ce("\\infin","\\infty");Ce("\\Iota","\\mathrm{I}");Ce("\\isin","\\in");Ce("\\Kappa","\\mathrm{K}");Ce("\\larr","\\leftarrow");Ce("\\lArr","\\Leftarrow");Ce("\\Larr","\\Leftarrow");Ce("\\lrarr","\\leftrightarrow");Ce("\\lrArr","\\Leftrightarrow");Ce("\\Lrarr","\\Leftrightarrow");Ce("\\Mu","\\mathrm{M}");Ce("\\natnums","\\mathbb{N}");Ce("\\Nu","\\mathrm{N}");Ce("\\Omicron","\\mathrm{O}");Ce("\\plusmn","\\pm");Ce("\\rarr","\\rightarrow");Ce("\\rArr","\\Rightarrow");Ce("\\Rarr","\\Rightarrow");Ce("\\real","\\Re");Ce("\\reals","\\mathbb{R}");Ce("\\Reals","\\mathbb{R}");Ce("\\Rho","\\mathrm{P}");Ce("\\sdot","\\cdot");Ce("\\sect","\\S");Ce("\\spades","\\spadesuit");Ce("\\sub","\\subset");Ce("\\sube","\\subseteq");Ce("\\supe","\\supseteq");Ce("\\Tau","\\mathrm{T}");Ce("\\thetasym","\\vartheta");Ce("\\weierp","\\wp");Ce("\\Zeta","\\mathrm{Z}");Ce("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");Ce("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");Ce("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");Ce("\\bra","\\mathinner{\\langle{#1}|}");Ce("\\ket","\\mathinner{|{#1}\\rangle}");Ce("\\braket","\\mathinner{\\langle{#1}\\rangle}");Ce("\\Bra","\\left\\langle#1\\right|");Ce("\\Ket","\\left|#1\\right\\rangle");var YIe=t=>e=>{var r=e.consumeArg().tokens,n=e.consumeArg().tokens,i=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.macros.get("|"),o=e.macros.get("\\|");e.macros.beginGroup();var l=h=>f=>{t&&(f.macros.set("|",s),i.length&&f.macros.set("\\|",o));var p=h;if(!h&&i.length){var g=f.future();g.text==="|"&&(f.popToken(),p=!0)}return{tokens:p?i:n,numArgs:0}};e.macros.set("|",l(!1)),i.length&&e.macros.set("\\|",l(!0));var u=e.consumeArg().tokens,d=e.expandTokens([...a,...u,...r]);return e.macros.endGroup(),{tokens:d.reverse(),numArgs:0}};Ce("\\bra@ket",YIe(!1));Ce("\\bra@set",YIe(!0));Ce("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");Ce("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");Ce("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");Ce("\\angln","{\\angl n}");Ce("\\blue","\\textcolor{##6495ed}{#1}");Ce("\\orange","\\textcolor{##ffa500}{#1}");Ce("\\pink","\\textcolor{##ff00af}{#1}");Ce("\\red","\\textcolor{##df0030}{#1}");Ce("\\green","\\textcolor{##28ae7b}{#1}");Ce("\\gray","\\textcolor{gray}{#1}");Ce("\\purple","\\textcolor{##9d38bd}{#1}");Ce("\\blueA","\\textcolor{##ccfaff}{#1}");Ce("\\blueB","\\textcolor{##80f6ff}{#1}");Ce("\\blueC","\\textcolor{##63d9ea}{#1}");Ce("\\blueD","\\textcolor{##11accd}{#1}");Ce("\\blueE","\\textcolor{##0c7f99}{#1}");Ce("\\tealA","\\textcolor{##94fff5}{#1}");Ce("\\tealB","\\textcolor{##26edd5}{#1}");Ce("\\tealC","\\textcolor{##01d1c1}{#1}");Ce("\\tealD","\\textcolor{##01a995}{#1}");Ce("\\tealE","\\textcolor{##208170}{#1}");Ce("\\greenA","\\textcolor{##b6ffb0}{#1}");Ce("\\greenB","\\textcolor{##8af281}{#1}");Ce("\\greenC","\\textcolor{##74cf70}{#1}");Ce("\\greenD","\\textcolor{##1fab54}{#1}");Ce("\\greenE","\\textcolor{##0d923f}{#1}");Ce("\\goldA","\\textcolor{##ffd0a9}{#1}");Ce("\\goldB","\\textcolor{##ffbb71}{#1}");Ce("\\goldC","\\textcolor{##ff9c39}{#1}");Ce("\\goldD","\\textcolor{##e07d10}{#1}");Ce("\\goldE","\\textcolor{##a75a05}{#1}");Ce("\\redA","\\textcolor{##fca9a9}{#1}");Ce("\\redB","\\textcolor{##ff8482}{#1}");Ce("\\redC","\\textcolor{##f9685d}{#1}");Ce("\\redD","\\textcolor{##e84d39}{#1}");Ce("\\redE","\\textcolor{##bc2612}{#1}");Ce("\\maroonA","\\textcolor{##ffbde0}{#1}");Ce("\\maroonB","\\textcolor{##ff92c6}{#1}");Ce("\\maroonC","\\textcolor{##ed5fa6}{#1}");Ce("\\maroonD","\\textcolor{##ca337c}{#1}");Ce("\\maroonE","\\textcolor{##9e034e}{#1}");Ce("\\purpleA","\\textcolor{##ddd7ff}{#1}");Ce("\\purpleB","\\textcolor{##c6b9fc}{#1}");Ce("\\purpleC","\\textcolor{##aa87ff}{#1}");Ce("\\purpleD","\\textcolor{##7854ab}{#1}");Ce("\\purpleE","\\textcolor{##543b78}{#1}");Ce("\\mintA","\\textcolor{##f5f9e8}{#1}");Ce("\\mintB","\\textcolor{##edf2df}{#1}");Ce("\\mintC","\\textcolor{##e0e5cc}{#1}");Ce("\\grayA","\\textcolor{##f6f7f7}{#1}");Ce("\\grayB","\\textcolor{##f0f1f2}{#1}");Ce("\\grayC","\\textcolor{##e3e5e6}{#1}");Ce("\\grayD","\\textcolor{##d6d8da}{#1}");Ce("\\grayE","\\textcolor{##babec2}{#1}");Ce("\\grayF","\\textcolor{##888d93}{#1}");Ce("\\grayG","\\textcolor{##626569}{#1}");Ce("\\grayH","\\textcolor{##3b3e40}{#1}");Ce("\\grayI","\\textcolor{##21242c}{#1}");Ce("\\kaBlue","\\textcolor{##314453}{#1}");Ce("\\kaGreen","\\textcolor{##71B307}{#1}");var XIe={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Rjt{constructor(e,r,n){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=r,this.expansionCount=0,this.feed(e),this.macros=new Ejt(Ajt,r.macros),this.mode=n,this.stack=[]}feed(e){this.lexer=new age(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 r,n,i;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken(),{tokens:i,end:n}=this.consumeArg(["]"])}else({tokens:i,start:r,end:n}=this.consumeArg());return this.pushToken(new Zc("EOF",n.loc)),this.pushTokens(i),new Zc("",fc.range(r,n))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var r=[],n=e&&e.length>0;n||this.consumeSpaces();var i=this.future(),a,s=0,o=0;do{if(a=this.popToken(),r.push(a),a.text==="{")++s;else if(a.text==="}"){if(--s,s===-1)throw new Gt("Extra }",a)}else if(a.text==="EOF")throw new Gt("Unexpected end of input in a macro argument, expected '"+(e&&n?e[o]:"}")+"'",a);if(e&&n)if((s===0||s===1&&e[o]==="{")&&a.text===e[o]){if(++o,o===e.length){r.splice(-o,o);break}}else o=0}while(s!==0||n);return i.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:i,end:a}}consumeArgs(e,r){if(r){if(r.length!==e+1)throw new Gt("The length of delimiters doesn't match the number of args!");for(var n=r[0],i=0;i<n.length;i++){var a=this.popToken();if(n[i]!==a.text)throw new Gt("Use of the macro doesn't match its definition",a)}}for(var s=[],o=0;o<e;o++)s.push(this.consumeArg(r&&r[o+1]).tokens);return s}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new Gt("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var r=this.popToken(),n=r.text,i=r.noexpand?null:this._getExpansion(n);if(i==null||e&&i.unexpandable){if(e&&i==null&&n[0]==="\\"&&!this.isDefined(n))throw new Gt("Undefined control sequence: "+n);return this.pushToken(r),!1}this.countExpansion(1);var a=i.tokens,s=this.consumeArgs(i.numArgs,i.delimiters);if(i.numArgs){a=a.slice();for(var o=a.length-1;o>=0;--o){var l=a[o];if(l.text==="#"){if(o===0)throw new Gt("Incomplete placeholder at end of macro body",l);if(l=a[--o],l.text==="#")a.splice(o+1,1);else if(/^[1-9]$/.test(l.text))a.splice(o,2,...s[+l.text-1]);else throw new Gt("Not a valid argument number",l)}}}return this.pushTokens(a),a.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}}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Zc(e)]):void 0}expandTokens(e){var r=[],n=this.stack.length;for(this.pushTokens(e);this.stack.length>n;)if(this.expandOnce(!0)===!1){var i=this.stack.pop();i.treatAsRelax&&(i.noexpand=!1,i.treatAsRelax=!1),r.push(i)}return this.countExpansion(r.length),r}expandMacroAsText(e){var r=this.expandMacro(e);return r&&r.map(n=>n.text).join("")}_getExpansion(e){var r=this.macros.get(e);if(r==null)return r;if(e.length===1){var n=this.lexer.catcodes[e];if(n!=null&&n!==13)return}var i=typeof r=="function"?r(this):r;if(typeof i=="string"){var a=0;if(i.includes("#"))for(var s=i.replace(/##/g,"");s.includes("#"+(a+1));)++a;for(var o=new age(i,this.settings),l=[],u=o.lex();u.text!=="EOF";)l.push(u),u=o.lex();l.reverse();var d={tokens:l,numArgs:a};return d}return i}isDefined(e){return this.macros.has(e)||fg.hasOwnProperty(e)||da.math.hasOwnProperty(e)||da.text.hasOwnProperty(e)||XIe.hasOwnProperty(e)}isExpandable(e){var r=this.macros.get(e);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:fg.hasOwnProperty(e)&&!fg[e].primitive}}var lge=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,IE=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","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),YF={"́":{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"}},cge={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};let KIe=class ZIe{constructor(e,r){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 Rjt(e,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(e,r){if(r===void 0&&(r=!0),this.fetch().text!==e)throw new Gt("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());r&&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 r=this.nextToken;this.consume(),this.gullet.pushToken(new Zc("}")),this.gullet.pushTokens(e);var n=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,n}parseExpression(e,r){for(var n=[];;){this.mode==="math"&&this.consumeSpaces();var i=this.fetch();if(ZIe.endOfExpression.has(i.text)||r&&i.text===r||e&&fg[i.text]&&fg[i.text].infix)break;var a=this.parseAtom(r);if(a){if(a.type==="internal")continue}else break;n.push(a)}return this.mode==="text"&&this.formLigatures(n),this.handleInfixNodes(n)}handleInfixNodes(e){for(var r=-1,n,i=0;i<e.length;i++){var a=e[i];if(a.type==="infix"){if(r!==-1)throw new Gt("only one infix operator per group",a.token);r=i,n=a.replaceWith}}if(r!==-1&&n){var s,o,l=e.slice(0,r),u=e.slice(r+1);l.length===1&&l[0].type==="ordgroup"?s=l[0]:s={type:"ordgroup",mode:this.mode,body:l},u.length===1&&u[0].type==="ordgroup"?o=u[0]:o={type:"ordgroup",mode:this.mode,body:u};var d;return n==="\\\\abovefrac"?d=this.callFunction(n,[s,e[r],o],[]):d=this.callFunction(n,[s,o],[]),[d]}else return e}handleSupSubscript(e){var r=this.fetch(),n=r.text;this.consume(),this.consumeSpaces();var i;do{var a;i=this.parseGroup(e)}while(((a=i)==null?void 0:a.type)==="internal");if(!i)throw new Gt("Expected group after '"+n+"'",r);return i}formatUnsupportedCmd(e){for(var r=[],n=0;n<e.length;n++)r.push({type:"textord",mode:"text",text:e[n]});var i={type:"text",mode:this.mode,body:r},a={type:"color",mode:this.mode,color:this.settings.errorColor,body:[i]};return a}parseAtom(e){var r=this.parseGroup("atom",e);if((r==null?void 0:r.type)==="internal"||this.mode==="text")return r;for(var n,i;;){this.consumeSpaces();var a=this.fetch();if(a.text==="\\limits"||a.text==="\\nolimits"){if(r&&r.type==="op"){var s=a.text==="\\limits";r.limits=s,r.alwaysHandleSupSub=!0}else if(r&&r.type==="operatorname")r.alwaysHandleSupSub&&(r.limits=a.text==="\\limits");else throw new Gt("Limit controls must follow a math operator",a);this.consume()}else if(a.text==="^"){if(n)throw new Gt("Double superscript",a);n=this.handleSupSubscript("superscript")}else if(a.text==="_"){if(i)throw new Gt("Double subscript",a);i=this.handleSupSubscript("subscript")}else if(a.text==="'"){if(n)throw new Gt("Double superscript",a);var o={type:"textord",mode:this.mode,text:"\\prime"},l=[o];for(this.consume();this.fetch().text==="'";)l.push(o),this.consume();this.fetch().text==="^"&&l.push(this.handleSupSubscript("superscript")),n={type:"ordgroup",mode:this.mode,body:l}}else if(IE[a.text]){var u=lge.test(a.text),d=[];for(d.push(new Zc(IE[a.text])),this.consume();;){var h=this.fetch().text;if(!IE[h]||lge.test(h)!==u)break;d.unshift(new Zc(IE[h])),this.consume()}var f=this.subparse(d);u?i={type:"ordgroup",mode:"math",body:f}:n={type:"ordgroup",mode:"math",body:f}}else break}return n||i?{type:"supsub",mode:this.mode,base:r,sup:n,sub:i}:r}parseFunction(e,r){var n=this.fetch(),i=n.text,a=fg[i];if(!a)return null;if(this.consume(),r&&r!=="atom"&&!a.allowedInArgument)throw new Gt("Got function '"+i+"' with no arguments"+(r?" as "+r:""),n);if(this.mode==="text"&&!a.allowedInText)throw new Gt("Can't use function '"+i+"' in text mode",n);if(this.mode==="math"&&a.allowedInMath===!1)throw new Gt("Can't use function '"+i+"' in math mode",n);var{args:s,optArgs:o}=this.parseArguments(i,a);return this.callFunction(i,s,o,n,e)}callFunction(e,r,n,i,a){var s={funcName:e,parser:this,token:i,breakOnTokenText:a},o=fg[e];if(o&&o.handler)return o.handler(s,r,n);throw new Gt("No function handler for "+e)}parseArguments(e,r){var n=r.numArgs+r.numOptionalArgs;if(n===0)return{args:[],optArgs:[]};for(var i=[],a=[],s=0;s<n;s++){var o=r.argTypes&&r.argTypes[s],l=s<r.numOptionalArgs;("primitive"in r&&r.primitive&&o==null||r.type==="sqrt"&&s===1&&a[0]==null)&&(o="primitive");var u=this.parseGroupOfType("argument to '"+e+"'",o,l);if(l)a.push(u);else if(u!=null)i.push(u);else throw new Gt("Null argument, please report this as a bug")}return{args:i,optArgs:a}}parseGroupOfType(e,r,n){switch(r){case"color":return this.parseColorGroup(n);case"size":return this.parseSizeGroup(n);case"url":return this.parseUrlGroup(n);case"math":case"text":return this.parseArgumentGroup(n,r);case"hbox":{var i=this.parseArgumentGroup(n,"text");return i!=null?{type:"styling",mode:i.mode,body:[i],style:"text",resetFont:!0}:null}case"raw":{var a=this.parseStringGroup("raw",n);return a!=null?{type:"raw",mode:"text",string:a.text}:null}case"primitive":{if(n)throw new Gt("A primitive argument cannot be optional");var s=this.parseGroup(e);if(s==null)throw new Gt("Expected group as "+e,this.fetch());return s}case"original":case null:case void 0:return this.parseArgumentGroup(n);default:throw new Gt("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e,r){var n=this.gullet.scanArgument(r);if(n==null)return null;for(var i="",a;(a=this.fetch()).text!=="EOF";)i+=a.text,this.consume();return this.consume(),n.text=i,n}parseRegexGroup(e,r){for(var n=this.fetch(),i=n,a="",s;(s=this.fetch()).text!=="EOF"&&e.test(a+s.text);)i=s,a+=i.text,this.consume();if(a==="")throw new Gt("Invalid "+r+": '"+n.text+"'",n);return n.range(i,a)}parseColorGroup(e){var r=this.parseStringGroup("color",e);if(r==null)return null;var n=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(r.text);if(!n)throw new Gt("Invalid color: '"+r.text+"'",r);var i=n[0];return/^[0-9a-f]{6}$/i.test(i)&&(i="#"+i),{type:"color-token",mode:this.mode,color:i}}parseSizeGroup(e){var r,n=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?r=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):r=this.parseStringGroup("size",e),!r)return null;!e&&r.text.length===0&&(r.text="0pt",n=!0);var i=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text);if(!i)throw new Gt("Invalid size: '"+r.text+"'",r);var a={number:+(i[1]+i[2]),unit:i[3]};if(!rIe(a))throw new Gt("Invalid unit: '"+a.unit+"'",r);return{type:"size",mode:this.mode,value:a,isBlank:n}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var r=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),r==null)return null;var n=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:n}}parseArgumentGroup(e,r){var n=this.gullet.scanArgument(e);if(n==null)return null;var i=this.mode;r&&this.switchMode(r),this.gullet.beginGroup();var a=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var s={type:"ordgroup",mode:this.mode,loc:n.loc,body:a};return r&&this.switchMode(i),s}parseGroup(e,r){var n=this.fetch(),i=n.text,a;if(i==="{"||i==="\\begingroup"){this.consume();var s=i==="{"?"}":"\\endgroup";this.gullet.beginGroup();var o=this.parseExpression(!1,s),l=this.fetch();this.expect(s),this.gullet.endGroup(),a={type:"ordgroup",mode:this.mode,loc:fc.range(n,l),body:o,semisimple:i==="\\begingroup"||void 0}}else if(a=this.parseFunction(r,e)||this.parseSymbol(),a==null&&i[0]==="\\"&&!XIe.hasOwnProperty(i)){if(this.settings.throwOnError)throw new Gt("Undefined control sequence: "+i,n);a=this.formatUnsupportedCmd(i),this.consume()}return a}formLigatures(e){for(var r=e.length-1,n=0;n<r;++n){var i=e[n];if(i.type==="textord"){var a=i.text,s=e[n+1];if(!(!s||s.type!=="textord")){if(a==="-"&&s.text==="-"){var o=e[n+2];n+1<r&&o&&o.type==="textord"&&o.text==="-"?(e.splice(n,3,{type:"textord",mode:"text",loc:fc.range(i,o),text:"---"}),r-=2):(e.splice(n,2,{type:"textord",mode:"text",loc:fc.range(i,s),text:"--"}),r-=1)}(a==="'"||a==="`")&&s.text===a&&(e.splice(n,2,{type:"textord",mode:"text",loc:fc.range(i,s),text:a+a}),r-=1)}}}}parseSymbol(){var e=this.fetch(),r=e.text;if(/^\\verb[^a-zA-Z]/.test(r)){this.consume();var n=r.slice(5),i=n.charAt(0)==="*";if(i&&(n=n.slice(1)),n.length<2||n.charAt(0)!==n.slice(-1))throw new Gt(`\\verb assertion failed --
please report what input caused this bug`);return n=n.slice(1,-1),{type:"verb",mode:"text",body:n,star:i}}cge.hasOwnProperty(r[0])&&!da[this.mode][r[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+r[0]+'" used in math mode',e),r=cge[r[0]]+r.slice(1));var a=Sjt.exec(r);a&&(r=r.substring(0,a.index),r==="i"?r="ı":r==="j"&&(r="ȷ"));var s;if(da[this.mode][r]){this.settings.strict&&this.mode==="math"&&Zq.includes(r)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',e);var o=da[this.mode][r].group,l=fc.range(e),u;qqt(o)?u={type:"atom",mode:this.mode,family:o,loc:l,text:r}:u={type:o,mode:this.mode,loc:l,text:r},s=u}else if(r.charCodeAt(0)>=128)this.settings.strict&&(tIe(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),e)),s={type:"textord",mode:"text",loc:fc.range(e),text:r};else return null;if(this.consume(),a)for(var d=0;d<a[0].length;d++){var h=a[0][d];if(!YF[h])throw new Gt("Unknown accent ' "+h+"'",e);var f=YF[h][this.mode]||YF[h].text;if(!f)throw new Gt("Accent "+h+" unsupported in "+this.mode+" mode",e);s={type:"accent",mode:this.mode,loc:fc.range(e),label:f,isStretchy:!1,isShifty:!0,base:s}}return s}};KIe.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Hte=function(e,r){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var n=new KIe(e,r);delete n.gullet.macros.current["\\df@tag"];var i=n.parse();if(delete n.gullet.macros.current["\\current@color"],delete n.gullet.macros.current["\\color"],n.gullet.macros.get("\\df@tag")){if(!r.displayMode)throw new Gt("\\tag works only in display equations");i=[{type:"tag",mode:"text",body:i,tag:n.subparse([new Zc("\\df@tag")])}]}return i},Vte=function(e,r,n){r.textContent="";var i=AP(e,n).toNode();r.appendChild(i)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),Vte=function(){throw new Gt("KaTeX doesn't work in quirks mode.")});var JIe=function(e,r){var n=AP(e,r).toMarkup();return n},QIe=function(e,r){var n=new Ate(r);return Hte(e,n)},eLe=function(e,r,n){if(n.throwOnError||!(e instanceof Gt))throw e;var i=zt(["katex-error"],[new ru(r)]);return i.setAttribute("title",e.toString()),i.setAttribute("style","color:"+n.errorColor),i},AP=function(e,r){var n=new Ate(r);try{var i=Hte(e,n);return Bqt(i,e,n)}catch(a){return eLe(a,e,n)}},tLe=function(e,r){var n=new Ate(r);try{var i=Hte(e,n);return $qt(i,e,n)}catch(a){return eLe(a,e,n)}},rLe="0.16.47",nLe={Span:l3,Anchor:mP,SymbolNode:ru,SvgNode:$0,PathNode:e1,LineNode:Kq},Ijt={version:rLe,render:Vte,renderToString:JIe,ParseError:Gt,SETTINGS_SCHEMA:PL,__parse:QIe,__renderToDomTree:AP,__renderToHTMLTree:tLe,__setFontMetrics:sIe,__defineSymbol:q,__defineFunction:ar,__defineMacro:Ce,__domTree:nLe};const Ljt=Object.freeze(Object.defineProperty({__proto__:null,ParseError:Gt,SETTINGS_SCHEMA:PL,__defineFunction:ar,__defineMacro:Ce,__defineSymbol:q,__domTree:nLe,__parse:QIe,__renderToDomTree:AP,__renderToHTMLTree:tLe,__setFontMetrics:sIe,default:Ijt,get render(){return Vte},renderToString:JIe,version:rLe},Symbol.toStringTag,{value:"Module"}));var Njt="\0",sm="\0",uge="";class rl{constructor(e={}){this._isDirected=Object.prototype.hasOwnProperty.call(e,"directed")?e.directed:!0,this._isMultigraph=Object.prototype.hasOwnProperty.call(e,"multigraph")?e.multigraph:!1,this._isCompound=Object.prototype.hasOwnProperty.call(e,"compound")?e.compound:!1,this._label=void 0,this._defaultNodeLabelFn=A2(void 0),this._defaultEdgeLabelFn=A2(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[sm]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(e){return this._label=e,this}graph(){return this._label}setDefaultNodeLabel(e){return Ew(e)||(e=A2(e)),this._defaultNodeLabelFn=e,this}nodeCount(){return this._nodeCount}nodes(){return Fc(this._nodes)}sources(){var e=this;return t0(this.nodes(),function(r){return Iw(e._in[r])})}sinks(){var e=this;return t0(this.nodes(),function(r){return Iw(e._out[r])})}setNodes(e,r){var n=arguments,i=this;return kt(e,function(a){n.length>1?i.setNode(a,r):i.setNode(a)}),this}setNode(e,r){return Object.prototype.hasOwnProperty.call(this._nodes,e)?(arguments.length>1&&(this._nodes[e]=r),this):(this._nodes[e]=arguments.length>1?r:this._defaultNodeLabelFn(e),this._isCompound&&(this._parent[e]=sm,this._children[e]={},this._children[sm][e]=!0),this._in[e]={},this._preds[e]={},this._out[e]={},this._sucs[e]={},++this._nodeCount,this)}node(e){return this._nodes[e]}hasNode(e){return Object.prototype.hasOwnProperty.call(this._nodes,e)}removeNode(e){if(Object.prototype.hasOwnProperty.call(this._nodes,e)){var r=n=>this.removeEdge(this._edgeObjs[n]);delete this._nodes[e],this._isCompound&&(this._removeFromParentsChildList(e),delete this._parent[e],kt(this.children(e),n=>{this.setParent(n)}),delete this._children[e]),kt(Fc(this._in[e]),r),delete this._in[e],delete this._preds[e],kt(Fc(this._out[e]),r),delete this._out[e],delete this._sucs[e],--this._nodeCount}return this}setParent(e,r){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(Za(r))r=sm;else{r+="";for(var n=r;!Za(n);n=this.parent(n))if(n===e)throw new Error("Setting "+r+" as parent of "+e+" would create a cycle");this.setNode(r)}return this.setNode(e),this._removeFromParentsChildList(e),this._parent[e]=r,this._children[r][e]=!0,this}_removeFromParentsChildList(e){delete this._children[this._parent[e]][e]}parent(e){if(this._isCompound){var r=this._parent[e];if(r!==sm)return r}}children(e){if(Za(e)&&(e=sm),this._isCompound){var r=this._children[e];if(r)return Fc(r)}else{if(e===sm)return this.nodes();if(this.hasNode(e))return[]}}predecessors(e){var r=this._preds[e];if(r)return Fc(r)}successors(e){var r=this._sucs[e];if(r)return Fc(r)}neighbors(e){var r=this.predecessors(e);if(r)return PV(r,this.successors(e))}isLeaf(e){var r;return this.isDirected()?r=this.successors(e):r=this.neighbors(e),r.length===0}filterNodes(e){var r=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});r.setGraph(this.graph());var n=this;kt(this._nodes,function(s,o){e(o)&&r.setNode(o,s)}),kt(this._edgeObjs,function(s){r.hasNode(s.v)&&r.hasNode(s.w)&&r.setEdge(s,n.edge(s))});var i={};function a(s){var o=n.parent(s);return o===void 0||r.hasNode(o)?(i[s]=o,o):o in i?i[o]:a(o)}return this._isCompound&&kt(r.nodes(),function(s){r.setParent(s,a(s))}),r}setDefaultEdgeLabel(e){return Ew(e)||(e=A2(e)),this._defaultEdgeLabelFn=e,this}edgeCount(){return this._edgeCount}edges(){return g0(this._edgeObjs)}setPath(e,r){var n=this,i=arguments;return BC(e,function(a,s){return i.length>1?n.setEdge(a,s,r):n.setEdge(a,s),s}),this}setEdge(){var e,r,n,i,a=!1,s=arguments[0];typeof s=="object"&&s!==null&&"v"in s?(e=s.v,r=s.w,n=s.name,arguments.length===2&&(i=arguments[1],a=!0)):(e=s,r=arguments[1],n=arguments[3],arguments.length>2&&(i=arguments[2],a=!0)),e=""+e,r=""+r,Za(n)||(n=""+n);var o=nx(this._isDirected,e,r,n);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return a&&(this._edgeLabels[o]=i),this;if(!Za(n)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(e),this.setNode(r),this._edgeLabels[o]=a?i:this._defaultEdgeLabelFn(e,r,n);var l=Ojt(this._isDirected,e,r,n);return e=l.v,r=l.w,Object.freeze(l),this._edgeObjs[o]=l,dge(this._preds[r],e),dge(this._sucs[e],r),this._in[r][o]=l,this._out[e][o]=l,this._edgeCount++,this}edge(e,r,n){var i=arguments.length===1?XF(this._isDirected,arguments[0]):nx(this._isDirected,e,r,n);return this._edgeLabels[i]}hasEdge(e,r,n){var i=arguments.length===1?XF(this._isDirected,arguments[0]):nx(this._isDirected,e,r,n);return Object.prototype.hasOwnProperty.call(this._edgeLabels,i)}removeEdge(e,r,n){var i=arguments.length===1?XF(this._isDirected,arguments[0]):nx(this._isDirected,e,r,n),a=this._edgeObjs[i];return a&&(e=a.v,r=a.w,delete this._edgeLabels[i],delete this._edgeObjs[i],hge(this._preds[r],e),hge(this._sucs[e],r),delete this._in[r][i],delete this._out[e][i],this._edgeCount--),this}inEdges(e,r){var n=this._in[e];if(n){var i=g0(n);return r?t0(i,function(a){return a.v===r}):i}}outEdges(e,r){var n=this._out[e];if(n){var i=g0(n);return r?t0(i,function(a){return a.w===r}):i}}nodeEdges(e,r){var n=this.inEdges(e,r);if(n)return n.concat(this.outEdges(e,r))}}rl.prototype._nodeCount=0;rl.prototype._edgeCount=0;function dge(t,e){t[e]?t[e]++:t[e]=1}function hge(t,e){--t[e]||delete t[e]}function nx(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}return i+uge+a+uge+(Za(n)?Njt:n)}function Ojt(t,e,r,n){var i=""+e,a=""+r;if(!t&&i>a){var s=i;i=a,a=s}var o={v:i,w:a};return n&&(o.name=n),o}function XF(t,e){return nx(t,e.v,e.w,e.name)}function k0(t){var e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:Djt(t),edges:Pjt(t)};return Za(t.graph())||(e.value=vR(t.graph())),e}function Djt(t){return us(t.nodes(),function(e){var r=t.node(e),n=t.parent(e),i={v:e};return Za(r)||(i.value=r),Za(n)||(i.parent=n),i})}function Pjt(t){return us(t.edges(),function(e){var r=t.edge(e),n={v:e.v,w:e.w};return Za(e.name)||(n.name=e.name),Za(r)||(n.value=r),n})}var hn=new Map,pg=new Map,iLe=new Map,aLe=x(()=>{pg.clear(),iLe.clear(),hn.clear()},"clear"),o5=x((t,e)=>{const r=pg.get(e)||[];return he.trace("In isDescendant",e," ",t," = ",r.includes(t)),r.includes(t)},"isDescendant"),_jt=x((t,e)=>{const r=pg.get(e)||[];return he.info("Descendants of ",e," is ",r),he.info("Edge is ",t),t.v===e||t.w===e?!1:r?r.includes(t.v)||o5(t.v,e)||o5(t.w,e)||r.includes(t.w):(he.debug("Tilt, ",e,",not in descendants"),!1)},"edgeInCluster"),hj=x((t,e,r,n)=>{he.warn("Copying children of ",t,"root",n,"data",e.node(t),n);const i=e.children(t)||[];t!==n&&i.push(t),he.warn("Copying (nodes) clusterId",t,"nodes",i),i.forEach(a=>{if(e.children(a).length>0)hj(a,e,r,n);else{const s=e.node(a);he.info("cp ",a," to ",n," with parent ",t),r.setNode(a,s),n!==e.parent(a)&&(he.warn("Setting parent",a,e.parent(a)),r.setParent(a,e.parent(a))),t!==n&&a!==t?(he.debug("Setting parent",a,t),r.setParent(a,t)):(he.info("In copy ",t,"root",n,"data",e.node(t),n),he.debug("Not Setting parent for node=",a,"cluster!==rootId",t!==n,"node!==clusterId",a!==t));const o=e.edges(a);he.debug("Copying Edges",o),o.forEach(l=>{he.info("Edge",l);const u=e.edge(l.v,l.w,l.name);he.info("Edge data",u,n);try{if(_jt(l,n)){const d=pg.get(n)||[],h=d.includes(l.v)||o5(l.v,n)||l.v===n,f=d.includes(l.w)||o5(l.w,n)||l.w===n;if(h&&f)he.info("Copying as ",l.v,l.w,u,l.name),r.setEdge(l.v,l.w,u,l.name),he.info("newGraph edges ",r.edges(),r.edge(r.edges()[0]));else{const p=h?n:l.v,g=f?n:l.w;he.info("Rebinding cross-boundary edge as ",p,g,u,l.name),e.setEdge(p,g,u,l.name)}}else he.info("Skipping copy of edge ",l.v,"-->",l.w," rootId: ",n," clusterId:",t)}catch(d){he.error(d)}})}he.debug("Removing node",a),e.removeNode(a)})},"copy"),sLe=x((t,e)=>{const r=e.children(t);let n=[...r];for(const i of r)iLe.set(i,t),n=[...n,...sLe(i,e)];return n},"extractDescendants"),Bjt=x((t,e,r)=>{const n=t.edges().filter(l=>l.v===e||l.w===e),i=t.edges().filter(l=>l.v===r||l.w===r),a=n.map(l=>({v:l.v===e?r:l.v,w:l.w===e?e:l.w})),s=i.map(l=>({v:l.v,w:l.w}));return a.filter(l=>s.some(u=>l.v===u.v&&l.w===u.w))},"findCommonEdges"),c4=x((t,e,r)=>{const n=e.children(t);if(he.trace("Searching children of id ",t,n),n.length<1)return t;let i;for(const a of n){const s=c4(a,e,r),o=Bjt(e,r,s);if(s)if(o.length>0)i=s;else return s}return i},"findNonClusterChild"),fge=x(t=>!hn.has(t)||!hn.get(t).externalConnections?t:hn.has(t)?hn.get(t).id:t,"getAnchorId"),$jt=x((t,e)=>{var r;if(!t||e>10){he.debug("Opting out, no graph ");return}else he.debug("Opting in, graph ");t.nodes().forEach(function(n){t.children(n).length>0&&(he.warn("Cluster identified",n," Replacement id in edges: ",c4(n,t,n)),pg.set(n,sLe(n,t)),hn.set(n,{id:c4(n,t,n),clusterData:t.node(n)}))}),t.nodes().forEach(function(n){const i=t.children(n),a=t.edges();i.length>0?(he.debug("Cluster identified",n,pg),a.forEach(s=>{const o=o5(s.v,n),l=o5(s.w,n);o^l&&(he.warn("Edge: ",s," leaves cluster ",n),he.warn("Descendants of XXX ",n,": ",pg.get(n)),hn.get(n).externalConnections=!0)})):he.debug("Not a cluster ",n,pg)});for(let n of hn.keys()){const i=hn.get(n).id,a=t.parent(i);a!==n&&hn.has(a)&&!hn.get(a).externalConnections&&(hn.get(n).id=a);const s=t.edges().some(o=>o.v===n);if(i&&((r=hn.get(n))!=null&&r.externalConnections)&&s&&cLe(t,i,n)){const o=zjt(t,n,t.parent(i));o&&(hn.get(n).id=o)}}t.edges().forEach(function(n){const i=t.edge(n);he.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),he.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(t.edge(n)));let a=n.v,s=n.w;if(he.warn("Fix XXX",hn,"ids:",n.v,n.w,"Translating: ",hn.get(n.v)," --- ",hn.get(n.w)),hn.get(n.v)||hn.get(n.w)){if(he.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),a=fge(n.v),s=fge(n.w),t.removeEdge(n.v,n.w,n.name),a!==n.v){const o=t.parent(a);hn.get(o).externalConnections=!0,i.fromCluster=n.v}if(s!==n.w){const o=t.parent(s);hn.get(o).externalConnections=!0,i.toCluster=n.w}he.warn("Fix Replacing with XXX",a,s,n.name),t.setEdge(a,s,i,n.name)}}),he.warn("Adjusted Graph",k0(t)),oLe(t,0),he.trace(hn)},"adjustClustersAndEdges"),oLe=x((t,e)=>{var i,a,s,o;if(he.warn("extractor - ",e,k0(t),t.children("D")),e>10){he.error("Bailing out");return}let r=t.nodes(),n=!1;for(const l of r){const u=t.children(l);n=n||u.length>0}if(!n){he.debug("Done, no node has children",t.nodes());return}he.debug("Nodes = ",r,e);for(const l of r)if(he.debug("Extracting node",l,hn,hn.has(l)&&!hn.get(l).externalConnections,!t.parent(l),t.node(l),t.children("D")," Depth ",e),!hn.has(l))he.debug("Not a cluster",l,e);else if((a=(i=hn.get(l))==null?void 0:i.clusterData)!=null&&a.explicitDir&&t.children(l)&&t.children(l).length>0){he.warn("Cluster with explicit dir, creating subgraph for children",l,e);const u=hn.get(l).clusterData.dir,d=new rl({multigraph:!0,compound:!0}).setGraph({rankdir:u,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});hj(l,t,d,l);const h=t.node(l)||{};t.setNode(l,{...h,clusterNode:!0,id:l,clusterData:hn.get(l).clusterData,label:hn.get(l).label,graph:d}),he.warn("Subgraph for cluster with explicit dir created:",l,k0(d))}else if(!hn.get(l).externalConnections&&t.children(l)&&t.children(l).length>0){he.warn("Cluster without external connections, without a parent and with children",l,e);let d=t.graph().rankdir==="TB"?"LR":"TB";(o=(s=hn.get(l))==null?void 0:s.clusterData)!=null&&o.dir&&(d=hn.get(l).clusterData.dir,he.warn("Fixing dir",hn.get(l).clusterData.dir,d));const h=new rl({multigraph:!0,compound:!0}).setGraph({rankdir:d,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});hj(l,t,h,l);const f=t.node(l)||{};t.setNode(l,{...f,clusterNode:!0,id:l,clusterData:hn.get(l).clusterData,label:hn.get(l).label,graph:h}),he.debug("Old graph after copy",k0(t))}else he.warn("Cluster ** ",l," **not meeting the criteria !externalConnections:",!hn.get(l).externalConnections," no parent: ",!t.parent(l)," children ",t.children(l)&&t.children(l).length>0,t.children("D"),e),he.debug(hn);r=t.nodes(),he.warn("New list of nodes",r);for(const l of r){const u=t.node(l);he.warn(" Now next level",l,u),u!=null&&u.clusterNode&&oLe(u.graph,e+1)}},"extractor"),lLe=x((t,e)=>{if(e.length===0)return[];let r=Object.assign([],e);return e.forEach(n=>{const i=t.children(n),a=lLe(t,i);r=[...r,...a]}),r},"sorter"),Fjt=x(t=>lLe(t,t.children()),"sortNodesByHierarchy"),cLe=x((t,e,r)=>{let n=t.parent(e);for(;n&&n!==r;){const i=hn.get(n);if(i&&!i.externalConnections)return!0;n=t.parent(n)}return!1},"isNodeInExtractableCluster"),zjt=x((t,e,r)=>{const n=t.children(e)??[];for(const i of n){if(i===r||o5(i,r))continue;const a=c4(i,t,e);if(a&&!cLe(t,a,e))return a}return null},"findSafeAnchorNode");class Hjt{constructor(){var e={};e._next=e._prev=e,this._sentinel=e}dequeue(){var e=this._sentinel,r=e._prev;if(r!==e)return pge(r),r}enqueue(e){var r=this._sentinel;e._prev&&e._next&&pge(e),e._next=r._next,r._next._prev=e,r._next=e,e._prev=r}toString(){for(var e=[],r=this._sentinel,n=r._prev;n!==r;)e.push(JSON.stringify(n,Vjt)),n=n._prev;return"["+e.join(", ")+"]"}}function pge(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function Vjt(t,e){if(t!=="_next"&&t!=="_prev")return e}var Gjt=A2(1);function Wjt(t,e){if(t.nodeCount()<=1)return[];var r=jjt(t,e||Gjt),n=qjt(r.graph,r.buckets,r.zeroIdx);return $4(us(n,function(i){return t.outEdges(i.v,i.w)}))}function qjt(t,e,r){for(var n=[],i=e[e.length-1],a=e[0],s;t.nodeCount();){for(;s=a.dequeue();)KF(t,e,r,s);for(;s=i.dequeue();)KF(t,e,r,s);if(t.nodeCount()){for(var o=e.length-2;o>0;--o)if(s=e[o].dequeue(),s){n=n.concat(KF(t,e,r,s,!0));break}}}return n}function KF(t,e,r,n,i){var a=i?[]:void 0;return kt(t.inEdges(n.v),function(s){var o=t.edge(s),l=t.node(s.v);i&&a.push({v:s.v,w:s.w}),l.out-=o,fj(e,r,l)}),kt(t.outEdges(n.v),function(s){var o=t.edge(s),l=s.w,u=t.node(l);u.in-=o,fj(e,r,u)}),t.removeNode(n.v),a}function jjt(t,e){var r=new rl,n=0,i=0;kt(t.nodes(),function(o){r.setNode(o,{v:o,in:0,out:0})}),kt(t.edges(),function(o){var l=r.edge(o.v,o.w)||0,u=e(o),d=l+u;r.setEdge(o.v,o.w,d),i=Math.max(i,r.node(o.v).out+=u),n=Math.max(n,r.node(o.w).in+=u)});var a=vv(i+n+3).map(function(){return new Hjt}),s=n+1;return kt(r.nodes(),function(o){fj(a,s,r.node(o))}),{graph:r,buckets:a,zeroIdx:s}}function fj(t,e,r){r.out?r.in?t[r.out-r.in+e].enqueue(r):t[t.length-1].enqueue(r):t[0].enqueue(r)}function Yjt(t){var e=t.graph().acyclicer==="greedy"?Wjt(t,r(t)):Xjt(t);kt(e,function(n){var i=t.edge(n);t.removeEdge(n),i.forwardName=n.name,i.reversed=!0,t.setEdge(n.w,n.v,i,DO("rev"))});function r(n){return function(i){return n.edge(i).weight}}}function Xjt(t){var e=[],r={},n={};function i(a){Object.prototype.hasOwnProperty.call(n,a)||(n[a]=!0,r[a]=!0,kt(t.outEdges(a),function(s){Object.prototype.hasOwnProperty.call(r,s.w)?e.push(s):i(s.w)}),delete r[a])}return kt(t.nodes(),i),e}function Kjt(t){kt(t.edges(),function(e){var r=t.edge(e);if(r.reversed){t.removeEdge(e);var n=r.forwardName;delete r.reversed,delete r.forwardName,t.setEdge(e.w,e.v,r,n)}})}function d3(t,e,r,n){var i;do i=DO(n);while(t.hasNode(i));return r.dummy=e,t.setNode(i,r),i}function Zjt(t){var e=new rl().setGraph(t.graph());return kt(t.nodes(),function(r){e.setNode(r,t.node(r))}),kt(t.edges(),function(r){var n=e.edge(r.v,r.w)||{weight:0,minlen:1},i=t.edge(r);e.setEdge(r.v,r.w,{weight:n.weight+i.weight,minlen:Math.max(n.minlen,i.minlen)})}),e}function uLe(t){var e=new rl({multigraph:t.isMultigraph()}).setGraph(t.graph());return kt(t.nodes(),function(r){t.children(r).length||e.setNode(r,t.node(r))}),kt(t.edges(),function(r){e.setEdge(r,t.edge(r))}),e}function gge(t,e){var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2;if(!i&&!a)throw new Error("Not possible to find intersection inside of the rectangle");var l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=o*i/a,u=o):(i<0&&(s=-s),l=s,u=s*a/i),{x:r+l,y:n+u}}function MP(t){var e=us(vv(dLe(t)+1),function(){return[]});return kt(t.nodes(),function(r){var n=t.node(r),i=n.rank;Za(i)||(e[i][n.order]=r)}),e}function Jjt(t){var e=Lw(us(t.nodes(),function(r){return t.node(r).rank}));kt(t.nodes(),function(r){var n=t.node(r);M2(n,"rank")&&(n.rank-=e)})}function Qjt(t){var e=Lw(us(t.nodes(),function(a){return t.node(a).rank})),r=[];kt(t.nodes(),function(a){var s=t.node(a).rank-e;r[s]||(r[s]=[]),r[s].push(a)});var n=0,i=t.graph().nodeRankFactor;kt(r,function(a,s){Za(a)&&s%i!==0?--n:n&&kt(a,function(o){t.node(o).rank+=n})})}function mge(t,e,r,n){var i={width:0,height:0};return arguments.length>=4&&(i.rank=r,i.order=n),d3(t,"border",i,e)}function dLe(t){return Og(us(t.nodes(),function(e){var r=t.node(e).rank;if(!Za(r))return r}))}function eYt(t,e){var r={lhs:[],rhs:[]};return kt(t,function(n){e(n)?r.lhs.push(n):r.rhs.push(n)}),r}function tYt(t,e){return e()}function rYt(t){function e(r){var n=t.children(r),i=t.node(r);if(n.length&&kt(n,e),Object.prototype.hasOwnProperty.call(i,"minRank")){i.borderLeft=[],i.borderRight=[];for(var a=i.minRank,s=i.maxRank+1;a<s;++a)Uge(t,"borderLeft","_bl",r,i,a),Uge(t,"borderRight","_br",r,i,a)}}kt(t.children(),e)}function Uge(t,e,r,n,i,a){var s={width:0,height:0,rank:a,borderType:e},o=i[e][a-1],l=d3(t,"border",s,r);i[e][a]=l,t.setParent(l,n),o&&t.setEdge(o,l,{weight:1})}function nYt(t){var e=t.graph().rankdir.toLowerCase();(e==="lr"||e==="rl")&&hLe(t)}function iYt(t){var e=t.graph().rankdir.toLowerCase();(e==="bt"||e==="rl")&&aYt(t),(e==="lr"||e==="rl")&&(sYt(t),hLe(t))}function hLe(t){kt(t.nodes(),function(e){yge(t.node(e))}),kt(t.edges(),function(e){yge(t.edge(e))})}function yge(t){var e=t.width;t.width=t.height,t.height=e}function aYt(t){kt(t.nodes(),function(e){ZF(t.node(e))}),kt(t.edges(),function(e){var r=t.edge(e);kt(r.points,ZF),Object.prototype.hasOwnProperty.call(r,"y")&&ZF(r)})}function ZF(t){t.y=-t.y}function sYt(t){kt(t.nodes(),function(e){JF(t.node(e))}),kt(t.edges(),function(e){var r=t.edge(e);kt(r.points,JF),Object.prototype.hasOwnProperty.call(r,"x")&&JF(r)})}function JF(t){var e=t.x;t.x=t.y,t.y=e}function oYt(t){t.graph().dummyChains=[],kt(t.edges(),function(e){lYt(t,e)})}function lYt(t,e){var r=e.v,n=t.node(r).rank,i=e.w,a=t.node(i).rank,s=e.name,o=t.edge(e),l=o.labelRank;if(a!==n+1){t.removeEdge(e);var u=void 0,d,h;for(h=0,++n;n<a;++h,++n)o.points=[],u={width:0,height:0,edgeLabel:o,edgeObj:e,rank:n},d=d3(t,"edge",u,"_d"),n===l&&(u.width=o.width,u.height=o.height,u.dummy="edge-label",u.labelpos=o.labelpos),t.setEdge(r,d,{weight:o.weight},s),h===0&&t.graph().dummyChains.push(d),r=d;t.setEdge(r,i,{weight:o.weight},s)}}function cYt(t){kt(t.graph().dummyChains,function(e){var r=t.node(e),n=r.edgeLabel,i;for(t.setEdge(r.edgeObj,n);r.dummy;)i=t.successors(e)[0],t.removeNode(e),n.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(n.x=r.x,n.y=r.y,n.width=r.width,n.height=r.height),e=i,r=t.node(e)})}function Gte(t){var e={};function r(n){var i=t.node(n);if(Object.prototype.hasOwnProperty.call(e,n))return i.rank;e[n]=!0;var a=Lw(us(t.outEdges(n),function(s){return r(s.w)-t.edge(s).minlen}));return(a===Number.POSITIVE_INFINITY||a===void 0||a===null)&&(a=0),i.rank=a}kt(t.sources(),r)}function GT(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}function fLe(t){var e=new rl({directed:!1}),r=t.nodes()[0],n=t.nodeCount();e.setNode(r,{});for(var i,a;uYt(e,t)<n;)i=dYt(e,t),a=e.hasNode(i.v)?GT(t,i):-GT(t,i),hYt(e,t,a);return e}function uYt(t,e){function r(n){kt(e.nodeEdges(n),function(i){var a=i.v,s=n===a?i.w:a;!t.hasNode(s)&&!GT(e,i)&&(t.setNode(s,{}),t.setEdge(n,s,{}),r(s))})}return kt(t.nodes(),r),t.nodeCount()}function dYt(t,e){return OZ(e.edges(),function(r){if(t.hasNode(r.v)!==t.hasNode(r.w))return GT(e,r)})}function hYt(t,e,r){kt(t.nodes(),function(n){e.node(n).rank+=r})}function fYt(){}fYt.prototype=new Error;function pLe(t,e,r){Ga(e)||(e=[e]);var n=(t.isDirected()?t.successors:t.neighbors).bind(t),i=[],a={};return kt(e,function(s){if(!t.hasNode(s))throw new Error("Graph does not have node: "+s);gLe(t,s,r==="post",a,n,i)}),i}function gLe(t,e,r,n,i,a){Object.prototype.hasOwnProperty.call(n,e)||(n[e]=!0,r||a.push(e),kt(i(e),function(s){gLe(t,s,r,n,i,a)}),r&&a.push(e))}function pYt(t,e){return pLe(t,e,"post")}function gYt(t,e){return pLe(t,e,"pre")}O5.initLowLimValues=qte;O5.initCutValues=Wte;O5.calcCutValue=mLe;O5.leaveEdge=yLe;O5.enterEdge=bLe;O5.exchangeEdges=vLe;function O5(t){t=Zjt(t),Gte(t);var e=fLe(t);qte(e),Wte(e,t);for(var r,n;r=yLe(e);)n=bLe(e,t,r),vLe(e,t,r,n)}function Wte(t,e){var r=pYt(t,t.nodes());r=r.slice(0,r.length-1),kt(r,function(n){mYt(t,e,n)})}function mYt(t,e,r){var n=t.node(r),i=n.parent;t.edge(r,i).cutvalue=mLe(t,e,r)}function mLe(t,e,r){var n=t.node(r),i=n.parent,a=!0,s=e.edge(r,i),o=0;return s||(a=!1,s=e.edge(i,r)),o=s.weight,kt(e.nodeEdges(r),function(l){var u=l.v===r,d=u?l.w:l.v;if(d!==i){var h=u===a,f=e.edge(l).weight;if(o+=h?f:-f,yYt(t,r,d)){var p=t.edge(r,d).cutvalue;o+=h?-p:p}}}),o}function qte(t,e){arguments.length<2&&(e=t.nodes()[0]),ULe(t,{},1,e)}function ULe(t,e,r,n,i){var a=r,s=t.node(n);return e[n]=!0,kt(t.neighbors(n),function(o){Object.prototype.hasOwnProperty.call(e,o)||(r=ULe(t,e,r,o,n))}),s.low=a,s.lim=r++,i?s.parent=i:delete s.parent,r}function yLe(t){return LZ(t.edges(),function(e){return t.edge(e).cutvalue<0})}function bLe(t,e,r){var n=r.v,i=r.w;e.hasEdge(n,i)||(n=r.w,i=r.v);var a=t.node(n),s=t.node(i),o=a,l=!1;a.lim>s.lim&&(o=s,l=!0);var u=t0(e.edges(),function(d){return l===bge(t,t.node(d.v),o)&&l!==bge(t,t.node(d.w),o)});return OZ(u,function(d){return GT(e,d)})}function vLe(t,e,r,n){var i=r.v,a=r.w;t.removeEdge(i,a),t.setEdge(n.v,n.w,{}),qte(t),Wte(t,e),UYt(t,e)}function UYt(t,e){var r=LZ(t.nodes(),function(i){return!e.node(i).parent}),n=gYt(t,r);n=n.slice(1),kt(n,function(i){var a=t.node(i).parent,s=e.edge(i,a),o=!1;s||(s=e.edge(a,i),o=!0),e.node(i).rank=e.node(a).rank+(o?s.minlen:-s.minlen)})}function yYt(t,e,r){return t.hasEdge(e,r)}function bge(t,e,r){return r.low<=e.lim&&e.lim<=r.lim}function bYt(t){switch(t.graph().ranker){case"network-simplex":vge(t);break;case"tight-tree":xYt(t);break;case"longest-path":vYt(t);break;default:vge(t)}}var vYt=Gte;function xYt(t){Gte(t),fLe(t)}function vge(t){O5(t)}function wYt(t){var e=d3(t,"root",{},"_root"),r=TYt(t),n=Og(g0(r))-1,i=2*n+1;t.graph().nestingRoot=e,kt(t.edges(),function(s){t.edge(s).minlen*=i});var a=CYt(t)+1;kt(t.children(),function(s){xLe(t,e,i,a,n,r,s)}),t.graph().nodeRankFactor=i}function xLe(t,e,r,n,i,a,s){var o=t.children(s);if(!o.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:r});return}var l=mge(t,"_bt"),u=mge(t,"_bb"),d=t.node(s);t.setParent(l,s),d.borderTop=l,t.setParent(u,s),d.borderBottom=u,kt(o,function(h){xLe(t,e,r,n,i,a,h);var f=t.node(h),p=f.borderTop?f.borderTop:h,g=f.borderBottom?f.borderBottom:h,m=f.borderTop?n:2*n,U=p!==g?1:i-a[s]+1;t.setEdge(l,p,{weight:m,minlen:U,nestingEdge:!0}),t.setEdge(g,u,{weight:m,minlen:U,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,l,{weight:0,minlen:i+a[s]})}function TYt(t){var e={};function r(n,i){var a=t.children(n);a&&a.length&&kt(a,function(s){r(s,i+1)}),e[n]=i}return kt(t.children(),function(n){r(n,1)}),e}function CYt(t){return BC(t.edges(),function(e,r){return e+t.edge(r).weight},0)}function SYt(t){var e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,kt(t.edges(),function(r){var n=t.edge(r);n.nestingEdge&&t.removeEdge(r)})}function kYt(t,e,r){var n={},i;kt(r,function(a){for(var s=t.parent(a),o,l;s;){if(o=t.parent(s),o?(l=n[o],n[o]=s):(l=i,i=s),l&&l!==s){e.setEdge(l,s);return}s=o}})}function EYt(t,e,r){var n=AYt(t),i=new rl({compound:!0}).setGraph({root:n}).setDefaultNodeLabel(function(a){return t.node(a)});return kt(t.nodes(),function(a){var s=t.node(a),o=t.parent(a);(s.rank===e||s.minRank<=e&&e<=s.maxRank)&&(i.setNode(a),i.setParent(a,o||n),kt(t[r](a),function(l){var u=l.v===a?l.w:l.v,d=i.edge(u,a),h=Za(d)?0:d.weight;i.setEdge(u,a,{weight:t.edge(l).weight+h})}),Object.prototype.hasOwnProperty.call(s,"minRank")&&i.setNode(a,{borderLeft:s.borderLeft[e],borderRight:s.borderRight[e]}))}),i}function AYt(t){for(var e;t.hasNode(e=DO("_root")););return e}function MYt(t,e){for(var r=0,n=1;n<e.length;++n)r+=RYt(t,e[n-1],e[n]);return r}function RYt(t,e,r){for(var n=Tst(r,us(r,function(u,d){return d})),i=$4(us(e,function(u){return y1(us(t.outEdges(u),function(d){return{pos:n[d.w],weight:t.edge(d).weight}}),"pos")})),a=1;a<r.length;)a<<=1;var s=2*a-1;a-=1;var o=us(new Array(s),function(){return 0}),l=0;return kt(i.forEach(function(u){var d=u.pos+a;o[d]+=u.weight;for(var h=0;d>0;)d%2&&(h+=o[d+1]),d=d-1>>1,o[d]+=u.weight;l+=u.weight*h})),l}function IYt(t){var e={},r=t0(t.nodes(),function(o){return!t.children(o).length}),n=Og(us(r,function(o){return t.node(o).rank})),i=us(vv(n+1),function(){return[]});function a(o){if(!M2(e,o)){e[o]=!0;var l=t.node(o);i[l.rank].push(o),kt(t.successors(o),a)}}var s=y1(r,function(o){return t.node(o).rank});return kt(s,a),i}function LYt(t,e){return us(e,function(r){var n=t.inEdges(r);if(n.length){var i=BC(n,function(a,s){var o=t.edge(s),l=t.node(s.v);return{sum:a.sum+o.weight*l.order,weight:a.weight+o.weight}},{sum:0,weight:0});return{v:r,barycenter:i.sum/i.weight,weight:i.weight}}else return{v:r}})}function NYt(t,e){var r={};kt(t,function(i,a){var s=r[i.v]={indegree:0,in:[],out:[],vs:[i.v],i:a};Za(i.barycenter)||(s.barycenter=i.barycenter,s.weight=i.weight)}),kt(e.edges(),function(i){var a=r[i.v],s=r[i.w];!Za(a)&&!Za(s)&&(s.indegree++,a.out.push(r[i.w]))});var n=t0(r,function(i){return!i.indegree});return OYt(n)}function OYt(t){var e=[];function r(a){return function(s){s.merged||(Za(s.barycenter)||Za(a.barycenter)||s.barycenter>=a.barycenter)&&DYt(a,s)}}function n(a){return function(s){s.in.push(a),--s.indegree===0&&t.push(s)}}for(;t.length;){var i=t.pop();e.push(i),kt(i.in.reverse(),r(i)),kt(i.out,n(i))}return us(t0(e,function(a){return!a.merged}),function(a){return bv(a,["vs","i","barycenter","weight"])})}function DYt(t,e){var r=0,n=0;t.weight&&(r+=t.barycenter*t.weight,n+=t.weight),e.weight&&(r+=e.barycenter*e.weight,n+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=r/n,t.weight=n,t.i=Math.min(e.i,t.i),e.merged=!0}function PYt(t,e){var r=eYt(t,function(d){return Object.prototype.hasOwnProperty.call(d,"barycenter")}),n=r.lhs,i=y1(r.rhs,function(d){return-d.i}),a=[],s=0,o=0,l=0;n.sort(_Yt(!!e)),l=xge(a,i,l),kt(n,function(d){l+=d.vs.length,a.push(d.vs),s+=d.barycenter*d.weight,o+=d.weight,l=xge(a,i,l)});var u={vs:$4(a)};return o&&(u.barycenter=s/o,u.weight=o),u}function xge(t,e,r){for(var n;e.length&&(n=wR(e)).i<=r;)e.pop(),t.push(n.vs),r++;return r}function _Yt(t){return function(e,r){return e.barycenter<r.barycenter?-1:e.barycenter>r.barycenter?1:t?r.i-e.i:e.i-r.i}}function wLe(t,e,r,n){var i=t.children(e),a=t.node(e),s=a?a.borderLeft:void 0,o=a?a.borderRight:void 0,l={};s&&(i=t0(i,function(g){return g!==s&&g!==o}));var u=LYt(t,i);kt(u,function(g){if(t.children(g.v).length){var m=wLe(t,g.v,r,n);l[g.v]=m,Object.prototype.hasOwnProperty.call(m,"barycenter")&&$Yt(g,m)}});var d=NYt(u,r);BYt(d,l);var h=PYt(d,n);if(s&&(h.vs=$4([s,h.vs,o]),t.predecessors(s).length)){var f=t.node(t.predecessors(s)[0]),p=t.node(t.predecessors(o)[0]);Object.prototype.hasOwnProperty.call(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+f.order+p.order)/(h.weight+2),h.weight+=2}return h}function BYt(t,e){kt(t,function(r){r.vs=$4(r.vs.map(function(n){return e[n]?e[n].vs:n}))})}function $Yt(t,e){Za(t.barycenter)?(t.barycenter=e.barycenter,t.weight=e.weight):(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight)}function FYt(t){var e=dLe(t),r=wge(t,vv(1,e+1),"inEdges"),n=wge(t,vv(e-1,-1,-1),"outEdges"),i=IYt(t);Tge(t,i);for(var a=Number.POSITIVE_INFINITY,s,o=0,l=0;l<4;++o,++l){zYt(o%2?r:n,o%4>=2),i=MP(t);var u=MYt(t,i);u<a&&(l=0,s=Fi(i),a=u)}Tge(t,s)}function wge(t,e,r){return us(e,function(n){return EYt(t,n,r)})}function zYt(t,e){var r=new rl;kt(t,function(n){var i=n.graph().root,a=wLe(n,i,r,e);kt(a.vs,function(s,o){n.node(s).order=o}),kYt(n,r,a.vs)})}function Tge(t,e){kt(e,function(r){kt(r,function(n,i){t.node(n).order=i})})}function HYt(t){var e=GYt(t);kt(t.graph().dummyChains,function(r){for(var n=t.node(r),i=n.edgeObj,a=VYt(t,e,i.v,i.w),s=a.path,o=a.lca,l=0,u=s[l],d=!0;r!==i.w;){if(n=t.node(r),d){for(;(u=s[l])!==o&&t.node(u).maxRank<n.rank;)l++;u===o&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(u=s[l+1]).minRank<=n.rank;)l++;u=s[l]}t.setParent(r,u),r=t.successors(r)[0]}})}function VYt(t,e,r,n){var i=[],a=[],s=Math.min(e[r].low,e[n].low),o=Math.max(e[r].lim,e[n].lim),l,u;l=r;do l=t.parent(l),i.push(l);while(l&&(e[l].low>s||o>e[l].lim));for(u=l,l=n;(l=t.parent(l))!==u;)a.push(l);return{path:i.concat(a.reverse()),lca:u}}function GYt(t){var e={},r=0;function n(i){var a=r;kt(t.children(i),n),e[i]={low:a,lim:r++}}return kt(t.children(),n),e}function WYt(t,e){var r={};function n(i,a){var s=0,o=0,l=i.length,u=wR(a);return kt(a,function(d,h){var f=jYt(t,d),p=f?t.node(f).order:l;(f||d===u)&&(kt(a.slice(o,h+1),function(g){kt(t.predecessors(g),function(m){var U=t.node(m),y=U.order;(y<s||p<y)&&!(U.dummy&&t.node(g).dummy)&&TLe(r,m,g)})}),o=h+1,s=p)}),a}return BC(e,n),r}function qYt(t,e){var r={};function n(a,s,o,l,u){var d;kt(vv(s,o),function(h){d=a[h],t.node(d).dummy&&kt(t.predecessors(d),function(f){var p=t.node(f);p.dummy&&(p.order<l||p.order>u)&&TLe(r,f,d)})})}function i(a,s){var o=-1,l,u=0;return kt(s,function(d,h){if(t.node(d).dummy==="border"){var f=t.predecessors(d);f.length&&(l=t.node(f[0]).order,n(s,u,h,o,l),u=h,o=l)}n(s,u,s.length,l,a.length)}),s}return BC(e,i),r}function jYt(t,e){if(t.node(e).dummy)return LZ(t.predecessors(e),function(r){return t.node(r).dummy})}function TLe(t,e,r){if(e>r){var n=e;e=r,r=n}Object.prototype.hasOwnProperty.call(t,e)||Object.defineProperty(t,e,{enumerable:!0,configurable:!0,value:{},writable:!0});var i=t[e];Object.defineProperty(i,r,{enumerable:!0,configurable:!0,value:!0,writable:!0})}function YYt(t,e,r){if(e>r){var n=e;e=r,r=n}return!!t[e]&&Object.prototype.hasOwnProperty.call(t[e],r)}function XYt(t,e,r,n){var i={},a={},s={};return kt(e,function(o){kt(o,function(l,u){i[l]=l,a[l]=l,s[l]=u})}),kt(e,function(o){var l=-1;kt(o,function(u){var d=n(u);if(d.length){d=y1(d,function(m){return s[m]});for(var h=(d.length-1)/2,f=Math.floor(h),p=Math.ceil(h);f<=p;++f){var g=d[f];a[u]===u&&l<s[g]&&!YYt(r,u,g)&&(a[g]=u,a[u]=i[u]=i[g],l=s[g])}}})}),{root:i,align:a}}function KYt(t,e,r,n,i){var a={},s=ZYt(t,e,r,i),o=i?"borderLeft":"borderRight";function l(h,f){for(var p=s.nodes(),g=p.pop(),m={};g;)m[g]?h(g):(m[g]=!0,p.push(g),p=p.concat(f(g))),g=p.pop()}function u(h){a[h]=s.inEdges(h).reduce(function(f,p){return Math.max(f,a[p.v]+s.edge(p))},0)}function d(h){var f=s.outEdges(h).reduce(function(g,m){return Math.min(g,a[m.w]-s.edge(m))},Number.POSITIVE_INFINITY),p=t.node(h);f!==Number.POSITIVE_INFINITY&&p.borderType!==o&&(a[h]=Math.max(a[h],f))}return l(u,s.predecessors.bind(s)),l(d,s.successors.bind(s)),kt(n,function(h){a[h]=a[r[h]]}),a}function ZYt(t,e,r,n){var i=new rl,a=t.graph(),s=rXt(a.nodesep,a.edgesep,n);return kt(e,function(o){var l;kt(o,function(u){var d=r[u];if(i.setNode(d),l){var h=r[l],f=i.edge(h,d);i.setEdge(h,d,Math.max(s(t,u,l),f||0))}l=u})}),i}function JYt(t,e){return OZ(g0(e),function(r){var n=Number.NEGATIVE_INFINITY,i=Number.POSITIVE_INFINITY;return Nat(r,function(a,s){var o=nXt(t,s)/2;n=Math.max(a+o,n),i=Math.min(a-o,i)}),n-i})}function QYt(t,e){var r=g0(e),n=Lw(r),i=Og(r);kt(["u","d"],function(a){kt(["l","r"],function(s){var o=a+s,l=t[o],u;if(l!==e){var d=g0(l);u=s==="l"?n-Lw(d):i-Og(d),u&&(t[o]=OO(l,function(h){return h+u}))}})})}function eXt(t,e){return OO(t.ul,function(r,n){if(e)return t[e.toLowerCase()][n];var i=y1(us(t,n));return(i[1]+i[2])/2})}function tXt(t){var e=MP(t),r=zi(WYt(t,e),qYt(t,e)),n={},i;kt(["u","d"],function(s){i=s==="u"?e:g0(e).reverse(),kt(["l","r"],function(o){o==="r"&&(i=us(i,function(h){return g0(h).reverse()}));var l=(s==="u"?t.predecessors:t.successors).bind(t),u=XYt(t,i,r,l),d=KYt(t,i,u.root,u.align,o==="r");o==="r"&&(d=OO(d,function(h){return-h})),n[s+o]=d})});var a=JYt(t,n);return QYt(n,a),eXt(n,t.graph().align)}function rXt(t,e,r){return function(n,i,a){var s=n.node(i),o=n.node(a),l=0,u;if(l+=s.width/2,Object.prototype.hasOwnProperty.call(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=r?u:-u),u=0,l+=(s.dummy?e:t)/2,l+=(o.dummy?e:t)/2,l+=o.width/2,Object.prototype.hasOwnProperty.call(o,"labelpos"))switch(o.labelpos.toLowerCase()){case"l":u=o.width/2;break;case"r":u=-o.width/2;break}return u&&(l+=r?u:-u),u=0,l}}function nXt(t,e){return t.node(e).width}function iXt(t){t=uLe(t),aXt(t),Oat(tXt(t),function(e,r){t.node(r).x=e})}function aXt(t){var e=MP(t),r=t.graph().ranksep,n=0;kt(e,function(i){var a=Og(us(i,function(s){return t.node(s).height}));kt(i,function(s){t.node(s).y=n+a/2}),n+=a+r})}function CLe(t,e){var r=tYt;r("layout",()=>{var n=r(" buildLayoutGraph",()=>mXt(t));r(" runLayout",()=>sXt(n,r)),r(" updateInputGraph",()=>oXt(t,n))})}function sXt(t,e){e(" makeSpaceForEdgeLabels",()=>UXt(t)),e(" removeSelfEdges",()=>kXt(t)),e(" acyclic",()=>Yjt(t)),e(" nestingGraph.run",()=>wYt(t)),e(" rank",()=>bYt(uLe(t))),e(" injectEdgeLabelProxies",()=>yXt(t)),e(" removeEmptyRanks",()=>Qjt(t)),e(" nestingGraph.cleanup",()=>SYt(t)),e(" normalizeRanks",()=>Jjt(t)),e(" assignRankMinMax",()=>bXt(t)),e(" removeEdgeLabelProxies",()=>vXt(t)),e(" normalize.run",()=>oYt(t)),e(" parentDummyChains",()=>HYt(t)),e(" addBorderSegments",()=>rYt(t)),e(" order",()=>FYt(t)),e(" insertSelfEdges",()=>EXt(t)),e(" adjustCoordinateSystem",()=>nYt(t)),e(" position",()=>iXt(t)),e(" positionSelfEdges",()=>AXt(t)),e(" removeBorderNodes",()=>SXt(t)),e(" normalize.undo",()=>cYt(t)),e(" fixupEdgeLabelCoords",()=>TXt(t)),e(" undoCoordinateSystem",()=>iYt(t)),e(" translateGraph",()=>xXt(t)),e(" assignNodeIntersects",()=>wXt(t)),e(" reversePoints",()=>CXt(t)),e(" acyclic.undo",()=>Kjt(t))}function oXt(t,e){kt(t.nodes(),function(r){var n=t.node(r),i=e.node(r);n&&(n.x=i.x,n.y=i.y,e.children(r).length&&(n.width=i.width,n.height=i.height))}),kt(t.edges(),function(r){var n=t.edge(r),i=e.edge(r);n.points=i.points,Object.prototype.hasOwnProperty.call(i,"x")&&(n.x=i.x,n.y=i.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var lXt=["nodesep","edgesep","ranksep","marginx","marginy"],cXt={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},uXt=["acyclicer","ranker","rankdir","align"],dXt=["width","height"],hXt={width:0,height:0},fXt=["minlen","weight","width","height","labeloffset"],pXt={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},gXt=["labelpos"];function mXt(t){var e=new rl({multigraph:!0,compound:!0}),r=ez(t.graph());return e.setGraph(zi({},cXt,QF(r,lXt),bv(r,uXt))),kt(t.nodes(),function(n){var i=ez(t.node(n));e.setNode(n,y6e(QF(i,dXt),hXt)),e.setParent(n,t.parent(n))}),kt(t.edges(),function(n){var i=ez(t.edge(n));e.setEdge(n,zi({},pXt,QF(i,fXt),bv(i,gXt)))}),e}function UXt(t){var e=t.graph();e.ranksep/=2,kt(t.edges(),function(r){var n=t.edge(r);n.minlen*=2,n.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?n.width+=n.labeloffset:n.height+=n.labeloffset)})}function yXt(t){kt(t.edges(),function(e){var r=t.edge(e);if(r.width&&r.height){var n=t.node(e.v),i=t.node(e.w),a={rank:(i.rank-n.rank)/2+n.rank,e};d3(t,"edge-proxy",a,"_ep")}})}function bXt(t){var e=0;kt(t.nodes(),function(r){var n=t.node(r);n.borderTop&&(n.minRank=t.node(n.borderTop).rank,n.maxRank=t.node(n.borderBottom).rank,e=Og(e,n.maxRank))}),t.graph().maxRank=e}function vXt(t){kt(t.nodes(),function(e){var r=t.node(e);r.dummy==="edge-proxy"&&(t.edge(r.e).labelRank=r.rank,t.removeNode(e))})}function xXt(t){var e=Number.POSITIVE_INFINITY,r=0,n=Number.POSITIVE_INFINITY,i=0,a=t.graph(),s=a.marginx||0,o=a.marginy||0;function l(u){var d=u.x,h=u.y,f=u.width,p=u.height;e=Math.min(e,d-f/2),r=Math.max(r,d+f/2),n=Math.min(n,h-p/2),i=Math.max(i,h+p/2)}kt(t.nodes(),function(u){l(t.node(u))}),kt(t.edges(),function(u){var d=t.edge(u);Object.prototype.hasOwnProperty.call(d,"x")&&l(d)}),e-=s,n-=o,kt(t.nodes(),function(u){var d=t.node(u);d.x-=e,d.y-=n}),kt(t.edges(),function(u){var d=t.edge(u);kt(d.points,function(h){h.x-=e,h.y-=n}),Object.prototype.hasOwnProperty.call(d,"x")&&(d.x-=e),Object.prototype.hasOwnProperty.call(d,"y")&&(d.y-=n)}),a.width=r-e+s,a.height=i-n+o}function wXt(t){kt(t.edges(),function(e){var r=t.edge(e),n=t.node(e.v),i=t.node(e.w),a,s;r.points?(a=r.points[0],s=r.points[r.points.length-1]):(r.points=[],a=i,s=n),r.points.unshift(gge(n,a)),r.points.push(gge(i,s))})}function TXt(t){kt(t.edges(),function(e){var r=t.edge(e);if(Object.prototype.hasOwnProperty.call(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function CXt(t){kt(t.edges(),function(e){var r=t.edge(e);r.reversed&&r.points.reverse()})}function SXt(t){kt(t.nodes(),function(e){if(t.children(e).length){var r=t.node(e),n=t.node(r.borderTop),i=t.node(r.borderBottom),a=t.node(wR(r.borderLeft)),s=t.node(wR(r.borderRight));r.width=Math.abs(s.x-a.x),r.height=Math.abs(i.y-n.y),r.x=a.x+r.width/2,r.y=n.y+r.height/2}}),kt(t.nodes(),function(e){t.node(e).dummy==="border"&&t.removeNode(e)})}function kXt(t){kt(t.edges(),function(e){if(e.v===e.w){var r=t.node(e.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function EXt(t){var e=MP(t);kt(e,function(r){var n=0;kt(r,function(i,a){var s=t.node(i);s.order=a+n,kt(s.selfEdges,function(o){d3(t,"selfedge",{width:o.label.width,height:o.label.height,rank:s.rank,order:a+ ++n,e:o.e,label:o.label},"_se")}),delete s.selfEdges})})}function AXt(t){kt(t.nodes(),function(e){var r=t.node(e);if(r.dummy==="selfedge"){var n=t.node(r.e.v),i=n.x+n.width/2,a=n.y,s=r.x-i,o=n.height/2;t.setEdge(r.e,r.label),t.removeNode(e),r.label.points=[{x:i+2*s/3,y:a-o},{x:i+5*s/6,y:a-o},{x:i+s,y:a},{x:i+5*s/6,y:a+o},{x:i+2*s/3,y:a+o}],r.label.x=r.x,r.label.y=r.y}})}function QF(t,e){return OO(bv(t,e),Number)}function ez(t){var e={};return kt(t,function(r,n){e[n.toLowerCase()]=r}),e}var Cge=x((t,e,r)=>Math.max(e,Math.min(r,t)),"clamp"),Sge=x((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),MXt=x(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram","shouldMergeSelfLoopSegments"),RXt=x((t,e,r,n,i)=>{const a=[],s=new Set;if(r.forEach(({start:d,end:h})=>{d!==n&&s.add(d),h!==n&&s.add(h)}),s.forEach(d=>{const h=t.node(d);typeof(h==null?void 0:h.x)=="number"&&typeof(h==null?void 0:h.y)=="number"&&a.push(h)}),a.length===0&&r.forEach(({edge:d})=>{(d.points??[]).forEach(h=>{typeof(h==null?void 0:h.x)=="number"&&typeof(h==null?void 0:h.y)=="number"&&a.push(h)})}),a.length===0)return Sge(i);const o=a.reduce((d,h)=>({x:d.x+h.x/a.length,y:d.y+h.y/a.length}),{x:0,y:0}),l=o.x-e.x,u=o.y-e.y;return Math.abs(l)>Math.abs(u)?l>0?"right":"left":Math.abs(u)>0?u>0?"bottom":"top":Sge(i)},"getSelfLoopSide"),IXt=x((t,e="top",r=0,n=0)=>{const i=t.x,a=t.y-r,s=t.width/2,o=t.height/2,l=Math.max(36,Math.min(100,t.width*.8)),u=Cge(Math.max(n,t.width*.35),36,l),d=Cge(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const h=a+o;return[{x:i-u/2,y:h},{x:i-u/2,y:h+d},{x:i+u/2,y:h+d},{x:i+u/2,y:h}]}case"right":{const h=i+s;return[{x:h,y:a-u/2},{x:h+d,y:a-u/2},{x:h+d,y:a+u/2},{x:h,y:a+u/2}]}case"left":{const h=i-s;return[{x:h,y:a-u/2},{x:h-d,y:a-u/2},{x:h-d,y:a+u/2},{x:h,y:a+u/2}]}case"top":default:{const h=a-o;return[{x:i-u/2,y:h},{x:i-u/2,y:h-d},{x:i+u/2,y:h-d},{x:i+u/2,y:h}]}}},"getSelfLoopPoints"),LXt=x((t,e,r="top",n=0,i={})=>{const s=t.x,o=t.y-n,l=i.width??0,u=i.height??0;switch(r){case"bottom":return{x:s,y:Math.max(...e.map(d=>d.y))+u/2+4};case"right":return{x:Math.max(...e.map(d=>d.x))+l/2+4,y:o};case"left":return{x:Math.min(...e.map(d=>d.x))-l/2-4,y:o};case"top":default:return{x:s,y:Math.min(...e.map(d=>d.y))-u/2-4}}},"getSelfLoopLabelPosition"),SLe=x((t,e=0,{mergeSelfLoops:r=!0}={})=>{var s;const n=new Map,i=[],a=(s=t.graph())==null?void 0:s.rankdir;return t.edges().forEach(o=>{const l=t.edge(o);if(r&&l.selfLoop){const u=l.selfLoop.id;n.has(u)||n.set(u,[]),n.get(u).push({edge:l,start:o.v,end:o.w})}else i.push({edge:l,start:o.v,end:o.w})}),n.forEach(o=>{if(o.length!==3){o.forEach(b=>i.push(b));return}o.sort((b,v)=>b.edge.selfLoop.order-v.edge.selfLoop.order);const[l,u,d]=o,h=l.edge.originalEdge??u.edge.originalEdge??d.edge.originalEdge??u.edge,f=t.node(h.start);if(!f){o.forEach(b=>i.push(b));return}const p={width:u.edge.width,height:u.edge.height},g=RXt(t,f,o,h.start,a),m=IXt(f,g,e,p.width??0),U=LXt(f,m,g,e,p),y={...u.edge,...h,id:h.id,points:m,start:h.start,end:h.end,x:U.x,y:U.y,width:p.width,height:p.height,labelStyle:u.edge.labelStyle,fromCluster:l.edge.fromCluster??u.edge.fromCluster??d.edge.fromCluster,toCluster:l.edge.toCluster??u.edge.toCluster??d.edge.toCluster};delete y.selfLoop,delete y.originalEdge,i.push({edge:y,start:y.start,end:y.end})}),i},"getEdgesToRender"),kLe=x(async(t,e,r,n,i,a)=>{he.warn("Graph in recursive render:XAX",k0(e),i);const s=e.graph().rankdir;he.trace("Dir in recursive render - dir:",s);const o=t.insert("g").attr("class","root");e.nodes()?he.info("Recursive render XXX",e.nodes()):he.info("No nodes found for",e),e.edges().length>0&&he.info("Recursive edges",e.edge(e.edges()[0]));const l=o.insert("g").attr("class","clusters"),u=o.insert("g").attr("class","edgePaths"),d=o.insert("g").attr("class","edgeLabels"),h=o.insert("g").attr("class","nodes"),f=MXt(r);await Promise.all(e.nodes().map(async function(b){const v=e.node(b);if(i!==void 0){const w=JSON.parse(JSON.stringify(i.clusterData));he.trace(`Setting data for parent cluster XXX
Node.id = `,b,`
data=`,w.height,`
Parent cluster`,i.height),e.setNode(i.id,w),e.parent(b)||(he.trace("Setting parent",b,i.id),e.setParent(b,i.id,w))}if(he.info("(Insert) Node XXX"+b+": "+JSON.stringify(e.node(b))),v!=null&&v.clusterNode){he.info("Cluster identified XBX",b,v.width,e.node(b));const{ranksep:w,nodesep:T}=e.graph();v.graph.setGraph({...v.graph.graph(),ranksep:w+25,nodesep:T});const S=await kLe(h,v.graph,r,n,e.node(b),a),C=S.elem;Tr(v,C),v.diff=S.diff||0,he.info("New compound node after recursive render XAX",b,"width",v.width,"height",v.height),Jwt(C,v)}else e.children(b).length>0?(he.trace("Cluster - the non recursive path XBX",b,v.id,v,v.width,"Graph:",e),he.trace(c4(v.id,e)),hn.set(v.id,{id:c4(v.id,e),node:v})):(he.trace("Node - the non recursive path XAX",b,h,e.node(b),s),await hS(h,e.node(b),{config:a,dir:s}))})),await x(async()=>{const b=e.edges().map(async function(v){const w=e.edge(v.v,v.w,v.name);if(he.info("Edge "+v.v+" -> "+v.w+": "+JSON.stringify(v)),he.info("Edge "+v.v+" -> "+v.w+": ",v," ",JSON.stringify(e.edge(v))),he.info("Fix",hn,"ids:",v.v,v.w,"Translating: ",hn.get(v.v),hn.get(v.w)),f&&w.selfLoop){if(w.selfLoop.order!==1)return;const T=w.id;w.id=w.selfLoop.id,await II(d,w),w.id=T;return}await II(d,w)});await Promise.all(b)},"processEdges")(),he.info("Graph before layout:",JSON.stringify(k0(e))),he.info("############################################# XXX"),he.info("### Layout ### XXX"),he.info("############################################# XXX"),CLe(e),he.info("Graph after layout:",JSON.stringify(k0(e)));let g=0,{subGraphTitleTotalMargin:m}=K4(a);await Promise.all(Fjt(e).map(async function(b){var w;const v=e.node(b);if(he.info("Position XBX => "+b+": ("+v.x,","+v.y,") width: ",v.width," height: ",v.height),v!=null&&v.clusterNode)v.y+=m,he.info("A tainted cluster node XBX1",b,v.id,v.width,v.height,v.x,v.y,e.parent(b)),hn.get(v.id).node=v,RI(v);else if(e.children(b).length>0){he.info("A pure cluster node XBX1",b,v.id,v.x,v.y,v.width,v.height,e.parent(b)),v.height+=m,e.node(v.parentId);const T=(v==null?void 0:v.padding)/2||0,S=((w=v==null?void 0:v.labelBBox)==null?void 0:w.height)||0,C=S-T||0;he.debug("OffsetY",C,"labelHeight",S,"halfPadding",T),await RD(l,v),hn.get(v.id).node=v}else{const T=e.node(v.parentId);v.y+=m/2,he.info("A regular node XBX1 - using the padding",v.id,"parent",v.parentId,v.width,v.height,v.x,v.y,"offsetY",v.offsetY,"parent",T,T==null?void 0:T.offsetY,v),RI(v)}}));const U=m/2;return SLe(e,U,{mergeSelfLoops:f}).forEach(function({edge:b,start:v,end:w}){he.info("Edge "+v+" -> "+w+": "+JSON.stringify(b),b),b.points.forEach(k=>k.y+=U);const T=e.node(v),S=e.node(w),C=XQ(u,b,hn,r,T,S,n);ySe(b,C)}),e.nodes().forEach(function(b){const v=e.node(b);he.info(b,v.type,v.diff),v.isGroup&&(g=v.diff)}),he.warn("Returning from recursive render XAX",o,g),{elem:o,diff:g}},"recursiveRender"),NXt=x(async(t,e)=>{var a,s,o,l,u,d;const r=new rl({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:((a=t.config)==null?void 0:a.nodeSpacing)||((o=(s=t.config)==null?void 0:s.flowchart)==null?void 0:o.nodeSpacing)||t.nodeSpacing,ranksep:((l=t.config)==null?void 0:l.rankSpacing)||((d=(u=t.config)==null?void 0:u.flowchart)==null?void 0:d.rankSpacing)||t.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),n=e.select("g");KQ(n,t.markers,t.type,t.diagramId),gSe(),USe(),YTe(),aLe(),t.nodes.forEach(h=>{r.setNode(h.id,{...h}),h.parentId&&r.setParent(h.id,h.parentId)}),he.debug("Edges:",t.edges),t.edges.forEach(h=>{if(h.start===h.end){const f=h.start,p=f+"---"+f+"---1",g=f+"---"+f+"---2",m=r.node(f);r.setNode(p,{domId:p,id:p,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),r.setParent(p,m.parentId),r.setNode(g,{domId:g,id:g,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),r.setParent(g,m.parentId);const U=structuredClone(h),y=structuredClone(h),b=structuredClone(h),v=structuredClone(h);y.originalEdge=U,y.selfLoop={id:U.id,order:0},b.originalEdge=U,b.selfLoop={id:U.id,order:1},v.originalEdge=U,v.selfLoop={id:U.id,order:2},y.label="",y.arrowTypeEnd="none",y.endLabelLeft="",y.endLabelRight="",y.startLabelLeft="",y.id=f+"-cyclic-special-1",b.startLabelRight="",b.startLabelLeft="",b.endLabelLeft="",b.endLabelRight="",b.arrowTypeStart="none",b.arrowTypeEnd="none",b.id=f+"-cyclic-special-mid",v.label="",v.startLabelRight="",v.startLabelLeft="",v.arrowTypeStart="none",m.isGroup&&(y.fromCluster=f,v.toCluster=f),v.id=f+"-cyclic-special-2",v.arrowTypeStart="none",r.setEdge(f,p,y,f+"-cyclic-special-0"),r.setEdge(p,g,b,f+"-cyclic-special-1"),r.setEdge(g,f,v,f+"-cyclic-special-2")}else r.setEdge(h.start,h.end,{...h},h.id)}),he.warn("Graph at first:",JSON.stringify(k0(r))),$jt(r),he.warn("Graph after XAX:",JSON.stringify(k0(r)));const i=Ve();await kLe(n,r,t.type,t.diagramId,void 0,i)},"render");const OXt=Object.freeze(Object.defineProperty({__proto__:null,getEdgesToRender:SLe,render:NXt},Symbol.toStringTag,{value:"Module"}));async function ELe(t,e){const r=new rl({multigraph:!0,compound:!0}),n=[...e.edges],i=Ve(),a=t.insert("g").attr("class","root"),s=a.insert("g").attr("class","clusters"),o=a.insert("g").attr("class","edges edgePath"),l=a.insert("g").attr("class","edgeLabels"),u=a.insert("g").attr("class","nodes"),d=new Map,h=t.node()!=null;await Promise.all(e.nodes.map(async f=>{var p;if(f.isGroup)r.setNode(f.id,{...f});else{if(h){const g=await hS(u,f,{config:i,dir:f.dir}),m=((p=g.node())==null?void 0:p.getBBox())??{width:0,height:0};d.set(f.id,g),f.width=m.width,f.height=m.height}r.setNode(f.id,{...f})}}));for(const f of n)r.setEdge(f.start,f.end,{...f},f.id),e.edges.some(g=>g.id===f.id)||e.edges.push(f);if(globalThis.mermaidCaptureSizes){const{captureNodeSizes:f}=await Mr(async()=>{const{captureNodeSizes:p}=await Promise.resolve().then(()=>Pxr);return{captureNodeSizes:p}},void 0,import.meta.url);f(t,e)}return{graph:r,groups:{clusters:s,edgePaths:o,edgeLabels:l,nodes:u,rootGroups:a},nodeElements:d}}x(ELe,"createGraphWithElements");var kge=5,LE=1e-5,NE=1e-6;function HL(t){const e=[];for(let r=0;r<t.length-1;r++)e.push({a:t[r],b:t[r+1]});return e}x(HL,"buildSegmentList");function ALe(t,e,r,n){const i=e.x-t.x,a=e.y-t.y,s=n.x-r.x,o=n.y-r.y,l=i*o-a*s;if(l===0)return null;const u=r.x-t.x,d=r.y-t.y,h=(u*o-d*s)/l,f=(u*a-d*i)/l;return h<=NE||h>=1-NE||f<=NE||f>=1-NE?null:{point:{x:t.x+h*i,y:t.y+h*a},tA:h,tB:f}}x(ALe,"segmentIntersection");function pj(t){return Math.abs(t.b.x-t.a.x)>=Math.abs(t.b.y-t.a.y)}x(pj,"isHorizontalSeg");function MLe(t){const e=[];for(let r=0;r<t.length;r++){const n=t[r],i=HL(n.points);for(let a=r+1;a<t.length;a++){const s=t[a],o=HL(s.points);for(const[l,u]of i.entries())for(const[d,h]of o.entries()){const f=ALe(u.a,u.b,h.a,h.b);if(!f)continue;const p=pj(u),g=pj(h);(p!==g?p:!1)?e.push({jumpEdgeId:n.id,otherEdgeId:s.id,segIndex:l,t:f.tA,point:f.point}):e.push({jumpEdgeId:s.id,otherEdgeId:n.id,segIndex:d,t:f.tB,point:f.point})}}}return e}x(MLe,"findEdgeIntersections");function gd(t){const e=Math.round(t*1e3)/1e3;return Number.isInteger(e)?`${e}`:`${e}`}x(gd,"fmt");function yb(t){return`${gd(t.x)},${gd(t.y)}`}x(yb,"pointToString");function RLe(t){const e=t.b.x-t.a.x,r=t.b.y-t.a.y;return Math.abs(e)>=Math.abs(r)?e>=0?1:0:r>=0?1:0}x(RLe,"getArcSweepFlag");var DXt=.001;function ILe(t,e){if(t.length<2)return t.map(a=>({...a}));const r=t.map(a=>({...a})),n=e.arrowTypeStart&&Gs[e.arrowTypeStart];if(n){const a=t[0],s=t[1],o=Math.atan2(s.y-a.y,s.x-a.x);r[0].x=a.x+n*Math.cos(o),r[0].y=a.y+n*Math.sin(o)}const i=e.arrowTypeEnd&&Gs[e.arrowTypeEnd];if(i){const a=t.length,s=t[a-2],o=t[a-1],l=Math.atan2(o.y-s.y,o.x-s.x);r[a-1].x=o.x-i*Math.cos(l),r[a-1].y=o.y-i*Math.sin(l)}return r}x(ILe,"applyMarkerOffsets");function LLe(t,e,r,n,i){const a=t.point.x,s=t.point.y,o={x:a-e*t.r,y:s-r*t.r},l={x:a+e*t.r,y:s+r*t.r},u=[`L${yb(o)}`];return i==="arc"?u.push(`A${gd(t.r)},${gd(t.r)} 0 0 ${n} ${yb(l)}`):u.push(`M${yb(l)}`),u}x(LLe,"emitJump");function gj(t,e,r,n){const i=e.x-t.x,a=e.y-t.y,s=r.x-e.x,o=r.y-e.y,l=Math.hypot(i,a),u=Math.hypot(s,o);if(l<LE||u<LE)return null;const d=i/l,h=a/l,f=s/u,p=o/u,g=d*f+h*p,m=Math.max(-1,Math.min(1,g)),U=Math.acos(m);if(U<LE||Math.abs(Math.PI-U)<LE)return null;const y=Math.min(n/Math.sin(U/2),l/2,u/2);return{startX:e.x-d*y,startY:e.y-h*y,endX:e.x+f*y,endY:e.y+p*y,ctrlX:e.x,ctrlY:e.y,cutLen:y}}x(gj,"computeRoundedCorner");function NLe(t,e,r){const n=t.points;if(n.length<2)return"";const i=ILe(n,t),a=t.curve==="rounded",s=HL(i),o=new Map;for(const u of e){const d=s[u.segIndex];if(!d)continue;const h=Math.hypot(d.b.x-d.a.x,d.b.y-d.a.y),f=o.get(u.segIndex)??[];f.push({t:u.t,point:u.point,d:u.t*h,r:r.jumpRadius}),o.set(u.segIndex,f)}const l=[`M${yb(i[0])}`];for(let u=0;u<s.length;u++){const d=s[u],h=Math.hypot(d.b.x-d.a.x,d.b.y-d.a.y),f=h===0?0:(d.b.x-d.a.x)/h,p=h===0?0:(d.b.y-d.a.y)/h,g=RLe(d);let m=0;if(a&&u>0){const v=gj(i[u-1],i[u],i[u+1]??i[u],kge);v&&(m=v.cutLen)}let U=h,y=null;a&&u<s.length-1&&(y=gj(i[u],i[u+1],i[u+2]??i[u+1],kge),y&&(U=h-y.cutLen));const b=[...o.get(u)??[]].sort((v,w)=>v.t-w.t);for(const v of b)v.r=Math.min(v.r,v.d-m,U-v.d);for(let v=0;v<b.length-1;v++){const w=b[v+1].d-b[v].d;if(b[v].r+b[v+1].r>w){const T=w/2;b[v].r=Math.min(b[v].r,T),b[v+1].r=Math.min(b[v+1].r,T)}}for(const v of b)v.r<DXt||l.push(...LLe(v,f,p,g,r.jumpStyle));a&&y?(l.push(`L${gd(y.startX)},${gd(y.startY)}`),l.push(`Q${gd(y.ctrlX)},${gd(y.ctrlY)} ${gd(y.endX)},${gd(y.endY)}`)):l.push(`L${yb(d.b)}`)}return l.join(" ")}x(NLe,"rewriteEdgePath");function OLe(t){return/^[\d\s+,.LMelm-]*$/.test(t)}x(OLe,"isStraightPath");function DLe(t){return t?t==="linear"||t==="rounded"||t==="step"||t==="stepBefore"||t==="stepAfter":!0}x(DLe,"curveSupportsLineHops");function PLe(t){if(!t)return null;try{const e=typeof atob=="function"?atob(t):Buffer.from(t,"base64").toString(),r=JSON.parse(e);if(!Array.isArray(r))return null;const n=[];for(const i of r)i&&typeof i.x=="number"&&typeof i.y=="number"&&n.push({x:i.x,y:i.y});return n.length>=2?n:null}catch{return null}}x(PLe,"decodeDataPoints");function _Le(t,e,r){if(!r.enabled)return;const n=t.node();if(!n)return;const i=new Map;for(const u of e)i.set(u.id,u);const a=[],s=new Map;for(const u of e){const d=typeof CSS<"u"&&CSS.escape?CSS.escape(u.id):u.id,h=n.querySelector(`path[data-id="${d}"]`);if(!h)continue;s.set(u.id,h);const p=PLe(h.getAttribute("data-points"))??u.points;a.push({...u,points:p})}const o=MLe(a);if(o.length===0)return;const l=new Map;for(const u of o){const d=l.get(u.jumpEdgeId)??[];d.push(u),l.set(u.jumpEdgeId,d)}for(const u of a){const d=l.get(u.id);if(!d||d.length===0)continue;const h=i.get(u.id),f=h==null?void 0:h.curve;if(f!==void 0&&!DLe(f))continue;const p=s.get(u.id);if(!p)continue;if(f===void 0){const v=p.getAttribute("d")??"";if(!OLe(v))continue}const g=p.getAttribute("style")??"",m=/stroke-dasharray\s*:\s*0\s+([\d.]+)\s+[\d.]+\s+([\d.]+)/.exec(g),U=m?Number.parseFloat(m[1]):null,y=m?Number.parseFloat(m[2]):null,b=NLe(u,d,r);if(p.setAttribute("d",b),U!==null&&y!==null&&typeof p.getTotalLength=="function"){const v=p.getTotalLength(),w=Math.max(0,v-U-y),T=`0 ${U} ${w} ${y}`,S=g.replace(/stroke-dasharray\s*:[^;]*;?/g,`stroke-dasharray: ${T};`).replace(/;\s*;+/g,";");p.setAttribute("style",S)}}}x(_Le,"applyLineJumpsToSvg");async function BLe(t,e){var i,a;for(const s of t.nodes)s.isGroup?await RD(e.clusters,s):RI(s);const r=new Map;for(const s of t.nodes)s!=null&&s.id&&r.set(s.id,s);for(const s of t.edges){const o=s.start?r.get(s.start)??{}:{},l=s.end?r.get(s.end)??{}:{},u=XQ(e.edgePaths,{...s},{},t.type,o,l,t.diagramId);s.label&&await II(e.rootGroups,s),s.label&&$Le(s,u)}const n=(a=(i=t.config)==null?void 0:i.swimlane)==null?void 0:a.lineHops;if(n!==!1){const s=n==="gap"?"gap":"arc",o=t.edges.filter(l=>Array.isArray(l.points)&&l.points.length>=2).map(l=>({id:l.id,points:l.points,curve:l.curve,arrowTypeStart:l.arrowTypeStart,arrowTypeEnd:l.arrowTypeEnd}));_Le(e.edgePaths,o,{enabled:!0,jumpRadius:6,jumpStyle:s})}}x(BLe,"adjustLayout");function $Le(t,e){const r=(e==null?void 0:e.updatedPath)??(e==null?void 0:e.originalPath),n=xr(),{subGraphTitleTotalMargin:i}=K4({flowchart:n.flowchart??{}});if(t.label){const a=TT.get(t.id);let s=t.x,o=t.y;if(r){const l=Kr.calcLabelPosition(r);he.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t!=null&&t.startLabelLeft){const a=Ya.get(t.id).startLeft;let s=t==null?void 0:t.x,o=t==null?void 0:t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Ya.get(t.id).startRight;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Ya.get(t.id).endLeft;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Ya.get(t.id).endRight;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}}x($Le,"positionEdgeLabel");var tz="__swimlane_default__",PXt=21,Ege=20;function mj(t){return Math.max(t.padding??Ege,Ege)}x(mj,"topLaneHorizontalPadding");function FLe(t){const{x:e,y:r,width:n,height:i}=t,a=t.swimlaneContentTop;if(typeof e!="number"||typeof r!="number"||typeof n!="number"||typeof i!="number"||typeof a!="number"||!Number.isFinite(e)||!Number.isFinite(r)||!Number.isFinite(n)||!Number.isFinite(i)||!Number.isFinite(a)||n<=0||i<=0){delete t.groupTitleRect;return}const s=r-i/2,o=Math.min(a,r+i/2),l=Math.min(PXt,Math.max(0,o-s)),u=s+l;if(u<=s){delete t.groupTitleRect;return}t.groupTitleRect={left:e-n/2,right:e+n/2,top:s,bottom:u}}x(FLe,"assignTopLaneTitleRect");function zLe(t){const e=t.direction,r=t.nodes??(t.nodes=[]);for(const a of t.nodes??[])a.isGroup&&!a.parentId&&(a.shape="swimlane",e&&(a.direction=e));const n=r.filter(a=>!a.isGroup&&!a.parentId);if(n.length===0)return;let i=r.find(a=>a.id===tz);i?i.isGroup&&(i.shape="swimlane",e&&(i.direction=e)):(i={id:tz,label:"",isGroup:!0,shape:"swimlane",padding:20,...e?{direction:e}:{}},r.push(i));for(const a of n)a.parentId=tz}x(zLe,"prepareLayoutForSwimlanes");function HLe(t){const e=new Map;for(const l of t.nodes??[])e.set(l.id,l);const r=[];for(const l of t.edges??[]){const u=typeof l.start=="string"?l.start:void 0,d=typeof l.end=="string"?l.end:void 0;!u||!d||l.labelNodeId||r.push({id:l.id,src:u,dst:d,ref:l})}const n=t.nodes??[],i=n.filter(l=>l.isGroup),a=n.filter(l=>!l.isGroup);return{nodes:[...[...i].reverse(),...a].map(l=>l.id),edges:r,layout:t,nodeById:e}}x(HLe,"toGraphView");function VLe(t,e,r,n){const{layout:i}=t,a=t.nodeById,s=(n==null?void 0:n.layerGap)??100,o=(n==null?void 0:n.nodeGap)??40;let l=0;for(const f of e.layers){let p=0;for(const g of f){const m=a.get(g);if(!m){p++;continue}m.layer=l,m.order=p;const U=r.x[g]??p*o,y=r.y[g]??l*s;m.x=U,m.y=y,p++}l++}const u=i.nodes??[],d=new Map,h=[];for(const f of u){if(!(f!=null&&f.isGroup))continue;f.parentId||h.push(f);const p=u.filter(b=>b.parentId===f.id);let g=1/0,m=-1/0,U=1/0,y=-1/0;for(const b of p){const v=b.x??r.x[b.id],w=b.y??r.y[b.id],T=b.width??0,S=b.height??0;v!=null&&w!=null&&(g=Math.min(g,v-T/2),m=Math.max(m,v+T/2),U=Math.min(U,w-S/2),y=Math.max(y,w+S/2))}if(g===1/0||U===1/0)f.x=f.x??0,f.y=f.y??0,f.width=f.width??0,f.height=f.height??0;else{const b=f.padding??20,v=f.parentId?b:2*mj(f),w=b,T=Math.max(0,m-g)+v,S=Math.max(0,y-U)+w,C=(g+m)/2,k=(U+y)/2;f.x=C,f.y=k,f.width=T,f.height=S,d.set(f.id,{minX:g,maxX:m,minY:U,maxY:y})}}if(h.length>0&&d.size>0){let f=1/0,p=-1/0,g=0;for(const m of h){const U=m.padding??20;U>g&&(g=U);const y=d.get(m.id);y&&(f=Math.min(f,y.minY),p=Math.max(p,y.maxY))}if(f!==1/0&&p!==-1/0){const m=Math.max(0,p-f),y=Math.max(g,36),b=m+2*y,v=(f+p)/2;for(const E of h)E.y=v,E.height=b,E.swimlaneContentTop=f;const w=[...h].sort((E,A)=>{const M=E.x??0,P=A.x??0;return M-P}),T=[],S=[],C=[];for(const E of w){const A=d.get(E.id);if(!A)continue;const M=Math.max(0,A.maxX-A.minX)+2*mj(E),P=(A.minX+A.maxX)/2;T.push(E.id),S.push(P),C.push(M)}const k=T.length;if(k>0){const E=new Map;if(k===1)E.set(T[0],C[0]);else{const A=[];for(let L=0;L<k-1;L++)A.push(S[L+1]-S[L]);const M=new Array(k);M[0]=0;for(let L=0;L<k-1;L++)M[L+1]=2*A[L]-M[L];let P=0,N=Number.POSITIVE_INFINITY;for(let L=0;L<k;L++){const _=C[L];L%2===0?P=Math.max(P,_-M[L]):N=Math.min(N,M[L]-_)}let I=P;P<=N?I=(P+N)/2:I=P;for(let L=0;L<k;L++){const _=M[L]+(L%2===0?I:-I),D=Math.max(C[L],_);E.set(T[L],D)}}for(const A of h){const M=E.get(A.id);M!=null&&(A.width=M),FLe(A)}}}}}x(VLe,"writeBackToLayoutData");var _Xt="[EdgeLabelNodes]";function GLe(t){const e=[],r=[],n=new Map;for(const s of t.nodes)n.set(s.id,s);for(const s of t.edges){if(!s.label||s.label.length===0||s.isLayoutOnly||s.labelNodeId)continue;const o=s.start?n.get(s.start):void 0,l=s.end?n.get(s.end):void 0;if(!o||!l){he.warn(_Xt,`Edge ${s.id} has missing source or target node`);continue}const u=`edge-label-${s.start}-${s.end}-${s.id}`,h=o.parentId!==l.parentId?l.parentId:o.parentId,f={id:u,label:s.label,edgeStart:s.start??"",edgeEnd:s.end??"",shape:"labelRect",width:0,height:0,isEdgeLabel:!0,isDummy:!0,parentId:h,isGroup:!1,labelStyle:Array.isArray(s.labelStyle)?s.labelStyle[0]:s.labelStyle??"",...o.dir?{dir:o.dir}:{}};e.push(f),s.labelNodeId=u,s.label=void 0,s.text=void 0;const p={id:`${s.id}-to-label`,start:s.start,end:u,type:"normal",isLayoutOnly:!0},g={id:`${s.id}-from-label`,start:u,end:s.end,type:"normal",isLayoutOnly:!0};r.push(p,g)}const i=[...t.nodes,...e],a=[...t.edges,...r];return{...t,nodes:i,edges:a}}x(GLe,"createEdgeLabelNodes");var oo=.001;function jte(t){const e=t.x??0,r=t.y??0,n=t.width??0,i=t.height??0;return n>0&&i>0?{cx:e,cy:r,rect:bb(e,r,n,i)}:void 0}x(jte,"measuredNodeRect");function Yte(t){if(t.isGroup)return;const e=jte(t);return e?{id:String(t.id??""),cx:e.cx,cy:e.cy,rect:e.rect}:void 0}x(Yte,"nodeBoundsInfoFor");function qu(t,e,r=oo){return Math.abs(t.x-e.x)<r&&Math.abs(t.y-e.y)<r}x(qu,"samePoint");function $n(t,e,r=oo){return Math.abs(t.x-e.x)<r}x($n,"sameX");function Hn(t,e,r=oo){return Math.abs(t.y-e.y)<r}x(Hn,"sameY");function _a(t,e,r=oo){return Hn(t,e,r)&&Math.abs(t.x-e.x)>r}x(_a,"isHorizontalSegment");function Ba(t,e,r=oo){return $n(t,e,r)&&Math.abs(t.y-e.y)>r}x(Ba,"isVerticalSegment");function Vl(t,e,r,n){return Math.max(0,Math.min(Math.max(t,e),Math.max(r,n))-Math.max(Math.min(t,e),Math.min(r,n)))}x(Vl,"overlapLength");function zh(t,e,r=oo){return t.horizontal&&e.horizontal&&Hn(t.a,e.a,r)?Vl(t.a.x,t.b.x,e.a.x,e.b.x):t.vertical&&e.vertical&&$n(t.a,e.a,r)?Vl(t.a.y,t.b.y,e.a.y,e.b.y):0}x(zh,"sameAxisSegmentOverlapLength");function u4(t,e=oo){const r=[];for(let n=0;n<t.length-1;n++){const i=t[n],a=t[n+1],s=_a(i,a,e),o=Ba(i,a,e);(s||o)&&r.push({index:n,a:i,b:a,horizontal:s,vertical:o})}return r}x(u4,"orthogonalSegmentsForPoints");function zc(t,e=oo){const r=u4(t,e);let n=0;for(let i=1;i<r.length;i++)r[i-1].horizontal!==r[i].horizontal&&n++;return n}x(zc,"countOrthogonalBends");function Qn(t,e=oo){const r=[];for(const n of t){const i=r.length>0?r[r.length-1]:void 0;(!i||!qu(i,n,e))&&r.push({x:n.x,y:n.y})}return r}x(Qn,"dedupeConsecutivePoints");function Xte(t,e=oo){if(!t||t.length!==4)return;const[r,n,i,a]=t;return _a(r,n,e)&&Ba(n,i,e)&&_a(i,a,e)?{kind:"HVH",p0:r,p1:n,p2:i,p3:a}:Ba(r,n,e)&&_a(n,i,e)&&Ba(i,a,e)?{kind:"VHV",p0:r,p1:n,p2:i,p3:a}:void 0}x(Xte,"classifyThreeSegmentRoute");function RP(t,e,r,n=0){const i=Math.min(t.x,e.x),a=Math.max(t.x,e.x),s=Math.min(t.y,e.y),o=Math.max(t.y,e.y);return a>r.left-n&&i<r.right+n&&o>r.top-n&&s<r.bottom+n}x(RP,"segmentBoundsOverlapRect");function Kte(t,e,r=0){return t.x>e.left+r&&t.x<e.right-r&&t.y>e.top+r&&t.y<e.bottom-r}x(Kte,"pointInsideRect");function WLe(t,e){return t.left<=e.left&&t.right>=e.right&&t.top<=e.top&&t.bottom>=e.bottom}x(WLe,"rectContainsRect");function VL(t,e){return t.left<e.right&&t.right>e.left&&t.top<e.bottom&&t.bottom>e.top}x(VL,"rectsOverlap");function Uj(t,e){return{left:t.left-e,right:t.right+e,top:t.top-e,bottom:t.bottom+e}}x(Uj,"inflateRect");function bb(t,e,r,n){return{left:t-r/2,right:t+r/2,top:e-n/2,bottom:e+n/2}}x(bb,"rectFromCenterSize");function Sc(t){var e;return(e=jte(t))==null?void 0:e.rect}x(Sc,"rectOfNodeBounds");function gU(t,e){switch(e){case"top":return{x:t.cx,y:t.rect.top};case"bottom":return{x:t.cx,y:t.rect.bottom};case"left":return{x:t.rect.left,y:t.cy};case"right":return{x:t.rect.right,y:t.cy}}}x(gU,"portForRectSide");function Zte(t,e,r,n,i,a=oo){const s=e==="left"||e==="right",o=n==="left"||n==="right";if(s&&o){if(e==="right"&&n==="left"&&t.x<r.x||e==="left"&&n==="right"&&t.x>r.x){if(Hn(t,r,a))return[t,r];const h=(t.x+r.x)/2;return[t,{x:h,y:t.y},{x:h,y:r.y},r]}if(e===n){if(Hn(t,r,a))return;const h=e==="left"?Math.min(t.x,r.x)-i:Math.max(t.x,r.x)+i;return[t,{x:h,y:t.y},{x:h,y:r.y},r]}return}if(!s&&!o){if(e===n){if($n(t,r,a))return;const f=e==="top"?Math.min(t.y,r.y)-i:Math.max(t.y,r.y)+i;return[t,{x:t.x,y:f},{x:r.x,y:f},r]}if(!(e==="bottom"&&n==="top"&&t.y<r.y||e==="top"&&n==="bottom"&&t.y>r.y))return;if($n(t,r,a))return[t,r];const h=(t.y+r.y)/2;return[t,{x:t.x,y:h},{x:r.x,y:h},r]}if(s&&!o){const d=e==="right"&&r.x>t.x||e==="left"&&r.x<t.x,h=n==="top"&&t.y<r.y||n==="bottom"&&t.y>r.y;return d&&h?[t,{x:r.x,y:t.y},r]:void 0}const l=e==="bottom"&&r.y>t.y||e==="top"&&r.y<t.y,u=n==="left"&&t.x<r.x||n==="right"&&t.x>r.x;return l&&u?[t,{x:t.x,y:r.y},r]:void 0}x(Zte,"buildOrthogonalPortPath");function Jte(t,e,r,n){return e==="left"||e==="right"?[t,{x:n,y:t.y},{x:n,y:r.y},r]:[t,{x:t.x,y:n},{x:r.x,y:n},r]}x(Jte,"buildSameSideTrackPath");function IP(t){const e=new Map,r=[];for(const n of t){if(n.isEdgeLabel)continue;const i=Yte(n);i&&(e.set(i.id,i),r.push({id:i.id,rect:i.rect}))}return{nodeInfoById:e,realNodeRects:r}}x(IP,"collectRealNodeBounds");function M1(t){const e=[],r=[];for(const n of t){const i=Yte(n);if(!i)continue;const a={id:i.id,rect:i.rect};n.isEdgeLabel?r.push(a):e.push(a)}return{realNodeRects:e,labelNodeRects:r}}x(M1,"collectNodeRectEntries");function qLe(t,{includeEdgeLabels:e=!0}={}){const r=[];for(const n of t){if(n.isGroup||!e&&n.isEdgeLabel)continue;const i=n.x??0,a=n.y??0,s=n.width??0,o=n.height??0;r.push({nodeId:n.id,...bb(i,a,s,o)})}return r}x(qLe,"collectLayoutNodeRects");function Qte(t,e,r=oo){const n=t.start,i=t.end;if(!n||!i)return;const a=e.get(n),s=e.get(i);if(!(!a||!s))return{srcId:n,dstId:i,srcInfo:a,dstInfo:s,collinearX:Math.abs(a.cx-s.cx)<r,collinearY:Math.abs(a.cy-s.cy)<r}}x(Qte,"getNodePairGeometry");function Qa(t,e,r,n=[],i=0){for(const a of r)if(!n.includes(a.id)&&RP(t,e,a.rect,-i))return!0;return!1}x(Qa,"segmentHitsAnyRect");function ere(t,e,r,n,i=oo,a=1e-6){const s=Hn(t,e,i),o=$n(t,e,i),l=Hn(r,n,i),u=$n(r,n,i);if(s&&l||o&&u||!(s||o)||!(l||u))return!1;const d=s?{a:t,b:e}:{a:r,b:n},h=o?{a:t,b:e}:{a:r,b:n},f=d.a.y,p=Math.min(d.a.x,d.b.x),g=Math.max(d.a.x,d.b.x),m=h.a.x,U=Math.min(h.a.y,h.b.y),y=Math.max(h.a.y,h.b.y);if(m<p||m>g||f<U||f>y)return!1;const b=Math.abs(m-d.a.x)<a&&Math.abs(f-d.a.y)<a||Math.abs(m-d.b.x)<a&&Math.abs(f-d.b.y)<a,v=Math.abs(m-h.a.x)<a&&Math.abs(f-h.a.y)<a||Math.abs(m-h.b.x)<a&&Math.abs(f-h.b.y)<a;return!(b&&v)}x(ere,"orthogonalSegmentsCross");function jLe(t,e,r,n,i=oo){const a=Hn(t,e,i),s=$n(t,e,i),o=Hn(r,n,i),l=$n(r,n,i);return s&&l&&$n(t,r,i)?Vl(t.y,e.y,r.y,n.y)>i:a&&o&&Hn(t,r,i)?Vl(t.x,e.x,r.x,n.x)>i:!1}x(jLe,"sameAxisSegmentsOverlap");function GL(t,e,r,n,{epsilon:i=oo,skipDegenerateOther:a=!1}={}){for(const s of r){if(s===n||s.isLayoutOnly)continue;const o=s.points;if(!(!o||o.length<2))for(let l=0;l<o.length-1;l++){const u=o[l],d=o[l+1];if(!(a&&qu(u,d,i))&&(ere(t,e,u,d,i)||jLe(t,e,u,d,i)))return!0}}return!1}x(GL,"segmentConflictsWithAnyEdge");function pp(t,e,r,n,i=oo){const a=Hn(t,e,i),s=$n(t,e,i),o=Hn(r,n,i),l=$n(r,n,i);if(!(a&&l||s&&o))return!1;const u=a?{a:t,b:e}:{a:r,b:n},d=a?{a:r,b:n}:{a:t,b:e},h=u.a.y,f=Math.min(u.a.x,u.b.x),p=Math.max(u.a.x,u.b.x),g=d.a.x,m=Math.min(d.a.y,d.b.y),U=Math.max(d.a.y,d.b.y);return g>f+i&&g<p-i&&h>m+i&&h<U-i}x(pp,"orthogonalSegmentsStrictlyCross");function yj(t,e,r){const n=Math.min(e,r),i=Math.max(e,r);return t>n+oo&&t<i-oo}x(yj,"strictlyBetween");function YLe(t,e,r){return $n(t,e)&&$n(e,r)?yj(e.y,t.y,r.y):Hn(t,e)&&Hn(e,r)?yj(e.x,t.x,r.x):!1}x(YLe,"isCollinearIntermediate");function XLe(t){let e=!1;const r=[];for(let n=0;n<t.length;n++){const i=r[r.length-1],a=t[n],s=n+1<t.length?t[n+1]:void 0;if(i&&s){if(qu(i,s)){n++,e=!0;continue}if(YLe(i,a,s)){e=!0;continue}}r.push(a)}return{points:r,changed:e}}x(XLe,"simplifyPolylineOnce");function WL(t){const e=[t[0]];for(let n=1;n<t.length;n++){const i=e[e.length-1],a=t[n];if(!$n(i,a)&&!Hn(i,a)){const s=e.length>=2?e[e.length-2]:void 0,l=(s?$n(s,i):!1)?{x:i.x,y:a.y}:{x:a.x,y:i.y};e.push(l)}e.push(a)}const r=[];for(const n of e){const i=r[r.length-1];(!i||!qu(i,n))&&r.push(n)}return r}x(WL,"orthogonalizePolyline");function Jh(t){if(t.length<3)return t;let e=[...t];for(let r=0;r<32;r++){const n=XLe(e);if(e=n.points,!n.changed)break}return e}x(Jh,"simplifyPolyline");var Zr=.001,BXt=.5,Age=4;function tre(t,e,r){const n=t;if(n.isLayoutOnly||!n.points||n.points.length<r)return;const i=n.start?e.get(n.start):void 0,a=n.end?e.get(n.end):void 0;return{edge:n,points:n.points,srcRect:i?Sc(i):void 0,dstRect:a?Sc(a):void 0}}x(tre,"endpointContextFor");function KLe(t,e,r){if(Hn(t,e,Zr))return{x:t.x<r.left?r.left:r.right,y:t.y};if($n(t,e,Zr)){const n=t.y<r.top?r.top:r.bottom;return{x:t.x,y:n}}return{x:Math.min(r.right,Math.max(r.left,t.x)),y:Math.min(r.bottom,Math.max(r.top,t.y))}}x(KLe,"segmentEnterPoint");function bj(t,e,r){const n=r?1:-1;let i=r?0:t.length-1;for(;i>=0&&i<t.length&&Kte(t[i],e,BXt);)i+=n;if(i<0||i>=t.length)return t;const a=i-n;if(a<0||a>=t.length)return t;const s=KLe(t[i],t[a],e);return r?[s,...t.slice(i)]:[...t.slice(0,i+1),s]}x(bj,"clipEndpoint");function ZLe(t,e){for(const r of t){const n=tre(r,e,2);if(!n)continue;let i=[...n.points];n.srcRect&&(i=bj(i,n.srcRect,!0)),n.dstRect&&(i=bj(i,n.dstRect,!1)),i=Jh(WL(i)),i=rre(i,n.srcRect,n.dstRect),n.edge.points=Jh(WL(i))}}x(ZLe,"clipEdgeEndpointsToNodeBoundaries");function vj(t,e,r,n=!1){if(Hn(t,e,Zr)){if(e.y<r.top-Zr||e.y>r.bottom+Zr)return e;if(n){if(t.x<r.left-Zr)return{x:r.left,y:t.y};if(t.x>r.right+Zr)return{x:r.right,y:t.y}}return{x:Math.abs(e.x-r.left)<=Math.abs(e.x-r.right)?r.left:r.right,y:t.y}}if($n(t,e,Zr)){if(e.x<r.left-Zr||e.x>r.right+Zr)return e;if(n){if(t.y<r.top-Zr)return{x:t.x,y:r.top};if(t.y>r.bottom+Zr)return{x:t.x,y:r.bottom}}const i=Math.abs(e.y-r.top)<=Math.abs(e.y-r.bottom);return{x:t.x,y:i?r.top:r.bottom}}return e}x(vj,"snapEndpointToBoundary");function qL(t,e,r){const n=t[e];for(let i=e+r;i>=0&&i<t.length;i+=r){const a=t[i];if(!qu(a,n,Zr))return a}return t[e+r]}x(qL,"firstDistinctAdjacent");function jL(t,e){const r=t+Age,n=e-Age;return r<=n?{lo:r,hi:n}:{lo:(t+e)/2,hi:(t+e)/2}}x(jL,"cornerClearanceRange");function xj(t,e,r){const{lo:n,hi:i}=jL(e,r);return Math.min(i,Math.max(n,t))}x(xj,"clampToCornerClearance");function JLe(t){const e=Math.max(...t.map(n=>n.lo)),r=Math.min(...t.map(n=>n.hi));if(!(e>r))return{lo:e,hi:r}}x(JLe,"intersectRanges");function wj(t,e){return e==="left"||e==="right"?jL(t.top,t.bottom):jL(t.left,t.right)}x(wj,"clearanceRangeForSide");function YL(t,e,r){const n=t.y>=r.top-Zr&&t.y<=r.bottom+Zr,i=t.x>=r.left-Zr&&t.x<=r.right+Zr;if(Hn(t,e,Zr)&&n){if(Math.abs(t.x-r.left)<Zr)return"left";if(Math.abs(t.x-r.right)<Zr)return"right"}if($n(t,e,Zr)&&i){if(Math.abs(t.y-r.top)<Zr)return"top";if(Math.abs(t.y-r.bottom)<Zr)return"bottom"}}x(YL,"terminalSideForSegment");function WT(t){return t==="left"||t==="right"}x(WT,"isHorizontalSide");function QLe(t,e,r,n,i){const a=[],s=r?YL(t,e,r):void 0,o=n?YL(e,t,n):void 0;return r&&s&&WT(s)===i&&a.push(wj(r,s)),n&&o&&WT(o)===i&&a.push(wj(n,o)),a.length>0?JLe(a):void 0}x(QLe,"straightClearanceRange");function Tj(t,e,r,n,i){const a=QLe(t,e,r,n,i);if(!a)return;const s=i?t.y:t.x,o=Math.min(a.hi,Math.max(a.lo,s));if(!(Math.abs(o-s)<Zr))return i?[{x:t.x,y:o},{x:e.x,y:o}]:[{x:o,y:t.y},{x:o,y:e.y}]}x(Tj,"clearStraightEndpointCornerAxis");function rre(t,e,r){if(t.length!==2)return t;const[n,i]=t;return Hn(n,i,Zr)?Tj(n,i,e,r,!0)??t:$n(n,i,Zr)?Tj(n,i,e,r,!1)??t:t}x(rre,"clearStraightEndpointCornerConnections");function eNe(t,e,r){return WT(r)?{x:t.x,y:xj(t.y,e.top,e.bottom)}:{x:xj(t.x,e.left,e.right),y:t.y}}x(eNe,"cornerClearedEndpoint");function tNe(t,e,r,n,i,a){const s=t.map(o=>({...o}));for(let o=e;o>=0&&o<t.length;o+=r){const l=t[o];if(a&&!Hn(l,n,Zr)||!a&&!$n(l,n,Zr))break;a?s[o].y=i.y:s[o].x=i.x}return s}x(tNe,"moveCollinearEndpointRun");function Cj(t,e,r){if(t.length<2)return t;const n=r?0:t.length-1,i=r?1:-1,a=t[n],s=qL(t,n,i);if(!s)return t;const o=YL(a,s,e);if(!o)return t;const l=WT(o),u=eNe(a,e,o);return qu(a,u,Zr)?t:tNe(t,n,i,a,u,l)}x(Cj,"clearEndpointCornerConnection");function Sj(t,e,r){const n=Math.min(t.x,e.x)>=r.left-Zr&&Math.max(t.x,e.x)<=r.right+Zr,i=Math.min(t.y,e.y)>=r.top-Zr&&Math.max(t.y,e.y)<=r.bottom+Zr;if(Math.abs(t.y-r.top)<Zr&&Math.abs(e.y-r.top)<Zr&&n)return"top";if(Math.abs(t.y-r.bottom)<Zr&&Math.abs(e.y-r.bottom)<Zr&&n)return"bottom";if(Math.abs(t.x-r.left)<Zr&&Math.abs(e.x-r.left)<Zr&&i)return"left";if(Math.abs(t.x-r.right)<Zr&&Math.abs(e.x-r.right)<Zr&&i)return"right"}x(Sj,"borderSideForSegment");function kj(t,e,r,n){switch(t){case"top":return $n(e,r,Zr)&&r.y<n.top-Zr;case"bottom":return $n(e,r,Zr)&&r.y>n.bottom+Zr;case"left":return Hn(e,r,Zr)&&r.x<n.left-Zr;case"right":return Hn(e,r,Zr)&&r.x>n.right+Zr}}x(kj,"leavesOutward");function Ej(t,e,r){if(t.length<3)return t;if(r){const a=Sj(t[0],t[1],e);return a&&kj(a,t[1],t[2],e)?t.slice(1):t}const n=t.length-1,i=Sj(t[n-1],t[n],e);return i&&kj(i,t[n-1],t[n-2],e)?t.slice(0,n):t}x(Ej,"collapseOwnBorderStub");function rNe(t,e,r){let n=t;if(e){const a=qL(n,0,1);if(a){const s=vj(a,n[0],e);s!==n[0]&&(n=[s,...n.slice(1)])}n=Ej(n,e,!0)}if(r){const a=n.length-1,s=qL(n,a,-1);if(s){const o=vj(s,n[a],r,!0);o!==n[a]&&(n=[...n.slice(0,a),o])}n=Ej(n,r,!1)}const i=rre(n,e,r);return i!==n||n.length===2?i:(e&&(n=Cj(n,e,!0)),r&&(n=Cj(n,r,!1)),n)}x(rNe,"snapAndCollapseEndpoints");function Aj(t,e){for(const r of t){const n=tre(r,e,2);if(!n)continue;const i=Qn(n.points,Zr),a=rNe(i,n.srcRect,n.dstRect);if(a.length<3){n.edge.points=a;continue}const s=[a[0],{...a[0]},...a.slice(1,-1),a[a.length-1],{...a[a.length-1]}];n.edge.points=s}}x(Aj,"prepareEdgeEndpointsForRenderer");function nre(t){return new Map(t.map(e=>[e.id,e]))}x(nre,"buildNodeMap");function nNe(t,e){let r=t.parentId,n=null;for(;r;){const i=e.get(r);if(!(i!=null&&i.isGroup))break;n=i.id,r=i.parentId}return n}x(nNe,"resolveTopLevelGroupId");function Mj(t,e){let r=0,n=t.parentId;for(;n;){const i=e.get(n);if(!(i!=null&&i.isGroup))break;r++,n=i.parentId}return r}x(Mj,"groupDepth");function ire(t){let e=1/0,r=-1/0,n=1/0,i=-1/0;for(const a of t){const s=a.x,o=a.y;if(typeof s!="number"||typeof o!="number")continue;const l=a.width??0,u=a.height??0;e=Math.min(e,s-l/2),r=Math.max(r,s+l/2),n=Math.min(n,o-u/2),i=Math.max(i,o+u/2)}return e===1/0||n===1/0?null:{minX:e,maxX:r,minY:n,maxY:i}}x(ire,"boundsForChildren");function iNe(t,e){const r=t.padding??20;t.x=(e.minX+e.maxX)/2,t.y=(e.minY+e.maxY)/2,t.width=Math.max(0,e.maxX-e.minX)+r,t.height=Math.max(0,e.maxY-e.minY)+r}x(iNe,"applyGroupBounds");function aNe(t){const e=nre(t),r=t.filter(n=>n.isGroup&&n.parentId).sort((n,i)=>Mj(i,e)-Mj(n,e));for(const n of r){const i=t.filter(s=>s.parentId===n.id),a=ire(i);a&&iNe(n,a)}}x(aNe,"recomputeNestedGroupBounds");function XL(t,e){const r=t.nodes??[],n=t.edges??[],i=r.filter(l=>!l.isGroup);let a=1/0,s=-1/0;for(const l of i){const u=l[e];typeof u=="number"&&(a=Math.min(a,u),s=Math.max(s,u))}if(!Number.isFinite(a)||!Number.isFinite(s))return!1;const o=x(l=>a+s-l,"mirror");for(const l of r){const u=l[e];typeof u=="number"&&(l[e]=o(u));const d=l.groupTitleRect;d&&(l.groupTitleRect=e==="x"?{...d,left:o(d.right),right:o(d.left)}:{...d,top:o(d.bottom),bottom:o(d.top)})}for(const l of n)for(const u of l.points??[])u[e]=o(u[e]);return!0}x(XL,"mirrorAxis");function sNe(t){return(t.nodes??[]).some(r=>!r.isGroup)?XL(t,"y"):!0}x(sNe,"applyBtDirectionTransform");function oNe(t,e="LR"){const r=t.nodes??[],n=t.edges??[],i=r.filter(N=>!N.isGroup);let a=1/0,s=1/0;for(const N of i){const I=N.x??0,L=N.y??0;I<a&&(a=I),L<s&&(s=L)}if(!Number.isFinite(a)||!Number.isFinite(s))return!1;const o=36;let l=0,u=0;for(const N of i)l+=N.width??0,u+=N.height??0;const d=l/i.length,h=u/i.length,f=h>0?Math.max(1,d/h):1;for(const N of i){const I=N.x??0,_=((N.y??0)-s)*f+o,D=I-a;N.x=_,N.y=D}for(const N of n)if(N.points)for(const I of N.points){const L=I.x,D=(I.y-s)*f+o,O=L-a;I.x=D,I.y=O}aNe(r);const p=r.filter(N=>N.isGroup&&!N.parentId);if(p.length===0)return e==="RL"&&XL(t,"x"),!0;const g=nre(r),m=new Map;for(const N of r){if(N.isGroup)continue;const I=nNe(N,g);if(!I)continue;const L=m.get(I)??[];L.push(N),m.set(I,L)}let U=0;for(const N of p){const I=N.padding??0;I>U&&(U=I)}const y=[];let b=1/0,v=-1/0;for(const N of p){const I=m.get(N.id)??[],L=ire(I);L&&(b=Math.min(b,L.minX),v=Math.max(v,L.maxX),y.push({lane:N,contentTop:L.minY,contentBottom:L.maxY,centerY:(L.minY+L.maxY)/2}))}if(b===1/0||v===-1/0)return!0;const w=Math.max(0,v-b),T=Math.max(U,10),S=w+2*T,C=o+S,A=(b+v)/2-S/2-o,M=A+C/2,P=Math.max(U,o);y.sort((N,I)=>N.centerY-I.centerY);for(let N=0;N<y.length;N++){const I=y[N];let L,_;if(N===0?L=I.contentTop-P:L=(y[N-1].contentBottom+I.contentTop)/2,N===y.length-1)_=I.contentBottom+P;else{const B=y[N+1];_=(I.contentBottom+B.contentTop)/2}const D=Math.max(0,_-L),O=(L+_)/2;I.lane.x=M,I.lane.y=O,I.lane.width=C,I.lane.height=D,I.lane.swimlaneContentTop=I.contentTop,I.lane.groupTitleRect={left:A,right:A+o,top:L,bottom:_}}return e==="RL"&&XL(t,"x"),!0}x(oNe,"applyLrDirectionTransform");var rd=1e-6,$Xt=8,OE=$Xt,FXt=[0,OE,-OE,2*OE,-2*OE];function lNe(t,e){const{nodeInfoById:r,realNodeRects:n}=IP(e);for(const i of t){if(i.isLayoutOnly)continue;const a=i.points;if(!a||a.length<4)continue;const s=Xte(Qn(a,rd),rd);if(!s)continue;const{p3:o}=s,l=s.kind==="HVH",u=Qte(i,r,rd);if(!u)continue;const{srcId:d,dstId:h,srcInfo:f,dstInfo:p,collinearX:g,collinearY:m}=u;if(g||m)continue;let U;const y=f.rect;for(const b of FXt){let v,w,T;if(l){const M=p.cy>f.cy?y.bottom:y.top,P=f.cx+b;if(P<=y.left+rd||P>=y.right-rd)continue;v={x:P,y:M},w={x:P,y:o.y},T={x:o.x,y:o.y}}else{const M=p.cx>f.cx?y.right:y.left,P=f.cy+b;if(P<=y.top+rd||P>=y.bottom-rd)continue;v={x:M,y:P},w={x:o.x,y:P},T={x:o.x,y:o.y}}const S=qu(v,w,rd),C=qu(w,T,rd);if(S&&C||!S&&Qa(v,w,n,[d],1)||!C&&Qa(w,T,n,[h],1))continue;const k=!S&&GL(v,w,t,i,{epsilon:rd,skipDegenerateOther:!0}),E=!C&&GL(w,T,t,i,{epsilon:rd,skipDegenerateOther:!0});if(!(k||E)){S?U=[w,T]:C?U=[v,w]:U=[v,w,T];break}}U&&(i.points=U)}}x(lNe,"portSwapToLShape");function cNe(t,e){const{realNodeRects:a,labelNodeRects:s}=M1(e.values());for(const o of t){if(o.isLayoutOnly)continue;const l=o.points;if(!l||l.length<4)continue;const u=Qn(l,.001);if(u.length<4)continue;const d=u.length-1,h=u[d],f=u[d-1],p=u[d-2],g=h.x-f.x,m=h.y-f.y,U=Math.hypot(g,m);if(U>=10||U<.001)continue;const y=f.x-p.x,b=f.y-p.y;if(Math.hypot(y,b)<.001)continue;const w=_a(f,h,.001),T=Ba(f,h,.001),S=_a(p,f,.001),C=Ba(p,f,.001);if(!(w&&C||T&&S))continue;const k=o.end,E=o.start,A=k?e.get(k):void 0;if(!A)continue;const M=A.x??0,P=A.y??0,N=Sc(A);if(!N)continue;let I,L;if(C){const $=b<0;I={x:M,y:p.y},L={x:M,y:$?N.bottom:N.top}}else{const $=y>0;I={x:p.x,y:P},L={x:$?N.right:N.left,y:P}}if(Qa(I,L,a,k?[k]:[],-2)||Qa(I,L,s,[],-2))continue;if(E){const $=e.get(E),H=$?Sc($):void 0;if(H&&Kte(I,H,2))continue}const _=x(($,H)=>`${$.x.toFixed(3)},${$.y.toFixed(3)}|${H.x.toFixed(3)},${H.y.toFixed(3)}`,"ownSegmentKey"),D=new Set;for(let $=0;$<u.length-1;$++)D.add(_(u[$],u[$+1]));const O=x(($,H)=>{for(const V of t){if(V===o||V.isLayoutOnly)continue;const G=V.points;if(!(!G||G.length<2))for(let K=0;K<G.length-1;K++){const W=G[K],oe=G[K+1];if(!D.has(_(W,oe))&&pp($,H,W,oe,.001))return!0}}return!1},"segmentCrossesOtherEdge");if(O(I,L))continue;if(d-3>=0){const $=u[d-3],H=[E,k].filter(V=>!!V);if(Qa($,I,a,H,-2)||O($,I))continue}const F=[...u.slice(0,d-2),I,L];o.points=F;const z=o.labelNodeId;if(z){const $=e.get(z);if($){const H=$.width??0,V=$.height??0;if(H>0&&V>0){let G,K,W=-1;for(let oe=0;oe<F.length-1;oe++){const Z=F[oe],J=F[oe+1],ne=Math.hypot(J.x-Z.x,J.y-Z.y),ie=Hn(Z,J,.001),me=$n(Z,J,.001);(ie&&ne>=H+2||me&&ne>=V+2)&&ne>W&&(W=ne,G=(Z.x+J.x)/2,K=(Z.y+J.y)/2)}G!==void 0&&K!==void 0&&($.x=G,$.y=K)}}}}}x(cNe,"collapseShortTerminalStub");var br=.001,no=8,vn=u4,rz=x((t,e)=>$n(t,e,br)||Hn(t,e,br),"orthogonallyAligned");function uNe(t,e){const i=x((p,g)=>{const m=p.x??0,U=p.y??0,y=g.x-m,b=g.y-U;let v=(p.width??0)/2,w=(p.height??0)/2;return Math.abs(b)*v>Math.abs(y)*w?(b<0&&(w=-w),{x:m+(b===0?0:w*y/b),y:U+w}):(y<0&&(v=-v),{x:m+v,y:U+(y===0?0:v*b/y)})},"rectIntersect"),a=x((p,g)=>{const m=Qn(p.points??[]);if(m.length<2)return;const U=g?p.start:p.end,y=U?e.get(U):void 0,b=y?Sc(y):void 0;if(!y||!U||!b)return;const v=g?m[0]:m[m.length-1],w=g?m[1]:m[m.length-2],T=i(y,v);let S=v;if(rz(w,T)&&(S=w),$n(T,S,br))return{edge:p,edgeId:String(p.id??""),nodeId:U,atStart:g,orientation:"V",coord:T.x,min:Math.min(T.y,S.y),max:Math.max(T.y,S.y),boundary:T,railEnd:S,rect:b};if(Hn(T,S,br))return{edge:p,edgeId:String(p.id??""),nodeId:U,atStart:g,orientation:"H",coord:T.y,min:Math.min(T.x,S.x),max:Math.max(T.x,S.x),boundary:T,railEnd:S,rect:b}},"terminalLaneFor"),s=x((p,g)=>Math.max(0,Math.min(p.max,g.max)-Math.max(p.min,g.min)),"projectedOverlapLength"),o=x((p,g)=>p.nodeId!==g.nodeId||p.orientation!==g.orientation?!1:p.orientation==="H"?(Math.abs(p.boundary.x-p.rect.left)<1||Math.abs(p.boundary.x-p.rect.right)<1)&&$n(p.boundary,g.boundary,1):(Math.abs(p.boundary.y-p.rect.top)<1||Math.abs(p.boundary.y-p.rect.bottom)<1)&&Hn(p.boundary,g.boundary,1),"sameTerminalFace"),l=x((p,g)=>p.nodeId!==g.nodeId||p.orientation!==g.orientation?!1:s(p,g)>=no&&Math.abs(p.coord-g.coord)<.5,"exactTerminalLaneConflict"),u=x((p,g)=>{if(p.nodeId!==g.nodeId||p.orientation!==g.orientation||p.orientation!=="H"||p.atStart===g.atStart)return!1;const m=s(p,g);if(m<no)return!1;const U=p.rect.bottom-p.rect.top;return m<U||m>2*U?!1:o(p,g)&&Math.abs(p.coord-g.coord)<16},"nearTerminalLaneConflict"),d=x((p,g)=>{const m=Qn(p.edge.points??[]);if(m.length<2)return;const U=p.orientation==="V"?{x:p.boundary.x+g,y:p.boundary.y}:{x:p.boundary.x,y:p.boundary.y+g},y=p.orientation==="V"?{x:p.railEnd.x+g,y:p.railEnd.y}:{x:p.railEnd.x,y:p.railEnd.y+g};if(!x(()=>Math.abs(p.boundary.y-p.rect.top)<1||Math.abs(p.boundary.y-p.rect.bottom)<1?Hn(U,p.boundary,br)&&U.x>=p.rect.left+1&&U.x<=p.rect.right-1:Math.abs(p.boundary.x-p.rect.left)<1||Math.abs(p.boundary.x-p.rect.right)<1?$n(U,p.boundary,br)&&U.y>=p.rect.top+1&&U.y<=p.rect.bottom-1:!1,"boundaryStaysOnSameFace")())return;if(p.atStart){const S=m.length>1&&qu(m[1],p.railEnd,br),C=m.slice(S?2:1),k=C[0];return k&&!rz(k,y)?void 0:[U,y,...C]}const v=m.length>1&&qu(m[m.length-2],p.railEnd,br),w=m.slice(0,v?-2:-1),T=w[w.length-1];if(!(T&&!rz(T,y)))return[...w,y,U]},"shiftedCandidate"),h=x(p=>{const g=p.edge,m=Qn(g.points??[]);if(m.length!==2)return!1;const U=g.start,y=g.end,b=U?e.get(U):void 0,v=y?e.get(y):void 0;if(!b||!v)return!1;const w=b.x??0,T=b.y??0,S=v.x??0,C=v.y??0,[k,E]=m;return Hn(k,E,br)&&Math.abs(T-C)<1&&Math.abs(w-S)>1||$n(k,E,br)&&Math.abs(w-S)<1&&Math.abs(T-C)>1},"laneIsStraightCollinearConnector"),f=[-7,7,-14,14,-21,21];for(let p=0;p<8;p++){const g=t.filter(U=>!U.isLayoutOnly).flatMap(U=>[a(U,!0),a(U,!1)]).filter(U=>!!U);let m=!1;for(let U=0;U<g.length&&!m;U++)for(let y=U+1;y<g.length&&!m;y++){const b=g[U],v=g[y];if(b.edge===v.edge||!(l(b,v)||u(b,v)))continue;const w=!l(b,v),T=[b,v].sort((S,C)=>{const k=h(S),E=h(C);return k!==E?Number(k)-Number(E):+!C.atStart-+!S.atStart});for(const S of T){for(const C of f){const k=d(S,C);if(!k)continue;const E=a({...S.edge,points:k},S.atStart);if(!(!E||g.some(A=>A.edge!==S.edge&&(l(E,A)||w&&u(E,A))))){S.edge.points=k,m=!0;break}}if(m)break}}if(!m)return}}x(uNe,"separateSharedRenderedTerminalLanes");function dNe(t,e){const{realNodeRects:n,labelNodeRects:i}=M1(e.values()),a=x((o,l)=>{const u=o.start,d=o.end,h=vn(l);if(h.length!==l.length-1)return!1;const f=[u,d].filter(p=>!!p);for(const p of h)if(Qa(p.a,p.b,n,f,-2)||Qa(p.a,p.b,i,[],-2))return!1;for(const p of t){if(p===o||p.isLayoutOnly)continue;const g=p.points;if(!(!g||g.length<2)){for(const m of h)for(const U of vn(Qn(g)))if(zh(m,U,.5)>=no||pp(m.a,m.b,U.a,U.b,br))return!1}}return!0},"candidateIsSafe"),s=x((o,l)=>{if(l+4>=o.length)return;const u=o[l],d=o[l+1],h=o[l+2],f=o[l+3],p=o[l+4],g=_a(u,d)&&Ba(d,h)&&_a(h,f)&&Ba(f,p)&&$n(u,f,br)&&$n(u,p,br)&&$n(d,h,br)&&(d.x-u.x)*(f.x-h.x)<0,m=Ba(u,d)&&_a(d,h)&&Ba(h,f)&&_a(f,p)&&Hn(u,f,br)&&Hn(u,p,br)&&Hn(d,h,br)&&(d.y-u.y)*(f.y-h.y)<0;if(g||m)return Qn([...o.slice(0,l+1),p,...o.slice(l+5)]);if(l+5>=o.length)return;const U=o[l+5],y=Ba(u,d)&&_a(d,h)&&Ba(h,f)&&_a(f,p)&&Ba(p,U)&&$n(u,p,br)&&$n(u,U,br)&&$n(h,f,br)&&(h.x-d.x)*(p.x-f.x)<0,b=_a(u,d)&&Ba(d,h)&&_a(h,f)&&Ba(f,p)&&_a(p,U)&&Hn(u,p,br)&&Hn(u,U,br)&&Hn(h,f,br)&&(h.y-d.y)*(p.y-f.y)<0;if(!(!y&&!b))return Qn([...o.slice(0,l+1),U,...o.slice(l+6)])},"withoutDogleg");for(let o=0;o<8;o++){let l=!1;for(const u of t){if(u.isLayoutOnly)continue;const d=Qn(u.points??[]);for(let h=0;h<=d.length-5;h++){const f=s(d,h);if(!(!f||!a(u,f))){u.points=f,l=!0;break}}if(l)break}if(!l)return}}x(dNe,"collapseRedundantRectangularDoglegs");function Rj(t,e){const{realNodeRects:a,labelNodeRects:s}=M1(e.values()),o=t.filter(g=>!g.isLayoutOnly),l=x((g,m,U)=>Qn(g===m?U??[]:g.points??[]),"pointsFor"),u=x((g,m)=>{let U=0;for(let y=0;y<o.length;y++){const b=vn(l(o[y],g,m));for(let v=y+1;v<o.length;v++){const w=vn(l(o[v],g,m));for(const T of b)for(const S of w)pp(T.a,T.b,S.a,S.b,br)&&U++}}return U},"strictCrossingCount"),d=x(g=>{const m=vn(g);if(m.length!==3)return;const U=m[1];if(!(m[0].horizontal===U.horizontal||m[2].horizontal===U.horizontal))return{index:U.index,horizontal:U.horizontal,vertical:U.vertical,segment:U}},"middleRail"),h=x((g,m)=>{const U=[g.start,g.end].filter(y=>!!y);return a.filter(y=>{if(U.includes(y.id))return!1;const b=y.rect;return m.horizontal?Vl(m.a.x,m.b.x,b.left,b.right)>=no&&m.a.y>=b.top-2&&m.a.y<=b.bottom+2:Vl(m.a.y,m.b.y,b.top,b.bottom)>=no&&m.a.x>=b.left-2&&m.a.x<=b.right+2})},"blockingRectsFor"),f=x((g,m,U)=>{const y=g.map(v=>({...v}));if(m.horizontal)y[m.index].y=U,y[m.index+1].y=U;else if(m.vertical)y[m.index].x=U,y[m.index+1].x=U;else return;const b=Jh(Qn(y));return vn(b).length===b.length-1?b:void 0},"candidateByMovingRail"),p=x((g,m,U)=>{const y=[g.start,g.end].filter(v=>!!v),b=vn(m);if(b.length!==m.length-1)return!1;for(const v of b)if(Qa(v.a,v.b,a,y,-2)||Qa(v.a,v.b,s,[],-2))return!1;for(const v of o)if(v!==g){for(const w of b)for(const T of vn(l(v)))if(zh(w,T,.5)>=no)return!1}return u(g,m)<=U},"candidateIsSafe");for(let g=0;g<8;g++){const m=u();let U=!1;for(const y of o){const b=l(y),v=d(b);if(!v)continue;const w=h(y,v.segment);if(w.length===0)continue;const T=v.horizontal?[Math.min(...w.map(S=>S.rect.top))-20,Math.max(...w.map(S=>S.rect.bottom))+20]:[Math.min(...w.map(S=>S.rect.left))-20,Math.max(...w.map(S=>S.rect.right))+20];for(const S of T){const C=f(b,v.segment,S);if(!(!C||!p(y,C,m))){y.points=C,U=!0;break}}if(U)break}if(!U)return}}x(Rj,"liftObstacleHuggingSameSideRails");function Ij(t,e){const n=x(l=>{const u=l.groupTitleRect;if(!(!u||typeof u.left!="number"||typeof u.right!="number"||typeof u.top!="number"||typeof u.bottom!="number"||!Number.isFinite(u.left)||!Number.isFinite(u.right)||!Number.isFinite(u.top)||!Number.isFinite(u.bottom)||u.right<=u.left||u.bottom<=u.top))return{left:u.left,right:u.right,top:u.top,bottom:u.bottom}},"validTitleRect"),i=x(l=>{if(!l.isGroup||l.parentId)return;const u=l.direction,d=typeof u=="string"?u.toUpperCase():"";if(d==="LR"||d==="RL"||d==="BT")return;const h=n(l),f=l.y,p=l.height;if(!h||typeof f!="number"||typeof p!="number"||!Number.isFinite(f)||!Number.isFinite(p)||p<=0)return;const g=h.right-h.left,m=h.bottom-h.top;if(!(m<=0||g<m))return{node:l,rect:h}},"topLaneTitleFor"),a=x((l,u)=>{if(!l.horizontal)return!1;const d=l.a.y;return d<=u.top+br||d>=u.bottom-br?!1:Vl(l.a.x,l.b.x,u.left,u.right)>=no},"horizontalSegmentIntersectsTitle"),s=[...e.values()].map(i).filter(l=>!!l);if(s.length===0)return;let o=0;for(const l of t){if(l.isLayoutOnly)continue;const u=Qn(l.points??[]);for(const d of vn(u))for(const h of s)a(d,h.rect)&&(o=Math.max(o,h.rect.bottom-d.a.y+4))}if(!(o<=br))for(const l of s){const u=l.node.y,d=l.node.height;typeof u!="number"||typeof d!="number"||!Number.isFinite(u)||!Number.isFinite(d)||d<=0||(l.node.y=u-o/2,l.node.height=d+o,l.node.groupTitleRect={...l.rect,top:l.rect.top-o,bottom:l.rect.bottom-o})}}x(Ij,"liftTopLaneTitleBandsAboveRails");function Lj(t,e){const n=x(u=>{const d=u.groupTitleRect;if(!(!d||typeof d.left!="number"||typeof d.right!="number"||typeof d.top!="number"||typeof d.bottom!="number"||!Number.isFinite(d.left)||!Number.isFinite(d.right)||!Number.isFinite(d.top)||!Number.isFinite(d.bottom)||d.right<=d.left||d.bottom<=d.top))return{left:d.left,right:d.right,top:d.top,bottom:d.bottom}},"validTitleRect"),i=x(u=>{if(!u.isGroup||u.parentId||u.direction!=="LR")return;const h=n(u),f=u.x,p=u.width;if(!h||typeof f!="number"||typeof p!="number"||!Number.isFinite(f)||!Number.isFinite(p)||p<=0)return;const g=h.right-h.left,m=h.bottom-h.top;if(!(g<=0||m<g))return{node:u,rect:h}},"leftLaneTitleFor"),a=x((u,d)=>{if(!u.vertical)return!1;const h=u.a.x;return h<=d.left+br||h>=d.right-br?!1:Vl(u.a.y,u.b.y,d.top,d.bottom)>=no},"verticalSegmentIntersectsTitle"),s=x((u,d)=>{if(!u.horizontal)return!1;const h=u.a.y;return h<=d.top+br||h>=d.bottom-br?!1:Vl(u.a.x,u.b.x,d.left,d.right)>=no},"horizontalSegmentIntersectsTitle"),o=[...e.values()].map(i).filter(u=>!!u);if(o.length===0)return;let l=0;for(const u of t){if(u.isLayoutOnly)continue;const d=Qn(u.points??[]);for(const h of vn(d))for(const f of o)if(a(h,f.rect))l=Math.max(l,f.rect.right-h.a.x+4);else if(s(h,f.rect)){const p=Math.min(h.a.x,h.b.x);l=Math.max(l,f.rect.right-p+4)}}if(!(l<=br))for(const u of o){const d=u.node.x,h=u.node.width;typeof d!="number"||typeof h!="number"||!Number.isFinite(d)||!Number.isFinite(h)||h<=0||(u.node.x=d-l/2,u.node.width=h+l,u.node.groupTitleRect={...u.rect,left:u.rect.left-l,right:u.rect.right-l})}}x(Lj,"shiftLeftLaneTitleBandsLeftOfRails");function hNe(t,e){const{realNodeRects:n}=M1(e.values()),i=t.filter(g=>!g.isLayoutOnly),a=x((g,m=new Map)=>Qn(m.get(g)??g.points??[]),"replacementPointsFor"),s=x((g=new Map)=>{let m=0;for(let U=0;U<i.length;U++){const y=vn(a(i[U],g));for(let b=U+1;b<i.length;b++){const v=vn(a(i[b],g));for(const w of y)for(const T of v)pp(w.a,w.b,T.a,T.b,br)&&m++}}return m},"crossingCount"),o=x((g=new Map)=>i.reduce((m,U)=>m+zc(a(U,g)),0),"totalBends"),l=x(g=>{const m=a(g);if(m.length<4)return;const U=m[m.length-2],y=m[m.length-1];if(!(!_a(U,y,br)&&!Ba(U,y,br)))return{tailStart:U,terminal:y}},"terminalTailFor"),u=x((g,m)=>{const U=a(g);if(U.length<3)return;const y=U[0],b=U[1];let v;if(_a(y,b,br))v={x:b.x,y:m.tailStart.y};else if(Ba(y,b,br))v={x:m.tailStart.x,y:b.y};else return;const w=Jh(Qn([y,b,v,m.tailStart,m.terminal]));return vn(w).length===w.length-1?w:void 0},"candidateWithDestinationTail"),d=x((g,m)=>{const U=[g.start,g.end].filter(y=>!!y);for(const y of vn(m))if(Qa(y.a,y.b,n,U,-2))return!0;return!1},"pathHasNodeHit"),h=x((g,m,U)=>{for(const y of i)if(y!==g){for(const b of vn(m))for(const v of vn(a(y,U)))if(zh(b,v,.5)>=no)return!0}return!1},"pathHasSharedTrack"),f=x((g,m,U)=>!d(g,m)&&!h(g,m,U),"candidateIsSafe"),p=x(()=>{const g=new Map;for(const m of i){const U=m.end;if(!U||!e.has(U)||a(m).length<4)continue;const b=g.get(U)??[];b.push(m),g.set(U,b)}return g},"edgesByDestination");for(let g=0;g<4;g++){const m=s();if(m===0)return;const U=o();let y,b=m,v=U;for(const w of p().values())for(let T=0;T<w.length;T++)for(let S=T+1;S<w.length;S++){const C=w[T],k=w[S],E=l(C),A=l(k);if(!E||!A)continue;const M=u(C,A),P=u(k,E);if(!M||!P)continue;const N=new Map([[C,M],[k,P]]);if(!f(C,M,N)||!f(k,P,N))continue;const I=s(N),L=o(N);I>=m||I>b||I===b&&L>=v||(y=N,b=I,v=L)}if(!y)return;for(const[w,T]of y)w.points=T}}x(hNe,"swapDestinationTerminalTailsToReduceCrossings");function fNe(t,e){const{realNodeRects:a,labelNodeRects:s}=M1(e.values()),o=t.filter(w=>!w.isLayoutOnly),l=x((w,T=new Map)=>Qn(T.get(w)??w.points??[]),"replacementPointsFor"),u=x((w=new Map)=>{let T=0;for(let S=0;S<o.length;S++){const C=vn(l(o[S],w));for(let k=S+1;k<o.length;k++){const E=vn(l(o[k],w));for(const A of C)for(const M of E)pp(A.a,A.b,M.a,M.b,br)&&T++}}return T},"strictCrossingCount"),d=x((w=new Map)=>o.reduce((T,S)=>T+zc(l(S,w)),0),"totalBends"),h=x(w=>{const T=w.start,S=w.end,C=T?e.get(T):void 0,k=S?e.get(S):void 0,E=C?Sc(C):void 0,A=k?Sc(k):void 0;return E&&A?{src:E,dst:A}:void 0},"endpointRectsFor"),f=x((w,T,S)=>{if(S.index<=0||S.index+1>=T.length-1)return;const C=h(w);if(C){if(S.vertical){const k=S.a.x,E=Math.min(C.src.left,C.dst.left),A=Math.max(C.src.right,C.dst.right),M=k<E-br?"left":k>A+br?"right":void 0;return M?{edge:w,points:T,segmentIndex:S.index,axis:"vertical",side:M,coord:k,min:Math.min(S.a.y,S.b.y),max:Math.max(S.a.y,S.b.y)}:void 0}if(S.horizontal){const k=S.a.y,E=Math.min(C.src.top,C.dst.top),A=Math.max(C.src.bottom,C.dst.bottom),M=k<E-br?"top":k>A+br?"bottom":void 0;return M?{edge:w,points:T,segmentIndex:S.index,axis:"horizontal",side:M,coord:k,min:Math.min(S.a.x,S.b.x),max:Math.max(S.a.x,S.b.x)}:void 0}}},"externalRailForSegment"),p=x(()=>{const w=[];for(const T of o){const S=l(T);for(const C of vn(S)){const k=f(T,S,C);k&&w.push(k)}}return w},"collectExternalRails"),g=x((w,T)=>w.edge!==T.edge&&w.axis===T.axis&&w.side===T.side&&Vl(w.min,w.max,T.min,T.max)>=no,"railsInteract"),m=x(w=>{const T=[],S=new Set;for(const C of w){if(S.has(C))continue;const k=[C],E=[];for(S.add(C);k.length>0;){const A=k.pop();E.push(A);for(const M of w)!S.has(M)&&g(A,M)&&(S.add(M),k.push(M))}E.length>1&&T.push(E)}return T},"connectedComponents"),U=x(w=>{const T=[];for(const S of w)T.some(C=>Math.abs(C-S.coord)<br)||T.push(S.coord);for(;T.length<w.length;){const S=Math.min(...T),C=Math.max(...T),k=w[0].side;T.push(k==="left"||k==="top"?S-12*(w.length-T.length):C+12*(w.length-T.length))}return T},"uniqueCoordsFor"),y=x(w=>{const T=w.map(k=>k.coord),S=U(w),C=[];if(w.length<=6){const k=new Array(S.length).fill(!1),E=[],A=x(()=>{if(E.length===w.length){E.some((M,P)=>Math.abs(M-T[P])>=br)&&C.push([...E]);return}for(const[M,P]of S.entries())k[M]||(k[M]=!0,E.push(P),A(),E.pop(),k[M]=!1)},"visit");return A(),C}for(let k=0;k<T.length;k++)for(let E=k+1;E<T.length;E++){const A=[...T];[A[k],A[E]]=[A[E],A[k]],C.push(A)}return C},"coordinateAssignmentsFor"),b=x((w,T)=>{const S=new Map;for(const[k,E]of w.entries()){const A=T[k],M=S.get(E.edge)??E.points.map(P=>({x:P.x,y:P.y}));E.axis==="vertical"?(M[E.segmentIndex].x=A,M[E.segmentIndex+1].x=A):(M[E.segmentIndex].y=A,M[E.segmentIndex+1].y=A),S.set(E.edge,M)}const C=new Map;for(const[k,E]of S){const A=Jh(Qn(E));if(vn(A).length!==A.length-1)return;C.set(k,A)}return C},"replacementsForAssignment"),v=x(w=>{for(const[T,S]of w){const C=[T.start,T.end].filter(k=>!!k);for(const k of vn(S))if(Qa(k.a,k.b,a,C,-2)||Qa(k.a,k.b,s,[],-2))return!1}for(let T=0;T<o.length;T++){const S=o[T],C=w.has(S),k=vn(l(S,w));for(let E=T+1;E<o.length;E++){const A=o[E];if(!C&&!w.has(A))continue;const M=vn(l(A,w));for(const P of k)for(const N of M)if(zh(P,N,.5)>=no)return!1}}return!0},"candidateIsSafe");for(let w=0;w<4;w++){const T=u();if(T===0)return;let S,C=T,k=d(),E=Number.POSITIVE_INFINITY;for(const A of m(p()))for(const M of y(A)){const P=b(A,M);if(!P||!v(P))continue;const N=u(P);if(N>=T)continue;const I=d(P),L=A.reduce((_,D,O)=>_+Math.abs(M[O]-D.coord),0);N>C||N===C&&(I>k||I===k&&L>=E)||(S=P,C=N,k=I,E=L)}if(!S)return;for(const[A,M]of S)A.points=M}}x(fNe,"reassignCrossingExternalRailChannels");function pNe(t,e){const{realNodeRects:n,labelNodeRects:i}=M1(e.values()),a=t.filter(p=>!p.isLayoutOnly),s=x((p,g,m)=>Qn(p===g?m??[]:p.points??[]),"pointsFor"),o=x(p=>vn(p).reduce((g,m)=>{const U=m.a.x-m.b.x,y=m.a.y-m.b.y;return g+Math.hypot(U,y)},0),"pathLength"),l=x((p,g)=>{let m=0;for(let U=0;U<a.length;U++){const y=vn(s(a[U],p,g));for(let b=U+1;b<a.length;b++){const v=vn(s(a[b],p,g));for(const w of y)for(const T of v)pp(w.a,w.b,T.a,T.b,br)&&m++}}return m},"strictCrossingCount"),u=x((p,g)=>{if(p.horizontal){const m=p.a.y;return(Math.abs(m-g.top)<1||Math.abs(m-g.bottom)<1)&&Vl(p.a.x,p.b.x,g.left,g.right)>=no}if(p.vertical){const m=p.a.x;return(Math.abs(m-g.left)<1||Math.abs(m-g.right)<1)&&Vl(p.a.y,p.b.y,g.top,g.bottom)>=no}return!1},"segmentRunsAlongRectBorder"),d=x(p=>{const g=[p.start,p.end].filter(U=>!!U),m=[];for(const U of g){const y=e.get(U),b=y?Sc(y):void 0;b&&m.push(b)}return m},"endpointRectsFor"),h=x((p,g)=>{if(g+3>=p.length)return[];const m=p[g],U=p[g+1],y=p[g+2],b=p[g+3],v=_a(m,U,br)&&Ba(U,y,br)&&_a(y,b,br),w=Ba(m,U,br)&&_a(U,y,br)&&Ba(y,b,br);if(!v&&!w)return[];if(!(v?Math.sign(U.x-m.x)!==Math.sign(b.x-y.x):Math.sign(U.y-m.y)!==Math.sign(b.y-y.y)))return[];const S=$n(m,b,br)||Hn(m,b,br)?[]:[{x:m.x,y:b.y},{x:b.x,y:m.y}],C=S.length===0?[[...p.slice(0,g+1),...p.slice(g+3)]]:S.map(E=>[...p.slice(0,g+1),E,...p.slice(g+3)]),k=new Set;return C.map(E=>Jh(Qn(E))).filter(E=>{if(vn(E).length!==E.length-1||!E.some(M=>qu(M,b,br)))return!1;const A=E.map(M=>`${M.x.toFixed(3)},${M.y.toFixed(3)}`).join("|");return k.has(A)?!1:(k.add(A),!0)})},"shortcutCandidatesAt"),f=x((p,g,m)=>{const U=[p.start,p.end].filter(b=>!!b),y=d(p);for(const b of vn(g))if(Qa(b.a,b.b,n,U,-2)||Qa(b.a,b.b,i,[],-2)||y.some(v=>u(b,v)))return!1;for(const b of a)if(b!==p){for(const v of vn(g))for(const w of vn(s(b)))if(zh(v,w,.5)>=no)return!1}return l(p,g)<=m},"candidateIsSafe");for(let p=0;p<8;p++){const g=l();let m,U,y=g,b=Number.POSITIVE_INFINITY,v=Number.POSITIVE_INFINITY;for(const w of a){const T=s(w),S=zc(T,br),C=o(T);for(let k=0;k<=T.length-4;k++)for(const E of h(T,k)){const A=zc(E,br),M=o(E);if(!(A<S||A===S&&M<C-br)||!f(w,E,g))continue;const N=l(w,E);N>y||N===y&&(A>b||A===b&&M>=v)||(m=w,U=E,y=N,b=A,v=M)}}if(!m||!U)return;m.points=U}}x(pNe,"shortcutRedundantOrthogonalJogs");function gNe(t,e){const s=[];for(const ce of e.values()){if(ce.isGroup||ce.isEdgeLabel)continue;const de=ce.x??0,we=ce.y??0,ge=Sc(ce);ge&&s.push({id:String(ce.id??""),cx:de,cy:we,rect:ge})}if(s.length===0)return;const o=new Map(s.map(ce=>[ce.id,ce])),l=s.map(ce=>({id:ce.id,rect:ce.rect})),u=["top","bottom","left","right"],d={top:Math.min(...s.map(ce=>ce.rect.top))-20,bottom:Math.max(...s.map(ce=>ce.rect.bottom))+20,left:Math.min(...s.map(ce=>ce.rect.left))-20,right:Math.max(...s.map(ce=>ce.rect.right))+20},h=t.filter(ce=>!ce.isLayoutOnly),f=new Map(h.map((ce,de)=>[ce,de])),p=x(ce=>{const de=ce==="left"||ce==="top"?-1:1,we=[];for(let ge=0;ge<=2;ge++)we.push(d[ce]+de*20*ge);return we},"outwardTracksForSide"),g=x((ce,de=new Map)=>Qn(de.get(ce)??ce.points??[]),"replacementPointsFor"),m=x((ce,de)=>{let we=0;for(const ge of ce)for(const ze of de)pp(ge.a,ge.b,ze.a,ze.b,br)&&we++;return we},"crossingCountBetweenSegments"),U=x((ce,de)=>m(vn(ce),vn(de)),"crossingCountBetweenPaths"),y=x((ce=new Map)=>{let de=0;const we=[],ge=new Set,ze=[],xe=x(Ee=>{ge.has(Ee)||(ge.add(Ee),ze.push(Ee))},"addEdge");for(let Ee=0;Ee<h.length;Ee++){const qe=h[Ee],le=g(qe,ce);for(let pe=Ee+1;pe<h.length;pe++){const Te=h[pe],re=U(le,g(Te,ce));re>0&&(de+=re,we.push({first:qe,second:Te,count:re}),xe(qe),xe(Te))}}return ze.sort((Ee,qe)=>(f.get(Ee)??0)-(f.get(qe)??0)),{count:de,pairs:we,edgeSet:ge,edges:ze}},"crossingSnapshot"),b=x((ce,de)=>{const we=new Set(de.keys());if(we.size===0)return ce.count;let ge=0;for(const xe of ce.pairs)(we.has(xe.first)||we.has(xe.second))&&(ge+=xe.count);let ze=0;for(let xe=0;xe<h.length;xe++){const Ee=h[xe],qe=we.has(Ee),le=g(Ee,de);for(let pe=xe+1;pe<h.length;pe++){const Te=h[pe];!qe&&!we.has(Te)||(ze+=U(le,g(Te,de)))}}return ce.count-ge+ze},"crossingCountWithReplacements"),v=x(ce=>{const de=new Map;for(const ze of ce.pairs){const xe=de.get(ze.first)??new Set;xe.add(ze.second),de.set(ze.first,xe);const Ee=de.get(ze.second)??new Set;Ee.add(ze.first),de.set(ze.second,Ee)}const we=[],ge=new Set;for(const ze of ce.edges){if(ge.has(ze))continue;const xe=[ze],Ee=[];for(ge.add(ze);xe.length>0;){const qe=xe.pop();Ee.push(qe);for(const le of de.get(qe)??[])ge.has(le)||(ge.add(le),xe.push(le))}Ee.sort((qe,le)=>(f.get(qe)??0)-(f.get(le)??0)),Ee.length>1&&we.push(Ee)}return we},"crossingComponents"),w=x(ce=>[ce.start,ce.end].filter(de=>!!de),"endpointIdsFor"),T=x(ce=>{const de=[];for(const we of v(ce)){const ge=new Set(we),ze=new Set(we.flatMap(Ee=>w(Ee))),xe=[...we];for(const Ee of h)ge.has(Ee)||w(Ee).some(qe=>ze.has(qe))&&xe.push(Ee);xe.sort((Ee,qe)=>(f.get(Ee)??0)-(f.get(qe)??0)),de.push(xe)}return de},"pairSearchGroups"),S=x((ce,de,we)=>b(ce,new Map([[de,we]])),"crossingCountWithSingleReplacement"),C=x(ce=>{const de=new Map;for(const we of ce.pairs)de.set(we.first,(de.get(we.first)??0)+we.count),de.set(we.second,(de.get(we.second)??0)+we.count);return de},"currentCrossingsByEdge"),k=x(ce=>ce.slice(1).reduce((de,we,ge)=>{const ze=ce[ge];return de+Math.abs(we.x-ze.x)+Math.abs(we.y-ze.y)},0),"pathLength"),E=x((ce=new Map)=>h.reduce((de,we)=>de+zc(g(we,ce)),0),"totalBends"),A=x((ce=new Map)=>h.reduce((de,we)=>de+k(g(we,ce)),0),"totalLength"),M=x((ce,de,we=new Map)=>{const ge=vn(de);for(const ze of h)if(ze!==ce){for(const xe of ge)for(const Ee of vn(g(ze,we)))if(zh(xe,Ee,.5)>=no)return!0}return!1},"pathHasSegmentConflict"),P=x((ce,de)=>{const we=[ce.start,ce.end].filter(ge=>!!ge);for(const ge of vn(de))if(Qa(ge.a,ge.b,l,we,-2))return!0;return!1},"pathHitsNode"),N=x((ce,de)=>{const we=Jh(Qn(de));vn(we).length===we.length-1&&ce.push(we)},"pushOrthogonalCandidate"),I=x(ce=>ce==="left"||ce==="right","sideIsHorizontal"),L=x((ce,de,we)=>{switch(de){case"left":return Math.min(ce.x,we.x)-20;case"right":return Math.max(ce.x,we.x)+20;case"top":return Math.min(ce.y,we.y)-20;case"bottom":return Math.max(ce.y,we.y)+20}},"localTrackForSameSide"),_=x((ce,de,we,ge)=>{const ze=we==="left"||we==="top"?-1:1,xe=[L(de,we,ge),d[we]];for(const Ee of xe)for(let qe=0;qe<=2;qe++)N(ce,Jte(de,we,ge,Ee+ze*20*qe))},"addSameSideCandidates"),D=x((ce,de,we,ge,ze)=>{for(const xe of p(we))for(const Ee of p(ze))N(ce,[de,{x:xe,y:de.y},{x:xe,y:Ee},{x:ge.x,y:Ee},ge])},"addHorizontalToVerticalCandidates"),O=x((ce,de,we,ge,ze)=>{for(const xe of p(we))for(const Ee of p(ze))N(ce,[de,{x:de.x,y:xe},{x:Ee,y:xe},{x:Ee,y:ge.y},ge])},"addVerticalToHorizontalCandidates"),B=x((ce,de,we,ge,ze)=>{const xe=[...p("top"),...p("bottom")];for(const Ee of p(we))for(const qe of p(ze))for(const le of xe)N(ce,[de,{x:Ee,y:de.y},{x:Ee,y:le},{x:qe,y:le},{x:qe,y:ge.y},ge])},"addHorizontalPairCandidates"),F=x((ce,de,we,ge,ze)=>{const xe=[...p("left"),...p("right")];for(const Ee of p(we))for(const qe of p(ze))for(const le of xe)N(ce,[de,{x:de.x,y:Ee},{x:le,y:Ee},{x:le,y:qe},{x:ge.x,y:qe},ge])},"addVerticalPairCandidates"),z=x(ce=>{const de=new Set;return ce.map(we=>Qn(we)).filter(we=>{const ge=we.map(ze=>`${ze.x.toFixed(3)},${ze.y.toFixed(3)}`).join("|");return de.has(ge)||we.length<2?!1:(de.add(ge),!0)})},"dedupeCandidatePaths"),$=x((ce,de,we,ge)=>{const ze=[],xe=Zte(ce,de,we,ge,20,br);xe&&N(ze,xe),de===ge&&_(ze,ce,de,we);const Ee=I(de),qe=I(ge);return Ee&&!qe?D(ze,ce,de,we,ge):!Ee&&qe?O(ze,ce,de,we,ge):Ee?B(ze,ce,de,we,ge):F(ze,ce,de,we,ge),z(ze)},"buildCandidatesForSides"),H=x((ce,de,we,ge)=>{const ze=[...p("left"),...p("right")],xe=[...p("top"),...p("bottom")];for(const Ee of u){const qe=gU(ge,Ee),le=Ee==="top"||Ee==="bottom"?p(Ee):xe;for(const pe of ze){N(ce,[de,we,{x:pe,y:we.y},{x:pe,y:qe.y},qe]);for(const Te of le)N(ce,[de,we,{x:pe,y:we.y},{x:pe,y:Te},{x:qe.x,y:Te},qe])}}},"addVerticalDepartureOuterTrackCandidates"),V=x((ce,de,we,ge)=>{const ze=[...p("left"),...p("right")],xe=[...p("top"),...p("bottom")];for(const Ee of u){const qe=gU(ge,Ee),le=Ee==="left"||Ee==="right"?p(Ee):ze;for(const pe of xe){N(ce,[de,we,{x:we.x,y:pe},{x:qe.x,y:pe},qe]);for(const Te of le)N(ce,[de,we,{x:we.x,y:pe},{x:Te,y:pe},{x:Te,y:qe.y},qe])}}},"addHorizontalDepartureOuterTrackCandidates"),G=x(ce=>{const de=ce.start,we=ce.end,ge=we?o.get(we):void 0;if(!de||!ge)return[];const ze=Qn(ce.points??[]);if(ze.length<4)return[];const xe=ze[0],Ee=ze[1],qe=[];return Ba(xe,Ee,br)?H(qe,xe,Ee,ge):_a(xe,Ee,br)&&V(qe,xe,Ee,ge),qe},"terminalPreservingOuterTrackCandidates"),K=x(ce=>{const de=ce.start,we=ce.end,ge=de?o.get(de):void 0,ze=we?o.get(we):void 0;if(!ge||!ze)return[];const xe=[];for(const Ee of u){const qe=gU(ge,Ee);for(const le of u)xe.push(...$(qe,Ee,gU(ze,le),le))}return xe.push(...G(ce)),xe},"candidatePathsFor"),W=x(()=>new Map(h.map(ce=>[ce,vn(g(ce))])),"currentSegmentsByEdge"),oe=x((ce,de,we)=>{const ge=new Set;for(const ze of h){if(ze===ce)continue;const xe=we.get(ze)??vn(g(ze));de.some(Ee=>xe.some(qe=>zh(Ee,qe,.5)>=no))&&ge.add(ze)}return ge},"sharedTrackConflictsFor"),Z=x((ce,de,we,ge)=>{const ze=new Set;return K(ce).map(Ee=>Jh(Qn(Ee))).filter(Ee=>{if(P(ce,Ee))return!1;const qe=Ee.map(le=>`${le.x.toFixed(3)},${le.y.toFixed(3)}`).join("|");return ze.has(qe)||Ee.length<2?!1:(ze.add(qe),!0)}).map(Ee=>{const qe=vn(Ee);let le=0;for(const pe of h)pe!==ce&&(le+=m(qe,we.get(pe)??vn(g(pe))));return{candidate:Ee,candidateSegments:qe,crossings:de.count-(ge.get(ce)??0)+le,bends:zc(Ee,br),totalBends:zc(Ee),length:k(Ee)}}).filter(({crossings:Ee})=>Ee<=de.count).sort((Ee,qe)=>Ee.crossings-qe.crossings||Ee.bends-qe.bends||Ee.length-qe.length).slice(0,48).map(Ee=>({path:Ee.candidate,segments:Ee.candidateSegments,sharedTrackConflicts:oe(ce,Ee.candidateSegments,we),totalBends:Ee.totalBends,length:Ee.length}))},"pairCandidatesFor"),J=x((ce,de,we,ge,ze,xe)=>{let Ee=0;for(const le of ce.pairs)(le.first===de||le.second===de||le.first===ge||le.second===ge)&&(Ee+=le.count);let qe=m(we.segments,ze.segments);for(const le of h){if(le===de||le===ge)continue;const pe=xe.get(le)??vn(g(le));qe+=m(we.segments,pe)+m(ze.segments,pe)}return ce.count-Ee+qe},"pairCrossingCount"),ne=x((ce,de)=>{for(const we of ce.sharedTrackConflicts)if(we!==de)return!1;return!0},"conflictsOnlyWith"),ie=x((ce,de)=>ce.segments.some(we=>de.segments.some(ge=>zh(we,ge,.5)>=no)),"candidatesShareTrack"),me=x((ce,de,we,ge)=>ne(de,we.edge)&&ne(ge,ce.edge)&&!ie(de,ge),"pairCandidatesAreCompatible"),te=x((ce,de,we,ge,ze)=>{const xe=J(ce.current,de.edge,we,ge.edge,ze,ce.baseSegments);if(!(xe>=ce.current.count))return{replacements:new Map([[de.edge,we.path],[ge.edge,ze.path]]),crossings:xe,bends:ce.currentBends-(ce.baseBendsByEdge.get(de.edge)??0)-(ce.baseBendsByEdge.get(ge.edge)??0)+we.totalBends+ze.totalBends,length:ce.currentLength-(ce.baseLengthByEdge.get(de.edge)??0)-(ce.baseLengthByEdge.get(ge.edge)??0)+we.length+ze.length}},"scorePairReplacement"),Re=x((ce,de)=>ce.crossings<de.crossings||ce.crossings===de.crossings&&(ce.bends<de.bends||ce.bends===de.bends&&ce.length<de.length),"pairScoreIsBetter"),_e=x((ce,de,we,ge)=>{let ze=ge;for(const xe of de.candidates)for(const Ee of we.candidates){if(!me(de,xe,we,Ee))continue;const qe=te(ce,de,xe,we,Ee);qe&&Re(qe,ze)&&(ze=qe)}return ze},"bestScoreForOptionPair"),He=x(ce=>{const de=E(),we=A(),ge=W(),ze=C(ce),xe=new Map(h.map(re=>[re,zc(g(re))])),Ee=new Map(h.map(re=>[re,k(g(re))])),qe=new Map,le=T(ce);for(const re of le)for(const Y of re){if(qe.has(Y))continue;const Q=Z(Y,ce,ge,ze);Q.length>0&&qe.set(Y,{edge:Y,candidates:Q})}let pe={replacements:new Map,crossings:ce.count,bends:de,length:we};const Te={current:ce,currentBends:de,currentLength:we,baseBendsByEdge:xe,baseLengthByEdge:Ee,baseSegments:ge};for(const re of le){const Y=new Set(re.filter(ue=>ce.edgeSet.has(ue))),Q=re.map(ue=>qe.get(ue)).filter(ue=>!!ue);for(let ue=0;ue<Q.length;ue++){const X=Q[ue];for(let fe=ue+1;fe<Q.length;fe++){const ee=Q[fe];!Y.has(X.edge)&&!Y.has(ee.edge)||(pe=_e(Te,X,ee,pe))}}}return pe.replacements.size>0?pe.replacements:void 0},"bestPairedReplacement");for(let ce=0;ce<4;ce++){const de=y(),we=de.count;if(we===0)return;let ge,ze,xe=we,Ee=Number.POSITIVE_INFINITY;for(const le of de.edges){const pe=zc(g(le),br);for(const Te of K(le)){const re=P(le,Te),Y=!re&&M(le,Te),Q=S(de,le,Te),ue=zc(Te,br);re||Y||!(Q<we||Q===we&&ue<pe)||Q>xe||Q===xe&&ue>=Ee||(ge=le,ze=Te,xe=Q,Ee=ue)}}if(ge&&ze){ge.points=ze;continue}const qe=He(de);if(!qe)return;for(const[le,pe]of qe)le.points=pe}}x(gNe,"resolveRenderedOrthogonalCrossings");var _p=.001,zXt=8;function mNe(t,e){const{nodeInfoById:r,realNodeRects:n}=IP(e),i=["top","bottom","left","right"],a=20,s={top:Math.min(...n.map(m=>m.rect.top))-a,bottom:Math.max(...n.map(m=>m.rect.bottom))+a,left:Math.min(...n.map(m=>m.rect.left))-a,right:Math.max(...n.map(m=>m.rect.right))+a},o=x((m,U,y,b)=>{const v=[],w=Zte(m,U,y,b,a,_p);return w&&v.push(w),U===b&&v.push(Jte(m,U,y,s[U])),v},"buildOrthogonalPathCandidates"),l=x((m,U)=>{for(let y=0;y<m.length-1;y++){const b=m[y],v=m[y+1];if(Qa(b,v,n,U,1))return!0}return!1},"pathHitsNode"),u=x((m,U,y=!1)=>{let b=0;const v=u4(m,_p),w=U.start,T=U.end;for(const S of t){if(S===U||S.isLayoutOnly)continue;const C=S.start,k=S.end;if(!y&&w&&T&&(C===w||C===T||k===w||k===T))continue;const E=S.points;if(!(!E||E.length<2))for(const A of v)for(const M of u4(E,_p)){if(ere(A.a,A.b,M.a,M.b,_p,_p)){b++;continue}zh(A,M,_p)>=zXt&&b++}}return b},"pathConflictCount"),d=4,h=x((m,U)=>{const y=Math.abs(m.y-U.rect.top),b=Math.abs(m.y-U.rect.bottom),v=Math.abs(m.x-U.rect.left),w=Math.abs(m.x-U.rect.right);let T="top",S=y;return b<S&&(T="bottom",S=b),v<S&&(T="left",S=v),w<S&&(T="right",S=w),T},"nearestSideOfRect"),f=new Map,p=x((m,U,y)=>{const b=f.get(m)??[];b.push({side:U,edgeId:y}),f.set(m,b)},"addFaceClaim");for(const m of t){if(m.isLayoutOnly)continue;const U=m.points??[];if(U.length<1)continue;const y=m.id??"",b=m.start,v=m.end;if(b){const w=r.get(b);w&&p(b,h(U[0],w),y)}if(v){const w=r.get(v);w&&p(v,h(U[U.length-1],w),y)}}const g=x((m,U,y)=>{var b;return((b=f.get(m))==null?void 0:b.some(v=>v.edgeId!==y&&v.side===U))??!1},"faceIsClaimed");for(const m of t){if(m.isLayoutOnly)continue;const U=m.points;if(!U||U.length<2)continue;const y=zc(U,_p);if(y<d)continue;const b=m.start,v=m.end;if(!b||!v)continue;const w=r.get(b),T=r.get(v);if(!w||!T)continue;const S=m.id??"",C=u(U,m,!0),k=u(U,m);let E,A=C,M=y;for(const P of i){if(g(b,P,S))continue;const N=gU(w,P);for(const I of i){if(g(v,I,S))continue;const L=gU(T,I);for(const _ of o(N,P,L,I)){if(l(_,[b,v]))continue;const D=zc(_,_p);if(C>0){const O=u(_,m,!0);if(O>A||O===A&&D>=M)continue;A=O,M=D,E=_;continue}u(_,m)>k||D<M&&(M=D,E=_)}}}if(E){m.points=E;const P=f.get(b);P&&f.set(b,P.filter(I=>I.edgeId!==S));const N=f.get(v);N&&f.set(v,N.filter(I=>I.edgeId!==S)),p(b,h(E[0],w),S),p(v,h(E[E.length-1],T),S)}}}x(mNe,"simplifyDetouredEdges");var cc=.001,Mge=10,DE=7;function Nj(t,e){const r=e?0:t.length-1,n=e?1:-1,i=t[r],a=t[r+n];if(!i||!a)return;const s=a.x-i.x,o=a.y-i.y;if(!(Math.abs(s)+Math.abs(o)<cc)){if(Math.abs(o)<=cc){const u=i.x+Math.sign(s)*Mge;return{left:Math.min(i.x,u),right:Math.max(i.x,u),top:i.y-DE,bottom:i.y+DE}}if(Math.abs(s)<=cc){const u=i.y+Math.sign(o)*Mge;return{left:i.x-DE,right:i.x+DE,top:Math.min(i.y,u),bottom:Math.max(i.y,u)}}return{left:Math.min(i.x,a.x),right:Math.max(i.x,a.x),top:Math.min(i.y,a.y),bottom:Math.max(i.y,a.y)}}}x(Nj,"markerClearanceRectFor");function UNe(t){return{left:Math.min(t.left,t.right),right:Math.max(t.left,t.right),top:Math.min(t.top,t.bottom),bottom:Math.max(t.top,t.bottom)}}x(UNe,"normalizeRect");function Oj(t,e){const r=Qn(e),n=Nj(r,!0),i=Nj(r,!1);return[n,i].some(a=>a&&VL(t,UNe(a)))}x(Oj,"labelOverlapsOwnMarker");function dM(t,e){const r=[];for(const g of t){if(g.isLayoutOnly)continue;const m=g.points;if(!(!m||m.length<2))for(let U=0;U<m.length-1;U++)r.push({edgeId:g.id,p1:m[U],p2:m[U+1]})}const n=[],i=[];for(const g of e.values()){const m=g.isGroup,U=g.parentId;if(m&&!U){const b=Sc(g);b&&i.push({id:g.id,rect:b});continue}if(m||g.isEdgeLabel)continue;const y=Sc(g);y&&n.push({nodeId:g.id,rect:y})}const a=3,s=1,o=12,l=x((g,m)=>{const U=Uj(m,a);for(const{nodeId:y,rect:b}of n)if(y!==g&&VL(U,b))return!0;return!1},"labelOverlapsForeignNode"),u=x((g,m)=>{const U=Uj(m,a);for(const y of r)if(y.edgeId!==g&&RP(y.p1,y.p2,U))return!0;return!1},"labelOverlapsForeignEdge"),d=x((g,m,U)=>l(g,U)||u(m,U),"labelOverlapsAnything"),h=[],f=x(g=>{for(const{id:m,rect:U}of i)if(WLe(U,g))return m},"findContainingLane"),p=x((g,m)=>h.some(U=>U.labelId!==g&&VL(m,U.rect)),"overlapsPlacedLabel");for(const g of t){if(g.isLayoutOnly)continue;const m=g.labelNodeId;if(!m)continue;const U=e.get(m);if(!U)continue;const y=g.points;if(!y||y.length<2)continue;const b=U.width??0,v=U.height??0;if(b<=0||v<=0)continue;const w=[];for(let z=0;z<y.length-1;z++){const $=y[z],H=y[z+1],V=Math.abs($.x-H.x),G=Math.abs($.y-H.y);V<cc&&G<cc||V>=cc&&G>=cc||w.push({idx:z,length:V+G,orientation:V>=cc?"horizontal":"vertical",midX:($.x+H.x)/2,midY:($.y+H.y)/2})}if(w.length===0)continue;const T=w.length>=3?w.filter(z=>z.idx>0&&z.idx<w.length-1):w,S=T.length>0?T:w,C=b>=v?"horizontal":"vertical",k=x(z=>[...z].sort(($,H)=>{const V=$.orientation===C,G=H.orientation===C;if(V!==G)return V?-1:1;const K=$.length>=($.orientation==="horizontal"?b:v)+2,W=H.length>=(H.orientation==="horizontal"?b:v)+2;return K!==W?K?-1:1:H.length-$.length}),"rankSegments"),E=w[0],A=w[w.length-1],M=[.5,.25,.75,.05,.95,.15,.85,.1,.9],P=x((z,$)=>{const H=y[z.idx],V=y[z.idx+1];return{midX:H.x+(V.x-H.x)*$,midY:H.y+(V.y-H.y)*$}},"anchorAtT"),N=x((z,$,H)=>Math.min(H,Math.max($,z)),"clamp"),I=x((z,$)=>z.midX>=$.left-cc&&z.midX<=$.right+cc&&z.midY>=$.top-cc&&z.midY<=$.bottom+cc,"pointInsideRectInclusive"),L=x(z=>{const $=bb(z.midX,z.midY,b,v),H=f($);if(H)return{laneId:H,anchor:z,rect:$};const V=i.find(({rect:ne})=>I(z,ne));if(!V)return;const G=V.rect.left+b/2+s,K=V.rect.right-b/2-s,W=V.rect.top+v/2+s,oe=V.rect.bottom-v/2-s;if(G>K||W>oe)return;const Z={midX:N(z.midX,G,K),midY:N(z.midY,W,oe)},J=bb(Z.midX,Z.midY,b,v);return I(z,J)?{laneId:V.id,anchor:Z,rect:J}:void 0},"placementForAnchor"),_=x((z,$,H)=>z.orientation==="horizontal"?Math.abs($.midX-H.x):Math.abs($.midY-H.y),"distanceAlongSegment"),D=x((z,$)=>{const V=(z.orientation==="horizontal"?b/2:v/2)+o;if(z===E){const G=y[z.idx];if(_(z,$,G)+cc<V)return!1}if(z===A){const G=y[z.idx+1];if(_(z,$,G)+cc<V)return!1}return!0},"labelClearsTerminalEndpoints"),O=x(z=>{const $=k(z);for(const H of $)for(const V of M){const G=P(H,V);if(!D(H,G))continue;const K=L(G);if(K&&!Oj(K.rect,y)&&!p(m,K.rect)&&!d(m,g.id,K.rect))return{laneId:K.laneId,anchor:K.anchor}}},"tryPool"),B=x((z,$,H=!1)=>{const V=k(z);for(const G of V){const K={midX:G.midX,midY:G.midY};if($&&!D(G,K))continue;const W=L(K);if(W&&!Oj(W.rect,y)&&!p(m,W.rect)&&!l(m,W.rect)&&(H||!u(g.id,W.rect)))return{laneId:W.laneId,anchor:W.anchor}}},"findLaneContainingFallback"),F=O(S)??(S.length<w.length?O(w):void 0)??B(w,!0)??B(w,!1)??B(w,!1,!0);if(F){U.x=F.anchor.midX,U.y=F.anchor.midY,U.parentId=F.laneId;const z=bb(F.anchor.midX,F.anchor.midY,b,v),$=h.findIndex(H=>H.labelId===m);$>=0?h[$]={labelId:m,rect:z}:h.push({labelId:m,rect:z})}}}x(dM,"anchorLabelsToPolyline");var nz=1e-6,HXt=8,Rge=HXt/2,VXt=3;function Dj(t,e){return t<e?`${t}::${e}`:`${e}::${t}`}x(Dj,"pairKey");function yNe(t,e){const{nodeInfoById:r,realNodeRects:n}=IP(e),i=new Map;for(const s of e){const o=s.id;if(!s.isGroup&&s.isEdgeLabel){i.set(o,{w:s.width??0,h:s.height??0});continue}}const a=x((s,o,l,u)=>{const d=Dj(o,l);let h=0;const f=x(p=>{if(!p)return;const g=i.get(p);if(!g)return;const m=u==="x"?g.w/2:g.h/2;m>h&&(h=m)},"consider");f(s.labelNodeId);for(const p of t){if(p===s||p.isLayoutOnly)continue;const g=p.start,m=p.end;!g||!m||Dj(g,m)===d&&f(p.labelNodeId)}return h>0?h+VXt:0},"labelClearanceFor");for(const s of t){if(s.isLayoutOnly)continue;const o=s.points;if(!Xte(o,nz))continue;const l=Qte(s,r,nz);if(!l)continue;const{srcId:u,dstId:d,srcInfo:h,dstInfo:f,collinearX:p,collinearY:g}=l;if(p===g)continue;let m,U;if(p){const T=f.cy>h.cy;m={x:h.cx,y:T?h.rect.bottom:h.rect.top},U={x:f.cx,y:T?f.rect.top:f.rect.bottom}}else{const T=f.cx>h.cx;m={x:T?h.rect.right:h.rect.left,y:h.cy},U={x:T?f.rect.left:f.rect.right,y:f.cy}}if(Qa(m,U,n,[u,d],1))continue;const b=a(s,u,d,p?"x":"y"),v=b>Rge?b:Rge,w=[0,v,-v];for(const T of w){const S={...m},C={...U};if(p){if(S.x+=T,C.x+=T,S.x<=h.rect.left||S.x>=h.rect.right||C.x<=f.rect.left||C.x>=f.rect.right)continue}else if(S.y+=T,C.y+=T,S.y<=h.rect.top||S.y>=h.rect.bottom||C.y<=f.rect.top||C.y>=f.rect.bottom)continue;if(!Qa(S,C,n,[u,d],1)&&!GL(S,C,t,s,{epsilon:nz})){s.points=[S,C];break}}}}x(yNe,"straightenCollinearSiblingDetours");function Pj(t,e){const{realNodeRects:l,labelNodeRects:u}=M1(e.values()),d=x((T,S)=>u4(S,.001).map(C=>({...C,edge:T,interior:C.index>=1&&C.index<=S.length-3})),"segmentsFor"),h=x(()=>{const T=[];for(const S of t){if(S.isLayoutOnly)continue;const C=S.points;!C||C.length<2||T.push(...d(S,Qn(C)))}return T},"allSegments"),f=x((T,S)=>T.horizontal&&S.horizontal?Vl(T.a.x,T.b.x,S.a.x,S.b.x)>=8&&Math.abs(T.a.y-S.a.y)<7:T.vertical&&S.vertical?Vl(T.a.y,T.b.y,S.a.y,S.b.y)>=8&&Math.abs(T.a.x-S.a.x)<7:!1,"hasCrowdedParallelTrack"),p=x((T,S)=>{const C=T.start,k=T.end,E=d(T,S);if(E.length!==S.length-1)return!1;const A=[C,k].filter(P=>!!P),M=T.labelNodeId?[T.labelNodeId]:[];for(const P of E)if(Qa(P.a,P.b,l,A,-2)||Qa(P.a,P.b,u,M,-2))return!1;for(const P of t){if(P===T||P.isLayoutOnly)continue;const N=P.points;if(!(!N||N.length<2)){for(const I of E)for(const L of d(P,Qn(N)))if(f(I,L)||pp(I.a,I.b,L.a,L.b,.001))return!1}}return!0},"candidateIsSafe"),g=x((T,S)=>{const C=Qn(T.edge.points??[]);if(C.length<4||T.index>=C.length-1)return;const k=C.map(E=>({...E}));if(T.horizontal)k[T.index].y+=S,k[T.index+1].y+=S;else if(T.vertical)k[T.index].x+=S,k[T.index+1].x+=S;else return;return d(T.edge,k).length===k.length-1?k:void 0},"shiftedCandidate"),m=x((T,S)=>({x:T.x??(S.left+S.right)/2,y:T.y??(S.top+S.bottom)/2}),"nodeCenter"),U=x(T=>{const S=T.edge,C=Qn(S.points??[]);if(C.length!==4||T.index!==1)return;const k=S.start?e.get(S.start):void 0,E=S.end?e.get(S.end):void 0,A=k?Sc(k):void 0,M=E?Sc(E):void 0,P=C.slice(T.index+2);if(!(!k||!E||!A||!M||P.length===0))return{sourceCenter:m(k,A),targetCenter:m(E,M),sourceRect:A,tail:P}},"sourceDetourContextFor"),y=x((T,S,C,k,E,A)=>{const M=k.y>=C.y,P=M?E.bottom:E.top,N=P+(M?20:-20);if(M&&T.b.y<=N+.001||!M&&T.b.y>=N-.001)return;const I=T.a.x+S;return Qn([{x:C.x,y:P},{x:C.x,y:N},{x:I,y:N},{x:I,y:T.b.y},...A],.001)},"verticalSourceDetour"),b=x((T,S,C,k,E,A)=>{const M=k.x>=C.x,P=M?E.right:E.left,N=P+(M?20:-20);if(M&&T.b.x<=N+.001||!M&&T.b.x>=N-.001)return;const I=T.a.y+S;return Qn([{x:P,y:C.y},{x:N,y:C.y},{x:N,y:I},{x:T.b.x,y:I},...A],.001)},"horizontalSourceDetour"),v=x((T,S)=>{const C=U(T);if(C){if(T.vertical)return y(T,S,C.sourceCenter,C.targetCenter,C.sourceRect,C.tail);if(T.horizontal)return b(T,S,C.sourceCenter,C.targetCenter,C.sourceRect,C.tail)}},"sourceDetourCandidate"),w=[-7,7,-14,14,-21,21];for(let T=0;T<12;T++){const S=h();let C=!1;for(let k=0;k<S.length&&!C;k++)for(let E=k+1;E<S.length&&!C;E++){const A=S[k],M=S[E];if(A.edge===M.edge||!f(A,M))continue;const P=[A,M].filter(N=>N.interior);for(const N of P){for(const I of w){const L=g(N,I);if(L&&p(N.edge,L)){N.edge.points=L,C=!0;break}const _=v(N,I);if(_&&p(N.edge,_)){N.edge.points=_,C=!0;break}}if(C)break}}if(!C)return}}x(Pj,"nudgeSharedInteriorSubpaths");function bNe(t,e,r,n){const i=e.x-t.x,a=e.y-t.y,s=n.x-r.x,o=n.y-r.y,l=i*o-a*s;if(Math.abs(l)<1e-10)return!1;const u=r.x-t.x,d=r.y-t.y,h=(u*o-d*s)/l,f=(u*a-d*i)/l,p=.01;return h>p&&h<1-p&&f>p&&f<1-p}x(bNe,"segmentsIntersect");function vNe(t){const e=t.nodes??[],r=t.edges??[],n=[];if(!r.length||!e.length)return n;const i=qLe(e),a=[];for(const o of r){if(o.isLayoutOnly)continue;const l=o.points;if(!l||l.length<2)continue;const u=o.start,d=o.end,h=o.labelNodeId,f=o.id??`${u}->${d}`;for(const p of i)if(!(p.nodeId===u||p.nodeId===d)&&!(h&&p.nodeId===h)){for(let g=0;g<l.length-1;g++)if(RP(l[g],l[g+1],p,-1)){n.push({type:"edge-node-overlap",edgeId:f,targetId:p.nodeId,detail:`segment ${g} passes through node "${p.nodeId}"`});break}}for(let p=0;p<l.length-1;p++)a.push({edgeId:f,start:u,end:d,p1:l[p],p2:l[p+1]})}const s=new Set;for(let o=0;o<a.length;o++)for(let l=o+1;l<a.length;l++){const u=a[o],d=a[l];if(u.edgeId!==d.edgeId&&!(u.start===d.start||u.start===d.end||u.end===d.start||u.end===d.end)&&bNe(u.p1,u.p2,d.p1,d.p2)){const h=u.edgeId<d.edgeId?`${u.edgeId}|${d.edgeId}`:`${d.edgeId}|${u.edgeId}`;s.has(h)||(s.add(h),n.push({type:"edge-edge-crossing",edgeId:u.edgeId,targetId:d.edgeId,detail:`edges "${u.edgeId}" and "${d.edgeId}" cross`}))}}if(n.length>0){const o=n.filter(u=>u.type==="edge-node-overlap").length,l=n.filter(u=>u.type==="edge-edge-crossing").length;he.warn(`[SWIMLANE_VALIDATE] ${n.length} issue(s) detected: ${o} edge-node overlap(s), ${l} edge crossing(s)`);for(const u of n)he.warn(`[SWIMLANE_VALIDATE] ${u.type}: ${u.detail}`)}return n}x(vNe,"validateSwimlanesLayout");function xNe(t,e){const r=t.nodes??[],n=t.edges??[],i=r.filter(o=>!o.isGroup);if((e==="LR"||e==="RL")&&i.length>0&&!oNe(t,e)||e==="BT"&&i.length>0&&!sNe(t))return;for(const o of n){if(o.isLayoutOnly)continue;const l=o.points;!l||l.length<2||(o.points=Jh(WL(l)))}mNe(n,r),yNe(n,r),lNe(n,r);const a=new Map;for(const o of r)a.set(String(o.id),o);dM(n,a),ZLe(n,a),cNe(n,a),Pj(n,a),uNe(n,a),dNe(n,a),Rj(n,a),hNe(n,a);const s=x(()=>{gNe(n,a),fNe(n,a),pNe(n,a),dM(n,a),Aj(n,a),Rj(n,a),dM(n,a),Aj(n,a)},"finalizeRenderedEdges");s(),Pj(n,a),s(),Ij(n,a),Lj(n,a),Ij(n,a),Lj(n,a)}x(xNe,"postProcessSwimlaneLayout");function R1(t){const e=new Map(t.nodeById),r=new Set,n=[];for(const a of t.edges){if(!e.has(a.src)||!e.has(a.dst))continue;const s=`${a.id}:${a.src}->${a.dst}`;r.has(s)||(r.add(s),n.push(a))}return{nodes:[...e.keys()],edges:n,layout:t.layout,nodeById:e}}x(R1,"normalizeGraph");function are(t,e){return t.edges.filter(r=>r.dst===e)}x(are,"incoming");function wNe(t){const e=new Map;for(const r of t.nodes)e.set(r,[]);for(const r of t.edges)e.get(r.src).push(r.dst);return e}x(wNe,"buildSuccessorMap");function sre(t){const e=wNe(t);for(const r of e.values())r.sort((n,i)=>n.localeCompare(i));return e}x(sre,"buildSortedSuccessorMap");function ore(t){const e=new Map;for(const r of t.nodes)e.set(r,0);for(const r of t.edges)e.set(r.dst,(e.get(r.dst)??0)+1);return e}x(ore,"buildInDegreeMap");function lre(t){return[...t.entries()].filter(([,e])=>e===0).map(([e])=>e).sort((e,r)=>e.localeCompare(r))}x(lre,"sortedZeroInDegreeNodes");function LP(t,e=()=>!0){const r=new Map,n=new Map;for(const i of t.nodes)r.set(i,[]),n.set(i,[]);for(const i of t.edges)e(i)&&(n.get(i.src).push(i.dst),r.get(i.dst).push(i.src));return{preds:r,succs:n}}x(LP,"buildPredecessorSuccessorMaps");function cre(t,e,r,n){var s,o;let i=0;for(const l of t.nodes)n!=null&&n.skipGroups&&((s=t.nodeById.get(l))!=null&&s.isGroup)||(i=Math.max(i,r[l]??0));const a=Array.from({length:i+1},()=>[]);for(const l of e)n!=null&&n.skipGroups&&((o=t.nodeById.get(l))!=null&&o.isGroup)||a[Math.max(0,r[l]??0)].push(l);return a}x(cre,"buildLayersFromRanks");function xS(t){const e=ore(t),r=lre(e),n=[],i=sre(t);for(;r.length;){const a=r.shift();n.push(a);for(const s of i.get(a)??[])if(e.set(s,(e.get(s)??0)-1),(e.get(s)??0)===0){let o=0;for(;o<r.length&&r[o]<s;)o++;r.splice(o,0,s)}}return n.length===t.nodes.length?n:null}x(xS,"topoSortIfAcyclic");function d4(t){const e=new Map;let r=0;for(const n of t)e.set(n,r),r++;return e}x(d4,"buildLayerIndex");function ure(t){const e=new Array(t.length),r=x((n,i)=>{if(i-n<=1)return 0;const a=n+i>>1;let s=r(n,a)+r(a,i),o=n,l=a,u=n;for(;o<a||l<i;)l>=i||o<a&&t[o]<=t[l]?e[u++]=t[o++]:(e[u++]=t[l++],s+=a-o);for(let d=n;d<i;d++)t[d]=e[d];return s},"count");return r(0,t.length)}x(ure,"countInversions");function TNe(t){const e=R1(t),r=new Map;for(const d of e.nodes)r.set(d,[]);for(const d of e.edges)r.get(d.src).push(d);for(const d of r.values())d.sort((h,f)=>h.dst===f.dst?h.id.localeCompare(f.id):h.dst.localeCompare(f.dst));const n=Object.create(null);for(const d of e.nodes)n[d]=0;const i=[],a=x(d=>{n[d]=1;for(const h of r.get(d)??[]){const f=h.dst;n[f]===0?a(f):n[f]===1&&i.push(h)}n[d]=2},"dfs"),s=[...e.nodes].sort((d,h)=>d.localeCompare(h));for(const d of s)n[d]===0&&a(d);const o=new Set(i.map(d=>`${d.id}:${d.src}->${d.dst}`)),l=e.edges.map(d=>o.has(`${d.id}:${d.src}->${d.dst}`)?{id:d.id,src:d.dst,dst:d.src,weight:d.weight,ref:d.ref}:d);return{acyclic:{nodes:[...e.nodes],edges:l,layout:e.layout,nodeById:new Map(e.nodeById)},reversed:i}}x(TNe,"removeCycles_DFS");function CNe(t){const e=new Map,r=x(n=>{if(e.has(n))return e.get(n);const i=t.nodeById.get(n);if(!i)return e.set(n,null),null;const a=i.parentId;if(!a)return e.set(n,null),null;const o=r(a)??a;return e.set(n,o),o},"resolve");for(const n of t.nodes)r(n);return e}x(CNe,"buildTopLaneMap");function gp(t){const e=CNe(t);return r=>e.get(r)??null}x(gp,"createTopLaneResolver");function NP(t){const e=[];for(const r of t.layout.nodes??[])r.isGroup&&!r.parentId&&e.push(r.id);return[...new Set(e)].reverse()}x(NP,"buildTopLaneOrder");function dre(t,e){const r=NP(t);if(!e||e.length===0)return r;const n=new Set(r),i=new Set,a=[];for(const s of e)!n.has(s)||i.has(s)||(i.add(s),a.push(s));for(const s of r)i.has(s)||a.push(s);return a}x(dre,"resolveTopLaneOrder");var GXt={EPSILON:1e-6},KL={GRAVITY_ITERATIONS:8,MAX_CROSSING_OPTIMIZATION_PASSES:4,DEFAULT_COMPACT_SINGLE_INPUT:!0},Ige={DEFAULT_LAYER_GAP:100,DEFAULT_NODE_GAP:40};function SNe(t,e){const r=R1(t),n=(e==null?void 0:e.laneOf)??(()=>null),i=e==null?void 0:e.rankHint,{preds:a}=LP(r);for(const T of a.values())T.sort((S,C)=>S.localeCompare(C));const s=xS(r)??[...r.nodes].sort((T,S)=>T.localeCompare(S)),o=new Map;for(const[T,S]of s.entries())o.set(S,T);const l=new Map,u=new Map;for(const T of r.nodes)u.set(T,[]);for(const T of s){const S=(a.get(T)??[]).filter(C=>l.has(C));if(S.length>0){const C=kNe(T,S,{laneOf:n,rankHint:i,topoIndex:o});l.set(T,C),u.get(C).push(T)}else l.has(T)||l.set(T,null)}for(const T of r.nodes)l.has(T)||l.set(T,null);const d=new Set;for(const T of r.nodes)(l.get(T)??null)===null&&d.add(T);const h=[...d].sort((T,S)=>{const C=o.get(T)??0,k=o.get(S)??0;return C===k?T.localeCompare(S):C-k}),f=ENe(r),p=new Map;for(const[T,S]of f.entries())p.set(T,[...S].sort((C,k)=>C.localeCompare(k)));const g=ANe(p),m=MNe(p),U=new Map;for(const T of r.nodes)U.set(T,[]);for(const T of m)for(const S of T.nodes){const C=U.get(S);C?C.push(T.id):U.set(S,[T.id])}const y=[],b=[],v=new Set,w=x(T=>{if(!v.has(T)){v.add(T),y.push(T);for(const S of u.get(T)??[])w(S);b.push(T)}},"walk");for(const T of h)w(T);for(const T of s)w(T);return{parent:l,children:u,roots:h,componentOf:g,blocks:m,nodeBlocks:U,adjacency:p,preorder:y,postorder:b,topologicalOrder:s}}x(SNe,"buildDrivingTree");function kNe(t,e,r){const n=r.laneOf(t);return[...e].sort((a,s)=>{var m,U;const o=r.laneOf(a),l=r.laneOf(s),u=o!=null&&o===n,d=l!=null&&l===n;if(u!==d)return u?-1:1;const h=(m=r.rankHint)==null?void 0:m[a],f=(U=r.rankHint)==null?void 0:U[s];if(h!=null&&f!=null&&h!==f)return f-h;const p=r.topoIndex.get(a)??0,g=r.topoIndex.get(s)??0;return p!==g?p-g:a.localeCompare(s)})[0]}x(kNe,"chooseParent");function ENe(t){const e=new Map;for(const r of t.nodes)e.set(r,new Set);for(const r of t.edges)e.get(r.src).add(r.dst),e.get(r.dst).add(r.src);return e}x(ENe,"buildAdjacency");function ANe(t){const e=new Map;let r=0;for(const n of t.keys()){if(e.has(n))continue;const i=[n];for(;i.length>0;){const a=i.pop();if(!e.has(a)){e.set(a,r);for(const s of t.get(a)??[])e.has(s)||i.push(s)}}r++}return e}x(ANe,"assignComponents");function MNe(t){const e=new Map,r=new Map,n=[],i=[];let a=0;const s=x((o,l)=>{e.set(o,++a),r.set(o,a);for(const u of t.get(o)??[])u!==l&&(e.has(u)?(e.get(u)??0)<(e.get(o)??0)&&(n.push([o,u]),r.set(o,Math.min(r.get(o)??a,e.get(u)??a))):(n.push([o,u]),s(u,o),r.set(o,Math.min(r.get(o)??a,r.get(u)??a)),(r.get(u)??0)>=(e.get(o)??0)&&i.push(RNe(o,u,n,i.length))))},"visit");for(const o of t.keys())e.has(o)||s(o,null);return i}x(MNe,"computeBlocks");function RNe(t,e,r,n){const i=[],a=new Set;for(;r.length>0;){const s=r.pop();if(i.push(s),a.add(s[0]),a.add(s[1]),s[0]===t&&s[1]===e||s[0]===e&&s[1]===t)break}return{id:n,edges:i,nodes:[...a]}}x(RNe,"popBlock");function INe(t,e,r){const n=[...t.nodes],i=new Map;for(const[b,v]of n.entries())i.set(v,b);const a=n.length,s=new Array(a).fill(-1),o=new Array(a).fill(0),l=[],u=new Set;for(const b of n){const v=r.parent.get(b)??null,w=i.get(b);w!=null&&v==null&&(s[w]=-1,o[w]=0,u.has(b)||(u.add(b),l.push(b)))}for(;l.length>0;){const b=l.shift(),v=i.get(b);if(v==null)continue;const w=r.children.get(b)??[];for(const T of w){if(u.has(T))continue;const S=i.get(T);S!=null&&(s[S]=v,o[S]=o[v]+1,u.add(T),l.push(T))}}for(const b of n){if(u.has(b))continue;const v=i.get(b);v!=null&&(s[v]=-1,o[v]=0,u.add(b))}const d=Math.max(1,Math.ceil(Math.log2(Math.max(1,a)))+1),h=Array.from({length:d},()=>new Array(a).fill(-1));for(let b=0;b<a;b++)h[0][b]=s[b];for(let b=1;b<d;b++)for(let v=0;v<a;v++){const w=h[b-1][v];h[b][v]=w===-1?-1:h[b-1][w]}const f=x((b,v)=>{if(b===-1||v===-1)return-1;o[b]<o[v]&&([b,v]=[v,b]);const w=o[b]-o[v];for(let T=0;T<d;T++)if(w>>T&1&&(b=h[T][b],b===-1))return-1;if(b===v)return b;for(let T=d-1;T>=0;T--){const S=h[T][b],C=h[T][v];S===-1||C===-1||S!==C&&(b=S,v=C)}return h[0][b]},"lcaIndex"),p=Array.from({length:a},()=>new Map);for(const b of t.edges){let v=b.src,w=b.dst,T=e[v],S=e[w];if(T==null||S==null||(T>S&&([v,w]=[w,v],[T,S]=[S,T]),T==null||S==null||T===S))continue;const C=i.get(v),k=i.get(w);if(C==null||k==null)continue;const E=f(C,k);if(E===-1)continue;const A=p[E];for(let M=T;M<S;M++)A.set(M,(A.get(M)??0)+1)}const g=new Map,m=x((b,v)=>{if(v.size!==0)for(const[w,T]of v)b.set(w,(b.get(w)??0)+T)},"mergeInto"),U=new Set,y=x(b=>{const v=i.get(b);U.add(b);const w=v==null?void 0:p[v],T=w?new Map(w):new Map,S=r.children.get(b)??[];for(const C of S){const k=y(C),E=e[b];if(E!=null){let A=g.get(b);A||(A=new Map,g.set(b,A));let M=k.get(E)??0;const P=e[C];P!=null&&P>E&&(M+=1),A.set(C,M)}m(T,k)}return T},"dfs");for(const b of r.roots)U.has(b)||y(b);for(const b of n)U.has(b)||y(b);return g}x(INe,"computeSubtreeCrossCounts");function LNe(t,e,r){const n=new Map,i=x(a=>{let s=r[a]??0;const o=[...e.get(a)??[]];o.sort(hre(r));for(const l of o){i(l);const u=n.get(l);u!=null&&(s=Math.min(s,u))}n.set(a,s)},"annotate");for(const a of t)i(a);return n}x(LNe,"annotateMinimumLayers");function hre(t){return(e,r)=>{const n=t[e]??0,i=t[r]??0;return n===i?e.localeCompare(r):n-i}}x(hre,"compareByRankThenId");function NNe(t,e,r,n){let i=0;for(const l of e){const u=r[l]??0;u>i&&(i=u)}const a=Array.from({length:i+1},()=>[]),s=new Set,o=x(l=>{if(s.has(l))return;s.add(l);const u=r[l]??0;a[u]||(a[u]=[]),a[u].push(l);for(const d of n(l))o(d)},"emit");for(const l of t)o(l);for(const l of e)if(!s.has(l)){const u=r[l]??0;a[u]||(a[u]=[]),a[u].push(l),s.add(l)}return a}x(NNe,"emitNodesInTreeOrder");function ONe(t){const e=[];for(const r of t){const n=new Set,i=[];for(const a of r)n.has(a)||(n.add(a),i.push(a));e.push(i)}return e}x(ONe,"deduplicateLayers");function DNe(t,e,r,n){return i=>{const a=t.get(i)??[];if(a.length===0)return[];const s=e[i]??0,o=[],l=[],u=r.get(i);for(const d of a){const h=n.get(d)??s;h>s?o.push({child:d,min:h}):l.push(d)}return o.sort((d,h)=>d.min===h.min?d.child.localeCompare(h.child):d.min-h.min),l.sort((d,h)=>{const f=(u==null?void 0:u.get(d))??0,p=(u==null?void 0:u.get(h))??0;if(f!==p)return f-p;const g=n.get(d)??s,m=n.get(h)??s;return g!==m?g-m:d.localeCompare(h)}),[...o.map(d=>d.child),...l]}}x(DNe,"createChildOrderer");function ZL(t,e,r){const n=SNe(t,{rankHint:e,laneOf:r}),{children:i,roots:a}=n;for(const h of t.nodes)i.has(h)||i.set(h,[]);const s=INe(t,e,n),o=[...a].sort(hre(e)),l=LNe(o,i,e),u=DNe(i,e,s,l);let d=NNe(o,t.nodes,e,u);return d=ONe(d),d}x(ZL,"buildMultitreeLayerOrder");function PNe(t,e,r){const n=new Set(t),i=new Set(e),a=d4(e),s=[];for(const o of r)n.has(o.src)&&i.has(o.dst)&&s.push(a.get(o.dst));return ure(s)}x(PNe,"countCrossingsBetweenAdjacent");function _j(t,e,r){const n=[];for(const a of e){const s=r[a.src],o=r[a.dst];if(s==null||o==null||s===o)continue;let l=a.src,u=a.dst,d=s,h=o;s>o&&(l=a.dst,u=a.src,d=o,h=s);for(let f=d;f<h;f++)n.push({id:`${a.id}@${f}`,src:l,dst:u,ref:a.ref})}let i=0;for(let a=0;a+1<t.length;a++)i+=PNe(t[a],t[a+1],n);return i}x(_j,"totalCrossings");function _Ne(t,e){const r={...e},{preds:n}=LP(t),i=gp(t),a=ZL(t,r,i);let s=_j(a,t.edges,r);const o=KL.MAX_CROSSING_OPTIMIZATION_PASSES;for(let l=0;l<o;l++){let u=!1;const d=[...t.nodes].sort((h,f)=>(r[f]??0)-(r[h]??0));for(const h of d){const f=r[h]??0;if(f===0)continue;let p=0;for(const y of n.get(h)??[])p=Math.max(p,(r[y]??0)+1);if(p>=f)continue;const g=f;r[h]=p;const m=ZL(t,r,i),U=_j(m,t.edges,r);U<s?(s=U,u=!0):r[h]=g}if(!u)break}return r}x(_Ne,"optimizeRanksByCrossings");function BNe(t,e){const r=gp(t),n=[...t.nodes].sort((i,a)=>(e[i]??0)-(e[a]??0)||i.localeCompare(a));for(const i of n){const a=r(i);if(!a)continue;const s=t.edges.filter(m=>m.src===i);if(s.length===0)continue;let o=!1,l=0;for(const m of s){const U=r(m.dst);U==null||U===a?o=!0:l++}if(l===0||o)continue;let u=0,d=!1;for(const m of t.edges){if(m.dst!==i)continue;const U=r(m.src);U&&(U===a?d=!0:u++)}if(u>0||!d)continue;const h=e[i]??0,f=h+l;let p=0;for(const m of t.edges)m.dst===i&&(p=Math.max(p,(e[m.src]??0)+1));const g=Math.max(h,p,f);g!==h&&(e[i]=g)}}x(BNe,"adjustCrossLaneSources");function $Ne(t,e){const r=R1(t),n=xS(r)??[...r.nodes].sort(),i=(e==null?void 0:e.compactSingleInput)??!1,a=gp(r);let s=Object.create(null);for(const l of n){const u=are(r,l),d=e!=null&&e.ignoreCrossLaneEdges?u.filter(h=>{const f=a(h.src),p=a(l);return!f||!p?!0:f===p}):u;if(d.length===0)s[l]=0;else if(i&&d.length===1){const h=d[0].src,f=a(h),p=a(l);f!==p?s[l]=s[h]??0:s[l]=(s[h]??0)+1}else{let h=-1/0;for(const f of d)h=Math.max(h,(s[f.src]??0)+1);s[l]=h===-1/0?0:h}}return((e==null?void 0:e.optimizeRanksByCrossings)??!1)&&(s=_Ne(r,s)),e!=null&&e.ignoreCrossLaneEdges&&BNe(r,s),{layers:ZL(r,s,a),rankOf:s,dummy:new Set}}x($Ne,"assignLayers_LongestPath");function FNe(t,e){const r=R1(t),i={...$Ne(r,{compactSingleInput:e==null?void 0:e.compactSingleInput,ignoreCrossLaneEdges:e==null?void 0:e.ignoreCrossLaneEdges,optimizeRanksByCrossings:e==null?void 0:e.optimizeRanksByCrossings}).rankOf},a=gp(r),{preds:s,succs:o}=LP(r,g=>{if(e!=null&&e.ignoreCrossLaneEdges){const m=a(g.src),U=a(g.dst);if(m&&U&&m!==U)return!1}return!0}),l=xS(r)??[...r.nodes],u=[...l].reverse(),d=x((g,m)=>{let U=0;for(const v of s.get(g)??[])U=Math.max(U,(i[v]??0)+1);let y=Number.POSITIVE_INFINITY;const b=o.get(g)??[];return b.length>0&&(y=Math.min(...b.map(v=>(i[v]??0)-1))),Number.isFinite(y)||(y=Math.max(U,m)),Math.min(Math.max(m,U),y)},"clampFeasible"),h=KL.GRAVITY_ITERATIONS,f=x(g=>{let m=!1;for(const U of g){const y=s.get(U)??[],b=o.get(U)??[];if(y.length===0&&b.length===0)continue;const v=y.length>0?y.reduce((C,k)=>C+(i[k]??0)+1,0)/y.length:i[U]??0,w=b.length>0?b.reduce((C,k)=>C+(i[k]??0)-1,0)/b.length:i[U]??0,T=Math.round((v+w)/2),S=d(U,T);S!==i[U]&&(i[U]=S,m=!0)}return m},"relaxOrder");for(let g=0;g<h;g++){const m=f(l),U=f(u);if(!m&&!U)break}for(const g of l){let m=0;for(const U of s.get(g)??[])m=Math.max(m,(i[U]??0)+1);(i[g]??0)<m&&(i[g]=m)}for(const g of u){const m=o.get(g)??[];if(m.length>0){const U=Math.min(...m.map(y=>(i[y]??0)-1));(i[g]??0)>U&&(i[g]=U)}}return{layers:cre(r,l,i),rankOf:i,dummy:new Set}}x(FNe,"assignLayers_Gravity");function zNe(t){const e=ore(t),r=sre(t);let n=lre(e);const i=[];for(;n.length>0;){const a=[];for(const s of n){i.push(s);for(const o of r.get(s)??[])e.set(o,(e.get(o)??0)-1),(e.get(o)??0)===0&&a.push(o)}n=a.sort((s,o)=>s.localeCompare(o))}return i.length===t.nodes.length?i:null}x(zNe,"topoSortByGenerationIfAcyclic");function HNe(t,e){const r=R1(t),n=(e==null?void 0:e.direction)==="LR"?zNe(r)??[...r.nodes].sort():xS(r)??[...r.nodes].sort(),i=gp(r),a=x(d=>i(d)??d,"laneOf"),s=Object.create(null),o=new Map,l=x((d,h)=>(e==null?void 0:e.ignoreCrossLaneEdges)??!0?a(d)===a(h)?1:0:1,"edgeWeight");for(const d of n){const h=r.nodeById.get(d);if(h!=null&&h.isGroup)continue;const f=are(r,d);let p=0;if(f.length>0)for(const y of f){const b=y.src,v=s[b]??0;p=Math.max(p,v+l(b,d))}const g=a(d),m=o.get(g)??0,U=Math.max(p,m);s[d]=U,o.set(g,U+1)}return{layers:cre(r,n,s,{skipGroups:!0}),rankOf:s,dummy:new Set}}x(HNe,"assignLayers_LaneAwareCompact");function VNe(t,e){const r=R1(e),{rankOf:n}=t,i=t.layers.map(p=>[...p]),a=new Set(t.dummy?[...t.dummy]:[]);let s=0;const o=new Map(r.nodeById),l=x(p=>{const g=`placeholder-${s++}`,m={id:g,isGroup:!1,isDummy:!0,width:0,height:0};for(o.set(g,m),a.add(g);i.length<=p;)i.push([]);return i[p].push(g),n[g]=p,g},"addDummyAt"),u=[...r.edges].sort((p,g)=>p.id===g.id?p.src===g.src?p.dst.localeCompare(g.dst):p.src.localeCompare(g.src):p.id.localeCompare(g.id)),d=[];for(const p of u){const g=n[p.src]??0,m=n[p.dst]??0;if(m-g<=1){d.push(p);continue}let U=p.src;for(let b=g+1,v=0;b<m;b++,v++){const w=l(b);d.push({id:`${p.id}#${v}`,src:U,dst:w,weight:p.weight,ref:p.ref}),U=w}const y=m-g-2;d.push({id:`${p.id}#${Math.max(y+1,0)}`,src:U,dst:p.dst,weight:p.weight,ref:p.ref})}const f={nodes:[...r.nodes,...[...a].filter(p=>!r.nodes.includes(p))],edges:d,layout:r.layout,nodeById:o};return{layering:{layers:i,rankOf:n,dummy:a},graphWithDummies:f}}x(VNe,"makeProperLayering");function Bj(t){const e=t.length;if(e===0)return Number.POSITIVE_INFINITY;const r=[...t].sort((n,i)=>n-i);return e%2===1?r[(e-1)/2]:.5*(r[e/2-1]+r[e/2])}x(Bj,"median");function $j(t){return t.length===0?Number.POSITIVE_INFINITY:t.reduce((r,n)=>r+n,0)/t.length}x($j,"barycenter");function GNe(t,e,r,n){const i=new Map;for(const a of t)i.set(a,[]);for(const a of r)n==="down"?e.has(a.src)&&i.has(a.dst)&&i.get(a.dst).push(e.get(a.src)):e.has(a.dst)&&i.has(a.src)&&i.get(a.src).push(e.get(a.dst));return i}x(GNe,"neighborPositionsFor");function WNe(t,e,r){const n=r.get(t)??0,i=r.get(e)??0;return n!==i?n-i:t.localeCompare(e)}x(WNe,"currentOrderTieBreak");function Fj(t,e,r){const n=new Set(t),i=new Set(e),a=d4(t),s=d4(e),o=[];for(const u of r)n.has(u.src)&&i.has(u.dst)&&o.push({u:a.get(u.src),v:s.get(u.dst)});o.sort((u,d)=>u.u===d.u?u.v-d.v:u.u-d.u);const l=o.map(u=>u.v);return ure(l)}x(Fj,"countCrossingsBetweenAdjacent");function hM(t,e,r){return[...t].sort((n,i)=>{const a=Bj(e.get(n)??[]),s=Bj(e.get(i)??[]);return a===s?WNe(n,i,r):isFinite(a)?isFinite(s)?a-s:-1:1})}x(hM,"sortByHeuristic");function zj(t,e,r,n,i,a){const s=d4(t),o=d4(e),l=GNe(e,s,r,n);if(!i||!a||a.length===0)return hM(e,l,o);const u=new Map;for(const f of e){const p=i(f),g=u.get(p)??[];g.push(f),u.set(p,g)}const d=[];for(const f of a){const p=u.get(f);if(!p||p.length===0)continue;const g=hM(p,l,o);d.push(...g)}const h=u.get(null);if(h&&h.length>0){const f=hM(h,l,o);for(const p of f){const g=$j(l.get(p)??[]);let m=d.length;if(isFinite(g))for(const[U,y]of d.entries()){const b=$j(l.get(y)??[]);if(g<b){m=U;break}}d.splice(m,0,p)}}return d}x(zj,"reorderLayer");function Hj(t,e,r,n,i){const a=[...e],s=new Set(t),o=new Set(e),l=n?new Set(n):null,u=r.filter(m=>s.has(m.src)&&o.has(m.dst)),d=l?r.filter(m=>o.has(m.src)&&l.has(m.dst)):void 0,h=x(m=>{let U=Fj(t,m,u);return d&&n&&(U+=Fj(m,n,d)),U},"crossingScore"),f=i?new Map:null;if(i&&f)for(const m of e)f.set(m,i(m));let p=!0,g=h(a);for(;p;){p=!1;for(let m=0;m+1<a.length;m++){if(f){const b=f.get(a[m]),v=f.get(a[m+1]);if(b!==v)continue}const U=g;[a[m],a[m+1]]=[a[m+1],a[m]];const y=h(a);y<U?(g=y,p=!0):[a[m],a[m+1]]=[a[m+1],a[m]]}}return a}x(Hj,"transposeImprove");function qNe(t,e,r){const n=t.layers.map(o=>[...o]),i=e.edges,a=gp(e),s=dre(e,r==null?void 0:r.laneOrder);for(let o=0;o<3;o++){for(let l=1;l<n.length;l++)n[l]=zj(n[l-1],n[l],i,"down",a,s),n[l]=Hj(n[l-1],n[l],i,n[l+1],a);for(let l=n.length-2;l>=0;l--)n[l]=zj(n[l+1],n[l],i,"up",a,s),n[l]=Hj(n[l+1],n[l],i,n[l-1],a)}return{layers:n}}x(qNe,"orderLayers");function jNe(t,e,r){const n=(r==null?void 0:r.layerGap)??Ige.DEFAULT_LAYER_GAP,i=(r==null?void 0:r.nodeGap)??Ige.DEFAULT_NODE_GAP,a=(r==null?void 0:r.laneGap)??i*2,s=(r==null?void 0:r.direction)??"TB",o=s==="LR"||s==="RL",l=t.layers,u=Object.create(null),d=Object.create(null),h=x(A=>e.nodeById.get(A),"getNode"),f=x(A=>{var M;return((M=h(A))==null?void 0:M.width)??0},"getWidth"),p=x(A=>{var M;return((M=h(A))==null?void 0:M.height)??0},"getHeight"),g=gp(e),m=dre(e,r==null?void 0:r.laneOrder),U=l.map(A=>A.reduce((M,P)=>Math.max(M,p(P)),0)),y=[];if(o)for(let A=0;A+1<l.length;A++){const M=l[A].reduce((O,B)=>Math.max(O,f(B)),0),P=l[A+1].reduce((O,B)=>Math.max(O,f(B)),0),N=U[A],I=U[A+1],L=N/2+I/2,_=(M+P)/2,D=Math.max(0,_-L-n);y.push(D)}const b=new Set;for(const A of l)for(const M of A)b.add(g(M));const v=b.has(null),w=m.filter(A=>b.has(A)),T=[...v?[null]:[],...w],S=Object.create(null);for(const A of w)S[A]=0;v&&(S.null=0);for(const A of l){const M=Object.create(null),P=[];for(const N of A){const I=g(N);I===null?P.push(N):(M[I]||(M[I]=[])).push(N)}for(const[N,I]of Object.entries(M)){const L=I.reduce((_,D)=>_+f(D),0)+i*Math.max(0,I.length-1);S[N]=Math.max(S[N]??0,L)}if(v&&P.length){const N=P.reduce((I,L)=>I+f(L),0)+i*Math.max(0,P.length-1);S.null=Math.max(S.null??0,N)}}const C=new Map;{const A=T.map(N=>(N===null?S.null:S[N])??0);let P=-(A.reduce((N,I)=>N+I,0)+a*Math.max(0,T.length-1))/2;for(let N=0;N<T.length;N++){const I=T[N],L=A[N]??0,_=P+L/2;C.set(I,_),P+=L,N<T.length-1&&(P+=a)}}let k=0;for(const[A,M]of l.entries()){const P=U[A]??0,N=new Map;for(const L of M){const _=g(L),D=N.get(_)??[];D.push(L),N.set(_,D)}for(const L of T){const _=N.get(L)??[];if(_.length===0)continue;const D=C.get(L);if(_.length===1){const O=_[0];u[O]=D,d[O]=k+P/2}else{const O=_.map(z=>f(z)),B=O.reduce((z,$)=>z+$,0)+i*(_.length-1);let F=D-B/2;for(const[z,$]of _.entries()){const H=O[z];u[$]=F+H/2,d[$]=k+P/2,F+=H+i}}}const I=y[A]??0;k+=P+n+I}const E=new Map;for(const A of e.edges){const M=A.ref.id;E.has(M)||E.set(M,[]),E.get(M).push(A)}for(const[,A]of E){if(A.length===0)continue;const M=A[0].ref,P=M.start,N=M.end;if(P==null||N==null)continue;const I=Math.round(((u[P]??0)+(u[N]??0))/2),L=new Set;for(const _ of A)L.add(_.src),L.add(_.dst);for(const _ of L){if(_===P||_===N)continue;const D=e.nodeById.get(_);D!=null&&D.isDummy&&(u[_]=I)}}return{x:u,y:d}}x(jNe,"assignCoordinates");var YNe=8;function XNe(t){let e=2166136261;for(let r=0;r<t.length;r++)e^=t.charCodeAt(r),e=Math.imul(e,16777619);return e>>>0}x(XNe,"hashString");function KNe(t){let e=t>>>0;return()=>{e+=1831565813;let r=e;return r=Math.imul(r^r>>>15,r|1),r^=r+Math.imul(r^r>>>7,r|61),((r^r>>>14)>>>0)/4294967296}}x(KNe,"mulberry32");function ZNe(t,e){const r=[...t],n=KNe(e);for(let i=r.length-1;i>0;i--){const a=Math.floor(n()*(i+1));[r[i],r[a]]=[r[a],r[i]]}return r}x(ZNe,"deterministicShuffle");function JNe(t,e){let r=0;for(const[n,i]of t.entries())r+=Math.abs(n-(e.get(i)??n));return r}x(JNe,"sourceDistance");function Vj(t,e){const r=new Map;for(const[i,a]of t.entries())r.set(a,i);let n=0;for(const{a:i,b:a,weight:s}of e){const o=r.get(i),l=r.get(a);o==null||l==null||(n+=s*Math.abs(o-l))}return n}x(Vj,"laneArrangementCost");function QNe(t){const e=NP(t);if(e.length<2)return[];const r=new Map(e.map((a,s)=>[a,s])),n=gp(t),i=new Map;for(const a of t.layout.edges??[]){if(a.isLayoutOnly)continue;const s=typeof a.start=="string"?a.start:void 0,o=typeof a.end=="string"?a.end:void 0;if(!s||!o||!t.nodeById.has(s)||!t.nodeById.has(o))continue;const l=n(s),u=n(o);if(!l||!u||l===u)continue;const d=r.get(l),h=r.get(u);if(d==null||h==null)continue;const[f,p]=d<=h?[l,u]:[u,l],g=`${f}\0${p}`,m=i.get(g);m?m.weight++:i.set(g,{a:f,b:p,weight:1})}return[...i.values()]}x(QNe,"buildWeightedLaneEdges");function Gj(t,e,r){const n=[...t];let i=Vj(n,e),a=!0,s=0;const o=Math.max(1,n.length);for(;a&&s<o;){a=!1,s++;for(let l=0;l+1<n.length;l++){[n[l],n[l+1]]=[n[l+1],n[l]];const u=Vj(n,e);u<i?(i=u,a=!0):[n[l],n[l+1]]=[n[l+1],n[l]]}}return{order:n,cost:i,sourceDistance:JNe(n,r)}}x(Gj,"greedySwitch");function eOe(t,e){return t.cost!==e.cost?t.cost<e.cost:t.sourceDistance<e.sourceDistance}x(eOe,"isBetterCandidate");function tOe(t,e,r){const n=[...e].sort((i,a)=>i.a===a.a?i.b.localeCompare(a.b):i.a.localeCompare(a.a)).map(({a:i,b:a,weight:s})=>`${i}:${a}:${s}`).join("|");return XNe(`${t.join("|")}#${n}#${r}`)}x(tOe,"seedForRestart");function rOe(t,e={}){const r=NP(t);if(r.length<2)return r;const n=QNe(t);if(n.length===0)return r;const i=new Map(r.map((o,l)=>[o,l]));let a=Gj(r,n,i);const s=Math.max(0,e.restarts??YNe);for(let o=0;o<s;o++){const l=tOe(r,n,o),u=ZNe(r,l),d=Gj(u,n,i);eOe(d,a)&&(a=d)}return a.order}x(rOe,"optimizeTopLaneOrder");function nOe(t,e){const r=(e==null?void 0:e.ignoreCrossLaneEdges)??!0,n=(e==null?void 0:e.optimizeRanksByCrossings)??!0,i=R1(t),a=e!=null&&e.automaticLaneOrdering?rOe(i,{restarts:YNe}):void 0,s=TNe(i),o=s.acyclic,l=r?HNe(o,{compactSingleInput:(e==null?void 0:e.compactSingleInput)??KL.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!0,direction:e==null?void 0:e.direction}):FNe(o,{compactSingleInput:(e==null?void 0:e.compactSingleInput)??KL.DEFAULT_COMPACT_SINGLE_INPUT,ignoreCrossLaneEdges:!1,optimizeRanksByCrossings:n}),{layering:u,graphWithDummies:d}=VNe(l,o),h=qNe(u,d,{laneOrder:a}),f=jNe(h,d,{layerGap:e==null?void 0:e.layerGap,nodeGap:e==null?void 0:e.nodeGap,direction:e==null?void 0:e.direction,laneOrder:a});return{acyclic:o,reversed:s.reversed,layering:u,ordered:h,coordinates:f}}x(nOe,"sugiyamaLayout");var kn=GXt.EPSILON,WXt=8,om=15,Ey=15,PE=25,yu=20,iz=10;function Wj(t,e,r){const n=t.x??0,i=t.y??0,a=e.x-n,s=e.y-i,o=Math.abs(a),l=Math.abs(s);return o<kn&&l<kn?r:l>kn&&l*3>=o?s>0?"bottom":"top":o>kn?a>0?"right":"left":r}x(Wj,"chooseOrthogonalSide");function qj(t,e){return Math.abs(t.to-e.from)<kn||Math.abs(t.to-e.to)<kn?t.to:t.from}x(qj,"sharedLineEndpointCoord");function Tm(t,e){return t.orient==="vertical"?{x:t.coord,y:e}:{x:e,y:t.coord}}x(Tm,"pointOnLine");function iOe(t,e){var ze,xe,Ee,qe;const r=t.nodes??[],n=t.edges??[],i=[];for(const le of n)le.isLayoutOnly||i.push({...le,__originalEdge:le});const a=new Map,s=new Map,o=[],l=e==="LR";for(const le of r)a.set(le.id,le);const u=r.filter(le=>le.isGroup&&!le.parentId);for(const le of u){const pe={id:le.id},Te=x(re=>{s.set(re.id,pe),r.filter(Y=>Y.parentId===re.id).forEach(Te)},"assignLane");Te(le)}const d=r.filter(le=>!le.isGroup&&!le.isEdgeLabel).map(le=>{const pe=le.width??10,Te=le.height??10,re=le.x??0,Y=le.y??0,Q=WXt;return{nodeId:le.id,minX:re-pe/2-Q,maxX:re+pe/2+Q,minY:Y-Te/2-Q,maxY:Y+Te/2+Q,visualXHalfExtent:l?Te/2+Q:pe/2+Q}}),h=x((le,pe,Te,re)=>{let Y=o.find(Q=>Q.orientation===le&&Math.abs(Q.coord-pe)<1);return Y||(Y={id:`pipe-${le}-${pe.toFixed(0)}`,orientation:le,coord:pe,spanMin:Te,spanMax:re,tracks:[]},o.push(Y)),Y.spanMin=Math.min(Y.spanMin,Te),Y.spanMax=Math.max(Y.spanMax,re),Y},"getOrAddPipe"),f=x((le,pe)=>{const Te=le.width??10,re=le.height??10,Y=le.x??0,Q=le.y??0;switch(pe){case"top":return{x:Y,y:Q-re/2};case"bottom":return{x:Y,y:Q+re/2};case"left":return{x:Y-Te/2,y:Q};case"right":return{x:Y+Te/2,y:Q}}},"portForSide"),p=x((le,pe,Te)=>f(le,Wj(le,pe,Te?"bottom":"top")),"getOrthogonalPort"),g=[],m=[],U=new Set,y=1e3,b=x((le,pe,Te)=>{if(g.length===0)return 0;const re=Math.abs(pe.y-Te.y)<kn,Y=Math.abs(pe.x-Te.x)<kn;if(!re&&!Y)return 0;let Q=0;if(re){const ue=pe.y,X=Math.min(pe.x,Te.x)-kn,fe=Math.max(pe.x,Te.x)+kn;if(fe<=X)return 0;for(const ee of g)ee.edgeIndex===le||ee.orientation!=="vertical"||ee.pipe.coord<X||ee.pipe.coord>fe||ee.from-kn<=ue&&ee.to+kn>=ue&&(Q+=y)}else if(Y){const ue=pe.x,X=Math.min(pe.y,Te.y)-kn,fe=Math.max(pe.y,Te.y)+kn;if(fe<=X)return 0;for(const ee of g)ee.edgeIndex===le||ee.orientation!=="horizontal"||ee.pipe.coord<X||ee.pipe.coord>fe||ee.from-kn<=ue&&ee.to+kn>=ue&&(Q+=y)}return Q},"crossingPenalty"),v=i.map((le,pe)=>{if(!le.start||!le.end)return{idx:pe,crossLane:0,dx:0,dy:0};const Te=a.get(le.start),re=a.get(le.end),Y=s.get(le.start),Q=s.get(le.end),ue=Y&&Q&&Y.id!==Q.id?1:0,X=Te&&re?Math.abs((re.x??0)-(Te.x??0)):0,fe=Te&&re?Math.abs((re.y??0)-(Te.y??0)):0;return{idx:pe,crossLane:ue,dx:X,dy:fe}}).sort((le,pe)=>{if(le.crossLane!==pe.crossLane)return pe.crossLane-le.crossLane;const Te=le.dx+le.dy,re=pe.dx+pe.dy;return Math.abs(Te-re)>1?Te-re:le.idx-pe.idx}).map(le=>le.idx),w=x((le,pe,Te,re)=>{const Y=Math.min(le.x,pe.x),Q=Math.max(le.x,pe.x),ue=Math.min(le.y,pe.y),X=Math.max(le.y,pe.y);return!!d.find(ee=>Te&&ee.nodeId===Te||re&&ee.nodeId===re?!1:Math.abs(le.x-pe.x)>kn?ee.minY<le.y&&ee.maxY>le.y&&ee.maxX>Y&&ee.minX<Q:ee.minX<le.x&&ee.maxX>le.x&&ee.maxY>ue&&ee.minY<X)},"isSegmentBlocked"),T=new Map,S=new Map;for(const le of i)!le.start||!le.end||le.start===le.end||(S.set(le.start,(S.get(le.start)??0)+1),S.set(le.end,(S.get(le.end)??0)+1));const C=x((le,pe)=>Wj(le,pe,"bottom"),"determineSide"),k=new Map;for(const[le,pe]of i.entries()){if(!pe.start||!pe.end||pe.start===pe.end||pe.points&&pe.points.length>0)continue;const Te=a.get(pe.start),re=a.get(pe.end);if(!Te||!re)continue;const Y=(re.x??0)-(Te.x??0),Q=(re.y??0)-(Te.y??0);k.set(le,{edgeIdx:le,srcId:pe.start,dstId:pe.end,srcSide:C(Te,{x:re.x??0,y:re.y??0}),dstSide:C(re,{x:Te.x??0,y:Te.y??0}),absDx:Math.abs(Y),absDy:Math.abs(Q),dxSign:Math.sign(Y),dySign:Math.sign(Q)})}const E=x(le=>le.srcSide==="top"||le.srcSide==="bottom"?le.absDx===0?1/0:le.absDy/le.absDx:le.absDy===0?1/0:le.absDx/le.absDy,"preferenceStrength"),A=x(le=>le.srcSide==="top"||le.srcSide==="bottom"?le.dxSign>=0?"right":"left":le.dySign>=0?"bottom":"top","secondarySide"),M=new Map;for(const le of k.values()){const pe=`${le.srcId}:${le.srcSide}`;M.has(pe)||M.set(pe,[]),M.get(pe).push(le)}const P=new Map,N=x((le,pe)=>`${le}:${pe}`,"loadKey");for(const le of k.values())P.set(N(le.srcId,le.srcSide),(P.get(N(le.srcId,le.srcSide))??0)+1),P.set(N(le.dstId,le.dstSide),(P.get(N(le.dstId,le.dstSide))??0)+1);for(const le of M.values())if(!(le.length<2)){le.sort((pe,Te)=>{const re=E(pe),Y=E(Te);return Math.abs(re-Y)>1e-9?Y-re:pe.edgeIdx-Te.edgeIdx});for(let pe=1;pe<le.length;pe++){const Te=le[pe],re=A(Te),Y=P.get(N(Te.srcId,Te.srcSide))??0,Q=P.get(N(Te.srcId,re))??0;Q>=Y||(P.set(N(Te.srcId,Te.srcSide),Y-1),P.set(N(Te.srcId,re),Q+1),Te.srcSide=re)}}const I=x(le=>{const pe=le==null?void 0:le.shape;return pe==="question"||pe==="diamond"},"isDiamondNode"),L=new Map;for(const le of k.values())L.has(le.dstId)||L.set(le.dstId,new Set),L.get(le.dstId).add(le.dstSide);for(const le of k.values()){if(!I(a.get(le.srcId)))continue;const pe=L.get(le.srcId);if(!(pe!=null&&pe.has(le.srcSide)))continue;const Te=A(le);if(pe.has(Te)||(P.get(N(le.srcId,Te))??0)>0)continue;const re=P.get(N(le.srcId,le.srcSide))??0;P.set(N(le.srcId,le.srcSide),Math.max(0,re-1)),P.set(N(le.srcId,Te),1),le.srcSide=Te}for(const le of k.values()){const{edgeIdx:pe,srcId:Te,dstId:re,srcSide:Y,dstSide:Q}=le,ue=a.get(Te),X=a.get(re),fe=`${Te}:${Y}:src`,ee=Y==="top"||Y==="bottom"?X.x??0:X.y??0;T.has(fe)||T.set(fe,[]),T.get(fe).push({edgeIdx:pe,oppositeCoord:ee});const Ae=`${re}:${Q}:dst`,Me=Q==="top"||Q==="bottom"?ue.x??0:ue.y??0;T.has(Ae)||T.set(Ae,[]),T.get(Ae).push({edgeIdx:pe,oppositeCoord:Me})}const _=new Map,D=8;for(const[le,pe]of T){if(pe.length<2)continue;pe.sort((Ze,Fe)=>Ze.oppositeCoord-Fe.oppositeCoord);const Te=le.split(":"),re=Te.slice(0,-2).join(":"),Y=Te[Te.length-2],Q=Te[Te.length-1],ue=a.get(re);if(!ue)continue;const fe=Y==="left"||Y==="right"?ue.height??10:ue.width??10,ee=ue.shape,Me=ee==="question"||ee==="diamond"?fe*.3:fe,Ne=Math.min(20,Math.max(D,Me/(pe.length+1))),Oe=-(Ne*(pe.length-1))/2;for(const[Ze,Fe]of pe.entries()){const at=Oe+Ze*Ne,Pe=`${Fe.edgeIdx}:${Q}`;_.set(Pe,at)}}const O=x(le=>{var pe;return!!((pe=i[le])!=null&&pe.labelNodeId)},"edgeHasLabelNode"),B=x((le,pe)=>le?(T.get(`${le}:${pe}:src`)??[]).some(({edgeIdx:Te})=>O(Te))||(T.get(`${le}:${pe}:dst`)??[]).some(({edgeIdx:Te})=>O(Te)):!1,"faceHasLabelNode"),F=x((le,pe,Te)=>pe==="top"||pe==="bottom"?{x:le.x+Te,y:le.y}:{x:le.x,y:le.y+Te},"applyPortOffset"),z=x((le,pe,Te)=>{const re=k.get(le),Y={x:Te.x??0,y:Te.y??0},Q={x:pe.x??0,y:pe.y??0},ue=(re==null?void 0:re.srcSide)??C(pe,Y),X=(re==null?void 0:re.dstSide)??C(Te,Q);let fe=re?f(pe,re.srcSide):p(pe,Y,!0),ee=re?f(Te,re.dstSide):p(Te,Q,!1);const Ae=_.get(`${le}:src`),Me=_.get(`${le}:dst`);return Ae!==void 0&&(fe=F(fe,ue,Ae)),Me!==void 0&&(ee=F(ee,X,Me)),{pSrcPort:fe,pDstPort:ee,srcSide:ue,dstSide:X}},"portsForEdge");for(const le of v){const pe=i[le];if(m[le]=[],!pe.start||!pe.end||pe.points&&pe.points.length>0||pe.start===pe.end)continue;const Te=a.get(pe.start),re=a.get(pe.end);if(!Te||!re)continue;const{pSrcPort:Y,pDstPort:Q,srcSide:ue,dstSide:X}=z(le,Te,re),fe={...Y},ee={...Q},Ae=ue==="top"||ue==="bottom",Me=X==="top"||X==="bottom";if(Ae){const ut=Y.y>(Te.y??0);fe.y=ut?Y.y+yu:Y.y-yu}else{const ut=Y.x>(Te.x??0);fe.x=ut?Y.x+yu:Y.x-yu}if(Me){const ut=Q.y>(re.y??0);ee.y=ut?Q.y+yu:Q.y-yu}else{const ut=Q.x>(re.x??0);ee.x=ut?Q.x+yu:Q.x-yu}const Ke=x((ut,Ut)=>{for(const Zt of d)if(!Ut.includes(Zt.nodeId)&&ut.x>Zt.minX&&ut.x<Zt.maxX&&ut.y>Zt.minY&&ut.y<Zt.maxY)return{inside:!0,obstacle:Zt};return{inside:!1}},"isPointInObstacle"),Ne=x((ut,Ut,Zt,$r,un)=>{if(un){const Pt=ut.y>(Ut.y??0);return{x:(Zt.x??0)>=ut.x?$r.maxX+om:$r.minX-om,y:Pt?$r.maxY+Ey:$r.minY-Ey,leavesPositiveSide:Pt}}const Tt=ut.x>(Ut.x??0),yt=(Zt.y??0)>=ut.y;return{x:Tt?$r.maxX+om:$r.minX-om,y:yt?$r.maxY+Ey:$r.minY-Ey,leavesPositiveSide:Tt}},"obstacleDetour");let je=[];const Oe=[pe.start,pe.end],Ze=Ke(fe,Oe);if(Ze.inside&&Ze.obstacle){const ut=Ze.obstacle;if(Ae){const Ut=Ne(Y,Te,re,ut,!0);fe.x=Ut.x,fe.y=Ut.y;const Zt=Ut.leavesPositiveSide?Math.min(ut.minY-2,Y.y+yu):Math.max(ut.maxY+2,Y.y-yu);je=[{x:Y.x,y:Zt},{x:Ut.x,y:Zt},{x:Ut.x,y:Ut.y}]}else{const Ut=Ne(Y,Te,re,ut,!1),Zt=Ut.leavesPositiveSide?Math.min(ut.minX-2,Y.x+yu):Math.max(ut.maxX+2,Y.x-yu);fe.x=Ut.x,fe.y=Ut.y,je=[{x:Zt,y:Y.y},{x:Zt,y:Ut.y},{x:Ut.x,y:Ut.y}]}}let Fe=[];const at=Ke(ee,Oe);if(at.inside&&at.obstacle){const ut=at.obstacle;if(Me){const Ut=Ne(Q,re,Te,ut,!0);ee.x=Ut.x,ee.y=Ut.y,Fe=[{x:Ut.x,y:Ut.y},{x:Q.x,y:Ut.y}]}else{const Ut=Ne(Q,re,Te,ut,!1);ee.x=Ut.x,ee.y=Ut.y,Fe=[{x:Ut.x,y:Ut.y},{x:Ut.x,y:Q.y}]}}if(je.length===0&&Fe.length===0){const ut=om,Ut=Math.abs(fe.x-ee.x)<ut,Zt=Math.abs(fe.y-ee.y)<ut,$r=_.get(`${le}:src`)!==void 0||_.get(`${le}:dst`)!==void 0,un=(((ze=T.get(`${pe.start??""}:${ue}:src`))==null?void 0:ze.length)??0)+(((xe=T.get(`${pe.start??""}:${ue}:dst`))==null?void 0:xe.length)??0),Tt=(((Ee=T.get(`${pe.end??""}:${X}:src`))==null?void 0:Ee.length)??0)+(((qe=T.get(`${pe.end??""}:${X}:dst`))==null?void 0:qe.length)??0),yt=un>1||Tt>1,Pt=S.get(pe.start??"")??0,ft=S.get(pe.end??"")??0,or=un>1&&B(pe.start,ue)||Tt>1&&B(pe.end,X),Le=un<=1||Pt<=2,ui=Tt<=1||ft<=2;if((Ut||Zt)&&!$r&&(!yt||yt&&!or&&Le&&ui)&&!w(Y,Q,pe.start,pe.end)){pe.points=[{...Y},{...fe},{...ee},{...Q}],U.add(le);const Mn=Zt?"horizontal":"vertical",Ua=Zt?Y.y:Y.x,bn=Zt?Math.min(Y.x,Q.x):Math.min(Y.y,Q.y),wi=Zt?Math.max(Y.x,Q.x):Math.max(Y.y,Q.y),Rn={id:`fast-path-${Mn}-${Ua.toFixed(0)}-${le}`,orientation:Mn,coord:Ua,spanMin:bn,spanMax:wi,tracks:[]};g.push({edgeIndex:le,segmentIndex:0,orientation:Mn,pipe:Rn,trackIndex:0,from:bn,to:wi});continue}}const Pe=h("vertical",fe.x,fe.y,fe.y);fe.x=Pe.coord;const gt=h("vertical",ee.x,ee.y,ee.y);ee.x=gt.coord;let Ie=Math.min(fe.x,ee.x)-50,St=Math.max(fe.x,ee.x)+50,Et=Math.min(fe.y,ee.y)-50,ot=Math.max(fe.y,ee.y)+50;for(const ut of d){const Ut=Math.min(fe.x,ee.x),Zt=Math.max(fe.x,ee.x),$r=Math.min(fe.y,ee.y),un=Math.max(fe.y,ee.y);ut.minX<Zt&&ut.maxX>Ut&&ut.minY<un&&ut.maxY>$r&&(Ie=Math.min(Ie,ut.minX-PE),St=Math.max(St,ut.maxX+PE),Et=Math.min(Et,ut.minY-PE),ot=Math.max(ot,ut.maxY+PE))}for(const ut of d){if(ut.maxX<Ie||ut.minX>St||ut.maxY<Et||ut.minY>ot)continue;const Ut=om;h("horizontal",ut.minY-Ut,Ie,St),h("horizontal",ut.maxY+Ut,Ie,St);const Zt=Ey;h("vertical",ut.minX-Zt,Et,ot),h("vertical",ut.maxX+Zt,Et,ot)}h("horizontal",fe.y,Ie,St),h("horizontal",ee.y,Ie,St);const Ht=o.filter(ut=>ut.orientation==="horizontal"&&ut.coord>=Et&&ut.coord<=ot),It=o.filter(ut=>ut.orientation==="vertical"&&ut.coord>=Ie&&ut.coord<=St),ht=x((ut,Ut)=>`${ut.toFixed(1)},${Ut.toFixed(1)}`,"getKey"),ve=ht(fe.x,fe.y),Lt=ht(ee.x,ee.y),xt=new Map,mt=new Map,Mt=new Map,Dr=new Set,ke=[];xt.set(ve,0),Mt.set(ve,"n"),ke.push({key:ve,f:Math.hypot(ee.x-fe.x,ee.y-fe.y),pt:fe}),Dr.add(ve);let it=[];const pt=x((ut,Ut)=>w(ut,Ut,pe.start,pe.end),"checkSegmentBlocked"),bt={x:ee.x,y:fe.y},ir=pt(fe,bt),Br=pt(bt,ee),Sr=ir||Br,jr={x:fe.x,y:ee.y},Er=pt(fe,jr),an=pt(jr,ee);if(Sr?Er||an||(Math.abs(fe.x-ee.x)<kn?it=[fe,ee]:it=[fe,jr,ee]):Math.abs(fe.y-ee.y)<kn||Math.abs(fe.x-ee.x)<kn?it=[fe,ee]:it=[fe,bt,ee],it.length===0)for(;ke.length>0;){ke.sort((ft,or)=>ft.f-or.f);const ut=ke.shift();if(Dr.delete(ut.key),ut.key===Lt){let ft=Lt,or=ee;for(it=[or];mt.has(ft);){const Le=mt.get(ft);it.unshift(Le),or=Le,ft=ht(Le.x,Le.y)}break}const Ut=ut.pt.x,Zt=ut.pt.y,$r=It.sort((ft,or)=>ft.coord-or.coord),un=$r.findIndex(ft=>Math.abs(ft.coord-Ut)<1),Tt=Ht.sort((ft,or)=>ft.coord-or.coord),yt=Tt.findIndex(ft=>Math.abs(ft.coord-Zt)<1),Pt=[];un>0&&Pt.push({x:$r[un-1].coord,y:Zt}),un>=0&&un<$r.length-1&&Pt.push({x:$r[un+1].coord,y:Zt}),yt>0&&Pt.push({x:Ut,y:Tt[yt-1].coord}),yt>=0&&yt<Tt.length-1&&Pt.push({x:Ut,y:Tt[yt+1].coord});for(const ft of Pt){const or=Math.min(Ut,ft.x),Le=Math.max(Ut,ft.x),ui=Math.min(Zt,ft.y),Be=Math.max(Zt,ft.y);if(d.some(ns=>ns.nodeId===pe.start||ns.nodeId===pe.end?!1:or!==Le?ns.minY<Zt&&ns.maxY>Zt&&ns.maxX>or&&ns.minX<Le:ns.minX<Ut&&ns.maxX>Ut&&ns.maxY>ui&&ns.minY<Be))continue;const Mn=ht(ft.x,ft.y),Ua=Math.abs(ft.x-Ut)+Math.abs(ft.y-Zt),bn=b(le,ut.pt,ft);let wi=0;const Rn=ee.x-fe.x,Fo=ee.y-fe.y,ed=ft.x-Ut,ic=ft.y-Zt;(Fo>10&&ic<-5||Fo<-10&&ic>5)&&(wi=Math.abs(ic)*100),(Rn>10&&ed<-5||Rn<-10&&ed>5)&&(wi+=Math.abs(ed)*50);let G1=0;const W1=Mt.get(ut.key)??"n",q1=Math.abs(ed)>kn?"h":"v";W1!=="n"&&W1!==q1&&(G1=50);const vs=Ua+bn+wi+G1,ac=(xt.get(ut.key)??1/0)+vs,go=Math.abs(ee.x-ft.x)+Math.abs(ee.y-ft.y);if(ac<(xt.get(Mn)??1/0))if(mt.set(Mn,ut.pt),xt.set(Mn,ac),Mt.set(Mn,q1),!Dr.has(Mn))ke.push({key:Mn,f:ac+go,pt:ft}),Dr.add(Mn);else{const ns=ke.findIndex(Lc=>Lc.key===Mn);ns!==-1&&(ke[ns].f=ac+go)}}}if(it.length===0&&(it=[fe,{x:fe.x,y:ee.y},ee]),it.length>4){const ut=it[0],Ut=it[it.length-1];let Zt=Math.min(ut.x,Ut.x),$r=Math.max(ut.x,Ut.x),un=Math.min(ut.y,Ut.y),Tt=Math.max(ut.y,Ut.y);for(const ui of it)Zt=Math.min(Zt,ui.x),$r=Math.max($r,ui.x),un=Math.min(un,ui.y),Tt=Math.max(Tt,ui.y);const yt=$r>Math.max(ut.x,Ut.x),Pt=Zt<Math.min(ut.x,Ut.x);if(l){const ui=Ey;if(yt){const Be=Math.max(ut.x,Ut.x),dn=Math.min(ut.y,Ut.y),Mn=Math.max(ut.y,Ut.y),Ua=d.filter(bn=>bn.minX<Be&&bn.maxX>Be&&bn.minY<Mn&&bn.maxY>dn);if(Ua.length>0){let bn=Math.max(ut.x,Ut.x);for(const wi of Ua){const Rn=(wi.minX+wi.maxX)/2;if(wi.visualXHalfExtent===void 0||isNaN(wi.visualXHalfExtent))continue;const Fo=Rn+wi.visualXHalfExtent+ui;bn=Math.max(bn,Fo)}isNaN(bn)||($r=bn)}}if(Pt){const Be=d.filter(dn=>dn.minX<Math.min(ut.x,Ut.x)+ui&&dn.minY<Math.max(ut.y,Ut.y)&&dn.maxY>Math.min(ut.y,Ut.y));if(Be.length>0){let dn=Math.min(ut.x,Ut.x);for(const Mn of Be){const bn=(Mn.minX+Mn.maxX)/2-Mn.visualXHalfExtent-ui;dn=Math.min(dn,bn)}Zt=dn}}}const ft=x(ui=>{const Be=Ut.y>ut.y,dn=d.filter(bn=>{const wi=Math.min(ut.x,Ut.x)<bn.maxX&&Math.max(ut.x,Ut.x)>bn.minX,Rn=Math.min(ut.y,Ut.y)<bn.maxY&&Math.max(ut.y,Ut.y)>bn.minY;return wi&&Rn});let Mn=dn;if(l&&dn.length>0){const bn=dn.filter(wi=>wi.minX<ui&&wi.maxX>ui);bn.length>0&&(Mn=bn)}if(Mn.length===0)return Ut.y;const Ua=om;if(Be){const wi=Math.max(...Mn.map(Rn=>Rn.maxY))+Ua;if(wi<Ut.y-kn)return wi}else{const wi=Math.min(...Mn.map(Rn=>Rn.minY))-Ua;if(wi>Ut.y+kn)return wi}return Ut.y},"findBestReturnY"),or=x(ui=>{const Be=ft(ui),dn={x:ui,y:ut.y},Mn={x:ui,y:Be},Ua={x:Ut.x,y:Be},bn=pt(ut,dn),wi=pt(dn,Mn),Rn=pt(Mn,Ua),Fo=Be!==Ut.y?pt(Ua,Ut):!1;return!bn&&!wi&&!Rn&&!Fo?Math.abs(Be-Ut.y)<kn?[ut,dn,Mn,Ut]:[ut,dn,Mn,Ua,Ut]:null},"trySimplifyWithDetourX"),Le=yt&&!Pt?or($r):Pt&&!yt?or(Zt):null;Le&&(it=Le)}const Yr=[Y,...je,...it,...Fe.reverse(),Q];if(Yr.length>=3){const ut=Yr[Yr.length-1],Ut=Yr[Yr.length-2],Zt=Yr[Yr.length-3],$r=Math.abs(Zt.y-Ut.y)<kn&&Math.abs(Ut.y-ut.y)<kn,un=Math.abs(Zt.x-Ut.x)<kn&&Math.abs(Ut.x-ut.x)<kn;if($r){const Tt=Math.sign(Ut.x-Zt.x),yt=Math.sign(ut.x-Zt.x);Tt!==0&&Tt===yt&&Math.abs(Ut.x-Zt.x)>Math.abs(ut.x-Zt.x)&&Yr.splice(-2,1)}else if(un){const Tt=Math.sign(Ut.y-Zt.y),yt=Math.sign(ut.y-Zt.y);Tt!==0&&Tt===yt&&Math.abs(Ut.y-Zt.y)>Math.abs(ut.y-Zt.y)&&Yr.splice(-2,1)}}const Cn=[Yr[0]];for(let ut=1;ut<Yr.length-1;ut++){if(ut===1){Cn.push(Yr[ut]);continue}const Ut=Cn[Cn.length-1],Zt=Yr[ut],$r=Yr[ut+1];if(Math.abs(Ut.y-Zt.y)<kn&&Math.abs(Zt.y-$r.y)<kn){const un=Zt.x>Ut.x,Tt=$r.x>Zt.x;if(un!==Tt){Cn.push(Zt);continue}continue}if(Math.abs(Ut.x-Zt.x)<kn&&Math.abs(Zt.x-$r.x)<kn){const un=Zt.y>Ut.y,Tt=$r.y>Zt.y;if(un!==Tt){Cn.push(Zt);continue}continue}Cn.push(Zt)}Cn.push(Yr[Yr.length-1]);for(let ut=0;ut<Cn.length-1;ut++){const Ut=Cn[ut],Zt=Cn[ut+1],$r=Math.abs(Ut.x-Zt.x)<kn?"vertical":"horizontal",un=$r==="vertical"?Ut.x:Ut.y,Tt=$r==="vertical"?Math.min(Ut.y,Zt.y):Math.min(Ut.x,Zt.x),yt=$r==="vertical"?Math.max(Ut.y,Zt.y):Math.max(Ut.x,Zt.x),Pt=h($r,un,Tt,yt),ft={edgeIndex:le,segmentIndex:ut,orientation:$r,pipe:Pt,trackIndex:0,from:Tt,to:yt};g.push(ft),m[le].push(g.length-1),Pt.tracks[0]||(Pt.tracks[0]={index:0,coord:Pt.coord,segments:[]}),Pt.tracks[0].segments.push({edgeIndex:le,segmentIndex:ut,from:Tt,to:yt})}}const $=x((le,pe)=>le.from<pe.to&&pe.from<le.to,"segmentsOverlap"),H=x((le,pe,Te,re)=>{const Y=!re.segments.some(ue=>(ue.edgeIndex!==pe.edgeIndex||ue.segmentIndex!==pe.segmentIndex)&&$(ue,le)),Q=!Te.segments.some(ue=>(ue.edgeIndex!==le.edgeIndex||ue.segmentIndex!==le.segmentIndex)&&$(ue,pe));return Y&&Q?(le.trackIndex=re.index,pe.trackIndex=Te.index,Te.segments=[...Te.segments.filter(ue=>ue.edgeIndex!==le.edgeIndex||ue.segmentIndex!==le.segmentIndex),{edgeIndex:pe.edgeIndex,segmentIndex:pe.segmentIndex,from:pe.from,to:pe.to}],re.segments=[...re.segments.filter(ue=>ue.edgeIndex!==pe.edgeIndex||ue.segmentIndex!==pe.segmentIndex),{edgeIndex:le.edgeIndex,segmentIndex:le.segmentIndex,from:le.from,to:le.to}],!0):!1},"trySwapSegmentsAcrossTracks"),V=x(le=>{const pe=le.tracks.length;return le.tracks[pe]={index:pe,coord:le.coord,segments:[]},pe},"createNewTrack"),G=x((le,pe)=>{const Te=le.pipe.tracks[le.trackIndex];Te.segments=Te.segments.filter(Y=>Y.edgeIndex!==le.edgeIndex||Y.segmentIndex!==le.segmentIndex),le.trackIndex=pe,le.pipe.tracks[pe].segments.push({edgeIndex:le.edgeIndex,segmentIndex:le.segmentIndex,from:le.from,to:le.to})},"moveSegmentToTrack"),K=x((le,pe)=>{const Te=m[le.edgeIndex];for(const re of Te){const Y=g[re];Y.pipe===le.pipe&&G(Y,pe)}},"moveSegmentChainToTrack"),W=x(le=>{const pe=m[le.edgeIndex],Te=pe.indexOf(g.indexOf(le)),re=[];return Te>0&&re.push(g[pe[Te-1]]),Te<pe.length-1&&re.push(g[pe[Te+1]]),re},"getAdjacentSegmentsAlongEdge"),oe=x((le,pe)=>{if(le.orientation===pe.orientation)return!1;const Te=le.orientation==="horizontal"?le:pe,re=le.orientation==="horizontal"?pe:le;return re.pipe.coord>Te.from&&re.pipe.coord<Te.to&&Te.pipe.coord>re.from&&Te.pipe.coord<re.to},"haveAnyCrossing"),Z=x((le,pe)=>{for(const Te of le.tracks)if(!Te.segments.some(Y=>(Y.edgeIndex!==pe.edgeIndex||Y.segmentIndex!==pe.segmentIndex)&&$(Y,pe)))return Te.index;return-1},"findAvailableTrack"),J=x((le,pe)=>{if(le.trackIndex===pe.trackIndex)return $(le,pe);const Te=W(le),re=W(pe);return Te.some(Y=>re.some(Q=>oe(Y,Q)))},"segmentsConflict"),ne=x((le,pe,Te)=>{if(H(le,pe,le.pipe.tracks[le.trackIndex],pe.pipe.tracks[pe.trackIndex]))return;const re=Z(le.pipe,pe);Te(pe,re!==-1?re:V(le.pipe))},"resolveTrackConflict"),ie=x(le=>{let pe=0;for(let Te=0;Te<le.length;Te++)for(let re=Te+1;re<le.length;re++){const Y=le[Te],Q=le[re];Y.pipe===Q.pipe&&J(Y,Q)&&(pe++,ne(Y,Q,K))}return pe},"resolveHandleConflicts"),me=new Map,te=x(le=>{if(me.has(le))return me.get(le);const pe=m[le];if(pe.length===0){const X={dest:0,deviation:0,base:0,delta:0};return me.set(le,X),X}const re=g[pe[0]].pipe.coord;let Y=re;for(let X=1;X<pe.length;X++){const fe=g[pe[X]];if(fe.orientation==="horizontal"){const ee=fe.from,Ae=fe.to;Y=Math.abs(ee-re)>Math.abs(Ae-re)?ee:Ae;break}}const Q=Math.abs(Y-re),ue={dest:Y,deviation:Q,base:re,delta:Y-re};return me.set(le,ue),ue},"getDestInfo"),Re=x(()=>{let le=0;const pe=new Map;for(const[re,Y]of i.entries())m[re].length!==0&&Y.start&&(pe.has(Y.start)||pe.set(Y.start,[]),pe.get(Y.start).push(re));const Te=x(re=>{const Y=i[re];if(!Y.start||!Y.end)return 0;const Q=a.get(Y.start),ue=a.get(Y.end);if(!Q||!ue)return 0;const X=(ue.x??0)-(Q.x??0),fe=(ue.y??0)-(Q.y??0);return Math.abs(X)+Math.abs(fe)},"getEdgeDistance");for(const re of pe.values()){re.sort((Q,ue)=>{const X=te(Q),fe=te(ue);if(Math.abs(X.deviation-fe.deviation)>1)return X.deviation-fe.deviation;if(Math.abs(X.dest-fe.dest)>1)return X.dest-fe.dest;const ee=Te(Q),Ae=Te(ue);if(Math.abs(ee-Ae)>1)return Ae-ee;const Me=m[Q].length,Ke=m[ue].length;if(Me!==Ke)return Me-Ke;if(Me===1){const Ne=m[Q][0],je=m[ue][0];if(g[Ne]&&g[je]){const Oe=g[Ne],Ze=g[je],Fe=Math.abs(Oe.to-Oe.from),at=Math.abs(Ze.to-Ze.from);if(Math.abs(Fe-at)>1)return Fe-at}}return 0});const Y=re.map(Q=>g[m[Q][0]]);le+=ie(Y)}return le},"fixSourceHandleCrossings"),_e=x(()=>{let le=0;const pe=new Map;for(const[Te,re]of i.entries())m[Te].length!==0&&re.end&&(pe.has(re.end)||pe.set(re.end,[]),pe.get(re.end).push(Te));for(const Te of pe.values()){Te.sort((Y,Q)=>{const ue=x(ee=>{const Ae=m[ee];if(Ae.length<2)return 0;const Me=g[Ae[Ae.length-2]];return Math.abs(Me.to-Me.from)},"getDist"),X=ue(Y),fe=ue(Q);return Math.abs(X-fe)>.1?X-fe:Y-Q});const re=Te.map(Y=>g[m[Y][m[Y].length-1]]);le+=ie(re)}return le},"fixTargetHandleCrossings"),He=x(()=>{let le=0;for(const pe of o){const Te=[];for(const re of pe.tracks)for(const Y of re.segments){const Q=m[Y.edgeIndex].find(ue=>g[ue].segmentIndex===Y.segmentIndex);Q!==void 0&&Te.push(g[Q])}Te.sort((re,Y)=>re.edgeIndex-Y.edgeIndex||re.segmentIndex-Y.segmentIndex);for(let re=0;re<Te.length;re++)for(let Y=re+1;Y<Te.length;Y++){const Q=Te[re],ue=Te[Y];J(Q,ue)&&(le++,ne(Q,ue,G))}}return le},"fixPipeCrossings");let ce=0;const de=10;for(;ce<de;){let le=0;if(le+=Re(),le+=_e(),le+=He(),le===0)break;ce++}const we=new Map;for(const le of o){const pe=[];le.tracks.forEach(re=>{re.segments.forEach(Y=>{pe.push({edgeIndex:Y.edgeIndex,segmentIndex:Y.segmentIndex,trackIndex:re.index,from:Y.from,to:Y.to})})}),pe.sort((re,Y)=>re.from-Y.from);const Te=[];if(pe.length>0){let re=[pe[0]],Y=pe[0].to;for(let Q=1;Q<pe.length;Q++){const ue=pe[Q];ue.from<Y?(re.push(ue),Y=Math.max(Y,ue.to)):(Te.push(re),re=[ue],Y=ue.to)}Te.push(re)}for(const re of Te){const Y=new Set;re.forEach(Ne=>Y.add(Ne.trackIndex));const Q=new Map;re.forEach(Ne=>{const je=te(Ne.edgeIndex);Q.set(Ne.trackIndex,(Q.get(Ne.trackIndex)??0)+je.delta)});const ue=[...Y].filter(Ne=>(Q.get(Ne)??0)<-1),X=[...Y].filter(Ne=>(Q.get(Ne)??0)>1),fe=[...Y].filter(Ne=>Math.abs(Q.get(Ne)??0)<=1);ue.sort((Ne,je)=>(Q.get(je)??0)-(Q.get(Ne)??0)),X.sort((Ne,je)=>(Q.get(Ne)??0)-(Q.get(je)??0));const ee=x((Ne,je)=>{re.filter(Oe=>Oe.trackIndex===Ne).forEach(Oe=>{const Ze=U.has(Oe.edgeIndex)?le.coord:je;we.set(`${Oe.edgeIndex}-${Oe.segmentIndex}`,Ze)})},"assignCoord");let Ae=0;for(const Ne of ue)Ae++,ee(Ne,le.coord-Ae*iz);if(fe.length===0&&Y.size>0){const Ne=[...Y].sort((Ze,Fe)=>Math.abs(Q.get(Ze)??0)-Math.abs(Q.get(Fe)??0))[0],je=ue.indexOf(Ne);je!==-1&&ue.splice(je,1);const Oe=X.indexOf(Ne);Oe!==-1&&X.splice(Oe,1),fe.push(Ne)}let Me=0;for(const Ne of fe){if(Me===0)ee(Ne,le.coord);else{const je=Me%2===1?1:-1,Oe=Math.ceil(Me/2);ee(Ne,le.coord+je*Oe*iz*.5)}Me++}let Ke=0;for(const Ne of X)Ke++,ee(Ne,le.coord+Ke*iz)}}for(const[le,pe]of i.entries()){const Te=m[le]??[];if(Te.length===0)continue;const re=[],Y=a.get(pe.start),Q=a.get(pe.end),{pSrcPort:ue,pDstPort:X}=z(le,Y,Q),fe=Te.map(Me=>{const Ke=g[Me],Ne=we.get(`${Ke.edgeIndex}-${Ke.segmentIndex}`)??Ke.pipe.coord;return{orient:Ke.orientation,coord:Ne,from:Ke.from,to:Ke.to}});re.push(ue);for(let Me=0;Me<fe.length;Me++){const Ke=fe[Me],Ne=re[re.length-1],je=Ke.orient==="vertical"?Ne.y:Ne.x,Oe=Ke.orient==="vertical"?Ne.x:Ne.y,Ze=fe[Me+1],Fe=Me<fe.length-1;if(Math.abs(Oe-Ke.coord)>kn&&re.push(Tm(Ke,je)),Fe&&Ze.orient===Ke.orient)if(Math.abs(Ke.coord-Ze.coord)>kn){const at=Ke.orient==="vertical"?(je+Ze.from)/2:qj(Ke,Ze);re.push(Tm(Ke,at),Tm(Ze,at))}else(Me===0||Me===fe.length-2)&&re.push(Tm(Ke,qj(Ke,Ze)));else if(Fe)re.push(Tm(Ke,Ze.coord));else{const at=Math.abs(Ke.from-je)<Math.abs(Ke.to-je)?Ke.to:Ke.from;re.push(Tm(Ke,at))}}const ee=re[re.length-1];(Math.abs(ee.x-X.x)>kn||Math.abs(ee.y-X.y)>kn)&&re.push(X);const Ae=[];re.length>0&&Ae.push(re[0]);for(let Me=1;Me<re.length;Me++){const Ke=re[Me],Ne=Ae[Ae.length-1];(Math.abs(Ke.x-Ne.x)>kn||Math.abs(Ke.y-Ne.y)>kn)&&Ae.push(Ke)}pe.points=Ae}for(const le of i){const pe=le.__originalEdge;pe&&le.points&&(pe.points=le.points)}t.edges=(t.edges??[]).filter(le=>!le.isLayoutOnly);const ge=x((le,pe)=>{const Te=pe.x??0,re=pe.y??0,Y=pe.width??0,Q=pe.height??0;if(Y<=0||Q<=0)return le;const ue=Te-Y/2,X=Te+Y/2,fe=re-Q/2,ee=re+Q/2;if(le.x<ue||le.x>X||le.y<fe||le.y>ee)return le;const Ae=le.x-ue,Me=X-le.x,Ke=le.y-fe,Ne=ee-le.y,je=Math.min(Ae,Me,Ke,Ne);return je===Ae?{x:ue,y:le.y}:je===Me?{x:X,y:le.y}:je===Ke?{x:le.x,y:fe}:{x:le.x,y:ee}},"nodeBoundaryClamp");for(const le of t.edges){const pe=le.points;if(!pe||pe.length<2)continue;const Te=le.start,re=le.end,Y=Te?a.get(Te):void 0,Q=re?a.get(re):void 0;Y&&(pe[0]=ge(pe[0],Y)),Q&&(pe[pe.length-1]=ge(pe[pe.length-1],Q))}return t}x(iOe,"routeEdgesOrthogonal");function aOe(t){return t.direction??"TB"}x(aOe,"getSwimlaneDirection");function sOe(t){var d,h,f,p,g;const e=HLe(t),r=((d=t.config.flowchart)==null?void 0:d.nodeSpacing)??40,n=((h=t.config.flowchart)==null?void 0:h.rankSpacing)??100,i=((f=t.config.swimlane)==null?void 0:f.ignoreCrossLaneEdges)??!0,a=((p=t.config.swimlane)==null?void 0:p.optimizeRanksByCrossings)??!0,s=((g=t.config.swimlane)==null?void 0:g.automaticLaneOrdering)??!1,o=aOe(t),{ordered:l,coordinates:u}=nOe(e,{nodeGap:r,layerGap:n,ignoreCrossLaneEdges:i,optimizeRanksByCrossings:a,automaticLaneOrdering:s,direction:o});VLe(e,l,u,{nodeGap:r,layerGap:n});for(const m of t.edges??[])delete m.points;iOe(t,o);for(const m of t.edges??[])(!m.curve||m.curve==="basis")&&(m.curve="rounded");return xNe(t,o),vNe(t),o}x(sOe,"runSwimlaneLayoutCore");async function oOe(t,e){const r=e.select("g");KQ(r,t.markers,t.type,t.diagramId),gSe(),USe(),YTe(),aLe(),zLe(t);const n=GLe(t);t.nodes=n.nodes,t.edges=n.edges;const{groups:i}=await ELe(r,t);sOe(t),await BLe(t,i)}x(oOe,"render");const qXt=Object.freeze(Object.defineProperty({__proto__:null,render:oOe},Symbol.toStringTag,{value:"Module"}));function jj(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function jXt(t){if(Array.isArray(t))return t}function YXt(t){if(Array.isArray(t))return jj(t)}function I1(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function XXt(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,cOe(n.key),n)}}function L1(t,e,r){return e&&XXt(t.prototype,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function vc(t,e){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=fre(t))||e){r&&(t=r);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}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 a,s=!0,o=!1;return{s:function(){r=r.call(t)},n:function(){var l=r.next();return s=l.done,l},e:function(l){o=!0,a=l},f:function(){try{s||r.return==null||r.return()}finally{if(o)throw a}}}}function lOe(t,e,r){return(e=cOe(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function KXt(t){if(typeof Symbol<"u"&&t[Symbol.iterator]!=null||t["@@iterator"]!=null)return Array.from(t)}function ZXt(t,e){var r=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(r!=null){var n,i,a,s,o=[],l=!0,u=!1;try{if(a=(r=r.call(t)).next,e===0){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(o.push(n.value),o.length!==e);l=!0);}catch(d){u=!0,i=d}finally{try{if(!l&&r.return!=null&&(s=r.return(),Object(s)!==s))return}finally{if(u)throw i}}return o}}function JXt(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function QXt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function as(t,e){return jXt(t)||ZXt(t,e)||fre(t,e)||JXt()}function JL(t){return YXt(t)||KXt(t)||fre(t)||QXt()}function eKt(t,e){if(typeof t!="object"||!t)return t;var r=t[Symbol.toPrimitive];if(r!==void 0){var n=r.call(t,e);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}function cOe(t){var e=eKt(t,"string");return typeof e=="symbol"?e:e+""}function Fs(t){"@babel/helpers - typeof";return Fs=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},Fs(t)}function fre(t,e){if(t){if(typeof t=="string")return jj(t,e);var r={}.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?jj(t,e):void 0}}var ks=typeof window>"u"?null:window,Lge=ks?ks.navigator:null;ks&&ks.document;var tKt=Fs(""),uOe=Fs({}),rKt=Fs(function(){}),nKt=typeof HTMLElement>"u"?"undefined":Fs(HTMLElement),wS=function(e){return e&&e.instanceString&&Sa(e.instanceString)?e.instanceString():null},Or=function(e){return e!=null&&Fs(e)==tKt},Sa=function(e){return e!=null&&Fs(e)===rKt},Ii=function(e){return!Jc(e)&&(Array.isArray?Array.isArray(e):e!=null&&e instanceof Array)},ei=function(e){return e!=null&&Fs(e)===uOe&&!Ii(e)&&e.constructor===Object},iKt=function(e){return e!=null&&Fs(e)===uOe},Jt=function(e){return e!=null&&Fs(e)===Fs(1)&&!isNaN(e)},dOe=function(e){return Jt(e)&&Math.floor(e)===e},QL=function(e){if(nKt!=="undefined")return e!=null&&e instanceof HTMLElement},Jc=function(e){return TS(e)||hOe(e)},TS=function(e){return wS(e)==="collection"&&e._private.single},hOe=function(e){return wS(e)==="collection"&&!e._private.single},pre=function(e){return wS(e)==="core"},fOe=function(e){return wS(e)==="stylesheet"},aKt=function(e){return wS(e)==="event"},n1=function(e){return e==null?!0:!!(e===""||e.match(/^\s+$/))},sKt=function(e){return typeof HTMLElement>"u"?!1:e instanceof HTMLElement},oKt=function(e){return ei(e)&&Jt(e.x1)&&Jt(e.x2)&&Jt(e.y1)&&Jt(e.y2)},lKt=function(e){return iKt(e)&&Sa(e.then)},cKt=function(){return Lge&&Lge.userAgent.match(/msie|trident|edge/i)},h4=function(e,r){r||(r=function(){if(arguments.length===1)return arguments[0];if(arguments.length===0)return"undefined";for(var a=[],s=0;s<arguments.length;s++)a.push(arguments[s]);return a.join("$")});var n=function(){var a=this,s=arguments,o,l=r.apply(a,s),u=n.cache;return(o=u[l])||(o=u[l]=e.apply(a,s)),o};return n.cache={},n},gre=h4(function(t){return t.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),OP=h4(function(t){return t.replace(/(-\w)/g,function(e){return e[1].toUpperCase()})}),pOe=h4(function(t,e){return t+e[0].toUpperCase()+e.substring(1)},function(t,e){return t+"$"+e}),Nge=function(e){return n1(e)?e:e.charAt(0).toUpperCase()+e.substring(1)},gg=function(e,r){return e.slice(-1*r.length)===r},Os="(?:[-+]?(?:(?:\\d+|\\d*\\.\\d+)(?:[Ee][+-]?\\d+)?))",uKt="rgb[a]?\\(("+Os+"[%]?)\\s*,\\s*("+Os+"[%]?)\\s*,\\s*("+Os+"[%]?)(?:\\s*,\\s*("+Os+"))?\\)",dKt="rgb[a]?\\((?:"+Os+"[%]?)\\s*,\\s*(?:"+Os+"[%]?)\\s*,\\s*(?:"+Os+"[%]?)(?:\\s*,\\s*(?:"+Os+"))?\\)",hKt="hsl[a]?\\(("+Os+")\\s*,\\s*("+Os+"[%])\\s*,\\s*("+Os+"[%])(?:\\s*,\\s*("+Os+"))?\\)",fKt="hsl[a]?\\((?:"+Os+")\\s*,\\s*(?:"+Os+"[%])\\s*,\\s*(?:"+Os+"[%])(?:\\s*,\\s*(?:"+Os+"))?\\)",pKt="\\#[0-9a-fA-F]{3}",gKt="\\#[0-9a-fA-F]{6}",gOe=function(e,r){return e<r?-1:e>r?1:0},mKt=function(e,r){return-1*gOe(e,r)},Gr=Object.assign!=null?Object.assign.bind(Object):function(t){for(var e=arguments,r=1;r<e.length;r++){var n=e[r];if(n!=null)for(var i=Object.keys(n),a=0;a<i.length;a++){var s=i[a];t[s]=n[s]}}return t},UKt=function(e){if(!(!(e.length===4||e.length===7)||e[0]!=="#")){var r=e.length===4,n,i,a,s=16;return r?(n=parseInt(e[1]+e[1],s),i=parseInt(e[2]+e[2],s),a=parseInt(e[3]+e[3],s)):(n=parseInt(e[1]+e[2],s),i=parseInt(e[3]+e[4],s),a=parseInt(e[5]+e[6],s)),[n,i,a]}},yKt=function(e){var r,n,i,a,s,o,l,u;function d(g,m,U){return U<0&&(U+=1),U>1&&(U-=1),U<1/6?g+(m-g)*6*U:U<1/2?m:U<2/3?g+(m-g)*(2/3-U)*6:g}var h=new RegExp("^"+hKt+"$").exec(e);if(h){if(n=parseInt(h[1]),n<0?n=(360- -1*n%360)%360:n>360&&(n=n%360),n/=360,i=parseFloat(h[2]),i<0||i>100||(i=i/100,a=parseFloat(h[3]),a<0||a>100)||(a=a/100,s=h[4],s!==void 0&&(s=parseFloat(s),s<0||s>1)))return;if(i===0)o=l=u=Math.round(a*255);else{var f=a<.5?a*(1+i):a+i-a*i,p=2*a-f;o=Math.round(255*d(p,f,n+1/3)),l=Math.round(255*d(p,f,n)),u=Math.round(255*d(p,f,n-1/3))}r=[o,l,u,s]}return r},bKt=function(e){var r,n=new RegExp("^"+uKt+"$").exec(e);if(n){r=[];for(var i=[],a=1;a<=3;a++){var s=n[a];if(s[s.length-1]==="%"&&(i[a]=!0),s=parseFloat(s),i[a]&&(s=s/100*255),s<0||s>255)return;r.push(Math.floor(s))}var o=i[1]||i[2]||i[3],l=i[1]&&i[2]&&i[3];if(o&&!l)return;var u=n[4];if(u!==void 0){if(u=parseFloat(u),u<0||u>1)return;r.push(u)}}return r},vKt=function(e){return xKt[e.toLowerCase()]},mOe=function(e){return(Ii(e)?e:null)||vKt(e)||UKt(e)||bKt(e)||yKt(e)},xKt={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]},UOe=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a<i;a++){var s=n[a];if(ei(s))throw Error("Tried to set map with object key");a<n.length-1?(r[s]==null&&(r[s]={}),r=r[s]):r[s]=e.value}},yOe=function(e){for(var r=e.map,n=e.keys,i=n.length,a=0;a<i;a++){var s=n[a];if(ei(s))throw Error("Tried to get map with object key");if(r=r[s],r==null)return r}return r},_E=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function CS(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var az,Oge;function SS(){if(Oge)return az;Oge=1;function t(e){var r=typeof e;return e!=null&&(r=="object"||r=="function")}return az=t,az}var sz,Dge;function wKt(){if(Dge)return sz;Dge=1;var t=typeof _E=="object"&&_E&&_E.Object===Object&&_E;return sz=t,sz}var oz,Pge;function DP(){if(Pge)return oz;Pge=1;var t=wKt(),e=typeof self=="object"&&self&&self.Object===Object&&self,r=t||e||Function("return this")();return oz=r,oz}var lz,_ge;function TKt(){if(_ge)return lz;_ge=1;var t=DP(),e=function(){return t.Date.now()};return lz=e,lz}var cz,Bge;function CKt(){if(Bge)return cz;Bge=1;var t=/\s/;function e(r){for(var n=r.length;n--&&t.test(r.charAt(n)););return n}return cz=e,cz}var uz,$ge;function SKt(){if($ge)return uz;$ge=1;var t=CKt(),e=/^\s+/;function r(n){return n&&n.slice(0,t(n)+1).replace(e,"")}return uz=r,uz}var dz,Fge;function mre(){if(Fge)return dz;Fge=1;var t=DP(),e=t.Symbol;return dz=e,dz}var hz,zge;function kKt(){if(zge)return hz;zge=1;var t=mre(),e=Object.prototype,r=e.hasOwnProperty,n=e.toString,i=t?t.toStringTag:void 0;function a(s){var o=r.call(s,i),l=s[i];try{s[i]=void 0;var u=!0}catch{}var d=n.call(s);return u&&(o?s[i]=l:delete s[i]),d}return hz=a,hz}var fz,Hge;function EKt(){if(Hge)return fz;Hge=1;var t=Object.prototype,e=t.toString;function r(n){return e.call(n)}return fz=r,fz}var pz,Vge;function bOe(){if(Vge)return pz;Vge=1;var t=mre(),e=kKt(),r=EKt(),n="[object Null]",i="[object Undefined]",a=t?t.toStringTag:void 0;function s(o){return o==null?o===void 0?i:n:a&&a in Object(o)?e(o):r(o)}return pz=s,pz}var gz,Gge;function AKt(){if(Gge)return gz;Gge=1;function t(e){return e!=null&&typeof e=="object"}return gz=t,gz}var mz,Wge;function kS(){if(Wge)return mz;Wge=1;var t=bOe(),e=AKt(),r="[object Symbol]";function n(i){return typeof i=="symbol"||e(i)&&t(i)==r}return mz=n,mz}var Uz,qge;function MKt(){if(qge)return Uz;qge=1;var t=SKt(),e=SS(),r=kS(),n=NaN,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,s=/^0o[0-7]+$/i,o=parseInt;function l(u){if(typeof u=="number")return u;if(r(u))return n;if(e(u)){var d=typeof u.valueOf=="function"?u.valueOf():u;u=e(d)?d+"":d}if(typeof u!="string")return u===0?u:+u;u=t(u);var h=a.test(u);return h||s.test(u)?o(u.slice(2),h?2:8):i.test(u)?n:+u}return Uz=l,Uz}var yz,jge;function RKt(){if(jge)return yz;jge=1;var t=SS(),e=TKt(),r=MKt(),n="Expected a function",i=Math.max,a=Math.min;function s(o,l,u){var d,h,f,p,g,m,U=0,y=!1,b=!1,v=!0;if(typeof o!="function")throw new TypeError(n);l=r(l)||0,t(u)&&(y=!!u.leading,b="maxWait"in u,f=b?i(r(u.maxWait)||0,l):f,v="trailing"in u?!!u.trailing:v);function w(N){var I=d,L=h;return d=h=void 0,U=N,p=o.apply(L,I),p}function T(N){return U=N,g=setTimeout(k,l),y?w(N):p}function S(N){var I=N-m,L=N-U,_=l-I;return b?a(_,f-L):_}function C(N){var I=N-m,L=N-U;return m===void 0||I>=l||I<0||b&&L>=f}function k(){var N=e();if(C(N))return E(N);g=setTimeout(k,S(N))}function E(N){return g=void 0,v&&d?w(N):(d=h=void 0,p)}function A(){g!==void 0&&clearTimeout(g),U=0,d=m=h=g=void 0}function M(){return g===void 0?p:E(e())}function P(){var N=e(),I=C(N);if(d=arguments,h=this,m=N,I){if(g===void 0)return T(m);if(b)return clearTimeout(g),g=setTimeout(k,l),w(m)}return g===void 0&&(g=setTimeout(k,l)),p}return P.cancel=A,P.flush=M,P}return yz=s,yz}var IKt=RKt(),ES=CS(IKt),bz=ks?ks.performance:null,vOe=bz&&bz.now?function(){return bz.now()}:function(){return Date.now()},LKt=(function(){if(ks){if(ks.requestAnimationFrame)return function(t){ks.requestAnimationFrame(t)};if(ks.mozRequestAnimationFrame)return function(t){ks.mozRequestAnimationFrame(t)};if(ks.webkitRequestAnimationFrame)return function(t){ks.webkitRequestAnimationFrame(t)};if(ks.msRequestAnimationFrame)return function(t){ks.msRequestAnimationFrame(t)}}return function(t){t&&setTimeout(function(){t(vOe())},1e3/60)}})(),eN=function(e){return LKt(e)},F0=vOe,zm=9261,xOe=65599,o2=5381,wOe=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:zm,n=r,i;i=e.next(),!i.done;)n=n*xOe+i.value|0;return n},qT=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:zm;return r*xOe+e|0},jT=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:o2;return(r<<5)+r+e|0},NKt=function(e,r){return e*2097152+r},Bp=function(e){return e[0]*2097152+e[1]},BE=function(e,r){return[qT(e[0],r[0]),jT(e[1],r[1])]},Yge=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i<a?n.value=e[i++]:n.done=!0,n}};return wOe(s,r)},l5=function(e,r){var n={value:0,done:!1},i=0,a=e.length,s={next:function(){return i<a?n.value=e.charCodeAt(i++):n.done=!0,n}};return wOe(s,r)},TOe=function(){return OKt(arguments)},OKt=function(e){for(var r,n=0;n<e.length;n++){var i=e[n];n===0?r=l5(i):r=l5(i,r)}return r};function DKt(t,e,r,n,i){var a=i*Math.PI/180,s=Math.cos(a)*(t-r)-Math.sin(a)*(e-n)+r,o=Math.sin(a)*(t-r)+Math.cos(a)*(e-n)+n;return{x:s,y:o}}var PKt=function(e,r,n,i,a,s){return{x:(e-n)*a+n,y:(r-i)*s+i}};function _Kt(t,e,r){if(r===0)return t;var n=(e.x1+e.x2)/2,i=(e.y1+e.y2)/2,a=e.w/e.h,s=1/a,o=DKt(t.x,t.y,n,i,r),l=PKt(o.x,o.y,n,i,a,s);return{x:l.x,y:l.y}}var Xge=!0,BKt=console.warn!=null,$Kt=console.trace!=null,Ure=Number.MAX_SAFE_INTEGER||9007199254740991,COe=function(){return!0},tN=function(){return!1},Kge=function(){return 0},yre=function(){},ca=function(e){throw new Error(e)},SOe=function(e){if(e!==void 0)Xge=!!e;else return Xge},xi=function(e){SOe()&&(BKt?console.warn(e):(console.log(e),$Kt&&console.trace()))},FKt=function(e){return Gr({},e)},Nh=function(e){return e==null?e:Ii(e)?e.slice():ei(e)?FKt(e):e},zKt=function(e){return e.slice()},kOe=function(e,r){for(r=e="";e++<36;r+=e*51&52?(e^15?8^Math.random()*(e^20?16:4):4).toString(16):"-");return r},HKt={},EOe=function(){return HKt},_o=function(e){var r=Object.keys(e);return function(n){for(var i={},a=0;a<r.length;a++){var s=r[a],o=n==null?void 0:n[s];i[s]=o===void 0?e[s]:o}return i}},i1=function(e,r,n){for(var i=e.length-1;i>=0;i--)e[i]===r&&e.splice(i,1)},bre=function(e){e.splice(0,e.length)},VKt=function(e,r){for(var n=0;n<r.length;n++){var i=r[n];e.push(i)}},Cl=function(e,r,n){return n&&(r=pOe(n,r)),e[r]},xh=function(e,r,n,i){n&&(r=pOe(n,r)),e[r]=i},GKt=(function(){function t(){I1(this,t),this._obj={}}return L1(t,[{key:"set",value:function(r,n){return this._obj[r]=n,this}},{key:"delete",value:function(r){return this._obj[r]=void 0,this}},{key:"clear",value:function(){this._obj={}}},{key:"has",value:function(r){return this._obj[r]!==void 0}},{key:"get",value:function(r){return this._obj[r]}}])})(),u0=typeof Map<"u"?Map:GKt,WKt="undefined",qKt=(function(){function t(e){if(I1(this,t),this._obj=Object.create(null),this.size=0,e!=null){var r;e.instanceString!=null&&e.instanceString()===this.instanceString()?r=e.toArray():r=e;for(var n=0;n<r.length;n++)this.add(r[n])}}return L1(t,[{key:"instanceString",value:function(){return"set"}},{key:"add",value:function(r){var n=this._obj;n[r]!==1&&(n[r]=1,this.size++)}},{key:"delete",value:function(r){var n=this._obj;n[r]===1&&(n[r]=0,this.size--)}},{key:"clear",value:function(){this._obj=Object.create(null)}},{key:"has",value:function(r){return this._obj[r]===1}},{key:"toArray",value:function(){var r=this;return Object.keys(this._obj).filter(function(n){return r.has(n)})}},{key:"forEach",value:function(r,n){return this.toArray().forEach(r,n)}}])})(),h3=(typeof Set>"u"?"undefined":Fs(Set))!==WKt?Set:qKt,PP=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(e===void 0||r===void 0||!pre(e)){ca("An element must have a core reference and parameters set");return}var i=r.group;if(i==null&&(r.data&&r.data.source!=null&&r.data.target!=null?i="edges":i="nodes"),i!=="nodes"&&i!=="edges"){ca("An element must be of type `nodes` or `edges`; you specified `"+i+"`");return}this.length=1,this[0]=this;var a=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:i,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?i==="edges":!!r.pannable,active:!1,classes:new h3,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(a.position.x==null&&(a.position.x=0),a.position.y==null&&(a.position.y=0),r.renderedPosition){var s=r.renderedPosition,o=e.pan(),l=e.zoom();a.position={x:(s.x-o.x)/l,y:(s.y-o.y)/l}}var u=[];Ii(r.classes)?u=r.classes:Or(r.classes)&&(u=r.classes.split(/\s+/));for(var d=0,h=u.length;d<h;d++){var f=u[d];!f||f===""||a.classes.add(f)}this.createEmitter(),(n===void 0||n)&&this.restore();var p=r.style||r.css;p&&(xi("Setting a `style` bypass at element creation should be done only when absolutely necessary. Try to use the stylesheet instead."),this.style(p))},Zge=function(e){return e={bfs:e.bfs||!e.dfs,dfs:e.dfs||!e.bfs},function(n,i,a){var s;ei(n)&&!Jc(n)&&(s=n,n=s.roots||s.root,i=s.visit,a=s.directed),a=arguments.length===2&&!Sa(i)?i:a,i=Sa(i)?i:function(){};for(var o=this._private.cy,l=n=Or(n)?this.filter(n):n,u=[],d=[],h={},f={},p={},g=0,m,U=this.byGroup(),y=U.nodes,b=U.edges,v=0;v<l.length;v++){var w=l[v],T=w.id();w.isNode()&&(u.unshift(w),e.bfs&&(p[T]=!0,d.push(w)),f[T]=0)}for(var S=function(){var N=e.bfs?u.shift():u.pop(),I=N.id();if(e.dfs){if(p[I])return 0;p[I]=!0,d.push(N)}var L=f[I],_=h[I],D=_!=null?_.source():null,O=_!=null?_.target():null,B=_==null?void 0:N.same(D)?O[0]:D[0],F;if(F=i(N,_,B,g++,L),F===!0)return m=N,1;if(F===!1)return 1;for(var z=N.connectedEdges().filter(function(K){return(!a||K.source().same(N))&&b.has(K)}),$=0;$<z.length;$++){var H=z[$],V=H.connectedNodes().filter(function(K){return!K.same(N)&&y.has(K)}),G=V.id();V.length!==0&&!p[G]&&(V=V[0],u.push(V),e.bfs&&(p[G]=!0,d.push(V)),h[G]=H,f[G]=f[I]+1)}},C;u.length!==0&&(C=S(),!(C!==0&&C===1)););for(var k=o.collection(),E=0;E<d.length;E++){var A=d[E],M=h[A.id()];M!=null&&k.push(M),k.push(A)}return{path:o.collection(k),found:o.collection(m)}}},YT={breadthFirstSearch:Zge({bfs:!0}),depthFirstSearch:Zge({dfs:!0})};YT.bfs=YT.breadthFirstSearch;YT.dfs=YT.depthFirstSearch;var fM={exports:{}},jKt=fM.exports,Jge;function YKt(){return Jge||(Jge=1,(function(t,e){(function(){var r,n,i,a,s,o,l,u,d,h,f,p,g,m,U;i=Math.floor,h=Math.min,n=function(y,b){return y<b?-1:y>b?1:0},d=function(y,b,v,w,T){var S;if(v==null&&(v=0),T==null&&(T=n),v<0)throw new Error("lo must be non-negative");for(w==null&&(w=y.length);v<w;)S=i((v+w)/2),T(b,y[S])<0?w=S:v=S+1;return[].splice.apply(y,[v,v-v].concat(b)),b},o=function(y,b,v){return v==null&&(v=n),y.push(b),m(y,0,y.length-1,v)},s=function(y,b){var v,w;return b==null&&(b=n),v=y.pop(),y.length?(w=y[0],y[0]=v,U(y,0,b)):w=v,w},u=function(y,b,v){var w;return v==null&&(v=n),w=y[0],y[0]=b,U(y,0,v),w},l=function(y,b,v){var w;return v==null&&(v=n),y.length&&v(y[0],b)<0&&(w=[y[0],b],b=w[0],y[0]=w[1],U(y,0,v)),b},a=function(y,b){var v,w,T,S,C,k;for(b==null&&(b=n),S=(function(){k=[];for(var E=0,A=i(y.length/2);0<=A?E<A:E>A;0<=A?E++:E--)k.push(E);return k}).apply(this).reverse(),C=[],w=0,T=S.length;w<T;w++)v=S[w],C.push(U(y,v,b));return C},g=function(y,b,v){var w;if(v==null&&(v=n),w=y.indexOf(b),w!==-1)return m(y,0,w,v),U(y,w,v)},f=function(y,b,v){var w,T,S,C,k;if(v==null&&(v=n),T=y.slice(0,b),!T.length)return T;for(a(T,v),k=y.slice(b),S=0,C=k.length;S<C;S++)w=k[S],l(T,w,v);return T.sort(v).reverse()},p=function(y,b,v){var w,T,S,C,k,E,A,M,P;if(v==null&&(v=n),b*10<=y.length){if(S=y.slice(0,b).sort(v),!S.length)return S;for(T=S[S.length-1],A=y.slice(b),C=0,E=A.length;C<E;C++)w=A[C],v(w,T)<0&&(d(S,w,0,null,v),S.pop(),T=S[S.length-1]);return S}for(a(y,v),P=[],k=0,M=h(b,y.length);0<=M?k<M:k>M;0<=M?++k:--k)P.push(s(y,v));return P},m=function(y,b,v,w){var T,S,C;for(w==null&&(w=n),T=y[v];v>b;){if(C=v-1>>1,S=y[C],w(T,S)<0){y[v]=S,v=C;continue}break}return y[v]=T},U=function(y,b,v){var w,T,S,C,k;for(v==null&&(v=n),T=y.length,k=b,S=y[b],w=2*b+1;w<T;)C=w+1,C<T&&!(v(y[w],y[C])<0)&&(w=C),y[b]=y[w],b=w,w=2*b+1;return y[b]=S,m(y,k,b,v)},r=(function(){y.push=o,y.pop=s,y.replace=u,y.pushpop=l,y.heapify=a,y.updateItem=g,y.nlargest=f,y.nsmallest=p;function y(b){this.cmp=b??n,this.nodes=[]}return y.prototype.push=function(b){return o(this.nodes,b,this.cmp)},y.prototype.pop=function(){return s(this.nodes,this.cmp)},y.prototype.peek=function(){return this.nodes[0]},y.prototype.contains=function(b){return this.nodes.indexOf(b)!==-1},y.prototype.replace=function(b){return u(this.nodes,b,this.cmp)},y.prototype.pushpop=function(b){return l(this.nodes,b,this.cmp)},y.prototype.heapify=function(){return a(this.nodes,this.cmp)},y.prototype.updateItem=function(b){return g(this.nodes,b,this.cmp)},y.prototype.clear=function(){return this.nodes=[]},y.prototype.empty=function(){return this.nodes.length===0},y.prototype.size=function(){return this.nodes.length},y.prototype.clone=function(){var b;return b=new y,b.nodes=this.nodes.slice(0),b},y.prototype.toArray=function(){return this.nodes.slice(0)},y.prototype.insert=y.prototype.push,y.prototype.top=y.prototype.peek,y.prototype.front=y.prototype.peek,y.prototype.has=y.prototype.contains,y.prototype.copy=y.prototype.clone,y})(),(function(y,b){return t.exports=b()})(this,function(){return r})}).call(jKt)})(fM)),fM.exports}var vz,Qge;function XKt(){return Qge||(Qge=1,vz=YKt()),vz}var KKt=XKt(),AS=CS(KKt),ZKt=_o({root:null,weight:function(e){return 1},directed:!1}),JKt={dijkstra:function(e){if(!ei(e)){var r=arguments;e={root:r[0],weight:r[1],directed:r[2]}}var n=ZKt(e),i=n.root,a=n.weight,s=n.directed,o=this,l=a,u=Or(i)?this.filter(i)[0]:i[0],d={},h={},f={},p=this.byGroup(),g=p.nodes,m=p.edges;m.unmergeBy(function(L){return L.isLoop()});for(var U=function(_){return d[_.id()]},y=function(_,D){d[_.id()]=D,b.updateItem(_)},b=new AS(function(L,_){return U(L)-U(_)}),v=0;v<g.length;v++){var w=g[v];d[w.id()]=w.same(u)?0:1/0,b.push(w)}for(var T=function(_,D){for(var O=(s?_.edgesTo(D):_.edgesWith(D)).intersect(m),B=1/0,F,z=0;z<O.length;z++){var $=O[z],H=l($);(H<B||!F)&&(B=H,F=$)}return{edge:F,dist:B}};b.size()>0;){var S=b.pop(),C=U(S),k=S.id();if(f[k]=C,C!==1/0)for(var E=S.neighborhood().intersect(g),A=0;A<E.length;A++){var M=E[A],P=M.id(),N=T(S,M),I=C+N.dist;I<U(M)&&(y(M,I),h[P]={node:S,edge:N.edge})}}return{distanceTo:function(_){var D=Or(_)?g.filter(_)[0]:_[0];return f[D.id()]},pathTo:function(_){var D=Or(_)?g.filter(_)[0]:_[0],O=[],B=D,F=B.id();if(D.length>0)for(O.unshift(D);h[F];){var z=h[F];O.unshift(z.edge),O.unshift(z.node),B=z.node,F=B.id()}return o.spawn(O)}}}},QKt={kruskal:function(e){e=e||function(v){return 1};for(var r=this.byGroup(),n=r.nodes,i=r.edges,a=n.length,s=new Array(a),o=n,l=function(w){for(var T=0;T<s.length;T++){var S=s[T];if(S.has(w))return T}},u=0;u<a;u++)s[u]=this.spawn(n[u]);for(var d=i.sort(function(v,w){return e(v)-e(w)}),h=0;h<d.length;h++){var f=d[h],p=f.source()[0],g=f.target()[0],m=l(p),U=l(g),y=s[m],b=s[U];m!==U&&(o.merge(f),y.merge(b),s.splice(U,1))}return o}},eZt=_o({root:null,goal:null,weight:function(e){return 1},heuristic:function(e){return 0},directed:!1}),tZt={aStar:function(e){var r=this.cy(),n=eZt(e),i=n.root,a=n.goal,s=n.heuristic,o=n.directed,l=n.weight;i=r.collection(i)[0],a=r.collection(a)[0];var u=i.id(),d=a.id(),h={},f={},p={},g=new AS(function(F,z){return f[F.id()]-f[z.id()]}),m=new h3,U={},y={},b=function(z,$){g.push(z),m.add($)},v,w,T=function(){v=g.pop(),w=v.id(),m.delete(w)},S=function(z){return m.has(z)};b(i,u),h[u]=0,f[u]=s(i);for(var C=0;g.size()>0;){if(T(),C++,w===d){for(var k=[],E=a,A=d,M=y[A];k.unshift(E),M!=null&&k.unshift(M),E=U[A],E!=null;)A=E.id(),M=y[A];return{found:!0,distance:h[w],path:this.spawn(k),steps:C}}p[w]=!0;for(var P=v._private.edges,N=0;N<P.length;N++){var I=P[N];if(this.hasElementWithId(I.id())&&!(o&&I.data("source")!==w)){var L=I.source(),_=I.target(),D=L.id()!==w?L:_,O=D.id();if(this.hasElementWithId(O)&&!p[O]){var B=h[w]+l(I);if(!S(O)){h[O]=B,f[O]=B+s(D),b(D,O),U[O]=v,y[O]=I;continue}B<h[O]&&(h[O]=B,f[O]=B+s(D),g.updateItem(D),U[O]=v,y[O]=I)}}}}return{found:!1,distance:void 0,path:void 0,steps:C}}},rZt=_o({weight:function(e){return 1},directed:!1}),nZt={floydWarshall:function(e){for(var r=this.cy(),n=rZt(e),i=n.weight,a=n.directed,s=i,o=this.byGroup(),l=o.nodes,u=o.edges,d=l.length,h=d*d,f=function(H){return l.indexOf(H)},p=function(H){return l[H]},g=new Array(h),m=0;m<h;m++){var U=m%d,y=(m-U)/d;y===U?g[m]=0:g[m]=1/0}for(var b=new Array(h),v=new Array(h),w=0;w<u.length;w++){var T=u[w],S=T.source()[0],C=T.target()[0];if(S!==C){var k=f(S),E=f(C),A=k*d+E,M=s(T);if(g[A]>M&&(g[A]=M,b[A]=E,v[A]=T),!a){var P=E*d+k;!a&&g[P]>M&&(g[P]=M,b[P]=k,v[P]=T)}}}for(var N=0;N<d;N++)for(var I=0;I<d;I++)for(var L=I*d+N,_=0;_<d;_++){var D=I*d+_,O=N*d+_;g[L]+g[O]<g[D]&&(g[D]=g[L]+g[O],b[D]=b[L])}var B=function(H){return(Or(H)?r.filter(H):H)[0]},F=function(H){return f(B(H))},z={distance:function(H,V){var G=F(H),K=F(V);return g[G*d+K]},path:function(H,V){var G=F(H),K=F(V),W=p(G);if(G===K)return W.collection();if(b[G*d+K]==null)return r.collection();var oe=r.collection(),Z=G,J;for(oe.merge(W);G!==K;)Z=G,G=b[G*d+K],J=v[Z*d+G],oe.merge(J),oe.merge(p(G));return oe}};return z}},iZt=_o({weight:function(e){return 1},directed:!1,root:null}),aZt={bellmanFord:function(e){var r=this,n=iZt(e),i=n.weight,a=n.directed,s=n.root,o=i,l=this,u=this.cy(),d=this.byGroup(),h=d.edges,f=d.nodes,p=f.length,g=new u0,m=!1,U=[];s=u.collection(s)[0],h.unmergeBy(function(He){return He.isLoop()});for(var y=h.length,b=function(ce){var de=g.get(ce.id());return de||(de={},g.set(ce.id(),de)),de},v=function(ce){return(Or(ce)?u.$(ce):ce)[0]},w=function(ce){return b(v(ce)).dist},T=function(ce){for(var de=arguments.length>1&&arguments[1]!==void 0?arguments[1]:s,we=v(ce),ge=[],ze=we;;){if(ze==null)return r.spawn();var xe=b(ze),Ee=xe.edge,qe=xe.pred;if(ge.unshift(ze[0]),ze.same(de)&&ge.length>0)break;Ee!=null&&ge.unshift(Ee),ze=qe}return l.spawn(ge)},S=0;S<p;S++){var C=f[S],k=b(C);C.same(s)?k.dist=0:k.dist=1/0,k.pred=null,k.edge=null}for(var E=!1,A=function(ce,de,we,ge,ze,xe){var Ee=ge.dist+xe;Ee<ze.dist&&!we.same(ge.edge)&&(ze.dist=Ee,ze.pred=ce,ze.edge=we,E=!0)},M=1;M<p;M++){E=!1;for(var P=0;P<y;P++){var N=h[P],I=N.source(),L=N.target(),_=o(N),D=b(I),O=b(L);A(I,L,N,D,O,_),a||A(L,I,N,O,D,_)}if(!E)break}if(E)for(var B=[],F=0;F<y;F++){var z=h[F],$=z.source(),H=z.target(),V=o(z),G=b($).dist,K=b(H).dist;if(G+V<K||!a&&K+V<G)if(m||(xi("Graph contains a negative weight cycle for Bellman-Ford"),m=!0),e.findNegativeWeightCycles!==!1){var W=[];G+V<K&&W.push($),!a&&K+V<G&&W.push(H);for(var oe=W.length,Z=0;Z<oe;Z++){var J=W[Z],ne=[J];ne.push(b(J).edge);for(var ie=b(J).pred;ne.indexOf(ie)===-1;)ne.push(ie),ne.push(b(ie).edge),ie=b(ie).pred;ne=ne.slice(ne.indexOf(ie));for(var me=ne[0].id(),te=0,Re=2;Re<ne.length;Re+=2)ne[Re].id()<me&&(me=ne[Re].id(),te=Re);ne=ne.slice(te).concat(ne.slice(0,te)),ne.push(ne[0]);var _e=ne.map(function(He){return He.id()}).join(",");B.indexOf(_e)===-1&&(U.push(l.spawn(ne)),B.push(_e))}}else break}return{distanceTo:w,pathTo:T,hasNegativeWeightCycle:m,negativeWeightCycles:U}}},sZt=Math.sqrt(2),oZt=function(e,r,n){n.length===0&&ca("Karger-Stein must be run on a connected (sub)graph");for(var i=n[e],a=i[1],s=i[2],o=r[a],l=r[s],u=n,d=u.length-1;d>=0;d--){var h=u[d],f=h[1],p=h[2];(r[f]===o&&r[p]===l||r[f]===l&&r[p]===o)&&u.splice(d,1)}for(var g=0;g<u.length;g++){var m=u[g];m[1]===l?(u[g]=m.slice(),u[g][1]=o):m[2]===l&&(u[g]=m.slice(),u[g][2]=o)}for(var U=0;U<r.length;U++)r[U]===l&&(r[U]=o);return u},xz=function(e,r,n,i){for(;n>i;){var a=Math.floor(Math.random()*r.length);r=oZt(a,e,r),n--}return r},lZt={kargerStein:function(){var e=this,r=this.byGroup(),n=r.nodes,i=r.edges;i.unmergeBy(function(O){return O.isLoop()});var a=n.length,s=i.length,o=Math.ceil(Math.pow(Math.log(a)/Math.LN2,2)),l=Math.floor(a/sZt);if(a<2){ca("At least 2 nodes are required for Karger-Stein algorithm");return}for(var u=[],d=0;d<s;d++){var h=i[d];u.push([d,n.indexOf(h.source()),n.indexOf(h.target())])}for(var f=1/0,p=[],g=new Array(a),m=new Array(a),U=new Array(a),y=function(B,F){for(var z=0;z<a;z++)F[z]=B[z]},b=0;b<=o;b++){for(var v=0;v<a;v++)m[v]=v;var w=xz(m,u.slice(),a,l),T=w.slice();y(m,U);var S=xz(m,w,l,2),C=xz(U,T,l,2);S.length<=C.length&&S.length<f?(f=S.length,p=S,y(m,g)):C.length<=S.length&&C.length<f&&(f=C.length,p=C,y(U,g))}for(var k=this.spawn(p.map(function(O){return i[O[0]]})),E=this.spawn(),A=this.spawn(),M=g[0],P=0;P<g.length;P++){var N=g[P],I=n[P];N===M?E.merge(I):A.merge(I)}var L=function(B){var F=e.spawn();return B.forEach(function(z){F.merge(z),z.connectedEdges().forEach(function($){e.contains($)&&!k.contains($)&&F.merge($)})}),F},_=[L(E),L(A)],D={cut:k,components:_,partition1:E,partition2:A};return D}},wz,cZt=function(e){return{x:e.x,y:e.y}},_P=function(e,r,n){return{x:e.x*r+n.x,y:e.y*r+n.y}},AOe=function(e,r,n){return{x:(e.x-n.x)/r,y:(e.y-n.y)/r}},F2=function(e){return{x:e[0],y:e[1]}},uZt=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=1/0,a=r;a<n;a++){var s=e[a];isFinite(s)&&(i=Math.min(s,i))}return i},dZt=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=-1/0,a=r;a<n;a++){var s=e[a];isFinite(s)&&(i=Math.max(s,i))}return i},hZt=function(e){for(var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=0,a=0,s=r;s<n;s++){var o=e[s];isFinite(o)&&(i+=o,a++)}return i/a},fZt=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:e.length,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,a=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0;i?e=e.slice(r,n):(n<e.length&&e.splice(n,e.length-n),r>0&&e.splice(0,r));for(var o=0,l=e.length-1;l>=0;l--){var u=e[l];s?isFinite(u)||(e[l]=-1/0,o++):e.splice(l,1)}a&&e.sort(function(f,p){return f-p});var d=e.length,h=Math.floor(d/2);return d%2!==0?e[h+1+o]:(e[h-1+o]+e[h+o])/2},MOe=function(e,r){return r===0?e:MOe(r,e%r)},pZt=function(e){for(var r=e[0],n=0;n<e.length;n++)if(dOe(e[n]))n>0&&(r=MOe(r,e[n]));else return 0;return r},gZt=function(e){return Math.PI*e/180},$E=function(e,r){return Math.atan2(r,e)-Math.PI/2},vre=Math.log2||function(t){return Math.log(t)/Math.log(2)},xre=function(e){return e>0?1:e<0?-1:0},c5=function(e,r){return Math.sqrt(Cm(e,r))},Cm=function(e,r){var n=r.x-e.x,i=r.y-e.y;return n*n+i*i},mZt=function(e){for(var r=e.length,n=0,i=0;i<r;i++)n+=e[i];for(var a=0;a<r;a++)e[a]=e[a]/n;return e},Ws=function(e,r,n,i){return(1-i)*(1-i)*e+2*(1-i)*i*r+i*i*n},vb=function(e,r,n,i){return{x:Ws(e.x,r.x,n.x,i),y:Ws(e.y,r.y,n.y,i)}},UZt=function(e,r,n,i){var a={x:r.x-e.x,y:r.y-e.y},s=c5(e,r),o={x:a.x/s,y:a.y/s};return n=n??0,i=i??n*s,{x:e.x+o.x*i,y:e.y+o.y*i}},XT=function(e,r,n){return Math.max(e,Math.min(n,r))},Gl=function(e){if(e==null)return{x1:1/0,y1:1/0,x2:-1/0,y2:-1/0,w:0,h:0};if(e.x1!=null&&e.y1!=null){if(e.x2!=null&&e.y2!=null&&e.x2>=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}}},yZt=function(e){return{x1:e.x1,x2:e.x2,w:e.w,y1:e.y1,y2:e.y2,h:e.h}},bZt=function(e){e.x1=1/0,e.y1=1/0,e.x2=-1/0,e.y2=-1/0,e.w=0,e.h=0},vZt=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},ROe=function(e,r,n){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,n),e.y2=Math.max(e.y2,n),e.h=e.y2-e.y1},pM=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},gM=function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[0],n,i,a,s;if(r.length===1)n=i=a=s=r[0];else if(r.length===2)n=a=r[0],s=i=r[1];else if(r.length===4){var o=as(r,4);n=o[0],i=o[1],a=o[2],s=o[3]}return e.x1-=s,e.x2+=i,e.y1-=n,e.y2+=a,e.w=e.x2-e.x1,e.h=e.y2-e.y1,e},e1e=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},wre=function(e,r){return!(e.x1>r.x2||r.x1>e.x2||e.x2<r.x1||r.x2<e.x1||e.y2<r.y1||r.y2<e.y1||e.y1>r.y2||r.y1>e.y2)},mg=function(e,r,n){return e.x1<=r&&r<=e.x2&&e.y1<=n&&n<=e.y2},t1e=function(e,r){return mg(e,r.x,r.y)},IOe=function(e,r){return mg(e,r.x1,r.y1)&&mg(e,r.x2,r.y2)},xZt=(wz=Math.hypot)!==null&&wz!==void 0?wz:function(t,e){return Math.sqrt(t*t+e*e)};function wZt(t,e){if(t.length<3)throw new Error("Need at least 3 vertices");var r=function(k,E){return{x:k.x+E.x,y:k.y+E.y}},n=function(k,E){return{x:k.x-E.x,y:k.y-E.y}},i=function(k,E){return{x:k.x*E,y:k.y*E}},a=function(k,E){return k.x*E.y-k.y*E.x},s=function(k){var E=xZt(k.x,k.y);return E===0?{x:0,y:0}:{x:k.x/E,y:k.y/E}},o=function(k){for(var E=0,A=0;A<k.length;A++){var M=k[A],P=k[(A+1)%k.length];E+=M.x*P.y-P.x*M.y}return E/2},l=function(k,E,A,M){var P=n(E,k),N=n(M,A),I=a(P,N);if(Math.abs(I)<1e-9)return r(k,i(P,.5));var L=a(n(A,k),N)/I;return r(k,i(P,L))},u=t.map(function(C){return{x:C.x,y:C.y}});o(u)<0&&u.reverse();for(var d=u.length,h=[],f=0;f<d;f++){var p=u[f],g=u[(f+1)%d],m=n(g,p),U=s({x:m.y,y:-m.x});h.push(U)}for(var y=h.map(function(C,k){var E=r(u[k],i(C,e)),A=r(u[(k+1)%d],i(C,e));return{p1:E,p2:A}}),b=[],v=0;v<d;v++){var w=y[(v-1+d)%d],T=y[v],S=l(w.p1,w.p2,T.p1,T.p2);b.push(S)}return b}function TZt(t,e,r,n,i,a){var s=LZt(t,e,r,n,i),o=wZt(s,a),l=Gl();return o.forEach(function(u){return ROe(l,u.x,u.y)}),l}var LOe=function(e,r,n,i,a,s,o){var l=arguments.length>7&&arguments[7]!==void 0?arguments[7]:"auto",u=l==="auto"?a1(a,s):l,d=a/2,h=s/2;u=Math.min(u,d,h);var f=u!==d,p=u!==h,g;if(f){var m=n-d+u-o,U=i-h-o,y=n+d-u+o,b=U;if(g=Ug(e,r,n,i,m,U,y,b,!1),g.length>0)return g}if(p){var v=n+d+o,w=i-h+u-o,T=v,S=i+h-u+o;if(g=Ug(e,r,n,i,v,w,T,S,!1),g.length>0)return g}if(f){var C=n-d+u-o,k=i+h+o,E=n+d-u+o,A=k;if(g=Ug(e,r,n,i,C,k,E,A,!1),g.length>0)return g}if(p){var M=n-d-o,P=i-h+u-o,N=M,I=i+h-u+o;if(g=Ug(e,r,n,i,M,P,N,I,!1),g.length>0)return g}var L;{var _=n-d+u,D=i-h+u;if(L=ix(e,r,n,i,_,D,u+o),L.length>0&&L[0]<=_&&L[1]<=D)return[L[0],L[1]]}{var O=n+d-u,B=i-h+u;if(L=ix(e,r,n,i,O,B,u+o),L.length>0&&L[0]>=O&&L[1]<=B)return[L[0],L[1]]}{var F=n+d-u,z=i+h-u;if(L=ix(e,r,n,i,F,z,u+o),L.length>0&&L[0]>=F&&L[1]>=z)return[L[0],L[1]]}{var $=n-d+u,H=i+h-u;if(L=ix(e,r,n,i,$,H,u+o),L.length>0&&L[0]<=$&&L[1]>=H)return[L[0],L[1]]}return[]},CZt=function(e,r,n,i,a,s,o){var l=o,u=Math.min(n,a),d=Math.max(n,a),h=Math.min(i,s),f=Math.max(i,s);return u-l<=e&&e<=d+l&&h-l<=r&&r<=f+l},SZt=function(e,r,n,i,a,s,o,l,u){var d={x1:Math.min(n,o,a)-u,x2:Math.max(n,o,a)+u,y1:Math.min(i,l,s)-u,y2:Math.max(i,l,s)+u};return!(e<d.x1||e>d.x2||r<d.y1||r>d.y2)},kZt=function(e,r,n,i){n-=i;var a=r*r-4*e*n;if(a<0)return[];var s=Math.sqrt(a),o=2*e,l=(-r+s)/o,u=(-r-s)/o;return[l,u]},EZt=function(e,r,n,i,a){var s=1e-5;e===0&&(e=s),r/=e,n/=e,i/=e;var o,l,u,d,h,f,p,g;if(l=(3*n-r*r)/9,u=-(27*i)+r*(9*n-2*(r*r)),u/=54,o=l*l*l+u*u,a[1]=0,p=r/3,o>0){h=u+Math.sqrt(o),h=h<0?-Math.pow(-h,1/3):Math.pow(h,1/3),f=u-Math.sqrt(o),f=f<0?-Math.pow(-f,1/3):Math.pow(f,1/3),a[0]=-p+h+f,p+=(h+f)/2,a[4]=a[2]=-p,p=Math.sqrt(3)*(-f+h)/2,a[3]=p,a[5]=-p;return}if(a[5]=a[3]=0,o===0){g=u<0?-Math.pow(-u,1/3):Math.pow(u,1/3),a[0]=-p+2*g,a[4]=a[2]=-(g+p);return}l=-l,d=l*l*l,d=Math.acos(u/Math.sqrt(d)),g=2*Math.sqrt(l),a[0]=-p+g*Math.cos(d/3),a[2]=-p+g*Math.cos((d+2*Math.PI)/3),a[4]=-p+g*Math.cos((d+4*Math.PI)/3)},AZt=function(e,r,n,i,a,s,o,l){var u=1*n*n-4*n*a+2*n*o+4*a*a-4*a*o+o*o+i*i-4*i*s+2*i*l+4*s*s-4*s*l+l*l,d=9*n*a-3*n*n-3*n*o-6*a*a+3*a*o+9*i*s-3*i*i-3*i*l-6*s*s+3*s*l,h=3*n*n-6*n*a+n*o-n*e+2*a*a+2*a*e-o*e+3*i*i-6*i*s+i*l-i*r+2*s*s+2*s*r-l*r,f=1*n*a-n*n+n*e-a*e+i*s-i*i+i*r-s*r,p=[];EZt(u,d,h,f,p);for(var g=1e-7,m=[],U=0;U<6;U+=2)Math.abs(p[U+1])<g&&p[U]>=0&&p[U]<=1&&m.push(p[U]);m.push(1),m.push(0);for(var y=-1,b,v,w,T=0;T<m.length;T++)b=Math.pow(1-m[T],2)*n+2*(1-m[T])*m[T]*a+m[T]*m[T]*o,v=Math.pow(1-m[T],2)*i+2*(1-m[T])*m[T]*s+m[T]*m[T]*l,w=Math.pow(b-e,2)+Math.pow(v-r,2),y>=0?w<y&&(y=w):y=w;return y},MZt=function(e,r,n,i,a,s){var o=[e-n,r-i],l=[a-n,s-i],u=l[0]*l[0]+l[1]*l[1],d=o[0]*o[0]+o[1]*o[1],h=o[0]*l[0]+o[1]*l[1],f=h*h/u;return h<0?d:f>u?(e-a)*(e-a)+(r-s)*(r-s):d-f},mc=function(e,r,n){for(var i,a,s,o,l,u=0,d=0;d<n.length/2;d++)if(i=n[d*2],a=n[d*2+1],d+1<n.length/2?(s=n[(d+1)*2],o=n[(d+1)*2+1]):(s=n[(d+1-n.length/2)*2],o=n[(d+1-n.length/2)*2+1]),!(i==e&&s==e))if(i>=e&&e>=s||i<=e&&e<=s)l=(e-i)/(s-i)*(o-a)+a,l>r&&u++;else continue;return u%2!==0},z0=function(e,r,n,i,a,s,o,l,u){var d=new Array(n.length),h;l[0]!=null?(h=Math.atan(l[1]/l[0]),l[0]<0?h=h+Math.PI/2:h=-h-Math.PI/2):h=l;for(var f=Math.cos(-h),p=Math.sin(-h),g=0;g<d.length/2;g++)d[g*2]=s/2*(n[g*2]*f-n[g*2+1]*p),d[g*2+1]=o/2*(n[g*2+1]*f+n[g*2]*p),d[g*2]+=i,d[g*2+1]+=a;var m;if(u>0){var U=nN(d,-u);m=rN(U)}else m=d;return mc(e,r,m)},RZt=function(e,r,n,i,a,s,o,l){for(var u=new Array(n.length*2),d=0;d<l.length;d++){var h=l[d];u[d*4+0]=h.startX,u[d*4+1]=h.startY,u[d*4+2]=h.stopX,u[d*4+3]=h.stopY;var f=Math.pow(h.cx-e,2)+Math.pow(h.cy-r,2);if(f<=Math.pow(h.radius,2))return!0}return mc(e,r,u)},rN=function(e){for(var r=new Array(e.length/2),n,i,a,s,o,l,u,d,h=0;h<e.length/4;h++){n=e[h*4],i=e[h*4+1],a=e[h*4+2],s=e[h*4+3],h<e.length/4-1?(o=e[(h+1)*4],l=e[(h+1)*4+1],u=e[(h+1)*4+2],d=e[(h+1)*4+3]):(o=e[0],l=e[1],u=e[2],d=e[3]);var f=Ug(n,i,a,s,o,l,u,d,!0);r[h*2]=f[0],r[h*2+1]=f[1]}return r},nN=function(e,r){for(var n=new Array(e.length*2),i,a,s,o,l=0;l<e.length/2;l++){i=e[l*2],a=e[l*2+1],l<e.length/2-1?(s=e[(l+1)*2],o=e[(l+1)*2+1]):(s=e[0],o=e[1]);var u=o-a,d=-(s-i),h=Math.sqrt(u*u+d*d),f=u/h,p=d/h;n[l*4]=i+f*r,n[l*4+1]=a+p*r,n[l*4+2]=s+f*r,n[l*4+3]=o+p*r}return n},IZt=function(e,r,n,i,a,s){var o=n-e,l=i-r;o/=a,l/=s;var u=Math.sqrt(o*o+l*l),d=u-1;if(d<0)return[];var h=d/u;return[(n-e)*h+e,(i-r)*h+r]},mU=function(e,r,n,i,a,s,o){return e-=a,r-=s,e/=n/2+o,r/=i/2+o,e*e+r*r<=1},ix=function(e,r,n,i,a,s,o){var l=[n-e,i-r],u=[e-a,r-s],d=l[0]*l[0]+l[1]*l[1],h=2*(u[0]*l[0]+u[1]*l[1]),f=u[0]*u[0]+u[1]*u[1]-o*o,p=h*h-4*d*f;if(p<0)return[];var g=(-h+Math.sqrt(p))/(2*d),m=(-h-Math.sqrt(p))/(2*d),U=Math.min(g,m),y=Math.max(g,m),b=[];if(U>=0&&U<=1&&b.push(U),y>=0&&y<=1&&b.push(y),b.length===0)return[];var v=b[0]*l[0]+e,w=b[0]*l[1]+r;if(b.length>1){if(b[0]==b[1])return[v,w];var T=b[1]*l[0]+e,S=b[1]*l[1]+r;return[v,w,T,S]}else return[v,w]},Tz=function(e,r,n){return r<=e&&e<=n||n<=e&&e<=r?e:e<=r&&r<=n||n<=r&&r<=e?r:n},Ug=function(e,r,n,i,a,s,o,l,u){var d=e-a,h=n-e,f=o-a,p=r-s,g=i-r,m=l-s,U=f*p-m*d,y=h*p-g*d,b=m*h-f*g;if(b!==0){var v=U/b,w=y/b,T=.001,S=0-T,C=1+T;return S<=v&&v<=C&&S<=w&&w<=C?[e+v*h,r+v*g]:u?[e+v*h,r+v*g]:[]}else return U===0||y===0?Tz(e,n,o)===o?[o,l]:Tz(e,n,a)===a?[a,s]:Tz(a,o,n)===n?[n,i]:[]:[]},LZt=function(e,r,n,i,a){var s=[],o=i/2,l=a/2,u=r,d=n;s.push({x:u+o*e[0],y:d+l*e[1]});for(var h=1;h<e.length/2;h++)s.push({x:u+o*e[h*2],y:d+l*e[h*2+1]});return s},KT=function(e,r,n,i,a,s,o,l){var u=[],d,h=new Array(n.length),f=!0;s==null&&(f=!1);var p;if(f){for(var g=0;g<h.length/2;g++)h[g*2]=n[g*2]*s+i,h[g*2+1]=n[g*2+1]*o+a;if(l>0){var m=nN(h,-l);p=rN(m)}else p=h}else p=n;for(var U,y,b,v,w=0;w<p.length/2;w++)U=p[w*2],y=p[w*2+1],w<p.length/2-1?(b=p[(w+1)*2],v=p[(w+1)*2+1]):(b=p[0],v=p[1]),d=Ug(e,r,i,a,U,y,b,v),d.length!==0&&u.push(d[0],d[1]);return u},NZt=function(e,r,n,i,a,s,o,l,u){var d=[],h,f=new Array(n.length*2);u.forEach(function(b,v){v===0?(f[f.length-2]=b.startX,f[f.length-1]=b.startY):(f[v*4-2]=b.startX,f[v*4-1]=b.startY),f[v*4]=b.stopX,f[v*4+1]=b.stopY,h=ix(e,r,i,a,b.cx,b.cy,b.radius),h.length!==0&&d.push(h[0],h[1])});for(var p=0;p<f.length/4;p++)h=Ug(e,r,i,a,f[p*4],f[p*4+1],f[p*4+2],f[p*4+3],!1),h.length!==0&&d.push(h[0],h[1]);if(d.length>2){for(var g=[d[0],d[1]],m=Math.pow(g[0]-e,2)+Math.pow(g[1]-r,2),U=1;U<d.length/2;U++){var y=Math.pow(d[U*2]-e,2)+Math.pow(d[U*2+1]-r,2);y<=m&&(g[0]=d[U*2],g[1]=d[U*2+1],m=y)}return g}return d},FE=function(e,r,n){var i=[e[0]-r[0],e[1]-r[1]],a=Math.sqrt(i[0]*i[0]+i[1]*i[1]),s=(a-n)/a;return s<0&&(s=1e-5),[r[0]+s*i[0],r[1]+s*i[1]]},vl=function(e,r){var n=Yj(e,r);return n=NOe(n),n},NOe=function(e){for(var r,n,i=e.length/2,a=1/0,s=1/0,o=-1/0,l=-1/0,u=0;u<i;u++)r=e[2*u],n=e[2*u+1],a=Math.min(a,r),o=Math.max(o,r),s=Math.min(s,n),l=Math.max(l,n);for(var d=2/(o-a),h=2/(l-s),f=0;f<i;f++)r=e[2*f]=e[2*f]*d,n=e[2*f+1]=e[2*f+1]*h,a=Math.min(a,r),o=Math.max(o,r),s=Math.min(s,n),l=Math.max(l,n);if(s<-1)for(var p=0;p<i;p++)n=e[2*p+1]=e[2*p+1]+(-1-s);return e},Yj=function(e,r){var n=1/e*2*Math.PI,i=e%2===0?Math.PI/2+n/2:Math.PI/2;i+=r;for(var a=new Array(e*2),s,o=0;o<e;o++)s=o*n+i,a[2*o]=Math.cos(s),a[2*o+1]=Math.sin(-s);return a},a1=function(e,r){return Math.min(e/4,r/4,8)},OOe=function(e,r){return Math.min(e/10,r/10,8)},Tre=function(){return 8},OZt=function(e,r,n){return[e-2*r+n,2*(r-e),e]},Xj=function(e,r){return{heightOffset:Math.min(15,.05*r),widthOffset:Math.min(100,.25*e),ctrlPtOffsetPct:.05}};function Cz(t,e){function r(h){for(var f=[],p=0;p<h.length;p++){var g=h[p],m=h[(p+1)%h.length],U={x:m.x-g.x,y:m.y-g.y},y={x:-U.y,y:U.x},b=Math.sqrt(y.x*y.x+y.y*y.y);f.push({x:y.x/b,y:y.y/b})}return f}function n(h,f){var p=1/0,g=-1/0,m=vc(h),U;try{for(m.s();!(U=m.n()).done;){var y=U.value,b=y.x*f.x+y.y*f.y;p=Math.min(p,b),g=Math.max(g,b)}}catch(v){m.e(v)}finally{m.f()}return{min:p,max:g}}function i(h,f){return!(h.max<f.min||f.max<h.min)}var a=[].concat(JL(r(t)),JL(r(e))),s=vc(a),o;try{for(s.s();!(o=s.n()).done;){var l=o.value,u=n(t,l),d=n(e,l);if(!i(u,d))return!1}}catch(h){s.e(h)}finally{s.f()}return!0}var DZt=_o({dampingFactor:.8,precision:1e-6,iterations:200,weight:function(e){return 1}}),PZt={pageRank:function(e){for(var r=DZt(e),n=r.dampingFactor,i=r.precision,a=r.iterations,s=r.weight,o=this._private.cy,l=this.byGroup(),u=l.nodes,d=l.edges,h=u.length,f=h*h,p=d.length,g=new Array(f),m=new Array(h),U=(1-n)/h,y=0;y<h;y++){for(var b=0;b<h;b++){var v=y*h+b;g[v]=0}m[y]=0}for(var w=0;w<p;w++){var T=d[w],S=T.data("source"),C=T.data("target");if(S!==C){var k=u.indexOfId(S),E=u.indexOfId(C),A=s(T),M=E*h+k;g[M]+=A,m[k]+=A}}for(var P=1/h+U,N=0;N<h;N++)if(m[N]===0)for(var I=0;I<h;I++){var L=I*h+N;g[L]=P}else for(var _=0;_<h;_++){var D=_*h+N;g[D]=g[D]/m[N]+U}for(var O=new Array(h),B=new Array(h),F,z=0;z<h;z++)O[z]=1;for(var $=0;$<a;$++){for(var H=0;H<h;H++)B[H]=0;for(var V=0;V<h;V++)for(var G=0;G<h;G++){var K=V*h+G;B[V]+=g[K]*O[G]}mZt(B),F=O,O=B,B=F;for(var W=0,oe=0;oe<h;oe++){var Z=F[oe]-O[oe];W+=Z*Z}if(W<i)break}var J={rank:function(ie){return ie=o.collection(ie)[0],O[u.indexOf(ie)]}};return J}},r1e=_o({root:null,weight:function(e){return 1},directed:!1,alpha:0}),xb={degreeCentralityNormalized:function(e){e=r1e(e);var r=this.cy(),n=this.nodes(),i=n.length;if(e.directed){for(var d={},h={},f=0,p=0,g=0;g<i;g++){var m=n[g],U=m.id();e.root=m;var y=this.degreeCentrality(e);f<y.indegree&&(f=y.indegree),p<y.outdegree&&(p=y.outdegree),d[U]=y.indegree,h[U]=y.outdegree}return{indegree:function(v){return f==0?0:(Or(v)&&(v=r.filter(v)),d[v.id()]/f)},outdegree:function(v){return p===0?0:(Or(v)&&(v=r.filter(v)),h[v.id()]/p)}}}else{for(var a={},s=0,o=0;o<i;o++){var l=n[o];e.root=l;var u=this.degreeCentrality(e);s<u.degree&&(s=u.degree),a[l.id()]=u.degree}return{degree:function(v){return s===0?0:(Or(v)&&(v=r.filter(v)),a[v.id()]/s)}}}},degreeCentrality:function(e){e=r1e(e);var r=this.cy(),n=this,i=e,a=i.root,s=i.weight,o=i.directed,l=i.alpha;if(a=r.collection(a)[0],o){for(var p=a.connectedEdges(),g=p.filter(function(S){return S.target().same(a)&&n.has(S)}),m=p.filter(function(S){return S.source().same(a)&&n.has(S)}),U=g.length,y=m.length,b=0,v=0,w=0;w<g.length;w++)b+=s(g[w]);for(var T=0;T<m.length;T++)v+=s(m[T]);return{indegree:Math.pow(U,1-l)*Math.pow(b,l),outdegree:Math.pow(y,1-l)*Math.pow(v,l)}}else{for(var u=a.connectedEdges().intersection(n),d=u.length,h=0,f=0;f<u.length;f++)h+=s(u[f]);return{degree:Math.pow(d,1-l)*Math.pow(h,l)}}}};xb.dc=xb.degreeCentrality;xb.dcn=xb.degreeCentralityNormalised=xb.degreeCentralityNormalized;var n1e=_o({harmonic:!0,weight:function(){return 1},directed:!1,root:null}),wb={closenessCentralityNormalized:function(e){for(var r=n1e(e),n=r.harmonic,i=r.weight,a=r.directed,s=this.cy(),o={},l=0,u=this.nodes(),d=this.floydWarshall({weight:i,directed:a}),h=0;h<u.length;h++){for(var f=0,p=u[h],g=0;g<u.length;g++)if(h!==g){var m=d.distance(p,u[g]);n?f+=1/m:f+=m}n||(f=1/f),l<f&&(l=f),o[p.id()]=f}return{closeness:function(y){return l==0?0:(Or(y)?y=s.filter(y)[0].id():y=y.id(),o[y]/l)}}},closenessCentrality:function(e){var r=n1e(e),n=r.root,i=r.weight,a=r.directed,s=r.harmonic;n=this.filter(n)[0];for(var o=this.dijkstra({root:n,weight:i,directed:a}),l=0,u=this.nodes(),d=0;d<u.length;d++){var h=u[d];if(!h.same(n)){var f=o.distanceTo(h);s?l+=1/f:l+=f}}return s?l:1/l}};wb.cc=wb.closenessCentrality;wb.ccn=wb.closenessCentralityNormalised=wb.closenessCentralityNormalized;var _Zt=_o({weight:null,directed:!1}),Kj={betweennessCentrality:function(e){for(var r=_Zt(e),n=r.directed,i=r.weight,a=i!=null,s=this.cy(),o=this.nodes(),l={},u={},d=0,h={set:function(v,w){u[v]=w,w>d&&(d=w)},get:function(v){return u[v]}},f=0;f<o.length;f++){var p=o[f],g=p.id();n?l[g]=p.outgoers().nodes():l[g]=p.openNeighborhood().nodes(),h.set(g,0)}for(var m=function(){for(var v=o[U].id(),w=[],T={},S={},C={},k=new AS(function(V,G){return C[V]-C[G]}),E=0;E<o.length;E++){var A=o[E].id();T[A]=[],S[A]=0,C[A]=1/0}for(S[v]=1,C[v]=0,k.push(v);!k.empty();){var M=k.pop();if(w.push(M),a)for(var P=0;P<l[M].length;P++){var N=l[M][P],I=s.getElementById(M),L=void 0;I.edgesTo(N).length>0?L=I.edgesTo(N)[0]:L=N.edgesTo(I)[0];var _=i(L);N=N.id(),C[N]>C[M]+_&&(C[N]=C[M]+_,k.nodes.indexOf(N)<0?k.push(N):k.updateItem(N),S[N]=0,T[N]=[]),C[N]==C[M]+_&&(S[N]=S[N]+S[M],T[N].push(M))}else for(var D=0;D<l[M].length;D++){var O=l[M][D].id();C[O]==1/0&&(k.push(O),C[O]=C[M]+1),C[O]==C[M]+1&&(S[O]=S[O]+S[M],T[O].push(M))}}for(var B={},F=0;F<o.length;F++)B[o[F].id()]=0;for(;w.length>0;){for(var z=w.pop(),$=0;$<T[z].length;$++){var H=T[z][$];B[H]=B[H]+S[H]/S[z]*(1+B[z])}z!=o[U].id()&&h.set(z,h.get(z)+B[z])}},U=0;U<o.length;U++)m();var y={betweenness:function(v){var w=s.collection(v).id();return h.get(w)},betweennessNormalized:function(v){if(d==0)return 0;var w=s.collection(v).id();return h.get(w)/d}};return y.betweennessNormalised=y.betweennessNormalized,y}};Kj.bc=Kj.betweennessCentrality;var BZt=_o({expandFactor:2,inflateFactor:2,multFactor:1,maxIterations:20,attributes:[function(t){return 1}]}),$Zt=function(e){return BZt(e)},FZt=function(e,r){for(var n=0,i=0;i<r.length;i++)n+=r[i](e);return n},zZt=function(e,r,n){for(var i=0;i<r;i++)e[i*r+i]=n},DOe=function(e,r){for(var n,i=0;i<r;i++){n=0;for(var a=0;a<r;a++)n+=e[a*r+i];for(var s=0;s<r;s++)e[s*r+i]=e[s*r+i]/n}},HZt=function(e,r,n){for(var i=new Array(n*n),a=0;a<n;a++){for(var s=0;s<n;s++)i[a*n+s]=0;for(var o=0;o<n;o++)for(var l=0;l<n;l++)i[a*n+l]+=e[a*n+o]*r[o*n+l]}return i},VZt=function(e,r,n){for(var i=e.slice(0),a=1;a<n;a++)e=HZt(e,i,r);return e},GZt=function(e,r,n){for(var i=new Array(r*r),a=0;a<r*r;a++)i[a]=Math.pow(e[a],n);return DOe(i,r),i},WZt=function(e,r,n,i){for(var a=0;a<n;a++){var s=Math.round(e[a]*Math.pow(10,i))/Math.pow(10,i),o=Math.round(r[a]*Math.pow(10,i))/Math.pow(10,i);if(s!==o)return!1}return!0},qZt=function(e,r,n,i){for(var a=[],s=0;s<r;s++){for(var o=[],l=0;l<r;l++)Math.round(e[s*r+l]*1e3)/1e3>0&&o.push(n[l]);o.length!==0&&a.push(i.collection(o))}return a},jZt=function(e,r){for(var n=0;n<e.length;n++)if(!r[n]||e[n].id()!==r[n].id())return!1;return!0},YZt=function(e){for(var r=0;r<e.length;r++)for(var n=0;n<e.length;n++)r!=n&&jZt(e[r],e[n])&&e.splice(n,1);return e},i1e=function(e){for(var r=this.nodes(),n=this.edges(),i=this.cy(),a=$Zt(e),s={},o=0;o<r.length;o++)s[r[o].id()]=o;for(var l=r.length,u=l*l,d=new Array(u),h,f=0;f<u;f++)d[f]=0;for(var p=0;p<n.length;p++){var g=n[p],m=s[g.source().id()],U=s[g.target().id()],y=FZt(g,a.attributes);d[m*l+U]+=y,d[U*l+m]+=y}zZt(d,l,a.multFactor),DOe(d,l);for(var b=!0,v=0;b&&v<a.maxIterations;)b=!1,h=VZt(d,l,a.expandFactor),d=GZt(h,l,a.inflateFactor),WZt(d,h,u,4)||(b=!0),v++;var w=qZt(d,l,r,i);return w=YZt(w),w},XZt={markovClustering:i1e,mcl:i1e},KZt=function(e){return e},POe=function(e,r){return Math.abs(r-e)},a1e=function(e,r,n){return e+POe(r,n)},s1e=function(e,r,n){return e+Math.pow(n-r,2)},ZZt=function(e){return Math.sqrt(e)},JZt=function(e,r,n){return Math.max(e,POe(r,n))},i9=function(e,r,n,i,a){for(var s=arguments.length>5&&arguments[5]!==void 0?arguments[5]:KZt,o=i,l,u,d=0;d<e;d++)l=r(d),u=n(d),o=a(o,l,u);return s(o)},f4={euclidean:function(e,r,n){return e>=2?i9(e,r,n,0,s1e,ZZt):i9(e,r,n,0,a1e)},squaredEuclidean:function(e,r,n){return i9(e,r,n,0,s1e)},manhattan:function(e,r,n){return i9(e,r,n,0,a1e)},max:function(e,r,n){return i9(e,r,n,-1/0,JZt)}};f4["squared-euclidean"]=f4.squaredEuclidean;f4.squaredeuclidean=f4.squaredEuclidean;function BP(t,e,r,n,i,a){var s;return Sa(t)?s=t:s=f4[t]||f4.euclidean,e===0&&Sa(t)?s(i,a):s(e,r,n,i,a)}var QZt=_o({k:2,m:2,sensitivityThreshold:1e-4,distance:"euclidean",maxIterations:10,attributes:[],testMode:!1,testCentroids:null}),Cre=function(e){return QZt(e)},iN=function(e,r,n,i,a){var s=a!=="kMedoids",o=s?function(h){return n[h]}:function(h){return i[h](n)},l=function(f){return i[f](r)},u=n,d=r;return BP(e,i.length,o,l,u,d)},Sz=function(e,r,n){for(var i=n.length,a=new Array(i),s=new Array(i),o=new Array(r),l=null,u=0;u<i;u++)a[u]=e.min(n[u]).value,s[u]=e.max(n[u]).value;for(var d=0;d<r;d++){l=[];for(var h=0;h<i;h++)l[h]=Math.random()*(s[h]-a[h])+a[h];o[d]=l}return o},_Oe=function(e,r,n,i,a){for(var s=1/0,o=0,l=0;l<r.length;l++){var u=iN(n,e,r[l],i,a);u<s&&(s=u,o=l)}return o},BOe=function(e,r,n){for(var i=[],a=null,s=0;s<r.length;s++)a=r[s],n[a.id()]===e&&i.push(a);return i},eJt=function(e,r,n){return Math.abs(r-e)<=n},tJt=function(e,r,n){for(var i=0;i<e.length;i++)for(var a=0;a<e[i].length;a++){var s=Math.abs(e[i][a]-r[i][a]);if(s>n)return!1}return!0},rJt=function(e,r,n){for(var i=0;i<n;i++)if(e===r[i])return!0;return!1},o1e=function(e,r){var n=new Array(r);if(e.length<50)for(var i=0;i<r;i++){for(var a=e[Math.floor(Math.random()*e.length)];rJt(a,n,i);)a=e[Math.floor(Math.random()*e.length)];n[i]=a}else for(var s=0;s<r;s++)n[s]=e[Math.floor(Math.random()*e.length)];return n},l1e=function(e,r,n){for(var i=0,a=0;a<r.length;a++)i+=iN("manhattan",r[a],e,n,"kMedoids");return i},nJt=function(e){var r=this.cy(),n=this.nodes(),i=null,a=Cre(e),s=new Array(a.k),o={},l;a.testMode?typeof a.testCentroids=="number"?(a.testCentroids,l=Sz(n,a.k,a.attributes)):Fs(a.testCentroids)==="object"?l=a.testCentroids:l=Sz(n,a.k,a.attributes):l=Sz(n,a.k,a.attributes);for(var u=!0,d=0;u&&d<a.maxIterations;){for(var h=0;h<n.length;h++)i=n[h],o[i.id()]=_Oe(i,l,a.distance,a.attributes,"kMeans");u=!1;for(var f=0;f<a.k;f++){var p=BOe(f,n,o);if(p.length!==0){for(var g=a.attributes.length,m=l[f],U=new Array(g),y=new Array(g),b=0;b<g;b++){y[b]=0;for(var v=0;v<p.length;v++)i=p[v],y[b]+=a.attributes[b](i);U[b]=y[b]/p.length,eJt(U[b],m[b],a.sensitivityThreshold)||(u=!0)}l[f]=U,s[f]=r.collection(p)}}d++}return s},iJt=function(e){var r=this.cy(),n=this.nodes(),i=null,a=Cre(e),s=new Array(a.k),o,l={},u,d=new Array(a.k);a.testMode?typeof a.testCentroids=="number"||(Fs(a.testCentroids)==="object"?o=a.testCentroids:o=o1e(n,a.k)):o=o1e(n,a.k);for(var h=!0,f=0;h&&f<a.maxIterations;){for(var p=0;p<n.length;p++)i=n[p],l[i.id()]=_Oe(i,o,a.distance,a.attributes,"kMedoids");h=!1;for(var g=0;g<o.length;g++){var m=BOe(g,n,l);if(m.length!==0){d[g]=l1e(o[g],m,a.attributes);for(var U=0;U<m.length;U++)u=l1e(m[U],m,a.attributes),u<d[g]&&(d[g]=u,o[g]=m[U],h=!0);s[g]=r.collection(m)}}f++}return s},aJt=function(e,r,n,i,a){for(var s,o,l=0;l<r.length;l++)for(var u=0;u<e.length;u++)i[l][u]=Math.pow(n[l][u],a.m);for(var d=0;d<e.length;d++)for(var h=0;h<a.attributes.length;h++){s=0,o=0;for(var f=0;f<r.length;f++)s+=i[f][d]*a.attributes[h](r[f]),o+=i[f][d];e[d][h]=s/o}},sJt=function(e,r,n,i,a){for(var s=0;s<e.length;s++)r[s]=e[s].slice();for(var o,l,u,d=2/(a.m-1),h=0;h<n.length;h++)for(var f=0;f<i.length;f++){o=0;for(var p=0;p<n.length;p++)l=iN(a.distance,i[f],n[h],a.attributes,"cmeans"),u=iN(a.distance,i[f],n[p],a.attributes,"cmeans"),o+=Math.pow(l/u,d);e[f][h]=1/o}},oJt=function(e,r,n,i){for(var a=new Array(n.k),s=0;s<a.length;s++)a[s]=[];for(var o,l,u=0;u<r.length;u++){o=-1/0,l=-1;for(var d=0;d<r[0].length;d++)r[u][d]>o&&(o=r[u][d],l=d);a[l].push(e[u])}for(var h=0;h<a.length;h++)a[h]=i.collection(a[h]);return a},c1e=function(e){var r=this.cy(),n=this.nodes(),i=Cre(e),a,s,o,l,u;l=new Array(n.length);for(var d=0;d<n.length;d++)l[d]=new Array(i.k);o=new Array(n.length);for(var h=0;h<n.length;h++)o[h]=new Array(i.k);for(var f=0;f<n.length;f++){for(var p=0,g=0;g<i.k;g++)o[f][g]=Math.random(),p+=o[f][g];for(var m=0;m<i.k;m++)o[f][m]=o[f][m]/p}s=new Array(i.k);for(var U=0;U<i.k;U++)s[U]=new Array(i.attributes.length);u=new Array(n.length);for(var y=0;y<n.length;y++)u[y]=new Array(i.k);for(var b=!0,v=0;b&&v<i.maxIterations;)b=!1,aJt(s,n,o,u,i),sJt(o,l,s,n,i),tJt(o,l,i.sensitivityThreshold)||(b=!0),v++;return a=oJt(n,o,i,r),{clusters:a,degreeOfMembership:o}},lJt={kMeans:nJt,kMedoids:iJt,fuzzyCMeans:c1e,fcm:c1e},cJt=_o({distance:"euclidean",linkage:"min",mode:"threshold",threshold:1/0,addDendrogram:!1,dendrogramDepth:0,attributes:[]}),uJt={single:"min",complete:"max"},dJt=function(e){var r=cJt(e),n=uJt[r.linkage];return n!=null&&(r.linkage=n),r},u1e=function(e,r,n,i,a){for(var s=0,o=1/0,l,u=a.attributes,d=function(E,A){return BP(a.distance,u.length,function(M){return u[M](E)},function(M){return u[M](A)},E,A)},h=0;h<e.length;h++){var f=e[h].key,p=n[f][i[f]];p<o&&(s=f,o=p)}if(a.mode==="threshold"&&o>=a.threshold||a.mode==="dendrogram"&&e.length===1)return!1;var g=r[s],m=r[i[s]],U;a.mode==="dendrogram"?U={left:g,right:m,key:g.key}:U={value:g.value.concat(m.value),key:g.key},e[g.index]=U,e.splice(m.index,1),r[g.key]=U;for(var y=0;y<e.length;y++){var b=e[y];g.key===b.key?l=1/0:a.linkage==="min"?(l=n[g.key][b.key],n[g.key][b.key]>n[m.key][b.key]&&(l=n[m.key][b.key])):a.linkage==="max"?(l=n[g.key][b.key],n[g.key][b.key]<n[m.key][b.key]&&(l=n[m.key][b.key])):a.linkage==="mean"?l=(n[g.key][b.key]*g.size+n[m.key][b.key]*m.size)/(g.size+m.size):a.mode==="dendrogram"?l=d(b.value,g.value):l=d(b.value[0],g.value[0]),n[g.key][b.key]=n[b.key][g.key]=l}for(var v=0;v<e.length;v++){var w=e[v].key;if(i[w]===g.key||i[w]===m.key){for(var T=w,S=0;S<e.length;S++){var C=e[S].key;n[w][C]<n[w][T]&&(T=C)}i[w]=T}e[v].index=v}return g.key=m.key=g.index=m.index=null,!0},z2=function(e,r,n){e&&(e.value?r.push(e.value):(e.left&&z2(e.left,r),e.right&&z2(e.right,r)))},Zj=function(e,r){if(!e)return"";if(e.left&&e.right){var n=Zj(e.left,r),i=Zj(e.right,r),a=r.add({group:"nodes",data:{id:n+","+i}});return r.add({group:"edges",data:{source:n,target:a.id()}}),r.add({group:"edges",data:{source:i,target:a.id()}}),a.id()}else if(e.value)return e.value.id()},Jj=function(e,r,n){if(!e)return[];var i=[],a=[],s=[];return r===0?(e.left&&z2(e.left,i),e.right&&z2(e.right,a),s=i.concat(a),[n.collection(s)]):r===1?e.value?[n.collection(e.value)]:(e.left&&z2(e.left,i),e.right&&z2(e.right,a),[n.collection(i),n.collection(a)]):e.value?[n.collection(e.value)]:(e.left&&(i=Jj(e.left,r-1,n)),e.right&&(a=Jj(e.right,r-1,n)),i.concat(a))},d1e=function(e){for(var r=this.cy(),n=this.nodes(),i=dJt(e),a=i.attributes,s=function(v,w){return BP(i.distance,a.length,function(T){return a[T](v)},function(T){return a[T](w)},v,w)},o=[],l=[],u=[],d=[],h=0;h<n.length;h++){var f={value:i.mode==="dendrogram"?n[h]:[n[h]],key:h,index:h};o[h]=f,d[h]=f,l[h]=[],u[h]=0}for(var p=0;p<o.length;p++)for(var g=0;g<=p;g++){var m=void 0;i.mode==="dendrogram"?m=p===g?1/0:s(o[p].value,o[g].value):m=p===g?1/0:s(o[p].value[0],o[g].value[0]),l[p][g]=m,l[g][p]=m,m<l[p][u[p]]&&(u[p]=g)}for(var U=u1e(o,d,l,u,i);U;)U=u1e(o,d,l,u,i);var y;return i.mode==="dendrogram"?(y=Jj(o[0],i.dendrogramDepth,r),i.addDendrogram&&Zj(o[0],r)):(y=new Array(o.length),o.forEach(function(b,v){b.key=b.index=null,y[v]=r.collection(b.value)})),y},hJt={hierarchicalClustering:d1e,hca:d1e},fJt=_o({distance:"euclidean",preference:"median",damping:.8,maxIterations:1e3,minIterations:100,attributes:[]}),pJt=function(e){var r=e.damping,n=e.preference;.5<=r&&r<1||ca("Damping must range on [0.5, 1). Got: ".concat(r));var i=["median","mean","min","max"];return i.some(function(a){return a===n})||Jt(n)||ca("Preference must be one of [".concat(i.map(function(a){return"'".concat(a,"'")}).join(", "),"] or a number. Got: ").concat(n)),fJt(e)},gJt=function(e,r,n,i){var a=function(o,l){return i[l](o)};return-BP(e,i.length,function(s){return a(r,s)},function(s){return a(n,s)},r,n)},mJt=function(e,r){var n=null;return r==="median"?n=fZt(e):r==="mean"?n=hZt(e):r==="min"?n=uZt(e):r==="max"?n=dZt(e):n=r,n},UJt=function(e,r,n){for(var i=[],a=0;a<e;a++)r[a*e+a]+n[a*e+a]>0&&i.push(a);return i},h1e=function(e,r,n){for(var i=[],a=0;a<e;a++){for(var s=-1,o=-1/0,l=0;l<n.length;l++){var u=n[l];r[a*e+u]>o&&(s=u,o=r[a*e+u])}s>0&&i.push(s)}for(var d=0;d<n.length;d++)i[n[d]]=n[d];return i},yJt=function(e,r,n){for(var i=h1e(e,r,n),a=0;a<n.length;a++){for(var s=[],o=0;o<i.length;o++)i[o]===n[a]&&s.push(o);for(var l=-1,u=-1/0,d=0;d<s.length;d++){for(var h=0,f=0;f<s.length;f++)h+=r[s[f]*e+s[d]];h>u&&(l=d,u=h)}n[a]=s[l]}return i=h1e(e,r,n),i},f1e=function(e){for(var r=this.cy(),n=this.nodes(),i=pJt(e),a={},s=0;s<n.length;s++)a[n[s].id()]=s;var o,l,u,d,h,f;o=n.length,l=o*o,u=new Array(l);for(var p=0;p<l;p++)u[p]=-1/0;for(var g=0;g<o;g++)for(var m=0;m<o;m++)g!==m&&(u[g*o+m]=gJt(i.distance,n[g],n[m],i.attributes));d=mJt(u,i.preference);for(var U=0;U<o;U++)u[U*o+U]=d;h=new Array(l);for(var y=0;y<l;y++)h[y]=0;f=new Array(l);for(var b=0;b<l;b++)f[b]=0;for(var v=new Array(o),w=new Array(o),T=new Array(o),S=0;S<o;S++)v[S]=0,w[S]=0,T[S]=0;for(var C=new Array(o*i.minIterations),k=0;k<C.length;k++)C[k]=0;var E;for(E=0;E<i.maxIterations;E++){for(var A=0;A<o;A++){for(var M=-1/0,P=-1/0,N=-1,I=0,L=0;L<o;L++)v[L]=h[A*o+L],I=f[A*o+L]+u[A*o+L],I>=M?(P=M,M=I,N=L):I>P&&(P=I);for(var _=0;_<o;_++)h[A*o+_]=(1-i.damping)*(u[A*o+_]-M)+i.damping*v[_];h[A*o+N]=(1-i.damping)*(u[A*o+N]-P)+i.damping*v[N]}for(var D=0;D<o;D++){for(var O=0,B=0;B<o;B++)v[B]=f[B*o+D],w[B]=Math.max(0,h[B*o+D]),O+=w[B];O-=w[D],w[D]=h[D*o+D],O+=w[D];for(var F=0;F<o;F++)f[F*o+D]=(1-i.damping)*Math.min(0,O-w[F])+i.damping*v[F];f[D*o+D]=(1-i.damping)*(O-w[D])+i.damping*v[D]}for(var z=0,$=0;$<o;$++){var H=f[$*o+$]+h[$*o+$]>0?1:0;C[E%i.minIterations*o+$]=H,z+=H}if(z>0&&(E>=i.minIterations-1||E==i.maxIterations-1)){for(var V=0,G=0;G<o;G++){T[G]=0;for(var K=0;K<i.minIterations;K++)T[G]+=C[K*o+G];(T[G]===0||T[G]===i.minIterations)&&V++}if(V===o)break}}for(var W=UJt(o,h,f),oe=yJt(o,u,W),Z={},J=0;J<W.length;J++)Z[W[J]]=[];for(var ne=0;ne<n.length;ne++){var ie=a[n[ne].id()],me=oe[ie];me!=null&&Z[me].push(n[ne])}for(var te=new Array(W.length),Re=0;Re<W.length;Re++)te[Re]=r.collection(Z[W[Re]]);return te},bJt={affinityPropagation:f1e,ap:f1e},vJt=_o({root:void 0,directed:!1}),xJt={hierholzer:function(e){if(!ei(e)){var r=arguments;e={root:r[0],directed:r[1]}}var n=vJt(e),i=n.root,a=n.directed,s=this,o=!1,l,u,d;i&&(d=Or(i)?this.filter(i)[0].id():i[0].id());var h={},f={};a?s.forEach(function(b){var v=b.id();if(b.isNode()){var w=b.indegree(!0),T=b.outdegree(!0),S=w-T,C=T-w;S==1?l?o=!0:l=v:C==1?u?o=!0:u=v:(C>1||S>1)&&(o=!0),h[v]=[],b.outgoers().forEach(function(k){k.isEdge()&&h[v].push(k.id())})}else f[v]=[void 0,b.target().id()]}):s.forEach(function(b){var v=b.id();if(b.isNode()){var w=b.degree(!0);w%2&&(l?u?o=!0:u=v:l=v),h[v]=[],b.connectedEdges().forEach(function(T){return h[v].push(T.id())})}else f[v]=[b.source().id(),b.target().id()]});var p={found:!1,trail:void 0};if(o)return p;if(u&&l)if(a){if(d&&u!=d)return p;d=u}else{if(d&&u!=d&&l!=d)return p;d||(d=u)}else d||(d=s[0].id());var g=function(v){for(var w=v,T=[v],S,C,k;h[w].length;)S=h[w].shift(),C=f[S][0],k=f[S][1],w!=k?(h[k]=h[k].filter(function(E){return E!=S}),w=k):!a&&w!=C&&(h[C]=h[C].filter(function(E){return E!=S}),w=C),T.unshift(S),T.unshift(w);return T},m=[],U=[];for(U=g(d);U.length!=1;)h[U[0]].length==0?(m.unshift(s.getElementById(U.shift())),m.unshift(s.getElementById(U.shift()))):U=g(U.shift()).concat(U);m.unshift(s.getElementById(U.shift()));for(var y in h)if(h[y].length)return p;return p.found=!0,p.trail=this.spawn(m,!0),p}},zE=function(){var e=this,r={},n=0,i=0,a=[],s=[],o={},l=function(f,p){for(var g=s.length-1,m=[],U=e.spawn();s[g].x!=f||s[g].y!=p;)m.push(s.pop().edge),g--;m.push(s.pop().edge),m.forEach(function(y){var b=y.connectedNodes().intersection(e);U.merge(y),b.forEach(function(v){var w=v.id(),T=v.connectedEdges().intersection(e);U.merge(v),r[w].cutVertex?U.merge(T.filter(function(S){return S.isLoop()})):U.merge(T)})}),a.push(U)},u=function(f,p,g){f===g&&(i+=1),r[p]={id:n,low:n++,cutVertex:!1};var m=e.getElementById(p).connectedEdges().intersection(e);if(m.size()===0)a.push(e.spawn(e.getElementById(p)));else{var U,y,b,v;m.forEach(function(w){U=w.source().id(),y=w.target().id(),b=U===p?y:U,b!==g&&(v=w.id(),o[v]||(o[v]=!0,s.push({x:p,y:b,edge:w})),b in r?r[p].low=Math.min(r[p].low,r[b].id):(u(f,b,p),r[p].low=Math.min(r[p].low,r[b].low),r[p].id<=r[b].low&&(r[p].cutVertex=!0,l(p,b))))})}};e.forEach(function(h){if(h.isNode()){var f=h.id();f in r||(i=0,u(f,f),r[f].cutVertex=i>1)}});var d=Object.keys(r).filter(function(h){return r[h].cutVertex}).map(function(h){return e.getElementById(h)});return{cut:e.spawn(d),components:a}},wJt={hopcroftTarjanBiconnected:zE,htbc:zE,htb:zE,hopcroftTarjanBiconnectedComponents:zE},HE=function(){var e=this,r={},n=0,i=[],a=[],s=e.spawn(e),o=function(u){a.push(u),r[u]={index:n,low:n++,explored:!1};var d=e.getElementById(u).connectedEdges().intersection(e);if(d.forEach(function(m){var U=m.target().id();U!==u&&(U in r||o(U),r[U].explored||(r[u].low=Math.min(r[u].low,r[U].low)))}),r[u].index===r[u].low){for(var h=e.spawn();;){var f=a.pop();if(h.merge(e.getElementById(f)),r[f].low=r[u].index,r[f].explored=!0,f===u)break}var p=h.edgesWith(h),g=h.merge(p);i.push(g),s=s.difference(g)}};return e.forEach(function(l){if(l.isNode()){var u=l.id();u in r||o(u)}}),{cut:s,components:i}},TJt={tarjanStronglyConnected:HE,tsc:HE,tscc:HE,tarjanStronglyConnectedComponents:HE},$Oe={};[YT,JKt,QKt,tZt,nZt,aZt,lZt,PZt,xb,wb,Kj,XZt,lJt,hJt,bJt,xJt,wJt,TJt].forEach(function(t){Gr($Oe,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 FOe=0,zOe=1,HOe=2,Gd=function(e){if(!(this instanceof Gd))return new Gd(e);this.id="Thenable/1.0.7",this.state=FOe,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))};Gd.prototype={fulfill:function(e){return p1e(this,zOe,"fulfillValue",e)},reject:function(e){return p1e(this,HOe,"rejectReason",e)},then:function(e,r){var n=this,i=new Gd;return n.onFulfilled.push(m1e(e,i,"fulfill")),n.onRejected.push(m1e(r,i,"reject")),VOe(n),i.proxy}};var p1e=function(e,r,n,i){return e.state===FOe&&(e.state=r,e[n]=i,VOe(e)),e},VOe=function(e){e.state===zOe?g1e(e,"onFulfilled",e.fulfillValue):e.state===HOe&&g1e(e,"onRejected",e.rejectReason)},g1e=function(e,r,n){if(e[r].length!==0){var i=e[r];e[r]=[];var a=function(){for(var o=0;o<i.length;o++)i[o](n)};typeof setImmediate=="function"?setImmediate(a):setTimeout(a,0)}},m1e=function(e,r,n){return function(i){if(typeof e!="function")r[n].call(r,i);else{var a;try{a=e(i)}catch(s){r.reject(s);return}GOe(r,a)}}},GOe=function(e,r){if(e===r||e.proxy===r){e.reject(new TypeError("cannot resolve promise with itself"));return}var n;if(Fs(r)==="object"&&r!==null||typeof r=="function")try{n=r.then}catch(a){e.reject(a);return}if(typeof n=="function"){var i=!1;try{n.call(r,function(a){i||(i=!0,a===r?e.reject(new TypeError("circular thenable chain")):GOe(e,a))},function(a){i||(i=!0,e.reject(a))})}catch(a){i||e.reject(a)}return}e.fulfill(r)};Gd.all=function(t){return new Gd(function(e,r){for(var n=new Array(t.length),i=0,a=function(l,u){n[l]=u,i++,i===t.length&&e(n)},s=0;s<t.length;s++)(function(o){var l=t[o],u=l!=null&&l.then!=null;if(u)l.then(function(h){a(o,h)},function(h){r(h)});else{var d=l;a(o,d)}})(s)})};Gd.resolve=function(t){return new Gd(function(e,r){e(t)})};Gd.reject=function(t){return new Gd(function(e,r){r(t)})};var f3=typeof Promise<"u"?Promise:Gd,Qj=function(e,r,n){var i=pre(e),a=!i,s=this._private=Gr({duration:1e3},r,n);if(s.target=e,s.style=s.style||s.css,s.started=!1,s.playing=!1,s.hooked=!1,s.applying=!1,s.progress=0,s.completes=[],s.frames=[],s.complete&&Sa(s.complete)&&s.completes.push(s.complete),a){var o=e.position();s.startPosition=s.startPosition||{x:o.x,y:o.y},s.startStyle=s.startStyle||e.cy().style().getAnimationStartStyle(e,s.style)}if(i){var l=e.pan();s.startPan={x:l.x,y:l.y},s.startZoom=e.zoom()}this.length=1,this[0]=this},u5=Qj.prototype;Gr(u5,{instanceString:function(){return"animation"},hook:function(){var e=this._private;if(!e.hooked){var r,n=e.target._private.animation;e.queue?r=n.queue:r=n.current,r.push(this),Jc(e.target)&&e.target.cy().addToAnimationPool(e.target),e.hooked=!0}return this},play:function(){var e=this._private;return e.progress===1&&(e.progress=0),e.playing=!0,e.started=!1,e.stopped=!1,this.hook(),this},playing:function(){return this._private.playing},apply:function(){var e=this._private;return e.applying=!0,e.started=!1,e.stopped=!1,this.hook(),this},applying:function(){return this._private.applying},pause:function(){var e=this._private;return e.playing=!1,e.started=!1,this},stop:function(){var e=this._private;return e.playing=!1,e.started=!1,e.stopped=!0,this},rewind:function(){return this.progress(0)},fastforward:function(){return this.progress(1)},time:function(e){var r=this._private;return e===void 0?r.progress*r.duration:this.progress(e/r.duration)},progress:function(e){var r=this._private,n=r.playing;return e===void 0?r.progress:(n&&this.pause(),r.progress=e,r.started=!1,n&&this.play(),this)},completed:function(){return this._private.progress===1},reverse:function(){var e=this._private,r=e.playing;r&&this.pause(),e.progress=1-e.progress,e.started=!1;var n=function(u,d){var h=e[u];h!=null&&(e[u]=e[d],e[d]=h)};if(n("zoom","startZoom"),n("pan","startPan"),n("position","startPosition"),e.style)for(var i=0;i<e.style.length;i++){var a=e.style[i],s=a.name,o=e.startStyle[s];e.startStyle[s]=a,e.style[i]=o}return r&&this.play(),this},promise:function(e){var r=this._private,n;switch(e){case"frame":n=r.frames;break;default:case"complete":case"completed":n=r.completes}return new f3(function(i,a){n.push(function(){i()})})}});u5.complete=u5.completed;u5.run=u5.play;u5.running=u5.playing;var CJt={animated:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return!1;var s=i[0];if(s)return s._private.animation.current.length>0}},clearQueue:function(){return function(){var r=this,n=r.length!==void 0,i=n?r:[r],a=this._private.cy||this;if(!a.styleEnabled())return this;for(var s=0;s<i.length;s++){var o=i[s];o._private.animation.queue=[]}return this}},delay:function(){return function(r,n){var i=this._private.cy||this;return i.styleEnabled()?this.animate({delay:r,duration:r,complete:n}):this}},delayAnimation:function(){return function(r,n){var i=this._private.cy||this;return i.styleEnabled()?this.animation({delay:r,duration:r,complete:n}):this}},animation:function(){return function(r,n){var i=this,a=i.length!==void 0,s=a?i:[i],o=this._private.cy||this,l=!a,u=!l;if(!o.styleEnabled())return this;var d=o.style();r=Gr({},r,n);var h=Object.keys(r).length===0;if(h)return new Qj(s[0],r);switch(r.duration===void 0&&(r.duration=400),r.duration){case"slow":r.duration=600;break;case"fast":r.duration=200;break}if(u&&(r.style=d.getPropsList(r.style||r.css),r.css=void 0),u&&r.renderedPosition!=null){var f=r.renderedPosition,p=o.pan(),g=o.zoom();r.position=AOe(f,g,p)}if(l&&r.panBy!=null){var m=r.panBy,U=o.pan();r.pan={x:U.x+m.x,y:U.y+m.y}}var y=r.center||r.centre;if(l&&y!=null){var b=o.getCenterPan(y.eles,r.zoom);b!=null&&(r.pan=b)}if(l&&r.fit!=null){var v=r.fit,w=o.getFitViewport(v.eles||v.boundingBox,v.padding);w!=null&&(r.pan=w.pan,r.zoom=w.zoom)}if(l&&ei(r.zoom)){var T=o.getZoomedViewport(r.zoom);T!=null?(T.zoomed&&(r.zoom=T.zoom),T.panned&&(r.pan=T.pan)):r.zoom=null}return new Qj(s[0],r)}},animate:function(){return function(r,n){var i=this,a=i.length!==void 0,s=a?i:[i],o=this._private.cy||this;if(!o.styleEnabled())return this;n&&(r=Gr({},r,n));for(var l=0;l<s.length;l++){var u=s[l],d=u.animated()&&(r.queue===void 0||r.queue),h=u.animation(r,d?{queue:!0}:void 0);h.play()}return this}},stop:function(){return function(r,n){var i=this,a=i.length!==void 0,s=a?i:[i],o=this._private.cy||this;if(!o.styleEnabled())return this;for(var l=0;l<s.length;l++){for(var u=s[l],d=u._private,h=d.animation.current,f=0;f<h.length;f++){var p=h[f],g=p._private;n&&(g.duration=0)}r&&(d.animation.queue=[]),n||(d.animation.current=[])}return o.notify("draw"),this}}},kz,U1e;function $P(){if(U1e)return kz;U1e=1;var t=Array.isArray;return kz=t,kz}var Ez,y1e;function SJt(){if(y1e)return Ez;y1e=1;var t=$P(),e=kS(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,n=/^\w*$/;function i(a,s){if(t(a))return!1;var o=typeof a;return o=="number"||o=="symbol"||o=="boolean"||a==null||e(a)?!0:n.test(a)||!r.test(a)||s!=null&&a in Object(s)}return Ez=i,Ez}var Az,b1e;function kJt(){if(b1e)return Az;b1e=1;var t=bOe(),e=SS(),r="[object AsyncFunction]",n="[object Function]",i="[object GeneratorFunction]",a="[object Proxy]";function s(o){if(!e(o))return!1;var l=t(o);return l==n||l==i||l==r||l==a}return Az=s,Az}var Mz,v1e;function EJt(){if(v1e)return Mz;v1e=1;var t=DP(),e=t["__core-js_shared__"];return Mz=e,Mz}var Rz,x1e;function AJt(){if(x1e)return Rz;x1e=1;var t=EJt(),e=(function(){var n=/[^.]+$/.exec(t&&t.keys&&t.keys.IE_PROTO||"");return n?"Symbol(src)_1."+n:""})();function r(n){return!!e&&e in n}return Rz=r,Rz}var Iz,w1e;function MJt(){if(w1e)return Iz;w1e=1;var t=Function.prototype,e=t.toString;function r(n){if(n!=null){try{return e.call(n)}catch{}try{return n+""}catch{}}return""}return Iz=r,Iz}var Lz,T1e;function RJt(){if(T1e)return Lz;T1e=1;var t=kJt(),e=AJt(),r=SS(),n=MJt(),i=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,s=Function.prototype,o=Object.prototype,l=s.toString,u=o.hasOwnProperty,d=RegExp("^"+l.call(u).replace(i,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function h(f){if(!r(f)||e(f))return!1;var p=t(f)?d:a;return p.test(n(f))}return Lz=h,Lz}var Nz,C1e;function IJt(){if(C1e)return Nz;C1e=1;function t(e,r){return e==null?void 0:e[r]}return Nz=t,Nz}var Oz,S1e;function Sre(){if(S1e)return Oz;S1e=1;var t=RJt(),e=IJt();function r(n,i){var a=e(n,i);return t(a)?a:void 0}return Oz=r,Oz}var Dz,k1e;function FP(){if(k1e)return Dz;k1e=1;var t=Sre(),e=t(Object,"create");return Dz=e,Dz}var Pz,E1e;function LJt(){if(E1e)return Pz;E1e=1;var t=FP();function e(){this.__data__=t?t(null):{},this.size=0}return Pz=e,Pz}var _z,A1e;function NJt(){if(A1e)return _z;A1e=1;function t(e){var r=this.has(e)&&delete this.__data__[e];return this.size-=r?1:0,r}return _z=t,_z}var Bz,M1e;function OJt(){if(M1e)return Bz;M1e=1;var t=FP(),e="__lodash_hash_undefined__",r=Object.prototype,n=r.hasOwnProperty;function i(a){var s=this.__data__;if(t){var o=s[a];return o===e?void 0:o}return n.call(s,a)?s[a]:void 0}return Bz=i,Bz}var $z,R1e;function DJt(){if(R1e)return $z;R1e=1;var t=FP(),e=Object.prototype,r=e.hasOwnProperty;function n(i){var a=this.__data__;return t?a[i]!==void 0:r.call(a,i)}return $z=n,$z}var Fz,I1e;function PJt(){if(I1e)return Fz;I1e=1;var t=FP(),e="__lodash_hash_undefined__";function r(n,i){var a=this.__data__;return this.size+=this.has(n)?0:1,a[n]=t&&i===void 0?e:i,this}return Fz=r,Fz}var zz,L1e;function _Jt(){if(L1e)return zz;L1e=1;var t=LJt(),e=NJt(),r=OJt(),n=DJt(),i=PJt();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=t,a.prototype.delete=e,a.prototype.get=r,a.prototype.has=n,a.prototype.set=i,zz=a,zz}var Hz,N1e;function BJt(){if(N1e)return Hz;N1e=1;function t(){this.__data__=[],this.size=0}return Hz=t,Hz}var Vz,O1e;function WOe(){if(O1e)return Vz;O1e=1;function t(e,r){return e===r||e!==e&&r!==r}return Vz=t,Vz}var Gz,D1e;function zP(){if(D1e)return Gz;D1e=1;var t=WOe();function e(r,n){for(var i=r.length;i--;)if(t(r[i][0],n))return i;return-1}return Gz=e,Gz}var Wz,P1e;function $Jt(){if(P1e)return Wz;P1e=1;var t=zP(),e=Array.prototype,r=e.splice;function n(i){var a=this.__data__,s=t(a,i);if(s<0)return!1;var o=a.length-1;return s==o?a.pop():r.call(a,s,1),--this.size,!0}return Wz=n,Wz}var qz,_1e;function FJt(){if(_1e)return qz;_1e=1;var t=zP();function e(r){var n=this.__data__,i=t(n,r);return i<0?void 0:n[i][1]}return qz=e,qz}var jz,B1e;function zJt(){if(B1e)return jz;B1e=1;var t=zP();function e(r){return t(this.__data__,r)>-1}return jz=e,jz}var Yz,$1e;function HJt(){if($1e)return Yz;$1e=1;var t=zP();function e(r,n){var i=this.__data__,a=t(i,r);return a<0?(++this.size,i.push([r,n])):i[a][1]=n,this}return Yz=e,Yz}var Xz,F1e;function VJt(){if(F1e)return Xz;F1e=1;var t=BJt(),e=$Jt(),r=FJt(),n=zJt(),i=HJt();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=t,a.prototype.delete=e,a.prototype.get=r,a.prototype.has=n,a.prototype.set=i,Xz=a,Xz}var Kz,z1e;function GJt(){if(z1e)return Kz;z1e=1;var t=Sre(),e=DP(),r=t(e,"Map");return Kz=r,Kz}var Zz,H1e;function WJt(){if(H1e)return Zz;H1e=1;var t=_Jt(),e=VJt(),r=GJt();function n(){this.size=0,this.__data__={hash:new t,map:new(r||e),string:new t}}return Zz=n,Zz}var Jz,V1e;function qJt(){if(V1e)return Jz;V1e=1;function t(e){var r=typeof e;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?e!=="__proto__":e===null}return Jz=t,Jz}var Qz,G1e;function HP(){if(G1e)return Qz;G1e=1;var t=qJt();function e(r,n){var i=r.__data__;return t(n)?i[typeof n=="string"?"string":"hash"]:i.map}return Qz=e,Qz}var eH,W1e;function jJt(){if(W1e)return eH;W1e=1;var t=HP();function e(r){var n=t(this,r).delete(r);return this.size-=n?1:0,n}return eH=e,eH}var tH,q1e;function YJt(){if(q1e)return tH;q1e=1;var t=HP();function e(r){return t(this,r).get(r)}return tH=e,tH}var rH,j1e;function XJt(){if(j1e)return rH;j1e=1;var t=HP();function e(r){return t(this,r).has(r)}return rH=e,rH}var nH,Y1e;function KJt(){if(Y1e)return nH;Y1e=1;var t=HP();function e(r,n){var i=t(this,r),a=i.size;return i.set(r,n),this.size+=i.size==a?0:1,this}return nH=e,nH}var iH,X1e;function ZJt(){if(X1e)return iH;X1e=1;var t=WJt(),e=jJt(),r=YJt(),n=XJt(),i=KJt();function a(s){var o=-1,l=s==null?0:s.length;for(this.clear();++o<l;){var u=s[o];this.set(u[0],u[1])}}return a.prototype.clear=t,a.prototype.delete=e,a.prototype.get=r,a.prototype.has=n,a.prototype.set=i,iH=a,iH}var aH,K1e;function JJt(){if(K1e)return aH;K1e=1;var t=ZJt(),e="Expected a function";function r(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new TypeError(e);var a=function(){var s=arguments,o=i?i.apply(this,s):s[0],l=a.cache;if(l.has(o))return l.get(o);var u=n.apply(this,s);return a.cache=l.set(o,u)||l,u};return a.cache=new(r.Cache||t),a}return r.Cache=t,aH=r,aH}var sH,Z1e;function QJt(){if(Z1e)return sH;Z1e=1;var t=JJt(),e=500;function r(n){var i=t(n,function(s){return a.size===e&&a.clear(),s}),a=i.cache;return i}return sH=r,sH}var oH,J1e;function qOe(){if(J1e)return oH;J1e=1;var t=QJt(),e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,n=t(function(i){var a=[];return i.charCodeAt(0)===46&&a.push(""),i.replace(e,function(s,o,l,u){a.push(l?u.replace(r,"$1"):o||s)}),a});return oH=n,oH}var lH,Q1e;function jOe(){if(Q1e)return lH;Q1e=1;function t(e,r){for(var n=-1,i=e==null?0:e.length,a=Array(i);++n<i;)a[n]=r(e[n],n,e);return a}return lH=t,lH}var cH,eme;function eQt(){if(eme)return cH;eme=1;var t=mre(),e=jOe(),r=$P(),n=kS(),i=t?t.prototype:void 0,a=i?i.toString:void 0;function s(o){if(typeof o=="string")return o;if(r(o))return e(o,s)+"";if(n(o))return a?a.call(o):"";var l=o+"";return l=="0"&&1/o==-1/0?"-0":l}return cH=s,cH}var uH,tme;function YOe(){if(tme)return uH;tme=1;var t=eQt();function e(r){return r==null?"":t(r)}return uH=e,uH}var dH,rme;function XOe(){if(rme)return dH;rme=1;var t=$P(),e=SJt(),r=qOe(),n=YOe();function i(a,s){return t(a)?a:e(a,s)?[a]:r(n(a))}return dH=i,dH}var hH,nme;function kre(){if(nme)return hH;nme=1;var t=kS();function e(r){if(typeof r=="string"||t(r))return r;var n=r+"";return n=="0"&&1/r==-1/0?"-0":n}return hH=e,hH}var fH,ime;function tQt(){if(ime)return fH;ime=1;var t=XOe(),e=kre();function r(n,i){i=t(i,n);for(var a=0,s=i.length;n!=null&&a<s;)n=n[e(i[a++])];return a&&a==s?n:void 0}return fH=r,fH}var pH,ame;function rQt(){if(ame)return pH;ame=1;var t=tQt();function e(r,n,i){var a=r==null?void 0:t(r,n);return a===void 0?i:a}return pH=e,pH}var nQt=rQt(),iQt=CS(nQt),gH,sme;function aQt(){if(sme)return gH;sme=1;var t=Sre(),e=(function(){try{var r=t(Object,"defineProperty");return r({},"",{}),r}catch{}})();return gH=e,gH}var mH,ome;function sQt(){if(ome)return mH;ome=1;var t=aQt();function e(r,n,i){n=="__proto__"&&t?t(r,n,{configurable:!0,enumerable:!0,value:i,writable:!0}):r[n]=i}return mH=e,mH}var UH,lme;function oQt(){if(lme)return UH;lme=1;var t=sQt(),e=WOe(),r=Object.prototype,n=r.hasOwnProperty;function i(a,s,o){var l=a[s];(!(n.call(a,s)&&e(l,o))||o===void 0&&!(s in a))&&t(a,s,o)}return UH=i,UH}var yH,cme;function lQt(){if(cme)return yH;cme=1;var t=9007199254740991,e=/^(?:0|[1-9]\d*)$/;function r(n,i){var a=typeof n;return i=i??t,!!i&&(a=="number"||a!="symbol"&&e.test(n))&&n>-1&&n%1==0&&n<i}return yH=r,yH}var bH,ume;function cQt(){if(ume)return bH;ume=1;var t=oQt(),e=XOe(),r=lQt(),n=SS(),i=kre();function a(s,o,l,u){if(!n(s))return s;o=e(o,s);for(var d=-1,h=o.length,f=h-1,p=s;p!=null&&++d<h;){var g=i(o[d]),m=l;if(g==="__proto__"||g==="constructor"||g==="prototype")return s;if(d!=f){var U=p[g];m=u?u(U,g,p):void 0,m===void 0&&(m=n(U)?U:r(o[d+1])?[]:{})}t(p,g,m),p=p[g]}return s}return bH=a,bH}var vH,dme;function uQt(){if(dme)return vH;dme=1;var t=cQt();function e(r,n,i){return r==null?r:t(r,n,i)}return vH=e,vH}var dQt=uQt(),hQt=CS(dQt),xH,hme;function fQt(){if(hme)return xH;hme=1;function t(e,r){var n=-1,i=e.length;for(r||(r=Array(i));++n<i;)r[n]=e[n];return r}return xH=t,xH}var wH,fme;function pQt(){if(fme)return wH;fme=1;var t=jOe(),e=fQt(),r=$P(),n=kS(),i=qOe(),a=kre(),s=YOe();function o(l){return r(l)?t(l,a):n(l)?[l]:e(i(s(l)))}return wH=o,wH}var gQt=pQt(),mQt=CS(gQt),UQt={data:function(e){var r={field:"data",bindingEvent:"data",allowBinding:!1,allowSetting:!1,allowGetting:!1,settingEvent:"data",settingTriggersEvent:!1,triggerFnName:"trigger",immutableKeys:{},updateStyle:!1,beforeGet:function(i){},beforeSet:function(i,a){},onSet:function(i){},canSet:function(i){return!0}};return e=Gr({},r,e),function(i,a){var s=e,o=this,l=o.length!==void 0,u=l?o:[o],d=l?o[0]:o;if(Or(i)){var h=i.indexOf(".")!==-1,f=h&&mQt(i);if(s.allowGetting&&a===void 0){var p;return d&&(s.beforeGet(d),f&&d._private[s.field][i]===void 0?p=iQt(d._private[s.field],f):p=d._private[s.field][i]),p}else if(s.allowSetting&&a!==void 0){var g=!s.immutableKeys[i];if(g){var m=lOe({},i,a);s.beforeSet(o,m);for(var U=0,y=u.length;U<y;U++){var b=u[U];s.canSet(b)&&(f&&d._private[s.field][i]===void 0?hQt(b._private[s.field],f,a):b._private[s.field][i]=a)}s.updateStyle&&o.updateStyle(),s.onSet(o),s.settingTriggersEvent&&o[s.triggerFnName](s.settingEvent)}}}else if(s.allowSetting&&ei(i)){var v=i,w,T,S=Object.keys(v);s.beforeSet(o,v);for(var C=0;C<S.length;C++){w=S[C],T=v[w];var k=!s.immutableKeys[w];if(k)for(var E=0;E<u.length;E++){var A=u[E];s.canSet(A)&&(A._private[s.field][w]=T)}}s.updateStyle&&o.updateStyle(),s.onSet(o),s.settingTriggersEvent&&o[s.triggerFnName](s.settingEvent)}else if(s.allowBinding&&Sa(i)){var M=i;o.on(s.bindingEvent,M)}else if(s.allowGetting&&i===void 0){var P;return d&&(s.beforeGet(d),P=d._private[s.field]),P}return o}},removeData:function(e){var r={field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!1,immutableKeys:{}};return e=Gr({},r,e),function(i){var a=e,s=this,o=s.length!==void 0,l=o?s:[s];if(Or(i)){for(var u=i.split(/\s+/),d=u.length,h=0;h<d;h++){var f=u[h];if(!n1(f)){var p=!a.immutableKeys[f];if(p)for(var g=0,m=l.length;g<m;g++)l[g]._private[a.field][f]=void 0}}a.triggerEvent&&s[a.triggerFnName](a.event)}else if(i===void 0){for(var U=0,y=l.length;U<y;U++)for(var b=l[U]._private[a.field],v=Object.keys(b),w=0;w<v.length;w++){var T=v[w],S=!a.immutableKeys[T];S&&(b[T]=void 0)}a.triggerEvent&&s[a.triggerFnName](a.event)}return s}}},yQt={eventAliasesOn:function(e){var r=e;r.addListener=r.listen=r.bind=r.on,r.unlisten=r.unbind=r.off=r.removeListener,r.trigger=r.emit,r.pon=r.promiseOn=function(n,i){var a=this,s=Array.prototype.slice.call(arguments,0);return new f3(function(o,l){var u=function(p){a.off.apply(a,h),o(p)},d=s.concat([u]),h=d.concat([]);a.on.apply(a,d)})}}},bi={};[CJt,UQt,yQt].forEach(function(t){Gr(bi,t)});var bQt={animate:bi.animate(),animation:bi.animation(),animated:bi.animated(),clearQueue:bi.clearQueue(),delay:bi.delay(),delayAnimation:bi.delayAnimation(),stop:bi.stop()},mM={classes:function(e){var r=this;if(e===void 0){var n=[];return r[0]._private.classes.forEach(function(g){return n.push(g)}),n}else Ii(e)||(e=(e||"").match(/\S+/g)||[]);for(var i=[],a=new h3(e),s=0;s<r.length;s++){for(var o=r[s],l=o._private,u=l.classes,d=!1,h=0;h<e.length;h++){var f=e[h],p=u.has(f);if(!p){d=!0;break}}d||(d=u.size!==e.length),d&&(l.classes=a,i.push(o))}return i.length>0&&this.spawn(i).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){Ii(e)||(e=e.match(/\S+/g)||[]);for(var n=this,i=r===void 0,a=[],s=0,o=n.length;s<o;s++)for(var l=n[s],u=l._private.classes,d=!1,h=0;h<e.length;h++){var f=e[h],p=u.has(f),g=!1;r||i&&!p?(u.add(f),g=!0):(!r||i&&p)&&(u.delete(f),g=!0),!d&&g&&(a.push(l),d=!0)}return a.length>0&&this.spawn(a).updateStyle().emit("class"),n},removeClass:function(e){return this.toggleClass(e,!1)},flashClass:function(e,r){var n=this;if(r==null)r=250;else if(r===0)return n;return n.addClass(e),setTimeout(function(){n.removeClass(e)},r),n}};mM.className=mM.classNames=mM.classes;var Zn={metaChar:"[\\!\\\"\\#\\$\\%\\&\\'\\(\\)\\*\\+\\,\\.\\/\\:\\;\\<\\=\\>\\?\\@\\[\\]\\^\\`\\{\\|\\}\\~]",comparatorOp:"=|\\!=|>|>=|<|<=|\\$=|\\^=|\\*=",boolOp:"\\?|\\!|\\^",string:`"(?:\\\\"|[^"])*"|'(?:\\\\'|[^'])*'`,number:Os,meta:"degree|indegree|outdegree",separator:"\\s*,\\s*",descendant:"\\s+",child:"\\s+>\\s+",subject:"\\$",group:"node|edge|\\*",directedEdge:"\\s+->\\s+",undirectedEdge:"\\s+<->\\s+"};Zn.variable="(?:[\\w-.]|(?:\\\\"+Zn.metaChar+"))+";Zn.className="(?:[\\w-]|(?:\\\\"+Zn.metaChar+"))+";Zn.value=Zn.string+"|"+Zn.number;Zn.id=Zn.variable;(function(){var t,e,r;for(t=Zn.comparatorOp.split("|"),r=0;r<t.length;r++)e=t[r],Zn.comparatorOp+="|@"+e;for(t=Zn.comparatorOp.split("|"),r=0;r<t.length;r++)e=t[r],!(e.indexOf("!")>=0)&&e!=="="&&(Zn.comparatorOp+="|\\!"+e)})();var Si=function(){return{checks:[]}},gr={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},eY=[{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 mKt(t.selector,e.selector)}),vQt=(function(){for(var t={},e,r=0;r<eY.length;r++)e=eY[r],t[e.selector]=e.matches;return t})(),xQt=function(e,r){return vQt[e](r)},wQt="("+eY.map(function(t){return t.selector}).join("|")+")",Ay=function(e){return e.replace(new RegExp("\\\\("+Zn.metaChar+")","g"),function(r,n){return n})},$p=function(e,r,n){e[e.length-1]=n},tY=[{name:"group",query:!0,regex:"("+Zn.group+")",populate:function(e,r,n){var i=as(n,1),a=i[0];r.checks.push({type:gr.GROUP,value:a==="*"?a:a+"s"})}},{name:"state",query:!0,regex:wQt,populate:function(e,r,n){var i=as(n,1),a=i[0];r.checks.push({type:gr.STATE,value:a})}},{name:"id",query:!0,regex:"\\#("+Zn.id+")",populate:function(e,r,n){var i=as(n,1),a=i[0];r.checks.push({type:gr.ID,value:Ay(a)})}},{name:"className",query:!0,regex:"\\.("+Zn.className+")",populate:function(e,r,n){var i=as(n,1),a=i[0];r.checks.push({type:gr.CLASS,value:Ay(a)})}},{name:"dataExists",query:!0,regex:"\\[\\s*("+Zn.variable+")\\s*\\]",populate:function(e,r,n){var i=as(n,1),a=i[0];r.checks.push({type:gr.DATA_EXIST,field:Ay(a)})}},{name:"dataCompare",query:!0,regex:"\\[\\s*("+Zn.variable+")\\s*("+Zn.comparatorOp+")\\s*("+Zn.value+")\\s*\\]",populate:function(e,r,n){var i=as(n,3),a=i[0],s=i[1],o=i[2],l=new RegExp("^"+Zn.string+"$").exec(o)!=null;l?o=o.substring(1,o.length-1):o=parseFloat(o),r.checks.push({type:gr.DATA_COMPARE,field:Ay(a),operator:s,value:o})}},{name:"dataBool",query:!0,regex:"\\[\\s*("+Zn.boolOp+")\\s*("+Zn.variable+")\\s*\\]",populate:function(e,r,n){var i=as(n,2),a=i[0],s=i[1];r.checks.push({type:gr.DATA_BOOL,field:Ay(s),operator:a})}},{name:"metaCompare",query:!0,regex:"\\[\\[\\s*("+Zn.meta+")\\s*("+Zn.comparatorOp+")\\s*("+Zn.number+")\\s*\\]\\]",populate:function(e,r,n){var i=as(n,3),a=i[0],s=i[1],o=i[2];r.checks.push({type:gr.META_COMPARE,field:Ay(a),operator:s,value:parseFloat(o)})}},{name:"nextQuery",separator:!0,regex:Zn.separator,populate:function(e,r){var n=e.currentSubject,i=e.edgeCount,a=e.compoundCount,s=e[e.length-1];n!=null&&(s.subject=n,e.currentSubject=null),s.edgeCount=i,s.compoundCount=a,e.edgeCount=0,e.compoundCount=0;var o=e[e.length++]=Si();return o}},{name:"directedEdge",separator:!0,regex:Zn.directedEdge,populate:function(e,r){if(e.currentSubject==null){var n=Si(),i=r,a=Si();return n.checks.push({type:gr.DIRECTED_EDGE,source:i,target:a}),$p(e,r,n),e.edgeCount++,a}else{var s=Si(),o=r,l=Si();return s.checks.push({type:gr.NODE_SOURCE,source:o,target:l}),$p(e,r,s),e.edgeCount++,l}}},{name:"undirectedEdge",separator:!0,regex:Zn.undirectedEdge,populate:function(e,r){if(e.currentSubject==null){var n=Si(),i=r,a=Si();return n.checks.push({type:gr.UNDIRECTED_EDGE,nodes:[i,a]}),$p(e,r,n),e.edgeCount++,a}else{var s=Si(),o=r,l=Si();return s.checks.push({type:gr.NODE_NEIGHBOR,node:o,neighbor:l}),$p(e,r,s),l}}},{name:"child",separator:!0,regex:Zn.child,populate:function(e,r){if(e.currentSubject==null){var n=Si(),i=Si(),a=e[e.length-1];return n.checks.push({type:gr.CHILD,parent:a,child:i}),$p(e,r,n),e.compoundCount++,i}else if(e.currentSubject===r){var s=Si(),o=e[e.length-1],l=Si(),u=Si(),d=Si(),h=Si();return s.checks.push({type:gr.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=r.checks,r.checks=[{type:gr.TRUE}],h.checks.push({type:gr.TRUE}),l.checks.push({type:gr.PARENT,parent:h,child:d}),$p(e,o,s),e.currentSubject=u,e.compoundCount++,d}else{var f=Si(),p=Si(),g=[{type:gr.PARENT,parent:f,child:p}];return f.checks=r.checks,r.checks=g,e.compoundCount++,p}}},{name:"descendant",separator:!0,regex:Zn.descendant,populate:function(e,r){if(e.currentSubject==null){var n=Si(),i=Si(),a=e[e.length-1];return n.checks.push({type:gr.DESCENDANT,ancestor:a,descendant:i}),$p(e,r,n),e.compoundCount++,i}else if(e.currentSubject===r){var s=Si(),o=e[e.length-1],l=Si(),u=Si(),d=Si(),h=Si();return s.checks.push({type:gr.COMPOUND_SPLIT,left:o,right:l,subject:u}),u.checks=r.checks,r.checks=[{type:gr.TRUE}],h.checks.push({type:gr.TRUE}),l.checks.push({type:gr.ANCESTOR,ancestor:h,descendant:d}),$p(e,o,s),e.currentSubject=u,e.compoundCount++,d}else{var f=Si(),p=Si(),g=[{type:gr.ANCESTOR,ancestor:f,descendant:p}];return f.checks=r.checks,r.checks=g,e.compoundCount++,p}}},{name:"subject",modifier:!0,regex:Zn.subject,populate:function(e,r){if(e.currentSubject!=null&&e.currentSubject!==r)return xi("Redefinition of subject in selector `"+e.toString()+"`"),!1;e.currentSubject=r;var n=e[e.length-1],i=n.checks[0],a=i==null?null:i.type;a===gr.DIRECTED_EDGE?i.type=gr.NODE_TARGET:a===gr.UNDIRECTED_EDGE&&(i.type=gr.NODE_NEIGHBOR,i.node=i.nodes[1],i.neighbor=i.nodes[0],i.nodes=null)}}];tY.forEach(function(t){return t.regexObj=new RegExp("^"+t.regex)});var TQt=function(e){for(var r,n,i,a=0;a<tY.length;a++){var s=tY[a],o=s.name,l=e.match(s.regexObj);if(l!=null){n=l,r=s,i=o;var u=l[0];e=e.substring(u.length);break}}return{expr:r,match:n,name:i,remaining:e}},CQt=function(e){var r=e.match(/^\s+/);if(r){var n=r[0];e=e.substring(n.length)}return e},SQt=function(e){var r=this,n=r.inputText=e,i=r[0]=Si();for(r.length=1,n=CQt(n);;){var a=TQt(n);if(a.expr==null)return xi("The selector `"+e+"`is invalid"),!1;var s=a.match.slice(1),o=a.expr.populate(r,i,s);if(o===!1)return!1;if(o!=null&&(i=o),n=a.remaining,n.match(/^\s*$/))break}var l=r[r.length-1];r.currentSubject!=null&&(l.subject=r.currentSubject),l.edgeCount=r.edgeCount,l.compoundCount=r.compoundCount;for(var u=0;u<r.length;u++){var d=r[u];if(d.compoundCount>0&&d.edgeCount>0)return xi("The selector `"+e+"` is invalid because it uses both a compound selector and an edge selector"),!1;if(d.edgeCount>1)return xi("The selector `"+e+"` is invalid because it uses multiple edge selectors"),!1;d.edgeCount===1&&xi("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},kQt=function(){if(this.toStringCache!=null)return this.toStringCache;for(var e=function(d){return d??""},r=function(d){return Or(d)?'"'+d+'"':e(d)},n=function(d){return" "+d+" "},i=function(d,h){var f=d.type,p=d.value;switch(f){case gr.GROUP:{var g=e(p);return g.substring(0,g.length-1)}case gr.DATA_COMPARE:{var m=d.field,U=d.operator;return"["+m+n(e(U))+r(p)+"]"}case gr.DATA_BOOL:{var y=d.operator,b=d.field;return"["+e(y)+b+"]"}case gr.DATA_EXIST:{var v=d.field;return"["+v+"]"}case gr.META_COMPARE:{var w=d.operator,T=d.field;return"[["+T+n(e(w))+r(p)+"]]"}case gr.STATE:return p;case gr.ID:return"#"+p;case gr.CLASS:return"."+p;case gr.PARENT:case gr.CHILD:return a(d.parent,h)+n(">")+a(d.child,h);case gr.ANCESTOR:case gr.DESCENDANT:return a(d.ancestor,h)+" "+a(d.descendant,h);case gr.COMPOUND_SPLIT:{var S=a(d.left,h),C=a(d.subject,h),k=a(d.right,h);return S+(S.length>0?" ":"")+C+k}case gr.TRUE:return""}},a=function(d,h){return d.checks.reduce(function(f,p,g){return f+(h===d&&g===0?"$":"")+i(p,h)},"")},s="",o=0;o<this.length;o++){var l=this[o];s+=a(l,l.subject),this.length>1&&o<this.length-1&&(s+=", ")}return this.toStringCache=s,s},EQt={parse:SQt,toString:kQt},KOe=function(e,r,n){var i,a=Or(e),s=Jt(e),o=Or(n),l,u,d=!1,h=!1,f=!1;switch(r.indexOf("!")>=0&&(r=r.replace("!",""),h=!0),r.indexOf("@")>=0&&(r=r.replace("@",""),d=!0),(a||o||d)&&(l=!a&&!s?"":""+e,u=""+n),d&&(e=l=l.toLowerCase(),n=u=u.toLowerCase()),r){case"*=":i=l.indexOf(u)>=0;break;case"$=":i=l.indexOf(u,l.length-u.length)>=0;break;case"^=":i=l.indexOf(u)===0;break;case"=":i=e===n;break;case">":f=!0,i=e>n;break;case">=":f=!0,i=e>=n;break;case"<":f=!0,i=e<n;break;case"<=":f=!0,i=e<=n;break;default:i=!1;break}return h&&(e!=null||!f)&&(i=!i),i},AQt=function(e,r){switch(r){case"?":return!!e;case"!":return!e;case"^":return e===void 0}},MQt=function(e){return e!==void 0},Ere=function(e,r){return e.data(r)},RQt=function(e,r){return e[r]()},qa=[],Qi=function(e,r){return e.checks.every(function(n){return qa[n.type](n,r)})};qa[gr.GROUP]=function(t,e){var r=t.value;return r==="*"||r===e.group()};qa[gr.STATE]=function(t,e){var r=t.value;return xQt(r,e)};qa[gr.ID]=function(t,e){var r=t.value;return e.id()===r};qa[gr.CLASS]=function(t,e){var r=t.value;return e.hasClass(r)};qa[gr.META_COMPARE]=function(t,e){var r=t.field,n=t.operator,i=t.value;return KOe(RQt(e,r),n,i)};qa[gr.DATA_COMPARE]=function(t,e){var r=t.field,n=t.operator,i=t.value;return KOe(Ere(e,r),n,i)};qa[gr.DATA_BOOL]=function(t,e){var r=t.field,n=t.operator;return AQt(Ere(e,r),n)};qa[gr.DATA_EXIST]=function(t,e){var r=t.field;return t.operator,MQt(Ere(e,r))};qa[gr.UNDIRECTED_EDGE]=function(t,e){var r=t.nodes[0],n=t.nodes[1],i=e.source(),a=e.target();return Qi(r,i)&&Qi(n,a)||Qi(n,i)&&Qi(r,a)};qa[gr.NODE_NEIGHBOR]=function(t,e){return Qi(t.node,e)&&e.neighborhood().some(function(r){return r.isNode()&&Qi(t.neighbor,r)})};qa[gr.DIRECTED_EDGE]=function(t,e){return Qi(t.source,e.source())&&Qi(t.target,e.target())};qa[gr.NODE_SOURCE]=function(t,e){return Qi(t.source,e)&&e.outgoers().some(function(r){return r.isNode()&&Qi(t.target,r)})};qa[gr.NODE_TARGET]=function(t,e){return Qi(t.target,e)&&e.incomers().some(function(r){return r.isNode()&&Qi(t.source,r)})};qa[gr.CHILD]=function(t,e){return Qi(t.child,e)&&Qi(t.parent,e.parent())};qa[gr.PARENT]=function(t,e){return Qi(t.parent,e)&&e.children().some(function(r){return Qi(t.child,r)})};qa[gr.DESCENDANT]=function(t,e){return Qi(t.descendant,e)&&e.ancestors().some(function(r){return Qi(t.ancestor,r)})};qa[gr.ANCESTOR]=function(t,e){return Qi(t.ancestor,e)&&e.descendants().some(function(r){return Qi(t.descendant,r)})};qa[gr.COMPOUND_SPLIT]=function(t,e){return Qi(t.subject,e)&&Qi(t.left,e)&&Qi(t.right,e)};qa[gr.TRUE]=function(){return!0};qa[gr.COLLECTION]=function(t,e){var r=t.value;return r.has(e)};qa[gr.FILTER]=function(t,e){var r=t.value;return r(e)};var IQt=function(e){var r=this;if(r.length===1&&r[0].checks.length===1&&r[0].checks[0].type===gr.ID)return e.getElementById(r[0].checks[0].value).collection();var n=function(a){for(var s=0;s<r.length;s++){var o=r[s];if(Qi(o,a))return!0}return!1};return r.text()==null&&(n=function(){return!0}),e.filter(n)},LQt=function(e){for(var r=this,n=0;n<r.length;n++){var i=r[n];if(Qi(i,e))return!0}return!1},NQt={matches:LQt,filter:IQt},s1=function(e){this.inputText=e,this.currentSubject=null,this.compoundCount=0,this.edgeCount=0,this.length=0,e==null||Or(e)&&e.match(/^\s*$/)||(Jc(e)?this.addQuery({checks:[{type:gr.COLLECTION,value:e.collection()}]}):Sa(e)?this.addQuery({checks:[{type:gr.FILTER,value:e}]}):Or(e)?this.parse(e)||(this.invalid=!0):ca("A selector must be created from a string; found "))},o1=s1.prototype;[EQt,NQt].forEach(function(t){return Gr(o1,t)});o1.text=function(){return this.inputText};o1.size=function(){return this.length};o1.eq=function(t){return this[t]};o1.sameText=function(t){return!this.invalid&&!t.invalid&&this.text()===t.text()};o1.addQuery=function(t){this[this.length++]=t};o1.selector=o1.toString;var Ag={allAre:function(e){var r=new s1(e);return this.every(function(n){return r.matches(n)})},is:function(e){var r=new s1(e);return this.some(function(n){return r.matches(n)})},some:function(e,r){for(var n=0;n<this.length;n++){var i=r?e.apply(r,[this[n],n,this]):e(this[n],n,this);if(i)return!0}return!1},every:function(e,r){for(var n=0;n<this.length;n++){var i=r?e.apply(r,[this[n],n,this]):e(this[n],n,this);if(!i)return!1}return!0},same:function(e){if(this===e)return!0;e=this.cy().collection(e);var r=this.length,n=e.length;return r!==n?!1:r===1?this[0]===e[0]:this.every(function(i){return e.hasElementWithId(i.id())})},anySame:function(e){return e=this.cy().collection(e),this.some(function(r){return e.hasElementWithId(r.id())})},allAreNeighbors:function(e){e=this.cy().collection(e);var r=this.neighborhood();return e.every(function(n){return r.hasElementWithId(n.id())})},contains:function(e){e=this.cy().collection(e);var r=this;return e.every(function(n){return r.hasElementWithId(n.id())})}};Ag.allAreNeighbours=Ag.allAreNeighbors;Ag.has=Ag.contains;Ag.equal=Ag.equals=Ag.same;var Pu=function(e,r){return function(i,a,s,o){var l=i,u=this,d;if(l==null?d="":Jc(l)&&l.length===1&&(d=l.id()),u.length===1&&d){var h=u[0]._private,f=h.traversalCache=h.traversalCache||{},p=f[r]=f[r]||[],g=l5(d),m=p[g];return m||(p[g]=e.call(u,i,a,s,o))}else return e.call(u,i,a,s,o)}},p4={parent:function(e){var r=[];if(this.length===1){var n=this[0]._private.parent;if(n)return n}for(var i=0;i<this.length;i++){var a=this[i],s=a._private.parent;s&&r.push(s)}return this.spawn(r,!0).filter(e)},parents:function(e){for(var r=[],n=this.parent();n.nonempty();){for(var i=0;i<n.length;i++){var a=n[i];r.push(a)}n=n.parent()}return this.spawn(r,!0).filter(e)},commonAncestors:function(e){for(var r,n=0;n<this.length;n++){var i=this[n],a=i.parents();r=r||a,r=r.intersect(a)}return r.filter(e)},orphans:function(e){return this.stdFilter(function(r){return r.isOrphan()}).filter(e)},nonorphans:function(e){return this.stdFilter(function(r){return r.isChild()}).filter(e)},children:Pu(function(t){for(var e=[],r=0;r<this.length;r++)for(var n=this[r],i=n._private.children,a=0;a<i.length;a++)e.push(i[a]);return this.spawn(e,!0).filter(t)},"children"),siblings:function(e){return this.parent().children().not(this).filter(e)},isParent:function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length!==0},isChildless:function(){var e=this[0];if(e)return e.isNode()&&e._private.children.length===0},isChild:function(){var e=this[0];if(e)return e.isNode()&&e._private.parent!=null},isOrphan:function(){var e=this[0];if(e)return e.isNode()&&e._private.parent==null},descendants:function(e){var r=[];function n(i){for(var a=0;a<i.length;a++){var s=i[a];r.push(s),s.children().nonempty()&&n(s.children())}}return n(this.children()),this.spawn(r,!0).filter(e)}};function Are(t,e,r,n){for(var i=[],a=new h3,s=t.cy(),o=s.hasCompoundNodes(),l=0;l<t.length;l++){var u=t[l];r?i.push(u):o&&n(i,a,u)}for(;i.length>0;){var d=i.shift();e(d),a.add(d.id()),o&&n(i,a,d)}return t}function ZOe(t,e,r){if(r.isParent())for(var n=r._private.children,i=0;i<n.length;i++){var a=n[i];e.has(a.id())||t.push(a)}}p4.forEachDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Are(this,t,e,ZOe)};function JOe(t,e,r){if(r.isChild()){var n=r._private.parent;e.has(n.id())||t.push(n)}}p4.forEachUp=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Are(this,t,e,JOe)};function OQt(t,e,r){JOe(t,e,r),ZOe(t,e,r)}p4.forEachUpAndDown=function(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;return Are(this,t,e,OQt)};p4.ancestors=p4.parents;var ZT,QOe;ZT=QOe={data:bi.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:bi.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,immutableKeys:{id:!0,source:!0,target:!0,parent:!0},updateStyle:!0}),scratch:bi.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:bi.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),rscratch:bi.data({field:"rscratch",allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!0}),removeRscratch:bi.removeData({field:"rscratch",triggerEvent:!1}),id:function(){var e=this[0];if(e)return e._private.data.id}};ZT.attr=ZT.data;ZT.removeAttr=ZT.removeData;var DQt=QOe,VP={};function TH(t){return function(e){var r=this;if(e===void 0&&(e=!0),r.length!==0)if(r.isNode()&&!r.removed()){for(var n=0,i=r[0],a=i._private.edges,s=0;s<a.length;s++){var o=a[s];!e&&o.isLoop()||(n+=t(i,o))}return n}else return}}Gr(VP,{degree:TH(function(t,e){return e.source().same(e.target())?2:1}),indegree:TH(function(t,e){return e.target().same(t)?1:0}),outdegree:TH(function(t,e){return e.source().same(t)?1:0})});function My(t,e){return function(r){for(var n,i=this.nodes(),a=0;a<i.length;a++){var s=i[a],o=s[t](r);o!==void 0&&(n===void 0||e(o,n))&&(n=o)}return n}}Gr(VP,{minDegree:My("degree",function(t,e){return t<e}),maxDegree:My("degree",function(t,e){return t>e}),minIndegree:My("indegree",function(t,e){return t<e}),maxIndegree:My("indegree",function(t,e){return t>e}),minOutdegree:My("outdegree",function(t,e){return t<e}),maxOutdegree:My("outdegree",function(t,e){return t>e})});Gr(VP,{totalDegree:function(e){for(var r=0,n=this.nodes(),i=0;i<n.length;i++)r+=n[i].degree(e);return r}});var Od,eDe,tDe=function(e,r,n){for(var i=0;i<e.length;i++){var a=e[i];if(!a.locked()){var s=a._private.position,o={x:r.x!=null?r.x-s.x:0,y:r.y!=null?r.y-s.y:0};a.isParent()&&!(o.x===0&&o.y===0)&&a.children().shift(o,n),a.dirtyBoundingBoxCache()}}},pme={field:"position",bindingEvent:"position",allowBinding:!0,allowSetting:!0,settingEvent:"position",settingTriggersEvent:!0,triggerFnName:"emitAndNotify",allowGetting:!0,validKeys:["x","y"],beforeGet:function(e){e.updateCompoundBounds()},beforeSet:function(e,r){tDe(e,r,!1)},onSet:function(e){e.dirtyCompoundBoundsCache()},canSet:function(e){return!e.locked()}};Od=eDe={position:bi.data(pme),silentPosition:bi.data(Gr({},pme,{allowBinding:!1,allowSetting:!0,settingTriggersEvent:!1,allowGetting:!1,beforeSet:function(e,r){tDe(e,r,!0)},onSet:function(e){e.dirtyCompoundBoundsCache()}})),positions:function(e,r){if(ei(e))r?this.silentPosition(e):this.position(e);else if(Sa(e)){var n=e,i=this.cy();i.startBatch();for(var a=0;a<this.length;a++){var s=this[a],o=void 0;(o=n(s,a))&&(r?s.silentPosition(o):s.position(o))}i.endBatch()}return this},silentPositions:function(e){return this.positions(e,!0)},shift:function(e,r,n){var i;if(ei(e)?(i={x:Jt(e.x)?e.x:0,y:Jt(e.y)?e.y:0},n=r):Or(e)&&Jt(r)&&(i={x:0,y:0},i[e]=r),i!=null){var a=this.cy();a.startBatch();for(var s=0;s<this.length;s++){var o=this[s];if(!(a.hasCompoundNodes()&&o.isChild()&&o.ancestors().anySame(this))){var l=o.position(),u={x:l.x+i.x,y:l.y+i.y};n?o.silentPosition(u):o.position(u)}}a.endBatch()}return this},silentShift:function(e,r){return ei(e)?this.shift(e,!0):Or(e)&&Jt(r)&&this.shift(e,r,!0),this},renderedPosition:function(e,r){var n=this[0],i=this.cy(),a=i.zoom(),s=i.pan(),o=ei(e)?e:void 0,l=o!==void 0||r!==void 0&&Or(e);if(n&&n.isNode())if(l)for(var u=0;u<this.length;u++){var d=this[u];r!==void 0?d.position(e,(r-s[e])/a):o!==void 0&&d.position(AOe(o,a,s))}else{var h=n.position();return o=_P(h,a,s),e===void 0?o:o[e]}else if(!l)return;return this},relativePosition:function(e,r){var n=this[0],i=this.cy(),a=ei(e)?e:void 0,s=a!==void 0||r!==void 0&&Or(e),o=i.hasCompoundNodes();if(n&&n.isNode())if(s)for(var l=0;l<this.length;l++){var u=this[l],d=o?u.parent():null,h=d&&d.length>0,f=h;h&&(d=d[0]);var p=f?d.position():{x:0,y:0};r!==void 0?u.position(e,r+p[e]):a!==void 0&&u.position({x:a.x+p.x,y:a.y+p.y})}else{var g=n.position(),m=o?n.parent():null,U=m&&m.length>0,y=U;U&&(m=m[0]);var b=y?m.position():{x:0,y:0};return a={x:g.x-b.x,y:g.y-b.y},e===void 0?a:a[e]}else if(!s)return;return this}};Od.modelPosition=Od.point=Od.position;Od.modelPositions=Od.points=Od.positions;Od.renderedPoint=Od.renderedPosition;Od.relativePoint=Od.relativePosition;var PQt=eDe,g4=function(e){switch(e){case"left":case"right-inside":return"left";case"right":case"left-inside":return"right";default:return"center"}},m4=function(e){switch(e){case"top":case"bottom-inside":return"top";case"bottom":case"top-inside":return"bottom";default:return"center"}},_Qt=function(e){switch(e){case"left":return"right";case"right":return"left";case"left-inside":return"left";case"right-inside":return"right";default:return"center"}},Tb,N1;Tb=N1={};N1.renderedBoundingBox=function(t){var e=this.boundingBox(t),r=this.cy(),n=r.zoom(),i=r.pan(),a=e.x1*n+i.x,s=e.x2*n+i.x,o=e.y1*n+i.y,l=e.y2*n+i.y;return{x1:a,x2:s,y1:o,y2:l,w:s-a,h:l-o}};N1.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 n=r._private;n.compoundBoundsClean=!1,n.bbCache=null,t||r.emitAndNotify("bounds")}}),this)};N1.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,l=s.children(),u=s.pstyle("compound-sizing-wrt-labels").value==="include",d={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=l.boundingBox({includeLabels:u,includeOverlays:!1,useCache:!1}),f=o.position;(h.w===0||h.h===0)&&(h={w:s.pstyle("width").pfValue,h:s.pstyle("height").pfValue},h.x1=f.x-h.w/2,h.x2=f.x+h.w/2,h.y1=f.y-h.h/2,h.y2=f.y+h.h/2);function p(E,A,M){var P=0,N=0,I=A+M;return E>0&&I>0&&(P=A/I*E,N=M/I*E),{biasDiff:P,biasComplementDiff:N}}function g(E,A,M,P){if(M.units==="%")switch(P){case"width":return E>0?M.pfValue*E:0;case"height":return A>0?M.pfValue*A:0;case"average":return E>0&&A>0?M.pfValue*(E+A)/2:0;case"min":return E>0&&A>0?E>A?M.pfValue*A:M.pfValue*E:0;case"max":return E>0&&A>0?E>A?M.pfValue*E:M.pfValue*A:0;default:return 0}else return M.units==="px"?M.pfValue:0}var m=d.width.left.value;d.width.left.units==="px"&&d.width.val>0&&(m=m*100/d.width.val);var U=d.width.right.value;d.width.right.units==="px"&&d.width.val>0&&(U=U*100/d.width.val);var y=d.height.top.value;d.height.top.units==="px"&&d.height.val>0&&(y=y*100/d.height.val);var b=d.height.bottom.value;d.height.bottom.units==="px"&&d.height.val>0&&(b=b*100/d.height.val);var v=p(d.width.val-h.w,m,U),w=v.biasDiff,T=v.biasComplementDiff,S=p(d.height.val-h.h,y,b),C=S.biasDiff,k=S.biasComplementDiff;o.autoPadding=g(h.w,h.h,s.pstyle("padding"),s.pstyle("padding-relative-to").value),o.autoWidth=Math.max(h.w,d.width.val),f.x=(-w+h.x1+h.x2+T)/2,o.autoHeight=Math.max(h.h,d.height.val),f.y=(-C+h.y1+h.y2+k)/2}for(var n=0;n<this.length;n++){var i=this[n],a=i._private;(!a.compoundBoundsClean||t)&&(r(i),e.batching()||(a.compoundBoundsClean=!0))}return this};var Ru=function(e){return e===1/0||e===-1/0?0:e},ld=function(e,r,n,i,a){i-r===0||a-n===0||r==null||n==null||i==null||a==null||(e.x1=r<e.x1?r:e.x1,e.x2=i>e.x2?i:e.x2,e.y1=n<e.y1?n:e.y1,e.y2=a>e.y2?a:e.y2,e.w=e.x2-e.x1,e.h=e.y2-e.y1)},Xp=function(e,r){return r==null?e:ld(e,r.x1,r.y1,r.x2,r.y2)},a9=function(e,r,n){return Cl(e,r,n)},VE=function(e,r,n){if(!r.cy().headless()){var i=r._private,a=i.rstyle,s=a.arrowWidth/2,o=r.pstyle(n+"-arrow-shape").value,l,u;if(o!=="none"){n==="source"?(l=a.srcX,u=a.srcY):n==="target"?(l=a.tgtX,u=a.tgtY):(l=a.midX,u=a.midY);var d=i.arrowBounds=i.arrowBounds||{},h=d[n]=d[n]||{};h.x1=l-s,h.y1=u-s,h.x2=l+s,h.y2=u+s,h.w=h.x2-h.x1,h.h=h.y2-h.y1,pM(h,1),ld(e,h.x1,h.y1,h.x2,h.y2)}}},CH=function(e,r,n){if(!r.cy().headless()){var i;n?i=n+"-":i="";var a=r._private,s=a.rstyle,o=r.pstyle(i+"label").strValue;if(o){var l=r.pstyle("text-halign"),u=r.pstyle("text-valign"),d=a9(s,"labelWidth",n),h=a9(s,"labelHeight",n),f=a9(s,"labelX",n),p=a9(s,"labelY",n),g=r.pstyle(i+"text-margin-x").pfValue,m=r.pstyle(i+"text-margin-y").pfValue,U=r.isEdge(),y=r.pstyle(i+"text-rotation"),b=r.pstyle("text-outline-width").pfValue,v=r.pstyle("text-border-width").pfValue,w=v/2,T=r.pstyle("text-background-padding").pfValue,S=2,C=h,k=d,E=k/2,A=C/2,M,P,N,I;if(U)M=f-E,P=f+E,N=p-A,I=p+A;else{switch(g4(l.value)){case"left":M=f-k,P=f;break;case"center":M=f-E,P=f+E;break;case"right":M=f,P=f+k;break}switch(m4(u.value)){case"top":N=p-C,I=p;break;case"center":N=p-A,I=p+A;break;case"bottom":N=p,I=p+C;break}}var L=g-Math.max(b,w)-T-S,_=g+Math.max(b,w)+T+S,D=m-Math.max(b,w)-T-S,O=m+Math.max(b,w)+T+S;M+=L,P+=_,N+=D,I+=O;var B=n||"main",F=a.labelBounds,z=F[B]=F[B]||{};z.x1=M,z.y1=N,z.x2=P,z.y2=I,z.w=P-M,z.h=I-N,z.leftPad=L,z.rightPad=_,z.topPad=D,z.botPad=O;var $=U&&y.strValue==="autorotate",H=y.pfValue!=null&&y.pfValue!==0;if($||H){var V=$?a9(a.rstyle,"labelAngle",n):y.pfValue,G=Math.cos(V),K=Math.sin(V),W=(M+P)/2,oe=(N+I)/2;if(!U){switch(g4(l.value)){case"left":W=P;break;case"right":W=M;break}switch(m4(u.value)){case"top":oe=I;break;case"bottom":oe=N;break}}var Z=function(He,ce){return He=He-W,ce=ce-oe,{x:He*G-ce*K+W,y:He*K+ce*G+oe}},J=Z(M,N),ne=Z(M,I),ie=Z(P,N),me=Z(P,I);M=Math.min(J.x,ne.x,ie.x,me.x),P=Math.max(J.x,ne.x,ie.x,me.x),N=Math.min(J.y,ne.y,ie.y,me.y),I=Math.max(J.y,ne.y,ie.y,me.y)}var te=B+"Rot",Re=F[te]=F[te]||{};Re.x1=M,Re.y1=N,Re.x2=P,Re.y2=I,Re.w=P-M,Re.h=I-N,ld(e,M,N,P,I),ld(a.labelBounds.all,M,N,P,I)}return e}},gme=function(e,r){if(!r.cy().headless()){var n=r.pstyle("outline-opacity").value,i=r.pstyle("outline-width").value,a=r.pstyle("outline-offset").value,s=i+a;rDe(e,r,n,s,"outside",s/2)}},rDe=function(e,r,n,i,a,s){if(!(n===0||i<=0||a==="inside")){var o=r.cy(),l=o.renderer(),u=l.nodeShapes[l.getNodeShape(r)];if(u){var d=r.position(),h=d.x,f=d.y,p=r.width(),g=r.height();if(u.hasMiterBounds){a==="center"&&(i/=2);var m=u.miterBounds(h,f,p,g,i);Xp(e,m)}else s!=null&&s>0&&gM(e,[s,s,s,s])}}},BQt=function(e,r){if(!r.cy().headless()){var n=r.pstyle("border-opacity").value,i=r.pstyle("border-width").pfValue,a=r.pstyle("border-position").value;rDe(e,r,n,i,a)}},$Qt=function(e,r){var n=e._private.cy,i=n.styleEnabled(),a=n.headless(),s=Gl(),o=e._private,l=e.isNode(),u=e.isEdge(),d,h,f,p,g,m,U=o.rstyle,y=l&&i?e.pstyle("bounds-expansion").pfValue:[0],b=function(_e){return _e.pstyle("display").value!=="none"},v=!i||b(e)&&(!u||b(e.source())&&b(e.target()));if(v){var w=0,T=0;i&&r.includeOverlays&&(w=e.pstyle("overlay-opacity").value,w!==0&&(T=e.pstyle("overlay-padding").value));var S=0,C=0;i&&r.includeUnderlays&&(S=e.pstyle("underlay-opacity").value,S!==0&&(C=e.pstyle("underlay-padding").value));var k=Math.max(T,C),E=0,A=0;if(i&&(E=e.pstyle("width").pfValue,A=E/2),l&&r.includeNodes){var M=e.position();g=M.x,m=M.y;var P=e.outerWidth(),N=P/2,I=e.outerHeight(),L=I/2;d=g-N,h=g+N,f=m-L,p=m+L,ld(s,d,f,h,p),i&&gme(s,e),i&&r.includeOutlines&&!a&&gme(s,e),i&&BQt(s,e)}else if(u&&r.includeEdges)if(i&&!a){var _=e.pstyle("curve-style").strValue;if(d=Math.min(U.srcX,U.midX,U.tgtX),h=Math.max(U.srcX,U.midX,U.tgtX),f=Math.min(U.srcY,U.midY,U.tgtY),p=Math.max(U.srcY,U.midY,U.tgtY),d-=A,h+=A,f-=A,p+=A,ld(s,d,f,h,p),_==="haystack"){var D=U.haystackPts;if(D&&D.length===2){if(d=D[0].x,f=D[0].y,h=D[1].x,p=D[1].y,d>h){var O=d;d=h,h=O}if(f>p){var B=f;f=p,p=B}ld(s,d-A,f-A,h+A,p+A)}}else if(_==="bezier"||_==="unbundled-bezier"||gg(_,"segments")||gg(_,"taxi")){var F;switch(_){case"bezier":case"unbundled-bezier":F=U.bezierPts;break;case"segments":case"taxi":case"round-segments":case"round-taxi":F=U.linePts;break}if(F!=null)for(var z=0;z<F.length;z++){var $=F[z];d=$.x-A,h=$.x+A,f=$.y-A,p=$.y+A,ld(s,d,f,h,p)}}}else{var H=e.source(),V=H.position(),G=e.target(),K=G.position();if(d=V.x,h=K.x,f=V.y,p=K.y,d>h){var W=d;d=h,h=W}if(f>p){var oe=f;f=p,p=oe}d-=A,h+=A,f-=A,p+=A,ld(s,d,f,h,p)}if(i&&r.includeEdges&&u&&(VE(s,e,"mid-source"),VE(s,e,"mid-target"),VE(s,e,"source"),VE(s,e,"target")),i){var Z=e.pstyle("ghost").value==="yes";if(Z){var J=e.pstyle("ghost-offset-x").pfValue,ne=e.pstyle("ghost-offset-y").pfValue;ld(s,s.x1+J,s.y1+ne,s.x2+J,s.y2+ne)}}var ie=o.bodyBounds=o.bodyBounds||{};e1e(ie,s),gM(ie,y),pM(ie,1),i&&(d=s.x1,h=s.x2,f=s.y1,p=s.y2,ld(s,d-k,f-k,h+k,p+k));var me=o.overlayBounds=o.overlayBounds||{};e1e(me,s),gM(me,y),pM(me,1);var te=o.labelBounds=o.labelBounds||{};te.all!=null?bZt(te.all):te.all=Gl(),i&&r.includeLabels&&(r.includeMainLabels&&CH(s,e,null),u&&(r.includeSourceLabels&&CH(s,e,"source"),r.includeTargetLabels&&CH(s,e,"target")))}return s.x1=Ru(s.x1),s.y1=Ru(s.y1),s.x2=Ru(s.x2),s.y2=Ru(s.y2),s.w=Ru(s.x2-s.x1),s.h=Ru(s.y2-s.y1),s.w>0&&s.h>0&&v&&(gM(s,y),pM(s,1)),s},nDe=function(e){var r=0,n=function(s){return(s?1:0)<<r++},i=0;return i+=n(e.incudeNodes),i+=n(e.includeEdges),i+=n(e.includeLabels),i+=n(e.includeMainLabels),i+=n(e.includeSourceLabels),i+=n(e.includeTargetLabels),i+=n(e.includeOverlays),i+=n(e.includeOutlines),i},iDe=function(e){var r=function(o){return Math.round(o)};if(e.isEdge()){var n=e.source().position(),i=e.target().position();return Yge([r(n.x),r(n.y),r(i.x),r(i.y)])}else{var a=e.position();return Yge([r(a.x),r(a.y)])}},mme=function(e,r){var n=e._private,i,a=e.isEdge(),s=r==null?Ume:nDe(r),o=s===Ume;if(n.bbCache==null?(i=$Qt(e,JT),n.bbCache=i,n.bbCachePosKey=iDe(e)):i=n.bbCache,!o){var l=e.isNode();i=Gl(),(r.includeNodes&&l||r.includeEdges&&!l)&&(r.includeOverlays?Xp(i,n.overlayBounds):Xp(i,n.bodyBounds)),r.includeLabels&&(r.includeMainLabels&&(!a||r.includeSourceLabels&&r.includeTargetLabels)?Xp(i,n.labelBounds.all):(r.includeMainLabels&&Xp(i,n.labelBounds.mainRot),r.includeSourceLabels&&Xp(i,n.labelBounds.sourceRot),r.includeTargetLabels&&Xp(i,n.labelBounds.targetRot))),i.w=i.x2-i.x1,i.h=i.y2-i.y1}return i},JT={includeNodes:!0,includeEdges:!0,includeLabels:!0,includeMainLabels:!0,includeSourceLabels:!0,includeTargetLabels:!0,includeOverlays:!0,includeUnderlays:!0,includeOutlines:!0,useCache:!0},Ume=nDe(JT),yme=_o(JT);N1.boundingBox=function(t){var e,r=t===void 0||t.useCache===void 0||t.useCache===!0,n=h4(function(d){var h=d._private;return h.bbCache==null||h.styleDirty||h.bbCachePosKey!==iDe(d)},function(d){return d.id()});if(r&&this.length===1&&!n(this[0]))t===void 0?t=JT:t=yme(t),e=mme(this[0],t);else{e=Gl(),t=t||JT;var i=yme(t),a=this,s=a.cy(),o=s.styleEnabled();this.edges().forEach(n),this.nodes().forEach(n),o&&this.recalculateRenderedStyle(r),this.updateCompoundBounds(!r);for(var l=0;l<a.length;l++){var u=a[l];n(u)&&u.dirtyBoundingBoxCache(),Xp(e,mme(u,i))}}return e.x1=Ru(e.x1),e.y1=Ru(e.y1),e.x2=Ru(e.x2),e.y2=Ru(e.y2),e.w=Ru(e.x2-e.x1),e.h=Ru(e.y2-e.y1),e};N1.dirtyBoundingBoxCache=function(){for(var t=0;t<this.length;t++){var e=this[t]._private;e.bbCache=null,e.bbCachePosKey=null,e.bodyBounds=null,e.overlayBounds=null,e.labelBounds.all=null,e.labelBounds.source=null,e.labelBounds.target=null,e.labelBounds.main=null,e.labelBounds.sourceRot=null,e.labelBounds.targetRot=null,e.labelBounds.mainRot=null,e.arrowBounds.source=null,e.arrowBounds.target=null,e.arrowBounds["mid-source"]=null,e.arrowBounds["mid-target"]=null}return this.emitAndNotify("bounds"),this};N1.boundingBoxAt=function(t){var e=this.nodes(),r=this.cy(),n=r.hasCompoundNodes(),i=r.collection();if(n&&(i=e.filter(function(u){return u.isParent()}),e=e.not(i)),ei(t)){var a=t;t=function(){return a}}var s=function(d,h){return d._private.bbAtOldPos=t(d,h)},o=function(d){return d._private.bbAtOldPos};r.startBatch(),e.forEach(s).silentPositions(t),n&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0));var l=yZt(this.boundingBox({useCache:!1}));return e.silentPositions(o),n&&(i.dirtyCompoundBoundsCache(),i.dirtyBoundingBoxCache(),i.updateCompoundBounds(!0)),r.endBatch(),l};Tb.boundingbox=Tb.bb=Tb.boundingBox;Tb.renderedBoundingbox=Tb.renderedBoundingBox;var FQt=N1,ax,MS;ax=MS={};var aDe=function(e){e.uppercaseName=Nge(e.name),e.autoName="auto"+e.uppercaseName,e.labelName="label"+e.uppercaseName,e.outerName="outer"+e.uppercaseName,e.uppercaseOuterName=Nge(e.outerName),ax[e.name]=function(){var n=this[0],i=n._private,a=i.cy,s=a._private.styleEnabled;if(n)if(s){if(n.isParent())return n.updateCompoundBounds(),i[e.autoName]||0;var o=n.pstyle(e.name);switch(o.strValue){case"label":return n.recalculateRenderedStyle(),i.rstyle[e.labelName]||0;default:return o.pfValue}}else return 1},ax["outer"+e.uppercaseName]=function(){var n=this[0],i=n._private,a=i.cy,s=a._private.styleEnabled;if(n)if(s){var o=n[e.name](),l=n.pstyle("border-position").value,u;l==="center"?u=n.pstyle("border-width").pfValue:l==="outside"?u=2*n.pstyle("border-width").pfValue:u=0;var d=2*n.padding();return o+u+d}else return 1},ax["rendered"+e.uppercaseName]=function(){var n=this[0];if(n){var i=n[e.name]();return i*this.cy().zoom()}},ax["rendered"+e.uppercaseOuterName]=function(){var n=this[0];if(n){var i=n[e.outerName]();return i*this.cy().zoom()}}};aDe({name:"width"});aDe({name:"height"});MS.padding=function(){var t=this[0],e=t._private;return t.isParent()?(t.updateCompoundBounds(),e.autoPadding!==void 0?e.autoPadding:t.pstyle("padding").pfValue):t.pstyle("padding").pfValue};MS.paddedHeight=function(){var t=this[0];return t.height()+2*t.padding()};MS.paddedWidth=function(){var t=this[0];return t.width()+2*t.padding()};var zQt=MS,HQt=function(e,r){if(e.isEdge()&&e.takesUpSpace())return r(e)},VQt=function(e,r){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy();return _P(r(e),n.zoom(),n.pan())}},GQt=function(e,r){if(e.isEdge()&&e.takesUpSpace()){var n=e.cy(),i=n.pan(),a=n.zoom();return r(e).map(function(s){return _P(s,a,i)})}},WQt=function(e){return e.renderer().getControlPoints(e)},qQt=function(e){return e.renderer().getSegmentPoints(e)},jQt=function(e){return e.renderer().getSourceEndpoint(e)},YQt=function(e){return e.renderer().getTargetEndpoint(e)},XQt=function(e){return e.renderer().getEdgeMidpoint(e)},bme={controlPoints:{get:WQt,mult:!0},segmentPoints:{get:qQt,mult:!0},sourceEndpoint:{get:jQt},targetEndpoint:{get:YQt},midpoint:{get:XQt}},KQt=function(e){return"rendered"+e[0].toUpperCase()+e.substr(1)},ZQt=Object.keys(bme).reduce(function(t,e){var r=bme[e],n=KQt(e);return t[e]=function(){return HQt(this,r.get)},r.mult?t[n]=function(){return GQt(this,r.get)}:t[n]=function(){return VQt(this,r.get)},t},{}),JQt=Gr({},PQt,FQt,zQt,ZQt);/*!
Event object based on jQuery events, MIT license
https://jquery.org/license/
https://tldrlegal.com/license/mit-license
https://github.com/jquery/jquery/blob/master/src/event.js
*/var sDe=function(e,r){this.recycle(e,r)};function s9(){return!1}function GE(){return!0}sDe.prototype={instanceString:function(){return"event"},recycle:function(e,r){if(this.isImmediatePropagationStopped=this.isPropagationStopped=this.isDefaultPrevented=s9,e!=null&&e.preventDefault?(this.type=e.type,this.isDefaultPrevented=e.defaultPrevented?GE:s9):e!=null&&e.type?r=e:this.type=e,r!=null&&(this.originalEvent=r.originalEvent,this.type=r.type!=null?r.type:this.type,this.cy=r.cy,this.target=r.target,this.position=r.position,this.renderedPosition=r.renderedPosition,this.namespace=r.namespace,this.layout=r.layout),this.cy!=null&&this.position!=null&&this.renderedPosition==null){var n=this.position,i=this.cy.zoom(),a=this.cy.pan();this.renderedPosition={x:n.x*i+a.x,y:n.y*i+a.y}}this.timeStamp=e&&e.timeStamp||Date.now()},preventDefault:function(){this.isDefaultPrevented=GE;var e=this.originalEvent;e&&e.preventDefault&&e.preventDefault()},stopPropagation:function(){this.isPropagationStopped=GE;var e=this.originalEvent;e&&e.stopPropagation&&e.stopPropagation()},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=GE,this.stopPropagation()},isDefaultPrevented:s9,isPropagationStopped:s9,isImmediatePropagationStopped:s9};var oDe=/^([^.]+)(\.(?:[^.]+))?$/,QQt=".*",lDe={qualifierCompare:function(e,r){return e===r},eventMatches:function(){return!0},addEventFields:function(){},callbackContext:function(e){return e},beforeEmit:function(){},afterEmit:function(){},bubble:function(){return!1},parent:function(){return null},context:null},vme=Object.keys(lDe),eer={};function GP(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:eer,e=arguments.length>1?arguments[1]:void 0,r=0;r<vme.length;r++){var n=vme[r];this[n]=t[n]||lDe[n]}this.context=e||this.context,this.listeners=[],this.emitting=0}var l1=GP.prototype,cDe=function(e,r,n,i,a,s,o){Sa(i)&&(a=i,i=null),o&&(s==null?s=o:s=Gr({},s,o));for(var l=Ii(n)?n:n.split(/\s+/),u=0;u<l.length;u++){var d=l[u];if(!n1(d)){var h=d.match(oDe);if(h){var f=h[1],p=h[2]?h[2]:null,g=r(e,d,f,p,i,a,s);if(g===!1)break}}}},xme=function(e,r){return e.addEventFields(e.context,r),new sDe(r.type,r)},ter=function(e,r,n){if(aKt(n)){r(e,n);return}else if(ei(n)){r(e,xme(e,n));return}for(var i=Ii(n)?n:n.split(/\s+/),a=0;a<i.length;a++){var s=i[a];if(!n1(s)){var o=s.match(oDe);if(o){var l=o[1],u=o[2]?o[2]:null,d=xme(e,{type:l,namespace:u,target:e.context});r(e,d)}}}};l1.on=l1.addListener=function(t,e,r,n,i){return cDe(this,function(a,s,o,l,u,d,h){Sa(d)&&a.listeners.push({event:s,callback:d,type:o,namespace:l,qualifier:u,conf:h})},t,e,r,n,i),this};l1.one=function(t,e,r,n){return this.on(t,e,r,n,{one:!0})};l1.removeListener=l1.off=function(t,e,r,n){var i=this;this.emitting!==0&&(this.listeners=zKt(this.listeners));for(var a=this.listeners,s=function(u){var d=a[u];cDe(i,function(h,f,p,g,m,U){if((d.type===p||t==="*")&&(!g&&d.namespace!==".*"||d.namespace===g)&&(!m||h.qualifierCompare(d.qualifier,m))&&(!U||d.callback===U))return a.splice(u,1),!1},t,e,r,n)},o=a.length-1;o>=0;o--)s(o);return this};l1.removeAllListeners=function(){return this.removeListener("*")};l1.emit=l1.trigger=function(t,e,r){var n=this.listeners,i=n.length;return this.emitting++,Ii(e)||(e=[e]),ter(this,function(a,s){r!=null&&(n=[{event:s.event,type:s.type,namespace:s.namespace,callback:r}],i=n.length);for(var o=function(){var d=n[l];if(d.type===s.type&&(!d.namespace||d.namespace===s.namespace||d.namespace===QQt)&&a.eventMatches(a.context,d,s)){var h=[s];e!=null&&VKt(h,e),a.beforeEmit(a.context,d,s),d.conf&&d.conf.one&&(a.listeners=a.listeners.filter(function(g){return g!==d}));var f=a.callbackContext(a.context,d,s),p=d.callback.apply(f,h);a.afterEmit(a.context,d,s),p===!1&&(s.stopPropagation(),s.preventDefault())}},l=0;l<i;l++)o();a.bubble(a.context)&&!s.isPropagationStopped()&&a.parent(a.context).emit(s,e)},t),this.emitting--,this};var rer={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&TS(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e.cy(),r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e},beforeEmit:function(e,r){r.conf&&r.conf.once&&r.conf.onceCollection.removeListener(r.event,r.qualifier,r.callback)},bubble:function(){return!0},parent:function(e){return e.isChild()?e.parent():e.cy()}},WE=function(e){return Or(e)?new s1(e):e},uDe={createEmitter:function(){for(var e=0;e<this.length;e++){var r=this[e],n=r._private;n.emitter||(n.emitter=new GP(rer,r))}return this},emitter:function(){return this._private.emitter},on:function(e,r,n){for(var i=WE(r),a=0;a<this.length;a++){var s=this[a];s.emitter().on(e,i,n)}return this},removeListener:function(e,r,n){for(var i=WE(r),a=0;a<this.length;a++){var s=this[a];s.emitter().removeListener(e,i,n)}return this},removeAllListeners:function(){for(var e=0;e<this.length;e++){var r=this[e];r.emitter().removeAllListeners()}return this},one:function(e,r,n){for(var i=WE(r),a=0;a<this.length;a++){var s=this[a];s.emitter().one(e,i,n)}return this},once:function(e,r,n){for(var i=WE(r),a=0;a<this.length;a++){var s=this[a];s.emitter().on(e,i,n,{once:!0,onceCollection:this})}},emit:function(e,r){for(var n=0;n<this.length;n++){var i=this[n];i.emitter().emit(e,r)}return this},emitAndNotify:function(e,r){if(this.length!==0)return this.cy().notify(e,this),this.emit(e,r),this}};bi.eventAliasesOn(uDe);var dDe={nodes:function(e){return this.filter(function(r){return r.isNode()}).filter(e)},edges:function(e){return this.filter(function(r){return r.isEdge()}).filter(e)},byGroup:function(){for(var e=this.spawn(),r=this.spawn(),n=0;n<this.length;n++){var i=this[n];i.isNode()?e.push(i):r.push(i)}return{nodes:e,edges:r}},filter:function(e,r){if(e===void 0)return this;if(Or(e)||Jc(e))return new s1(e).filter(this);if(Sa(e)){for(var n=this.spawn(),i=this,a=0;a<i.length;a++){var s=i[a],o=r?e.apply(r,[s,a,i]):e(s,a,i);o&&n.push(s)}return n}return this.spawn()},not:function(e){if(e){Or(e)&&(e=this.filter(e));for(var r=this.spawn(),n=0;n<this.length;n++){var i=this[n],a=e.has(i);a||r.push(i)}return r}else return this},absoluteComplement:function(){var e=this.cy();return e.mutableElements().not(this)},intersect:function(e){if(Or(e)){var r=e;return this.filter(r)}for(var n=this.spawn(),i=this,a=e,s=this.length<e.length,o=s?i:a,l=s?a:i,u=0;u<o.length;u++){var d=o[u];l.has(d)&&n.push(d)}return n},xor:function(e){var r=this._private.cy;Or(e)&&(e=r.$(e));var n=this.spawn(),i=this,a=e,s=function(l,u){for(var d=0;d<l.length;d++){var h=l[d],f=h._private.data.id,p=u.hasElementWithId(f);p||n.push(h)}};return s(i,a),s(a,i),n},diff:function(e){var r=this._private.cy;Or(e)&&(e=r.$(e));var n=this.spawn(),i=this.spawn(),a=this.spawn(),s=this,o=e,l=function(d,h,f){for(var p=0;p<d.length;p++){var g=d[p],m=g._private.data.id,U=h.hasElementWithId(m);U?a.merge(g):f.push(g)}};return l(s,o,n),l(o,s,i),{left:n,right:i,both:a}},add:function(e){var r=this._private.cy;if(!e)return this;if(Or(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=this.spawnSelf(),a=0;a<e.length;a++){var s=e[a],o=!this.has(s);o&&i.push(s)}return i},merge:function(e){var r=this._private,n=r.cy;if(!e)return this;if(e&&Or(e)){var i=e;e=n.mutableElements().filter(i)}for(var a=r.map,s=0;s<e.length;s++){var o=e[s],l=o._private.data.id,u=!a.has(l);if(u){var d=this.length++;this[d]=o,a.set(l,{ele:o,index:d})}}return this},unmergeAt:function(e){var r=this[e],n=r.id(),i=this._private,a=i.map;this[e]=void 0,a.delete(n);var s=e===this.length-1;if(this.length>1&&!s){var o=this.length-1,l=this[o],u=l._private.data.id;this[o]=void 0,this[e]=l,a.set(u,{ele:l,index:e})}return this.length--,this},unmergeOne:function(e){e=e[0];var r=this._private,n=e._private.data.id,i=r.map,a=i.get(n);if(!a)return this;var s=a.index;return this.unmergeAt(s),this},unmerge:function(e){var r=this._private.cy;if(!e)return this;if(e&&Or(e)){var n=e;e=r.mutableElements().filter(n)}for(var i=0;i<e.length;i++)this.unmergeOne(e[i]);return this},unmergeBy:function(e){for(var r=this.length-1;r>=0;r--){var n=this[r];e(n)&&this.unmergeAt(r)}return this},map:function(e,r){for(var n=[],i=this,a=0;a<i.length;a++){var s=i[a],o=r?e.apply(r,[s,a,i]):e(s,a,i);n.push(o)}return n},reduce:function(e,r){for(var n=r,i=this,a=0;a<i.length;a++)n=e(n,i[a],a,i);return n},max:function(e,r){for(var n=-1/0,i,a=this,s=0;s<a.length;s++){var o=a[s],l=r?e.apply(r,[o,s,a]):e(o,s,a);l>n&&(n=l,i=o)}return{value:n,ele:i}},min:function(e,r){for(var n=1/0,i,a=this,s=0;s<a.length;s++){var o=a[s],l=r?e.apply(r,[o,s,a]):e(o,s,a);l<n&&(n=l,i=o)}return{value:n,ele:i}}},si=dDe;si.u=si["|"]=si["+"]=si.union=si.or=si.add;si["\\"]=si["!"]=si["-"]=si.difference=si.relativeComplement=si.subtract=si.not;si.n=si["&"]=si["."]=si.and=si.intersection=si.intersect;si["^"]=si["(+)"]=si["(-)"]=si.symmetricDifference=si.symdiff=si.xor;si.fnFilter=si.filterFn=si.stdFilter=si.filter;si.complement=si.abscomp=si.absoluteComplement;var ner={isNode:function(){return this.group()==="nodes"},isEdge:function(){return this.group()==="edges"},isLoop:function(){return this.isEdge()&&this.source()[0]===this.target()[0]},isSimple:function(){return this.isEdge()&&this.source()[0]!==this.target()[0]},group:function(){var e=this[0];if(e)return e._private.group}},hDe=function(e,r){var n=e.cy(),i=n.hasCompoundNodes();function a(d){var h=d.pstyle("z-compound-depth");return h.value==="auto"?i?d.zDepth():0:h.value==="bottom"?-1:h.value==="top"?Ure:0}var s=a(e)-a(r);if(s!==0)return s;function o(d){var h=d.pstyle("z-index-compare");return h.value==="auto"&&d.isNode()?1:0}var l=o(e)-o(r);if(l!==0)return l;var u=e.pstyle("z-index").value-r.pstyle("z-index").value;return u!==0?u:e.poolIndex()-r.poolIndex()},aN={forEach:function(e,r){if(Sa(e))for(var n=this.length,i=0;i<n;i++){var a=this[i],s=r?e.apply(r,[a,i,this]):e(a,i,this);if(s===!1)break}return this},toArray:function(){for(var e=[],r=0;r<this.length;r++)e.push(this[r]);return e},slice:function(e,r){var n=[],i=this.length;r==null&&(r=i),e==null&&(e=0),e<0&&(e=i+e),r<0&&(r=i+r);for(var a=e;a>=0&&a<r&&a<i;a++)n.push(this[a]);return this.spawn(n)},size:function(){return this.length},eq:function(e){return this[e]||this.spawn()},first:function(){return this[0]||this.spawn()},last:function(){return this[this.length-1]||this.spawn()},empty:function(){return this.length===0},nonempty:function(){return!this.empty()},sort:function(e){if(!Sa(e))return this;var r=this.toArray().sort(e);return this.spawn(r)},sortByZIndex:function(){return this.sort(hDe)},zDepth:function(){var e=this[0];if(e){var r=e._private,n=r.group;if(n==="nodes"){var i=r.data.parent?e.parents().size():0;return e.isParent()?i:Ure-1}else{var a=r.source,s=r.target,o=a.zDepth(),l=s.zDepth();return Math.max(o,l,0)}}}};aN.each=aN.forEach;var ier=function(){var e="undefined",r=(typeof Symbol>"u"?"undefined":Fs(Symbol))!=e&&Fs(Symbol.iterator)!=e;r&&(aN[Symbol.iterator]=function(){var n=this,i={value:void 0,done:!1},a=0,s=this.length;return lOe({next:function(){return a<s?i.value=n[a++]:(i.value=void 0,i.done=!0),i}},Symbol.iterator,function(){return this})})};ier();var aer=_o({nodeDimensionsIncludeLabels:!1}),UM={layoutDimensions:function(e){e=aer(e);var r;if(!this.takesUpSpace())r={w:0,h:0};else if(e.nodeDimensionsIncludeLabels){var n=this.boundingBox();r={w:n.w,h:n.h}}else r={w:this.outerWidth(),h:this.outerHeight()};return(r.w===0||r.h===0)&&(r.w=r.h=1),r},layoutPositions:function(e,r,n){var i=this.nodes().filter(function(T){return!T.isParent()}),a=this.cy(),s=r.eles,o=function(S){return S.id()},l=h4(n,o);e.emit({type:"layoutstart",layout:e}),e.animations=[];var u=function(S,C,k){var E={x:C.x1+C.w/2,y:C.y1+C.h/2},A={x:(k.x-E.x)*S,y:(k.y-E.y)*S};return{x:E.x+A.x,y:E.y+A.y}},d=r.spacingFactor&&r.spacingFactor!==1,h=function(){if(!d)return null;for(var S=Gl(),C=0;C<i.length;C++){var k=i[C],E=l(k,C);ROe(S,E.x,E.y)}return S},f=h(),p=h4(function(T,S){var C=l(T,S);if(d){var k=Math.abs(r.spacingFactor);C=u(k,f,C)}return r.transform!=null&&(C=r.transform(T,C)),C},o);if(r.animate){for(var g=0;g<i.length;g++){var m=i[g],U=p(m,g),y=r.animateFilter==null||r.animateFilter(m,g);if(y){var b=m.animation({position:U,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(b)}else m.position(U)}if(r.fit){var v=a.animation({fit:{boundingBox:s.boundingBoxAt(p),padding:r.padding},duration:r.animationDuration,easing:r.animationEasing});e.animations.push(v)}else if(r.zoom!==void 0&&r.pan!==void 0){var w=a.animation({zoom:r.zoom,pan:r.pan,duration:r.animationDuration,easing:r.animationEasing});e.animations.push(w)}e.animations.forEach(function(T){return T.play()}),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),f3.all(e.animations.map(function(T){return T.promise()})).then(function(){e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e})})}else i.positions(p),r.fit&&a.fit(r.eles,r.padding),r.zoom!=null&&a.zoom(r.zoom),r.pan&&a.pan(r.pan),e.one("layoutready",r.ready),e.emit({type:"layoutready",layout:e}),e.one("layoutstop",r.stop),e.emit({type:"layoutstop",layout:e});return this},layout:function(e){var r=this.cy();return r.makeLayout(Gr({},e,{eles:this}))}};UM.createLayout=UM.makeLayout=UM.layout;function fDe(t,e,r){var n=r._private,i=n.styleCache=n.styleCache||[],a;return(a=i[t])!=null||(a=i[t]=e(r)),a}function WP(t,e){return t=l5(t),function(n){return fDe(t,e,n)}}function qP(t,e){t=l5(t);var r=function(i){return e.call(i)};return function(){var i=this[0];if(i)return fDe(t,r,i)}}var Lo={recalculateRenderedStyle:function(e){var r=this.cy(),n=r.renderer(),i=r.styleEnabled();return n&&i&&n.recalculateRenderedStyle(this,e),this},dirtyStyleCache:function(){var e=this.cy(),r=function(a){return a._private.styleCache=null};if(e.hasCompoundNodes()){var n;n=this.spawnSelf().merge(this.descendants()).merge(this.parents()),n.merge(n.connectedEdges()),n.forEach(r)}else this.forEach(function(i){r(i),i.connectedEdges().forEach(r)});return this},updateStyle:function(e){var r=this._private.cy;if(!r.styleEnabled())return this;if(r.batching()){var n=r._private.batchStyleEles;return n.merge(this),this}var i=r.hasCompoundNodes(),a=this;e=!!(e||e===void 0),i&&(a=this.spawnSelf().merge(this.descendants()).merge(this.parents()));var s=a;return e?s.emitAndNotify("style"):s.emit("style"),a.forEach(function(o){return o._private.styleDirty=!0}),this},cleanStyle:function(){var e=this.cy();if(e.styleEnabled())for(var r=0;r<this.length;r++){var n=this[r];n._private.styleDirty&&(n._private.styleDirty=!1,e.style().apply(n))}},parsedStyle:function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,n=this[0],i=n.cy();if(i.styleEnabled()&&n){n._private.styleDirty&&(n._private.styleDirty=!1,i.style().apply(n));var a=n._private.style[e];return a??(r?i.style().getDefaultProperty(e):null)}},numericStyle:function(e){var r=this[0];if(r.cy().styleEnabled()&&r){var n=r.pstyle(e);return n.pfValue!==void 0?n.pfValue:n.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 n=this[0];if(n)return r.style().getRenderedStyle(n,e)},style:function(e,r){var n=this.cy();if(!n.styleEnabled())return this;var i=!1,a=n.style();if(ei(e)){var s=e;a.applyBypass(this,s,i),this.emitAndNotify("style")}else if(Or(e))if(r===void 0){var o=this[0];return o?a.getStylePropertyValue(o,e):void 0}else a.applyBypass(this,e,r,i),this.emitAndNotify("style");else if(e===void 0){var l=this[0];return l?a.getRawStyle(l):void 0}return this},removeStyle:function(e){var r=this.cy();if(!r.styleEnabled())return this;var n=!1,i=r.style(),a=this;if(e===void 0)for(var s=0;s<a.length;s++){var o=a[s];i.removeAllBypasses(o,n)}else{e=e.split(/\s+/);for(var l=0;l<a.length;l++){var u=a[l];i.removeBypasses(u,e,n)}}return this.emitAndNotify("style"),this},show:function(){return this.css("display","element"),this},hide:function(){return this.css("display","none"),this},effectiveOpacity:function(){var e=this.cy();if(!e.styleEnabled())return 1;var r=e.hasCompoundNodes(),n=this[0];if(n){var i=n._private,a=n.pstyle("opacity").value;if(!r)return a;var s=i.data.parent?n.parents():null;if(s)for(var o=0;o<s.length;o++){var l=s[o],u=l.pstyle("opacity").value;a=u*a}return a}},transparent:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0],n=r.cy().hasCompoundNodes();if(r)return n?r.effectiveOpacity()===0:r.pstyle("opacity").value===0},backgrounding:function(){var e=this.cy();if(!e.styleEnabled())return!1;var r=this[0];return!!r._private.backgrounding}};function SH(t,e){var r=t._private,n=r.data.parent?t.parents():null;if(n)for(var i=0;i<n.length;i++){var a=n[i];if(!e(a))return!1}return!0}function Mre(t){var e=t.ok,r=t.edgeOkViaNode||t.ok,n=t.parentOk||t.ok;return function(){var i=this.cy();if(!i.styleEnabled())return!0;var a=this[0],s=i.hasCompoundNodes();if(a){var o=a._private;if(!e(a))return!1;if(a.isNode())return!s||SH(a,n);var l=o.source,u=o.target;return r(l)&&(!s||SH(l,r))&&(l===u||r(u)&&(!s||SH(u,r)))}}}var p3=WP("eleTakesUpSpace",function(t){return t.pstyle("display").value==="element"&&t.width()!==0&&(t.isNode()?t.height()!==0:!0)});Lo.takesUpSpace=qP("takesUpSpace",Mre({ok:p3}));var ser=WP("eleInteractive",function(t){return t.pstyle("events").value==="yes"&&t.pstyle("visibility").value==="visible"&&p3(t)}),oer=WP("parentInteractive",function(t){return t.pstyle("visibility").value==="visible"&&p3(t)});Lo.interactive=qP("interactive",Mre({ok:ser,parentOk:oer,edgeOkViaNode:p3}));Lo.noninteractive=function(){var t=this[0];if(t)return!t.interactive()};var ler=WP("eleVisible",function(t){return t.pstyle("visibility").value==="visible"&&t.pstyle("opacity").pfValue!==0&&p3(t)}),cer=p3;Lo.visible=qP("visible",Mre({ok:ler,edgeOkViaNode:cer}));Lo.hidden=function(){var t=this[0];if(t)return!t.visible()};Lo.isBundledBezier=qP("isBundledBezier",function(){return this.cy().styleEnabled()?!this.removed()&&this.pstyle("curve-style").value==="bezier"&&this.takesUpSpace():!1});Lo.bypass=Lo.css=Lo.style;Lo.renderedCss=Lo.renderedStyle;Lo.removeBypass=Lo.removeCss=Lo.removeStyle;Lo.pstyle=Lo.parsedStyle;var Mg={};function wme(t){return function(){var e=arguments,r=[];if(e.length===2){var n=e[0],i=e[1];this.on(t.event,n,i)}else if(e.length===1&&Sa(e[0])){var a=e[0];this.on(t.event,a)}else if(e.length===0||e.length===1&&Ii(e[0])){for(var s=e.length===1?e[0]:null,o=0;o<this.length;o++){var l=this[o],u=!t.ableField||l._private[t.ableField],d=l._private[t.field]!=t.value;if(t.overrideAble){var h=t.overrideAble(l);if(h!==void 0&&(u=h,!h))return this}u&&(l._private[t.field]=t.value,d&&r.push(l))}var f=this.spawn(r);f.updateStyle(),f.emit(t.event),s&&f.emit(s)}return this}}function g3(t){Mg[t.field]=function(){var e=this[0];if(e){if(t.overrideField){var r=t.overrideField(e);if(r!==void 0)return r}return e._private[t.field]}},Mg[t.on]=wme({event:t.on,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!0}),Mg[t.off]=wme({event:t.off,field:t.field,ableField:t.ableField,overrideAble:t.overrideAble,value:!1})}g3({field:"locked",overrideField:function(e){return e.cy().autolock()?!0:void 0},on:"lock",off:"unlock"});g3({field:"grabbable",overrideField:function(e){return e.cy().autoungrabify()||e.pannable()?!1:void 0},on:"grabify",off:"ungrabify"});g3({field:"selected",ableField:"selectable",overrideAble:function(e){return e.cy().autounselectify()?!1:void 0},on:"select",off:"unselect"});g3({field:"selectable",overrideField:function(e){return e.cy().autounselectify()?!1:void 0},on:"selectify",off:"unselectify"});Mg.deselect=Mg.unselect;Mg.grabbed=function(){var t=this[0];if(t)return t._private.grabbed};g3({field:"active",on:"activate",off:"unactivate"});g3({field:"pannable",on:"panify",off:"unpanify"});Mg.inactive=function(){var t=this[0];if(t)return!t._private.active};var nl={},Tme=function(e){return function(n){for(var i=this,a=[],s=0;s<i.length;s++){var o=i[s];if(o.isNode()){for(var l=!1,u=o.connectedEdges(),d=0;d<u.length;d++){var h=u[d],f=h.source(),p=h.target();if(e.noIncomingEdges&&p===o&&f!==o||e.noOutgoingEdges&&f===o&&p!==o){l=!0;break}}l||a.push(o)}}return this.spawn(a,!0).filter(n)}},Cme=function(e){return function(r){for(var n=this,i=[],a=0;a<n.length;a++){var s=n[a];if(s.isNode())for(var o=s.connectedEdges(),l=0;l<o.length;l++){var u=o[l],d=u.source(),h=u.target();e.outgoing&&d===s?(i.push(u),i.push(h)):e.incoming&&h===s&&(i.push(u),i.push(d))}}return this.spawn(i,!0).filter(r)}},Sme=function(e){return function(r){for(var n=this,i=[],a={};;){var s=e.outgoing?n.outgoers():n.incomers();if(s.length===0)break;for(var o=!1,l=0;l<s.length;l++){var u=s[l],d=u.id();a[d]||(a[d]=!0,i.push(u),o=!0)}if(!o)break;n=s}return this.spawn(i,!0).filter(r)}};nl.clearTraversalCache=function(){for(var t=0;t<this.length;t++)this[t]._private.traversalCache=null};Gr(nl,{roots:Tme({noIncomingEdges:!0}),leaves:Tme({noOutgoingEdges:!0}),outgoers:Pu(Cme({outgoing:!0}),"outgoers"),successors:Sme({outgoing:!0}),incomers:Pu(Cme({incoming:!0}),"incomers"),predecessors:Sme({})});Gr(nl,{neighborhood:Pu(function(t){for(var e=[],r=this.nodes(),n=0;n<r.length;n++)for(var i=r[n],a=i.connectedEdges(),s=0;s<a.length;s++){var o=a[s],l=o.source(),u=o.target(),d=i===l?u:l;d.length>0&&e.push(d[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)}});nl.neighbourhood=nl.neighborhood;nl.closedNeighbourhood=nl.closedNeighborhood;nl.openNeighbourhood=nl.openNeighborhood;Gr(nl,{source:Pu(function(e){var r=this[0],n;return r&&(n=r._private.source||r.cy().collection()),n&&e?n.filter(e):n},"source"),target:Pu(function(e){var r=this[0],n;return r&&(n=r._private.target||r.cy().collection()),n&&e?n.filter(e):n},"target"),sources:kme({attr:"source"}),targets:kme({attr:"target"})});function kme(t){return function(r){for(var n=[],i=0;i<this.length;i++){var a=this[i],s=a._private[t.attr];s&&n.push(s)}return this.spawn(n,!0).filter(r)}}Gr(nl,{edgesWith:Pu(Eme(),"edgesWith"),edgesTo:Pu(Eme({thisIsSrc:!0}),"edgesTo")});function Eme(t){return function(r){var n=[],i=this._private.cy,a=t||{};Or(r)&&(r=i.$(r));for(var s=0;s<r.length;s++)for(var o=r[s]._private.edges,l=0;l<o.length;l++){var u=o[l],d=u._private.data,h=this.hasElementWithId(d.source)&&r.hasElementWithId(d.target),f=r.hasElementWithId(d.source)&&this.hasElementWithId(d.target),p=h||f;p&&((a.thisIsSrc||a.thisIsTgt)&&(a.thisIsSrc&&!h||a.thisIsTgt&&!f)||n.push(u))}return this.spawn(n,!0)}}Gr(nl,{connectedEdges:Pu(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var i=r[n];if(i.isNode())for(var a=i._private.edges,s=0;s<a.length;s++){var o=a[s];e.push(o)}}return this.spawn(e,!0).filter(t)},"connectedEdges"),connectedNodes:Pu(function(t){for(var e=[],r=this,n=0;n<r.length;n++){var i=r[n];i.isEdge()&&(e.push(i.source()[0]),e.push(i.target()[0]))}return this.spawn(e,!0).filter(t)},"connectedNodes"),parallelEdges:Pu(Ame(),"parallelEdges"),codirectedEdges:Pu(Ame({codirected:!0}),"codirectedEdges")});function Ame(t){var e={codirected:!1};return t=Gr({},e,t),function(n){for(var i=[],a=this.edges(),s=t,o=0;o<a.length;o++)for(var l=a[o],u=l._private,d=u.source,h=d._private.data.id,f=u.data.target,p=d._private.edges,g=0;g<p.length;g++){var m=p[g],U=m._private.data,y=U.target,b=U.source,v=y===f&&b===h,w=h===y&&f===b;(s.codirected&&v||!s.codirected&&(v||w))&&i.push(m)}return this.spawn(i,!0).filter(n)}}Gr(nl,{components:function(e){var r=this,n=r.cy(),i=n.collection(),a=e==null?r.nodes():e.nodes(),s=[];e!=null&&a.empty()&&(a=e.sources());var o=function(d,h){i.merge(d),a.unmerge(d),h.merge(d)};if(a.empty())return r.spawn();var l=function(){var d=n.collection();s.push(d);var h=a[0];o(h,d),r.bfs({directed:!1,roots:h,visit:function(p){return o(p,d)}}),d.forEach(function(f){f.connectedEdges().forEach(function(p){r.has(p)&&d.has(p.source())&&d.has(p.target())&&d.merge(p)})})};do l();while(a.length>0);return s},component:function(){var e=this[0];return e.cy().mutableElements().components(e)[0]}});nl.componentsOf=nl.components;var No=function(e,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(e===void 0){ca("A collection must have a reference to the core");return}var a=new u0,s=!1;if(!r)r=[];else if(r.length>0&&ei(r[0])&&!TS(r[0])){s=!0;for(var o=[],l=new h3,u=0,d=r.length;u<d;u++){var h=r[u];h.data==null&&(h.data={});var f=h.data;if(f.id==null)f.id=kOe();else if(e.hasElementWithId(f.id)||l.has(f.id))continue;var p=new PP(e,h,!1);o.push(p),l.add(f.id)}r=o}this.length=0;for(var g=0,m=r.length;g<m;g++){var U=r[g][0];if(U!=null){var y=U._private.data.id;(!n||!a.has(y))&&(n&&a.set(y,{index:this.length,ele:U}),this[this.length]=U,this.length++)}}this._private={eles:this,cy:e,get map(){return this.lazyMap==null&&this.rebuildMap(),this.lazyMap},set map(b){this.lazyMap=b},rebuildMap:function(){for(var v=this.lazyMap=new u0,w=this.eles,T=0;T<w.length;T++){var S=w[T];v.set(S.id(),{index:T,ele:S})}}},n&&(this._private.map=a),s&&!i&&this.restore()},ji=PP.prototype=No.prototype=Object.create(Array.prototype);ji.instanceString=function(){return"collection"};ji.spawn=function(t,e){return new No(this.cy(),t,e)};ji.spawnSelf=function(){return this.spawn(this)};ji.cy=function(){return this._private.cy};ji.renderer=function(){return this._private.cy.renderer()};ji.element=function(){return this[0]};ji.collection=function(){return hOe(this)?this:new No(this._private.cy,[this])};ji.unique=function(){return new No(this._private.cy,this,!0)};ji.hasElementWithId=function(t){return t=""+t,this._private.map.has(t)};ji.getElementById=function(t){t=""+t;var e=this._private.cy,r=this._private.map.get(t);return r?r.ele:new No(e)};ji.$id=ji.getElementById;ji.poolIndex=function(){var t=this._private.cy,e=t._private.elements,r=this[0]._private.data.id;return e._private.map.get(r).index};ji.indexOf=function(t){var e=t[0]._private.data.id;return this._private.map.get(e).index};ji.indexOfId=function(t){return t=""+t,this._private.map.get(t).index};ji.json=function(t){var e=this.element(),r=this.cy();if(e==null&&t)return this;if(e!=null){var n=e._private;if(ei(t)){if(r.startBatch(),t.data){e.data(t.data);var i=n.data;if(e.isEdge()){var a=!1,s={},o=t.data.source,l=t.data.target;o!=null&&o!=i.source&&(s.source=""+o,a=!0),l!=null&&l!=i.target&&(s.target=""+l,a=!0),a&&(e=e.move(s))}else{var u="parent"in t.data,d=t.data.parent;u&&(d!=null||i.parent!=null)&&d!=i.parent&&(d===void 0&&(d=null),d!=null&&(d=""+d),e=e.move({parent:d}))}}t.position&&e.position(t.position);var h=function(m,U,y){var b=t[m];b!=null&&b!==n[m]&&(b?e[U]():e[y]())};return h("removed","remove","restore"),h("selected","select","unselect"),h("selectable","selectify","unselectify"),h("locked","lock","unlock"),h("grabbable","grabify","ungrabify"),h("pannable","panify","unpanify"),t.classes!=null&&e.classes(t.classes),r.endBatch(),this}else if(t===void 0){var f={data:Nh(n.data),position:Nh(n.position),group:n.group,removed:n.removed,selected:n.selected,selectable:n.selectable,locked:n.locked,grabbable:n.grabbable,pannable:n.pannable,classes:null};f.classes="";var p=0;return n.classes.forEach(function(g){return f.classes+=p++===0?g:" "+g}),f}}};ji.jsons=function(){for(var t=[],e=0;e<this.length;e++){var r=this[e],n=r.json();t.push(n)}return t};ji.clone=function(){for(var t=this.cy(),e=[],r=0;r<this.length;r++){var n=this[r],i=n.json(),a=new PP(t,i,!1);e.push(a)}return new No(t,e)};ji.copy=ji.clone;ji.restore=function(){for(var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=r.cy(),i=n._private,a=[],s=[],o,l=0,u=r.length;l<u;l++){var d=r[l];e&&!d.removed()||(d.isNode()?a.push(d):s.push(d))}o=a.concat(s);var h,f=function(){o.splice(h,1),h--};for(h=0;h<o.length;h++){var p=o[h],g=p._private,m=g.data;if(p.clearTraversalCache(),!(!e&&!g.removed)){if(m.id===void 0)m.id=kOe();else if(Jt(m.id))m.id=""+m.id;else if(n1(m.id)||!Or(m.id)){ca("Can not create element with invalid string ID `"+m.id+"`"),f();continue}else if(n.hasElementWithId(m.id)){ca("Can not create second element with ID `"+m.id+"`"),f();continue}}var U=m.id;if(p.isNode()){var y=g.position;y.x==null&&(y.x=0),y.y==null&&(y.y=0)}if(p.isEdge()){for(var b=p,v=["source","target"],w=v.length,T=!1,S=0;S<w;S++){var C=v[S],k=m[C];Jt(k)&&(k=m[C]=""+m[C]),k==null||k===""?(ca("Can not create edge `"+U+"` with unspecified "+C),T=!0):n.hasElementWithId(k)||(ca("Can not create edge `"+U+"` with nonexistent "+C+" `"+k+"`"),T=!0)}if(T){f();continue}var E=n.getElementById(m.source),A=n.getElementById(m.target);E.same(A)?E._private.edges.push(b):(E._private.edges.push(b),A._private.edges.push(b)),b._private.source=E,b._private.target=A}g.map=new u0,g.map.set(U,{ele:p,index:0}),g.removed=!1,e&&n.addToPool(p)}for(var M=0;M<a.length;M++){var P=a[M],N=P._private.data;Jt(N.parent)&&(N.parent=""+N.parent);var I=N.parent,L=I!=null;if(L||P._private.parent){var _=P._private.parent?n.collection().merge(P._private.parent):n.getElementById(I);if(_.empty())N.parent=void 0;else if(_[0].removed())xi("Node added with missing parent, reference to parent removed"),N.parent=void 0,P._private.parent=null;else{for(var D=!1,O=_;!O.empty();){if(P.same(O)){D=!0,N.parent=void 0;break}O=O.parent()}D||(_[0]._private.children.push(P),P._private.parent=_[0],i.hasCompoundNodes=!0)}}}if(o.length>0){for(var B=o.length===r.length?r:new No(n,o),F=0;F<B.length;F++){var z=B[F];z.isNode()||(z.parallelEdges().clearTraversalCache(),z.source().clearTraversalCache(),z.target().clearTraversalCache())}var $;i.hasCompoundNodes?$=n.collection().merge(B).merge(B.connectedNodes()).merge(B.parent()):$=B,$.dirtyCompoundBoundsCache().dirtyBoundingBoxCache().updateStyle(t),t?B.emitAndNotify("add"):e&&B.emit("add")}return r};ji.removed=function(){var t=this[0];return t&&t._private.removed};ji.inside=function(){var t=this[0];return t&&!t._private.removed};ji.remove=function(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,r=this,n=[],i={},a=r._private.cy;function s(I){for(var L=I._private.edges,_=0;_<L.length;_++)l(L[_])}function o(I){for(var L=I._private.children,_=0;_<L.length;_++)l(L[_])}function l(I){var L=i[I.id()];e&&I.removed()||L||(i[I.id()]=!0,I.isNode()?(n.push(I),s(I),o(I)):n.unshift(I))}for(var u=0,d=r.length;u<d;u++){var h=r[u];l(h)}function f(I,L){var _=I._private.edges;i1(_,L),I.clearTraversalCache()}function p(I){I.clearTraversalCache()}var g=[];g.ids={};function m(I,L){L=L[0],I=I[0];var _=I._private.children,D=I.id();i1(_,L),L._private.parent=null,g.ids[D]||(g.ids[D]=!0,g.push(I))}r.dirtyCompoundBoundsCache(),e&&a.removeFromPool(n);for(var U=0;U<n.length;U++){var y=n[U];if(y.isEdge()){var b=y.source()[0],v=y.target()[0];f(b,y),f(v,y);for(var w=y.parallelEdges(),T=0;T<w.length;T++){var S=w[T];p(S),S.isBundledBezier()&&S.dirtyBoundingBoxCache()}}else{var C=y.parent();C.length!==0&&m(C,y)}e&&(y._private.removed=!0)}var k=a._private.elements;a._private.hasCompoundNodes=!1;for(var E=0;E<k.length;E++){var A=k[E];if(A.isParent()){a._private.hasCompoundNodes=!0;break}}var M=new No(this.cy(),n);M.size()>0&&(t?M.emitAndNotify("remove"):e&&M.emit("remove"));for(var P=0;P<g.length;P++){var N=g[P];(!e||!N.removed())&&N.updateStyle()}return M};ji.move=function(t){var e=this._private.cy,r=this,n=!1,i=!1,a=function(g){return g==null?g:""+g};if(t.source!==void 0||t.target!==void 0){var s=a(t.source),o=a(t.target),l=s!=null&&e.hasElementWithId(s),u=o!=null&&e.hasElementWithId(o);(l||u)&&(e.batch(function(){r.remove(n,i),r.emitAndNotify("moveout");for(var p=0;p<r.length;p++){var g=r[p],m=g._private.data;g.isEdge()&&(l&&(m.source=s),u&&(m.target=o))}r.restore(n,i)}),r.emitAndNotify("move"))}else if(t.parent!==void 0){var d=a(t.parent),h=d===null||e.hasElementWithId(d);if(h){var f=d===null?void 0:d;e.batch(function(){var p=r.remove(n,i);p.emitAndNotify("moveout");for(var g=0;g<r.length;g++){var m=r[g],U=m._private.data;m.isNode()&&(U.parent=f)}p.restore(n,i)}),r.emitAndNotify("move")}}return this};[$Oe,bQt,mM,Ag,p4,DQt,VP,JQt,uDe,dDe,ner,aN,UM,Lo,Mg,nl].forEach(function(t){Gr(ji,t)});var uer={add:function(e){var r,n=this;if(Jc(e)){var i=e;if(i._private.cy===n)r=i.restore();else{for(var a=[],s=0;s<i.length;s++){var o=i[s];a.push(o.json())}r=new No(n,a)}}else if(Ii(e)){var l=e;r=new No(n,l)}else if(ei(e)&&(Ii(e.nodes)||Ii(e.edges))){for(var u=e,d=[],h=["nodes","edges"],f=0,p=h.length;f<p;f++){var g=h[f],m=u[g];if(Ii(m))for(var U=0,y=m.length;U<y;U++){var b=Gr({group:g},m[U]);d.push(b)}}r=new No(n,d)}else{var v=e;r=new PP(n,v).collection()}return r},remove:function(e){if(!Jc(e)){if(Or(e)){var r=e;e=this.$(r)}}return e.remove()}};/*! Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */function der(t,e,r,n){var i=4,a=.001,s=1e-7,o=10,l=11,u=1/(l-1),d=typeof Float32Array<"u";if(arguments.length!==4)return!1;for(var h=0;h<4;++h)if(typeof arguments[h]!="number"||isNaN(arguments[h])||!isFinite(arguments[h]))return!1;t=Math.min(t,1),r=Math.min(r,1),t=Math.max(t,0),r=Math.max(r,0);var f=d?new Float32Array(l):new Array(l);function p(A,M){return 1-3*M+3*A}function g(A,M){return 3*M-6*A}function m(A){return 3*A}function U(A,M,P){return((p(M,P)*A+g(M,P))*A+m(M))*A}function y(A,M,P){return 3*p(M,P)*A*A+2*g(M,P)*A+m(M)}function b(A,M){for(var P=0;P<i;++P){var N=y(M,t,r);if(N===0)return M;var I=U(M,t,r)-A;M-=I/N}return M}function v(){for(var A=0;A<l;++A)f[A]=U(A*u,t,r)}function w(A,M,P){var N,I,L=0;do I=M+(P-M)/2,N=U(I,t,r)-A,N>0?P=I:M=I;while(Math.abs(N)>s&&++L<o);return I}function T(A){for(var M=0,P=1,N=l-1;P!==N&&f[P]<=A;++P)M+=u;--P;var I=(A-f[P])/(f[P+1]-f[P]),L=M+I*u,_=y(L,t,r);return _>=a?b(A,L):_===0?L:w(A,M,M+u)}var S=!1;function C(){S=!0,(t!==e||r!==n)&&v()}var k=function(M){return S||C(),t===e&&r===n?M:M===0?0:M===1?1:U(T(M),e,n)};k.getControlPoints=function(){return[{x:t,y:e},{x:r,y:n}]};var E="generateBezier("+[t,e,r,n]+")";return k.toString=function(){return E},k}/*! Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */var her=(function(){function t(n){return-n.tension*n.x-n.friction*n.v}function e(n,i,a){var s={x:n.x+a.dx*i,v:n.v+a.dv*i,tension:n.tension,friction:n.friction};return{dx:s.v,dv:t(s)}}function r(n,i){var a={dx:n.v,dv:t(n)},s=e(n,i*.5,a),o=e(n,i*.5,s),l=e(n,i,o),u=1/6*(a.dx+2*(s.dx+o.dx)+l.dx),d=1/6*(a.dv+2*(s.dv+o.dv)+l.dv);return n.x=n.x+u*i,n.v=n.v+d*i,n}return function n(i,a,s){var o={x:-1,v:0,tension:null,friction:null},l=[0],u=0,d=1/1e4,h=16/1e3,f,p,g;for(i=parseFloat(i)||500,a=parseFloat(a)||20,s=s||null,o.tension=i,o.friction=a,f=s!==null,f?(u=n(i,a),p=u/s*h):p=h;g=r(g||o,p),l.push(1+g.x),u+=16,Math.abs(g.x)>d&&Math.abs(g.v)>d;);return f?function(m){return l[m*(l.length-1)|0]}:u}})(),Pi=function(e,r,n,i){var a=der(e,r,n,i);return function(s,o,l){return s+(o-s)*a(l)}},yM={linear:function(e,r,n){return e+(r-e)*n},ease:Pi(.25,.1,.25,1),"ease-in":Pi(.42,0,1,1),"ease-out":Pi(0,0,.58,1),"ease-in-out":Pi(.42,0,.58,1),"ease-in-sine":Pi(.47,0,.745,.715),"ease-out-sine":Pi(.39,.575,.565,1),"ease-in-out-sine":Pi(.445,.05,.55,.95),"ease-in-quad":Pi(.55,.085,.68,.53),"ease-out-quad":Pi(.25,.46,.45,.94),"ease-in-out-quad":Pi(.455,.03,.515,.955),"ease-in-cubic":Pi(.55,.055,.675,.19),"ease-out-cubic":Pi(.215,.61,.355,1),"ease-in-out-cubic":Pi(.645,.045,.355,1),"ease-in-quart":Pi(.895,.03,.685,.22),"ease-out-quart":Pi(.165,.84,.44,1),"ease-in-out-quart":Pi(.77,0,.175,1),"ease-in-quint":Pi(.755,.05,.855,.06),"ease-out-quint":Pi(.23,1,.32,1),"ease-in-out-quint":Pi(.86,0,.07,1),"ease-in-expo":Pi(.95,.05,.795,.035),"ease-out-expo":Pi(.19,1,.22,1),"ease-in-out-expo":Pi(1,0,0,1),"ease-in-circ":Pi(.6,.04,.98,.335),"ease-out-circ":Pi(.075,.82,.165,1),"ease-in-out-circ":Pi(.785,.135,.15,.86),spring:function(e,r,n){if(n===0)return yM.linear;var i=her(e,r,n);return function(a,s,o){return a+(s-a)*i(o)}},"cubic-bezier":Pi};function Mme(t,e,r,n,i){if(n===1||e===r)return r;var a=i(e,r,n);return t==null||((t.roundValue||t.color)&&(a=Math.round(a)),t.min!==void 0&&(a=Math.max(a,t.min)),t.max!==void 0&&(a=Math.min(a,t.max))),a}function Rme(t,e){return t.pfValue!=null||t.value!=null?t.pfValue!=null&&(e==null||e.type.units!=="%")?t.pfValue:t.value:t}function Ry(t,e,r,n,i){var a=i!=null?i.type:null;r<0?r=0:r>1&&(r=1);var s=Rme(t,i),o=Rme(e,i);if(Jt(s)&&Jt(o))return Mme(a,s,o,r,n);if(Ii(s)&&Ii(o)){for(var l=[],u=0;u<o.length;u++){var d=s[u],h=o[u];if(d!=null&&h!=null){var f=Mme(a,d,h,r,n);l.push(f)}else l.push(h)}return l}}function fer(t,e,r,n){var i=!n,a=t._private,s=e._private,o=s.easing,l=s.startTime,u=n?t:t.cy(),d=u.style();if(!s.easingImpl)if(o==null)s.easingImpl=yM.linear;else{var h;if(Or(o)){var f=d.parse("transition-timing-function",o);h=f.value}else h=o;var p,g;Or(h)?(p=h,g=[]):(p=h[1],g=h.slice(2).map(function(B){return+B})),g.length>0?(p==="spring"&&g.push(s.duration),s.easingImpl=yM[p].apply(null,g)):s.easingImpl=yM[p]}var m=s.easingImpl,U;if(s.duration===0?U=1:U=(r-l)/s.duration,s.applying&&(U=s.progress),U<0?U=0:U>1&&(U=1),s.delay==null){var y=s.startPosition,b=s.position;if(b&&i&&!t.locked()){var v={};o9(y.x,b.x)&&(v.x=Ry(y.x,b.x,U,m)),o9(y.y,b.y)&&(v.y=Ry(y.y,b.y,U,m)),t.position(v)}var w=s.startPan,T=s.pan,S=a.pan,C=T!=null&&n;C&&(o9(w.x,T.x)&&(S.x=Ry(w.x,T.x,U,m)),o9(w.y,T.y)&&(S.y=Ry(w.y,T.y,U,m)),t.emit("pan"));var k=s.startZoom,E=s.zoom,A=E!=null&&n;A&&(o9(k,E)&&(a.zoom=XT(a.minZoom,Ry(k,E,U,m),a.maxZoom)),t.emit("zoom")),(C||A)&&t.emit("viewport");var M=s.style;if(M&&M.length>0&&i){for(var P=0;P<M.length;P++){var N=M[P],I=N.name,L=N,_=s.startStyle[I],D=d.properties[_.name],O=Ry(_,L,U,m,D);d.overrideBypass(t,I,O)}t.emit("style")}}return s.progress=U,U}function o9(t,e){return t==null||e==null?!1:Jt(t)&&Jt(e)?!0:!!(t&&e)}function per(t,e,r,n){var i=e._private;i.started=!0,i.startTime=r-i.progress*i.duration}function Ime(t,e){var r=e._private.aniEles,n=[];function i(d,h){var f=d._private,p=f.animation.current,g=f.animation.queue,m=!1;if(p.length===0){var U=g.shift();U&&p.push(U)}for(var y=function(S){for(var C=S.length-1;C>=0;C--){var k=S[C];k()}S.splice(0,S.length)},b=p.length-1;b>=0;b--){var v=p[b],w=v._private;if(w.stopped){p.splice(b,1),w.hooked=!1,w.playing=!1,w.started=!1,y(w.frames);continue}!w.playing&&!w.applying||(w.playing&&w.applying&&(w.applying=!1),w.started||per(d,v,t),fer(d,v,t,h),w.applying&&(w.applying=!1),y(w.frames),w.step!=null&&w.step(t),v.completed()&&(p.splice(b,1),w.hooked=!1,w.playing=!1,w.started=!1,y(w.completes)),m=!0)}return!h&&p.length===0&&g.length===0&&n.push(d),m}for(var a=!1,s=0;s<r.length;s++){var o=r[s],l=i(o);a=a||l}var u=i(e,!0);(a||u)&&(r.length>0?e.notify("draw",r):e.notify("draw")),r.unmerge(n),e.emit("step")}var ger={animate:bi.animate(),animation:bi.animation(),animated:bi.animated(),clearQueue:bi.clearQueue(),delay:bi.delay(),delayAnimation:bi.delayAnimation(),stop:bi.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&&eN(function(a){Ime(a,e),r()})}var n=e.renderer();n&&n.beforeRender?n.beforeRender(function(a,s){Ime(s,e)},n.beforeRenderPriorities.animations):r()}},mer={qualifierCompare:function(e,r){return e==null||r==null?e==null&&r==null:e.sameText(r)},eventMatches:function(e,r,n){var i=r.qualifier;return i!=null?e!==n.target&&TS(n.target)&&i.matches(n.target):!0},addEventFields:function(e,r){r.cy=e,r.target=e},callbackContext:function(e,r,n){return r.qualifier!=null?n.target:e}},qE=function(e){return Or(e)?new s1(e):e},pDe={createEmitter:function(){var e=this._private;return e.emitter||(e.emitter=new GP(mer,this)),this},emitter:function(){return this._private.emitter},on:function(e,r,n){return this.emitter().on(e,qE(r),n),this},removeListener:function(e,r,n){return this.emitter().removeListener(e,qE(r),n),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},one:function(e,r,n){return this.emitter().one(e,qE(r),n),this},once:function(e,r,n){return this.emitter().one(e,qE(r),n),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}};bi.eventAliasesOn(pDe);var rY={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)}};rY.jpeg=rY.jpg;var bM={layout:function(e){var r=this;if(e==null){ca("Layout options must be specified to make a layout");return}if(e.name==null){ca("A `name` must be specified to make a layout");return}var n=e.name,i=r.extension("layout",n);if(i==null){ca("No such layout `"+n+"` found. Did you forget to import it and `cytoscape.use()` it?");return}var a;Or(e.eles)?a=r.$(e.eles):a=e.eles!=null?e.eles:r.$();var s=new i(Gr({},e,{cy:r,eles:a}));return s}};bM.createLayout=bM.makeLayout=bM.layout;var Uer={notify:function(e,r){var n=this._private;if(this.batching()){n.batchNotifications=n.batchNotifications||{};var i=n.batchNotifications[e]=n.batchNotifications[e]||this.collection();r!=null&&i.merge(r);return}if(n.notificationsEnabled){var a=this.renderer();this.destroyed()||!a||a.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(n){var i=e.batchNotifications[n];i.empty()?r.notify(n):r.notify(n,i)})}return this},batch:function(e){return this.startBatch(),e(),this.endBatch(),this},batchData:function(e){var r=this;return this.batch(function(){for(var n=Object.keys(e),i=0;i<n.length;i++){var a=n[i],s=e[a],o=r.getElementById(a);o.data(s)}})}},yer=_o({hideEdgesOnViewport:!1,textureOnViewport:!1,motionBlur:!1,motionBlurOpacity:.05,pixelRatio:void 0,desktopTapThreshold:4,touchTapThreshold:8,wheelSensitivity:1,debug:!1,showFps:!1,webgl:!1,webglDebug:!1,webglDebugShowAtlases:!1,webglTexSize:2048,webglTexRows:36,webglTexRowsNodes:18,webglBatchSize:2048,webglTexPerBatch:14,webglBgColor:[255,255,255]}),nY={renderTo:function(e,r,n,i){var a=this._private.renderer;return a.renderTo(e,r,n,i),this},renderer:function(){return this._private.renderer},forceRender:function(){return this.notify("draw"),this},resize:function(){return this.invalidateSize(),this.emitAndNotify("resize"),this},initRenderer:function(e){var r=this,n=r.extension("renderer",e.name);if(n==null){ca("Can not initialise: No such renderer `".concat(e.name,"` found. Did you forget to import it and `cytoscape.use()` it?"));return}e.wheelSensitivity!==void 0&&xi("You have set a custom wheel sensitivity. This will make your app zoom unnaturally when using mainstream mice. You should change this value from the default only if you can guarantee that all your users will use the same hardware and OS configuration as your current machine.");var i=yer(e);i.cy=r,r._private.renderer=new n(i),this.notify("init")},destroyRenderer:function(){var e=this;e.notify("destroy");var r=e.container();if(r)for(r._cyreg=null;r.childNodes.length>0;)r.removeChild(r.childNodes[0]);e._private.renderer=null,e.mutableElements().forEach(function(n){var i=n._private;i.rscratch={},i.rstyle={},i.animation.current=[],i.animation.queue=[]})},onRender:function(e){return this.on("render",e)},offRender:function(e){return this.off("render",e)}};nY.invalidateDimensions=nY.resize;var vM={collection:function(e,r){return Or(e)?this.$(e):Jc(e)?e.collection():Ii(e)?(r||(r={}),new No(this,e,r.unique,r.removed)):new No(this)},nodes:function(e){var r=this.$(function(n){return n.isNode()});return e?r.filter(e):r},edges:function(e){var r=this.$(function(n){return n.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}};vM.elements=vM.filter=vM.$;var co={},ow="t",ber="f";co.apply=function(t){for(var e=this,r=e._private,n=r.cy,i=n.collection(),a=0;a<t.length;a++){var s=t[a],o=e.getContextMeta(s);if(!o.empty){var l=e.getContextStyle(o),u=e.applyContextStyle(o,l,s);s._private.appliedInitStyle?e.updateTransitions(s,u.diffProps):s._private.appliedInitStyle=!0;var d=e.updateStyleHints(s);d&&i.push(s)}}return i};co.getPropertiesDiff=function(t,e){var r=this,n=r._private.propDiffs=r._private.propDiffs||{},i=t+"-"+e,a=n[i];if(a)return a;for(var s=[],o={},l=0;l<r.length;l++){var u=r[l],d=t[l]===ow,h=e[l]===ow,f=d!==h,p=u.mappedProperties.length>0;if(f||h&&p){var g=void 0;f&&p||f?g=u.properties:p&&(g=u.mappedProperties);for(var m=0;m<g.length;m++){for(var U=g[m],y=U.name,b=!1,v=l+1;v<r.length;v++){var w=r[v],T=e[v]===ow;if(T&&(b=w.properties[U.name]!=null,b))break}!o[y]&&!b&&(o[y]=!0,s.push(y))}}}return n[i]=s,s};co.getContextMeta=function(t){for(var e=this,r="",n,i=t._private.styleCxtKey||"",a=0;a<e.length;a++){var s=e[a],o=s.selector&&s.selector.matches(t);o?r+=ow:r+=ber}return n=e.getPropertiesDiff(i,r),t._private.styleCxtKey=r,{key:r,diffPropNames:n,empty:n.length===0}};co.getContextStyle=function(t){var e=t.key,r=this,n=this._private.contextStyles=this._private.contextStyles||{};if(n[e])return n[e];for(var i={_private:{key:e}},a=0;a<r.length;a++){var s=r[a],o=e[a]===ow;if(o)for(var l=0;l<s.properties.length;l++){var u=s.properties[l];i[u.name]=u}}return n[e]=i,i};co.applyContextStyle=function(t,e,r){for(var n=this,i=t.diffPropNames,a={},s=n.types,o=0;o<i.length;o++){var l=i[o],u=e[l],d=r.pstyle(l);if(!u)if(d)d.bypass?u={name:l,deleteBypassed:!0}:u={name:l,delete:!0};else continue;if(d!==u){if(u.mapped===s.fn&&d!=null&&d.mapping!=null&&d.mapping.value===u.value){var h=d.mapping,f=h.fnValue=u.value(r);if(f===h.prevFnValue)continue}var p=a[l]={prev:d};n.applyParsedProperty(r,u),p.next=r.pstyle(l),p.next&&p.next.bypass&&(p.next=p.next.bypassed)}}return{diffProps:a}};co.updateStyleHints=function(t){var e=t._private,r=this,n=r.propertyGroupNames,i=r.propertyGroupKeys,a=function(ie,me,te){return r.getPropertiesHash(ie,me,te)},s=e.styleKey;if(t.removed())return!1;var o=e.group==="nodes",l=t._private.style;n=Object.keys(l);for(var u=0;u<i.length;u++){var d=i[u];e.styleKeys[d]=[zm,o2]}for(var h=function(ie,me){return e.styleKeys[me][0]=qT(ie,e.styleKeys[me][0])},f=function(ie,me){return e.styleKeys[me][1]=jT(ie,e.styleKeys[me][1])},p=function(ie,me){h(ie,me),f(ie,me)},g=function(ie,me){for(var te=0;te<ie.length;te++){var Re=ie.charCodeAt(te);h(Re,me),f(Re,me)}},m=2e9,U=function(ie){return-128<ie&&ie<128&&Math.floor(ie)!==ie?m-(ie*1024|0):ie},y=0;y<n.length;y++){var b=n[y],v=l[b];if(v!=null){var w=this.properties[b],T=w.type,S=w.groupKey,C=void 0;w.hashOverride!=null?C=w.hashOverride(t,v):v.pfValue!=null&&(C=v.pfValue);var k=w.enums==null?v.value:null,E=C!=null,A=k!=null,M=E||A,P=v.units;if(T.number&&M&&!T.multiple){var N=E?C:k;p(U(N),S),!E&&P!=null&&g(P,S)}else g(v.strValue,S)}}for(var I=[zm,o2],L=0;L<i.length;L++){var _=i[L],D=e.styleKeys[_];I[0]=qT(D[0],I[0]),I[1]=jT(D[1],I[1])}e.styleKey=NKt(I[0],I[1]);var O=e.styleKeys;e.labelDimsKey=Bp(O.labelDimensions);var B=a(t,["label"],O.labelDimensions);if(e.labelKey=Bp(B),e.labelStyleKey=Bp(BE(O.commonLabel,B)),!o){var F=a(t,["source-label"],O.labelDimensions);e.sourceLabelKey=Bp(F),e.sourceLabelStyleKey=Bp(BE(O.commonLabel,F));var z=a(t,["target-label"],O.labelDimensions);e.targetLabelKey=Bp(z),e.targetLabelStyleKey=Bp(BE(O.commonLabel,z))}if(o){var $=e.styleKeys,H=$.nodeBody,V=$.nodeBorder,G=$.nodeOutline,K=$.backgroundImage,W=$.compound,oe=$.pie,Z=$.stripe,J=[H,V,G,K,W,oe,Z].filter(function(ne){return ne!=null}).reduce(BE,[zm,o2]);e.nodeKey=Bp(J),e.hasPie=oe!=null&&oe[0]!==zm&&oe[1]!==o2,e.hasStripe=Z!=null&&Z[0]!==zm&&Z[1]!==o2}return s!==e.styleKey};co.clearStyleHints=function(t){var e=t._private;e.styleCxtKey="",e.styleKeys={},e.styleKey=null,e.labelKey=null,e.labelStyleKey=null,e.sourceLabelKey=null,e.sourceLabelStyleKey=null,e.targetLabelKey=null,e.targetLabelStyleKey=null,e.nodeKey=null,e.hasPie=null,e.hasStripe=null};co.applyParsedProperty=function(t,e){var r=this,n=e,i=t._private.style,a,s=r.types,o=r.properties[n.name].type,l=n.bypass,u=i[n.name],d=u&&u.bypass,h=t._private,f="mapping",p=function(H){return H==null?null:H.pfValue!=null?H.pfValue:H.value},g=function(){var H=p(u),V=p(n);r.checkTriggers(t,n.name,H,V)};if(e.name==="curve-style"&&t.isEdge()&&(e.value!=="bezier"&&t.isLoop()||e.value==="haystack"&&(t.source().isParent()||t.target().isParent()))&&(n=e=this.parse(e.name,"bezier",l)),n.delete)return i[n.name]=void 0,g(),!0;if(n.deleteBypassed)return u?u.bypass?(u.bypassed=void 0,g(),!0):!1:(g(),!0);if(n.deleteBypass)return u?u.bypass?(i[n.name]=u.bypassed,g(),!0):!1:(g(),!0);var m=function(){xi("Do not assign mappings to elements without corresponding data (i.e. ele `"+t.id()+"` has no mapping for property `"+n.name+"` with data field `"+n.field+"`); try a `["+n.field+"]` selector to limit scope to elements with `"+n.field+"` defined")};switch(n.mapped){case s.mapData:{for(var U=n.field.split("."),y=h.data,b=0;b<U.length&&y;b++){var v=U[b];y=y[v]}if(y==null)return m(),!1;var w;if(Jt(y)){var T=n.fieldMax-n.fieldMin;T===0?w=0:w=(y-n.fieldMin)/T}else return xi("Do not use continuous mappers without specifying numeric data (i.e. `"+n.field+": "+y+"` for `"+t.id()+"` is non-numeric)"),!1;if(w<0?w=0:w>1&&(w=1),o.color){var S=n.valueMin[0],C=n.valueMax[0],k=n.valueMin[1],E=n.valueMax[1],A=n.valueMin[2],M=n.valueMax[2],P=n.valueMin[3]==null?1:n.valueMin[3],N=n.valueMax[3]==null?1:n.valueMax[3],I=[Math.round(S+(C-S)*w),Math.round(k+(E-k)*w),Math.round(A+(M-A)*w),Math.round(P+(N-P)*w)];a={bypass:n.bypass,name:n.name,value:I,strValue:"rgb("+I[0]+", "+I[1]+", "+I[2]+")"}}else if(o.number){var L=n.valueMin+(n.valueMax-n.valueMin)*w;a=this.parse(n.name,L,n.bypass,f)}else return!1;if(!a)return m(),!1;a.mapping=n,n=a;break}case s.data:{for(var _=n.field.split("."),D=h.data,O=0;O<_.length&&D;O++){var B=_[O];D=D[B]}if(D!=null&&(a=this.parse(n.name,D,n.bypass,f)),!a)return m(),!1;a.mapping=n,n=a;break}case s.fn:{var F=n.value,z=n.fnValue!=null?n.fnValue:F(t);if(n.prevFnValue=z,z==null)return xi("Custom function mappers may not return null (i.e. `"+n.name+"` for ele `"+t.id()+"` is null)"),!1;if(a=this.parse(n.name,z,n.bypass,f),!a)return xi("Custom function mappers may not return invalid values for the property type (i.e. `"+n.name+"` for ele `"+t.id()+"` is invalid)"),!1;a.mapping=Nh(n),n=a;break}case void 0:break;default:return!1}return l?(d?n.bypassed=u.bypassed:n.bypassed=u,i[n.name]=n):d?u.bypassed=n:i[n.name]=n,g(),!0};co.cleanElements=function(t,e){for(var r=0;r<t.length;r++){var n=t[r];if(this.clearStyleHints(n),n.dirtyCompoundBoundsCache(),n.dirtyBoundingBoxCache(),!e)n._private.style={};else for(var i=n._private.style,a=Object.keys(i),s=0;s<a.length;s++){var o=a[s],l=i[o];l!=null&&(l.bypass?l.bypassed=null:i[o]=null)}}};co.update=function(){var t=this._private.cy,e=t.mutableElements();e.updateStyle()};co.updateTransitions=function(t,e){var r=this,n=t._private,i=t.pstyle("transition-property").value,a=t.pstyle("transition-duration").pfValue,s=t.pstyle("transition-delay").pfValue;if(i.length>0&&a>0){for(var o={},l=!1,u=0;u<i.length;u++){var d=i[u],h=t.pstyle(d),f=e[d];if(f){var p=f.prev,g=p,m=f.next!=null?f.next:h,U=!1,y=void 0,b=1e-6;g&&(Jt(g.pfValue)&&Jt(m.pfValue)?(U=m.pfValue-g.pfValue,y=g.pfValue+b*U):Jt(g.value)&&Jt(m.value)?(U=m.value-g.value,y=g.value+b*U):Ii(g.value)&&Ii(m.value)&&(U=g.value[0]!==m.value[0]||g.value[1]!==m.value[1]||g.value[2]!==m.value[2],y=g.strValue),U&&(o[d]=m.strValue,this.applyBypass(t,d,y),l=!0))}}if(!l)return;n.transitioning=!0,new f3(function(v){s>0?t.delayAnimation(s).play().promise().then(v):v()}).then(function(){return t.animation({style:o,duration:a,easing:t.pstyle("transition-timing-function").value,queue:!1}).play().promise()}).then(function(){r.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1})}else n.transitioning&&(this.removeBypasses(t,i),t.emitAndNotify("style"),n.transitioning=!1)};co.checkTrigger=function(t,e,r,n,i,a){var s=this.properties[e],o=i(s);t.removed()||o!=null&&o(r,n,t)&&a(s)};co.checkZOrderTrigger=function(t,e,r,n){var i=this;this.checkTrigger(t,e,r,n,function(a){return a.triggersZOrder},function(){i._private.cy.notify("zorder",t)})};co.checkBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBounds},function(i){t.dirtyCompoundBoundsCache(),t.dirtyBoundingBoxCache()})};co.checkConnectedEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfConnectedEdges},function(i){t.connectedEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};co.checkParallelEdgesBoundsTrigger=function(t,e,r,n){this.checkTrigger(t,e,r,n,function(i){return i.triggersBoundsOfParallelEdges},function(i){t.parallelEdges().forEach(function(a){a.dirtyBoundingBoxCache()})})};co.checkTriggers=function(t,e,r,n){t.dirtyStyleCache(),this.checkZOrderTrigger(t,e,r,n),this.checkBoundsTrigger(t,e,r,n),this.checkConnectedEdgesBoundsTrigger(t,e,r,n),this.checkParallelEdgesBoundsTrigger(t,e,r,n)};var RS={};RS.applyBypass=function(t,e,r,n){var i=this,a=[],s=!0;if(e==="*"||e==="**"){if(r!==void 0)for(var o=0;o<i.properties.length;o++){var l=i.properties[o],u=l.name,d=this.parse(u,r,!0);d&&a.push(d)}}else if(Or(e)){var h=this.parse(e,r,!0);h&&a.push(h)}else if(ei(e)){var f=e;n=r;for(var p=Object.keys(f),g=0;g<p.length;g++){var m=p[g],U=f[m];if(U===void 0&&(U=f[OP(m)]),U!==void 0){var y=this.parse(m,U,!0);y&&a.push(y)}}}else return!1;if(a.length===0)return!1;for(var b=!1,v=0;v<t.length;v++){for(var w=t[v],T={},S=void 0,C=0;C<a.length;C++){var k=a[C];if(n){var E=w.pstyle(k.name);S=T[k.name]={prev:E}}b=this.applyParsedProperty(w,Nh(k))||b,n&&(S.next=w.pstyle(k.name))}b&&this.updateStyleHints(w),n&&this.updateTransitions(w,T,s)}return b};RS.overrideBypass=function(t,e,r){e=gre(e);for(var n=0;n<t.length;n++){var i=t[n],a=i._private.style[e],s=this.properties[e].type,o=s.color,l=s.mutiple,u=a?a.pfValue!=null?a.pfValue:a.value:null;!a||!a.bypass?this.applyBypass(i,e,r):(a.value=r,a.pfValue!=null&&(a.pfValue=r),o?a.strValue="rgb("+r.join(",")+")":l?a.strValue=r.join(" "):a.strValue=""+r,this.updateStyleHints(i)),this.checkTriggers(i,e,u,r)}};RS.removeAllBypasses=function(t,e){return this.removeBypasses(t,this.propertyNames,e)};RS.removeBypasses=function(t,e,r){for(var n=!0,i=0;i<t.length;i++){for(var a=t[i],s={},o=0;o<e.length;o++){var l=e[o],u=this.properties[l],d=a.pstyle(u.name);if(!(!d||!d.bypass)){var h="",f=this.parse(l,h,!0),p=s[u.name]={prev:d};this.applyParsedProperty(a,f),p.next=a.pstyle(u.name)}}this.updateStyleHints(a),r&&this.updateTransitions(a,s,n)}};var Rre={};Rre.getEmSizeInPixels=function(){var t=this.containerCss("font-size");return t!=null?parseFloat(t):1};Rre.containerCss=function(t){var e=this._private.cy,r=e.container(),n=e.window();if(n&&r&&n.getComputedStyle)return n.getComputedStyle(r).getPropertyValue(t)};var Qh={};Qh.getRenderedStyle=function(t,e){return e?this.getStylePropertyValue(t,e,!0):this.getRawStyle(t,!0)};Qh.getRawStyle=function(t,e){var r=this;if(t=t[0],t){for(var n={},i=0;i<r.properties.length;i++){var a=r.properties[i],s=r.getStylePropertyValue(t,a.name,e);s!=null&&(n[a.name]=s,n[OP(a.name)]=s)}return n}};Qh.getIndexedStyle=function(t,e,r,n){var i=t.pstyle(e)[r][n];return i??t.cy().style().getDefaultProperty(e)[r][0]};Qh.getStylePropertyValue=function(t,e,r){var n=this;if(t=t[0],t){var i=n.properties[e];i.alias&&(i=i.pointsTo);var a=i.type,s=t.pstyle(i.name);if(s){var o=s.value,l=s.units,u=s.strValue;if(r&&a.number&&o!=null&&Jt(o)){var d=t.cy().zoom(),h=function(U){return U*d},f=function(U,y){return h(U)+y},p=Ii(o),g=p?l.every(function(m){return m!=null}):l!=null;return g?p?o.map(function(m,U){return f(m,l[U])}).join(" "):f(o,l):p?o.map(function(m){return Or(m)?m:""+h(m)}).join(" "):""+h(o)}else if(u!=null)return u}return null}};Qh.getAnimationStartStyle=function(t,e){for(var r={},n=0;n<e.length;n++){var i=e[n],a=i.name,s=t.pstyle(a);s!==void 0&&(ei(s)?s=this.parse(a,s.strValue):s=this.parse(a,s)),s&&(r[a]=s)}return r};Qh.getPropsList=function(t){var e=this,r=[],n=t,i=e.properties;if(n)for(var a=Object.keys(n),s=0;s<a.length;s++){var o=a[s],l=n[o],u=i[o]||i[gre(o)],d=this.parse(u.name,l);d&&r.push(d)}return r};Qh.getNonDefaultPropertiesHash=function(t,e,r){var n=r.slice(),i,a,s,o,l,u;for(l=0;l<e.length;l++)if(i=e[l],a=t.pstyle(i,!1),a!=null)if(a.pfValue!=null)n[0]=qT(o,n[0]),n[1]=jT(o,n[1]);else for(s=a.strValue,u=0;u<s.length;u++)o=s.charCodeAt(u),n[0]=qT(o,n[0]),n[1]=jT(o,n[1]);return n};Qh.getPropertiesHash=Qh.getNonDefaultPropertiesHash;var jP={};jP.appendFromJson=function(t){for(var e=this,r=0;r<t.length;r++){var n=t[r],i=n.selector,a=n.style||n.css,s=Object.keys(a);e.selector(i);for(var o=0;o<s.length;o++){var l=s[o],u=a[l];e.css(l,u)}}return e};jP.fromJson=function(t){var e=this;return e.resetToDefault(),e.appendFromJson(t),e};jP.json=function(){for(var t=[],e=this.defaultLength;e<this.length;e++){for(var r=this[e],n=r.selector,i=r.properties,a={},s=0;s<i.length;s++){var o=i[s];a[o.name]=o.strValue}t.push({selector:n?n.toString():"core",style:a})}return t};var Ire={};Ire.appendFromString=function(t){var e=this,r=this,n=""+t,i,a,s;n=n.replace(/[/][*](\s|.)+?[*][/]/g,"");function o(){n.length>i.length?n=n.substr(i.length):n=""}function l(){a.length>s.length?a=a.substr(s.length):a=""}for(;;){var u=n.match(/^\s*$/);if(u)break;var d=n.match(/^\s*((?:.|\s)+?)\s*\{((?:.|\s)+?)\}/);if(!d){xi("Halting stylesheet parsing: String stylesheet contains more to parse but no selector and block found in: "+n);break}i=d[0];var h=d[1];if(h!=="core"){var f=new s1(h);if(f.invalid){xi("Skipping parsing of block: Invalid selector found in string stylesheet: "+h),o();continue}}var p=d[2],g=!1;a=p;for(var m=[];;){var U=a.match(/^\s*$/);if(U)break;var y=a.match(/^\s*(.+?)\s*:\s*(.+?)(?:\s*;|\s*$)/);if(!y){xi("Skipping parsing of block: Invalid formatting of style property and value definitions found in:"+p),g=!0;break}s=y[0];var b=y[1],v=y[2],w=e.properties[b];if(!w){xi("Skipping property: Invalid property name in: "+s),l();continue}var T=r.parse(b,v);if(!T){xi("Skipping property: Invalid property definition in: "+s),l();continue}m.push({name:b,val:v}),l()}if(g){o();break}r.selector(h);for(var S=0;S<m.length;S++){var C=m[S];r.css(C.name,C.val)}o()}return r};Ire.fromString=function(t){var e=this;return e.resetToDefault(),e.appendFromString(t),e};var is={};(function(){var t=Os,e=dKt,r=fKt,n=pKt,i=gKt,a=function(ne){return"^"+ne+"\\s*\\(\\s*([\\w\\.]+)\\s*\\)$"},s=function(ne){var ie=t+"|\\w+|"+e+"|"+r+"|"+n+"|"+i;return"^"+ne+"\\s*\\(([\\w\\.]+)\\s*\\,\\s*("+t+")\\s*\\,\\s*("+t+")\\s*,\\s*("+ie+")\\s*\\,\\s*("+ie+")\\)$"},o=[`^url\\s*\\(\\s*['"]?(.+?)['"]?\\s*\\)$`,"^(none)$","^(.+)$"];is.types={time:{number:!0,min:0,units:"s|ms",implicitUnits:"ms"},percent:{number:!0,min:0,max:100,units:"%",implicitUnits:"%"},percentages:{number:!0,min:0,max:100,units:"%",implicitUnits:"%",multiple:!0},zeroOneNumber:{number:!0,min:0,max:1,unitless:!0},zeroOneNumbers:{number:!0,min:0,max:1,unitless:!0,multiple:!0},nOneOneNumber:{number:!0,min:-1,max:1,unitless:!0},nonNegativeInt:{number:!0,min:0,integer:!0,unitless:!0},nonNegativeNumber:{number:!0,min:0,unitless:!0},position:{enums:["parent","origin"]},nodeSize:{number:!0,min:0,enums:["label"]},number:{number:!0,unitless:!0},numbers:{number:!0,unitless:!0,multiple:!0},positiveNumber:{number:!0,unitless:!0,min:0,strictMin:!0},size:{number:!0,min:0},bidirectionalSize:{number:!0},bidirectionalSizeMaybePercent:{number:!0,allowPercent:!0},bidirectionalSizes:{number:!0,multiple:!0},sizeMaybePercent:{number:!0,min:0,allowPercent:!0},axisDirection:{enums:["horizontal","leftward","rightward","vertical","upward","downward","auto"]},axisDirectionExplicit:{enums:["leftward","rightward","upward","downward"]},axisDirectionPrimary:{enums:["horizontal","vertical"]},paddingRelativeTo:{enums:["width","height","average","min","max"]},bgWH:{number:!0,min:0,allowPercent:!0,enums:["auto"],multiple:!0},bgPos:{number:!0,allowPercent:!0,multiple:!0},bgRelativeTo:{enums:["inner","include-padding"],multiple:!0},bgRepeat:{enums:["repeat","repeat-x","repeat-y","no-repeat"],multiple:!0},bgFit:{enums:["none","contain","cover"],multiple:!0},bgCrossOrigin:{enums:["anonymous","use-credentials","null"],multiple:!0},bgClip:{enums:["none","node"],multiple:!0},bgContainment:{enums:["inside","over"],multiple:!0},boxSelection:{enums:["contain","overlap","none"]},color:{color:!0},colors:{color:!0,multiple:!0},fill:{enums:["solid","linear-gradient","radial-gradient"]},bool:{enums:["yes","no"]},bools:{enums:["yes","no"],multiple:!0},lineStyle:{enums:["solid","dotted","dashed"]},lineCap:{enums:["butt","round","square"]},linePosition:{enums:["center","inside","outside"]},lineJoin:{enums:["round","bevel","miter"]},borderStyle:{enums:["solid","dotted","dashed","double"]},curveStyle:{enums:["bezier","unbundled-bezier","haystack","segments","straight","straight-triangle","taxi","round-segments","round-taxi"]},radiusType:{enums:["arc-radius","influence-radius"],multiple:!0},fontFamily:{regex:'^([\\w- \\"]+(?:\\s*,\\s*[\\w- \\"]+)*)$'},fontStyle:{enums:["italic","normal","oblique"]},fontWeight:{enums:["normal","bold","bolder","lighter","100","200","300","400","500","600","800","900",100,200,300,400,500,600,700,800,900]},textDecoration:{enums:["none","underline","overline","line-through"]},textTransform:{enums:["none","uppercase","lowercase"]},textWrap:{enums:["none","wrap","ellipsis"]},textOverflowWrap:{enums:["whitespace","anywhere"]},textBackgroundShape:{enums:["rectangle","roundrectangle","round-rectangle","circle"]},nodeShape:{enums:["rectangle","roundrectangle","round-rectangle","cutrectangle","cut-rectangle","bottomroundrectangle","bottom-round-rectangle","barrel","ellipse","triangle","round-triangle","square","pentagon","round-pentagon","hexagon","round-hexagon","concavehexagon","concave-hexagon","heptagon","round-heptagon","octagon","round-octagon","tag","round-tag","star","diamond","round-diamond","vee","rhomboid","right-rhomboid","polygon"]},overlayShape:{enums:["roundrectangle","round-rectangle","ellipse"]},cornerRadius:{number:!0,min:0,units:"px|em",implicitUnits:"px",enums:["auto"]},compoundIncludeLabels:{enums:["include","exclude"]},arrowShape:{enums:["tee","triangle","triangle-tee","circle-triangle","triangle-cross","triangle-backcurve","vee","square","circle","diamond","chevron","none"]},arrowFill:{enums:["filled","hollow"]},arrowWidth:{number:!0,units:"%|px|em",implicitUnits:"px",enums:["match-line"]},display:{enums:["element","none"]},visibility:{enums:["hidden","visible"]},zCompoundDepth:{enums:["bottom","orphan","auto","top"]},zIndexCompare:{enums:["auto","manual"]},valign:{enums:["top","top-inside","center","bottom","bottom-inside"]},halign:{enums:["left","left-inside","center","right","right-inside"]},justification:{enums:["left","center","right","auto"]},textMetrics:{enums:["font","glyph"]},text:{string:!0},data:{mapping:!0,regex:a("data")},layoutData:{mapping:!0,regex:a("layoutData")},scratch:{mapping:!0,regex:a("scratch")},mapData:{mapping:!0,regex:s("mapData")},mapLayoutData:{mapping:!0,regex:s("mapLayoutData")},mapScratch:{mapping:!0,regex:s("mapScratch")},fn:{mapping:!0,fn:!0},url:{regexes:o,singleRegexMatchValue:!0},urls:{regexes:o,singleRegexMatchValue:!0,multiple:!0},propList:{propList:!0},angle:{number:!0,units:"deg|rad",implicitUnits:"rad"},textRotation:{number:!0,units:"deg|rad",implicitUnits:"rad",enums:["none","autorotate"]},polygonPointList:{number:!0,multiple:!0,evenMultiple:!0,min:-1,max:1,unitless:!0},edgeDistances:{enums:["intersection","node-position","endpoints"]},edgeEndpoint:{number:!0,multiple:!0,units:"%|px|em|deg|rad",implicitUnits:"px",enums:["inside-to-node","outside-to-node","outside-to-node-or-label","outside-to-line","outside-to-line-or-label"],singleEnum:!0,validate:function(ne,ie){switch(ne.length){case 2:return ie[0]!=="deg"&&ie[0]!=="rad"&&ie[1]!=="deg"&&ie[1]!=="rad";case 1:return Or(ne[0])||ie[0]==="deg"||ie[0]==="rad";default:return!1}}},easing:{regexes:["^(spring)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$","^(cubic-bezier)\\s*\\(\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*,\\s*("+t+")\\s*\\)$"],enums:["linear","ease","ease-in","ease-out","ease-in-out","ease-in-sine","ease-out-sine","ease-in-out-sine","ease-in-quad","ease-out-quad","ease-in-out-quad","ease-in-cubic","ease-out-cubic","ease-in-out-cubic","ease-in-quart","ease-out-quart","ease-in-out-quart","ease-in-quint","ease-out-quint","ease-in-out-quint","ease-in-expo","ease-out-expo","ease-in-out-expo","ease-in-circ","ease-out-circ","ease-in-out-circ"]},gradientDirection:{enums:["to-bottom","to-top","to-left","to-right","to-bottom-right","to-bottom-left","to-top-right","to-top-left","to-right-bottom","to-left-bottom","to-right-top","to-left-top"]},boundsExpansion:{number:!0,multiple:!0,min:0,validate:function(ne){var ie=ne.length;return ie===1||ie===2||ie===4}}};var l={zeroNonZero:function(ne,ie){return(ne==null||ie==null)&&ne!==ie||ne==0&&ie!=0?!0:ne!=0&&ie==0},any:function(ne,ie){return ne!=ie},emptyNonEmpty:function(ne,ie){var me=n1(ne),te=n1(ie);return me&&!te||!me&&te}},u=is.types,d=[{name:"label",type:u.text,triggersBounds:l.any,triggersZOrder:l.emptyNonEmpty},{name:"text-rotation",type:u.textRotation,triggersBounds:l.any},{name:"text-margin-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"text-margin-y",type:u.bidirectionalSize,triggersBounds:l.any}],h=[{name:"source-label",type:u.text,triggersBounds:l.any},{name:"source-text-rotation",type:u.textRotation,triggersBounds:l.any},{name:"source-text-margin-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"source-text-margin-y",type:u.bidirectionalSize,triggersBounds:l.any},{name:"source-text-offset",type:u.size,triggersBounds:l.any}],f=[{name:"target-label",type:u.text,triggersBounds:l.any},{name:"target-text-rotation",type:u.textRotation,triggersBounds:l.any},{name:"target-text-margin-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"target-text-margin-y",type:u.bidirectionalSize,triggersBounds:l.any},{name:"target-text-offset",type:u.size,triggersBounds:l.any}],p=[{name:"font-family",type:u.fontFamily,triggersBounds:l.any},{name:"font-style",type:u.fontStyle,triggersBounds:l.any},{name:"font-weight",type:u.fontWeight,triggersBounds:l.any},{name:"font-size",type:u.size,triggersBounds:l.any},{name:"text-transform",type:u.textTransform,triggersBounds:l.any},{name:"text-wrap",type:u.textWrap,triggersBounds:l.any},{name:"text-overflow-wrap",type:u.textOverflowWrap,triggersBounds:l.any},{name:"text-max-width",type:u.size,triggersBounds:l.any},{name:"text-outline-width",type:u.size,triggersBounds:l.any},{name:"line-height",type:u.positiveNumber,triggersBounds:l.any}],g=[{name:"text-valign",type:u.valign,triggersBounds:l.any},{name:"text-halign",type:u.halign,triggersBounds:l.any},{name:"color",type:u.color},{name:"text-outline-color",type:u.color},{name:"text-outline-opacity",type:u.zeroOneNumber},{name:"text-background-color",type:u.color},{name:"text-background-opacity",type:u.zeroOneNumber},{name:"text-background-padding",type:u.size,triggersBounds:l.any},{name:"text-border-opacity",type:u.zeroOneNumber},{name:"text-border-color",type:u.color},{name:"text-border-width",type:u.size,triggersBounds:l.any},{name:"text-border-style",type:u.borderStyle,triggersBounds:l.any},{name:"text-background-shape",type:u.textBackgroundShape,triggersBounds:l.any},{name:"text-justification",type:u.justification},{name:"text-metrics",type:u.textMetrics},{name:"box-select-labels",type:u.bool,triggersBounds:l.any}],m=[{name:"events",type:u.bool,triggersZOrder:l.any},{name:"text-events",type:u.bool,triggersZOrder:l.any},{name:"box-selection",type:u.boxSelection,triggersZOrder:l.any}],U=[{name:"display",type:u.display,triggersZOrder:l.any,triggersBounds:l.any,triggersBoundsOfConnectedEdges:l.any,triggersBoundsOfParallelEdges:function(ne,ie,me){return ne===ie?!1:me.pstyle("curve-style").value==="bezier"}},{name:"visibility",type:u.visibility,triggersZOrder:l.any},{name:"opacity",type:u.zeroOneNumber,triggersZOrder:l.zeroNonZero},{name:"text-opacity",type:u.zeroOneNumber},{name:"min-zoomed-font-size",type:u.size},{name:"z-compound-depth",type:u.zCompoundDepth,triggersZOrder:l.any},{name:"z-index-compare",type:u.zIndexCompare,triggersZOrder:l.any},{name:"z-index",type:u.number,triggersZOrder:l.any}],y=[{name:"overlay-padding",type:u.size,triggersBounds:l.any},{name:"overlay-color",type:u.color},{name:"overlay-opacity",type:u.zeroOneNumber,triggersBounds:l.zeroNonZero},{name:"overlay-shape",type:u.overlayShape,triggersBounds:l.any},{name:"overlay-corner-radius",type:u.cornerRadius}],b=[{name:"underlay-padding",type:u.size,triggersBounds:l.any},{name:"underlay-color",type:u.color},{name:"underlay-opacity",type:u.zeroOneNumber,triggersBounds:l.zeroNonZero},{name:"underlay-shape",type:u.overlayShape,triggersBounds:l.any},{name:"underlay-corner-radius",type:u.cornerRadius}],v=[{name:"transition-property",type:u.propList},{name:"transition-duration",type:u.time},{name:"transition-delay",type:u.time},{name:"transition-timing-function",type:u.easing}],w=function(ne,ie){return ie.value==="label"?-ne.poolIndex():ie.pfValue},T=[{name:"height",type:u.nodeSize,triggersBounds:l.any,hashOverride:w},{name:"width",type:u.nodeSize,triggersBounds:l.any,hashOverride:w},{name:"shape",type:u.nodeShape,triggersBounds:l.any},{name:"shape-polygon-points",type:u.polygonPointList,triggersBounds:l.any},{name:"corner-radius",type:u.cornerRadius},{name:"background-color",type:u.color},{name:"background-fill",type:u.fill},{name:"background-opacity",type:u.zeroOneNumber},{name:"background-blacken",type:u.nOneOneNumber},{name:"background-gradient-stop-colors",type:u.colors},{name:"background-gradient-stop-positions",type:u.percentages},{name:"background-gradient-direction",type:u.gradientDirection},{name:"padding",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"padding-relative-to",type:u.paddingRelativeTo,triggersBounds:l.any},{name:"bounds-expansion",type:u.boundsExpansion,triggersBounds:l.any}],S=[{name:"border-color",type:u.color},{name:"border-opacity",type:u.zeroOneNumber},{name:"border-width",type:u.size,triggersBounds:l.any},{name:"border-style",type:u.borderStyle},{name:"border-cap",type:u.lineCap},{name:"border-join",type:u.lineJoin},{name:"border-dash-pattern",type:u.numbers},{name:"border-dash-offset",type:u.number},{name:"border-position",type:u.linePosition}],C=[{name:"outline-color",type:u.color},{name:"outline-opacity",type:u.zeroOneNumber},{name:"outline-width",type:u.size,triggersBounds:l.any},{name:"outline-style",type:u.borderStyle},{name:"outline-offset",type:u.size,triggersBounds:l.any}],k=[{name:"background-image",type:u.urls},{name:"background-image-crossorigin",type:u.bgCrossOrigin},{name:"background-image-opacity",type:u.zeroOneNumbers},{name:"background-image-containment",type:u.bgContainment},{name:"background-image-smoothing",type:u.bools},{name:"background-position-x",type:u.bgPos},{name:"background-position-y",type:u.bgPos},{name:"background-width-relative-to",type:u.bgRelativeTo},{name:"background-height-relative-to",type:u.bgRelativeTo},{name:"background-repeat",type:u.bgRepeat},{name:"background-fit",type:u.bgFit},{name:"background-clip",type:u.bgClip},{name:"background-width",type:u.bgWH},{name:"background-height",type:u.bgWH},{name:"background-offset-x",type:u.bgPos},{name:"background-offset-y",type:u.bgPos}],E=[{name:"position",type:u.position,triggersBounds:l.any},{name:"compound-sizing-wrt-labels",type:u.compoundIncludeLabels,triggersBounds:l.any},{name:"min-width",type:u.size,triggersBounds:l.any},{name:"min-width-bias-left",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"min-width-bias-right",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"min-height",type:u.size,triggersBounds:l.any},{name:"min-height-bias-top",type:u.sizeMaybePercent,triggersBounds:l.any},{name:"min-height-bias-bottom",type:u.sizeMaybePercent,triggersBounds:l.any}],A=[{name:"line-style",type:u.lineStyle},{name:"line-color",type:u.color},{name:"line-fill",type:u.fill},{name:"line-cap",type:u.lineCap},{name:"line-opacity",type:u.zeroOneNumber},{name:"line-dash-pattern",type:u.numbers},{name:"line-dash-offset",type:u.number},{name:"line-outline-width",type:u.size},{name:"line-outline-color",type:u.color},{name:"line-gradient-stop-colors",type:u.colors},{name:"line-gradient-stop-positions",type:u.percentages},{name:"curve-style",type:u.curveStyle,triggersBounds:l.any,triggersBoundsOfParallelEdges:function(ne,ie){return ne===ie?!1:ne==="bezier"||ie==="bezier"}},{name:"haystack-radius",type:u.zeroOneNumber,triggersBounds:l.any},{name:"source-endpoint",type:u.edgeEndpoint,triggersBounds:l.any},{name:"target-endpoint",type:u.edgeEndpoint,triggersBounds:l.any},{name:"control-point-step-size",type:u.size,triggersBounds:l.any},{name:"control-point-distances",type:u.bidirectionalSizes,triggersBounds:l.any},{name:"control-point-weights",type:u.numbers,triggersBounds:l.any},{name:"segment-distances",type:u.bidirectionalSizes,triggersBounds:l.any},{name:"segment-weights",type:u.numbers,triggersBounds:l.any},{name:"segment-radii",type:u.numbers,triggersBounds:l.any},{name:"radius-type",type:u.radiusType,triggersBounds:l.any},{name:"taxi-turn",type:u.bidirectionalSizeMaybePercent,triggersBounds:l.any},{name:"taxi-turn-min-distance",type:u.size,triggersBounds:l.any},{name:"taxi-direction",type:u.axisDirection,triggersBounds:l.any},{name:"taxi-radius",type:u.number,triggersBounds:l.any},{name:"edge-distances",type:u.edgeDistances,triggersBounds:l.any},{name:"arrow-scale",type:u.positiveNumber,triggersBounds:l.any},{name:"loop-direction",type:u.angle,triggersBounds:l.any},{name:"loop-sweep",type:u.angle,triggersBounds:l.any},{name:"source-distance-from-node",type:u.size,triggersBounds:l.any},{name:"target-distance-from-node",type:u.size,triggersBounds:l.any}],M=[{name:"ghost",type:u.bool,triggersBounds:l.any},{name:"ghost-offset-x",type:u.bidirectionalSize,triggersBounds:l.any},{name:"ghost-offset-y",type:u.bidirectionalSize,triggersBounds:l.any},{name:"ghost-opacity",type:u.zeroOneNumber}],P=[{name:"selection-box-color",type:u.color},{name:"selection-box-opacity",type:u.zeroOneNumber},{name:"selection-box-border-color",type:u.color},{name:"selection-box-border-width",type:u.size},{name:"active-bg-color",type:u.color},{name:"active-bg-opacity",type:u.zeroOneNumber},{name:"active-bg-size",type:u.size},{name:"outside-texture-bg-color",type:u.color},{name:"outside-texture-bg-opacity",type:u.zeroOneNumber}],N=[];is.pieBackgroundN=16,N.push({name:"pie-size",type:u.sizeMaybePercent}),N.push({name:"pie-hole",type:u.sizeMaybePercent}),N.push({name:"pie-start-angle",type:u.angle});for(var I=1;I<=is.pieBackgroundN;I++)N.push({name:"pie-"+I+"-background-color",type:u.color}),N.push({name:"pie-"+I+"-background-size",type:u.percent}),N.push({name:"pie-"+I+"-background-opacity",type:u.zeroOneNumber});var L=[];is.stripeBackgroundN=16,L.push({name:"stripe-size",type:u.sizeMaybePercent}),L.push({name:"stripe-direction",type:u.axisDirectionPrimary});for(var _=1;_<=is.stripeBackgroundN;_++)L.push({name:"stripe-"+_+"-background-color",type:u.color}),L.push({name:"stripe-"+_+"-background-size",type:u.percent}),L.push({name:"stripe-"+_+"-background-opacity",type:u.zeroOneNumber});var D=[],O=is.arrowPrefixes=["source","mid-source","target","mid-target"];[{name:"arrow-shape",type:u.arrowShape,triggersBounds:l.any},{name:"arrow-color",type:u.color},{name:"arrow-fill",type:u.arrowFill},{name:"arrow-width",type:u.arrowWidth}].forEach(function(J){O.forEach(function(ne){var ie=ne+"-"+J.name,me=J.type,te=J.triggersBounds;D.push({name:ie,type:me,triggersBounds:te})})},{});var B=is.properties=[].concat(m,v,U,y,b,M,g,p,d,h,f,T,S,C,k,N,L,E,A,D,P),F=is.propertyGroups={behavior:m,transition:v,visibility:U,overlay:y,underlay:b,ghost:M,commonLabel:g,labelDimensions:p,mainLabel:d,sourceLabel:h,targetLabel:f,nodeBody:T,nodeBorder:S,nodeOutline:C,backgroundImage:k,pie:N,stripe:L,compound:E,edgeLine:A,edgeArrow:D,core:P},z=is.propertyGroupNames={},$=is.propertyGroupKeys=Object.keys(F);$.forEach(function(J){z[J]=F[J].map(function(ne){return ne.name}),F[J].forEach(function(ne){return ne.groupKey=J})});var H=is.aliases=[{name:"content",pointsTo:"label"},{name:"control-point-distance",pointsTo:"control-point-distances"},{name:"control-point-weight",pointsTo:"control-point-weights"},{name:"segment-distance",pointsTo:"segment-distances"},{name:"segment-weight",pointsTo:"segment-weights"},{name:"segment-radius",pointsTo:"segment-radii"},{name:"edge-text-rotation",pointsTo:"text-rotation"},{name:"padding-left",pointsTo:"padding"},{name:"padding-right",pointsTo:"padding"},{name:"padding-top",pointsTo:"padding"},{name:"padding-bottom",pointsTo:"padding"}];is.propertyNames=B.map(function(J){return J.name});for(var V=0;V<B.length;V++){var G=B[V];B[G.name]=G}for(var K=0;K<H.length;K++){var W=H[K],oe=B[W.pointsTo],Z={name:W.name,alias:!0,pointsTo:oe};B.push(Z),B[W.name]=Z}})();is.getDefaultProperty=function(t){return this.getDefaultProperties()[t]};is.getDefaultProperties=function(){var t=this._private;if(t.defaultProperties!=null)return t.defaultProperties;for(var e=Gr({"selection-box-color":"#ddd","selection-box-opacity":.65,"selection-box-border-color":"#aaa","selection-box-border-width":1,"active-bg-color":"black","active-bg-opacity":.15,"active-bg-size":30,"outside-texture-bg-color":"#000","outside-texture-bg-opacity":.125,events:"yes","text-events":"no","text-valign":"top","text-halign":"center","text-justification":"auto","line-height":1,color:"#000","box-selection":"contain","text-outline-color":"#000","text-outline-width":0,"text-outline-opacity":1,"text-opacity":1,"text-decoration":"none","text-transform":"none","text-wrap":"none","text-overflow-wrap":"whitespace","text-max-width":9999,"text-background-color":"#000","text-background-opacity":0,"text-background-shape":"rectangle","text-background-padding":0,"text-border-opacity":0,"text-border-width":0,"text-border-style":"solid","text-border-color":"#000","font-family":"Helvetica Neue, Helvetica, sans-serif","font-style":"normal","font-weight":"normal","font-size":16,"min-zoomed-font-size":0,"text-rotation":"none","source-text-rotation":"none","target-text-rotation":"none",visibility:"visible",display:"element",opacity:1,"z-compound-depth":"auto","z-index-compare":"auto","z-index":0,label:"","text-margin-x":0,"text-margin-y":0,"source-label":"","source-text-offset":0,"source-text-margin-x":0,"source-text-margin-y":0,"target-label":"","target-text-offset":0,"target-text-margin-x":0,"target-text-margin-y":0,"overlay-opacity":0,"overlay-color":"#000","overlay-padding":10,"overlay-shape":"round-rectangle","overlay-corner-radius":"auto","underlay-opacity":0,"underlay-color":"#000","underlay-padding":10,"underlay-shape":"round-rectangle","underlay-corner-radius":"auto","text-metrics":"font","transition-property":"none","transition-duration":0,"transition-delay":0,"transition-timing-function":"linear","box-select-labels":"no","background-blacken":0,"background-color":"#999","background-fill":"solid","background-opacity":1,"background-image":"none","background-image-crossorigin":"anonymous","background-image-opacity":1,"background-image-containment":"inside","background-image-smoothing":"yes","background-position-x":"50%","background-position-y":"50%","background-offset-x":0,"background-offset-y":0,"background-width-relative-to":"include-padding","background-height-relative-to":"include-padding","background-repeat":"no-repeat","background-fit":"none","background-clip":"node","background-width":"auto","background-height":"auto","border-color":"#000","border-opacity":1,"border-width":0,"border-style":"solid","border-dash-pattern":[4,2],"border-dash-offset":0,"border-cap":"butt","border-join":"miter","border-position":"center","outline-color":"#999","outline-opacity":1,"outline-width":0,"outline-offset":0,"outline-style":"solid",height:30,width:30,shape:"ellipse","shape-polygon-points":"-1, -1, 1, -1, 1, 1, -1, 1","corner-radius":"auto","bounds-expansion":0,"background-gradient-direction":"to-bottom","background-gradient-stop-colors":"#999","background-gradient-stop-positions":"0%",ghost:"no","ghost-offset-y":0,"ghost-offset-x":0,"ghost-opacity":0,padding:0,"padding-relative-to":"width",position:"origin","compound-sizing-wrt-labels":"include","min-width":0,"min-width-bias-left":0,"min-width-bias-right":0,"min-height":0,"min-height-bias-top":0,"min-height-bias-bottom":0},{"pie-size":"100%","pie-hole":0,"pie-start-angle":"0deg"},[{name:"pie-{{i}}-background-color",value:"black"},{name:"pie-{{i}}-background-size",value:"0%"},{name:"pie-{{i}}-background-opacity",value:1}].reduce(function(l,u){for(var d=1;d<=is.pieBackgroundN;d++){var h=u.name.replace("{{i}}",d),f=u.value;l[h]=f}return l},{}),{"stripe-size":"100%","stripe-direction":"horizontal"},[{name:"stripe-{{i}}-background-color",value:"black"},{name:"stripe-{{i}}-background-size",value:"0%"},{name:"stripe-{{i}}-background-opacity",value:1}].reduce(function(l,u){for(var d=1;d<=is.stripeBackgroundN;d++){var h=u.name.replace("{{i}}",d),f=u.value;l[h]=f}return l},{}),{"line-style":"solid","line-color":"#999","line-fill":"solid","line-cap":"butt","line-opacity":1,"line-outline-width":0,"line-outline-color":"#000","line-gradient-stop-colors":"#999","line-gradient-stop-positions":"0%","control-point-step-size":40,"control-point-weights":.5,"segment-weights":.5,"segment-distances":20,"segment-radii":15,"radius-type":"arc-radius","taxi-turn":"50%","taxi-radius":15,"taxi-turn-min-distance":10,"taxi-direction":"auto","edge-distances":"intersection","curve-style":"haystack","haystack-radius":0,"arrow-scale":1,"loop-direction":"-45deg","loop-sweep":"-90deg","source-distance-from-node":0,"target-distance-from-node":0,"source-endpoint":"outside-to-node","target-endpoint":"outside-to-node","line-dash-pattern":[6,3],"line-dash-offset":0},[{name:"arrow-shape",value:"none"},{name:"arrow-color",value:"#999"},{name:"arrow-fill",value:"filled"},{name:"arrow-width",value:1}].reduce(function(l,u){return is.arrowPrefixes.forEach(function(d){var h=d+"-"+u.name,f=u.value;l[h]=f}),l},{})),r={},n=0;n<this.properties.length;n++){var i=this.properties[n];if(!i.pointsTo){var a=i.name,s=e[a],o=this.parse(a,s);r[a]=o}}return t.defaultProperties=r,t.defaultProperties};is.addDefaultStylesheet=function(){this.selector(":parent").css({shape:"rectangle",padding:10,"background-color":"#eee","border-color":"#ccc","border-width":1}).selector("edge").css({width:3}).selector(":loop").css({"curve-style":"bezier"}).selector("edge:compound").css({"curve-style":"bezier","source-endpoint":"outside-to-line","target-endpoint":"outside-to-line"}).selector(":selected").css({"background-color":"#0169D9","line-color":"#0169D9","source-arrow-color":"#0169D9","target-arrow-color":"#0169D9","mid-source-arrow-color":"#0169D9","mid-target-arrow-color":"#0169D9"}).selector(":parent:selected").css({"background-color":"#CCE1F9","border-color":"#aec8e5"}).selector(":active").css({"overlay-color":"black","overlay-padding":10,"overlay-opacity":.25}),this.defaultLength=this.length};var YP={};YP.parse=function(t,e,r,n){var i=this;if(Sa(e))return i.parseImplWarn(t,e,r,n);var a=n==="mapping"||n===!0||n===!1||n==null?"dontcare":n,s=r?"t":"f",o=""+e,l=TOe(t,o,s,a),u=i.propCache=i.propCache||[],d;return(d=u[l])||(d=u[l]=i.parseImplWarn(t,e,r,n)),(r||n==="mapping")&&(d=Nh(d),d&&(d.value=Nh(d.value))),d};YP.parseImplWarn=function(t,e,r,n){var i=this.parseImpl(t,e,r,n);return!i&&e!=null&&xi("The style property `".concat(t,": ").concat(e,"` is invalid")),i&&(i.name==="width"||i.name==="height")&&e==="label"&&xi("The style value of `label` is deprecated for `"+i.name+"`"),i};YP.parseImpl=function(t,e,r,n){var i=this;t=gre(t);var a=i.properties[t],s=e,o=i.types;if(!a||e===void 0)return null;a.alias&&(a=a.pointsTo,t=a.name);var l=Or(e);l&&(e=e.trim());var u=a.type;if(!u)return null;if(r&&(e===""||e===null))return{name:t,value:e,bypass:!0,deleteBypass:!0};if(Sa(e))return{name:t,value:e,strValue:"fn",mapped:o.fn,bypass:r};var d,h;if(!(!l||n||e.length<7||e[1]!=="a")){if(e.length>=7&&e[0]==="d"&&(d=new RegExp(o.data.regex).exec(e))){if(r)return!1;var f=o.data;return{name:t,value:d,strValue:""+e,mapped:f,field:d[1],bypass:r}}else if(e.length>=10&&e[0]==="m"&&(h=new RegExp(o.mapData.regex).exec(e))){if(r||u.multiple)return!1;var p=o.mapData;if(!(u.color||u.number))return!1;var g=this.parse(t,h[4]);if(!g||g.mapped)return!1;var m=this.parse(t,h[5]);if(!m||m.mapped)return!1;if(g.pfValue===m.pfValue||g.strValue===m.strValue)return xi("`"+t+": "+e+"` is not a valid mapper because the output range is zero; converting to `"+t+": "+g.strValue+"`"),this.parse(t,g.strValue);if(u.color){var U=g.value,y=m.value,b=U[0]===y[0]&&U[1]===y[1]&&U[2]===y[2]&&(U[3]===y[3]||(U[3]==null||U[3]===1)&&(y[3]==null||y[3]===1));if(b)return!1}return{name:t,value:h,strValue:""+e,mapped:p,field:h[1],fieldMin:parseFloat(h[2]),fieldMax:parseFloat(h[3]),valueMin:g.value,valueMax:m.value,bypass:r}}}if(u.multiple&&n!=="multiple"){var v;if(l?v=e.split(/\s+/):Ii(e)?v=e:v=[e],u.evenMultiple&&v.length%2!==0)return null;for(var w=[],T=[],S=[],C="",k=!1,E=0;E<v.length;E++){var A=i.parse(t,v[E],r,"multiple");k=k||Or(A.value),w.push(A.value),S.push(A.pfValue!=null?A.pfValue:A.value),T.push(A.units),C+=(E>0?" ":"")+A.strValue}return u.validate&&!u.validate(w,T)?null:u.singleEnum&&k?w.length===1&&Or(w[0])?{name:t,value:w[0],strValue:w[0],bypass:r}:null:{name:t,value:w,pfValue:S,strValue:C,bypass:r,units:T}}var M=function(){for(var Z=0;Z<u.enums.length;Z++){var J=u.enums[Z];if(J===e)return{name:t,value:e,strValue:""+e,bypass:r}}return null};if(u.number){var P,N="px";if(u.units&&(P=u.units),u.implicitUnits&&(N=u.implicitUnits),!u.unitless)if(l){var I="px|em"+(u.allowPercent?"|\\%":"");P&&(I=P);var L=e.match("^("+Os+")("+I+")?$");L&&(e=L[1],P=L[2]||N)}else(!P||u.implicitUnits)&&(P=N);if(e=parseFloat(e),isNaN(e)&&u.enums===void 0)return null;if(isNaN(e)&&u.enums!==void 0)return e=s,M();if(u.integer&&!dOe(e)||u.min!==void 0&&(e<u.min||u.strictMin&&e===u.min)||u.max!==void 0&&(e>u.max||u.strictMax&&e===u.max))return null;var _={name:t,value:e,strValue:""+e+(P||""),units:P,bypass:r};return u.unitless||P!=="px"&&P!=="em"?_.pfValue=e:_.pfValue=P==="px"||!P?e:this.getEmSizeInPixels()*e,(P==="ms"||P==="s")&&(_.pfValue=P==="ms"?e:1e3*e),(P==="deg"||P==="rad")&&(_.pfValue=P==="rad"?e:gZt(e)),P==="%"&&(_.pfValue=e/100),_}else if(u.propList){var D=[],O=""+e;if(O!=="none"){for(var B=O.split(/\s*,\s*|\s+/),F=0;F<B.length;F++){var z=B[F].trim();i.properties[z]?D.push(z):xi("`"+z+"` is not a valid property name")}if(D.length===0)return null}return{name:t,value:D,strValue:D.length===0?"none":D.join(" "),bypass:r}}else if(u.color){var $=mOe(e);return $?{name:t,value:$,pfValue:$,strValue:"rgb("+$[0]+","+$[1]+","+$[2]+")",bypass:r}:null}else if(u.regex||u.regexes){if(u.enums){var H=M();if(H)return H}for(var V=u.regexes?u.regexes:[u.regex],G=0;G<V.length;G++){var K=new RegExp(V[G]),W=K.exec(e);if(W)return{name:t,value:u.singleRegexMatchValue?W[1]:W,strValue:""+e,bypass:r}}return null}else return u.string?{name:t,value:""+e,strValue:""+e,bypass:r}:u.enums?M():null};var io=function(e){if(!(this instanceof io))return new io(e);if(!pre(e)){ca("A style must have a core reference");return}this._private={cy:e,coreStyle:{}},this.length=0,this.resetToDefault()},il=io.prototype;il.instanceString=function(){return"style"};il.clear=function(){for(var t=this._private,e=t.cy,r=e.elements(),n=0;n<this.length;n++)this[n]=void 0;return this.length=0,t.contextStyles={},t.propDiffs={},this.cleanElements(r,!0),r.forEach(function(i){var a=i[0]._private;a.styleDirty=!0,a.appliedInitStyle=!1}),this};il.resetToDefault=function(){return this.clear(),this.addDefaultStylesheet(),this};il.core=function(t){return this._private.coreStyle[t]||this.getDefaultProperty(t)};il.selector=function(t){var e=t==="core"?null:new s1(t),r=this.length++;return this[r]={selector:e,properties:[],mappedProperties:[],index:r},this};il.css=function(){var t=this,e=arguments;if(e.length===1)for(var r=e[0],n=0;n<t.properties.length;n++){var i=t.properties[n],a=r[i.name];a===void 0&&(a=r[OP(i.name)]),a!==void 0&&this.cssRule(i.name,a)}else e.length===2&&this.cssRule(e[0],e[1]);return this};il.style=il.css;il.cssRule=function(t,e){var r=this.parse(t,e);if(r){var n=this.length-1;this[n].properties.push(r),this[n].properties[r.name]=r,r.name.match(/pie-(\d+)-background-size/)&&r.value&&(this._private.hasPie=!0),r.name.match(/stripe-(\d+)-background-size/)&&r.value&&(this._private.hasStripe=!0),r.mapped&&this[n].mappedProperties.push(r);var i=!this[n].selector;i&&(this._private.coreStyle[r.name]=r)}return this};il.append=function(t){return fOe(t)?t.appendToStyle(this):Ii(t)?this.appendFromJson(t):Or(t)&&this.appendFromString(t),this};io.fromJson=function(t,e){var r=new io(t);return r.fromJson(e),r};io.fromString=function(t,e){return new io(t).fromString(e)};[co,RS,Rre,Qh,jP,Ire,is,YP].forEach(function(t){Gr(il,t)});io.types=il.types;io.properties=il.properties;io.propertyGroups=il.propertyGroups;io.propertyGroupNames=il.propertyGroupNames;io.propertyGroupKeys=il.propertyGroupKeys;var ver={style:function(e){if(e){var r=this.setStyle(e);r.update()}return this._private.style},setStyle:function(e){var r=this._private;return fOe(e)?r.style=e.generateStyle(this):Ii(e)?r.style=io.fromJson(this,e):Or(e)?r.style=io.fromString(this,e):r.style=io(this),r.style},updateStyle:function(){this.mutableElements().updateStyle()}},xer="single",d5={autolock:function(e){if(e!==void 0)this._private.autolock=!!e;else return this._private.autolock;return this},autoungrabify:function(e){if(e!==void 0)this._private.autoungrabify=!!e;else return this._private.autoungrabify;return this},autounselectify:function(e){if(e!==void 0)this._private.autounselectify=!!e;else return this._private.autounselectify;return this},selectionType:function(e){var r=this._private;if(r.selectionType==null&&(r.selectionType=xer),e!==void 0)(e==="additive"||e==="single")&&(r.selectionType=e);else return r.selectionType;return this},panningEnabled:function(e){if(e!==void 0)this._private.panningEnabled=!!e;else return this._private.panningEnabled;return this},userPanningEnabled:function(e){if(e!==void 0)this._private.userPanningEnabled=!!e;else return this._private.userPanningEnabled;return this},zoomingEnabled:function(e){if(e!==void 0)this._private.zoomingEnabled=!!e;else return this._private.zoomingEnabled;return this},userZoomingEnabled:function(e){if(e!==void 0)this._private.userZoomingEnabled=!!e;else return this._private.userZoomingEnabled;return this},boxSelectionEnabled:function(e){if(e!==void 0)this._private.boxSelectionEnabled=!!e;else return this._private.boxSelectionEnabled;return this},pan:function(){var e=arguments,r=this._private.pan,n,i,a,s,o;switch(e.length){case 0:return r;case 1:if(Or(e[0]))return n=e[0],r[n];if(ei(e[0])){if(!this._private.panningEnabled)return this;a=e[0],s=a.x,o=a.y,Jt(s)&&(r.x=s),Jt(o)&&(r.y=o),this.emit("pan viewport")}break;case 2:if(!this._private.panningEnabled)return this;n=e[0],i=e[1],(n==="x"||n==="y")&&Jt(i)&&(r[n]=i),this.emit("pan viewport");break}return this.notify("viewport"),this},panBy:function(e,r){var n=arguments,i=this._private.pan,a,s,o,l,u;if(!this._private.panningEnabled)return this;switch(n.length){case 1:ei(e)&&(o=n[0],l=o.x,u=o.y,Jt(l)&&(i.x+=l),Jt(u)&&(i.y+=u),this.emit("pan viewport"));break;case 2:a=e,s=r,(a==="x"||a==="y")&&Jt(s)&&(i[a]+=s),this.emit("pan viewport");break}return this.notify("viewport"),this},gc:function(){this.notify("gc")},fit:function(e,r){var n=this.getFitViewport(e,r);if(n){var i=this._private;i.zoom=n.zoom,i.pan=n.pan,this.emit("pan zoom viewport"),this.notify("viewport")}return this},getFitViewport:function(e,r){if(Jt(e)&&r===void 0&&(r=e,e=void 0),!(!this._private.panningEnabled||!this._private.zoomingEnabled)){var n;if(Or(e)){var i=e;e=this.$(i)}else if(oKt(e)){var a=e;n={x1:a.x1,y1:a.y1,x2:a.x2,y2:a.y2},n.w=n.x2-n.x1,n.h=n.y2-n.y1}else Jc(e)||(e=this.mutableElements());if(!(Jc(e)&&e.empty())){n=n||e.boundingBox();var s=this.width(),o=this.height(),l;if(r=Jt(r)?r:0,!isNaN(s)&&!isNaN(o)&&s>0&&o>0&&!isNaN(n.w)&&!isNaN(n.h)&&n.w>0&&n.h>0){l=Math.min((s-2*r)/n.w,(o-2*r)/n.h),l=l>this._private.maxZoom?this._private.maxZoom:l,l=l<this._private.minZoom?this._private.minZoom:l;var u={x:(s-l*(n.x1+n.x2))/2,y:(o-l*(n.y1+n.y2))/2};return{zoom:l,pan:u}}}}},zoomRange:function(e,r){var n=this._private;if(r==null){var i=e;e=i.min,r=i.max}return Jt(e)&&Jt(r)&&e<=r?(n.minZoom=e,n.maxZoom=r):Jt(e)&&r===void 0&&e<=n.maxZoom?n.minZoom=e:Jt(r)&&e===void 0&&r>=n.minZoom&&(n.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,n=r.pan,i=r.zoom,a,s,o=!1;if(r.zoomingEnabled||(o=!0),Jt(e)?s=e:ei(e)&&(s=e.level,e.position!=null?a=_P(e.position,i,n):e.renderedPosition!=null&&(a=e.renderedPosition),a!=null&&!r.panningEnabled&&(o=!0)),s=s>r.maxZoom?r.maxZoom:s,s=s<r.minZoom?r.minZoom:s,o||!Jt(s)||s===i||a!=null&&(!Jt(a.x)||!Jt(a.y)))return null;if(a!=null){var l=n,u=i,d=s,h={x:-d/u*(a.x-l.x)+a.x,y:-d/u*(a.y-l.y)+a.y};return{zoomed:!0,panned:!0,zoom:d,pan:h}}else return{zoomed:!0,panned:!1,zoom:s,pan:n}},zoom:function(e){if(e===void 0)return this._private.zoom;var r=this.getZoomedViewport(e),n=this._private;return r==null||!r.zoomed?this:(n.zoom=r.zoom,r.panned&&(n.pan.x=r.pan.x,n.pan.y=r.pan.y),this.emit("zoom"+(r.panned?" pan":"")+" viewport"),this.notify("viewport"),this)},viewport:function(e){var r=this._private,n=!0,i=!0,a=[],s=!1,o=!1;if(!e)return this;if(Jt(e.zoom)||(n=!1),ei(e.pan)||(i=!1),!n&&!i)return this;if(n){var l=e.zoom;l<r.minZoom||l>r.maxZoom||!r.zoomingEnabled?s=!0:(r.zoom=l,a.push("zoom"))}if(i&&(!s||!e.cancelOnFailedZoom)&&r.panningEnabled){var u=e.pan;Jt(u.x)&&(r.pan.x=u.x,o=!1),Jt(u.y)&&(r.pan.y=u.y,o=!1),o||a.push("pan")}return a.length>0&&(a.push("viewport"),this.emit(a.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(Or(e)){var n=e;e=this.mutableElements().filter(n)}else Jc(e)||(e=this.mutableElements());if(e.length!==0){var i=e.boundingBox(),a=this.width(),s=this.height();r=r===void 0?this._private.zoom:r;var o={x:(a-r*(i.x1+i.x2))/2,y:(s-r*(i.y1+i.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,n=this;return e.sizeCache=e.sizeCache||(r?(function(){var i=n.window().getComputedStyle(r),a=function(o){return parseFloat(i.getPropertyValue(o))};return{width:r.clientWidth-a("padding-left")-a("padding-right"),height:r.clientHeight-a("padding-top")-a("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,n=this.renderedExtent(),i={x1:(n.x1-e.x)/r,x2:(n.x2-e.x)/r,y1:(n.y1-e.y)/r,y2:(n.y2-e.y)/r};return i.w=i.x2-i.x1,i.h=i.y2-i.y1,i},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}};d5.centre=d5.center;d5.autolockNodes=d5.autolock;d5.autoungrabifyNodes=d5.autoungrabify;var QT={data:bi.data({field:"data",bindingEvent:"data",allowBinding:!0,allowSetting:!0,settingEvent:"data",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeData:bi.removeData({field:"data",event:"data",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0}),scratch:bi.data({field:"scratch",bindingEvent:"scratch",allowBinding:!0,allowSetting:!0,settingEvent:"scratch",settingTriggersEvent:!0,triggerFnName:"trigger",allowGetting:!0,updateStyle:!0}),removeScratch:bi.removeData({field:"scratch",event:"scratch",triggerFnName:"trigger",triggerEvent:!0,updateStyle:!0})};QT.attr=QT.data;QT.removeAttr=QT.removeData;var eC=function(e){var r=this;e=Gr({},e);var n=e.container;n&&!QL(n)&&QL(n[0])&&(n=n[0]);var i=n?n._cyreg:null;i=i||{},i&&i.cy&&(i.cy.destroy(),i={});var a=i.readies=i.readies||[];n&&(n._cyreg=i),i.cy=r;var s=ks!==void 0&&n!==void 0&&!e.headless,o=e;o.layout=Gr({name:s?"grid":"null"},o.layout),o.renderer=Gr({name:s?"canvas":"null"},o.renderer);var l=function(g,m,U){return m!==void 0?m:U!==void 0?U:g},u=this._private={container:n,ready:!1,options:o,elements:new No(this),listeners:[],aniEles:new No(this),data:o.data||{},scratch:{},layout:null,renderer:null,destroyed:!1,notificationsEnabled:!0,minZoom:1e-50,maxZoom:1e50,zoomingEnabled:l(!0,o.zoomingEnabled),userZoomingEnabled:l(!0,o.userZoomingEnabled),panningEnabled:l(!0,o.panningEnabled),userPanningEnabled:l(!0,o.userPanningEnabled),boxSelectionEnabled:l(!0,o.boxSelectionEnabled),autolock:l(!1,o.autolock,o.autolockNodes),autoungrabify:l(!1,o.autoungrabify,o.autoungrabifyNodes),autounselectify:l(!1,o.autounselectify),styleEnabled:o.styleEnabled===void 0?s:o.styleEnabled,zoom:Jt(o.zoom)?o.zoom:1,pan:{x:ei(o.pan)&&Jt(o.pan.x)?o.pan.x:0,y:ei(o.pan)&&Jt(o.pan.y)?o.pan.y:0},animation:{current:[],queue:[]},hasCompoundNodes:!1,multiClickDebounceTime:l(250,o.multiClickDebounceTime)};this.createEmitter(),this.selectionType(o.selectionType),this.zoomRange({min:o.minZoom,max:o.maxZoom});var d=function(g,m){var U=g.some(lKt);if(U)return f3.all(g).then(m);m(g)};u.styleEnabled&&r.setStyle([]);var h=Gr({},o,o.renderer);r.initRenderer(h);var f=function(g,m,U){r.notifications(!1);var y=r.mutableElements();y.length>0&&y.remove(),g!=null&&(ei(g)||Ii(g))&&r.add(g),r.one("layoutready",function(v){r.notifications(!0),r.emit(v),r.one("load",m),r.emitAndNotify("load")}).one("layoutstop",function(){r.one("done",U),r.emit("done")});var b=Gr({},r._private.options.layout);b.eles=r.elements(),r.layout(b).run()};d([o.style,o.elements],function(p){var g=p[0],m=p[1];u.styleEnabled&&r.style().append(g),f(m,function(){r.startAnimationLoop(),u.ready=!0,Sa(o.ready)&&r.on("ready",o.ready);for(var U=0;U<a.length;U++){var y=a[U];r.on("ready",y)}i&&(i.readies=[]),r.emit("ready")},o.done)})},sN=eC.prototype;Gr(sN,{instanceString:function(){return"core"},isReady:function(){return this._private.ready},destroyed:function(){return this._private.destroyed},ready:function(e){return this.isReady()?this.emitter().emit("ready",[],e):this.on("ready",e),this},destroy:function(){var e=this;if(!e.destroyed())return e.stopAnimationLoop(),e.destroyRenderer(),this.emit("destroy"),e._private.destroyed=!0,e},hasElementWithId:function(e){return this._private.elements.hasElementWithId(e)},getElementById:function(e){return this._private.elements.getElementById(e)},hasCompoundNodes:function(){return this._private.hasCompoundNodes},headless:function(){return this._private.renderer.isHeadless()},styleEnabled:function(){return this._private.styleEnabled},addToPool:function(e){return this._private.elements.merge(e),this},removeFromPool:function(e){return this._private.elements.unmerge(e),this},container:function(){return this._private.container||null},window:function(){var e=this._private.container;if(e==null)return ks;var r=this._private.container.ownerDocument;return r===void 0||r==null?ks:r.defaultView||ks},mount:function(e){if(e!=null){var r=this,n=r._private,i=n.options;return!QL(e)&&QL(e[0])&&(e=e[0]),r.stopAnimationLoop(),r.destroyRenderer(),n.container=e,n.styleEnabled=!0,r.invalidateSize(),r.initRenderer(Gr({},i,i.renderer,{name:i.renderer.name==="null"?"canvas":i.renderer.name})),r.startAnimationLoop(),r.style(i.style),r.emit("mount"),r}},unmount:function(){var e=this;return e.stopAnimationLoop(),e.destroyRenderer(),e.initRenderer({name:"null"}),e.emit("unmount"),e},options:function(){return Nh(this._private.options)},json:function(e){var r=this,n=r._private,i=r.mutableElements(),a=function(w){return r.getElementById(w.id())};if(ei(e)){if(r.startBatch(),e.elements){var s={},o=function(w,T){for(var S=[],C=[],k=0;k<w.length;k++){var E=w[k];if(!E.data.id){xi("cy.json() cannot handle elements without an ID attribute");continue}var A=""+E.data.id,M=r.getElementById(A);s[A]=!0,M.length!==0?C.push({ele:M,json:E}):(T&&(E.group=T),S.push(E))}r.add(S);for(var P=0;P<C.length;P++){var N=C[P],I=N.ele,L=N.json;I.json(L)}};if(Ii(e.elements))o(e.elements);else for(var l=["nodes","edges"],u=0;u<l.length;u++){var d=l[u],h=e.elements[d];Ii(h)&&o(h,d)}var f=r.collection();i.filter(function(v){return!s[v.id()]}).forEach(function(v){v.isParent()?f.merge(v):v.remove()}),f.forEach(function(v){return v.children().move({parent:null})}),f.forEach(function(v){return a(v).remove()})}e.style&&r.style(e.style),e.zoom!=null&&e.zoom!==n.zoom&&r.zoom(e.zoom),e.pan&&(e.pan.x!==n.pan.x||e.pan.y!==n.pan.y)&&r.pan(e.pan),e.data&&r.data(e.data);for(var p=["minZoom","maxZoom","zoomingEnabled","userZoomingEnabled","panningEnabled","userPanningEnabled","boxSelectionEnabled","autolock","autoungrabify","autounselectify","multiClickDebounceTime"],g=0;g<p.length;g++){var m=p[g];e[m]!=null&&r[m](e[m])}return r.endBatch(),this}else{var U=!!e,y={};U?y.elements=this.elements().map(function(v){return v.json()}):(y.elements={},i.forEach(function(v){var w=v.group();y.elements[w]||(y.elements[w]=[]),y.elements[w].push(v.json())})),this._private.styleEnabled&&(y.style=r.style().json()),y.data=Nh(r.data());var b=n.options;return y.zoomingEnabled=n.zoomingEnabled,y.userZoomingEnabled=n.userZoomingEnabled,y.zoom=n.zoom,y.minZoom=n.minZoom,y.maxZoom=n.maxZoom,y.panningEnabled=n.panningEnabled,y.userPanningEnabled=n.userPanningEnabled,y.pan=Nh(n.pan),y.boxSelectionEnabled=n.boxSelectionEnabled,y.renderer=Nh(b.renderer),y.hideEdgesOnViewport=b.hideEdgesOnViewport,y.textureOnViewport=b.textureOnViewport,y.wheelSensitivity=b.wheelSensitivity,y.motionBlur=b.motionBlur,y.multiClickDebounceTime=b.multiClickDebounceTime,y}}});sN.$id=sN.getElementById;[uer,ger,pDe,rY,bM,Uer,nY,vM,ver,d5,QT].forEach(function(t){Gr(sN,t)});var wer={fit:!0,directed:!1,direction:"downward",padding:30,circle:!1,grid:!1,spacingFactor:1.75,boundingBox:void 0,avoidOverlap:!0,nodeDimensionsIncludeLabels:!1,roots:void 0,depthSort: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}},Ter={maximal:!1,acyclic:!1},Iy=function(e){return e.scratch("breadthfirst")},Lme=function(e,r){return e.scratch("breadthfirst",r)};function gDe(t){this.options=Gr({},wer,Ter,t)}gDe.prototype.run=function(){var t=this.options,e=t.cy,r=t.eles,n=r.nodes().filter(function(de){return de.isChildless()}),i=r,a=t.directed,s=t.acyclic||t.maximal||t.maximalAdjustments>0,o=!!t.boundingBox,l=Gl(o?t.boundingBox:structuredClone(e.extent())),u;if(Jc(t.roots))u=t.roots;else if(Ii(t.roots)){for(var d=[],h=0;h<t.roots.length;h++){var f=t.roots[h],p=e.getElementById(f);d.push(p)}u=e.collection(d)}else if(Or(t.roots))u=e.$(t.roots);else if(a)u=n.roots();else{var g=r.components();u=e.collection();for(var m=function(){var we=g[U],ge=we.maxDegree(!1),ze=we.filter(function(xe){return xe.degree(!1)===ge});u=u.add(ze)},U=0;U<g.length;U++)m()}var y=[],b={},v=function(we,ge){y[ge]==null&&(y[ge]=[]);var ze=y[ge].length;y[ge].push(we),Lme(we,{index:ze,depth:ge})},w=function(we,ge){var ze=Iy(we),xe=ze.depth,Ee=ze.index;y[xe][Ee]=null,we.isChildless()&&v(we,ge)};i.bfs({roots:u,directed:t.directed,visit:function(we,ge,ze,xe,Ee){var qe=we[0],le=qe.id();qe.isChildless()&&v(qe,Ee),b[le]=!0}});for(var T=[],S=0;S<n.length;S++){var C=n[S];b[C.id()]||T.push(C)}var k=function(we){for(var ge=y[we],ze=0;ze<ge.length;ze++){var xe=ge[ze];if(xe==null){ge.splice(ze,1),ze--;continue}Lme(xe,{depth:we,index:ze})}},E=function(we,ge){for(var ze=Iy(we),xe=we.incomers().filter(function(Y){return Y.isNode()&&r.has(Y)}),Ee=-1,qe=we.id(),le=0;le<xe.length;le++){var pe=xe[le],Te=Iy(pe);Ee=Math.max(Ee,Te.depth)}if(ze.depth<=Ee){if(!t.acyclic&&ge[qe])return null;var re=Ee+1;return w(we,re),ge[qe]=re,!0}return!1};if(a&&s){var A=[],M={},P=function(we){return A.push(we)},N=function(){return A.shift()};for(n.forEach(function(de){return A.push(de)});A.length>0;){var I=N(),L=E(I,M);if(L)I.outgoers().filter(function(de){return de.isNode()&&r.has(de)}).forEach(P);else if(L===null){xi("Detected double maximal shift for node `"+I.id()+"`. Bailing maximal adjustment due to cycle. Use `options.maximal: true` only on DAGs.");break}}}var _=0;if(t.avoidOverlap)for(var D=0;D<n.length;D++){var O=n[D],B=O.layoutDimensions(t),F=B.w,z=B.h;_=Math.max(_,F,z)}var $={},H=function(we){if($[we.id()])return $[we.id()];for(var ge=Iy(we).depth,ze=we.neighborhood(),xe=0,Ee=0,qe=0;qe<ze.length;qe++){var le=ze[qe];if(!(le.isEdge()||le.isParent()||!n.has(le))){var pe=Iy(le);if(pe!=null){var Te=pe.index,re=pe.depth;if(!(Te==null||re==null)){var Y=y[re].length;re<ge&&(xe+=Te/Y,Ee++)}}}}return Ee=Math.max(1,Ee),xe=xe/Ee,Ee===0&&(xe=0),$[we.id()]=xe,xe},V=function(we,ge){var ze=H(we),xe=H(ge),Ee=ze-xe;return Ee===0?gOe(we.id(),ge.id()):Ee};t.depthSort!==void 0&&(V=t.depthSort);for(var G=y.length,K=0;K<G;K++)y[K].sort(V),k(K);for(var W=[],oe=0;oe<T.length;oe++)W.push(T[oe]);var Z=function(){for(var we=0;we<G;we++)k(we)};W.length&&(y.unshift(W),G=y.length,Z());for(var J=0,ne=0;ne<G;ne++)J=Math.max(y[ne].length,J);var ie={x:l.x1+l.w/2,y:l.y1+l.h/2},me=n.reduce(function(de,we){return(function(ge){return{w:de.w===-1?ge.w:(de.w+ge.w)/2,h:de.h===-1?ge.h:(de.h+ge.h)/2}})(we.boundingBox({includeLabels:t.nodeDimensionsIncludeLabels}))},{w:-1,h:-1}),te=Math.max(G===1?0:o?(l.h-t.padding*2-me.h)/(G-1):(l.h-t.padding*2-me.h)/(G+1),_),Re=y.reduce(function(de,we){return Math.max(de,we.length)},0),_e=function(we){var ge=Iy(we),ze=ge.depth,xe=ge.index;if(t.circle){var Ee=Math.min(l.w/2/G,l.h/2/G);Ee=Math.max(Ee,_);var qe=Ee*ze+Ee-(G>0&&y[0].length<=3?Ee/2:0),le=2*Math.PI/y[ze].length*xe;return ze===0&&y[0].length===1&&(qe=1),{x:ie.x+qe*Math.cos(le),y:ie.y+qe*Math.sin(le)}}else{var pe=y[ze].length,Te=Math.max(pe===1?0:o?(l.w-t.padding*2-me.w)/((t.grid?Re:pe)-1):(l.w-t.padding*2-me.w)/((t.grid?Re:pe)+1),_),re={x:ie.x+(xe+1-(pe+1)/2)*Te,y:ie.y+(ze+1-(G+1)/2)*te};return re}},He={downward:0,leftward:90,upward:180,rightward:-90};Object.keys(He).indexOf(t.direction)===-1&&ca("Invalid direction '".concat(t.direction,"' specified for breadthfirst layout. Valid values are: ").concat(Object.keys(He).join(", ")));var ce=function(we){return _Kt(_e(we),l,He[t.direction])};return r.nodes().layoutPositions(this,t,ce),this};var Cer={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 mDe(t){this.options=Gr({},Cer,t)}mDe.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,a=n.nodes().not(":parent");e.sort&&(a=a.sort(e.sort));for(var s=Gl(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},l=e.sweep===void 0?2*Math.PI-2*Math.PI/a.length:e.sweep,u=l/Math.max(1,a.length-1),d,h=0,f=0;f<a.length;f++){var p=a[f],g=p.layoutDimensions(e),m=g.w,U=g.h;h=Math.max(h,m,U)}if(Jt(e.radius)?d=e.radius:a.length<=1?d=0:d=Math.min(s.h,s.w)/2-h,a.length>1&&e.avoidOverlap){h*=1.75;var y=Math.cos(u)-Math.cos(0),b=Math.sin(u)-Math.sin(0),v=Math.sqrt(h*h/(y*y+b*b));d=Math.max(v,d)}var w=function(S,C){var k=e.startAngle+C*u*(i?1:-1),E=d*Math.cos(k),A=d*Math.sin(k),M={x:o.x+E,y:o.y+A};return M};return n.nodes().layoutPositions(this,e,w),this};var Ser={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 UDe(t){this.options=Gr({},Ser,t)}UDe.prototype.run=function(){for(var t=this.options,e=t,r=e.counterclockwise!==void 0?!e.counterclockwise:e.clockwise,n=t.cy,i=e.eles,a=i.nodes().not(":parent"),s=Gl(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:n.width(),h:n.height()}),o={x:s.x1+s.w/2,y:s.y1+s.h/2},l=[],u=0,d=0;d<a.length;d++){var h=a[d],f=void 0;f=e.concentric(h),l.push({value:f,node:h}),h._private.scratch.concentric=f}a.updateStyle();for(var p=0;p<a.length;p++){var g=a[p],m=g.layoutDimensions(e);u=Math.max(u,m.w,m.h)}l.sort(function(te,Re){return Re.value-te.value});for(var U=e.levelWidth(a),y=[[]],b=y[0],v=0;v<l.length;v++){var w=l[v];if(b.length>0){var T=Math.abs(b[0].value-w.value);T>=U&&(b=[],y.push(b))}b.push(w)}var S=u+e.minNodeSpacing;if(!e.avoidOverlap){var C=y.length>0&&y[0].length>1,k=Math.min(s.w,s.h)/2-S,E=k/(y.length+C?1:0);S=Math.min(S,E)}for(var A=0,M=0;M<y.length;M++){var P=y[M],N=e.sweep===void 0?2*Math.PI-2*Math.PI/P.length:e.sweep,I=P.dTheta=N/Math.max(1,P.length-1);if(P.length>1&&e.avoidOverlap){var L=Math.cos(I)-Math.cos(0),_=Math.sin(I)-Math.sin(0),D=Math.sqrt(S*S/(L*L+_*_));A=Math.max(D,A)}P.r=A,A+=S}if(e.equidistant){for(var O=0,B=0,F=0;F<y.length;F++){var z=y[F],$=z.r-B;O=Math.max(O,$)}B=0;for(var H=0;H<y.length;H++){var V=y[H];H===0&&(B=V.r),V.r=B,B+=O}}for(var G={},K=0;K<y.length;K++)for(var W=y[K],oe=W.dTheta,Z=W.r,J=0;J<W.length;J++){var ne=W[J],ie=e.startAngle+(r?1:-1)*oe*J,me={x:o.x+Z*Math.cos(ie),y:o.y+Z*Math.sin(ie)};G[ne.node.id()]=me}return i.nodes().layoutPositions(this,e,function(te){var Re=te.id();return G[Re]}),this};var kH,ker={ready:function(){},stop:function(){},animate:!0,animationEasing:void 0,animationDuration:void 0,animateFilter:function(e,r){return!0},animationThreshold:250,refresh:20,fit:!0,padding:30,boundingBox:void 0,nodeDimensionsIncludeLabels:!1,randomize:!1,componentSpacing:40,nodeRepulsion:function(e){return 2048},nodeOverlap:4,idealEdgeLength:function(e){return 32},edgeElasticity:function(e){return 32},nestingFactor:1.2,gravity:1,numIter:1e3,initialTemp:1e3,coolingFactor:.99,minTemp:1};function XP(t){this.options=Gr({},ker,t),this.options.layout=this;var e=this.options.eles.nodes(),r=this.options.eles.edges(),n=r.filter(function(i){var a=i.source().data("id"),s=i.target().data("id"),o=e.some(function(u){return u.data("id")===a}),l=e.some(function(u){return u.data("id")===s});return!o||!l});this.options.eles=this.options.eles.not(n)}XP.prototype.run=function(){var t=this.options,e=t.cy,r=this;r.stopped=!1,(t.animate===!0||t.animate===!1)&&r.emit({type:"layoutstart",layout:r}),t.debug===!0?kH=!0:kH=!1;var n=Eer(e,r,t);kH&&Mer(n),t.randomize&&Rer(n);var i=F0(),a=function(){Ier(n,e,t),t.fit===!0&&e.fit(t.padding)},s=function(f){return!(r.stopped||f>=t.numIter||(Ler(n,t),n.temperature=n.temperature*t.coolingFactor,n.temperature<t.minTemp))},o=function(){if(t.animate===!0||t.animate===!1)a(),r.one("layoutstop",t.stop),r.emit({type:"layoutstop",layout:r});else{var f=t.eles.nodes(),p=bDe(n,t,f);f.layoutPositions(r,t,p)}},l=0,u=!0;if(t.animate===!0){var d=function(){for(var f=0;u&&f<t.refresh;)u=s(l),l++,f++;if(!u)Ome(n,t),o();else{var p=F0();p-i>=t.animationThreshold&&a(),eN(d)}};d()}else{for(;u;)u=s(l),l++;Ome(n,t),o()}return this};XP.prototype.stop=function(){return this.stopped=!0,this.thread&&this.thread.stop(),this.emit("layoutstop"),this};XP.prototype.destroy=function(){return this.thread&&this.thread.stop(),this};var Eer=function(e,r,n){for(var i=n.eles.edges(),a=n.eles.nodes(),s=Gl(n.boundingBox?n.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),o={isCompound:e.hasCompoundNodes(),layoutNodes:[],idToIndex:{},nodeSize:a.size(),graphSet:[],indexToGraph:[],layoutEdges:[],edgeSize:i.size(),temperature:n.initialTemp,clientWidth:s.w,clientHeight:s.h,boundingBox:s},l=n.eles.components(),u={},d=0;d<l.length;d++)for(var h=l[d],f=0;f<h.length;f++){var p=h[f];u[p.id()]=d}for(var d=0;d<o.nodeSize;d++){var g=a[d],m=g.layoutDimensions(n),U={};U.isLocked=g.locked(),U.id=g.data("id"),U.parentId=g.data("parent"),U.cmptId=u[g.id()],U.children=[],U.positionX=g.position("x"),U.positionY=g.position("y"),U.offsetX=0,U.offsetY=0,U.height=m.w,U.width=m.h,U.maxX=U.positionX+U.width/2,U.minX=U.positionX-U.width/2,U.maxY=U.positionY+U.height/2,U.minY=U.positionY-U.height/2,U.padLeft=parseFloat(g.style("padding")),U.padRight=parseFloat(g.style("padding")),U.padTop=parseFloat(g.style("padding")),U.padBottom=parseFloat(g.style("padding")),U.nodeRepulsion=Sa(n.nodeRepulsion)?n.nodeRepulsion(g):n.nodeRepulsion,o.layoutNodes.push(U),o.idToIndex[U.id]=d}for(var y=[],b=0,v=-1,w=[],d=0;d<o.nodeSize;d++){var g=o.layoutNodes[d],T=g.parentId;T!=null?o.layoutNodes[o.idToIndex[T]].children.push(g.id):(y[++v]=g.id,w.push(g.id))}for(o.graphSet.push(w);b<=v;){var S=y[b++],C=o.idToIndex[S],p=o.layoutNodes[C],k=p.children;if(k.length>0){o.graphSet.push(k);for(var d=0;d<k.length;d++)y[++v]=k[d]}}for(var d=0;d<o.graphSet.length;d++)for(var E=o.graphSet[d],f=0;f<E.length;f++){var A=o.idToIndex[E[f]];o.indexToGraph[A]=d}for(var d=0;d<o.edgeSize;d++){var M=i[d],P={};P.id=M.data("id"),P.sourceId=M.data("source"),P.targetId=M.data("target");var N=Sa(n.idealEdgeLength)?n.idealEdgeLength(M):n.idealEdgeLength,I=Sa(n.edgeElasticity)?n.edgeElasticity(M):n.edgeElasticity,L=o.idToIndex[P.sourceId],_=o.idToIndex[P.targetId],D=o.indexToGraph[L],O=o.indexToGraph[_];if(D!=O){for(var B=Aer(P.sourceId,P.targetId,o),F=o.graphSet[B],z=0,U=o.layoutNodes[L];F.indexOf(U.id)===-1;)U=o.layoutNodes[o.idToIndex[U.parentId]],z++;for(U=o.layoutNodes[_];F.indexOf(U.id)===-1;)U=o.layoutNodes[o.idToIndex[U.parentId]],z++;N*=z*n.nestingFactor}P.idealLength=N,P.elasticity=I,o.layoutEdges.push(P)}return o},Aer=function(e,r,n){var i=yDe(e,r,0,n);return 2>i.count?0:i.graph},yDe=function(e,r,n,i){var a=i.graphSet[n];if(-1<a.indexOf(e)&&-1<a.indexOf(r))return{count:2,graph:n};for(var s=0,o=0;o<a.length;o++){var l=a[o],u=i.idToIndex[l],d=i.layoutNodes[u].children;if(d.length!==0){var h=i.indexToGraph[i.idToIndex[d[0]]],f=yDe(e,r,h,i);if(f.count!==0)if(f.count===1){if(s++,s===2)break}else return f}}return{count:s,graph:n}},Mer,Rer=function(e,r){for(var n=e.clientWidth,i=e.clientHeight,a=0;a<e.nodeSize;a++){var s=e.layoutNodes[a];s.children.length===0&&!s.isLocked&&(s.positionX=Math.random()*n,s.positionY=Math.random()*i)}},bDe=function(e,r,n){var i=e.boundingBox,a={x1:1/0,x2:-1/0,y1:1/0,y2:-1/0};return r.boundingBox&&(n.forEach(function(s){var o=e.layoutNodes[e.idToIndex[s.data("id")]];a.x1=Math.min(a.x1,o.positionX),a.x2=Math.max(a.x2,o.positionX),a.y1=Math.min(a.y1,o.positionY),a.y2=Math.max(a.y2,o.positionY)}),a.w=a.x2-a.x1,a.h=a.y2-a.y1),function(s,o){var l=e.layoutNodes[e.idToIndex[s.data("id")]];if(r.boundingBox){var u=a.w===0?.5:(l.positionX-a.x1)/a.w,d=a.h===0?.5:(l.positionY-a.y1)/a.h;return{x:i.x1+u*i.w,y:i.y1+d*i.h}}else return{x:l.positionX,y:l.positionY}}},Ier=function(e,r,n){var i=n.layout,a=n.eles.nodes(),s=bDe(e,n,a);a.positions(s),e.ready!==!0&&(e.ready=!0,i.one("layoutready",n.ready),i.emit({type:"layoutready",layout:this}))},Ler=function(e,r,n){Ner(e,r),Per(e),_er(e,r),Ber(e),$er(e)},Ner=function(e,r){for(var n=0;n<e.graphSet.length;n++)for(var i=e.graphSet[n],a=i.length,s=0;s<a;s++)for(var o=e.layoutNodes[e.idToIndex[i[s]]],l=s+1;l<a;l++){var u=e.layoutNodes[e.idToIndex[i[l]]];Oer(o,u,e,r)}},Nme=function(e){return-e+2*e*Math.random()},Oer=function(e,r,n,i){var a=e.cmptId,s=r.cmptId;if(!(a!==s&&!n.isCompound)){var o=r.positionX-e.positionX,l=r.positionY-e.positionY,u=1;o===0&&l===0&&(o=Nme(u),l=Nme(u));var d=Der(e,r,o,l);if(d>0)var h=i.nodeOverlap*d,f=Math.sqrt(o*o+l*l),p=h*o/f,g=h*l/f;else var m=oN(e,o,l),U=oN(r,-1*o,-1*l),y=U.x-m.x,b=U.y-m.y,v=y*y+b*b,f=Math.sqrt(v),h=(e.nodeRepulsion+r.nodeRepulsion)/v,p=h*y/f,g=h*b/f;e.isLocked||(e.offsetX-=p,e.offsetY-=g),r.isLocked||(r.offsetX+=p,r.offsetY+=g)}},Der=function(e,r,n,i){if(n>0)var a=e.maxX-r.minX;else var a=r.maxX-e.minX;if(i>0)var s=e.maxY-r.minY;else var s=r.maxY-e.minY;return a>=0&&s>=0?Math.sqrt(a*a+s*s):0},oN=function(e,r,n){var i=e.positionX,a=e.positionY,s=e.height||1,o=e.width||1,l=n/r,u=s/o,d={};return r===0&&0<n||r===0&&0>n?(d.x=i,d.y=a+s/2,d):0<r&&-1*u<=l&&l<=u?(d.x=i+o/2,d.y=a+o*n/2/r,d):0>r&&-1*u<=l&&l<=u?(d.x=i-o/2,d.y=a-o*n/2/r,d):0<n&&(l<=-1*u||l>=u)?(d.x=i+s*r/2/n,d.y=a+s/2,d):(0>n&&(l<=-1*u||l>=u)&&(d.x=i-s*r/2/n,d.y=a-s/2),d)},Per=function(e,r){for(var n=0;n<e.edgeSize;n++){var i=e.layoutEdges[n],a=e.idToIndex[i.sourceId],s=e.layoutNodes[a],o=e.idToIndex[i.targetId],l=e.layoutNodes[o],u=l.positionX-s.positionX,d=l.positionY-s.positionY;if(!(u===0&&d===0)){var h=oN(s,u,d),f=oN(l,-1*u,-1*d),p=f.x-h.x,g=f.y-h.y,m=Math.sqrt(p*p+g*g),U=Math.pow(i.idealLength-m,2)/i.elasticity;if(m!==0)var y=U*p/m,b=U*g/m;else var y=0,b=0;s.isLocked||(s.offsetX+=y,s.offsetY+=b),l.isLocked||(l.offsetX-=y,l.offsetY-=b)}}},_er=function(e,r){if(r.gravity!==0)for(var n=1,i=0;i<e.graphSet.length;i++){var a=e.graphSet[i],s=a.length;if(i===0)var o=e.clientHeight/2,l=e.clientWidth/2;else var u=e.layoutNodes[e.idToIndex[a[0]]],d=e.layoutNodes[e.idToIndex[u.parentId]],o=d.positionX,l=d.positionY;for(var h=0;h<s;h++){var f=e.layoutNodes[e.idToIndex[a[h]]];if(!f.isLocked){var p=o-f.positionX,g=l-f.positionY,m=Math.sqrt(p*p+g*g);if(m>n){var U=r.gravity*p/m,y=r.gravity*g/m;f.offsetX+=U,f.offsetY+=y}}}}},Ber=function(e,r){var n=[],i=0,a=-1;for(n.push.apply(n,e.graphSet[0]),a+=e.graphSet[0].length;i<=a;){var s=n[i++],o=e.idToIndex[s],l=e.layoutNodes[o],u=l.children;if(0<u.length&&!l.isLocked){for(var d=l.offsetX,h=l.offsetY,f=0;f<u.length;f++){var p=e.layoutNodes[e.idToIndex[u[f]]];p.offsetX+=d,p.offsetY+=h,n[++a]=u[f]}l.offsetX=0,l.offsetY=0}}},$er=function(e,r){for(var n=0;n<e.nodeSize;n++){var i=e.layoutNodes[n];0<i.children.length&&(i.maxX=void 0,i.minX=void 0,i.maxY=void 0,i.minY=void 0)}for(var n=0;n<e.nodeSize;n++){var i=e.layoutNodes[n];if(!(0<i.children.length||i.isLocked)){var a=Fer(i.offsetX,i.offsetY,e.temperature);i.positionX+=a.x,i.positionY+=a.y,i.offsetX=0,i.offsetY=0,i.minX=i.positionX-i.width,i.maxX=i.positionX+i.width,i.minY=i.positionY-i.height,i.maxY=i.positionY+i.height,vDe(i,e)}}for(var n=0;n<e.nodeSize;n++){var i=e.layoutNodes[n];0<i.children.length&&!i.isLocked&&(i.positionX=(i.maxX+i.minX)/2,i.positionY=(i.maxY+i.minY)/2,i.width=i.maxX-i.minX,i.height=i.maxY-i.minY)}},Fer=function(e,r,n){var i=Math.sqrt(e*e+r*r);if(i>n)var a={x:n*e/i,y:n*r/i};else var a={x:e,y:r};return a},vDe=function(e,r){var n=e.parentId;if(n!=null){var i=r.layoutNodes[r.idToIndex[n]],a=!1;if((i.maxX==null||e.maxX+i.padRight>i.maxX)&&(i.maxX=e.maxX+i.padRight,a=!0),(i.minX==null||e.minX-i.padLeft<i.minX)&&(i.minX=e.minX-i.padLeft,a=!0),(i.maxY==null||e.maxY+i.padBottom>i.maxY)&&(i.maxY=e.maxY+i.padBottom,a=!0),(i.minY==null||e.minY-i.padTop<i.minY)&&(i.minY=e.minY-i.padTop,a=!0),a)return vDe(i,r)}},Ome=function(e,r){for(var n=e.layoutNodes,i=[],a=0;a<n.length;a++){var s=n[a],o=s.cmptId,l=i[o]=i[o]||[];l.push(s)}for(var u=0,a=0;a<i.length;a++){var d=i[a];if(d){d.x1=1/0,d.x2=-1/0,d.y1=1/0,d.y2=-1/0;for(var h=0;h<d.length;h++){var f=d[h];d.x1=Math.min(d.x1,f.positionX-f.width/2),d.x2=Math.max(d.x2,f.positionX+f.width/2),d.y1=Math.min(d.y1,f.positionY-f.height/2),d.y2=Math.max(d.y2,f.positionY+f.height/2)}d.w=d.x2-d.x1,d.h=d.y2-d.y1,u+=d.w*d.h}}i.sort(function(b,v){return v.w*v.h-b.w*b.h});for(var p=0,g=0,m=0,U=0,y=Math.sqrt(u)*e.clientWidth/e.clientHeight,a=0;a<i.length;a++){var d=i[a];if(d){for(var h=0;h<d.length;h++){var f=d[h];f.isLocked||(f.positionX+=p-d.x1,f.positionY+=g-d.y1)}p+=d.w+r.componentSpacing,m+=d.w+r.componentSpacing,U=Math.max(U,d.h),m>y&&(g+=U+r.componentSpacing,p=0,m=0,U=0)}}},zer={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 xDe(t){this.options=Gr({},zer,t)}xDe.prototype.run=function(){var t=this.options,e=t,r=t.cy,n=e.eles,i=n.nodes().not(":parent");e.sort&&(i=i.sort(e.sort));var a=Gl(e.boundingBox?e.boundingBox:{x1:0,y1:0,w:r.width(),h:r.height()});if(a.h===0||a.w===0)n.nodes().layoutPositions(this,e,function(H){return{x:a.x1,y:a.y1}});else{var s=i.size(),o=Math.sqrt(s*a.h/a.w),l=Math.round(o),u=Math.round(a.w/a.h*o),d=function(V){if(V==null)return Math.min(l,u);var G=Math.min(l,u);G==l?l=V:u=V},h=function(V){if(V==null)return Math.max(l,u);var G=Math.max(l,u);G==l?l=V:u=V},f=e.rows,p=e.cols!=null?e.cols:e.columns;if(f!=null&&p!=null)l=f,u=p;else if(f!=null&&p==null)l=f,u=Math.ceil(s/l);else if(f==null&&p!=null)u=p,l=Math.ceil(s/u);else if(u*l>s){var g=d(),m=h();(g-1)*m>=s?d(g-1):(m-1)*g>=s&&h(m-1)}else for(;u*l<s;){var U=d(),y=h();(y+1)*U>=s?h(y+1):d(U+1)}var b=a.w/u,v=a.h/l;if(e.condense&&(b=0,v=0),e.avoidOverlap)for(var w=0;w<i.length;w++){var T=i[w],S=T._private.position;(S.x==null||S.y==null)&&(S.x=0,S.y=0);var C=T.layoutDimensions(e),k=e.avoidOverlapPadding,E=C.w+k,A=C.h+k;b=Math.max(b,E),v=Math.max(v,A)}for(var M={},P=function(V,G){return!!M["c-"+V+"-"+G]},N=function(V,G){M["c-"+V+"-"+G]=!0},I=0,L=0,_=function(){L++,L>=u&&(L=0,I++)},D={},O=0;O<i.length;O++){var B=i[O],F=e.position(B);if(F&&(F.row!==void 0||F.col!==void 0)){var z={row:F.row,col:F.col};if(z.col===void 0)for(z.col=0;P(z.row,z.col);)z.col++;else if(z.row===void 0)for(z.row=0;P(z.row,z.col);)z.row++;D[B.id()]=z,N(z.row,z.col)}}var $=function(V,G){var K,W;if(V.locked()||V.isParent())return!1;var oe=D[V.id()];if(oe)K=oe.col*b+b/2+a.x1,W=oe.row*v+v/2+a.y1;else{for(;P(I,L);)_();K=L*b+b/2+a.x1,W=I*v+v/2+a.y1,N(I,L),_()}return{x:K,y:W}};i.layoutPositions(this,e,$)}return this};var Her={ready:function(){},stop:function(){}};function Lre(t){this.options=Gr({},Her,t)}Lre.prototype.run=function(){var t=this.options,e=t.eles,r=this;return t.cy,r.emit("layoutstart"),e.nodes().positions(function(){return{x:0,y:0}}),r.one("layoutready",t.ready),r.emit("layoutready"),r.one("layoutstop",t.stop),r.emit("layoutstop"),this};Lre.prototype.stop=function(){return this};var Ver={positions:void 0,zoom:void 0,pan:void 0,fit:!0,padding:30,spacingFactor: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 wDe(t){this.options=Gr({},Ver,t)}wDe.prototype.run=function(){var t=this.options,e=t.eles,r=e.nodes(),n=Sa(t.positions);function i(a){if(t.positions==null)return cZt(a.position());if(n)return t.positions(a);var s=t.positions[a._private.data.id];return s??null}return r.layoutPositions(this,t,function(a,s){var o=i(a);return a.locked()||o==null?!1:o}),this};var Ger={fit:!0,padding:30,boundingBox: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 TDe(t){this.options=Gr({},Ger,t)}TDe.prototype.run=function(){var t=this.options,e=t.cy,r=t.eles,n=Gl(t.boundingBox?t.boundingBox:{x1:0,y1:0,w:e.width(),h:e.height()}),i=function(s,o){return{x:n.x1+Math.round(Math.random()*n.w),y:n.y1+Math.round(Math.random()*n.h)}};return r.nodes().layoutPositions(this,t,i),this};var Wer=[{name:"breadthfirst",impl:gDe},{name:"circle",impl:mDe},{name:"concentric",impl:UDe},{name:"cose",impl:XP},{name:"grid",impl:xDe},{name:"null",impl:Lre},{name:"preset",impl:wDe},{name:"random",impl:TDe}];function CDe(t){this.options=t,this.notifications=0}var Dme=function(){},Pme=function(){throw new Error("A headless instance can not render images")};CDe.prototype={recalculateRenderedStyle:Dme,notify:function(){this.notifications++},init:Dme,isHeadless:function(){return!0},png:Pme,jpg:Pme};var Nre={};Nre.arrowShapeWidth=.3;Nre.registerArrowShapes=function(){var t=this.arrowShapes={},e=this,r=function(u,d,h,f,p,g,m){var U=p.x-h/2-m,y=p.x+h/2+m,b=p.y-h/2-m,v=p.y+h/2+m,w=U<=u&&u<=y&&b<=d&&d<=v;return w},n=function(u,d,h,f,p){var g=u*Math.cos(f)-d*Math.sin(f),m=u*Math.sin(f)+d*Math.cos(f),U=g*h,y=m*h,b=U+p.x,v=y+p.y;return{x:b,y:v}},i=function(u,d,h,f){for(var p=[],g=0;g<u.length;g+=2){var m=u[g],U=u[g+1];p.push(n(m,U,d,h,f))}return p},a=function(u){for(var d=[],h=0;h<u.length;h++){var f=u[h];d.push(f.x,f.y)}return d},s=function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").pfValue*2},o=function(u,d){Or(d)&&(d=t[d]),t[u]=Gr({name:u,points:[-.15,-.3,.15,-.3,.15,.3,-.15,.3],collide:function(f,p,g,m,U,y){var b=a(i(this.points,g+2*y,m,U)),v=mc(f,p,b);return v},roughCollide:r,draw:function(f,p,g,m){var U=i(this.points,p,g,m);e.arrowShapeImpl("polygon")(f,U)},spacing:function(f){return 0},gap:s},d)};o("none",{collide:tN,roughCollide:tN,draw:yre,spacing:Kge,gap:Kge}),o("triangle",{points:[-.15,-.3,0,0,.15,-.3]}),o("arrow","triangle"),o("triangle-backcurve",{points:t.triangle.points,controlPoint:[0,-.15],roughCollide:r,draw:function(u,d,h,f,p){var g=i(this.points,d,h,f),m=this.controlPoint,U=n(m[0],m[1],d,h,f);e.arrowShapeImpl(this.name)(u,g,U)},gap:function(u){return s(u)*.8}}),o("triangle-tee",{points:[0,0,.15,-.3,-.15,-.3,0,0],pointsTee:[-.15,-.4,-.15,-.5,.15,-.5,.15,-.4],collide:function(u,d,h,f,p,g,m){var U=a(i(this.points,h+2*m,f,p)),y=a(i(this.pointsTee,h+2*m,f,p)),b=mc(u,d,U)||mc(u,d,y);return b},draw:function(u,d,h,f,p){var g=i(this.points,d,h,f),m=i(this.pointsTee,d,h,f);e.arrowShapeImpl(this.name)(u,g,m)}}),o("circle-triangle",{radius:.15,pointsTr:[0,-.15,.15,-.45,-.15,-.45,0,-.15],collide:function(u,d,h,f,p,g,m){var U=p,y=Math.pow(U.x-u,2)+Math.pow(U.y-d,2)<=Math.pow((h+2*m)*this.radius,2),b=a(i(this.points,h+2*m,f,p));return mc(u,d,b)||y},draw:function(u,d,h,f,p){var g=i(this.pointsTr,d,h,f);e.arrowShapeImpl(this.name)(u,g,f.x,f.y,this.radius*d)},spacing:function(u){return e.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius}}),o("triangle-cross",{points:[0,0,.15,-.3,-.15,-.3,0,0],baseCrossLinePts:[-.15,-.4,-.15,-.4,.15,-.4,.15,-.4],crossLinePts:function(u,d){var h=this.baseCrossLinePts.slice(),f=d/u,p=3,g=5;return h[p]=h[p]-f,h[g]=h[g]-f,h},collide:function(u,d,h,f,p,g,m){var U=a(i(this.points,h+2*m,f,p)),y=a(i(this.crossLinePts(h,g),h+2*m,f,p)),b=mc(u,d,U)||mc(u,d,y);return b},draw:function(u,d,h,f,p){var g=i(this.points,d,h,f),m=i(this.crossLinePts(d,p),d,h,f);e.arrowShapeImpl(this.name)(u,g,m)}}),o("vee",{points:[-.15,-.3,0,0,.15,-.3,0,-.15],gap:function(u){return s(u)*.525}}),o("circle",{radius:.15,collide:function(u,d,h,f,p,g,m){var U=p,y=Math.pow(U.x-u,2)+Math.pow(U.y-d,2)<=Math.pow((h+2*m)*this.radius,2);return y},draw:function(u,d,h,f,p){e.arrowShapeImpl(this.name)(u,f.x,f.y,this.radius*d)},spacing:function(u){return e.getArrowWidth(u.pstyle("width").pfValue,u.pstyle("arrow-scale").value)*this.radius}}),o("tee",{points:[-.15,0,-.15,-.1,.15,-.1,.15,0],spacing:function(u){return 1},gap:function(u){return 1}}),o("square",{points:[-.15,0,.15,0,.15,-.3,-.15,-.3]}),o("diamond",{points:[-.15,-.15,0,-.3,.15,-.15,0,0],gap:function(u){return u.pstyle("width").pfValue*u.pstyle("arrow-scale").value}}),o("chevron",{points:[0,0,-.15,-.15,-.1,-.2,0,-.1,.1,-.2,.15,-.15],gap:function(u){return .95*u.pstyle("width").pfValue*u.pstyle("arrow-scale").value}})};var D5={};D5.projectIntoViewport=function(t,e){var r=this.cy,n=this.findContainerClientCoords(),i=n[0],a=n[1],s=n[4],o=r.pan(),l=r.zoom(),u=((t-i)/s-o.x)/l,d=((e-a)/s-o.y)/l;return[u,d]};D5.findContainerClientCoords=function(){if(this.containerBB)return this.containerBB;var t=this.container,e=t.getBoundingClientRect(),r=this.cy.window().getComputedStyle(t),n=function(y){return parseFloat(r.getPropertyValue(y))},i={left:n("padding-left"),right:n("padding-right"),top:n("padding-top"),bottom:n("padding-bottom")},a={left:n("border-left-width"),right:n("border-right-width"),top:n("border-top-width"),bottom:n("border-bottom-width")},s=t.clientWidth,o=t.clientHeight,l=i.left+i.right,u=i.top+i.bottom,d=a.left+a.right,h=e.width/(s+d),f=s-l,p=o-u,g=e.left+i.left+a.left,m=e.top+i.top+a.top;return this.containerBB=[g,m,f,p,h]};D5.invalidateContainerClientCoordsCache=function(){this.containerBB=null};D5.findNearestElement=function(t,e,r,n){return this.findNearestElements(t,e,r,n)[0]};D5.findNearestElements=function(t,e,r,n){var i=this,a=this,s=a.getCachedZSortedEles(),o=[],l=a.cy.zoom(),u=a.cy.hasCompoundNodes(),d=(n?24:8)/l,h=(n?8:2)/l,f=(n?8:2)/l,p=1/0,g,m;r&&(s=s.interactive);function U(C,k){if(C.isNode()){if(m)return;m=C,o.push(C)}if(C.isEdge()&&(k==null||k<p))if(g){if(g.pstyle("z-compound-depth").value===C.pstyle("z-compound-depth").value&&g.pstyle("z-compound-depth").value===C.pstyle("z-compound-depth").value){for(var E=0;E<o.length;E++)if(o[E].isEdge()){o[E]=C,g=C,p=k??p;break}}}else o.push(C),g=C,p=k??p}function y(C){var k=C.outerWidth()+2*h,E=C.outerHeight()+2*h,A=k/2,M=E/2,P=C.position(),N=C.pstyle("corner-radius").value==="auto"?"auto":C.pstyle("corner-radius").pfValue,I=C._private.rscratch;if(P.x-A<=t&&t<=P.x+A&&P.y-M<=e&&e<=P.y+M){var L=a.nodeShapes[i.getNodeShape(C)];if(L.checkPoint(t,e,0,k,E,P.x,P.y,N,I))return U(C,0),!0}}function b(C){var k=C._private,E=k.rscratch,A=C.pstyle("width").pfValue,M=C.pstyle("arrow-scale").value,P=A/2+d,N=P*P,I=P*2,O=k.source,B=k.target,L;if(E.edgeType==="segments"||E.edgeType==="straight"||E.edgeType==="haystack"){for(var _=E.allpts,D=0;D+3<_.length;D+=2)if(CZt(t,e,_[D],_[D+1],_[D+2],_[D+3],I)&&N>(L=MZt(t,e,_[D],_[D+1],_[D+2],_[D+3])))return U(C,L),!0}else if(E.edgeType==="bezier"||E.edgeType==="multibezier"||E.edgeType==="self"||E.edgeType==="compound"){for(var _=E.allpts,D=0;D+5<E.allpts.length;D+=4)if(SZt(t,e,_[D],_[D+1],_[D+2],_[D+3],_[D+4],_[D+5],I)&&N>(L=AZt(t,e,_[D],_[D+1],_[D+2],_[D+3],_[D+4],_[D+5])))return U(C,L),!0}for(var O=O||k.source,B=B||k.target,F=i.getArrowWidth(A,M),z=[{name:"source",x:E.arrowStartX,y:E.arrowStartY,angle:E.srcArrowAngle},{name:"target",x:E.arrowEndX,y:E.arrowEndY,angle:E.tgtArrowAngle},{name:"mid-source",x:E.midX,y:E.midY,angle:E.midsrcArrowAngle},{name:"mid-target",x:E.midX,y:E.midY,angle:E.midtgtArrowAngle}],D=0;D<z.length;D++){var $=z[D],H=a.arrowShapes[C.pstyle($.name+"-arrow-shape").value],V=C.pstyle("width").pfValue;if(H.roughCollide(t,e,F,$.angle,{x:$.x,y:$.y},V,d)&&H.collide(t,e,F,$.angle,{x:$.x,y:$.y},V,d))return U(C),!0}u&&o.length>0&&(y(O),y(B))}function v(C,k,E){return Cl(C,k,E)}function w(C,k){var E=C._private,A=f,M;k?M=k+"-":M="",C.boundingBox();var P=E.labelBounds[k||"main"],N=C.pstyle(M+"label").value,I=C.pstyle("text-events").strValue==="yes";if(!(!I||!N)){var L=v(E.rscratch,"labelX",k),_=v(E.rscratch,"labelY",k),D=v(E.rscratch,"labelAngle",k),O=C.pstyle(M+"text-margin-x").pfValue,B=C.pstyle(M+"text-margin-y").pfValue,F=P.x1-A-O,z=P.x2+A-O,$=P.y1-A-B,H=P.y2+A-B;if(D){var V=Math.cos(D),G=Math.sin(D),K=function(me,te){return me=me-L,te=te-_,{x:me*V-te*G+L,y:me*G+te*V+_}},W=K(F,$),oe=K(F,H),Z=K(z,$),J=K(z,H),ne=[W.x+O,W.y+B,Z.x+O,Z.y+B,J.x+O,J.y+B,oe.x+O,oe.y+B];if(mc(t,e,ne))return U(C),!0}else if(mg(P,t,e))return U(C),!0}}for(var T=s.length-1;T>=0;T--){var S=s[T];S.isNode()?y(S)||w(S):b(S)||w(S)||w(S,"source")||w(S,"target")}return o};D5.getAllInBox=function(t,e,r,n){var i=this.getCachedZSortedEles().interactive,a=this.cy.zoom(),s=2/a,o=[],l=Math.min(t,r),u=Math.max(t,r),d=Math.min(e,n),h=Math.max(e,n);t=l,r=u,e=d,n=h;var f=Gl({x1:t,y1:e,x2:r,y2:n}),p=[{x:f.x1,y:f.y1},{x:f.x2,y:f.y1},{x:f.x2,y:f.y2},{x:f.x1,y:f.y2}],g=[[p[0],p[1]],[p[1],p[2]],[p[2],p[3]],[p[3],p[0]]];function m(me,te,Re){return Cl(me,te,Re)}function U(me,te){var Re=me._private,_e=s,He="";me.boundingBox();var ce=Re.labelBounds.main;if(!ce)return null;var de=m(Re.rscratch,"labelX",te),we=m(Re.rscratch,"labelY",te),ge=m(Re.rscratch,"labelAngle",te),ze=me.pstyle(He+"text-margin-x").pfValue,xe=me.pstyle(He+"text-margin-y").pfValue,Ee=ce.x1-_e-ze,qe=ce.x2+_e-ze,le=ce.y1-_e-xe,pe=ce.y2+_e-xe;if(ge){var Te=Math.cos(ge),re=Math.sin(ge),Y=function(ue,X){return ue=ue-de,X=X-we,{x:ue*Te-X*re+de,y:ue*re+X*Te+we}};return[Y(Ee,le),Y(qe,le),Y(qe,pe),Y(Ee,pe)]}else return[{x:Ee,y:le},{x:qe,y:le},{x:qe,y:pe},{x:Ee,y:pe}]}function y(me,te,Re,_e){function He(ce,de,we){return(we.y-ce.y)*(de.x-ce.x)>(de.y-ce.y)*(we.x-ce.x)}return He(me,Re,_e)!==He(te,Re,_e)&&He(me,te,Re)!==He(me,te,_e)}for(var b=0;b<i.length;b++){var v=i[b];if(v.isNode()){var w=v,T=w.pstyle("text-events").strValue==="yes",S=w.pstyle("box-selection").strValue,C=w.pstyle("box-select-labels").strValue==="yes";if(S==="none")continue;var k=(S==="overlap"||C)&&T,E=w.boundingBox({includeNodes:!0,includeEdges:!1,includeLabels:k});if(S==="contain"){var A=!1;if(C&&T){var M=U(w);M&&Cz(M,p)&&(o.push(w),A=!0)}!A&&IOe(f,E)&&o.push(w)}else if(S==="overlap"&&wre(f,E)){var P=w.boundingBox({includeNodes:!0,includeEdges:!0,includeLabels:!1,includeMainLabels:!1,includeSourceLabels:!1,includeTargetLabels:!1}),N=[{x:P.x1,y:P.y1},{x:P.x2,y:P.y1},{x:P.x2,y:P.y2},{x:P.x1,y:P.y2}];if(Cz(N,p))o.push(w);else{var I=U(w);I&&Cz(I,p)&&o.push(w)}}}else{var L=v,_=L._private,D=_.rscratch,O=L.pstyle("box-selection").strValue;if(O==="none")continue;if(O==="contain"){if(D.startX!=null&&D.startY!=null&&!mg(f,D.startX,D.startY)||D.endX!=null&&D.endY!=null&&!mg(f,D.endX,D.endY))continue;if(D.edgeType==="bezier"||D.edgeType==="multibezier"||D.edgeType==="self"||D.edgeType==="compound"||D.edgeType==="segments"||D.edgeType==="haystack"){for(var B=_.rstyle.bezierPts||_.rstyle.linePts||_.rstyle.haystackPts,F=!0,z=0;z<B.length;z++)if(!t1e(f,B[z])){F=!1;break}F&&o.push(L)}else D.edgeType==="straight"&&o.push(L)}else if(O==="overlap"){var $=!1;if(D.startX!=null&&D.startY!=null&&D.endX!=null&&D.endY!=null&&(mg(f,D.startX,D.startY)||mg(f,D.endX,D.endY)))o.push(L),$=!0;else if(!$&&D.edgeType==="haystack"){for(var H=_.rstyle.haystackPts,V=0;V<H.length;V++)if(t1e(f,H[V])){o.push(L),$=!0;break}}if(!$){var G=_.rstyle.bezierPts||_.rstyle.linePts||_.rstyle.haystackPts;if((!G||G.length<2)&&D.edgeType==="straight"&&D.startX!=null&&D.startY!=null&&D.endX!=null&&D.endY!=null&&(G=[{x:D.startX,y:D.startY},{x:D.endX,y:D.endY}]),!G||G.length<2)continue;for(var K=0;K<G.length-1;K++){for(var W=G[K],oe=G[K+1],Z=0;Z<g.length;Z++){var J=as(g[Z],2),ne=J[0],ie=J[1];if(y(W,oe,ne,ie)){o.push(L),$=!0;break}}if($)break}}}}}return o};var lN={};lN.calculateArrowAngles=function(t){var e=t._private.rscratch,r=e.edgeType==="haystack",n=e.edgeType==="bezier",i=e.edgeType==="multibezier",a=e.edgeType==="segments",s=e.edgeType==="compound",o=e.edgeType==="self",l,u,d,h,f,p,y,b;if(r?(d=e.haystackPts[0],h=e.haystackPts[1],f=e.haystackPts[2],p=e.haystackPts[3]):(d=e.arrowStartX,h=e.arrowStartY,f=e.arrowEndX,p=e.arrowEndY),y=e.midX,b=e.midY,a)l=d-e.segpts[0],u=h-e.segpts[1];else if(i||s||o||n){var g=e.allpts,m=Ws(g[0],g[2],g[4],.1),U=Ws(g[1],g[3],g[5],.1);l=d-m,u=h-U}else l=d-y,u=h-b;e.srcArrowAngle=$E(l,u);var y=e.midX,b=e.midY;if(r&&(y=(d+f)/2,b=(h+p)/2),l=f-d,u=p-h,a){var g=e.allpts;if(g.length/2%2===0){var v=g.length/2,w=v-2;l=g[v]-g[w],u=g[v+1]-g[w+1]}else if(e.isRound)l=e.midVector[1],u=-e.midVector[0];else{var v=g.length/2-1,w=v-2;l=g[v]-g[w],u=g[v+1]-g[w+1]}}else if(i||s||o){var g=e.allpts,T=e.ctrlpts,S,C,k,E;if(T.length/2%2===0){var A=g.length/2-1,M=A+2,P=M+2;S=Ws(g[A],g[M],g[P],0),C=Ws(g[A+1],g[M+1],g[P+1],0),k=Ws(g[A],g[M],g[P],1e-4),E=Ws(g[A+1],g[M+1],g[P+1],1e-4)}else{var M=g.length/2-1,A=M-2,P=M+2;S=Ws(g[A],g[M],g[P],.4999),C=Ws(g[A+1],g[M+1],g[P+1],.4999),k=Ws(g[A],g[M],g[P],.5),E=Ws(g[A+1],g[M+1],g[P+1],.5)}l=k-S,u=E-C}if(e.midtgtArrowAngle=$E(l,u),e.midDispX=l,e.midDispY=u,l*=-1,u*=-1,a){var g=e.allpts;if(g.length/2%2!==0){if(!e.isRound){var v=g.length/2-1,N=v+2;l=-(g[N]-g[v]),u=-(g[N+1]-g[v+1])}}}if(e.midsrcArrowAngle=$E(l,u),a)l=f-e.segpts[e.segpts.length-2],u=p-e.segpts[e.segpts.length-1];else if(i||s||o||n){var g=e.allpts,I=g.length,m=Ws(g[I-6],g[I-4],g[I-2],.9),U=Ws(g[I-5],g[I-3],g[I-1],.9);l=f-m,u=p-U}else l=f-y,u=p-b;e.tgtArrowAngle=$E(l,u)};lN.getArrowWidth=lN.getArrowHeight=function(t,e){var r=this.arrowWidthCache=this.arrowWidthCache||{},n=r[t+", "+e];return n||(n=Math.max(Math.pow(t*13.37,.9),29)*e,r[t+", "+e]=n,n)};var iY,aY,uh={},wu={},_me,Bme,Hm,xM,Of,lm,Sm,nh,Ly,jE,SDe,kDe,sY,oY,$me,Fme=function(e,r,n){n.x=r.x-e.x,n.y=r.y-e.y,n.len=Math.sqrt(n.x*n.x+n.y*n.y),n.nx=n.x/n.len,n.ny=n.y/n.len,n.ang=Math.atan2(n.ny,n.nx)},qer=function(e,r){r.x=e.x*-1,r.y=e.y*-1,r.nx=e.nx*-1,r.ny=e.ny*-1,r.ang=e.ang>0?-(Math.PI-e.ang):Math.PI+e.ang},jer=function(e,r,n,i,a){if(e!==$me?Fme(r,e,uh):qer(wu,uh),Fme(r,n,wu),_me=uh.nx*wu.ny-uh.ny*wu.nx,Bme=uh.nx*wu.nx-uh.ny*-wu.ny,Of=Math.asin(Math.max(-1,Math.min(1,_me))),Math.abs(Of)<1e-6){iY=r.x,aY=r.y,Sm=Ly=0;return}Hm=1,xM=!1,Bme<0?Of<0?Of=Math.PI+Of:(Of=Math.PI-Of,Hm=-1,xM=!0):Of>0&&(Hm=-1,xM=!0),r.radius!==void 0?Ly=r.radius:Ly=i,lm=Of/2,jE=Math.min(uh.len/2,wu.len/2),a?(nh=Math.abs(Math.cos(lm)*Ly/Math.sin(lm)),nh>jE?(nh=jE,Sm=Math.abs(nh*Math.sin(lm)/Math.cos(lm))):Sm=Ly):(nh=Math.min(jE,Ly),Sm=Math.abs(nh*Math.sin(lm)/Math.cos(lm))),sY=r.x+wu.nx*nh,oY=r.y+wu.ny*nh,iY=sY-wu.ny*Sm*Hm,aY=oY+wu.nx*Sm*Hm,SDe=r.x+uh.nx*nh,kDe=r.y+uh.ny*nh,$me=r};function EDe(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 Ore(t,e,r,n){var i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0;return n===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}:(jer(t,e,r,n,i),{cx:iY,cy:aY,radius:Sm,startX:SDe,startY:kDe,stopX:sY,stopY:oY,startAngle:uh.ang+Math.PI/2*Hm,endAngle:wu.ang-Math.PI/2*Hm,counterClockwise:xM})}var tC=.01,Yer=Math.sqrt(2*tC),cl={};cl.findMidptPtsEtc=function(t,e){var r=e.posPts,n=e.intersectionPts,i=e.vectorNormInverse,a,s=t.pstyle("source-endpoint"),o=t.pstyle("target-endpoint"),l=s.units!=null&&o.units!=null,u=function(T,S,C,k){var E=k-S,A=C-T,M=Math.sqrt(A*A+E*E);return{x:-E/M,y:A/M}},d=t.pstyle("edge-distances").value;switch(d){case"node-position":a=r;break;case"intersection":a=n;break;case"endpoints":{if(l){var h=this.manualEndptToPx(t.source()[0],s),f=as(h,2),p=f[0],g=f[1],m=this.manualEndptToPx(t.target()[0],o),U=as(m,2),y=U[0],b=U[1],v={x1:p,y1:g,x2:y,y2:b};i=u(p,g,y,b),a=v}else xi("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).")),a=n;break}}return{midptPts:a,vectorNormInverse:i}};cl.findHaystackPoints=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r._private,i=n.rscratch;if(!i.haystack){var a=Math.random()*2*Math.PI;i.source={x:Math.cos(a),y:Math.sin(a)},a=Math.random()*2*Math.PI,i.target={x:Math.cos(a),y:Math.sin(a)}}var s=n.source,o=n.target,l=s.position(),u=o.position(),d=s.width(),h=o.width(),f=s.height(),p=o.height(),g=r.pstyle("haystack-radius").value,m=g/2;i.haystackPts=i.allpts=[i.source.x*d*m+l.x,i.source.y*f*m+l.y,i.target.x*h*m+u.x,i.target.y*p*m+u.y],i.midX=(i.allpts[0]+i.allpts[2])/2,i.midY=(i.allpts[1]+i.allpts[3])/2,i.edgeType="haystack",i.haystack=!0,this.storeEdgeProjections(r),this.calculateArrowAngles(r),this.recalculateEdgeLabelProjections(r),this.calculateLabelAngles(r)}};cl.findSegmentsPoints=function(t,e){var r=t._private.rscratch,n=t.pstyle("segment-weights"),i=t.pstyle("segment-distances"),a=t.pstyle("segment-radii"),s=t.pstyle("radius-type"),o=Math.min(n.pfValue.length,i.pfValue.length),l=a.pfValue[a.pfValue.length-1],u=s.pfValue[s.pfValue.length-1];r.edgeType="segments",r.segpts=[],r.radii=[],r.isArcRadius=[];for(var d=0;d<o;d++){var h=n.pfValue[d],f=i.pfValue[d],p=1-h,g=h,m=this.findMidptPtsEtc(t,e),U=m.midptPts,y=m.vectorNormInverse,b={x:U.x1*p+U.x2*g,y:U.y1*p+U.y2*g};r.segpts.push(b.x+y.x*f,b.y+y.y*f),r.radii.push(a.pfValue[d]!==void 0?a.pfValue[d]:l),r.isArcRadius.push((s.pfValue[d]!==void 0?s.pfValue[d]:u)==="arc-radius")}};cl.findLoopPoints=function(t,e,r,n){var i=t._private.rscratch,a=e.dirCounts,s=e.srcPos,o=t.pstyle("control-point-distances"),l=o?o.pfValue[0]:void 0,u=t.pstyle("loop-direction").pfValue,d=t.pstyle("loop-sweep").pfValue,h=t.pstyle("control-point-step-size").pfValue;i.edgeType="self";var f=r,p=h;n&&(f=0,p=l);var g=u-Math.PI/2,m=g-d/2,U=g+d/2,y=u+"_"+d;f=a[y]===void 0?a[y]=0:++a[y],i.ctrlpts=[s.x+Math.cos(m)*1.4*p*(f/3+1),s.y+Math.sin(m)*1.4*p*(f/3+1),s.x+Math.cos(U)*1.4*p*(f/3+1),s.y+Math.sin(U)*1.4*p*(f/3+1)]};cl.findCompoundLoopPoints=function(t,e,r,n){var i=t._private.rscratch;i.edgeType="compound";var a=e.srcPos,s=e.tgtPos,o=e.srcW,l=e.srcH,u=e.tgtW,d=e.tgtH,h=t.pstyle("control-point-step-size").pfValue,f=t.pstyle("control-point-distances"),p=f?f.pfValue[0]:void 0,g=r,m=h;n&&(g=0,m=p);var U=50,y={x:a.x-o/2,y:a.y-l/2},b={x:s.x-u/2,y:s.y-d/2},v={x:Math.min(y.x,b.x),y:Math.min(y.y,b.y)},w=.5,T=Math.max(w,Math.log(o*tC)),S=Math.max(w,Math.log(u*tC));i.ctrlpts=[v.x,v.y-(1+Math.pow(U,1.12)/100)*m*(g/3+1)*T,v.x-(1+Math.pow(U,1.12)/100)*m*(g/3+1)*S,v.y]};cl.findStraightEdgePoints=function(t){t._private.rscratch.edgeType="straight"};cl.findBezierPoints=function(t,e,r,n,i){var a=t._private.rscratch,s=t.pstyle("control-point-step-size").pfValue,o=t.pstyle("control-point-distances"),l=t.pstyle("control-point-weights"),u=o&&l?Math.min(o.value.length,l.value.length):1,d=o?o.pfValue[0]:void 0,h=l.value[0],f=n;a.edgeType=f?"multibezier":"bezier",a.ctrlpts=[];for(var p=0;p<u;p++){var g=(.5-e.eles.length/2+r)*s*(i?-1:1),m=void 0,U=xre(g);f&&(d=o?o.pfValue[p]:s,h=l.value[p]),n?m=d:m=d!==void 0?U*d:void 0;var y=m!==void 0?m:g,b=1-h,v=h,w=this.findMidptPtsEtc(t,e),T=w.midptPts,S=w.vectorNormInverse,C={x:T.x1*b+T.x2*v,y:T.y1*b+T.y2*v};a.ctrlpts.push(C.x+S.x*y,C.y+S.y*y)}};cl.findTaxiPoints=function(t,e){var r=t._private.rscratch;r.edgeType="segments";var n="vertical",i="horizontal",a="leftward",s="rightward",o="downward",l="upward",u="auto",d=e.posPts,h=e.srcW,f=e.srcH,p=e.tgtW,g=e.tgtH,m=t.pstyle("edge-distances").value,U=m!=="node-position",y=t.pstyle("taxi-direction").value,b=y,v=t.pstyle("taxi-turn"),w=v.units==="%",T=v.pfValue,S=T<0,C=t.pstyle("taxi-turn-min-distance").pfValue,k=U?(h+p)/2:0,E=U?(f+g)/2:0,A=d.x2-d.x1,M=d.y2-d.y1,P=function(X,fe){return X>0?Math.max(X-fe,0):Math.min(X+fe,0)},N=P(A,k),I=P(M,E),L=!1;b===u?y=Math.abs(N)>Math.abs(I)?i:n:b===l||b===o?(y=n,L=!0):(b===a||b===s)&&(y=i,L=!0);var _=y===n,D=_?I:N,O=_?M:A,B=xre(O),F=!1;!(L&&(w||S))&&(b===o&&O<0||b===l&&O>0||b===a&&O>0||b===s&&O<0)&&(B*=-1,D=B*Math.abs(D),F=!0);var z;if(w){var $=T<0?1+T:T;z=$*D}else{var H=T<0?D:0;z=H+T*B}var V=function(X){return Math.abs(X)<C||Math.abs(X)>=Math.abs(D)},G=V(z),K=V(Math.abs(D)-Math.abs(z)),W=G||K;if(W&&!F)if(_){var oe=Math.abs(O)<=f/2,Z=Math.abs(A)<=p/2;if(oe){var J=(d.x1+d.x2)/2,ne=d.y1,ie=d.y2;r.segpts=[J,ne,J,ie]}else if(Z){var me=(d.y1+d.y2)/2,te=d.x1,Re=d.x2;r.segpts=[te,me,Re,me]}else r.segpts=[d.x1,d.y2]}else{var _e=Math.abs(O)<=h/2,He=Math.abs(M)<=g/2;if(_e){var ce=(d.y1+d.y2)/2,de=d.x1,we=d.x2;r.segpts=[de,ce,we,ce]}else if(He){var ge=(d.x1+d.x2)/2,ze=d.y1,xe=d.y2;r.segpts=[ge,ze,ge,xe]}else r.segpts=[d.x2,d.y1]}else if(_){var Ee=d.y1+z+(U?f/2*B:0),qe=d.x1,le=d.x2;r.segpts=[qe,Ee,le,Ee]}else{var pe=d.x1+z+(U?h/2*B:0),Te=d.y1,re=d.y2;r.segpts=[pe,Te,pe,re]}if(r.isRound){var Y=t.pstyle("taxi-radius").value,Q=t.pstyle("radius-type").value[0]==="arc-radius";r.radii=new Array(r.segpts.length/2).fill(Y),r.isArcRadius=new Array(r.segpts.length/2).fill(Q)}};cl.tryToCorrectInvalidPoints=function(t,e){var r=t._private.rscratch;if(r.edgeType==="bezier"){var n=e.srcPos,i=e.tgtPos,a=e.srcW,s=e.srcH,o=e.tgtW,l=e.tgtH,u=e.srcShape,d=e.tgtShape,h=e.srcCornerRadius,f=e.tgtCornerRadius,p=e.srcRs,g=e.tgtRs,m=!Jt(r.startX)||!Jt(r.startY),U=!Jt(r.arrowStartX)||!Jt(r.arrowStartY),y=!Jt(r.endX)||!Jt(r.endY),b=!Jt(r.arrowEndX)||!Jt(r.arrowEndY),v=3,w=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth,T=v*w,S=c5({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.startX,y:r.startY}),C=S<T,k=c5({x:r.ctrlpts[0],y:r.ctrlpts[1]},{x:r.endX,y:r.endY}),E=k<T,A=!1;if(m||U||C){A=!0;var M={x:r.ctrlpts[0]-n.x,y:r.ctrlpts[1]-n.y},P=Math.sqrt(M.x*M.x+M.y*M.y),N={x:M.x/P,y:M.y/P},I=Math.max(a,s),L={x:r.ctrlpts[0]+N.x*2*I,y:r.ctrlpts[1]+N.y*2*I},_=u.intersectLine(n.x,n.y,a,s,L.x,L.y,0,h,p);C?(r.ctrlpts[0]=r.ctrlpts[0]+N.x*(T-S),r.ctrlpts[1]=r.ctrlpts[1]+N.y*(T-S)):(r.ctrlpts[0]=_[0]+N.x*T,r.ctrlpts[1]=_[1]+N.y*T)}if(y||b||E){A=!0;var D={x:r.ctrlpts[0]-i.x,y:r.ctrlpts[1]-i.y},O=Math.sqrt(D.x*D.x+D.y*D.y),B={x:D.x/O,y:D.y/O},F=Math.max(a,s),z={x:r.ctrlpts[0]+B.x*2*F,y:r.ctrlpts[1]+B.y*2*F},$=d.intersectLine(i.x,i.y,o,l,z.x,z.y,0,f,g);E?(r.ctrlpts[0]=r.ctrlpts[0]+B.x*(T-k),r.ctrlpts[1]=r.ctrlpts[1]+B.y*(T-k)):(r.ctrlpts[0]=$[0]+B.x*T,r.ctrlpts[1]=$[1]+B.y*T)}A&&this.findEndpoints(t)}};cl.storeAllpts=function(t){var e=t._private.rscratch;if(e.edgeType==="multibezier"||e.edgeType==="bezier"||e.edgeType==="self"||e.edgeType==="compound"){e.allpts=[],e.allpts.push(e.startX,e.startY);for(var r=0;r+1<e.ctrlpts.length;r+=2)e.allpts.push(e.ctrlpts[r],e.ctrlpts[r+1]),r+3<e.ctrlpts.length&&e.allpts.push((e.ctrlpts[r]+e.ctrlpts[r+2])/2,(e.ctrlpts[r+1]+e.ctrlpts[r+3])/2);e.allpts.push(e.endX,e.endY);var n,i;e.ctrlpts.length/2%2===0?(n=e.allpts.length/2-1,e.midX=e.allpts[n],e.midY=e.allpts[n+1]):(n=e.allpts.length/2-3,i=.5,e.midX=Ws(e.allpts[n],e.allpts[n+2],e.allpts[n+4],i),e.midY=Ws(e.allpts[n+1],e.allpts[n+3],e.allpts[n+5],i))}else if(e.edgeType==="straight")e.allpts=[e.startX,e.startY,e.endX,e.endY],e.midX=(e.startX+e.endX+e.arrowStartX+e.arrowEndX)/4,e.midY=(e.startY+e.endY+e.arrowStartY+e.arrowEndY)/4;else if(e.edgeType==="segments"){if(e.allpts=[],e.allpts.push(e.startX,e.startY),e.allpts.push.apply(e.allpts,e.segpts),e.allpts.push(e.endX,e.endY),e.isRound){e.roundCorners=[];for(var a=2;a+3<e.allpts.length;a+=2){var s=e.radii[a/2-1],o=e.isArcRadius[a/2-1];e.roundCorners.push(Ore({x:e.allpts[a-2],y:e.allpts[a-1]},{x:e.allpts[a],y:e.allpts[a+1],radius:s},{x:e.allpts[a+2],y:e.allpts[a+3]},s,o))}}if(e.segpts.length%4===0){var l=e.segpts.length/2,u=l-2;e.midX=(e.segpts[u]+e.segpts[l])/2,e.midY=(e.segpts[u+1]+e.segpts[l+1])/2}else{var d=e.segpts.length/2-1;if(!e.isRound)e.midX=e.segpts[d],e.midY=e.segpts[d+1];else{var h={x:e.segpts[d],y:e.segpts[d+1]},f=e.roundCorners[d/2];if(f.radius===0){var p={x:e.segpts[d+2],y:e.segpts[d+3]};e.midX=h.x,e.midY=h.y,e.midVector=[h.y-p.y,p.x-h.x]}else{var g=[h.x-f.cx,h.y-f.cy],m=f.radius/Math.sqrt(Math.pow(g[0],2)+Math.pow(g[1],2));g=g.map(function(U){return U*m}),e.midX=f.cx+g[0],e.midY=f.cy+g[1],e.midVector=g}}}}};cl.checkForInvalidEdgeWarning=function(t){var e=t[0]._private.rscratch;e.nodesOverlap||Jt(e.startX)&&Jt(e.startY)&&Jt(e.endX)&&Jt(e.endY)?e.loggedErr=!1:e.loggedErr||(e.loggedErr=!0,xi("Edge `"+t.id()+"` has invalid endpoints and so it is impossible to draw. Adjust your edge style (e.g. control points) accordingly or use an alternative edge type. This is expected behaviour when the source node and the target node overlap."))};cl.findEdgeControlPoints=function(t){var e=this;if(!(!t||t.length===0)){for(var r=this,n=r.cy,i=n.hasCompoundNodes(),a=new u0,s=function(E,A){return[].concat(JL(E),[A?1:0]).join("-")},o=[],l=[],u=0;u<t.length;u++){var d=t[u],h=d._private,f=d.pstyle("curve-style").value;if(!(d.removed()||!d.takesUpSpace())){if(f==="haystack"){l.push(d);continue}var p=f==="unbundled-bezier"||gg(f,"segments")||f==="straight"||f==="straight-triangle"||gg(f,"taxi"),g=f==="unbundled-bezier"||f==="bezier",m=h.source,U=h.target,y=m.poolIndex(),b=U.poolIndex(),v=[y,b].sort(),w=s(v,p),T=a.get(w);T==null&&(T={eles:[]},o.push({pairId:v,edgeIsUnbundled:p}),a.set(w,T)),T.eles.push(d),p&&(T.hasUnbundled=!0),g&&(T.hasBezier=!0)}}for(var S=function(){var E=o[C],A=E.pairId,M=E.edgeIsUnbundled,P=s(A,M),N=a.get(P),I;if(!N.hasUnbundled){var L=N.eles[0].parallelEdges().filter(function(Q){return Q.isBundledBezier()});bre(N.eles),L.forEach(function(Q){return N.eles.push(Q)}),N.eles.sort(function(Q,ue){return Q.poolIndex()-ue.poolIndex()})}var _=N.eles[0],D=_.source(),O=_.target();if(D.poolIndex()>O.poolIndex()){var B=D;D=O,O=B}var F=N.srcPos=D.position(),z=N.tgtPos=O.position(),$=N.srcW=D.outerWidth(),H=N.srcH=D.outerHeight(),V=N.tgtW=O.outerWidth(),G=N.tgtH=O.outerHeight(),K=N.srcShape=r.nodeShapes[e.getNodeShape(D)],W=N.tgtShape=r.nodeShapes[e.getNodeShape(O)],oe=N.srcCornerRadius=D.pstyle("corner-radius").value==="auto"?"auto":D.pstyle("corner-radius").pfValue,Z=N.tgtCornerRadius=O.pstyle("corner-radius").value==="auto"?"auto":O.pstyle("corner-radius").pfValue,J=N.tgtRs=O._private.rscratch,ne=N.srcRs=D._private.rscratch;N.dirCounts={north:0,west:0,south:0,east:0,northwest:0,southwest:0,northeast:0,southeast:0};for(var ie=0;ie<N.eles.length;ie++){var me=N.eles[ie],te=me[0]._private.rscratch,Re=me.pstyle("curve-style").value,_e=Re==="unbundled-bezier"||gg(Re,"segments")||gg(Re,"taxi"),He=!D.same(me.source());if(!N.calculatedIntersection&&D!==O&&(N.hasBezier||N.hasUnbundled)){N.calculatedIntersection=!0;var ce=K.intersectLine(F.x,F.y,$,H,z.x,z.y,0,oe,ne),de=N.srcIntn=ce,we=W.intersectLine(z.x,z.y,V,G,F.x,F.y,0,Z,J),ge=N.tgtIntn=we,ze=N.intersectionPts={x1:ce[0],x2:we[0],y1:ce[1],y2:we[1]},xe=N.posPts={x1:F.x,x2:z.x,y1:F.y,y2:z.y},Ee=we[1]-ce[1],qe=we[0]-ce[0],le=Math.sqrt(qe*qe+Ee*Ee);Jt(le)&&le>=Yer||(le=Math.sqrt(Math.max(qe*qe,tC)+Math.max(Ee*Ee,tC)));var pe=N.vector={x:qe,y:Ee},Te=N.vectorNorm={x:pe.x/le,y:pe.y/le},re={x:-Te.y,y:Te.x};N.nodesOverlap=!Jt(le)||W.checkPoint(ce[0],ce[1],0,V,G,z.x,z.y,Z,J)||K.checkPoint(we[0],we[1],0,$,H,F.x,F.y,oe,ne),N.vectorNormInverse=re,I={nodesOverlap:N.nodesOverlap,dirCounts:N.dirCounts,calculatedIntersection:!0,hasBezier:N.hasBezier,hasUnbundled:N.hasUnbundled,eles:N.eles,srcPos:z,srcRs:J,tgtPos:F,tgtRs:ne,srcW:V,srcH:G,tgtW:$,tgtH:H,srcIntn:ge,tgtIntn:de,srcShape:W,tgtShape:K,posPts:{x1:xe.x2,y1:xe.y2,x2:xe.x1,y2:xe.y1},intersectionPts:{x1:ze.x2,y1:ze.y2,x2:ze.x1,y2:ze.y1},vector:{x:-pe.x,y:-pe.y},vectorNorm:{x:-Te.x,y:-Te.y},vectorNormInverse:{x:-re.x,y:-re.y}}}var Y=He?I:N;te.nodesOverlap=Y.nodesOverlap,te.srcIntn=Y.srcIntn,te.tgtIntn=Y.tgtIntn,te.isRound=Re.startsWith("round"),i&&(D.isParent()||D.isChild()||O.isParent()||O.isChild())&&(D.parents().anySame(O)||O.parents().anySame(D)||D.same(O)&&D.isParent())?e.findCompoundLoopPoints(me,Y,ie,_e):D===O?e.findLoopPoints(me,Y,ie,_e):Re.endsWith("segments")?e.findSegmentsPoints(me,Y):Re.endsWith("taxi")?e.findTaxiPoints(me,Y):Re==="straight"||!_e&&N.eles.length%2===1&&ie===Math.floor(N.eles.length/2)?e.findStraightEdgePoints(me):e.findBezierPoints(me,Y,ie,_e,He),e.findEndpoints(me),e.tryToCorrectInvalidPoints(me,Y),e.checkForInvalidEdgeWarning(me),e.storeAllpts(me),e.storeEdgeProjections(me),e.calculateArrowAngles(me),e.recalculateEdgeLabelProjections(me),e.calculateLabelAngles(me)}},C=0;C<o.length;C++)S();this.findHaystackPoints(l)}};function ADe(t){var e=[];if(t!=null){for(var r=0;r<t.length;r+=2){var n=t[r],i=t[r+1];e.push({x:n,y:i})}return e}}cl.getSegmentPoints=function(t){var e=t[0]._private.rscratch;this.recalculateRenderedStyle(t);var r=e.edgeType;if(r==="segments")return ADe(e.segpts)};cl.getControlPoints=function(t){var e=t[0]._private.rscratch;this.recalculateRenderedStyle(t);var r=e.edgeType;if(r==="bezier"||r==="multibezier"||r==="self"||r==="compound")return ADe(e.ctrlpts)};cl.getEdgeMidpoint=function(t){var e=t[0]._private.rscratch;return this.recalculateRenderedStyle(t),{x:e.midX,y:e.midY}};var IS={};IS.manualEndptToPx=function(t,e){var r=this,n=t.position(),i=t.outerWidth(),a=t.outerHeight(),s=t._private.rscratch;if(e.value.length===2){var o=[e.pfValue[0],e.pfValue[1]];return e.units[0]==="%"&&(o[0]=o[0]*i),e.units[1]==="%"&&(o[1]=o[1]*a),o[0]+=n.x,o[1]+=n.y,o}else{var l=e.pfValue[0];l=-Math.PI/2+l;var u=2*Math.max(i,a),d=[n.x+Math.cos(l)*u,n.y+Math.sin(l)*u];return r.nodeShapes[this.getNodeShape(t)].intersectLine(n.x,n.y,i,a,d[0],d[1],0,t.pstyle("corner-radius").value==="auto"?"auto":t.pstyle("corner-radius").pfValue,s)}};IS.findEndpoints=function(t){var e,r,n,i,a=this,s,o=t.source()[0],l=t.target()[0],u=o.position(),d=l.position(),h=t.pstyle("target-arrow-shape").value,f=t.pstyle("source-arrow-shape").value,p=t.pstyle("target-distance-from-node").pfValue,g=t.pstyle("source-distance-from-node").pfValue,m=o._private.rscratch,U=l._private.rscratch,y=t.pstyle("curve-style").value,b=t._private.rscratch,v=b.edgeType,w=gg(y,"taxi"),T=v==="self"||v==="compound",S=v==="bezier"||v==="multibezier"||T,C=v!=="bezier",k=v==="straight"||v==="segments",E=v==="segments",A=S||C||k,M=T||w,P=t.pstyle("source-endpoint"),N=M?"outside-to-node":P.value,I=o.pstyle("corner-radius").value==="auto"?"auto":o.pstyle("corner-radius").pfValue,L=t.pstyle("target-endpoint"),_=M?"outside-to-node":L.value,D=l.pstyle("corner-radius").value==="auto"?"auto":l.pstyle("corner-radius").pfValue;b.srcManEndpt=P,b.tgtManEndpt=L;var O,B,F,z,$=(e=(L==null||(r=L.pfValue)===null||r===void 0?void 0:r.length)===2?L.pfValue:null)!==null&&e!==void 0?e:[0,0],H=(n=(P==null||(i=P.pfValue)===null||i===void 0?void 0:i.length)===2?P.pfValue:null)!==null&&n!==void 0?n:[0,0];if(S){var V=[b.ctrlpts[0],b.ctrlpts[1]],G=C?[b.ctrlpts[b.ctrlpts.length-2],b.ctrlpts[b.ctrlpts.length-1]]:V;O=G,B=V}else if(k){var K=E?b.segpts.slice(0,2):[d.x+$[0],d.y+$[1]],W=E?b.segpts.slice(b.segpts.length-2):[u.x+H[0],u.y+H[1]];O=W,B=K}if(_==="inside-to-node")s=[d.x,d.y];else if(L.units)s=this.manualEndptToPx(l,L);else if(_==="outside-to-line")s=b.tgtIntn;else if(_==="outside-to-node"||_==="outside-to-node-or-label"?F=O:(_==="outside-to-line"||_==="outside-to-line-or-label")&&(F=[u.x,u.y]),s=a.nodeShapes[this.getNodeShape(l)].intersectLine(d.x,d.y,l.outerWidth(),l.outerHeight(),F[0],F[1],0,D,U),_==="outside-to-node-or-label"||_==="outside-to-line-or-label"){var oe=l._private.rscratch,Z=oe.labelWidth,J=oe.labelHeight,ne=oe.labelX,ie=oe.labelY,me=Z/2,te=J/2,Re=l.pstyle("text-valign").value;Re=m4(Re),Re==="top"?ie-=te:Re==="bottom"&&(ie+=te);var _e=l.pstyle("text-halign").value;_e=g4(_e),_e==="left"?ne-=me:_e==="right"&&(ne+=me);var He=KT(F[0],F[1],[ne-me,ie-te,ne+me,ie-te,ne+me,ie+te,ne-me,ie+te],d.x,d.y);if(He.length>0){var ce=u,de=Cm(ce,F2(s)),we=Cm(ce,F2(He)),ge=de;if(we<de&&(s=He,ge=we),He.length>2){var ze=Cm(ce,{x:He[2],y:He[3]});ze<ge&&(s=[He[2],He[3]])}}}var xe=FE(s,O,a.arrowShapes[h].spacing(t)+p),Ee=FE(s,O,a.arrowShapes[h].gap(t)+p);if(b.endX=Ee[0],b.endY=Ee[1],b.arrowEndX=xe[0],b.arrowEndY=xe[1],N==="inside-to-node")s=[u.x,u.y];else if(P.units)s=this.manualEndptToPx(o,P);else if(N==="outside-to-line")s=b.srcIntn;else if(N==="outside-to-node"||N==="outside-to-node-or-label"?z=B:(N==="outside-to-line"||N==="outside-to-line-or-label")&&(z=[d.x,d.y]),s=a.nodeShapes[this.getNodeShape(o)].intersectLine(u.x,u.y,o.outerWidth(),o.outerHeight(),z[0],z[1],0,I,m),N==="outside-to-node-or-label"||N==="outside-to-line-or-label"){var qe=o._private.rscratch,le=qe.labelWidth,pe=qe.labelHeight,Te=qe.labelX,re=qe.labelY,Y=le/2,Q=pe/2,ue=o.pstyle("text-valign").value;ue=m4(ue),ue==="top"?re-=Q:ue==="bottom"&&(re+=Q);var X=o.pstyle("text-halign").value;X=g4(X),X==="left"?Te-=Y:X==="right"&&(Te+=Y);var fe=KT(z[0],z[1],[Te-Y,re-Q,Te+Y,re-Q,Te+Y,re+Q,Te-Y,re+Q],u.x,u.y);if(fe.length>0){var ee=d,Ae=Cm(ee,F2(s)),Me=Cm(ee,F2(fe)),Ke=Ae;if(Me<Ae&&(s=[fe[0],fe[1]],Ke=Me),fe.length>2){var Ne=Cm(ee,{x:fe[2],y:fe[3]});Ne<Ke&&(s=[fe[2],fe[3]])}}}var je=FE(s,B,a.arrowShapes[f].spacing(t)+g),Oe=FE(s,B,a.arrowShapes[f].gap(t)+g);b.startX=Oe[0],b.startY=Oe[1],b.arrowStartX=je[0],b.arrowStartY=je[1],A&&(!Jt(b.startX)||!Jt(b.startY)||!Jt(b.endX)||!Jt(b.endY)?b.badLine=!0:b.badLine=!1)};IS.getSourceEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[0],y:e.haystackPts[1]};default:return{x:e.arrowStartX,y:e.arrowStartY}}};IS.getTargetEndpoint=function(t){var e=t[0]._private.rscratch;switch(this.recalculateRenderedStyle(t),e.edgeType){case"haystack":return{x:e.haystackPts[2],y:e.haystackPts[3]};default:return{x:e.arrowEndX,y:e.arrowEndY}}};var Dre={};function Xer(t,e,r){for(var n=function(u,d,h,f){return Ws(u,d,h,f)},i=e._private,a=i.rstyle.bezierPts,s=0;s<t.bezierProjPcts.length;s++){var o=t.bezierProjPcts[s];a.push({x:n(r[0],r[2],r[4],o),y:n(r[1],r[3],r[5],o)})}}Dre.storeEdgeProjections=function(t){var e=t._private,r=e.rscratch,n=r.edgeType;if(e.rstyle.bezierPts=null,e.rstyle.linePts=null,e.rstyle.haystackPts=null,n==="multibezier"||n==="bezier"||n==="self"||n==="compound"){e.rstyle.bezierPts=[];for(var i=0;i+5<r.allpts.length;i+=4)Xer(this,t,r.allpts.slice(i,i+6))}else if(n==="segments")for(var a=e.rstyle.linePts=[],i=0;i+1<r.allpts.length;i+=2)a.push({x:r.allpts[i],y:r.allpts[i+1]});else if(n==="haystack"){var s=r.haystackPts;e.rstyle.haystackPts=[{x:s[0],y:s[1]},{x:s[2],y:s[3]}]}e.rstyle.arrowWidth=this.getArrowWidth(t.pstyle("width").pfValue,t.pstyle("arrow-scale").value)*this.arrowShapeWidth};Dre.recalculateEdgeProjections=function(t){this.findEdgeControlPoints(t)};var mf={};mf.recalculateNodeLabelProjection=function(t){var e=t.pstyle("label").strValue;if(!n1(e)){var r,n,i=t._private,a=t.width(),s=t.height(),o=t.padding(),l=t.position(),u=t.pstyle("text-halign").strValue,d=t.pstyle("text-valign").strValue,h=i.rscratch,f=i.rstyle;switch(u){case"left":r=l.x-a/2-o;break;case"left-inside":r=l.x-a/2+o;break;case"right":r=l.x+a/2+o;break;case"right-inside":r=l.x+a/2-o;break;default:r=l.x}switch(d){case"top":n=l.y-s/2-o;break;case"top-inside":n=l.y-s/2+o;break;case"bottom":n=l.y+s/2+o;break;case"bottom-inside":n=l.y+s/2-o;break;default:n=l.y}h.labelX=r,h.labelY=n,f.labelX=r,f.labelY=n,this.calculateLabelAngles(t),this.applyLabelDimensions(t)}};var MDe=function(e,r){var n=Math.atan(r/e);return e===0&&n<0&&(n=n*-1),n},RDe=function(e,r){var n=r.x-e.x,i=r.y-e.y;return MDe(n,i)},Ker=function(e,r,n,i){var a=XT(0,i-.001,1),s=XT(0,i+.001,1),o=vb(e,r,n,a),l=vb(e,r,n,s);return RDe(o,l)};mf.recalculateEdgeLabelProjections=function(t){var e,r=t._private,n=r.rscratch,i=this,a={mid:t.pstyle("label").strValue,source:t.pstyle("source-label").strValue,target:t.pstyle("target-label").strValue};if(a.mid||a.source||a.target){e={x:n.midX,y:n.midY};var s=function(h,f,p){xh(r.rscratch,h,f,p),xh(r.rstyle,h,f,p)};s("labelX",null,e.x),s("labelY",null,e.y);var o=MDe(n.midDispX,n.midDispY);s("labelAutoAngle",null,o);var l=function(){if(l.cache)return l.cache;for(var h=[],f=0;f+5<n.allpts.length;f+=4){var p={x:n.allpts[f],y:n.allpts[f+1]},g={x:n.allpts[f+2],y:n.allpts[f+3]},m={x:n.allpts[f+4],y:n.allpts[f+5]};h.push({p0:p,p1:g,p2:m,startDist:0,length:0,segments:[]})}var U=r.rstyle.bezierPts,y=i.bezierProjPcts.length;function b(C,k,E,A,M){var P=c5(k,E),N=C.segments[C.segments.length-1],I={p0:k,p1:E,t0:A,t1:M,startDist:N?N.startDist+N.length:0,length:P};C.segments.push(I),C.length+=P}for(var v=0;v<h.length;v++){var w=h[v],T=h[v-1];T&&(w.startDist=T.startDist+T.length),b(w,w.p0,U[v*y],0,i.bezierProjPcts[0]);for(var S=0;S<y-1;S++)b(w,U[v*y+S],U[v*y+S+1],i.bezierProjPcts[S],i.bezierProjPcts[S+1]);b(w,U[v*y+y-1],w.p2,i.bezierProjPcts[y-1],1)}return l.cache=h},u=function(h){var f,p=h==="source";if(a[h]){var g=t.pstyle(h+"-text-offset").pfValue;switch(n.edgeType){case"self":case"compound":case"bezier":case"multibezier":{for(var m=l(),U,y=0,b=0,v=0;v<m.length;v++){for(var w=m[p?v:m.length-1-v],T=0;T<w.segments.length;T++){var S=w.segments[p?T:w.segments.length-1-T],C=v===m.length-1&&T===w.segments.length-1;if(y=b,b+=S.length,b>=g||C){U={cp:w,segment:S};break}}if(U)break}var k=U.cp,E=U.segment,A=(g-y)/E.length,M=E.t1-E.t0,P=p?E.t0+M*A:E.t1-M*A;P=XT(0,P,1),e=vb(k.p0,k.p1,k.p2,P),f=Ker(k.p0,k.p1,k.p2,P);break}case"straight":case"segments":case"haystack":{for(var N=0,I,L,_,D,O=n.allpts.length,B=0;B+3<O&&(p?(_={x:n.allpts[B],y:n.allpts[B+1]},D={x:n.allpts[B+2],y:n.allpts[B+3]}):(_={x:n.allpts[O-2-B],y:n.allpts[O-1-B]},D={x:n.allpts[O-4-B],y:n.allpts[O-3-B]}),I=c5(_,D),L=N,N+=I,!(N>=g));B+=2);var F=g-L,z=F/I;z=XT(0,z,1),e=UZt(_,D,z),f=RDe(_,D);break}}s("labelX",h,e.x),s("labelY",h,e.y),s("labelAutoAngle",h,f)}};u("source"),u("target"),this.applyLabelDimensions(t)}};mf.applyLabelDimensions=function(t){this.applyPrefixedLabelDimensions(t),t.isEdge()&&(this.applyPrefixedLabelDimensions(t,"source"),this.applyPrefixedLabelDimensions(t,"target"))};mf.applyPrefixedLabelDimensions=function(t,e){var r=t._private,n=this.getLabelText(t,e),i=l5(n,t._private.labelDimsKey);if(Cl(r.rscratch,"prefixedLabelDimsKey",e)!==i){xh(r.rscratch,"prefixedLabelDimsKey",e,i);var a=this.calculateLabelDimensions(t,n),s=t.pstyle("line-height").pfValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("text-wrap").strValue,u=Cl(r.rscratch,"labelWrapCachedLines",e)||[],d=l!=="wrap"?1:Math.max(u.length,1),h=o*s,f=a.width,p=a.height+(d-1)*(s-1)*o;xh(r.rstyle,"labelWidth",e,f),xh(r.rscratch,"labelWidth",e,f),xh(r.rstyle,"labelHeight",e,p),xh(r.rscratch,"labelHeight",e,p),xh(r.rscratch,"labelLineHeight",e,h),xh(r.rscratch,"labelActualDescent",e,a.labelActualDescent)}};mf.getLabelText=function(t,e){var r=t._private,n=e?e+"-":"",i=t.pstyle(n+"label").strValue,a=t.pstyle("text-transform").value,s=function(H,V){return V?(xh(r.rscratch,H,e,V),V):Cl(r.rscratch,H,e)};if(!i)return"";a=="none"||(a=="uppercase"?i=i.toUpperCase():a=="lowercase"&&(i=i.toLowerCase()));var o=t.pstyle("text-wrap").value;if(o==="wrap"){var l=s("labelKey");if(l!=null&&s("labelWrapKey")===l)return s("labelWrapCachedText");for(var u="​",d=i.split(`
`),h=t.pstyle("text-max-width").pfValue,f=t.pstyle("text-overflow-wrap").value,p=f==="anywhere",g=[],m=/[\s\u200b]+|$/g,U=0;U<d.length;U++){var y=d[U],b=this.calculateLabelDimensions(t,y),v=b.width;if(p){var w=y.split("").join(u);y=w}if(v>h){var T=y.matchAll(m),S="",C=0,k=vc(T),E;try{for(k.s();!(E=k.n()).done;){var A=E.value,M=A[0],P=y.substring(C,A.index);C=A.index+M.length;var N=S.length===0?P:S+P+M,I=this.calculateLabelDimensions(t,N),L=I.width;L<=h?S+=P+M:(S&&g.push(S),S=P+M)}}catch($){k.e($)}finally{k.f()}S.match(/^[\s\u200b]+$/)||g.push(S)}else g.push(y)}s("labelWrapCachedLines",g),i=s("labelWrapCachedText",g.join(`
`)),s("labelWrapKey",l)}else if(o==="ellipsis"){var _=t.pstyle("text-max-width").pfValue,D="",O="…",B=!1;if(this.calculateLabelDimensions(t,i).width<_)return i;for(var F=0;F<i.length;F++){var z=this.calculateLabelDimensions(t,D+i[F]+O).width;if(z>_)break;D+=i[F],F===i.length-1&&(B=!0)}return B||(D+=O),D}return i};mf.getLabelJustification=function(t){var e=t.pstyle("text-justification").strValue,r=t.pstyle("text-halign").strValue;return e==="auto"?t.isNode()?_Qt(r):"center":e};mf.calculateLabelDimensions=function(t,e){var r=this,n=r.cy.window(),i=n.document,a=0,s=t.pstyle("font-style").strValue,o=t.pstyle("font-size").pfValue,l=t.pstyle("font-family").strValue,u=t.pstyle("font-weight").strValue,d=t.pstyle("text-metrics").strValue||"font",h=this.labelCalcCanvas,f=this.labelCalcCanvasContext;if(!h){h=this.labelCalcCanvas=i.createElement("canvas"),f=this.labelCalcCanvasContext=h.getContext("2d");var p=h.style;p.position="absolute",p.left="-9999px",p.top="-9999px",p.zIndex="-1",p.visibility="hidden",p.pointerEvents="none"}f.font="".concat(s," ").concat(u," ").concat(o,"px ").concat(l);for(var g=0,m=0,U=e.split(`
`),y=U.length,b=0,v=0,w=0;w<y;w++){var T=U[w],S=f.measureText(T),C=Math.ceil(S.width),k=o;d==="glyph"&&(w===0&&(v=S.actualBoundingBoxAscent),w===y-1&&(b=S.actualBoundingBoxDescent)),g=Math.max(C,g),m+=k}return d==="glyph"&&(m-=o-v-b),g+=a,m+=a,{width:g,height:m,labelActualAscent:v,labelActualDescent:b}};mf.calculateLabelAngle=function(t,e){var r=t._private,n=r.rscratch,i=t.isEdge(),a=e?e+"-":"",s=t.pstyle(a+"text-rotation"),o=s.strValue;return o==="none"?0:i&&o==="autorotate"?n.labelAutoAngle:o==="autorotate"?0:s.pfValue};mf.calculateLabelAngles=function(t){var e=this,r=t.isEdge(),n=t._private,i=n.rscratch;i.labelAngle=e.calculateLabelAngle(t),r&&(i.sourceLabelAngle=e.calculateLabelAngle(t,"source"),i.targetLabelAngle=e.calculateLabelAngle(t,"target"))};var IDe={},zme=28,Hme=!1;IDe.getNodeShape=function(t){var e=this,r=t.pstyle("shape").value;if(r==="cutrectangle"&&(t.width()<zme||t.height()<zme))return Hme||(xi("The `cutrectangle` node shape can not be used at small sizes so `rectangle` is used instead"),Hme=!0),"rectangle";if(t.isParent())return r==="rectangle"||r==="roundrectangle"||r==="round-rectangle"||r==="cutrectangle"||r==="cut-rectangle"||r==="barrel"?r:"rectangle";if(r==="polygon"){var n=t.pstyle("shape-polygon-points").value;return e.nodeShapes.makePolygon(n).name}return r};var KP={};KP.registerCalculationListeners=function(){var t=this.cy,e=t.collection(),r=this,n=function(s){var o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(e.merge(s),o)for(var l=0;l<s.length;l++){var u=s[l],d=u._private,h=d.rstyle;h.clean=!1,h.cleanConnected=!1}};r.binder(t).on("bounds.* dirty.*",function(s){var o=s.target;n(o)}).on("style.* background.*",function(s){var o=s.target;n(o,!1)});var i=function(s){if(s){var o=r.onUpdateEleCalcsFns;e.cleanStyle();for(var l=0;l<e.length;l++){var u=e[l],d=u._private.rstyle;u.isNode()&&!d.cleanConnected&&(n(u.connectedEdges()),d.cleanConnected=!0)}if(o)for(var h=0;h<o.length;h++){var f=o[h];f(s,e)}r.recalculateRenderedStyle(e),e=t.collection()}};r.flushRenderedStyleQueue=function(){i(!0)},r.beforeRender(i,r.beforeRenderPriorities.eleCalcs)};KP.onUpdateEleCalcs=function(t){var e=this.onUpdateEleCalcsFns=this.onUpdateEleCalcsFns||[];e.push(t)};KP.recalculateRenderedStyle=function(t,e){var r=function(w){return w._private.rstyle.cleanConnected};if(t.length!==0){var n=[],i=[];if(!this.destroyed){e===void 0&&(e=!0);for(var a=0;a<t.length;a++){var s=t[a],o=s._private,l=o.rstyle;s.isEdge()&&(!r(s.source())||!r(s.target()))&&(l.clean=!1),s.isEdge()&&s.isBundledBezier()&&s.parallelEdges().some(function(v){return!v._private.rstyle.clean&&v.isBundledBezier()})&&(l.clean=!1),!(e&&l.clean||s.removed())&&s.pstyle("display").value!=="none"&&(o.group==="nodes"?i.push(s):n.push(s),l.clean=!0)}for(var u=0;u<i.length;u++){var d=i[u],h=d._private,f=h.rstyle,p=d.position();this.recalculateNodeLabelProjection(d),f.nodeX=p.x,f.nodeY=p.y,f.nodeW=d.pstyle("width").pfValue,f.nodeH=d.pstyle("height").pfValue}this.recalculateEdgeProjections(n);for(var g=0;g<n.length;g++){var m=n[g],U=m._private,y=U.rstyle,b=U.rscratch;y.srcX=b.arrowStartX,y.srcY=b.arrowStartY,y.tgtX=b.arrowEndX,y.tgtY=b.arrowEndY,y.midX=b.midX,y.midY=b.midY,y.labelAngle=b.labelAngle,y.sourceLabelAngle=b.sourceLabelAngle,y.targetLabelAngle=b.targetLabelAngle}}}};var ZP={};ZP.updateCachedGrabbedEles=function(){var t=this.cachedZSortedEles;if(t){t.drag=[],t.nondrag=[];for(var e=[],r=0;r<t.length;r++){var n=t[r],i=n._private.rscratch;n.grabbed()&&!n.isParent()?e.push(n):i.inDragLayer?t.drag.push(n):t.nondrag.push(n)}for(var r=0;r<e.length;r++){var n=e[r];t.drag.push(n)}}};ZP.invalidateCachedZSortedEles=function(){this.cachedZSortedEles=null};ZP.getCachedZSortedEles=function(t){if(t||!this.cachedZSortedEles){var e=this.cy.mutableElements().toArray();e.sort(hDe),e.interactive=e.filter(function(r){return r.interactive()}),this.cachedZSortedEles=e,this.updateCachedGrabbedEles()}else e=this.cachedZSortedEles;return e};var LDe={};[D5,lN,cl,IS,Dre,mf,IDe,KP,ZP].forEach(function(t){Gr(LDe,t)});var NDe={};NDe.getCachedImage=function(t,e,r){var n=this,i=n.imageCache=n.imageCache||{},a=i[t];if(a)return a.image.complete||a.image.addEventListener("load",r),a.image;a=i[t]=i[t]||{};var s=a.image=new Image;s.addEventListener("load",r),s.addEventListener("error",function(){s.error=!0});var o="data:",l=t.substring(0,o.length).toLowerCase()===o;return l||(e=e==="null"?null:e,s.crossOrigin=e),s.src=t,s};var ODe=function(e,r){var n=e[0];!n||n._private.grabbed===r||(n._private.grabbed=r,e.updateStyle(!1))},Zer=function(e){ODe(e,!0)},Jer=function(e){ODe(e,!1)},m3={};m3.registerBinding=function(t,e,r,n){var i=Array.prototype.slice.apply(arguments,[1]);if(Array.isArray(t)){for(var a=[],s=0;s<t.length;s++){var o=t[s];if(o!==void 0){var l=this.binder(o);a.push(l.on.apply(l,i))}}return a}var l=this.binder(t);return l.on.apply(l,i)};m3.binder=function(t){var e=this,r=e.cy.window(),n=t===r||t===r.document||t===r.document.body||sKt(t);if(e.supportsPassiveEvents==null){var i=!1;try{var a=Object.defineProperty({},"passive",{get:function(){return i=!0,!0}});r.addEventListener("test",null,a)}catch{}e.supportsPassiveEvents=i}var s=function(l,u,d){var h=Array.prototype.slice.call(arguments);return n&&e.supportsPassiveEvents&&(h[2]={capture:d??!1,passive:!1,once:!1}),e.bindings.push({target:t,args:h}),(t.addEventListener||t.on).apply(t,h),this};return{on:s,addEventListener:s,addListener:s,bind:s}};m3.nodeIsDraggable=function(t){return t&&t.isNode()&&!t.locked()&&t.grabbable()};m3.nodeIsGrabbable=function(t){return this.nodeIsDraggable(t)&&t.interactive()};m3.load=function(){var t=this,e=t.cy.window(),r=function(Y){return Y.selected()},n=function(Y){var Q=Y.getRootNode();if(Q&&Q.nodeType===11&&Q.host!==void 0)return Q},i=function(Y,Q,ue,X){Y==null&&(Y=t.cy);for(var fe=0;fe<Q.length;fe++){var ee=Q[fe];Y.emit({originalEvent:ue,type:ee,position:X})}},a=function(Y){return Y.shiftKey||Y.metaKey||Y.ctrlKey},s=function(Y,Q){var ue=!0;if(t.cy.hasCompoundNodes()&&Y&&Y.pannable())for(var X=0;Q&&X<Q.length;X++){var Y=Q[X];if(Y.isNode()&&Y.isParent()&&!Y.pannable()){ue=!1;break}}else ue=!0;return ue},o=function(Y){Y[0]._private.rscratch.inDragLayer=!0},l=function(Y){Y[0]._private.rscratch.inDragLayer=!1},u=function(Y){Y[0]._private.rscratch.isGrabTarget=!0},d=function(Y){Y[0]._private.rscratch.isGrabTarget=!1},h=function(Y,Q){var ue=Q.addToList,X=ue.has(Y);!X&&Y.grabbable()&&!Y.locked()&&(ue.merge(Y),Zer(Y))},f=function(Y,Q){if(Y.cy().hasCompoundNodes()&&!(Q.inDragLayer==null&&Q.addToList==null)){var ue=Y.descendants();Q.inDragLayer&&(ue.forEach(o),ue.connectedEdges().forEach(o)),Q.addToList&&h(ue,Q)}},p=function(Y,Q){Q=Q||{};var ue=Y.cy().hasCompoundNodes();Q.inDragLayer&&(Y.forEach(o),Y.neighborhood().stdFilter(function(X){return!ue||X.isEdge()}).forEach(o)),Q.addToList&&Y.forEach(function(X){h(X,Q)}),f(Y,Q),U(Y,{inDragLayer:Q.inDragLayer}),t.updateCachedGrabbedEles()},g=p,m=function(Y){Y&&(t.getCachedZSortedEles().forEach(function(Q){Jer(Q),l(Q),d(Q)}),t.updateCachedGrabbedEles())},U=function(Y,Q){if(!(Q.inDragLayer==null&&Q.addToList==null)&&Y.cy().hasCompoundNodes()){var ue=Y.ancestors().orphans();if(!ue.same(Y)){var X=ue.descendants().spawnSelf().merge(ue).unmerge(Y).unmerge(Y.descendants()),fe=X.connectedEdges();Q.inDragLayer&&(fe.forEach(o),X.forEach(o)),Q.addToList&&X.forEach(function(ee){h(ee,Q)})}}},y=function(){document.activeElement!=null&&document.activeElement.blur!=null&&document.activeElement.blur()},b=typeof MutationObserver<"u",v=typeof ResizeObserver<"u";b?(t.removeObserver=new MutationObserver(function(re){for(var Y=0;Y<re.length;Y++){var Q=re[Y],ue=Q.removedNodes;if(ue)for(var X=0;X<ue.length;X++){var fe=ue[X];if(fe===t.container){t.destroy();break}}}}),t.container.parentNode&&t.removeObserver.observe(t.container.parentNode,{childList:!0})):t.registerBinding(t.container,"DOMNodeRemoved",function(re){t.destroy()});var w=ES(function(){t.cy.resize()},100);b&&(t.styleObserver=new MutationObserver(w),t.styleObserver.observe(t.container,{attributes:!0})),t.registerBinding(e,"resize",w),v&&(t.resizeObserver=new ResizeObserver(w),t.resizeObserver.observe(t.container));var T=function(Y,Q){for(;Y!=null;)Q(Y),Y=Y.parentNode},S=function(){t.invalidateContainerClientCoordsCache()};T(t.container,function(re){t.registerBinding(re,"transitionend",S),t.registerBinding(re,"animationend",S),t.registerBinding(re,"scroll",S)}),t.registerBinding(t.container,"contextmenu",function(re){re.preventDefault()});var C=function(){return t.selection[4]!==0},k=function(Y){for(var Q=t.findContainerClientCoords(),ue=Q[0],X=Q[1],fe=Q[2],ee=Q[3],Ae=Y.touches?Y.touches:[Y],Me=!1,Ke=0;Ke<Ae.length;Ke++){var Ne=Ae[Ke];if(ue<=Ne.clientX&&Ne.clientX<=ue+fe&&X<=Ne.clientY&&Ne.clientY<=X+ee){Me=!0;break}}if(!Me)return!1;for(var je=t.container,Oe=Y.target,Ze=Oe.parentNode,Fe=!1;Ze;){if(Ze===je){Fe=!0;break}Ze=Ze.parentNode}return!!Fe};t.registerBinding(t.container,"mousedown",function(Y){if(k(Y)&&!(t.hoverData.which===1&&Y.which!==1)){Y.preventDefault(),y(),t.hoverData.capture=!0,t.hoverData.which=Y.which;var Q=t.cy,ue=[Y.clientX,Y.clientY],X=t.projectIntoViewport(ue[0],ue[1]),fe=t.selection,ee=t.findNearestElements(X[0],X[1],!0,!1),Ae=ee[0],Me=t.dragData.possibleDragElements;t.hoverData.mdownPos=X,t.hoverData.mdownGPos=ue;var Ke=function(at){return{originalEvent:Y,type:at,position:{x:X[0],y:X[1]}}},Ne=function(){t.hoverData.tapholdCancelled=!1,clearTimeout(t.hoverData.tapholdTimeout),t.hoverData.tapholdTimeout=setTimeout(function(){if(!t.hoverData.tapholdCancelled){var at=t.hoverData.down;at?at.emit(Ke("taphold")):Q.emit(Ke("taphold"))}},t.tapholdDuration)};if(Y.which==3){t.hoverData.cxtStarted=!0;var je={originalEvent:Y,type:"cxttapstart",position:{x:X[0],y:X[1]}};Ae?(Ae.activate(),Ae.emit(je),t.hoverData.down=Ae):Q.emit(je),t.hoverData.downTime=new Date().getTime(),t.hoverData.cxtDragged=!1}else if(Y.which==1){Ae&&Ae.activate();{if(Ae!=null&&t.nodeIsGrabbable(Ae)){var Oe=function(at){at.emit(Ke("grab"))};if(u(Ae),!Ae.selected())Me=t.dragData.possibleDragElements=Q.collection(),g(Ae,{addToList:Me}),Ae.emit(Ke("grabon")).emit(Ke("grab"));else{Me=t.dragData.possibleDragElements=Q.collection();var Ze=Q.$(function(Fe){return Fe.isNode()&&Fe.selected()&&t.nodeIsGrabbable(Fe)});p(Ze,{addToList:Me}),Ae.emit(Ke("grabon")),Ze.forEach(Oe)}t.redrawHint("eles",!0),t.redrawHint("drag",!0)}t.hoverData.down=Ae,t.hoverData.downs=ee,t.hoverData.downTime=new Date().getTime()}i(Ae,["mousedown","tapstart","vmousedown"],Y,{x:X[0],y:X[1]}),Ae==null?(fe[4]=1,t.data.bgActivePosistion={x:X[0],y:X[1]},t.redrawHint("select",!0),t.redraw()):Ae.pannable()&&(fe[4]=1),Ne()}fe[0]=fe[2]=X[0],fe[1]=fe[3]=X[1]}},!1);var E=n(t.container);t.registerBinding([e,E],"mousemove",function(Y){var Q=t.hoverData.capture;if(!(!Q&&!k(Y))){var ue=!1,X=t.cy,fe=X.zoom(),ee=[Y.clientX,Y.clientY],Ae=t.projectIntoViewport(ee[0],ee[1]),Me=t.hoverData.mdownPos,Ke=t.hoverData.mdownGPos,Ne=t.selection,je=null;!t.hoverData.draggingEles&&!t.hoverData.dragging&&!t.hoverData.selecting&&(je=t.findNearestElement(Ae[0],Ae[1],!0,!1));var Oe=t.hoverData.last,Ze=t.hoverData.down,Fe=[Ae[0]-Ne[2],Ae[1]-Ne[3]],at=t.dragData.possibleDragElements,Pe;if(Ke){var gt=ee[0]-Ke[0],Ie=gt*gt,St=ee[1]-Ke[1],Et=St*St,ot=Ie+Et;t.hoverData.isOverThresholdDrag=Pe=ot>=t.desktopTapThreshold2}var Ht=a(Y);Pe&&(t.hoverData.tapholdCancelled=!0);var It=function(){var bt=t.hoverData.dragDelta=t.hoverData.dragDelta||[];bt.length===0?(bt.push(Fe[0]),bt.push(Fe[1])):(bt[0]+=Fe[0],bt[1]+=Fe[1])};ue=!0,i(je,["mousemove","vmousemove","tapdrag"],Y,{x:Ae[0],y:Ae[1]});var ht=function(bt){return{originalEvent:Y,type:bt,position:{x:Ae[0],y:Ae[1]}}},ve=function(){t.data.bgActivePosistion=void 0,t.hoverData.selecting||X.emit(ht("boxstart")),Ne[4]=1,t.hoverData.selecting=!0,t.redrawHint("select",!0),t.redraw()};if(t.hoverData.which===3){if(Pe){var Lt=ht("cxtdrag");Ze?Ze.emit(Lt):X.emit(Lt),t.hoverData.cxtDragged=!0,(!t.hoverData.cxtOver||je!==t.hoverData.cxtOver)&&(t.hoverData.cxtOver&&t.hoverData.cxtOver.emit(ht("cxtdragout")),t.hoverData.cxtOver=je,je&&je.emit(ht("cxtdragover")))}}else if(t.hoverData.dragging){if(ue=!0,X.panningEnabled()&&X.userPanningEnabled()){var xt;if(t.hoverData.justStartedPan){var mt=t.hoverData.mdownPos;xt={x:(Ae[0]-mt[0])*fe,y:(Ae[1]-mt[1])*fe},t.hoverData.justStartedPan=!1}else xt={x:Fe[0]*fe,y:Fe[1]*fe};X.panBy(xt),X.emit(ht("dragpan")),t.hoverData.dragged=!0}Ae=t.projectIntoViewport(Y.clientX,Y.clientY)}else if(Ne[4]==1&&(Ze==null||Ze.pannable())){if(Pe){if(!t.hoverData.dragging&&X.boxSelectionEnabled()&&(Ht||!X.panningEnabled()||!X.userPanningEnabled()))ve();else if(!t.hoverData.selecting&&X.panningEnabled()&&X.userPanningEnabled()){var Mt=s(Ze,t.hoverData.downs);Mt&&(t.hoverData.dragging=!0,t.hoverData.justStartedPan=!0,Ne[4]=0,t.data.bgActivePosistion=F2(Me),t.redrawHint("select",!0),t.redraw())}Ze&&Ze.pannable()&&Ze.active()&&Ze.unactivate()}}else{if(Ze&&Ze.pannable()&&Ze.active()&&Ze.unactivate(),(!Ze||!Ze.grabbed())&&je!=Oe&&(Oe&&i(Oe,["mouseout","tapdragout"],Y,{x:Ae[0],y:Ae[1]}),je&&i(je,["mouseover","tapdragover"],Y,{x:Ae[0],y:Ae[1]}),t.hoverData.last=je),Ze)if(Pe){if(X.boxSelectionEnabled()&&Ht)Ze&&Ze.grabbed()&&(m(at),Ze.emit(ht("freeon")),at.emit(ht("free")),t.dragData.didDrag&&(Ze.emit(ht("dragfreeon")),at.emit(ht("dragfree")))),ve();else if(Ze&&Ze.grabbed()&&t.nodeIsDraggable(Ze)){var Dr=!t.dragData.didDrag;Dr&&t.redrawHint("eles",!0),t.dragData.didDrag=!0,t.hoverData.draggingEles||p(at,{inDragLayer:!0});var ke={x:0,y:0};if(Jt(Fe[0])&&Jt(Fe[1])&&(ke.x+=Fe[0],ke.y+=Fe[1],Dr)){var it=t.hoverData.dragDelta;it&&Jt(it[0])&&Jt(it[1])&&(ke.x+=it[0],ke.y+=it[1])}t.hoverData.draggingEles=!0,at.silentShift(ke).emit(ht("position")).emit(ht("drag")),t.redrawHint("drag",!0),t.redraw()}}else It();ue=!0}if(Ne[2]=Ae[0],Ne[3]=Ae[1],ue)return Y.stopPropagation&&Y.stopPropagation(),Y.preventDefault&&Y.preventDefault(),!1}},!1);var A,M,P;t.registerBinding(e,"mouseup",function(Y){if(!(t.hoverData.which===1&&Y.which!==1&&t.hoverData.capture)){var Q=t.hoverData.capture;if(Q){t.hoverData.capture=!1;var ue=t.cy,X=t.projectIntoViewport(Y.clientX,Y.clientY),fe=t.selection,ee=t.findNearestElement(X[0],X[1],!0,!1),Ae=t.dragData.possibleDragElements,Me=t.hoverData.down,Ke=a(Y);t.data.bgActivePosistion&&(t.redrawHint("select",!0),t.redraw()),t.hoverData.tapholdCancelled=!0,t.data.bgActivePosistion=void 0,Me&&Me.unactivate();var Ne=function(gt){return{originalEvent:Y,type:gt,position:{x:X[0],y:X[1]}}};if(t.hoverData.which===3){var je=Ne("cxttapend");if(Me?Me.emit(je):ue.emit(je),!t.hoverData.cxtDragged){var Oe=Ne("cxttap");Me?Me.emit(Oe):ue.emit(Oe)}t.hoverData.cxtDragged=!1,t.hoverData.which=null}else if(t.hoverData.which===1){if(i(ee,["mouseup","tapend","vmouseup"],Y,{x:X[0],y:X[1]}),!t.dragData.didDrag&&!t.hoverData.dragged&&!t.hoverData.selecting&&!t.hoverData.isOverThresholdDrag&&(i(Me,["click","tap","vclick"],Y,{x:X[0],y:X[1]}),M=!1,Y.timeStamp-P<=ue.multiClickDebounceTime()?(A&&clearTimeout(A),M=!0,P=null,i(Me,["dblclick","dbltap","vdblclick"],Y,{x:X[0],y:X[1]})):(A=setTimeout(function(){M||i(Me,["oneclick","onetap","voneclick"],Y,{x:X[0],y:X[1]})},ue.multiClickDebounceTime()),P=Y.timeStamp)),Me==null&&!t.dragData.didDrag&&!t.hoverData.selecting&&!t.hoverData.dragged&&!a(Y)&&(ue.$(r).unselect(["tapunselect"]),Ae.length>0&&t.redrawHint("eles",!0),t.dragData.possibleDragElements=Ae=ue.collection()),ee==Me&&!t.dragData.didDrag&&!t.hoverData.selecting&&ee!=null&&ee._private.selectable&&(t.hoverData.dragging||(ue.selectionType()==="additive"||Ke?ee.selected()?ee.unselect(["tapunselect"]):ee.select(["tapselect"]):Ke||(ue.$(r).unmerge(ee).unselect(["tapunselect"]),ee.select(["tapselect"]))),t.redrawHint("eles",!0)),t.hoverData.selecting){var Ze=ue.collection(t.getAllInBox(fe[0],fe[1],fe[2],fe[3]));t.redrawHint("select",!0),Ze.length>0&&t.redrawHint("eles",!0),ue.emit(Ne("boxend"));var Fe=function(gt){return gt.selectable()&&!gt.selected()};ue.selectionType()==="additive"||Ke||ue.$(r).unmerge(Ze).unselect(),Ze.emit(Ne("box")).stdFilter(Fe).select().emit(Ne("boxselect")),t.redraw()}if(t.hoverData.dragging&&(t.hoverData.dragging=!1,t.redrawHint("select",!0),t.redrawHint("eles",!0),t.redraw()),!fe[4]){t.redrawHint("drag",!0),t.redrawHint("eles",!0);var at=Me&&Me.grabbed();m(Ae),at&&(Me.emit(Ne("freeon")),Ae.emit(Ne("free")),t.dragData.didDrag&&(Me.emit(Ne("dragfreeon")),Ae.emit(Ne("dragfree"))))}}fe[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,t.hoverData.which=null}}},!1);var N=[],I=4,L,_=1e5,D=function(Y){for(var Q=Math.abs(Y[0]),ue=1;ue<Y.length;ue++)if(Math.abs(Y[ue])!==Q)return!1;return!0},O=function(Y){var Q=!1,ue=Y.deltaY;if(ue==null&&(Y.wheelDeltaY!=null?ue=Y.wheelDeltaY/4:Y.wheelDelta!=null&&(ue=Y.wheelDelta/4)),ue!==0){if(L==null)if(N.length>=I){L=!1;var X=N;if(X[0]>=5){var fe;D(X)?fe=X[0]:fe=pZt(X),fe>1&&(L=!0,_=fe)}}else N.push(Math.abs(ue)),Q=!0;else L&&(_=Math.min(Math.abs(ue),_));if(!t.scrollingPage){var ee=t.cy,Ae=ee.zoom(),Me=ee.pan(),Ke=t.projectIntoViewport(Y.clientX,Y.clientY),Ne=[Ke[0]*Ae+Me.x,Ke[1]*Ae+Me.y];if(t.hoverData.draggingEles||t.hoverData.dragging||t.hoverData.cxtStarted||C()){Y.preventDefault();return}if(ee.panningEnabled()&&ee.userPanningEnabled()&&ee.zoomingEnabled()&&ee.userZoomingEnabled()){Y.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 je;Q&&Math.abs(ue)>5&&(ue=xre(ue)*5),je=ue/-250,L&&(je/=_,je*=3),je=je*t.wheelSensitivity;var Oe=Y.deltaMode===1;Oe&&(je*=33);var Ze=ee.zoom()*Math.pow(10,je);Y.type==="gesturechange"&&(Ze=t.gestureStartZoom*Y.scale),ee.zoom({level:Ze,renderedPosition:{x:Ne[0],y:Ne[1]}}),ee.emit({type:Y.type==="gesturechange"?"pinchzoom":"scrollzoom",originalEvent:Y,position:{x:Ke[0],y:Ke[1]}})}}}};t.registerBinding(t.container,"wheel",O,!0),t.registerBinding(e,"scroll",function(Y){t.scrollingPage=!0,clearTimeout(t.scrollingPageTimeout),t.scrollingPageTimeout=setTimeout(function(){t.scrollingPage=!1},250)},!0),t.registerBinding(t.container,"gesturestart",function(Y){t.gestureStartZoom=t.cy.zoom(),t.hasTouchStarted||Y.preventDefault()},!0),t.registerBinding(t.container,"gesturechange",function(re){t.hasTouchStarted||O(re)},!0),t.registerBinding(t.container,"mouseout",function(Y){var Q=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseout",position:{x:Q[0],y:Q[1]}})},!1),t.registerBinding(t.container,"mouseover",function(Y){var Q=t.projectIntoViewport(Y.clientX,Y.clientY);t.cy.emit({originalEvent:Y,type:"mouseover",position:{x:Q[0],y:Q[1]}})},!1);var B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie=function(Y,Q,ue,X){return Math.sqrt((ue-Y)*(ue-Y)+(X-Q)*(X-Q))},me=function(Y,Q,ue,X){return(ue-Y)*(ue-Y)+(X-Q)*(X-Q)},te;t.registerBinding(t.container,"touchstart",te=function(Y){if(t.hasTouchStarted=!0,!!k(Y)){y(),t.touchData.capture=!0,t.data.bgActivePosistion=void 0;var Q=t.cy,ue=t.touchData.now,X=t.touchData.earlier;if(Y.touches[0]){var fe=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);ue[0]=fe[0],ue[1]=fe[1]}if(Y.touches[1]){var fe=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);ue[2]=fe[0],ue[3]=fe[1]}if(Y.touches[2]){var fe=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);ue[4]=fe[0],ue[5]=fe[1]}var ee=function(Ht){return{originalEvent:Y,type:Ht,position:{x:ue[0],y:ue[1]}}};if(Y.touches[1]){t.touchData.singleTouchMoved=!0,m(t.dragData.touchDragEles);var Ae=t.findContainerClientCoords();W=Ae[0],oe=Ae[1],Z=Ae[2],J=Ae[3],B=Y.touches[0].clientX-W,F=Y.touches[0].clientY-oe,z=Y.touches[1].clientX-W,$=Y.touches[1].clientY-oe,ne=0<=B&&B<=Z&&0<=z&&z<=Z&&0<=F&&F<=J&&0<=$&&$<=J;var Me=Q.pan(),Ke=Q.zoom();H=ie(B,F,z,$),V=me(B,F,z,$),G=[(B+z)/2,(F+$)/2],K=[(G[0]-Me.x)/Ke,(G[1]-Me.y)/Ke];var Ne=200,je=Ne*Ne;if(V<je&&!Y.touches[2]){var Oe=t.findNearestElement(ue[0],ue[1],!0,!0),Ze=t.findNearestElement(ue[2],ue[3],!0,!0);Oe&&Oe.isNode()?(Oe.activate().emit(ee("cxttapstart")),t.touchData.start=Oe):Ze&&Ze.isNode()?(Ze.activate().emit(ee("cxttapstart")),t.touchData.start=Ze):Q.emit(ee("cxttapstart")),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!0,t.touchData.cxtDragged=!1,t.data.bgActivePosistion=void 0,t.redraw();return}}if(Y.touches[2])Q.boxSelectionEnabled()&&Y.preventDefault();else if(!Y.touches[1]){if(Y.touches[0]){var Fe=t.findNearestElements(ue[0],ue[1],!0,!0),at=Fe[0];if(at!=null&&(at.activate(),t.touchData.start=at,t.touchData.starts=Fe,t.nodeIsGrabbable(at))){var Pe=t.dragData.touchDragEles=Q.collection(),gt=null;t.redrawHint("eles",!0),t.redrawHint("drag",!0),at.selected()?(gt=Q.$(function(ot){return ot.selected()&&t.nodeIsGrabbable(ot)}),p(gt,{addToList:Pe})):g(at,{addToList:Pe}),u(at),at.emit(ee("grabon")),gt?gt.forEach(function(ot){ot.emit(ee("grab"))}):at.emit(ee("grab"))}i(at,["touchstart","tapstart","vmousedown"],Y,{x:ue[0],y:ue[1]}),at==null&&(t.data.bgActivePosistion={x:fe[0],y:fe[1]},t.redrawHint("select",!0),t.redraw()),t.touchData.singleTouchMoved=!1,t.touchData.singleTouchStartTime=+new Date,clearTimeout(t.touchData.tapholdTimeout),t.touchData.tapholdTimeout=setTimeout(function(){t.touchData.singleTouchMoved===!1&&!t.pinching&&!t.touchData.selecting&&i(t.touchData.start,["taphold"],Y,{x:ue[0],y:ue[1]})},t.tapholdDuration)}}if(Y.touches.length>=1){for(var Ie=t.touchData.startPosition=[null,null,null,null,null,null],St=0;St<ue.length;St++)Ie[St]=X[St]=ue[St];var Et=Y.touches[0];t.touchData.startGPosition=[Et.clientX,Et.clientY]}}},!1);var Re;t.registerBinding(e,"touchmove",Re=function(Y){var Q=t.touchData.capture;if(!(!Q&&!k(Y))){var ue=t.selection,X=t.cy,fe=t.touchData.now,ee=t.touchData.earlier,Ae=X.zoom();if(Y.touches[0]){var Me=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Me[0],fe[1]=Me[1]}if(Y.touches[1]){var Me=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Me[0],fe[3]=Me[1]}if(Y.touches[2]){var Me=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Me[0],fe[5]=Me[1]}var Ke=function(Be){return{originalEvent:Y,type:Be,position:{x:fe[0],y:fe[1]}}},Ne=t.touchData.startGPosition,je;if(Q&&Y.touches[0]&&Ne){for(var Oe=[],Ze=0;Ze<fe.length;Ze++)Oe[Ze]=fe[Ze]-ee[Ze];var Fe=Y.touches[0].clientX-Ne[0],at=Fe*Fe,Pe=Y.touches[0].clientY-Ne[1],gt=Pe*Pe,Ie=at+gt;je=Ie>=t.touchTapThreshold2}if(Q&&t.touchData.cxt){Y.preventDefault();var St=Y.touches[0].clientX-W,Et=Y.touches[0].clientY-oe,ot=Y.touches[1].clientX-W,Ht=Y.touches[1].clientY-oe,It=me(St,Et,ot,Ht),ht=It/V,ve=150,Lt=ve*ve,xt=1.5,mt=xt*xt;if(ht>=mt||It>=Lt){t.touchData.cxt=!1,t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var Mt=Ke("cxttapend");t.touchData.start?(t.touchData.start.unactivate().emit(Mt),t.touchData.start=null):X.emit(Mt)}}if(Q&&t.touchData.cxt){var Mt=Ke("cxtdrag");t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.touchData.start?t.touchData.start.emit(Mt):X.emit(Mt),t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxtDragged=!0;var Dr=t.findNearestElement(fe[0],fe[1],!0,!0);(!t.touchData.cxtOver||Dr!==t.touchData.cxtOver)&&(t.touchData.cxtOver&&t.touchData.cxtOver.emit(Ke("cxtdragout")),t.touchData.cxtOver=Dr,Dr&&Dr.emit(Ke("cxtdragover")))}else if(Q&&Y.touches[2]&&X.boxSelectionEnabled())Y.preventDefault(),t.data.bgActivePosistion=void 0,this.lastThreeTouch=+new Date,t.touchData.selecting||X.emit(Ke("boxstart")),t.touchData.selecting=!0,t.touchData.didSelect=!0,ue[4]=1,!ue||ue.length===0||ue[0]===void 0?(ue[0]=(fe[0]+fe[2]+fe[4])/3,ue[1]=(fe[1]+fe[3]+fe[5])/3,ue[2]=(fe[0]+fe[2]+fe[4])/3+1,ue[3]=(fe[1]+fe[3]+fe[5])/3+1):(ue[2]=(fe[0]+fe[2]+fe[4])/3,ue[3]=(fe[1]+fe[3]+fe[5])/3),t.redrawHint("select",!0),t.redraw();else if(Q&&Y.touches[1]&&!t.touchData.didSelect&&X.zoomingEnabled()&&X.panningEnabled()&&X.userZoomingEnabled()&&X.userPanningEnabled()){Y.preventDefault(),t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var ke=t.dragData.touchDragEles;if(ke){t.redrawHint("drag",!0);for(var it=0;it<ke.length;it++){var pt=ke[it]._private;pt.grabbed=!1,pt.rscratch.inDragLayer=!1}}var bt=t.touchData.start,St=Y.touches[0].clientX-W,Et=Y.touches[0].clientY-oe,ot=Y.touches[1].clientX-W,Ht=Y.touches[1].clientY-oe,ir=ie(St,Et,ot,Ht),Br=ir/H;if(ne){var Sr=St-B,jr=Et-F,Er=ot-z,an=Ht-$,Cr=(Sr+Er)/2,Yr=(jr+an)/2,Cn=X.zoom(),ut=Cn*Br,Ut=X.pan(),Zt=K[0]*Cn+Ut.x,$r=K[1]*Cn+Ut.y,un={x:-ut/Cn*(Zt-Ut.x-Cr)+Zt,y:-ut/Cn*($r-Ut.y-Yr)+$r};if(bt&&bt.active()){var ke=t.dragData.touchDragEles;m(ke),t.redrawHint("drag",!0),t.redrawHint("eles",!0),bt.unactivate().emit(Ke("freeon")),ke&&ke.emit(Ke("free")),t.dragData.didDrag&&(bt.emit(Ke("dragfreeon")),ke&&ke.emit(Ke("dragfree")))}X.viewport({zoom:ut,pan:un,cancelOnFailedZoom:!0}),X.emit(Ke("pinchzoom")),H=ir,B=St,F=Et,z=ot,$=Ht,t.pinching=!0}if(Y.touches[0]){var Me=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Me[0],fe[1]=Me[1]}if(Y.touches[1]){var Me=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);fe[2]=Me[0],fe[3]=Me[1]}if(Y.touches[2]){var Me=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);fe[4]=Me[0],fe[5]=Me[1]}}else if(Y.touches[0]&&!t.touchData.didSelect){var Tt=t.touchData.start,yt=t.touchData.last,Dr;if(!t.hoverData.draggingEles&&!t.swipePanning&&(Dr=t.findNearestElement(fe[0],fe[1],!0,!0)),Q&&Tt!=null&&Y.preventDefault(),Q&&Tt!=null&&t.nodeIsDraggable(Tt))if(je){var ke=t.dragData.touchDragEles,Pt=!t.dragData.didDrag;Pt&&p(ke,{inDragLayer:!0}),t.dragData.didDrag=!0;var ft={x:0,y:0};if(Jt(Oe[0])&&Jt(Oe[1])&&(ft.x+=Oe[0],ft.y+=Oe[1],Pt)){t.redrawHint("eles",!0);var or=t.touchData.dragDelta;or&&Jt(or[0])&&Jt(or[1])&&(ft.x+=or[0],ft.y+=or[1])}t.hoverData.draggingEles=!0,ke.silentShift(ft).emit(Ke("position")).emit(Ke("drag")),t.redrawHint("drag",!0),t.touchData.startPosition[0]==ee[0]&&t.touchData.startPosition[1]==ee[1]&&t.redrawHint("eles",!0),t.redraw()}else{var or=t.touchData.dragDelta=t.touchData.dragDelta||[];or.length===0?(or.push(Oe[0]),or.push(Oe[1])):(or[0]+=Oe[0],or[1]+=Oe[1])}if(i(Tt||Dr,["touchmove","tapdrag","vmousemove"],Y,{x:fe[0],y:fe[1]}),(!Tt||!Tt.grabbed())&&Dr!=yt&&(yt&&yt.emit(Ke("tapdragout")),Dr&&Dr.emit(Ke("tapdragover"))),t.touchData.last=Dr,Q)for(var it=0;it<fe.length;it++)fe[it]&&t.touchData.startPosition[it]&&je&&(t.touchData.singleTouchMoved=!0);if(Q&&(Tt==null||Tt.pannable())&&X.panningEnabled()&&X.userPanningEnabled()){var Le=s(Tt,t.touchData.starts);Le&&(Y.preventDefault(),t.data.bgActivePosistion||(t.data.bgActivePosistion=F2(t.touchData.startPosition)),t.swipePanning?(X.panBy({x:Oe[0]*Ae,y:Oe[1]*Ae}),X.emit(Ke("dragpan"))):je&&(t.swipePanning=!0,X.panBy({x:Fe*Ae,y:Pe*Ae}),X.emit(Ke("dragpan")),Tt&&(Tt.unactivate(),t.redrawHint("select",!0),t.touchData.start=null)));var Me=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);fe[0]=Me[0],fe[1]=Me[1]}}for(var Ze=0;Ze<fe.length;Ze++)ee[Ze]=fe[Ze];Q&&Y.touches.length>0&&!t.hoverData.draggingEles&&!t.swipePanning&&t.data.bgActivePosistion!=null&&(t.data.bgActivePosistion=void 0,t.redrawHint("select",!0),t.redraw())}},!1);var _e;t.registerBinding(e,"touchcancel",_e=function(Y){var Q=t.touchData.start;t.touchData.capture=!1,Q&&Q.unactivate()});var He,ce,de,we;if(t.registerBinding(e,"touchend",He=function(Y){var Q=t.touchData.start,ue=t.touchData.capture;if(ue)Y.touches.length===0&&(t.touchData.capture=!1),Y.preventDefault();else return;var X=t.selection;t.swipePanning=!1,t.hoverData.draggingEles=!1;var fe=t.cy,ee=fe.zoom(),Ae=t.touchData.now,Me=t.touchData.earlier;if(Y.touches[0]){var Ke=t.projectIntoViewport(Y.touches[0].clientX,Y.touches[0].clientY);Ae[0]=Ke[0],Ae[1]=Ke[1]}if(Y.touches[1]){var Ke=t.projectIntoViewport(Y.touches[1].clientX,Y.touches[1].clientY);Ae[2]=Ke[0],Ae[3]=Ke[1]}if(Y.touches[2]){var Ke=t.projectIntoViewport(Y.touches[2].clientX,Y.touches[2].clientY);Ae[4]=Ke[0],Ae[5]=Ke[1]}var Ne=function(Lt){return{originalEvent:Y,type:Lt,position:{x:Ae[0],y:Ae[1]}}};Q&&Q.unactivate();var je;if(t.touchData.cxt){if(je=Ne("cxttapend"),Q?Q.emit(je):fe.emit(je),!t.touchData.cxtDragged){var Oe=Ne("cxttap");Q?Q.emit(Oe):fe.emit(Oe)}t.touchData.start&&(t.touchData.start._private.grabbed=!1),t.touchData.cxt=!1,t.touchData.start=null,t.redraw();return}if(!Y.touches[2]&&fe.boxSelectionEnabled()&&t.touchData.selecting){t.touchData.selecting=!1;var Ze=fe.collection(t.getAllInBox(X[0],X[1],X[2],X[3]));X[0]=void 0,X[1]=void 0,X[2]=void 0,X[3]=void 0,X[4]=0,t.redrawHint("select",!0),fe.emit(Ne("boxend"));var Fe=function(Lt){return Lt.selectable()&&!Lt.selected()};Ze.emit(Ne("box")).stdFilter(Fe).select().emit(Ne("boxselect")),Ze.nonempty()&&t.redrawHint("eles",!0),t.redraw()}if(Q!=null&&Q.unactivate(),Y.touches[2])t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);else if(!Y.touches[1]){if(!Y.touches[0]){if(!Y.touches[0]){t.data.bgActivePosistion=void 0,t.redrawHint("select",!0);var at=t.dragData.touchDragEles;if(Q!=null){var Pe=Q._private.grabbed;m(at),t.redrawHint("drag",!0),t.redrawHint("eles",!0),Pe&&(Q.emit(Ne("freeon")),at.emit(Ne("free")),t.dragData.didDrag&&(Q.emit(Ne("dragfreeon")),at.emit(Ne("dragfree")))),i(Q,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ae[0],y:Ae[1]}),Q.unactivate(),t.touchData.start=null}else{var gt=t.findNearestElement(Ae[0],Ae[1],!0,!0);i(gt,["touchend","tapend","vmouseup","tapdragout"],Y,{x:Ae[0],y:Ae[1]})}var Ie=t.touchData.startPosition[0]-Ae[0],St=Ie*Ie,Et=t.touchData.startPosition[1]-Ae[1],ot=Et*Et,Ht=St+ot,It=Ht*ee*ee;t.touchData.singleTouchMoved||(Q||fe.$(":selected").unselect(["tapunselect"]),i(Q,["tap","vclick"],Y,{x:Ae[0],y:Ae[1]}),ce=!1,Y.timeStamp-we<=fe.multiClickDebounceTime()?(de&&clearTimeout(de),ce=!0,we=null,i(Q,["dbltap","vdblclick"],Y,{x:Ae[0],y:Ae[1]})):(de=setTimeout(function(){ce||i(Q,["onetap","voneclick"],Y,{x:Ae[0],y:Ae[1]})},fe.multiClickDebounceTime()),we=Y.timeStamp)),Q!=null&&!t.dragData.didDrag&&Q._private.selectable&&It<t.touchTapThreshold2&&!t.pinching&&(fe.selectionType()==="single"?(fe.$(r).unmerge(Q).unselect(["tapunselect"]),Q.select(["tapselect"])):Q.selected()?Q.unselect(["tapunselect"]):Q.select(["tapselect"]),t.redrawHint("eles",!0)),t.touchData.singleTouchMoved=!0}}}for(var ht=0;ht<Ae.length;ht++)Me[ht]=Ae[ht];t.dragData.didDrag=!1,Y.touches.length===0&&(t.touchData.dragDelta=[],t.touchData.startPosition=[null,null,null,null,null,null],t.touchData.startGPosition=null,t.touchData.didSelect=!1),Y.touches.length<2&&(Y.touches.length===1&&(t.touchData.startGPosition=[Y.touches[0].clientX,Y.touches[0].clientY]),t.pinching=!1,t.redrawHint("eles",!0),t.redraw())},!1),typeof TouchEvent>"u"){var ge=[],ze=function(Y){return{clientX:Y.clientX,clientY:Y.clientY,force:1,identifier:Y.pointerId,pageX:Y.pageX,pageY:Y.pageY,radiusX:Y.width/2,radiusY:Y.height/2,screenX:Y.screenX,screenY:Y.screenY,target:Y.target}},xe=function(Y){return{event:Y,touch:ze(Y)}},Ee=function(Y){ge.push(xe(Y))},qe=function(Y){for(var Q=0;Q<ge.length;Q++){var ue=ge[Q];if(ue.event.pointerId===Y.pointerId){ge.splice(Q,1);return}}},le=function(Y){var Q=ge.filter(function(ue){return ue.event.pointerId===Y.pointerId})[0];Q.event=Y,Q.touch=ze(Y)},pe=function(Y){Y.touches=ge.map(function(Q){return Q.touch})},Te=function(Y){return Y.pointerType==="mouse"||Y.pointerType===4};t.registerBinding(t.container,"pointerdown",function(re){Te(re)||(re.preventDefault(),Ee(re),pe(re),te(re))}),t.registerBinding(t.container,"pointerup",function(re){Te(re)||(qe(re),pe(re),He(re))}),t.registerBinding(t.container,"pointercancel",function(re){Te(re)||(qe(re),pe(re),_e(re))}),t.registerBinding(t.container,"pointermove",function(re){Te(re)||(re.preventDefault(),le(re),pe(re),Re(re))})}};var mp={};mp.generatePolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,draw:function(n,i,a,s,o,l){this.renderer.nodeShapeImpl("polygon",n,i,a,s,o,this.points)},intersectLine:function(n,i,a,s,o,l,u,d){return KT(o,l,this.points,n,i,a/2,s/2,u)},checkPoint:function(n,i,a,s,o,l,u,d){return z0(n,i,this.points,l,u,s,o,[0,-1],a)},hasMiterBounds:t!=="rectangle",miterBounds:function(n,i,a,s,o,l){return TZt(this.points,n,i,a,s,o)}}};mp.generateEllipse=function(){return this.nodeShapes.ellipse={renderer:this,name:"ellipse",draw:function(e,r,n,i,a,s){this.renderer.nodeShapeImpl(this.name,e,r,n,i,a)},intersectLine:function(e,r,n,i,a,s,o,l){return IZt(a,s,e,r,n/2+o,i/2+o)},checkPoint:function(e,r,n,i,a,s,o,l){return mU(e,r,i,a,s,o,n)}}};mp.generateRoundPolygon=function(t,e){return this.nodeShapes[t]={renderer:this,name:t,points:e,getOrCreateCorners:function(n,i,a,s,o,l,u){if(l[u]!==void 0&&l[u+"-cx"]===n&&l[u+"-cy"]===i&&l[u+"-w"]===a&&l[u+"-h"]===s&&l[u+"-corner-radius"]===o)return l[u];l[u]=new Array(e.length/2),l[u+"-cx"]=n,l[u+"-cy"]=i,l[u+"-w"]=a,l[u+"-h"]=s,l[u+"-corner-radius"]=o;var d=a/2,h=s/2;o=o==="auto"?OOe(a,s):o;for(var f=new Array(e.length/2),p=0;p<e.length/2;p++)f[p]={x:n+d*e[p*2],y:i+h*e[p*2+1]};var g,m,U,y,b=f.length;for(m=f[b-1],g=0;g<b;g++)U=f[g%b],y=f[(g+1)%b],l[u][g]=Ore(m,U,y,o),m=U,U=y;return l[u]},draw:function(n,i,a,s,o,l,u){this.renderer.nodeShapeImpl("round-polygon",n,i,a,s,o,this.points,this.getOrCreateCorners(i,a,s,o,l,u,"drawCorners"))},intersectLine:function(n,i,a,s,o,l,u,d,h){return NZt(o,l,this.points,n,i,a,s,u,this.getOrCreateCorners(n,i,a,s,d,h,"corners"))},checkPoint:function(n,i,a,s,o,l,u,d,h){return RZt(n,i,this.points,l,u,s,o,this.getOrCreateCorners(l,u,s,o,d,h,"corners"))}}};mp.generateRoundRectangle=function(){return this.nodeShapes["round-rectangle"]=this.nodeShapes.roundrectangle={renderer:this,name:"round-rectangle",points:vl(4,0),draw:function(e,r,n,i,a,s){this.renderer.nodeShapeImpl(this.name,e,r,n,i,a,this.points,s)},intersectLine:function(e,r,n,i,a,s,o,l){return LOe(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){var u=i/2,d=a/2;l=l==="auto"?a1(i,a):l,l=Math.min(u,d,l);var h=l*2;return!!(z0(e,r,this.points,s,o,i,a-h,[0,-1],n)||z0(e,r,this.points,s,o,i-h,a,[0,-1],n)||mU(e,r,h,h,s-u+l,o-d+l,n)||mU(e,r,h,h,s+u-l,o-d+l,n)||mU(e,r,h,h,s+u-l,o+d-l,n)||mU(e,r,h,h,s-u+l,o+d-l,n))}}};mp.generateCutRectangle=function(){return this.nodeShapes["cut-rectangle"]=this.nodeShapes.cutrectangle={renderer:this,name:"cut-rectangle",cornerLength:Tre(),points:vl(4,0),draw:function(e,r,n,i,a,s){this.renderer.nodeShapeImpl(this.name,e,r,n,i,a,null,s)},generateCutTrianglePts:function(e,r,n,i,a){var s=a==="auto"?this.cornerLength:a,o=r/2,l=e/2,u=n-l,d=n+l,h=i-o,f=i+o;return{topLeft:[u,h+s,u+s,h,u+s,h+s],topRight:[d-s,h,d,h+s,d-s,h+s],bottomRight:[d,f-s,d-s,f,d-s,f-s],bottomLeft:[u+s,f,u,f-s,u+s,f-s]}},intersectLine:function(e,r,n,i,a,s,o,l){var u=this.generateCutTrianglePts(n+2*o,i+2*o,e,r,l),d=[].concat.apply([],[u.topLeft.splice(0,4),u.topRight.splice(0,4),u.bottomRight.splice(0,4),u.bottomLeft.splice(0,4)]);return KT(a,s,d,e,r)},checkPoint:function(e,r,n,i,a,s,o,l){var u=l==="auto"?this.cornerLength:l;if(z0(e,r,this.points,s,o,i,a-2*u,[0,-1],n)||z0(e,r,this.points,s,o,i-2*u,a,[0,-1],n))return!0;var d=this.generateCutTrianglePts(i,a,s,o);return mc(e,r,d.topLeft)||mc(e,r,d.topRight)||mc(e,r,d.bottomRight)||mc(e,r,d.bottomLeft)}}};mp.generateBarrel=function(){return this.nodeShapes.barrel={renderer:this,name:"barrel",points:vl(4,0),draw:function(e,r,n,i,a,s){this.renderer.nodeShapeImpl(this.name,e,r,n,i,a)},intersectLine:function(e,r,n,i,a,s,o,l){var u=.15,d=.5,h=.85,f=this.generateBarrelBezierPts(n+2*o,i+2*o,e,r),p=function(U){var y=vb({x:U[0],y:U[1]},{x:U[2],y:U[3]},{x:U[4],y:U[5]},u),b=vb({x:U[0],y:U[1]},{x:U[2],y:U[3]},{x:U[4],y:U[5]},d),v=vb({x:U[0],y:U[1]},{x:U[2],y:U[3]},{x:U[4],y:U[5]},h);return[U[0],U[1],y.x,y.y,b.x,b.y,v.x,v.y,U[4],U[5]]},g=[].concat(p(f.topLeft),p(f.topRight),p(f.bottomRight),p(f.bottomLeft));return KT(a,s,g,e,r)},generateBarrelBezierPts:function(e,r,n,i){var a=r/2,s=e/2,o=n-s,l=n+s,u=i-a,d=i+a,h=Xj(e,r),f=h.heightOffset,p=h.widthOffset,g=h.ctrlPtOffsetPct*e,m={topLeft:[o,u+f,o+g,u,o+p,u],topRight:[l-p,u,l-g,u,l,u+f],bottomRight:[l,d-f,l-g,d,l-p,d],bottomLeft:[o+p,d,o+g,d,o,d-f]};return m.topLeft.isTop=!0,m.topRight.isTop=!0,m.bottomLeft.isBottom=!0,m.bottomRight.isBottom=!0,m},checkPoint:function(e,r,n,i,a,s,o,l){var u=Xj(i,a),d=u.heightOffset,h=u.widthOffset;if(z0(e,r,this.points,s,o,i,a-2*d,[0,-1],n)||z0(e,r,this.points,s,o,i-2*h,a,[0,-1],n))return!0;for(var f=this.generateBarrelBezierPts(i,a,s,o),p=function(k,E,A){var M=A[4],P=A[2],N=A[0],I=A[5],L=A[1],_=Math.min(M,N),D=Math.max(M,N),O=Math.min(I,L),B=Math.max(I,L);if(_<=k&&k<=D&&O<=E&&E<=B){var F=OZt(M,P,N),z=kZt(F[0],F[1],F[2],k),$=z.filter(function(H){return 0<=H&&H<=1});if($.length>0)return $[0]}return null},g=Object.keys(f),m=0;m<g.length;m++){var U=g[m],y=f[U],b=p(e,r,y);if(b!=null){var v=y[5],w=y[3],T=y[1],S=Ws(v,w,T,b);if(y.isTop&&S<=r||y.isBottom&&r<=S)return!0}}return!1}}};mp.generateBottomRoundrectangle=function(){return this.nodeShapes["bottom-round-rectangle"]=this.nodeShapes.bottomroundrectangle={renderer:this,name:"bottom-round-rectangle",points:vl(4,0),draw:function(e,r,n,i,a,s){this.renderer.nodeShapeImpl(this.name,e,r,n,i,a,this.points,s)},intersectLine:function(e,r,n,i,a,s,o,l){var u=e-(n/2+o),d=r-(i/2+o),h=d,f=e+(n/2+o),p=Ug(a,s,e,r,u,d,f,h,!1);return p.length>0?p:LOe(a,s,e,r,n,i,o,l)},checkPoint:function(e,r,n,i,a,s,o,l){l=l==="auto"?a1(i,a):l;var u=2*l;if(z0(e,r,this.points,s,o,i,a-u,[0,-1],n)||z0(e,r,this.points,s,o,i-u,a,[0,-1],n))return!0;var d=i/2+2*n,h=a/2+2*n,f=[s-d,o-h,s-d,o,s+d,o,s+d,o-h];return!!(mc(e,r,f)||mU(e,r,u,u,s+i/2-l,o+a/2-l,n)||mU(e,r,u,u,s-i/2+l,o+a/2-l,n))}}};mp.registerNodeShapes=function(){var t=this.nodeShapes={},e=this;this.generateEllipse(),this.generatePolygon("triangle",vl(3,0)),this.generateRoundPolygon("round-triangle",vl(3,0)),this.generatePolygon("rectangle",vl(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",vl(5,0)),this.generateRoundPolygon("round-pentagon",vl(5,0)),this.generatePolygon("hexagon",vl(6,0)),this.generateRoundPolygon("round-hexagon",vl(6,0)),this.generatePolygon("heptagon",vl(7,0)),this.generateRoundPolygon("round-heptagon",vl(7,0)),this.generatePolygon("octagon",vl(8,0)),this.generateRoundPolygon("round-octagon",vl(8,0));var n=new Array(20);{var i=Yj(5,0),a=Yj(5,Math.PI/5),s=.5*(3-Math.sqrt(5));s*=1.57;for(var o=0;o<a.length/2;o++)a[o*2]*=s,a[o*2+1]*=s;for(var o=0;o<20/4;o++)n[o*4]=i[o*2],n[o*4+1]=i[o*2+1],n[o*4+2]=a[o*2],n[o*4+3]=a[o*2+1]}n=NOe(n),this.generatePolygon("star",n),this.generatePolygon("vee",[-1,-1,0,-.333,1,-1,0,1]),this.generatePolygon("rhomboid",[-1,-1,.333,-1,1,1,-.333,1]),this.generatePolygon("right-rhomboid",[-.333,-1,1,-1,.333,1,-1,1]),this.nodeShapes.concavehexagon=this.generatePolygon("concave-hexagon",[-1,-.95,-.75,0,-1,.95,1,.95,.75,0,1,-.95]);{var l=[-1,-1,.25,-1,1,0,.25,1,-1,1];this.generatePolygon("tag",l),this.generateRoundPolygon("round-tag",l)}t.makePolygon=function(u){var d=u.join("$"),h="polygon-"+d,f;return(f=this[h])?f:e.generatePolygon(h,u)}};var LS={};LS.timeToRender=function(){return this.redrawTotalTime/this.redrawCount};LS.redraw=function(t){t=t||EOe();var e=this;e.averageRedrawTime===void 0&&(e.averageRedrawTime=0),e.lastRedrawTime===void 0&&(e.lastRedrawTime=0),e.lastDrawTime===void 0&&(e.lastDrawTime=0),e.requestedFrame=!0,e.renderOptions=t};LS.beforeRender=function(t,e){if(!this.destroyed){e==null&&ca("Priority is not optional for beforeRender");var r=this.beforeRenderCallbacks;r.push({fn:t,priority:e}),r.sort(function(n,i){return i.priority-n.priority})}};var Vme=function(e,r,n){for(var i=e.beforeRenderCallbacks,a=0;a<i.length;a++)i[a].fn(r,n)};LS.startRenderLoop=function(){var t=this,e=t.cy;if(!t.renderLoopStarted){t.renderLoopStarted=!0;var r=function(i){if(!t.destroyed){if(!e.batching())if(t.requestedFrame&&!t.skipFrame){Vme(t,!0,i);var a=F0();t.render(t.renderOptions);var s=t.lastDrawTime=F0();t.averageRedrawTime===void 0&&(t.averageRedrawTime=s-a),t.redrawCount===void 0&&(t.redrawCount=0),t.redrawCount++,t.redrawTotalTime===void 0&&(t.redrawTotalTime=0);var o=s-a;t.redrawTotalTime+=o,t.lastRedrawTime=o,t.averageRedrawTime=t.averageRedrawTime/2+o/2,t.requestedFrame=!1}else Vme(t,!1,i);t.skipFrame=!1,eN(r)}};eN(r)}};var Qer=function(e){this.init(e)},DDe=Qer,U3=DDe.prototype;U3.clientFunctions=["redrawHint","render","renderTo","matchCanvasSize","nodeShapeImpl","arrowShapeImpl"];U3.init=function(t){var e=this;e.options=t,e.cy=t.cy;var r=e.container=t.cy.container(),n=e.cy.window();if(n){var i=n.document,a=i.head,s="__________cytoscape_stylesheet",o="__________cytoscape_container",l=i.getElementById(s)!=null;if(r.className.indexOf(o)<0&&(r.className=(r.className||"")+" "+o),!l){var u=i.createElement("style");u.id=s,u.textContent="."+o+" { position: relative; }",a.insertBefore(u,a.children[0])}var d=n.getComputedStyle(r),h=d.getPropertyValue("position");h==="static"&&xi("A Cytoscape container has style position:static and so can not use UI extensions properly")}e.selection=[void 0,void 0,void 0,void 0,0],e.bezierProjPcts=[.05,.225,.4,.5,.6,.775,.95],e.hoverData={down:null,last:null,downTime:null,triggerMode:null,dragging:!1,initialPan:[null,null],capture:!1},e.dragData={possibleDragElements:[]},e.touchData={start:null,capture:!1,startPosition:[null,null,null,null,null,null],singleTouchStartTime:null,singleTouchMoved:!0,now:[null,null,null,null,null,null],earlier:[null,null,null,null,null,null]},e.redraws=0,e.showFps=t.showFps,e.debug=t.debug,e.webgl=t.webgl,e.hideEdgesOnViewport=t.hideEdgesOnViewport,e.textureOnViewport=t.textureOnViewport,e.wheelSensitivity=t.wheelSensitivity,e.motionBlurEnabled=t.motionBlur,e.forcedPixelRatio=Jt(t.pixelRatio)?t.pixelRatio:null,e.motionBlur=t.motionBlur,e.motionBlurOpacity=t.motionBlurOpacity,e.motionBlurTransparency=1-e.motionBlurOpacity,e.motionBlurPxRatio=1,e.mbPxRBlurry=1,e.minMbLowQualFrames=4,e.fullQualityMb=!1,e.clearedForMotionBlur=[],e.desktopTapThreshold=t.desktopTapThreshold,e.desktopTapThreshold2=t.desktopTapThreshold*t.desktopTapThreshold,e.touchTapThreshold=t.touchTapThreshold,e.touchTapThreshold2=t.touchTapThreshold*t.touchTapThreshold,e.tapholdDuration=500,e.bindings=[],e.beforeRenderCallbacks=[],e.beforeRenderPriorities={animations:400,eleCalcs:300,eleTxrDeq:200,lyrTxrDeq:150,lyrTxrSkip:100},e.registerNodeShapes(),e.registerArrowShapes(),e.registerCalculationListeners()};U3.notify=function(t,e){var r=this,n=r.cy;if(!this.destroyed){if(t==="init"){r.load();return}if(t==="destroy"){r.destroy();return}(t==="add"||t==="remove"||t==="move"&&n.hasCompoundNodes()||t==="load"||t==="zorder"||t==="mount")&&r.invalidateCachedZSortedEles(),t==="viewport"&&r.redrawHint("select",!0),t==="gc"&&r.redrawHint("gc",!0),(t==="load"||t==="resize"||t==="mount")&&(r.invalidateContainerClientCoordsCache(),r.matchCanvasSize(r.container)),r.redrawHint("eles",!0),r.redrawHint("drag",!0),this.startRenderLoop(),this.redraw()}};U3.destroy=function(){var t=this;t.destroyed=!0,t.cy.stopAnimationLoop();for(var e=0;e<t.bindings.length;e++){var r=t.bindings[e],n=r,i=n.target;(i.off||i.removeEventListener).apply(i,n.args)}if(t.bindings=[],t.beforeRenderCallbacks=[],t.onUpdateEleCalcsFns=[],t.removeObserver&&t.removeObserver.disconnect(),t.styleObserver&&t.styleObserver.disconnect(),t.resizeObserver&&t.resizeObserver.disconnect(),t.labelCalcDiv)try{document.body.removeChild(t.labelCalcDiv)}catch{}};U3.isHeadless=function(){return!1};[Nre,LDe,NDe,m3,mp,LS].forEach(function(t){Gr(U3,t)});var EH=1e3/60,PDe={setupDequeueing:function(e){return function(){var n=this,i=this.renderer;if(!n.dequeueingSetup){n.dequeueingSetup=!0;var a=ES(function(){i.redrawHint("eles",!0),i.redrawHint("drag",!0),i.redraw()},e.deqRedrawThreshold),s=function(u,d){var h=F0(),f=i.averageRedrawTime,p=i.lastRedrawTime,g=[],m=i.cy.extent(),U=i.getPixelRatio();for(u||i.flushRenderedStyleQueue();;){var y=F0(),b=y-h,v=y-d;if(p<EH){var w=EH-(u?f:0);if(v>=e.deqFastCost*w)break}else if(u){if(b>=e.deqCost*p||b>=e.deqAvgCost*f)break}else if(v>=e.deqNoDrawCost*EH)break;var T=e.deq(n,U,m);if(T.length>0)for(var S=0;S<T.length;S++)g.push(T[S]);else break}g.length>0&&(e.onDeqd(n,g),!u&&e.shouldRedraw(n,g,U,m)&&a())},o=e.priority||yre;i.beforeRender(s,o(n))}}}},etr=(function(){function t(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:tN;I1(this,t),this.idsByKey=new u0,this.keyForId=new u0,this.cachesByLvl=new u0,this.lvls=[],this.getKey=e,this.doesEleInvalidateKey=r}return L1(t,[{key:"getIdsFor",value:function(r){r==null&&ca("Can not get id list for null key");var n=this.idsByKey,i=this.idsByKey.get(r);return i||(i=new h3,n.set(r,i)),i}},{key:"addIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).add(n)}},{key:"deleteIdForKey",value:function(r,n){r!=null&&this.getIdsFor(r).delete(n)}},{key:"getNumberOfIdsForKey",value:function(r){return r==null?0:this.getIdsFor(r).size}},{key:"updateKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);this.deleteIdForKey(i,n),this.addIdForKey(a,n),this.keyForId.set(n,a)}},{key:"deleteKeyMappingFor",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteIdForKey(i,n),this.keyForId.delete(n)}},{key:"keyHasChangedFor",value:function(r){var n=r.id(),i=this.keyForId.get(n),a=this.getKey(r);return i!==a}},{key:"isInvalid",value:function(r){return this.keyHasChangedFor(r)||this.doesEleInvalidateKey(r)}},{key:"getCachesAt",value:function(r){var n=this.cachesByLvl,i=this.lvls,a=n.get(r);return a||(a=new u0,n.set(r,a),i.push(r)),a}},{key:"getCache",value:function(r,n){return this.getCachesAt(n).get(r)}},{key:"get",value:function(r,n){var i=this.getKey(r),a=this.getCache(i,n);return a!=null&&this.updateKeyMappingFor(r),a}},{key:"getForCachedKey",value:function(r,n){var i=this.keyForId.get(r.id()),a=this.getCache(i,n);return a}},{key:"hasCache",value:function(r,n){return this.getCachesAt(n).has(r)}},{key:"has",value:function(r,n){var i=this.getKey(r);return this.hasCache(i,n)}},{key:"setCache",value:function(r,n,i){i.key=r,this.getCachesAt(n).set(r,i)}},{key:"set",value:function(r,n,i){var a=this.getKey(r);this.setCache(a,n,i),this.updateKeyMappingFor(r)}},{key:"deleteCache",value:function(r,n){this.getCachesAt(n).delete(r)}},{key:"delete",value:function(r,n){var i=this.getKey(r);this.deleteCache(i,n)}},{key:"invalidateKey",value:function(r){var n=this;this.lvls.forEach(function(i){return n.deleteCache(r,i)})}},{key:"invalidate",value:function(r){var n=r.id(),i=this.keyForId.get(n);this.deleteKeyMappingFor(r);var a=this.doesEleInvalidateKey(r);return a&&this.invalidateKey(i),a||this.getNumberOfIdsForKey(i)===0}}])})(),Gme=25,YE=50,wM=-4,lY=3,_De=7.99,ttr=8,rtr=1024,ntr=1024,itr=1024,atr=.2,str=.8,otr=10,ltr=.15,ctr=.1,utr=.9,dtr=.9,htr=100,ftr=1,H2={dequeue:"dequeue",downscale:"downscale",highQuality:"highQuality"},ptr=_o({getKey:null,doesEleInvalidateKey:tN,drawElement:null,getBoundingBox:null,getRotationPoint:null,getRotationOffset:null,isVisible:COe,allowEdgeTxrCaching:!0,allowParentTxrCaching:!0}),sx=function(e,r){var n=this;n.renderer=e,n.onDequeues=[];var i=ptr(r);Gr(n,i),n.lookup=new etr(i.getKey,i.doesEleInvalidateKey),n.setupDequeueing()},Hs=sx.prototype;Hs.reasons=H2;Hs.getTextureQueue=function(t){var e=this;return e.eleImgCaches=e.eleImgCaches||{},e.eleImgCaches[t]=e.eleImgCaches[t]||[]};Hs.getRetiredTextureQueue=function(t){var e=this,r=e.eleImgCaches.retired=e.eleImgCaches.retired||{},n=r[t]=r[t]||[];return n};Hs.getElementQueue=function(){var t=this,e=t.eleCacheQueue=t.eleCacheQueue||new AS(function(r,n){return n.reqs-r.reqs});return e};Hs.getElementKeyToQueue=function(){var t=this,e=t.eleKeyToCacheQueue=t.eleKeyToCacheQueue||{};return e};Hs.getElement=function(t,e,r,n,i){var a=this,s=this.renderer,o=s.cy.zoom(),l=this.lookup;if(!e||e.w===0||e.h===0||isNaN(e.w)||isNaN(e.h)||!t.visible()||t.removed()||!a.allowEdgeTxrCaching&&t.isEdge()||!a.allowParentTxrCaching&&t.isParent())return null;if(n==null&&(n=Math.ceil(vre(o*r))),n<wM)n=wM;else if(o>=_De||n>lY)return null;var u=Math.pow(2,n),d=e.h*u,h=e.w*u,f=s.eleTextBiggerThanMin(t,u);if(!this.isVisible(t,f))return null;var p=l.get(t,n);if(p&&p.invalidated&&(p.invalidated=!1,p.texture.invalidatedWidth-=p.width),p)return p;var g;if(d<=Gme?g=Gme:d<=YE?g=YE:g=Math.ceil(d/YE)*YE,d>itr||h>ntr)return null;var m=a.getTextureQueue(g),U=m[m.length-2],y=function(){return a.recycleTexture(g,h)||a.addTexture(g,h)};U||(U=m[m.length-1]),U||(U=y()),U.width-U.usedWidth<h&&(U=y());for(var b=function(_){return _&&_.scaledLabelShown===f},v=i&&i===H2.dequeue,w=i&&i===H2.highQuality,T=i&&i===H2.downscale,S,C=n+1;C<=lY;C++){var k=l.get(t,C);if(k){S=k;break}}var E=S&&S.level===n+1?S:null,A=function(){U.context.drawImage(E.texture.canvas,E.x,0,E.width,E.height,U.usedWidth,0,h,d)};if(U.context.setTransform(1,0,0,1,0,0),U.context.clearRect(U.usedWidth,0,h,g),b(E))A();else if(b(S))if(w){for(var M=S.level;M>n;M--)E=a.getElement(t,e,r,M,H2.downscale);A()}else return a.queueElement(t,S.level-1),S;else{var P;if(!v&&!w&&!T)for(var N=n-1;N>=wM;N--){var I=l.get(t,N);if(I){P=I;break}}if(b(P))return a.queueElement(t,n),P;U.context.translate(U.usedWidth,0),U.context.scale(u,u),this.drawElement(U.context,t,e,f,!1),U.context.scale(1/u,1/u),U.context.translate(-U.usedWidth,0)}return p={x:U.usedWidth,texture:U,level:n,scale:u,width:h,height:d,scaledLabelShown:f},U.usedWidth+=Math.ceil(h+ttr),U.eleCaches.push(p),l.set(t,n,p),a.checkTextureFullness(U),p};Hs.invalidateElements=function(t){for(var e=0;e<t.length;e++)this.invalidateElement(t[e])};Hs.invalidateElement=function(t){var e=this,r=e.lookup,n=[],i=r.isInvalid(t);if(i){for(var a=wM;a<=lY;a++){var s=r.getForCachedKey(t,a);s&&n.push(s)}var o=r.invalidate(t);if(o)for(var l=0;l<n.length;l++){var u=n[l],d=u.texture;d.invalidatedWidth+=u.width,u.invalidated=!0,e.checkTextureUtility(d)}e.removeFromQueue(t)}};Hs.checkTextureUtility=function(t){t.invalidatedWidth>=atr*t.width&&this.retireTexture(t)};Hs.checkTextureFullness=function(t){var e=this,r=e.getTextureQueue(t.height);t.usedWidth/t.width>str&&t.fullnessChecks>=otr?i1(r,t):t.fullnessChecks++};Hs.retireTexture=function(t){var e=this,r=t.height,n=e.getTextureQueue(r),i=this.lookup;i1(n,t),t.retired=!0;for(var a=t.eleCaches,s=0;s<a.length;s++){var o=a[s];i.deleteCache(o.key,o.level)}bre(a);var l=e.getRetiredTextureQueue(r);l.push(t)};Hs.addTexture=function(t,e){var r=this,n=r.getTextureQueue(t),i={};return n.push(i),i.eleCaches=[],i.height=t,i.width=Math.max(rtr,e),i.usedWidth=0,i.invalidatedWidth=0,i.fullnessChecks=0,i.canvas=r.renderer.makeOffscreenCanvas(i.width,i.height),i.context=i.canvas.getContext("2d"),i};Hs.recycleTexture=function(t,e){for(var r=this,n=r.getTextureQueue(t),i=r.getRetiredTextureQueue(t),a=0;a<i.length;a++){var s=i[a];if(s.width>=e)return s.retired=!1,s.usedWidth=0,s.invalidatedWidth=0,s.fullnessChecks=0,bre(s.eleCaches),s.context.setTransform(1,0,0,1,0,0),s.context.clearRect(0,0,s.width,s.height),i1(i,s),n.push(s),s}};Hs.queueElement=function(t,e){var r=this,n=r.getElementQueue(),i=r.getElementKeyToQueue(),a=this.getKey(t),s=i[a];if(s)s.level=Math.max(s.level,e),s.eles.merge(t),s.reqs++,n.updateItem(s);else{var o={eles:t.spawn().merge(t),level:e,reqs:1,key:a};n.push(o),i[a]=o}};Hs.dequeue=function(t){for(var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=[],a=e.lookup,s=0;s<ftr&&r.size()>0;s++){var o=r.pop(),l=o.key,u=o.eles[0],d=a.hasCache(u,o.level);if(n[l]=null,d)continue;i.push(o);var h=e.getBoundingBox(u);e.getElement(u,h,t,o.level,H2.dequeue)}return i};Hs.removeFromQueue=function(t){var e=this,r=e.getElementQueue(),n=e.getElementKeyToQueue(),i=this.getKey(t),a=n[i];a!=null&&(a.eles.length===1?(a.reqs=Ure,r.updateItem(a),r.pop(),n[i]=null):a.eles.unmerge(t))};Hs.onDequeue=function(t){this.onDequeues.push(t)};Hs.offDequeue=function(t){i1(this.onDequeues,t)};Hs.setupDequeueing=PDe.setupDequeueing({deqRedrawThreshold:htr,deqCost:ltr,deqAvgCost:ctr,deqNoDrawCost:utr,deqFastCost:dtr,deq:function(e,r,n){return e.dequeue(r,n)},onDeqd:function(e,r){for(var n=0;n<e.onDequeues.length;n++){var i=e.onDequeues[n];i(r)}},shouldRedraw:function(e,r,n,i){for(var a=0;a<r.length;a++)for(var s=r[a].eles,o=0;o<s.length;o++){var l=s[o].boundingBox();if(wre(l,i))return!0}return!1},priority:function(e){return e.renderer.beforeRenderPriorities.eleTxrDeq}});var gtr=1,lw=-4,cN=2,mtr=3.99,Utr=50,ytr=50,btr=.15,vtr=.1,xtr=.9,wtr=.9,Ttr=1,Wme=250,Ctr=4e3*4e3,qme=32767,Str=!0,BDe=function(e){var r=this,n=r.renderer=e,i=n.cy;r.layersByLevel={},r.firstGet=!0,r.lastInvalidationTime=F0()-2*Wme,r.skipping=!1,r.eleTxrDeqs=i.collection(),r.scheduleElementRefinement=ES(function(){r.refineElementTextures(r.eleTxrDeqs),r.eleTxrDeqs.unmerge(r.eleTxrDeqs)},ytr),n.beforeRender(function(s,o){o-r.lastInvalidationTime<=Wme?r.skipping=!0:r.skipping=!1},n.beforeRenderPriorities.lyrTxrSkip);var a=function(o,l){return l.reqs-o.reqs};r.layersQueue=new AS(a),r.setupDequeueing()},Bo=BDe.prototype,jme=0,ktr=Math.pow(2,53)-1;Bo.makeLayer=function(t,e){var r=Math.pow(2,e),n=Math.ceil(t.w*r),i=Math.ceil(t.h*r),a=this.renderer.makeOffscreenCanvas(n,i),s={id:jme=++jme%ktr,bb:t,level:e,width:n,height:i,canvas:a,context:a.getContext("2d"),eles:[],elesQueue:[],reqs:0},o=s.context,l=-s.bb.x1,u=-s.bb.y1;return o.scale(r,r),o.translate(l,u),s};Bo.getLayers=function(t,e,r){var n=this,i=n.renderer,a=i.cy,s=a.zoom(),o=n.firstGet;if(n.firstGet=!1,r==null){if(r=Math.ceil(vre(s*e)),r<lw)r=lw;else if(s>=mtr||r>cN)return null}n.validateLayersElesOrdering(r,t);var l=n.layersByLevel,u=Math.pow(2,r),d=l[r]=l[r]||[],h,f=n.levelIsComplete(r,t),p,g=function(){var A=function(L){if(n.validateLayersElesOrdering(L,t),n.levelIsComplete(L,t))return p=l[L],!0},M=function(L){if(!p)for(var _=r+L;lw<=_&&_<=cN&&!A(_);_+=L);};M(1),M(-1);for(var P=d.length-1;P>=0;P--){var N=d[P];N.invalid&&i1(d,N)}};if(!f)g();else return d;var m=function(){if(!h){h=Gl();for(var A=0;A<t.length;A++)vZt(h,t[A].boundingBox())}return h},U=function(A){A=A||{};var M=A.after;m();var P=Math.ceil(h.w*u),N=Math.ceil(h.h*u);if(P>qme||N>qme)return null;var I=P*N;if(I>Ctr)return null;var L=n.makeLayer(h,r);if(M!=null){var _=d.indexOf(M)+1;d.splice(_,0,L)}else(A.insert===void 0||A.insert)&&d.unshift(L);return L};if(n.skipping&&!o)return null;for(var y=null,b=t.length/gtr,v=!o,w=0;w<t.length;w++){var T=t[w],S=T._private.rscratch,C=S.imgLayerCaches=S.imgLayerCaches||{},k=C[r];if(k){y=k;continue}if((!y||y.eles.length>=b||!IOe(y.bb,T.boundingBox()))&&(y=U({insert:!0,after:y}),!y))return null;p||v?n.queueLayer(y,T):n.drawEleInLayer(y,T,r,e),y.eles.push(T),C[r]=y}return p||(v?null:d)};Bo.getEleLevelForLayerLevel=function(t,e){return t};Bo.drawEleInLayer=function(t,e,r,n){var i=this,a=this.renderer,s=t.context,o=e.boundingBox();o.w===0||o.h===0||!e.visible()||(r=i.getEleLevelForLayerLevel(r,n),a.setImgSmoothing(s,!1),a.drawCachedElement(s,e,null,null,r,Str),a.setImgSmoothing(s,!0))};Bo.levelIsComplete=function(t,e){var r=this,n=r.layersByLevel[t];if(!n||n.length===0)return!1;for(var i=0,a=0;a<n.length;a++){var s=n[a];if(s.reqs>0||s.invalid)return!1;i+=s.eles.length}return i===e.length};Bo.validateLayersElesOrdering=function(t,e){var r=this.layersByLevel[t];if(r)for(var n=0;n<r.length;n++){for(var i=r[n],a=-1,s=0;s<e.length;s++)if(i.eles[0]===e[s]){a=s;break}if(a<0){this.invalidateLayer(i);continue}for(var o=a,s=0;s<i.eles.length;s++)if(i.eles[s]!==e[o+s]){this.invalidateLayer(i);break}}};Bo.updateElementsInLayers=function(t,e){for(var r=this,n=TS(t[0]),i=0;i<t.length;i++)for(var a=n?null:t[i],s=n?t[i]:t[i].ele,o=s._private.rscratch,l=o.imgLayerCaches=o.imgLayerCaches||{},u=lw;u<=cN;u++){var d=l[u];d&&(a&&r.getEleLevelForLayerLevel(d.level)!==a.level||e(d,s,a))}};Bo.haveLayers=function(){for(var t=this,e=!1,r=lw;r<=cN;r++){var n=t.layersByLevel[r];if(n&&n.length>0){e=!0;break}}return e};Bo.invalidateElements=function(t){var e=this;t.length!==0&&(e.lastInvalidationTime=F0(),!(t.length===0||!e.haveLayers())&&e.updateElementsInLayers(t,function(n,i,a){e.invalidateLayer(n)}))};Bo.invalidateLayer=function(t){if(this.lastInvalidationTime=F0(),!t.invalid){var e=t.level,r=t.eles,n=this.layersByLevel[e];i1(n,t),t.elesQueue=[],t.invalid=!0,t.replacement&&(t.replacement.invalid=!0);for(var i=0;i<r.length;i++){var a=r[i]._private.rscratch.imgLayerCaches;a&&(a[e]=null)}}};Bo.refineElementTextures=function(t){var e=this;e.updateElementsInLayers(t,function(n,i,a){var s=n.replacement;if(s||(s=n.replacement=e.makeLayer(n.bb,n.level),s.replaces=n,s.eles=n.eles),!s.reqs)for(var o=0;o<s.eles.length;o++)e.queueLayer(s,s.eles[o])})};Bo.enqueueElementRefinement=function(t){this.eleTxrDeqs.merge(t),this.scheduleElementRefinement()};Bo.queueLayer=function(t,e){var r=this,n=r.layersQueue,i=t.elesQueue,a=i.hasId=i.hasId||{};if(!t.replacement){if(e){if(a[e.id()])return;i.push(e),a[e.id()]=!0}t.reqs?(t.reqs++,n.updateItem(t)):(t.reqs=1,n.push(t))}};Bo.dequeue=function(t){for(var e=this,r=e.layersQueue,n=[],i=0;i<Ttr&&r.size()!==0;){var a=r.peek();if(a.replacement){r.pop();continue}if(a.replaces&&a!==a.replaces.replacement){r.pop();continue}if(a.invalid){r.pop();continue}var s=a.elesQueue.shift();s&&(e.drawEleInLayer(a,s,a.level,t),i++),n.length===0&&n.push(!0),a.elesQueue.length===0&&(r.pop(),a.reqs=0,a.replaces&&e.applyLayerReplacement(a),e.requestRedraw())}return n};Bo.applyLayerReplacement=function(t){var e=this,r=e.layersByLevel[t.level],n=t.replaces,i=r.indexOf(n);if(!(i<0||n.invalid)){r[i]=t;for(var a=0;a<t.eles.length;a++){var s=t.eles[a]._private,o=s.imgLayerCaches=s.imgLayerCaches||{};o&&(o[t.level]=t)}e.requestRedraw()}};Bo.requestRedraw=ES(function(){var t=this.renderer;t.redrawHint("eles",!0),t.redrawHint("drag",!0),t.redraw()},100);Bo.setupDequeueing=PDe.setupDequeueing({deqRedrawThreshold:Utr,deqCost:btr,deqAvgCost:vtr,deqNoDrawCost:xtr,deqFastCost:wtr,deq:function(e,r){return e.dequeue(r)},onDeqd:yre,shouldRedraw:COe,priority:function(e){return e.renderer.beforeRenderPriorities.lyrTxrDeq}});var $De={},Yme;function Etr(t,e){for(var r=0;r<e.length;r++){var n=e[r];t.lineTo(n.x,n.y)}}function Atr(t,e,r){for(var n,i=0;i<e.length;i++){var a=e[i];i===0&&(n=a),t.lineTo(a.x,a.y)}t.quadraticCurveTo(r.x,r.y,n.x,n.y)}function Xme(t,e,r){t.beginPath&&t.beginPath();for(var n=e,i=0;i<n.length;i++){var a=n[i];t.lineTo(a.x,a.y)}var s=r,o=r[0];t.moveTo(o.x,o.y);for(var i=1;i<s.length;i++){var a=s[i];t.lineTo(a.x,a.y)}t.closePath&&t.closePath()}function Mtr(t,e,r,n,i){t.beginPath&&t.beginPath(),t.arc(r,n,i,0,Math.PI*2,!1);var a=e,s=a[0];t.moveTo(s.x,s.y);for(var o=0;o<a.length;o++){var l=a[o];t.lineTo(l.x,l.y)}t.closePath&&t.closePath()}function Rtr(t,e,r,n){t.arc(e,r,n,0,Math.PI*2,!1)}$De.arrowShapeImpl=function(t){return(Yme||(Yme={polygon:Etr,"triangle-backcurve":Atr,"triangle-tee":Xme,"circle-triangle":Mtr,"triangle-cross":Xme,circle:Rtr}))[t]};var Uf={};Uf.drawElement=function(t,e,r,n,i,a){var s=this;e.isNode()?s.drawNode(t,e,r,n,i,a):s.drawEdge(t,e,r,n,i,a)};Uf.drawElementOverlay=function(t,e){var r=this;e.isNode()?r.drawNodeOverlay(t,e):r.drawEdgeOverlay(t,e)};Uf.drawElementUnderlay=function(t,e){var r=this;e.isNode()?r.drawNodeUnderlay(t,e):r.drawEdgeUnderlay(t,e)};Uf.drawCachedElementPortion=function(t,e,r,n,i,a,s,o){var l=this,u=r.getBoundingBox(e);if(!(u.w===0||u.h===0)){var d=r.getElement(e,u,n,i,a);if(d!=null){var h=o(l,e);if(h===0)return;var f=s(l,e),p=u.x1,g=u.y1,m=u.w,U=u.h,y,b,v,w,T;if(f!==0){var S=r.getRotationPoint(e);v=S.x,w=S.y,t.translate(v,w),t.rotate(f),T=l.getImgSmoothing(t),T||l.setImgSmoothing(t,!0);var C=r.getRotationOffset(e);y=C.x,b=C.y}else y=p,b=g;var k;h!==1&&(k=t.globalAlpha,t.globalAlpha=k*h),t.drawImage(d.texture.canvas,d.x,0,d.width,d.height,y,b,m,U),h!==1&&(t.globalAlpha=k),f!==0&&(t.rotate(-f),t.translate(-v,-w),T||l.setImgSmoothing(t,!1))}else r.drawElement(t,e)}};var Itr=function(){return 0},Ltr=function(e,r){return e.getTextAngle(r,null)},Ntr=function(e,r){return e.getTextAngle(r,"source")},Otr=function(e,r){return e.getTextAngle(r,"target")},Dtr=function(e,r){return r.effectiveOpacity()},AH=function(e,r){return r.pstyle("text-opacity").pfValue*r.effectiveOpacity()};Uf.drawCachedElement=function(t,e,r,n,i,a){var s=this,o=s.data,l=o.eleTxrCache,u=o.lblTxrCache,d=o.slbTxrCache,h=o.tlbTxrCache,f=e.boundingBox(),p=a===!0?l.reasons.highQuality:null;if(!(f.w===0||f.h===0||!e.visible())&&(!n||wre(f,n))){var g=e.isEdge(),m=e.element()._private.rscratch.badLine;s.drawElementUnderlay(t,e),s.drawCachedElementPortion(t,e,l,r,i,p,Itr,Dtr),(!g||!m)&&s.drawCachedElementPortion(t,e,u,r,i,p,Ltr,AH),g&&!m&&(s.drawCachedElementPortion(t,e,d,r,i,p,Ntr,AH),s.drawCachedElementPortion(t,e,h,r,i,p,Otr,AH)),s.drawElementOverlay(t,e)}};Uf.drawElements=function(t,e){for(var r=this,n=0;n<e.length;n++){var i=e[n];r.drawElement(t,i)}};Uf.drawCachedElements=function(t,e,r,n){for(var i=this,a=0;a<e.length;a++){var s=e[a];i.drawCachedElement(t,s,r,n)}};Uf.drawCachedNodes=function(t,e,r,n){for(var i=this,a=0;a<e.length;a++){var s=e[a];s.isNode()&&i.drawCachedElement(t,s,r,n)}};Uf.drawLayeredElements=function(t,e,r,n){var i=this,a=i.data.lyrTxrCache.getLayers(e,r);if(a)for(var s=0;s<a.length;s++){var o=a[s],l=o.bb;l.w===0||l.h===0||t.drawImage(o.canvas,l.x1,l.y1,l.w,l.h)}else i.drawCachedElements(t,e,r,n)};var Up={};Up.drawEdge=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o=e._private.rscratch;if(!(a&&!e.visible())&&!(o.badLine||o.allpts==null||isNaN(o.allpts[0]))){var l;r&&(l=r,t.translate(-l.x1,-l.y1));var u=a?e.pstyle("opacity").value:1,d=a?e.pstyle("line-opacity").value:1,h=e.pstyle("curve-style").value,f=e.pstyle("line-style").value,p=e.pstyle("width").pfValue,g=e.pstyle("line-cap").value,m=e.pstyle("line-outline-width").value,U=e.pstyle("line-outline-color").value,y=u*d,b=u*d,v=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;h==="straight-triangle"?(s.eleStrokeStyle(t,e,L),s.drawEdgeTrianglePath(e,t,o.allpts)):(t.lineWidth=p,t.lineCap=g,s.eleStrokeStyle(t,e,L),s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},w=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:y;if(t.lineWidth=p+m,t.lineCap=g,m>0)s.colorStrokeStyle(t,U[0],U[1],U[2],L);else{t.lineCap="butt";return}h==="straight-triangle"?s.drawEdgeTrianglePath(e,t,o.allpts):(s.drawEdgePath(e,t,o.allpts,f),t.lineCap="butt")},T=function(){i&&s.drawEdgeOverlay(t,e)},S=function(){i&&s.drawEdgeUnderlay(t,e)},C=function(){var L=arguments.length>0&&arguments[0]!==void 0?arguments[0]:b;s.drawArrowheads(t,e,L)},k=function(){s.drawElementText(t,e,null,n)};t.lineJoin="round";var E=e.pstyle("ghost").value==="yes";if(E){var A=e.pstyle("ghost-offset-x").pfValue,M=e.pstyle("ghost-offset-y").pfValue,P=e.pstyle("ghost-opacity").value,N=y*P;t.translate(A,M),v(N),C(N),t.translate(-A,-M)}else w();S(),v(),C(),T(),k(),r&&t.translate(l.x1,l.y1)}};var FDe=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n){if(n.visible()){var i=n.pstyle("".concat(e,"-opacity")).value;if(i!==0){var a=this,s=a.usePaths(),o=n._private.rscratch,l=n.pstyle("".concat(e,"-padding")).pfValue,u=2*l,d=n.pstyle("".concat(e,"-color")).value;r.lineWidth=u,o.edgeType==="self"&&!s?r.lineCap="butt":r.lineCap="round",a.colorStrokeStyle(r,d[0],d[1],d[2],i),a.drawEdgePath(n,r,o.allpts,"solid")}}}};Up.drawEdgeOverlay=FDe("overlay");Up.drawEdgeUnderlay=FDe("underlay");Up.drawEdgePath=function(t,e,r,n){var i=t._private.rscratch,a=e,s,o=!1,l=this.usePaths(),u=t.pstyle("line-dash-pattern").pfValue,d=t.pstyle("line-dash-offset").pfValue;if(l){var h=r.join("$"),f=i.pathCacheKey&&i.pathCacheKey===h;f?(s=e=i.pathCache,o=!0):(s=e=new Path2D,i.pathCacheKey=h,i.pathCache=s)}if(a.setLineDash)switch(n){case"dotted":a.setLineDash([1,1]);break;case"dashed":a.setLineDash(u),a.lineDashOffset=d;break;case"solid":a.setLineDash([]);break}if(!o&&!i.badLine)switch(e.beginPath&&e.beginPath(),e.moveTo(r[0],r[1]),i.edgeType){case"bezier":case"self":case"compound":case"multibezier":for(var p=2;p+3<r.length;p+=4)e.quadraticCurveTo(r[p],r[p+1],r[p+2],r[p+3]);break;case"straight":case"haystack":for(var g=2;g+1<r.length;g+=2)e.lineTo(r[g],r[g+1]);break;case"segments":if(i.isRound){var m=vc(i.roundCorners),U;try{for(m.s();!(U=m.n()).done;){var y=U.value;EDe(e,y)}}catch(v){m.e(v)}finally{m.f()}e.lineTo(r[r.length-2],r[r.length-1])}else for(var b=2;b+1<r.length;b+=2)e.lineTo(r[b],r[b+1]);break}e=a,l?e.stroke(s):e.stroke(),e.setLineDash&&e.setLineDash([])};Up.drawEdgeTrianglePath=function(t,e,r){e.fillStyle=e.strokeStyle;for(var n=t.pstyle("width").pfValue,i=0;i+1<r.length;i+=2){var a=[r[i+2]-r[i],r[i+3]-r[i+1]],s=Math.sqrt(a[0]*a[0]+a[1]*a[1]),o=[a[1]/s,-a[0]/s],l=[o[0]*n/2,o[1]*n/2];e.beginPath(),e.moveTo(r[i]-l[0],r[i+1]-l[1]),e.lineTo(r[i]+l[0],r[i+1]+l[1]),e.lineTo(r[i+2],r[i+3]),e.closePath(),e.fill()}};Up.drawArrowheads=function(t,e,r){var n=e._private.rscratch,i=n.edgeType==="haystack";i||this.drawArrowhead(t,e,"source",n.arrowStartX,n.arrowStartY,n.srcArrowAngle,r),this.drawArrowhead(t,e,"mid-target",n.midX,n.midY,n.midtgtArrowAngle,r),this.drawArrowhead(t,e,"mid-source",n.midX,n.midY,n.midsrcArrowAngle,r),i||this.drawArrowhead(t,e,"target",n.arrowEndX,n.arrowEndY,n.tgtArrowAngle,r)};Up.drawArrowhead=function(t,e,r,n,i,a,s){if(!(isNaN(n)||n==null||isNaN(i)||i==null||isNaN(a)||a==null)){var o=this,l=e.pstyle(r+"-arrow-shape").value;if(l!=="none"){var u=e.pstyle(r+"-arrow-fill").value==="hollow"?"both":"filled",d=e.pstyle(r+"-arrow-fill").value,h=e.pstyle("width").pfValue,f=e.pstyle(r+"-arrow-width"),p=f.value==="match-line"?h:f.pfValue;f.units==="%"&&(p*=h);var g=e.pstyle("opacity").value;s===void 0&&(s=g);var m=t.globalCompositeOperation;(s!==1||d==="hollow")&&(t.globalCompositeOperation="destination-out",o.colorFillStyle(t,255,255,255,1),o.colorStrokeStyle(t,255,255,255,1),o.drawArrowShape(e,t,u,h,l,p,n,i,a),t.globalCompositeOperation=m);var U=e.pstyle(r+"-arrow-color").value;o.colorFillStyle(t,U[0],U[1],U[2],s),o.colorStrokeStyle(t,U[0],U[1],U[2],s),o.drawArrowShape(e,t,d,h,l,p,n,i,a)}}};Up.drawArrowShape=function(t,e,r,n,i,a,s,o,l){var u=this,d=this.usePaths()&&i!=="triangle-cross",h=!1,f,p=e,g={x:s,y:o},m=t.pstyle("arrow-scale").value,U=this.getArrowWidth(n,m),y=u.arrowShapes[i];if(d){var b=u.arrowPathCache=u.arrowPathCache||[],v=l5(i),w=b[v];w!=null?(f=e=w,h=!0):(f=e=new Path2D,b[v]=f)}h||(e.beginPath&&e.beginPath(),d?y.draw(e,1,0,{x:0,y:0},1):y.draw(e,U,l,g,n),e.closePath&&e.closePath()),e=p,d&&(e.translate(s,o),e.rotate(l),e.scale(U,U)),(r==="filled"||r==="both")&&(d?e.fill(f):e.fill()),(r==="hollow"||r==="both")&&(e.lineWidth=a/(d?U:1),e.lineJoin="miter",d?e.stroke(f):e.stroke()),d&&(e.scale(1/U,1/U),e.rotate(-l),e.translate(-s,-o))};var Pre={};Pre.safeDrawImage=function(t,e,r,n,i,a,s,o,l,u){if(!(i<=0||a<=0||l<=0||u<=0))try{t.drawImage(e,r,n,i,a,s,o,l,u)}catch(d){xi(d)}};Pre.drawInscribedImage=function(t,e,r,n,i){var a=this,s=r.position(),o=s.x,l=s.y,u=r.cy().style(),d=u.getIndexedStyle.bind(u),h=d(r,"background-fit","value",n),f=d(r,"background-repeat","value",n),p=r.width(),g=r.height(),m=r.padding()*2,U=p+(d(r,"background-width-relative-to","value",n)==="inner"?0:m),y=g+(d(r,"background-height-relative-to","value",n)==="inner"?0:m),b=r._private.rscratch,v=d(r,"background-clip","value",n),w=v==="node",T=d(r,"background-image-opacity","value",n)*i,S=d(r,"background-image-smoothing","value",n),C=r.pstyle("corner-radius").value;C!=="auto"&&(C=r.pstyle("corner-radius").pfValue);var k=e.width||e.cachedW,E=e.height||e.cachedH;(k==null||E==null)&&(document.body.appendChild(e),k=e.cachedW=e.width||e.offsetWidth,E=e.cachedH=e.height||e.offsetHeight,document.body.removeChild(e));var A=k,M=E;if(d(r,"background-width","value",n)!=="auto"&&(d(r,"background-width","units",n)==="%"?A=d(r,"background-width","pfValue",n)*U:A=d(r,"background-width","pfValue",n)),d(r,"background-height","value",n)!=="auto"&&(d(r,"background-height","units",n)==="%"?M=d(r,"background-height","pfValue",n)*y:M=d(r,"background-height","pfValue",n)),!(A===0||M===0)){if(h==="contain"){var P=Math.min(U/A,y/M);A*=P,M*=P}else if(h==="cover"){var P=Math.max(U/A,y/M);A*=P,M*=P}var N=o-U/2,I=d(r,"background-position-x","units",n),L=d(r,"background-position-x","pfValue",n);I==="%"?N+=(U-A)*L:N+=L;var _=d(r,"background-offset-x","units",n),D=d(r,"background-offset-x","pfValue",n);_==="%"?N+=(U-A)*D:N+=D;var O=l-y/2,B=d(r,"background-position-y","units",n),F=d(r,"background-position-y","pfValue",n);B==="%"?O+=(y-M)*F:O+=F;var z=d(r,"background-offset-y","units",n),$=d(r,"background-offset-y","pfValue",n);z==="%"?O+=(y-M)*$:O+=$,b.pathCache&&(N-=o,O-=l,o=0,l=0);var H=t.globalAlpha;t.globalAlpha=T;var V=a.getImgSmoothing(t),G=!1;if(S==="no"&&V?(a.setImgSmoothing(t,!1),G=!0):S==="yes"&&!V&&(a.setImgSmoothing(t,!0),G=!0),f==="no-repeat")w&&(t.save(),b.pathCache?t.clip(b.pathCache):(a.nodeShapes[a.getNodeShape(r)].draw(t,o,l,U,y,C,b),t.clip())),a.safeDrawImage(t,e,0,0,k,E,N,O,A,M),w&&t.restore();else{var K=t.createPattern(e,f);t.fillStyle=K,a.nodeShapes[a.getNodeShape(r)].draw(t,o,l,U,y,C,b),t.translate(N,O),t.fill(),t.translate(-N,-O)}t.globalAlpha=H,G&&a.setImgSmoothing(t,V)}};var P5={};P5.eleTextBiggerThanMin=function(t,e){if(!e){var r=t.cy().zoom(),n=this.getPixelRatio(),i=Math.ceil(vre(r*n));e=Math.pow(2,i)}var a=t.pstyle("font-size").pfValue*e,s=t.pstyle("min-zoomed-font-size").pfValue;return!(a<s)};P5.drawElementText=function(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this;if(n==null){if(a&&!s.eleTextBiggerThanMin(e))return}else if(n===!1)return;if(e.isNode()){var o=e.pstyle("label");if(!o||!o.value)return;var l=s.getLabelJustification(e),u=e.pstyle("text-metrics").strValue==="glyph";t.textAlign=l,t.textBaseline=u?"alphabetic":"bottom"}else{var d=e.element()._private.rscratch.badLine,h=e.pstyle("label"),f=e.pstyle("source-label"),p=e.pstyle("target-label");if(d||(!h||!h.value)&&(!f||!f.value)&&(!p||!p.value))return;t.textAlign="center",t.textBaseline="bottom"}var g=!r,m;r&&(m=r,t.translate(-m.x1,-m.y1)),i==null?(s.drawText(t,e,null,g,a),e.isEdge()&&(s.drawText(t,e,"source",g,a),s.drawText(t,e,"target",g,a))):s.drawText(t,e,i,g,a),r&&t.translate(m.x1,m.y1)};P5.getFontCache=function(t){var e;this.fontCaches=this.fontCaches||[];for(var r=0;r<this.fontCaches.length;r++)if(e=this.fontCaches[r],e.context===t)return e;return e={context:t},this.fontCaches.push(e),e};P5.setupTextStyle=function(t,e){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,n=e.pstyle("font-style").strValue,i=e.pstyle("font-size").pfValue+"px",a=e.pstyle("font-family").strValue,s=e.pstyle("font-weight").strValue,o=r?e.effectiveOpacity()*e.pstyle("text-opacity").value:1,l=e.pstyle("text-outline-opacity").value*o,u=e.pstyle("color").value,d=e.pstyle("text-outline-color").value;t.font=n+" "+s+" "+i+" "+a,t.lineJoin="round",this.colorFillStyle(t,u[0],u[1],u[2],o),this.colorStrokeStyle(t,d[0],d[1],d[2],l)};function Ptr(t,e,r,n,i){var a=Math.min(n,i),s=a/2,o=e+n/2,l=r+i/2;t.beginPath(),t.arc(o,l,s,0,Math.PI*2),t.closePath()}function Kme(t,e,r,n,i){var a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:5,s=Math.min(a,n/2,i/2);t.beginPath(),t.moveTo(e+s,r),t.lineTo(e+n-s,r),t.quadraticCurveTo(e+n,r,e+n,r+s),t.lineTo(e+n,r+i-s),t.quadraticCurveTo(e+n,r+i,e+n-s,r+i),t.lineTo(e+s,r+i),t.quadraticCurveTo(e,r+i,e,r+i-s),t.lineTo(e,r+s),t.quadraticCurveTo(e,r,e+s,r),t.closePath()}P5.getTextAngle=function(t,e){var r,n=t._private,i=n.rscratch,a=e?e+"-":"",s=t.pstyle(a+"text-rotation");if(s.strValue==="autorotate"){var o=Cl(i,"labelAngle",e);r=t.isEdge()?o:0}else s.strValue==="none"?r=0:r=s.pfValue;return r};P5.drawText=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=e._private,s=a.rscratch,o=i?e.effectiveOpacity():1;if(!(i&&(o===0||e.pstyle("text-opacity").value===0))){r==="main"&&(r=null);var l=Cl(s,"labelX",r),u=Cl(s,"labelY",r),d,h,f=this.getLabelText(e,r);if(f!=null&&f!==""&&!isNaN(l)&&!isNaN(u)){this.setupTextStyle(t,e,i);var p=r?r+"-":"",g=Cl(s,"labelWidth",r),m=Cl(s,"labelHeight",r),U=Cl(s,"labelActualDescent",r),y=e.pstyle(p+"text-margin-x").pfValue,b=e.pstyle(p+"text-margin-y").pfValue,v=e.isEdge(),w=e.pstyle("text-halign").value,T=e.pstyle("text-valign").value;v&&(w="center",T="center"),l+=y,u+=b;var S;n?S=this.getTextAngle(e,r):S=0,S!==0&&(d=l,h=u,t.translate(d,h),t.rotate(S),l=0,u=0);var C=g4(w),k=m4(T);switch(k){case"top":break;case"center":u+=m/2;break;case"bottom":u+=m;break}var E=e.pstyle("text-background-opacity").value,A=e.pstyle("text-border-opacity").value,M=e.pstyle("text-border-width").pfValue,P=e.pstyle("text-background-padding").pfValue,N=e.pstyle("text-background-shape").strValue,I=N==="round-rectangle"||N==="roundrectangle",L=N==="circle",_=2;if(E>0||M>0&&A>0){var D=t.fillStyle,O=t.strokeStyle,B=t.lineWidth,F=e.pstyle("text-background-color").value,z=e.pstyle("text-border-color").value,$=e.pstyle("text-border-style").value,H=E>0,V=M>0&&A>0,G=l-P;switch(C){case"left":G-=g;break;case"center":G-=g/2;break}var K=u-m-P,W=g+2*P,oe=m+2*P;if(H&&(t.fillStyle="rgba(".concat(F[0],",").concat(F[1],",").concat(F[2],",").concat(E*o,")")),V&&(t.strokeStyle="rgba(".concat(z[0],",").concat(z[1],",").concat(z[2],",").concat(A*o,")"),t.lineWidth=M,t.setLineDash))switch($){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"double":t.lineWidth=M/4,t.setLineDash([]);break;case"solid":default:t.setLineDash([]);break}if(I?(t.beginPath(),Kme(t,G,K,W,oe,_)):L?(t.beginPath(),Ptr(t,G,K,W,oe)):(t.beginPath(),t.rect(G,K,W,oe)),H&&t.fill(),V&&t.stroke(),V&&$==="double"){var Z=M/2;t.beginPath(),I?Kme(t,G+Z,K+Z,W-2*Z,oe-2*Z,_):t.rect(G+Z,K+Z,W-2*Z,oe-2*Z),t.stroke()}t.fillStyle=D,t.strokeStyle=O,t.lineWidth=B,t.setLineDash&&t.setLineDash([])}var J=2*e.pstyle("text-outline-width").pfValue;if(J>0&&(t.lineWidth=J),u-=U,e.pstyle("text-wrap").value==="wrap"){var ne=Cl(s,"labelWrapCachedLines",r),ie=Cl(s,"labelLineHeight",r),me=g/2,te=this.getLabelJustification(e);switch(te==="auto"||(C==="left"?te==="left"?l+=-g:te==="center"&&(l+=-me):C==="center"?te==="left"?l+=-me:te==="right"&&(l+=me):C==="right"&&(te==="center"?l+=me:te==="right"&&(l+=g))),k){case"top":u-=(ne.length-1)*ie;break;case"center":case"bottom":u-=(ne.length-1)*ie;break}for(var Re=0;Re<ne.length;Re++)J>0&&t.strokeText(ne[Re],l,u),t.fillText(ne[Re],l,u),u+=ie}else J>0&&t.strokeText(f,l,u),t.fillText(f,l,u);S!==0&&(t.rotate(-S),t.translate(-d,-h))}}};var O1={};O1.drawNode=function(t,e,r){var n=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!0,i=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,a=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!0,s=this,o,l,u=e._private,d=u.rscratch,h=e.position();if(!(!Jt(h.x)||!Jt(h.y))&&!(a&&!e.visible())){var f=a?e.effectiveOpacity():1,p=s.usePaths(),g,m=!1,U=e.padding();o=e.width()+2*U,l=e.height()+2*U;var y;r&&(y=r,t.translate(-y.x1,-y.y1));for(var b=e.pstyle("background-image"),v=b.value,w=new Array(v.length),T=new Array(v.length),S=0,C=0;C<v.length;C++){var k=v[C],E=w[C]=k!=null&&k!=="none";if(E){var A=e.cy().style().getIndexedStyle(e,"background-image-crossorigin","value",C);S++,T[C]=s.getCachedImage(k,A,function(){u.backgroundTimestamp=Date.now(),e.emitAndNotify("background")})}}var M=e.pstyle("background-blacken").value,P=e.pstyle("border-width").pfValue,N=e.pstyle("background-opacity").value*f,I=e.pstyle("border-color").value,L=e.pstyle("border-style").value,_=e.pstyle("border-join").value,D=e.pstyle("border-cap").value,O=e.pstyle("border-position").value,B=e.pstyle("border-dash-pattern").pfValue,F=e.pstyle("border-dash-offset").pfValue,z=e.pstyle("border-opacity").value*f,$=e.pstyle("outline-width").pfValue,H=e.pstyle("outline-color").value,V=e.pstyle("outline-style").value,G=e.pstyle("outline-opacity").value*f,K=e.pstyle("outline-offset").value,W=e.pstyle("corner-radius").value;W!=="auto"&&(W=e.pstyle("corner-radius").pfValue);var oe=function(){var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:N;s.eleFillStyle(t,e,Q)},Z=function(){var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:z;s.colorStrokeStyle(t,I[0],I[1],I[2],Q)},J=function(){var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:G;s.colorStrokeStyle(t,H[0],H[1],H[2],Q)},ne=function(Q,ue,X,fe){var ee=s.nodePathCache=s.nodePathCache||[],Ae=TOe(X==="polygon"?X+","+fe.join(","):X,""+ue,""+Q,""+W),Me=ee[Ae],Ke,Ne=!1;return Me!=null?(Ke=Me,Ne=!0,d.pathCache=Ke):(Ke=new Path2D,ee[Ae]=d.pathCache=Ke),{path:Ke,cacheHit:Ne}},ie=e.pstyle("shape").strValue,me=e.pstyle("shape-polygon-points").pfValue;if(p){t.translate(h.x,h.y);var te=ne(o,l,ie,me);g=te.path,m=te.cacheHit}var Re=function(){if(!m){var Q=h;p&&(Q={x:0,y:0}),s.nodeShapes[s.getNodeShape(e)].draw(g||t,Q.x,Q.y,o,l,W,d)}p?t.fill(g):t.fill()},_e=function(){for(var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,X=u.backgrounding,fe=0,ee=0;ee<T.length;ee++){var Ae=e.cy().style().getIndexedStyle(e,"background-image-containment","value",ee);if(ue&&Ae==="over"||!ue&&Ae==="inside"){fe++;continue}w[ee]&&T[ee].complete&&!T[ee].error&&(fe++,s.drawInscribedImage(t,T[ee],e,ee,Q))}u.backgrounding=fe!==S,X!==u.backgrounding&&e.updateStyle(!1)},He=function(){var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasPie(e)&&(s.drawPie(t,e,ue),Q&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,l,W,d)))},ce=function(){var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,ue=arguments.length>1&&arguments[1]!==void 0?arguments[1]:f;s.hasStripe(e)&&(t.save(),p?t.clip(d.pathCache):(s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,l,W,d),t.clip()),s.drawStripe(t,e,ue),t.restore(),Q&&(p||s.nodeShapes[s.getNodeShape(e)].draw(t,h.x,h.y,o,l,W,d)))},de=function(){var Q=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f,ue=(M>0?M:-M)*Q,X=M>0?0:255;M!==0&&(s.colorFillStyle(t,X,X,X,ue),p?t.fill(g):t.fill())},we=function(){if(P>0){if(t.lineWidth=P,t.lineCap=D,t.lineJoin=_,t.setLineDash)switch(L){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash(B),t.lineDashOffset=F;break;case"solid":case"double":t.setLineDash([]);break}if(O!=="center"){if(t.save(),t.lineWidth*=2,O==="inside")p?t.clip(g):t.clip();else{var Q=new Path2D;Q.rect(-o/2-P,-l/2-P,o+2*P,l+2*P),Q.addPath(g),t.clip(Q,"evenodd")}p?t.stroke(g):t.stroke(),t.restore()}else p?t.stroke(g):t.stroke();if(L==="double"){t.lineWidth=P/3;var ue=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(g):t.stroke(),t.globalCompositeOperation=ue}t.setLineDash&&t.setLineDash([])}},ge=function(){if($>0){if(t.lineWidth=$,t.lineCap="butt",t.setLineDash)switch(V){case"dotted":t.setLineDash([1,1]);break;case"dashed":t.setLineDash([4,2]);break;case"solid":case"double":t.setLineDash([]);break}var Q=h;p&&(Q={x:0,y:0});var ue=s.getNodeShape(e),X=P;O==="inside"&&(X=0),O==="outside"&&(X*=2);var fe=(o+X+($+K))/o,ee=(l+X+($+K))/l,Ae=o*fe,Me=l*ee,Ke=s.nodeShapes[ue].points,Ne;if(p){var je=ne(Ae,Me,ue,Ke);Ne=je.path}if(ue==="ellipse")s.drawEllipsePath(Ne||t,Q.x,Q.y,Ae,Me);else if(["round-diamond","round-heptagon","round-hexagon","round-octagon","round-pentagon","round-polygon","round-triangle","round-tag"].includes(ue)){var Oe=0,Ze=0,Fe=0;ue==="round-diamond"?Oe=(X+K+$)*1.4:ue==="round-heptagon"?(Oe=(X+K+$)*1.075,Fe=-(X/2+K+$)/35):ue==="round-hexagon"?Oe=(X+K+$)*1.12:ue==="round-pentagon"?(Oe=(X+K+$)*1.13,Fe=-(X/2+K+$)/15):ue==="round-tag"?(Oe=(X+K+$)*1.12,Ze=(X/2+$+K)*.07):ue==="round-triangle"&&(Oe=(X+K+$)*(Math.PI/2),Fe=-(X+K/2+$)/Math.PI),Oe!==0&&(fe=(o+Oe)/o,Ae=o*fe,["round-hexagon","round-tag"].includes(ue)||(ee=(l+Oe)/l,Me=l*ee)),W=W==="auto"?OOe(Ae,Me):W;for(var at=Ae/2,Pe=Me/2,gt=W+(X+$+K)/2,Ie=new Array(Ke.length/2),St=new Array(Ke.length/2),Et=0;Et<Ke.length/2;Et++)Ie[Et]={x:Q.x+Ze+at*Ke[Et*2],y:Q.y+Fe+Pe*Ke[Et*2+1]};var ot,Ht,It,ht,ve=Ie.length;for(Ht=Ie[ve-1],ot=0;ot<ve;ot++)It=Ie[ot%ve],ht=Ie[(ot+1)%ve],St[ot]=Ore(Ht,It,ht,gt),Ht=It,It=ht;s.drawRoundPolygonPath(Ne||t,Q.x+Ze,Q.y+Fe,o*fe,l*ee,Ke,St)}else if(["roundrectangle","round-rectangle"].includes(ue))W=W==="auto"?a1(Ae,Me):W,s.drawRoundRectanglePath(Ne||t,Q.x,Q.y,Ae,Me,W+(X+$+K)/2);else if(["cutrectangle","cut-rectangle"].includes(ue))W=W==="auto"?Tre():W,s.drawCutRectanglePath(Ne||t,Q.x,Q.y,Ae,Me,null,W+(X+$+K)/4);else if(["bottomroundrectangle","bottom-round-rectangle"].includes(ue))W=W==="auto"?a1(Ae,Me):W,s.drawBottomRoundRectanglePath(Ne||t,Q.x,Q.y,Ae,Me,W+(X+$+K)/2);else if(ue==="barrel")s.drawBarrelPath(Ne||t,Q.x,Q.y,Ae,Me);else if(ue.startsWith("polygon")||["rhomboid","right-rhomboid","round-tag","tag","vee"].includes(ue)){var Lt=(X+$+K)/o;Ke=rN(nN(Ke,Lt)),s.drawPolygonPath(Ne||t,Q.x,Q.y,o,l,Ke)}else{var xt=(X+$+K)/o;Ke=rN(nN(Ke,-xt)),s.drawPolygonPath(Ne||t,Q.x,Q.y,o,l,Ke)}if(p?t.stroke(Ne):t.stroke(),V==="double"){t.lineWidth=X/3;var mt=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",p?t.stroke(Ne):t.stroke(),t.globalCompositeOperation=mt}t.setLineDash&&t.setLineDash([])}},ze=function(){i&&s.drawNodeOverlay(t,e,h,o,l)},xe=function(){i&&s.drawNodeUnderlay(t,e,h,o,l)},Ee=function(){s.drawElementText(t,e,null,n)},qe=e.pstyle("ghost").value==="yes";if(qe){var le=e.pstyle("ghost-offset-x").pfValue,pe=e.pstyle("ghost-offset-y").pfValue,Te=e.pstyle("ghost-opacity").value,re=Te*f;t.translate(le,pe),J(),ge(),oe(Te*N),Re(),_e(re,!0),Z(Te*z),we(),He(M!==0||P!==0),ce(M!==0||P!==0),_e(re,!1),de(re),t.translate(-le,-pe)}p&&t.translate(-h.x,-h.y),xe(),p&&t.translate(h.x,h.y),J(),ge(),oe(),Re(),_e(f,!0),Z(),we(),He(M!==0||P!==0),ce(M!==0||P!==0),_e(f,!1),de(),p&&t.translate(-h.x,-h.y),Ee(),ze(),r&&t.translate(y.x1,y.y1)}};var zDe=function(e){if(!["overlay","underlay"].includes(e))throw new Error("Invalid state");return function(r,n,i,a,s){var o=this;if(n.visible()){var l=n.pstyle("".concat(e,"-padding")).pfValue,u=n.pstyle("".concat(e,"-opacity")).value,d=n.pstyle("".concat(e,"-color")).value,h=n.pstyle("".concat(e,"-shape")).value,f=n.pstyle("".concat(e,"-corner-radius")).value;if(u>0){if(i=i||n.position(),a==null||s==null){var p=n.padding();a=n.width()+2*p,s=n.height()+2*p}o.colorFillStyle(r,d[0],d[1],d[2],u),o.nodeShapes[h].draw(r,i.x,i.y,a+l*2,s+l*2,f),r.fill()}}}};O1.drawNodeOverlay=zDe("overlay");O1.drawNodeUnderlay=zDe("underlay");O1.hasPie=function(t){return t=t[0],t._private.hasPie};O1.hasStripe=function(t){return t=t[0],t._private.hasStripe};O1.drawPie=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=e.pstyle("pie-size"),s=e.pstyle("pie-hole"),o=e.pstyle("pie-start-angle").pfValue,l=n.x,u=n.y,d=e.width(),h=e.height(),f=Math.min(d,h)/2,p,g=0,m=this.usePaths();if(m&&(l=0,u=0),a.units==="%"?f=f*a.pfValue:a.pfValue!==void 0&&(f=a.pfValue/2),s.units==="%"?p=f*s.pfValue:s.pfValue!==void 0&&(p=s.pfValue/2),!(p>=f))for(var U=1;U<=i.pieBackgroundN;U++){var y=e.pstyle("pie-"+U+"-background-size").value,b=e.pstyle("pie-"+U+"-background-color").value,v=e.pstyle("pie-"+U+"-background-opacity").value*r,w=y/100;w+g>1&&(w=1-g);var T=1.5*Math.PI+2*Math.PI*g;T+=o;var S=2*Math.PI*w,C=T+S;y===0||g>=1||g+w>1||(p===0?(t.beginPath(),t.moveTo(l,u),t.arc(l,u,f,T,C),t.closePath()):(t.beginPath(),t.arc(l,u,f,T,C),t.arc(l,u,p,C,T,!0),t.closePath()),this.colorFillStyle(t,b[0],b[1],b[2],v),t.fill(),g+=w)}};O1.drawStripe=function(t,e,r,n){e=e[0],n=n||e.position();var i=e.cy().style(),a=n.x,s=n.y,o=e.width(),l=e.height(),u=0,d=this.usePaths();t.save();var h=e.pstyle("stripe-direction").value,f=e.pstyle("stripe-size");switch(h){case"vertical":break;case"righward":t.rotate(-Math.PI/2);break}var p=o,g=l;f.units==="%"?(p=p*f.pfValue,g=g*f.pfValue):f.pfValue!==void 0&&(p=f.pfValue,g=f.pfValue),d&&(a=0,s=0),s-=p/2,a-=g/2;for(var m=1;m<=i.stripeBackgroundN;m++){var U=e.pstyle("stripe-"+m+"-background-size").value,y=e.pstyle("stripe-"+m+"-background-color").value,b=e.pstyle("stripe-"+m+"-background-opacity").value*r,v=U/100;v+u>1&&(v=1-u),!(U===0||u>=1||u+v>1)&&(t.beginPath(),t.rect(a,s+g*u,p,g*v),t.closePath(),this.colorFillStyle(t,y[0],y[1],y[2],b),t.fill(),u+=v)}t.restore()};var Ql={},_tr=100;Ql.getPixelRatio=function(){var t=this.data.contexts[0];if(this.forcedPixelRatio!=null)return this.forcedPixelRatio;var e=this.cy.window(),r=t.backingStorePixelRatio||t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return(e.devicePixelRatio||1)/r};Ql.paintCache=function(t){for(var e=this.paintCaches=this.paintCaches||[],r=!0,n,i=0;i<e.length;i++)if(n=e[i],n.context===t){r=!1;break}return r&&(n={context:t},e.push(n)),n};Ql.createGradientStyleFor=function(t,e,r,n,i){var a,s=this.usePaths(),o=r.pstyle(e+"-gradient-stop-colors").value,l=r.pstyle(e+"-gradient-stop-positions").pfValue;if(n==="radial-gradient")if(r.isEdge()){var u=r.sourceEndpoint(),d=r.targetEndpoint(),h=r.midpoint(),f=c5(u,h),p=c5(d,h);a=t.createRadialGradient(h.x,h.y,0,h.x,h.y,Math.max(f,p))}else{var g=s?{x:0,y:0}:r.position(),m=r.paddedWidth(),U=r.paddedHeight();a=t.createRadialGradient(g.x,g.y,0,g.x,g.y,Math.max(m,U))}else if(r.isEdge()){var y=r.sourceEndpoint(),b=r.targetEndpoint();a=t.createLinearGradient(y.x,y.y,b.x,b.y)}else{var v=s?{x:0,y:0}:r.position(),w=r.paddedWidth(),T=r.paddedHeight(),S=w/2,C=T/2,k=r.pstyle("background-gradient-direction").value;switch(k){case"to-bottom":a=t.createLinearGradient(v.x,v.y-C,v.x,v.y+C);break;case"to-top":a=t.createLinearGradient(v.x,v.y+C,v.x,v.y-C);break;case"to-left":a=t.createLinearGradient(v.x+S,v.y,v.x-S,v.y);break;case"to-right":a=t.createLinearGradient(v.x-S,v.y,v.x+S,v.y);break;case"to-bottom-right":case"to-right-bottom":a=t.createLinearGradient(v.x-S,v.y-C,v.x+S,v.y+C);break;case"to-top-right":case"to-right-top":a=t.createLinearGradient(v.x-S,v.y+C,v.x+S,v.y-C);break;case"to-bottom-left":case"to-left-bottom":a=t.createLinearGradient(v.x+S,v.y-C,v.x-S,v.y+C);break;case"to-top-left":case"to-left-top":a=t.createLinearGradient(v.x+S,v.y+C,v.x-S,v.y-C);break}}if(!a)return null;for(var E=l.length===o.length,A=o.length,M=0;M<A;M++)a.addColorStop(E?l[M]:M/(A-1),"rgba("+o[M][0]+","+o[M][1]+","+o[M][2]+","+i+")");return a};Ql.gradientFillStyle=function(t,e,r,n){var i=this.createGradientStyleFor(t,"background",e,r,n);if(!i)return null;t.fillStyle=i};Ql.colorFillStyle=function(t,e,r,n,i){t.fillStyle="rgba("+e+","+r+","+n+","+i+")"};Ql.eleFillStyle=function(t,e,r){var n=e.pstyle("background-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientFillStyle(t,e,n,r);else{var i=e.pstyle("background-color").value;this.colorFillStyle(t,i[0],i[1],i[2],r)}};Ql.gradientStrokeStyle=function(t,e,r,n){var i=this.createGradientStyleFor(t,"line",e,r,n);if(!i)return null;t.strokeStyle=i};Ql.colorStrokeStyle=function(t,e,r,n,i){t.strokeStyle="rgba("+e+","+r+","+n+","+i+")"};Ql.eleStrokeStyle=function(t,e,r){var n=e.pstyle("line-fill").value;if(n==="linear-gradient"||n==="radial-gradient")this.gradientStrokeStyle(t,e,n,r);else{var i=e.pstyle("line-color").value;this.colorStrokeStyle(t,i[0],i[1],i[2],r)}};Ql.matchCanvasSize=function(t){var e=this,r=e.data,n=e.findContainerClientCoords(),i=n[2],a=n[3],s=e.getPixelRatio(),o=e.motionBlurPxRatio;(t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE]||t===e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG])&&(s=o);var l=i*s,u=a*s,d;if(!(l===e.canvasWidth&&u===e.canvasHeight)){e.fontCaches=null;var h=r.canvasContainer;h.style.width=i+"px",h.style.height=a+"px";for(var f=0;f<e.CANVAS_LAYERS;f++)d=r.canvases[f],d.width=l,d.height=u,d.style.width=i+"px",d.style.height=a+"px";for(var f=0;f<e.BUFFER_COUNT;f++)d=r.bufferCanvases[f],d.width=l,d.height=u,d.style.width=i+"px",d.style.height=a+"px";e.textureMult=1,s<=1&&(d=r.bufferCanvases[e.TEXTURE_BUFFER],e.textureMult=2,d.width=l*e.textureMult,d.height=u*e.textureMult),e.canvasWidth=l,e.canvasHeight=u,e.pixelRatio=s}};Ql.renderTo=function(t,e,r,n){this.render({forcedContext:t,forcedZoom:e,forcedPan:r,drawAllLayers:!0,forcedPxRatio:n})};Ql.clearCanvas=function(){var t=this,e=t.data;function r(n){n.clearRect(0,0,t.canvasWidth,t.canvasHeight)}r(e.contexts[t.NODE]),r(e.contexts[t.DRAG])};Ql.render=function(t){var e=this;t=t||EOe();var r=e.cy,n=t.forcedContext,i=t.drawAllLayers,a=t.drawOnlyNodeLayer,s=t.forcedZoom,o=t.forcedPan,l=t.forcedPxRatio===void 0?this.getPixelRatio():t.forcedPxRatio,u=e.data,d=u.canvasNeedsRedraw,h=e.textureOnViewport&&!n&&(e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming),f=t.motionBlur!==void 0?t.motionBlur:e.motionBlur,p=e.motionBlurPxRatio,g=r.hasCompoundNodes(),m=e.hoverData.draggingEles,U=!!(e.hoverData.selecting||e.touchData.selecting);f=f&&!n&&e.motionBlurEnabled&&!U;var y=f;n||(e.prevPxRatio!==l&&(e.invalidateContainerClientCoordsCache(),e.matchCanvasSize(e.container),e.redrawHint("eles",!0),e.redrawHint("drag",!0)),e.prevPxRatio=l),!n&&e.motionBlurTimeout&&clearTimeout(e.motionBlurTimeout),f&&(e.mbFrames==null&&(e.mbFrames=0),e.mbFrames++,e.mbFrames<3&&(y=!1),e.mbFrames>e.minMbLowQualFrames&&(e.motionBlurPxRatio=e.mbPxRBlurry)),e.clearingMotionBlur&&(e.motionBlurPxRatio=1),e.textureDrawLastFrame&&!h&&(d[e.NODE]=!0,d[e.SELECT_BOX]=!0);var b=r.style(),v=r.zoom(),w=s!==void 0?s:v,T=r.pan(),S={x:T.x,y:T.y},C={zoom:v,pan:{x:T.x,y:T.y}},k=e.prevViewport,E=k===void 0||C.zoom!==k.zoom||C.pan.x!==k.pan.x||C.pan.y!==k.pan.y;!E&&!(m&&!g)&&(e.motionBlurPxRatio=1),o&&(S=o),w*=l,S.x*=l,S.y*=l;var A=e.getCachedZSortedEles();function M(Z,J,ne,ie,me){var te=Z.globalCompositeOperation;Z.globalCompositeOperation="destination-out",e.colorFillStyle(Z,255,255,255,e.motionBlurTransparency),Z.fillRect(J,ne,ie,me),Z.globalCompositeOperation=te}function P(Z,J){var ne,ie,me,te;!e.clearingMotionBlur&&(Z===u.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]||Z===u.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG])?(ne={x:T.x*p,y:T.y*p},ie=v*p,me=e.canvasWidth*p,te=e.canvasHeight*p):(ne=S,ie=w,me=e.canvasWidth,te=e.canvasHeight),Z.setTransform(1,0,0,1,0,0),J==="motionBlur"?M(Z,0,0,me,te):!n&&(J===void 0||J)&&Z.clearRect(0,0,me,te),i||(Z.translate(ne.x,ne.y),Z.scale(ie,ie)),o&&Z.translate(o.x,o.y),s&&Z.scale(s,s)}if(h||(e.textureDrawLastFrame=!1),h){if(e.textureDrawLastFrame=!0,!e.textureCache){e.textureCache={},e.textureCache.bb=r.mutableElements().boundingBox(),e.textureCache.texture=e.data.bufferCanvases[e.TEXTURE_BUFFER];var N=e.data.bufferContexts[e.TEXTURE_BUFFER];N.setTransform(1,0,0,1,0,0),N.clearRect(0,0,e.canvasWidth*e.textureMult,e.canvasHeight*e.textureMult),e.render({forcedContext:N,drawOnlyNodeLayer:!0,forcedPxRatio:l*e.textureMult});var C=e.textureCache.viewport={zoom:r.zoom(),pan:r.pan(),width:e.canvasWidth,height:e.canvasHeight};C.mpan={x:(0-C.pan.x)/C.zoom,y:(0-C.pan.y)/C.zoom}}d[e.DRAG]=!1,d[e.NODE]=!1;var I=u.contexts[e.NODE],L=e.textureCache.texture,C=e.textureCache.viewport;I.setTransform(1,0,0,1,0,0),f?M(I,0,0,C.width,C.height):I.clearRect(0,0,C.width,C.height);var _=b.core("outside-texture-bg-color").value,D=b.core("outside-texture-bg-opacity").value;e.colorFillStyle(I,_[0],_[1],_[2],D),I.fillRect(0,0,C.width,C.height);var v=r.zoom();P(I,!1),I.clearRect(C.mpan.x,C.mpan.y,C.width/C.zoom/l,C.height/C.zoom/l),I.drawImage(L,C.mpan.x,C.mpan.y,C.width/C.zoom/l,C.height/C.zoom/l)}else e.textureOnViewport&&!n&&(e.textureCache=null);var O=r.extent(),B=e.pinching||e.hoverData.dragging||e.swipePanning||e.data.wheelZooming||e.hoverData.draggingEles||e.cy.animated(),F=e.hideEdgesOnViewport&&B,z=[];if(z[e.NODE]=!d[e.NODE]&&f&&!e.clearedForMotionBlur[e.NODE]||e.clearingMotionBlur,z[e.NODE]&&(e.clearedForMotionBlur[e.NODE]=!0),z[e.DRAG]=!d[e.DRAG]&&f&&!e.clearedForMotionBlur[e.DRAG]||e.clearingMotionBlur,z[e.DRAG]&&(e.clearedForMotionBlur[e.DRAG]=!0),d[e.NODE]||i||a||z[e.NODE]){var $=f&&!z[e.NODE]&&p!==1,I=n||($?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_NODE]:u.contexts[e.NODE]),H=f&&!$?"motionBlur":void 0;P(I,H),F?e.drawCachedNodes(I,A.nondrag,l,O):e.drawLayeredElements(I,A.nondrag,l,O),e.debug&&e.drawDebugPoints(I,A.nondrag),!i&&!f&&(d[e.NODE]=!1)}if(!a&&(d[e.DRAG]||i||z[e.DRAG])){var $=f&&!z[e.DRAG]&&p!==1,I=n||($?e.data.bufferContexts[e.MOTIONBLUR_BUFFER_DRAG]:u.contexts[e.DRAG]);P(I,f&&!$?"motionBlur":void 0),F?e.drawCachedNodes(I,A.drag,l,O):e.drawCachedElements(I,A.drag,l,O),e.debug&&e.drawDebugPoints(I,A.drag),!i&&!f&&(d[e.DRAG]=!1)}if(this.drawSelectionRectangle(t,P),f&&p!==1){var V=u.contexts[e.NODE],G=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_NODE],K=u.contexts[e.DRAG],W=e.data.bufferCanvases[e.MOTIONBLUR_BUFFER_DRAG],oe=function(J,ne,ie){J.setTransform(1,0,0,1,0,0),ie||!y?J.clearRect(0,0,e.canvasWidth,e.canvasHeight):M(J,0,0,e.canvasWidth,e.canvasHeight);var me=p;J.drawImage(ne,0,0,e.canvasWidth*me,e.canvasHeight*me,0,0,e.canvasWidth,e.canvasHeight)};(d[e.NODE]||z[e.NODE])&&(oe(V,G,z[e.NODE]),d[e.NODE]=!1),(d[e.DRAG]||z[e.DRAG])&&(oe(K,W,z[e.DRAG]),d[e.DRAG]=!1)}e.prevViewport=C,e.clearingMotionBlur&&(e.clearingMotionBlur=!1,e.motionBlurCleared=!0,e.motionBlur=!0),f&&(e.motionBlurTimeout=setTimeout(function(){e.motionBlurTimeout=null,e.clearedForMotionBlur[e.NODE]=!1,e.clearedForMotionBlur[e.DRAG]=!1,e.motionBlur=!1,e.clearingMotionBlur=!h,e.mbFrames=0,d[e.NODE]=!0,d[e.DRAG]=!0,e.redraw()},_tr)),n||r.emit("render")};var l9;Ql.drawSelectionRectangle=function(t,e){var r=this,n=r.cy,i=r.data,a=n.style(),s=t.drawOnlyNodeLayer,o=t.drawAllLayers,l=i.canvasNeedsRedraw,u=t.forcedContext;if(r.showFps||!s&&l[r.SELECT_BOX]&&!o){var d=u||i.contexts[r.SELECT_BOX];if(e(d),r.selection[4]==1&&(r.hoverData.selecting||r.touchData.selecting)){var h=r.cy.zoom(),f=a.core("selection-box-border-width").value/h;d.lineWidth=f,d.fillStyle="rgba("+a.core("selection-box-color").value[0]+","+a.core("selection-box-color").value[1]+","+a.core("selection-box-color").value[2]+","+a.core("selection-box-opacity").value+")",d.fillRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]),f>0&&(d.strokeStyle="rgba("+a.core("selection-box-border-color").value[0]+","+a.core("selection-box-border-color").value[1]+","+a.core("selection-box-border-color").value[2]+","+a.core("selection-box-opacity").value+")",d.strokeRect(r.selection[0],r.selection[1],r.selection[2]-r.selection[0],r.selection[3]-r.selection[1]))}if(i.bgActivePosistion&&!r.hoverData.selecting){var h=r.cy.zoom(),p=i.bgActivePosistion;d.fillStyle="rgba("+a.core("active-bg-color").value[0]+","+a.core("active-bg-color").value[1]+","+a.core("active-bg-color").value[2]+","+a.core("active-bg-opacity").value+")",d.beginPath(),d.arc(p.x,p.y,a.core("active-bg-size").pfValue/h,0,2*Math.PI),d.fill()}var g=r.lastRedrawTime;if(r.showFps&&g){g=Math.round(g);var m=Math.round(1e3/g),U="1 frame = "+g+" ms = "+m+" fps";if(d.setTransform(1,0,0,1,0,0),d.fillStyle="rgba(255, 0, 0, 0.75)",d.strokeStyle="rgba(255, 0, 0, 0.75)",d.font="30px Arial",!l9){var y=d.measureText(U);l9=y.actualBoundingBoxAscent}d.fillText(U,0,l9);var b=60;d.strokeRect(0,l9+10,250,20),d.fillRect(0,l9+10,250*Math.min(m/b,1),20)}o||(l[r.SELECT_BOX]=!1)}};function Zme(t,e,r){var n=t.createShader(e);if(t.shaderSource(n,r),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw new Error(t.getShaderInfoLog(n));return n}function Btr(t,e,r){var n=Zme(t,t.VERTEX_SHADER,e),i=Zme(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,n),t.attachShader(a,i),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS))throw new Error("Could not initialize shaders");return a}function $tr(t,e,r){r===void 0&&(r=e);var n=t.makeOffscreenCanvas(e,r),i=n.context=n.getContext("2d");return n.clear=function(){return i.clearRect(0,0,n.width,n.height)},n.clear(),n}function _re(t){var e=t.pixelRatio,r=t.cy.zoom(),n=t.cy.pan();return{zoom:r*e,pan:{x:n.x*e,y:n.y*e}}}function Ftr(t){var e=t.pixelRatio,r=t.cy.zoom();return r*e}function ztr(t,e,r,n,i){var a=n*r+e.x,s=i*r+e.y;return s=Math.round(t.canvasHeight-s),[a,s]}function Htr(t,e){return e.picking?!0:t.pstyle("background-fill").value!=="solid"||t.pstyle("background-image").strValue!=="none"?!1:t.pstyle("border-width").value===0||t.pstyle("border-opacity").value===0?!0:t.pstyle("border-style").value==="solid"}function Vtr(t,e){if(t.length!==e.length)return!1;for(var r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function cm(t,e,r){var n=t[0]/255,i=t[1]/255,a=t[2]/255,s=e,o=r||new Array(4);return o[0]=n*s,o[1]=i*s,o[2]=a*s,o[3]=s,o}function Ny(t,e){var r=e||new Array(4);return r[0]=(t>>0&255)/255,r[1]=(t>>8&255)/255,r[2]=(t>>16&255)/255,r[3]=(t>>24&255)/255,r}function Gtr(t){return t[0]+(t[1]<<8)+(t[2]<<16)+(t[3]<<24)}function Wtr(t,e){var r=t.createTexture();return r.buffer=function(n){t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR_MIPMAP_NEAREST),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,n),t.generateMipmap(t.TEXTURE_2D),t.bindTexture(t.TEXTURE_2D,null)},r.deleteTexture=function(){t.deleteTexture(r)},r}function HDe(t,e){switch(e){case"float":return[1,t.FLOAT,4];case"vec2":return[2,t.FLOAT,4];case"vec3":return[3,t.FLOAT,4];case"vec4":return[4,t.FLOAT,4];case"int":return[1,t.INT,4];case"ivec2":return[2,t.INT,4]}}function VDe(t,e,r){switch(e){case t.FLOAT:return new Float32Array(r);case t.INT:return new Int32Array(r)}}function qtr(t,e,r,n,i,a){switch(e){case t.FLOAT:return new Float32Array(r.buffer,a*n,i);case t.INT:return new Int32Array(r.buffer,a*n,i)}}function jtr(t,e,r,n){var i=HDe(t,e),a=as(i,2),s=a[0],o=a[1],l=VDe(t,o,n),u=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,u),t.bufferData(t.ARRAY_BUFFER,l,t.STATIC_DRAW),o===t.FLOAT?t.vertexAttribPointer(r,s,o,!1,0,0):o===t.INT&&t.vertexAttribIPointer(r,s,o,0,0),t.enableVertexAttribArray(r),t.bindBuffer(t.ARRAY_BUFFER,null),u}function ih(t,e,r,n){var i=HDe(t,r),a=as(i,3),s=a[0],o=a[1],l=a[2],u=VDe(t,o,e*s),d=s*l,h=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,h),t.bufferData(t.ARRAY_BUFFER,e*d,t.DYNAMIC_DRAW),t.enableVertexAttribArray(n),o===t.FLOAT?t.vertexAttribPointer(n,s,o,!1,d,0):o===t.INT&&t.vertexAttribIPointer(n,s,o,d,0),t.vertexAttribDivisor(n,1),t.bindBuffer(t.ARRAY_BUFFER,null);for(var f=new Array(e),p=0;p<e;p++)f[p]=qtr(t,o,u,d,s,p);return h.dataArray=u,h.stride=d,h.size=s,h.getView=function(g){return f[g]},h.setPoint=function(g,m,U){var y=f[g];y[0]=m,y[1]=U},h.bufferSubData=function(g){t.bindBuffer(t.ARRAY_BUFFER,h),g?t.bufferSubData(t.ARRAY_BUFFER,0,u,0,g*s):t.bufferSubData(t.ARRAY_BUFFER,0,u)},h}function Ytr(t,e,r){for(var n=9,i=new Float32Array(e*n),a=new Array(e),s=0;s<e;s++){var o=s*n*4;a[s]=new Float32Array(i.buffer,o,n)}var l=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferData(t.ARRAY_BUFFER,i.byteLength,t.DYNAMIC_DRAW);for(var u=0;u<3;u++){var d=r+u;t.enableVertexAttribArray(d),t.vertexAttribPointer(d,3,t.FLOAT,!1,36,u*12),t.vertexAttribDivisor(d,1)}return t.bindBuffer(t.ARRAY_BUFFER,null),l.getMatrixView=function(h){return a[h]},l.setData=function(h,f){a[f].set(h,0)},l.bufferSubData=function(){t.bindBuffer(t.ARRAY_BUFFER,l),t.bufferSubData(t.ARRAY_BUFFER,0,i)},l}function Xtr(t){var e=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,e);var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0),t.bindFramebuffer(t.FRAMEBUFFER,null),e.setFramebufferAttachmentSizes=function(n,i){t.bindTexture(t.TEXTURE_2D,r),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,n,i,0,t.RGBA,t.UNSIGNED_BYTE,null)},e}var Jme=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});function MH(){var t=new Jme(9);return Jme!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}function Qme(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t}function Ktr(t,e,r){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],d=e[7],h=e[8],f=r[0],p=r[1],g=r[2],m=r[3],U=r[4],y=r[5],b=r[6],v=r[7],w=r[8];return t[0]=f*n+p*s+g*u,t[1]=f*i+p*o+g*d,t[2]=f*a+p*l+g*h,t[3]=m*n+U*s+y*u,t[4]=m*i+U*o+y*d,t[5]=m*a+U*l+y*h,t[6]=b*n+v*s+w*u,t[7]=b*i+v*o+w*d,t[8]=b*a+v*l+w*h,t}function TM(t,e,r){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],d=e[7],h=e[8],f=r[0],p=r[1];return t[0]=n,t[1]=i,t[2]=a,t[3]=s,t[4]=o,t[5]=l,t[6]=f*n+p*s+u,t[7]=f*i+p*o+d,t[8]=f*a+p*l+h,t}function eUe(t,e,r){var n=e[0],i=e[1],a=e[2],s=e[3],o=e[4],l=e[5],u=e[6],d=e[7],h=e[8],f=Math.sin(r),p=Math.cos(r);return t[0]=p*n+f*s,t[1]=p*i+f*o,t[2]=p*a+f*l,t[3]=p*s-f*n,t[4]=p*o-f*i,t[5]=p*l-f*a,t[6]=u,t[7]=d,t[8]=h,t}function cY(t,e,r){var n=r[0],i=r[1];return t[0]=n*e[0],t[1]=n*e[1],t[2]=n*e[2],t[3]=i*e[3],t[4]=i*e[4],t[5]=i*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t}function Ztr(t,e,r){return t[0]=2/e,t[1]=0,t[2]=0,t[3]=0,t[4]=-2/r,t[5]=0,t[6]=-1,t[7]=1,t[8]=1,t}var Jtr=(function(){function t(e,r,n,i){I1(this,t),this.debugID=Math.floor(Math.random()*1e4),this.r=e,this.texSize=r,this.texRows=n,this.texHeight=Math.floor(r/n),this.enableWrapping=!0,this.locked=!1,this.texture=null,this.needsBuffer=!0,this.freePointer={x:0,row:0},this.keyToLocation=new Map,this.canvas=i(e,r,r),this.scratch=i(e,r,this.texHeight,"scratch")}return L1(t,[{key:"lock",value:function(){this.locked=!0}},{key:"getKeys",value:function(){return new Set(this.keyToLocation.keys())}},{key:"getScale",value:function(r){var n=r.w,i=r.h,a=this.texHeight,s=this.texSize,o=a/i,l=n*o,u=i*o;return l>s&&(o=s/n,l=n*o,u=i*o),{scale:o,texW:l,texH:u}}},{key:"draw",value:function(r,n,i){var a=this;if(this.locked)throw new Error("can't draw, atlas is locked");var s=this.texSize,o=this.texRows,l=this.texHeight,u=this.getScale(n),d=u.scale,h=u.texW,f=u.texH,p=function(v,w){if(i&&w){var T=w.context,S=v.x,C=v.row,k=S,E=l*C;T.save(),T.translate(k,E),T.scale(d,d),i(T,n),T.restore()}},g=[null,null],m=function(){p(a.freePointer,a.canvas),g[0]={x:a.freePointer.x,y:a.freePointer.row*l,w:h,h:f},g[1]={x:a.freePointer.x+h,y:a.freePointer.row*l,w:0,h:f},a.freePointer.x+=h,a.freePointer.x==s&&(a.freePointer.x=0,a.freePointer.row++)},U=function(){var v=a.scratch,w=a.canvas;v.clear(),p({x:0,row:0},v);var T=s-a.freePointer.x,S=h-T,C=l;{var k=a.freePointer.x,E=a.freePointer.row*l,A=T;w.context.drawImage(v,0,0,A,C,k,E,A,C),g[0]={x:k,y:E,w:A,h:f}}{var M=T,P=(a.freePointer.row+1)*l,N=S;w&&w.context.drawImage(v,M,0,N,C,0,P,N,C),g[1]={x:0,y:P,w:N,h:f}}a.freePointer.x=S,a.freePointer.row++},y=function(){a.freePointer.x=0,a.freePointer.row++};if(this.freePointer.x+h<=s)m();else{if(this.freePointer.row>=o-1)return!1;this.freePointer.x===s?(y(),m()):this.enableWrapping?U():(y(),m())}return this.keyToLocation.set(r,g),this.needsBuffer=!0,g}},{key:"getOffsets",value:function(r){return this.keyToLocation.get(r)}},{key:"isEmpty",value:function(){return this.freePointer.x===0&&this.freePointer.row===0}},{key:"canFit",value:function(r){if(this.locked)return!1;var n=this.texSize,i=this.texRows,a=this.getScale(r),s=a.texW;return this.freePointer.x+s>n?this.freePointer.row<i-1:!0}},{key:"bufferIfNeeded",value:function(r){this.texture||(this.texture=Wtr(r,this.debugID)),this.needsBuffer&&(this.texture.buffer(this.canvas),this.needsBuffer=!1,this.locked&&(this.canvas=null,this.scratch=null))}},{key:"dispose",value:function(){this.texture&&(this.texture.deleteTexture(),this.texture=null),this.canvas=null,this.scratch=null,this.locked=!0}}])})(),Qtr=(function(){function t(e,r,n,i){I1(this,t),this.r=e,this.texSize=r,this.texRows=n,this.createTextureCanvas=i,this.atlases=[],this.styleKeyToAtlas=new Map,this.markedKeys=new Set}return L1(t,[{key:"getKeys",value:function(){return new Set(this.styleKeyToAtlas.keys())}},{key:"_createAtlas",value:function(){var r=this.r,n=this.texSize,i=this.texRows,a=this.createTextureCanvas;return new Jtr(r,n,i,a)}},{key:"_getScratchCanvas",value:function(){if(!this.scratch){var r=this.r,n=this.texSize,i=this.texRows,a=this.createTextureCanvas,s=Math.floor(n/i);this.scratch=a(r,n,s,"scratch")}return this.scratch}},{key:"draw",value:function(r,n,i){var a=this.styleKeyToAtlas.get(r);return a||(a=this.atlases[this.atlases.length-1],(!a||!a.canFit(n))&&(a&&a.lock(),a=this._createAtlas(),this.atlases.push(a)),a.draw(r,n,i),this.styleKeyToAtlas.set(r,a)),a}},{key:"getAtlas",value:function(r){return this.styleKeyToAtlas.get(r)}},{key:"hasAtlas",value:function(r){return this.styleKeyToAtlas.has(r)}},{key:"markKeyForGC",value:function(r){this.markedKeys.add(r)}},{key:"gc",value:function(){var r=this,n=this.markedKeys;if(n.size===0){console.log("nothing to garbage collect");return}var i=[],a=new Map,s=null,o=vc(this.atlases),l;try{var u=function(){var h=l.value,f=h.getKeys(),p=err(n,f);if(p.size===0)return i.push(h),f.forEach(function(T){return a.set(T,h)}),1;s||(s=r._createAtlas(),i.push(s));var g=vc(f),m;try{for(g.s();!(m=g.n()).done;){var U=m.value;if(!p.has(U)){var y=h.getOffsets(U),b=as(y,2),v=b[0],w=b[1];s.canFit({w:v.w+w.w,h:v.h})||(s.lock(),s=r._createAtlas(),i.push(s)),h.canvas&&(r._copyTextureToNewAtlas(U,h,s),a.set(U,s))}}}catch(T){g.e(T)}finally{g.f()}h.dispose()};for(o.s();!(l=o.n()).done;)u()}catch(d){o.e(d)}finally{o.f()}this.atlases=i,this.styleKeyToAtlas=a,this.markedKeys=new Set}},{key:"_copyTextureToNewAtlas",value:function(r,n,i){var a=n.getOffsets(r),s=as(a,2),o=s[0],l=s[1];if(l.w===0)i.draw(r,o,function(f){f.drawImage(n.canvas,o.x,o.y,o.w,o.h,0,0,o.w,o.h)});else{var u=this._getScratchCanvas();u.clear(),u.context.drawImage(n.canvas,o.x,o.y,o.w,o.h,0,0,o.w,o.h),u.context.drawImage(n.canvas,l.x,l.y,l.w,l.h,o.w,0,l.w,l.h);var d=o.w+l.w,h=o.h;i.draw(r,{w:d,h},function(f){f.drawImage(u,0,0,d,h,0,0,d,h)})}}},{key:"getCounts",value:function(){return{keyCount:this.styleKeyToAtlas.size,atlasCount:new Set(this.styleKeyToAtlas.values()).size}}}])})();function err(t,e){return t.intersection?t.intersection(e):new Set(JL(t).filter(function(r){return e.has(r)}))}var trr=(function(){function t(e,r){I1(this,t),this.r=e,this.globalOptions=r,this.atlasSize=r.webglTexSize,this.maxAtlasesPerBatch=r.webglTexPerBatch,this.renderTypes=new Map,this.collections=new Map,this.typeAndIdToKey=new Map}return L1(t,[{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"addAtlasCollection",value:function(r,n){var i=this.globalOptions,a=i.webglTexSize,s=i.createTextureCanvas,o=n.texRows,l=this._cacheScratchCanvas(s),u=new Qtr(this.r,a,o,l);this.collections.set(r,u)}},{key:"addRenderType",value:function(r,n){var i=n.collection;if(!this.collections.has(i))throw new Error("invalid atlas collection name '".concat(i,"'"));var a=this.collections.get(i),s=Gr({type:r,atlasCollection:a},n);this.renderTypes.set(r,s)}},{key:"getRenderTypeOpts",value:function(r){return this.renderTypes.get(r)}},{key:"getAtlasCollection",value:function(r){return this.collections.get(r)}},{key:"_cacheScratchCanvas",value:function(r){var n=-1,i=-1,a=null;return function(s,o,l,u){return u?((!a||o!=n||l!=i)&&(n=o,i=l,a=r(s,o,l)),a):r(s,o,l)}}},{key:"_key",value:function(r,n){return"".concat(r,"-").concat(n)}},{key:"invalidate",value:function(r){var n=this,i=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=i.forceRedraw,s=a===void 0?!1:a,o=i.filterEle,l=o===void 0?function(){return!0}:o,u=i.filterType,d=u===void 0?function(){return!0}:u,h=!1,f=!1,p=vc(r),g;try{for(p.s();!(g=p.n()).done;){var m=g.value;if(l(m)){var U=vc(this.renderTypes.values()),y;try{var b=function(){var w=y.value,T=w.type;if(d(T)){var S=n.collections.get(w.collection),C=w.getKey(m),k=Array.isArray(C)?C:[C];if(s)k.forEach(function(P){return S.markKeyForGC(P)}),f=!0;else{var E=w.getID?w.getID(m):m.id(),A=n._key(T,E),M=n.typeAndIdToKey.get(A);M!==void 0&&!Vtr(k,M)&&(h=!0,n.typeAndIdToKey.delete(A),M.forEach(function(P){return S.markKeyForGC(P)}))}}};for(U.s();!(y=U.n()).done;)b()}catch(v){U.e(v)}finally{U.f()}}}}catch(v){p.e(v)}finally{p.f()}return f&&(this.gc(),h=!1),h}},{key:"gc",value:function(){var r=vc(this.collections.values()),n;try{for(r.s();!(n=r.n()).done;){var i=n.value;i.gc()}}catch(a){r.e(a)}finally{r.f()}}},{key:"getOrCreateAtlas",value:function(r,n,i,a){var s=this.renderTypes.get(n),o=this.collections.get(s.collection),l=!1,u=o.draw(a,i,function(f){s.drawClipped?(f.save(),f.beginPath(),f.rect(0,0,i.w,i.h),f.clip(),s.drawElement(f,r,i,!0,!0),f.restore()):s.drawElement(f,r,i,!0,!0),l=!0});if(l){var d=s.getID?s.getID(r):r.id(),h=this._key(n,d);this.typeAndIdToKey.has(h)?this.typeAndIdToKey.get(h).push(a):this.typeAndIdToKey.set(h,[a])}return u}},{key:"getAtlasInfo",value:function(r,n){var i=this,a=this.renderTypes.get(n),s=a.getKey(r),o=Array.isArray(s)?s:[s];return o.map(function(l){var u=a.getBoundingBox(r,l),d=i.getOrCreateAtlas(r,n,u,l),h=d.getOffsets(l),f=as(h,2),p=f[0],g=f[1];return{atlas:d,tex:p,tex1:p,tex2:g,bb:u}})}},{key:"getDebugInfo",value:function(){var r=[],n=vc(this.collections),i;try{for(n.s();!(i=n.n()).done;){var a=as(i.value,2),s=a[0],o=a[1],l=o.getCounts(),u=l.keyCount,d=l.atlasCount;r.push({type:s,keyCount:u,atlasCount:d})}}catch(h){n.e(h)}finally{n.f()}return r}}])})(),rrr=(function(){function t(e){I1(this,t),this.globalOptions=e,this.atlasSize=e.webglTexSize,this.maxAtlasesPerBatch=e.webglTexPerBatch,this.batchAtlases=[]}return L1(t,[{key:"getMaxAtlasesPerBatch",value:function(){return this.maxAtlasesPerBatch}},{key:"getAtlasSize",value:function(){return this.atlasSize}},{key:"getIndexArray",value:function(){return Array.from({length:this.maxAtlasesPerBatch},function(r,n){return n})}},{key:"startBatch",value:function(){this.batchAtlases=[]}},{key:"getAtlasCount",value:function(){return this.batchAtlases.length}},{key:"getAtlases",value:function(){return this.batchAtlases}},{key:"canAddToCurrentBatch",value:function(r){return this.batchAtlases.length===this.maxAtlasesPerBatch?this.batchAtlases.includes(r):!0}},{key:"getAtlasIndexForBatch",value:function(r){var n=this.batchAtlases.indexOf(r);if(n<0){if(this.batchAtlases.length===this.maxAtlasesPerBatch)throw new Error("cannot add more atlases to batch");this.batchAtlases.push(r),n=this.batchAtlases.length-1}return n}}])})(),nrr=`
float circleSD(vec2 p, float r) {
return distance(vec2(0), p) - r; // signed distance
}
`,irr=`
float rectangleSD(vec2 p, vec2 b) {
vec2 d = abs(p)-b;
return distance(vec2(0),max(d,0.0)) + min(max(d.x,d.y),0.0);
}
`,arr=`
float roundRectangleSD(vec2 p, vec2 b, vec4 cr) {
cr.xy = (p.x > 0.0) ? cr.xy : cr.zw;
cr.x = (p.y > 0.0) ? cr.x : cr.y;
vec2 q = abs(p) - b + cr.x;
return min(max(q.x, q.y), 0.0) + distance(vec2(0), max(q, 0.0)) - cr.x;
}
`,srr=`
float ellipseSD(vec2 p, vec2 ab) {
p = abs( p ); // symmetry
// find root with Newton solver
vec2 q = ab*(p-ab);
float w = (q.x<q.y)? 1.570796327 : 0.0;
for( int i=0; i<5; i++ ) {
vec2 cs = vec2(cos(w),sin(w));
vec2 u = ab*vec2( cs.x,cs.y);
vec2 v = ab*vec2(-cs.y,cs.x);
w = w + dot(p-u,v)/(dot(p-u,u)+dot(v,v));
}
// compute final point and distance
float d = length(p-ab*vec2(cos(w),sin(w)));
// return signed distance
return (dot(p/ab,p/ab)>1.0) ? d : -d;
}
`,cw={SCREEN:{name:"screen",screen:!0},PICKING:{name:"picking",picking:!0}},uN={IGNORE:1,USE_BB:2},RH=0,tUe=1,rUe=2,IH=3,Oy=4,XE=5,c9=6,u9=7,orr=(function(){function t(e,r,n){I1(this,t),this.r=e,this.gl=r,this.maxInstances=n.webglBatchSize,this.atlasSize=n.webglTexSize,this.bgColor=n.bgColor,this.debug=n.webglDebug,this.batchDebugInfo=[],n.enableWrapping=!0,n.createTextureCanvas=$tr,this.atlasManager=new trr(e,n),this.batchManager=new rrr(n),this.simpleShapeOptions=new Map,this.program=this._createShaderProgram(cw.SCREEN),this.pickingProgram=this._createShaderProgram(cw.PICKING),this.vao=this._createVAO()}return L1(t,[{key:"addAtlasCollection",value:function(r,n){this.atlasManager.addAtlasCollection(r,n)}},{key:"addTextureAtlasRenderType",value:function(r,n){this.atlasManager.addRenderType(r,n)}},{key:"addSimpleShapeRenderType",value:function(r,n){this.simpleShapeOptions.set(r,n)}},{key:"invalidate",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=n.type,a=this.atlasManager;return i?a.invalidate(r,{filterType:function(o){return o===i},forceRedraw:!0}):a.invalidate(r)}},{key:"gc",value:function(){this.atlasManager.gc()}},{key:"_createShaderProgram",value:function(r){var n=this.gl,i=`#version 300 es
precision highp float;
uniform mat3 uPanZoomMatrix;
uniform int uAtlasSize;
// instanced
in vec2 aPosition; // a vertex from the unit square
in mat3 aTransform; // used to transform verticies, eg into a bounding box
in int aVertType; // the type of thing we are rendering
// the z-index that is output when using picking mode
in vec4 aIndex;
// For textures
in int aAtlasId; // which shader unit/atlas to use
in vec4 aTex; // x/y/w/h of texture in atlas
// for edges
in vec4 aPointAPointB;
in vec4 aPointCPointD;
in vec2 aLineWidth; // also used for node border width
// simple shapes
in vec4 aCornerRadius; // for round-rectangle [top-right, bottom-right, top-left, bottom-left]
in vec4 aColor; // also used for edges
in vec4 aBorderColor; // aLineWidth is used for border width
// output values passed to the fragment shader
out vec2 vTexCoord;
out vec4 vColor;
out vec2 vPosition;
// flat values are not interpolated
flat out int vAtlasId;
flat out int vVertType;
flat out vec2 vTopRight;
flat out vec2 vBotLeft;
flat out vec4 vCornerRadius;
flat out vec4 vBorderColor;
flat out vec2 vBorderWidth;
flat out vec4 vIndex;
void main(void) {
int vid = gl_VertexID;
vec2 position = aPosition; // TODO make this a vec3, simplifies some code below
if(aVertType == `.concat(RH,`) {
float texX = aTex.x; // texture coordinates
float texY = aTex.y;
float texW = aTex.z;
float texH = aTex.w;
if(vid == 1 || vid == 2 || vid == 4) {
texX += texW;
}
if(vid == 2 || vid == 4 || vid == 5) {
texY += texH;
}
float d = float(uAtlasSize);
vTexCoord = vec2(texX / d, texY / d); // tex coords must be between 0 and 1
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
}
else if(aVertType == `).concat(Oy," || aVertType == ").concat(u9,`
|| aVertType == `).concat(XE," || aVertType == ").concat(c9,`) { // simple shapes
// the bounding box is needed by the fragment shader
vBotLeft = (aTransform * vec3(0, 0, 1)).xy; // flat
vTopRight = (aTransform * vec3(1, 1, 1)).xy; // flat
vPosition = (aTransform * vec3(position, 1)).xy; // will be interpolated
// calculations are done in the fragment shader, just pass these along
vColor = aColor;
vCornerRadius = aCornerRadius;
vBorderColor = aBorderColor;
vBorderWidth = aLineWidth;
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
}
else if(aVertType == `).concat(tUe,`) {
vec2 source = aPointAPointB.xy;
vec2 target = aPointAPointB.zw;
// adjust the geometry so that the line is centered on the edge
position.y = position.y - 0.5;
// stretch the unit square into a long skinny rectangle
vec2 xBasis = target - source;
vec2 yBasis = normalize(vec2(-xBasis.y, xBasis.x));
vec2 point = source + xBasis * position.x + yBasis * aLineWidth[0] * position.y;
gl_Position = vec4(uPanZoomMatrix * vec3(point, 1.0), 1.0);
vColor = aColor;
}
else if(aVertType == `).concat(rUe,`) {
vec2 pointA = aPointAPointB.xy;
vec2 pointB = aPointAPointB.zw;
vec2 pointC = aPointCPointD.xy;
vec2 pointD = aPointCPointD.zw;
// adjust the geometry so that the line is centered on the edge
position.y = position.y - 0.5;
vec2 p0, p1, p2, pos;
if(position.x == 0.0) { // The left side of the unit square
p0 = pointA;
p1 = pointB;
p2 = pointC;
pos = position;
} else { // The right side of the unit square, use same approach but flip the geometry upside down
p0 = pointD;
p1 = pointC;
p2 = pointB;
pos = vec2(0.0, -position.y);
}
vec2 p01 = p1 - p0;
vec2 p12 = p2 - p1;
vec2 p21 = p1 - p2;
// Find the normal vector.
vec2 tangent = normalize(normalize(p12) + normalize(p01));
vec2 normal = vec2(-tangent.y, tangent.x);
// Find the vector perpendicular to p0 -> p1.
vec2 p01Norm = normalize(vec2(-p01.y, p01.x));
// Determine the bend direction.
float sigma = sign(dot(p01 + p21, normal));
float width = aLineWidth[0];
if(sign(pos.y) == -sigma) {
// This is an intersecting vertex. Adjust the position so that there's no overlap.
vec2 point = 0.5 * width * normal * -sigma / dot(normal, p01Norm);
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
} else {
// This is a non-intersecting vertex. Treat it like a mitre join.
vec2 point = 0.5 * width * normal * sigma * dot(normal, p01Norm);
gl_Position = vec4(uPanZoomMatrix * vec3(p1 + point, 1.0), 1.0);
}
vColor = aColor;
}
else if(aVertType == `).concat(IH,` && vid < 3) {
// massage the first triangle into an edge arrow
if(vid == 0)
position = vec2(-0.15, -0.3);
if(vid == 1)
position = vec2( 0.0, 0.0);
if(vid == 2)
position = vec2( 0.15, -0.3);
gl_Position = vec4(uPanZoomMatrix * aTransform * vec3(position, 1.0), 1.0);
vColor = aColor;
}
else {
gl_Position = vec4(2.0, 0.0, 0.0, 1.0); // discard vertex by putting it outside webgl clip space
}
vAtlasId = aAtlasId;
vVertType = aVertType;
vIndex = aIndex;
}
`),a=this.batchManager.getIndexArray(),s=`#version 300 es
precision highp float;
// declare texture unit for each texture atlas in the batch
`.concat(a.map(function(u){return"uniform sampler2D uTexture".concat(u,";")}).join(`
`),`
uniform vec4 uBGColor;
uniform float uZoom;
in vec2 vTexCoord;
in vec4 vColor;
in vec2 vPosition; // model coordinates
flat in int vAtlasId;
flat in vec4 vIndex;
flat in int vVertType;
flat in vec2 vTopRight;
flat in vec2 vBotLeft;
flat in vec4 vCornerRadius;
flat in vec4 vBorderColor;
flat in vec2 vBorderWidth;
out vec4 outColor;
`).concat(nrr,`
`).concat(irr,`
`).concat(arr,`
`).concat(srr,`
vec4 blend(vec4 top, vec4 bot) { // blend colors with premultiplied alpha
return vec4(
top.rgb + (bot.rgb * (1.0 - top.a)),
top.a + (bot.a * (1.0 - top.a))
);
}
vec4 distInterp(vec4 cA, vec4 cB, float d) { // interpolate color using Signed Distance
// scale to the zoom level so that borders don't look blurry when zoomed in
// note 1.5 is an aribitrary value chosen because it looks good
return mix(cA, cB, 1.0 - smoothstep(0.0, 1.5 / uZoom, abs(d)));
}
void main(void) {
if(vVertType == `).concat(RH,`) {
// look up the texel from the texture unit
`).concat(a.map(function(u){return"if(vAtlasId == ".concat(u,") outColor = texture(uTexture").concat(u,", vTexCoord);")}).join(`
else `),`
}
else if(vVertType == `).concat(IH,`) {
// mimics how canvas renderer uses context.globalCompositeOperation = 'destination-out';
outColor = blend(vColor, uBGColor);
outColor.a = 1.0; // make opaque, masks out line under arrow
}
else if(vVertType == `).concat(Oy,` && vBorderWidth == vec2(0.0)) { // simple rectangle with no border
outColor = vColor; // unit square is already transformed to the rectangle, nothing else needs to be done
}
else if(vVertType == `).concat(Oy," || vVertType == ").concat(u9,`
|| vVertType == `).concat(XE," || vVertType == ").concat(c9,`) { // use SDF
float outerBorder = vBorderWidth[0];
float innerBorder = vBorderWidth[1];
float borderPadding = outerBorder * 2.0;
float w = vTopRight.x - vBotLeft.x - borderPadding;
float h = vTopRight.y - vBotLeft.y - borderPadding;
vec2 b = vec2(w/2.0, h/2.0); // half width, half height
vec2 p = vPosition - vec2(vTopRight.x - b[0] - outerBorder, vTopRight.y - b[1] - outerBorder); // translate to center
float d; // signed distance
if(vVertType == `).concat(Oy,`) {
d = rectangleSD(p, b);
} else if(vVertType == `).concat(u9,` && w == h) {
d = circleSD(p, b.x); // faster than ellipse
} else if(vVertType == `).concat(u9,`) {
d = ellipseSD(p, b);
} else {
d = roundRectangleSD(p, b, vCornerRadius.wzyx);
}
// use the distance to interpolate a color to smooth the edges of the shape, doesn't need multisampling
// we must smooth colors inwards, because we can't change pixels outside the shape's bounding box
if(d > 0.0) {
if(d > outerBorder) {
discard;
} else {
outColor = distInterp(vBorderColor, vec4(0), d - outerBorder);
}
} else {
if(d > innerBorder) {
vec4 outerColor = outerBorder == 0.0 ? vec4(0) : vBorderColor;
vec4 innerBorderColor = blend(vBorderColor, vColor);
outColor = distInterp(innerBorderColor, outerColor, d);
}
else {
vec4 outerColor;
if(innerBorder == 0.0 && outerBorder == 0.0) {
outerColor = vec4(0);
} else if(innerBorder == 0.0) {
outerColor = vBorderColor;
} else {
outerColor = blend(vBorderColor, vColor);
}
outColor = distInterp(vColor, outerColor, d - innerBorder);
}
}
}
else {
outColor = vColor;
}
`).concat(r.picking?`if(outColor.a == 0.0) discard;
else outColor = vIndex;`:"",`
}
`),o=Btr(n,i,s);o.aPosition=n.getAttribLocation(o,"aPosition"),o.aIndex=n.getAttribLocation(o,"aIndex"),o.aVertType=n.getAttribLocation(o,"aVertType"),o.aTransform=n.getAttribLocation(o,"aTransform"),o.aAtlasId=n.getAttribLocation(o,"aAtlasId"),o.aTex=n.getAttribLocation(o,"aTex"),o.aPointAPointB=n.getAttribLocation(o,"aPointAPointB"),o.aPointCPointD=n.getAttribLocation(o,"aPointCPointD"),o.aLineWidth=n.getAttribLocation(o,"aLineWidth"),o.aColor=n.getAttribLocation(o,"aColor"),o.aCornerRadius=n.getAttribLocation(o,"aCornerRadius"),o.aBorderColor=n.getAttribLocation(o,"aBorderColor"),o.uPanZoomMatrix=n.getUniformLocation(o,"uPanZoomMatrix"),o.uAtlasSize=n.getUniformLocation(o,"uAtlasSize"),o.uBGColor=n.getUniformLocation(o,"uBGColor"),o.uZoom=n.getUniformLocation(o,"uZoom"),o.uTextures=[];for(var l=0;l<this.batchManager.getMaxAtlasesPerBatch();l++)o.uTextures.push(n.getUniformLocation(o,"uTexture".concat(l)));return o}},{key:"_createVAO",value:function(){var r=[0,0,1,0,1,1,0,0,1,1,0,1];this.vertexCount=r.length/2;var n=this.maxInstances,i=this.gl,a=this.program,s=i.createVertexArray();return i.bindVertexArray(s),jtr(i,"vec2",a.aPosition,r),this.transformBuffer=Ytr(i,n,a.aTransform),this.indexBuffer=ih(i,n,"vec4",a.aIndex),this.vertTypeBuffer=ih(i,n,"int",a.aVertType),this.atlasIdBuffer=ih(i,n,"int",a.aAtlasId),this.texBuffer=ih(i,n,"vec4",a.aTex),this.pointAPointBBuffer=ih(i,n,"vec4",a.aPointAPointB),this.pointCPointDBuffer=ih(i,n,"vec4",a.aPointCPointD),this.lineWidthBuffer=ih(i,n,"vec2",a.aLineWidth),this.colorBuffer=ih(i,n,"vec4",a.aColor),this.cornerRadiusBuffer=ih(i,n,"vec4",a.aCornerRadius),this.borderColorBuffer=ih(i,n,"vec4",a.aBorderColor),i.bindVertexArray(null),s}},{key:"buffers",get:function(){var r=this;return this._buffers||(this._buffers=Object.keys(this).filter(function(n){return gg(n,"Buffer")}).map(function(n){return r[n]})),this._buffers}},{key:"startFrame",value:function(r){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:cw.SCREEN;this.panZoomMatrix=r,this.renderTarget=n,this.batchDebugInfo=[],this.wrappedCount=0,this.simpleCount=0,this.startBatch()}},{key:"startBatch",value:function(){this.instanceCount=0,this.batchManager.startBatch()}},{key:"endFrame",value:function(){this.endBatch()}},{key:"_isVisible",value:function(r,n){return r.visible()?n&&n.isVisible?n.isVisible(r):!0:!1}},{key:"drawTexture",value:function(r,n,i){var a=this.atlasManager,s=this.batchManager,o=a.getRenderTypeOpts(i);if(this._isVisible(r,o)&&!(r.isEdge()&&!this._isValidEdge(r))){if(this.renderTarget.picking&&o.getTexPickingMode){var l=o.getTexPickingMode(r);if(l===uN.IGNORE)return;if(l==uN.USE_BB){this.drawPickingRectangle(r,n,i);return}}var u=a.getAtlasInfo(r,i),d=vc(u),h;try{for(d.s();!(h=d.n()).done;){var f=h.value,p=f.atlas,g=f.tex1,m=f.tex2;s.canAddToCurrentBatch(p)||this.endBatch();for(var U=s.getAtlasIndexForBatch(p),y=0,b=[[g,!0],[m,!1]];y<b.length;y++){var v=as(b[y],2),w=v[0],T=v[1];if(w.w!=0){var S=this.instanceCount;this.vertTypeBuffer.getView(S)[0]=RH;var C=this.indexBuffer.getView(S);Ny(n,C);var k=this.atlasIdBuffer.getView(S);k[0]=U;var E=this.texBuffer.getView(S);E[0]=w.x,E[1]=w.y,E[2]=w.w,E[3]=w.h;var A=this.transformBuffer.getMatrixView(S);this.setTransformMatrix(r,A,o,f,T),this.instanceCount++,T||this.wrappedCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}catch(M){d.e(M)}finally{d.f()}}}},{key:"setTransformMatrix",value:function(r,n,i,a){var s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!0,o=0;if(i.shapeProps&&i.shapeProps.padding&&(o=r.pstyle(i.shapeProps.padding).pfValue),a){var l=a.bb,u=a.tex1,d=a.tex2,h=u.w/(u.w+d.w);s||(h=1-h);var f=this._getAdjustedBB(l,o,s,h);this._applyTransformMatrix(n,f,i,r)}else{var p=i.getBoundingBox(r),g=this._getAdjustedBB(p,o,!0,1);this._applyTransformMatrix(n,g,i,r)}}},{key:"_applyTransformMatrix",value:function(r,n,i,a){var s,o;Qme(r);var l=i.getRotation?i.getRotation(a):0;if(l!==0){var u=i.getRotationPoint(a),d=u.x,h=u.y;TM(r,r,[d,h]),eUe(r,r,l);var f=i.getRotationOffset(a);s=f.x+(n.xOffset||0),o=f.y+(n.yOffset||0)}else s=n.x1,o=n.y1;TM(r,r,[s,o]),cY(r,r,[n.w,n.h])}},{key:"_getAdjustedBB",value:function(r,n,i,a){var s=r.x1,o=r.y1,l=r.w,u=r.h,d=r.yOffset;n&&(s-=n,o-=n,l+=2*n,u+=2*n);var h=0,f=l*a;return i&&a<1?l=f:!i&&a<1&&(h=l-f,s+=h,l=f),{x1:s,y1:o,w:l,h:u,xOffset:h,yOffset:d}}},{key:"drawPickingRectangle",value:function(r,n,i){var a=this.atlasManager.getRenderTypeOpts(i),s=this.instanceCount;this.vertTypeBuffer.getView(s)[0]=Oy;var o=this.indexBuffer.getView(s);Ny(n,o);var l=this.colorBuffer.getView(s);cm([0,0,0],1,l);var u=this.transformBuffer.getMatrixView(s);this.setTransformMatrix(r,u,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}},{key:"drawNode",value:function(r,n,i){var a=this.simpleShapeOptions.get(i);if(this._isVisible(r,a)){var s=a.shapeProps,o=this._getVertTypeForShape(r,s.shape);if(o===void 0||a.isSimple&&!a.isSimple(r,this.renderTarget)){this.drawTexture(r,n,i);return}var l=this.instanceCount;if(this.vertTypeBuffer.getView(l)[0]=o,o===XE||o===c9){var u=a.getBoundingBox(r),d=this._getCornerRadius(r,s.radius,u),h=this.cornerRadiusBuffer.getView(l);h[0]=d,h[1]=d,h[2]=d,h[3]=d,o===c9&&(h[0]=0,h[2]=0)}var f=this.indexBuffer.getView(l);Ny(n,f);var p=this.renderTarget.picking?1:i==="node-body"?r.effectiveOpacity():1,g=this.renderTarget.picking?1:r.pstyle(s.opacity).value*p,m=r.pstyle(s.color).value,U=this.colorBuffer.getView(l);cm(m,g,U);var y=this.lineWidthBuffer.getView(l);if(y[0]=0,y[1]=0,s.border){var b=r.pstyle("border-width").value;if(b>0){var v=r.pstyle("border-color").value,w=p*r.pstyle("border-opacity").value,T=this.borderColorBuffer.getView(l);cm(v,w,T);var S=r.pstyle("border-position").value;if(S==="inside")y[0]=0,y[1]=-b;else if(S==="outside")y[0]=b,y[1]=0;else{var C=b/2;y[0]=C,y[1]=-C}}}var k=this.transformBuffer.getMatrixView(l);this.setTransformMatrix(r,k,a),this.simpleCount++,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}},{key:"_getVertTypeForShape",value:function(r,n){var i=r.pstyle(n).value;switch(i){case"rectangle":return Oy;case"ellipse":return u9;case"roundrectangle":case"round-rectangle":return XE;case"bottom-round-rectangle":return c9;default:return}}},{key:"_getCornerRadius",value:function(r,n,i){var a=i.w,s=i.h;if(r.pstyle(n).value==="auto")return a1(a,s);var o=r.pstyle(n).pfValue,l=a/2,u=s/2;return Math.min(o,u,l)}},{key:"drawEdgeArrow",value:function(r,n,i){if(r.visible()){var a=r._private.rscratch,s,o,l;if(i==="source"?(s=a.arrowStartX,o=a.arrowStartY,l=a.srcArrowAngle):(s=a.arrowEndX,o=a.arrowEndY,l=a.tgtArrowAngle),!(isNaN(s)||s==null||isNaN(o)||o==null||isNaN(l)||l==null)){var u=r.pstyle(i+"-arrow-shape").value;if(u!=="none"){var d=r.pstyle(i+"-arrow-color").value,h=r.pstyle("opacity").value,f=r.pstyle("line-opacity").value,p=h*f,g=r.pstyle("width").pfValue,m=r.pstyle("arrow-scale").value,U=this.r.getArrowWidth(g,m),y=this.instanceCount,b=this.transformBuffer.getMatrixView(y);Qme(b),TM(b,b,[s,o]),cY(b,b,[U,U]),eUe(b,b,l),this.vertTypeBuffer.getView(y)[0]=IH;var v=this.indexBuffer.getView(y);Ny(n,v);var w=this.colorBuffer.getView(y);cm(d,p,w),this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"drawEdgeLine",value:function(r,n){if(r.visible()){var i=this._getEdgePoints(r);if(i){var a=r.pstyle("opacity").value,s=r.pstyle("line-opacity").value,o=r.pstyle("width").pfValue,l=r.pstyle("line-color").value,u=a*s;if(i.length/2+this.instanceCount>this.maxInstances&&this.endBatch(),i.length==4){var d=this.instanceCount;this.vertTypeBuffer.getView(d)[0]=tUe;var h=this.indexBuffer.getView(d);Ny(n,h);var f=this.colorBuffer.getView(d);cm(l,u,f);var p=this.lineWidthBuffer.getView(d);p[0]=o;var g=this.pointAPointBBuffer.getView(d);g[0]=i[0],g[1]=i[1],g[2]=i[2],g[3]=i[3],this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}else for(var m=0;m<i.length-2;m+=2){var U=this.instanceCount;this.vertTypeBuffer.getView(U)[0]=rUe;var y=this.indexBuffer.getView(U);Ny(n,y);var b=this.colorBuffer.getView(U);cm(l,u,b);var v=this.lineWidthBuffer.getView(U);v[0]=o;var w=i[m-2],T=i[m-1],S=i[m],C=i[m+1],k=i[m+2],E=i[m+3],A=i[m+4],M=i[m+5];m==0&&(w=2*S-k+.001,T=2*C-E+.001),m==i.length-4&&(A=2*k-S+.001,M=2*E-C+.001);var P=this.pointAPointBBuffer.getView(U);P[0]=w,P[1]=T,P[2]=S,P[3]=C;var N=this.pointCPointDBuffer.getView(U);N[0]=k,N[1]=E,N[2]=A,N[3]=M,this.instanceCount++,this.instanceCount>=this.maxInstances&&this.endBatch()}}}}},{key:"_isValidEdge",value:function(r){var n=r._private.rscratch;return!(n.badLine||n.allpts==null||isNaN(n.allpts[0]))}},{key:"_getEdgePoints",value:function(r){var n=r._private.rscratch;if(this._isValidEdge(r)){var i=n.allpts;if(i.length==4)return i;var a=this._getNumSegments(r);return this._getCurveSegmentPoints(i,a)}}},{key:"_getNumSegments",value:function(r){var n=15;return Math.min(Math.max(n,5),this.maxInstances)}},{key:"_getCurveSegmentPoints",value:function(r,n){if(r.length==4)return r;for(var i=Array((n+1)*2),a=0;a<=n;a++)if(a==0)i[0]=r[0],i[1]=r[1];else if(a==n)i[a*2]=r[r.length-2],i[a*2+1]=r[r.length-1];else{var s=a/n;this._setCurvePoint(r,s,i,a*2)}return i}},{key:"_setCurvePoint",value:function(r,n,i,a){if(r.length<=2)i[a]=r[0],i[a+1]=r[1];else{for(var s=Array(r.length-2),o=0;o<s.length;o+=2){var l=(1-n)*r[o]+n*r[o+2],u=(1-n)*r[o+1]+n*r[o+3];s[o]=l,s[o+1]=u}return this._setCurvePoint(s,n,i,a)}}},{key:"endBatch",value:function(){var r=this.gl,n=this.vao,i=this.vertexCount,a=this.instanceCount;if(a!==0){var s=this.renderTarget.picking?this.pickingProgram:this.program;r.useProgram(s),r.bindVertexArray(n);var o=vc(this.buffers),l;try{for(o.s();!(l=o.n()).done;){var u=l.value;u.bufferSubData(a)}}catch(g){o.e(g)}finally{o.f()}for(var d=this.batchManager.getAtlases(),h=0;h<d.length;h++)d[h].bufferIfNeeded(r);for(var f=0;f<d.length;f++)r.activeTexture(r.TEXTURE0+f),r.bindTexture(r.TEXTURE_2D,d[f].texture),r.uniform1i(s.uTextures[f],f);r.uniform1f(s.uZoom,Ftr(this.r)),r.uniformMatrix3fv(s.uPanZoomMatrix,!1,this.panZoomMatrix),r.uniform1i(s.uAtlasSize,this.batchManager.getAtlasSize());var p=cm(this.bgColor,1);r.uniform4fv(s.uBGColor,p),r.drawArraysInstanced(r.TRIANGLES,0,i,a),r.bindVertexArray(null),r.bindTexture(r.TEXTURE_2D,null),this.debug&&this.batchDebugInfo.push({count:a,atlasCount:d.length}),this.startBatch()}}},{key:"getDebugInfo",value:function(){var r=this.atlasManager.getDebugInfo(),n=r.reduce(function(s,o){return s+o.atlasCount},0),i=this.batchDebugInfo,a=i.reduce(function(s,o){return s+o.count},0);return{atlasInfo:r,totalAtlases:n,wrappedCount:this.wrappedCount,simpleCount:this.simpleCount,batchCount:i.length,batchInfo:i,totalInstances:a}}}])})(),GDe={};GDe.initWebgl=function(t,e){var r=this,n=r.data.contexts[r.WEBGL];t.bgColor=lrr(r),t.webglTexSize=Math.min(t.webglTexSize,n.getParameter(n.MAX_TEXTURE_SIZE)),t.webglTexRows=Math.min(t.webglTexRows,54),t.webglTexRowsNodes=Math.min(t.webglTexRowsNodes,54),t.webglBatchSize=Math.min(t.webglBatchSize,16384),t.webglTexPerBatch=Math.min(t.webglTexPerBatch,n.getParameter(n.MAX_TEXTURE_IMAGE_UNITS)),r.webglDebug=t.webglDebug,r.webglDebugShowAtlases=t.webglDebugShowAtlases,r.pickingFrameBuffer=Xtr(n),r.pickingFrameBuffer.needsDraw=!0,r.drawing=new orr(r,n,t);var i=function(h){return function(f){return r.getTextAngle(f,h)}},a=function(h){return function(f){var p=f.pstyle(h);return p&&p.value}},s=function(h){return function(f){return f.pstyle("".concat(h,"-opacity")).value>0}},o=function(h){var f=h.pstyle("text-events").strValue==="yes";return f?uN.USE_BB:uN.IGNORE},l=function(h){var f=h.position(),p=f.x,g=f.y,m=h.outerWidth(),U=h.outerHeight();return{w:m,h:U,x1:p-m/2,y1:g-U/2}};r.drawing.addAtlasCollection("node",{texRows:t.webglTexRowsNodes}),r.drawing.addAtlasCollection("label",{texRows:t.webglTexRows}),r.drawing.addTextureAtlasRenderType("node-body",{collection:"node",getKey:e.getStyleKey,getBoundingBox:e.getElementBox,drawElement:e.drawElement}),r.drawing.addSimpleShapeRenderType("node-body",{getBoundingBox:l,isSimple:Htr,shapeProps:{shape:"shape",color:"background-color",opacity:"background-opacity",radius:"corner-radius",border:!0}}),r.drawing.addSimpleShapeRenderType("node-overlay",{getBoundingBox:l,isVisible:s("overlay"),shapeProps:{shape:"overlay-shape",color:"overlay-color",opacity:"overlay-opacity",padding:"overlay-padding",radius:"overlay-corner-radius"}}),r.drawing.addSimpleShapeRenderType("node-underlay",{getBoundingBox:l,isVisible:s("underlay"),shapeProps:{shape:"underlay-shape",color:"underlay-color",opacity:"underlay-opacity",padding:"underlay-padding",radius:"underlay-corner-radius"}}),r.drawing.addTextureAtlasRenderType("label",{collection:"label",getTexPickingMode:o,getKey:LH(e.getLabelKey,null),getBoundingBox:NH(e.getLabelBox,null),drawClipped:!0,drawElement:e.drawLabel,getRotation:i(null),getRotationPoint:e.getLabelRotationPoint,getRotationOffset:e.getLabelRotationOffset,isVisible:a("label")}),r.drawing.addTextureAtlasRenderType("edge-source-label",{collection:"label",getTexPickingMode:o,getKey:LH(e.getSourceLabelKey,"source"),getBoundingBox:NH(e.getSourceLabelBox,"source"),drawClipped:!0,drawElement:e.drawSourceLabel,getRotation:i("source"),getRotationPoint:e.getSourceLabelRotationPoint,getRotationOffset:e.getSourceLabelRotationOffset,isVisible:a("source-label")}),r.drawing.addTextureAtlasRenderType("edge-target-label",{collection:"label",getTexPickingMode:o,getKey:LH(e.getTargetLabelKey,"target"),getBoundingBox:NH(e.getTargetLabelBox,"target"),drawClipped:!0,drawElement:e.drawTargetLabel,getRotation:i("target"),getRotationPoint:e.getTargetLabelRotationPoint,getRotationOffset:e.getTargetLabelRotationOffset,isVisible:a("target-label")});var u=ES(function(){console.log("garbage collect flag set"),r.data.gc=!0},1e4);r.onUpdateEleCalcs(function(d,h){var f=!1;h&&h.length>0&&(f|=r.drawing.invalidate(h)),f&&u()}),crr(r)};function lrr(t){var e=t.cy.container(),r=e&&e.style&&e.style.backgroundColor||"white";return mOe(r)}function WDe(t,e){var r=t._private.rscratch;return Cl(r,"labelWrapCachedLines",e)||[]}var LH=function(e,r){return function(n){var i=e(n),a=WDe(n,r);return a.length>1?a.map(function(s,o){return"".concat(i,"_").concat(o)}):i}},NH=function(e,r){return function(n,i){var a=e(n);if(typeof i=="string"){var s=i.indexOf("_");if(s>0){var o=Number(i.substring(s+1)),l=WDe(n,r),u=a.h/l.length,d=u*o,h=a.y1+d;return{x1:a.x1,w:a.w,y1:h,h:u,yOffset:d}}}return a}};function crr(t){{var e=t.render;t.render=function(a){a=a||{};var s=t.cy;t.webgl&&(s.zoom()>_De?(urr(t),e.call(t,a)):(drr(t),jDe(t,a,cw.SCREEN)))}}{var r=t.matchCanvasSize;t.matchCanvasSize=function(a){r.call(t,a),t.pickingFrameBuffer.setFramebufferAttachmentSizes(t.canvasWidth,t.canvasHeight),t.pickingFrameBuffer.needsDraw=!0}}t.findNearestElements=function(a,s,o,l){return Urr(t,a,s)};{var n=t.invalidateCachedZSortedEles;t.invalidateCachedZSortedEles=function(){n.call(t),t.pickingFrameBuffer.needsDraw=!0}}{var i=t.notify;t.notify=function(a,s){i.call(t,a,s),a==="viewport"||a==="bounds"?t.pickingFrameBuffer.needsDraw=!0:a==="background"&&t.drawing.invalidate(s,{type:"node-body"})}}}function urr(t){var e=t.data.contexts[t.WEBGL];e.clear(e.COLOR_BUFFER_BIT|e.DEPTH_BUFFER_BIT)}function drr(t){var e=function(n){n.save(),n.setTransform(1,0,0,1,0,0),n.clearRect(0,0,t.canvasWidth,t.canvasHeight),n.restore()};e(t.data.contexts[t.NODE]),e(t.data.contexts[t.DRAG])}function hrr(t){var e=t.canvasWidth,r=t.canvasHeight,n=_re(t),i=n.pan,a=n.zoom,s=MH();TM(s,s,[i.x,i.y]),cY(s,s,[a,a]);var o=MH();Ztr(o,e,r);var l=MH();return Ktr(l,o,s),l}function qDe(t,e){var r=t.canvasWidth,n=t.canvasHeight,i=_re(t),a=i.pan,s=i.zoom;e.setTransform(1,0,0,1,0,0),e.clearRect(0,0,r,n),e.translate(a.x,a.y),e.scale(s,s)}function frr(t,e){t.drawSelectionRectangle(e,function(r){return qDe(t,r)})}function prr(t){var e=t.data.contexts[t.NODE];e.save(),qDe(t,e),e.strokeStyle="rgba(0, 0, 0, 0.3)",e.beginPath(),e.moveTo(-1e3,0),e.lineTo(1e3,0),e.stroke(),e.beginPath(),e.moveTo(0,-1e3),e.lineTo(0,1e3),e.stroke(),e.restore()}function grr(t){var e=function(i,a,s){for(var o=i.atlasManager.getAtlasCollection(a),l=t.data.contexts[t.NODE],u=o.atlases,d=0;d<u.length;d++){var h=u[d],f=h.canvas;if(f){var p=f.width,g=f.height,m=p*d,U=f.height*s,y=.4;l.save(),l.scale(y,y),l.drawImage(f,m,U),l.strokeStyle="black",l.rect(m,U,p,g),l.stroke(),l.restore()}}},r=0;e(t.drawing,"node",r++),e(t.drawing,"label",r++)}function mrr(t,e,r,n,i){var a,s,o,l,u=_re(t),d=u.pan,h=u.zoom;{var f=ztr(t,d,h,e,r),p=as(f,2),g=p[0],m=p[1],U=6;a=g-U/2,s=m-U/2,o=U,l=U}if(o===0||l===0)return[];var y=t.data.contexts[t.WEBGL];y.bindFramebuffer(y.FRAMEBUFFER,t.pickingFrameBuffer),t.pickingFrameBuffer.needsDraw&&(y.viewport(0,0,y.canvas.width,y.canvas.height),jDe(t,null,cw.PICKING),t.pickingFrameBuffer.needsDraw=!1);var b=o*l,v=new Uint8Array(b*4);y.readPixels(a,s,o,l,y.RGBA,y.UNSIGNED_BYTE,v),y.bindFramebuffer(y.FRAMEBUFFER,null);for(var w=new Set,T=0;T<b;T++){var S=v.slice(T*4,T*4+4),C=Gtr(S)-1;C>=0&&w.add(C)}return w}function Urr(t,e,r){var n=mrr(t,e,r),i=t.getCachedZSortedEles(),a,s,o=vc(n),l;try{for(o.s();!(l=o.n()).done;){var u=l.value,d=i[u];if(!a&&d.isNode()&&(a=d),!s&&d.isEdge()&&(s=d),a&&s)break}}catch(h){o.e(h)}finally{o.f()}return[a,s].filter(Boolean)}function OH(t,e,r){var n=t.drawing;e+=1,r.isNode()?(n.drawNode(r,e,"node-underlay"),n.drawNode(r,e,"node-body"),n.drawTexture(r,e,"label"),n.drawNode(r,e,"node-overlay")):(n.drawEdgeLine(r,e),n.drawEdgeArrow(r,e,"source"),n.drawEdgeArrow(r,e,"target"),n.drawTexture(r,e,"label"),n.drawTexture(r,e,"edge-source-label"),n.drawTexture(r,e,"edge-target-label"))}function jDe(t,e,r){var n;t.webglDebug&&(n=performance.now());var i=t.drawing,a=0;if(r.screen&&t.data.canvasNeedsRedraw[t.SELECT_BOX]&&frr(t,e),t.data.canvasNeedsRedraw[t.NODE]||r.picking){var s=t.data.contexts[t.WEBGL];r.screen?(s.clearColor(0,0,0,0),s.enable(s.BLEND),s.blendFunc(s.ONE,s.ONE_MINUS_SRC_ALPHA)):s.disable(s.BLEND),s.clear(s.COLOR_BUFFER_BIT|s.DEPTH_BUFFER_BIT),s.viewport(0,0,s.canvas.width,s.canvas.height);var o=hrr(t),l=t.getCachedZSortedEles();if(a=l.length,i.startFrame(o,r),r.screen){for(var u=0;u<l.nondrag.length;u++)OH(t,u,l.nondrag[u]);for(var d=0;d<l.drag.length;d++)OH(t,d,l.drag[d])}else if(r.picking)for(var h=0;h<l.length;h++)OH(t,h,l[h]);i.endFrame(),r.screen&&t.webglDebugShowAtlases&&(prr(t),grr(t)),t.data.canvasNeedsRedraw[t.NODE]=!1,t.data.canvasNeedsRedraw[t.DRAG]=!1}if(t.webglDebug){var f=performance.now(),p=!1,g=Math.ceil(f-n),m=i.getDebugInfo(),U=["".concat(a," elements"),"".concat(m.totalInstances," instances"),"".concat(m.batchCount," batches"),"".concat(m.totalAtlases," atlases"),"".concat(m.wrappedCount," wrapped textures"),"".concat(m.simpleCount," simple shapes")].join(", ");if(p)console.log("WebGL (".concat(r.name,") - time ").concat(g,"ms, ").concat(U));else{console.log("WebGL (".concat(r.name,") - frame time ").concat(g,"ms")),console.log("Totals:"),console.log(" ".concat(U)),console.log("Texture Atlases Used:");var y=m.atlasInfo,b=vc(y),v;try{for(b.s();!(v=b.n()).done;){var w=v.value;console.log(" ".concat(w.type,": ").concat(w.keyCount," keys, ").concat(w.atlasCount," atlases"))}}catch(T){b.e(T)}finally{b.f()}console.log("")}}t.data.gc&&(console.log("Garbage Collect!"),t.data.gc=!1,i.gc())}var D1={};D1.drawPolygonPath=function(t,e,r,n,i,a){var s=n/2,o=i/2;t.beginPath&&t.beginPath(),t.moveTo(e+s*a[0],r+o*a[1]);for(var l=1;l<a.length/2;l++)t.lineTo(e+s*a[l*2],r+o*a[l*2+1]);t.closePath()};D1.drawRoundPolygonPath=function(t,e,r,n,i,a,s){s.forEach(function(o){return EDe(t,o)}),t.closePath()};D1.drawRoundRectanglePath=function(t,e,r,n,i,a){var s=n/2,o=i/2,l=a==="auto"?a1(n,i):Math.min(a,o,s);t.beginPath&&t.beginPath(),t.moveTo(e,r-o),t.arcTo(e+s,r-o,e+s,r,l),t.arcTo(e+s,r+o,e,r+o,l),t.arcTo(e-s,r+o,e-s,r,l),t.arcTo(e-s,r-o,e,r-o,l),t.lineTo(e,r-o),t.closePath()};D1.drawBottomRoundRectanglePath=function(t,e,r,n,i,a){var s=n/2,o=i/2,l=a==="auto"?a1(n,i):a;t.beginPath&&t.beginPath(),t.moveTo(e,r-o),t.lineTo(e+s,r-o),t.lineTo(e+s,r),t.arcTo(e+s,r+o,e,r+o,l),t.arcTo(e-s,r+o,e-s,r,l),t.lineTo(e-s,r-o),t.lineTo(e,r-o),t.closePath()};D1.drawCutRectanglePath=function(t,e,r,n,i,a,s){var o=n/2,l=i/2,u=s==="auto"?Tre():s;t.beginPath&&t.beginPath(),t.moveTo(e-o+u,r-l),t.lineTo(e+o-u,r-l),t.lineTo(e+o,r-l+u),t.lineTo(e+o,r+l-u),t.lineTo(e+o-u,r+l),t.lineTo(e-o+u,r+l),t.lineTo(e-o,r+l-u),t.lineTo(e-o,r-l+u),t.closePath()};D1.drawBarrelPath=function(t,e,r,n,i){var a=n/2,s=i/2,o=e-a,l=e+a,u=r-s,d=r+s,h=Xj(n,i),f=h.widthOffset,p=h.heightOffset,g=h.ctrlPtOffsetPct*f;t.beginPath&&t.beginPath(),t.moveTo(o,u+p),t.lineTo(o,d-p),t.quadraticCurveTo(o+g,d,o+f,d),t.lineTo(l-f,d),t.quadraticCurveTo(l-g,d,l,d-p),t.lineTo(l,u+p),t.quadraticCurveTo(l-g,u,l-f,u),t.lineTo(o+f,u),t.quadraticCurveTo(o+g,u,o,u+p),t.closePath()};var nUe=Math.sin(0),iUe=Math.cos(0),uY={},dY={},YDe=Math.PI/40;for(var Dy=0*Math.PI;Dy<2*Math.PI;Dy+=YDe)uY[Dy]=Math.sin(Dy),dY[Dy]=Math.cos(Dy);D1.drawEllipsePath=function(t,e,r,n,i){if(t.beginPath&&t.beginPath(),t.ellipse)t.ellipse(e,r,n/2,i/2,0,0,2*Math.PI);else for(var a,s,o=n/2,l=i/2,u=0*Math.PI;u<2*Math.PI;u+=YDe)a=e-o*uY[u]*nUe+o*dY[u]*iUe,s=r+l*dY[u]*nUe+l*uY[u]*iUe,u===0?t.moveTo(a,s):t.lineTo(a,s);t.closePath()};var NS={};NS.createBuffer=function(t,e){var r=document.createElement("canvas");return r.width=t,r.height=e,[r,r.getContext("2d")]};NS.bufferCanvasImage=function(t){var e=this.cy,r=e.mutableElements(),n=r.boundingBox(),i=this.findContainerClientCoords(),a=t.full?Math.ceil(n.w):i[2],s=t.full?Math.ceil(n.h):i[3],o=Jt(t.maxWidth)||Jt(t.maxHeight),l=this.getPixelRatio(),u=1;if(t.scale!==void 0)a*=t.scale,s*=t.scale,u=t.scale;else if(o){var d=1/0,h=1/0;Jt(t.maxWidth)&&(d=u*t.maxWidth/a),Jt(t.maxHeight)&&(h=u*t.maxHeight/s),u=Math.min(d,h),a*=u,s*=u}o||(a*=l,s*=l,u*=l);var f=document.createElement("canvas");f.width=a,f.height=s,f.style.width=a+"px",f.style.height=s+"px";var p=f.getContext("2d");if(a>0&&s>0){p.clearRect(0,0,a,s),p.globalCompositeOperation="source-over";var g=this.getCachedZSortedEles();if(t.full)p.translate(-n.x1*u,-n.y1*u),p.scale(u,u),this.drawElements(p,g),p.scale(1/u,1/u),p.translate(n.x1*u,n.y1*u);else{var m=e.pan(),U={x:m.x*u,y:m.y*u};u*=e.zoom(),p.translate(U.x,U.y),p.scale(u,u),this.drawElements(p,g),p.scale(1/u,1/u),p.translate(-U.x,-U.y)}t.bg&&(p.globalCompositeOperation="destination-over",p.fillStyle=t.bg,p.rect(0,0,a,s),p.fill())}return f};function yrr(t,e){for(var r=atob(t),n=new ArrayBuffer(r.length),i=new Uint8Array(n),a=0;a<r.length;a++)i[a]=r.charCodeAt(a);return new Blob([n],{type:e})}function aUe(t){var e=t.indexOf(",");return t.substr(e+1)}function XDe(t,e,r){var n=function(){return e.toDataURL(r,t.quality)};switch(t.output){case"blob-promise":return new f3(function(i,a){try{e.toBlob(function(s){s!=null?i(s):a(new Error("`canvas.toBlob()` sent a null value in its callback"))},r,t.quality)}catch(s){a(s)}});case"blob":return yrr(aUe(n()),r);case"base64":return aUe(n());case"base64uri":default:return n()}}NS.png=function(t){return XDe(t,this.bufferCanvasImage(t),"image/png")};NS.jpg=function(t){return XDe(t,this.bufferCanvasImage(t),"image/jpeg")};var KDe={};KDe.nodeShapeImpl=function(t,e,r,n,i,a,s,o){switch(t){case"ellipse":return this.drawEllipsePath(e,r,n,i,a);case"polygon":return this.drawPolygonPath(e,r,n,i,a,s);case"round-polygon":return this.drawRoundPolygonPath(e,r,n,i,a,s,o);case"roundrectangle":case"round-rectangle":return this.drawRoundRectanglePath(e,r,n,i,a,o);case"cutrectangle":case"cut-rectangle":return this.drawCutRectanglePath(e,r,n,i,a,s,o);case"bottomroundrectangle":case"bottom-round-rectangle":return this.drawBottomRoundRectanglePath(e,r,n,i,a,o);case"barrel":return this.drawBarrelPath(e,r,n,i,a)}};var brr=ZDe,En=ZDe.prototype;En.CANVAS_LAYERS=3;En.SELECT_BOX=0;En.DRAG=1;En.NODE=2;En.WEBGL=3;En.CANVAS_TYPES=["2d","2d","2d","webgl2"];En.BUFFER_COUNT=3;En.TEXTURE_BUFFER=0;En.MOTIONBLUR_BUFFER_NODE=1;En.MOTIONBLUR_BUFFER_DRAG=2;function ZDe(t){var e=this,r=e.cy.window(),n=r.document;t.webgl&&(En.CANVAS_LAYERS=e.CANVAS_LAYERS=4,console.log("webgl rendering enabled")),e.data={canvases:new Array(En.CANVAS_LAYERS),contexts:new Array(En.CANVAS_LAYERS),canvasNeedsRedraw:new Array(En.CANVAS_LAYERS),bufferCanvases:new Array(En.BUFFER_COUNT),bufferContexts:new Array(En.CANVAS_LAYERS)};var i="-webkit-tap-highlight-color",a="rgba(0,0,0,0)";e.data.canvasContainer=n.createElement("div");var s=e.data.canvasContainer.style;e.data.canvasContainer.style[i]=a,s.position="relative",s.zIndex="0",s.overflow="hidden";var o=t.cy.container();o.appendChild(e.data.canvasContainer),o.style[i]=a;var l={"-webkit-user-select":"none","-moz-user-select":"-moz-none","user-select":"none","-webkit-tap-highlight-color":"rgba(0,0,0,0)","outline-style":"none"};cKt()&&(l["-ms-touch-action"]="none",l["touch-action"]="none");for(var u=0;u<En.CANVAS_LAYERS;u++){var d=e.data.canvases[u]=n.createElement("canvas"),h=En.CANVAS_TYPES[u];e.data.contexts[u]=d.getContext(h),e.data.contexts[u]||ca("Could not create canvas of type "+h),Object.keys(l).forEach(function(Z){d.style[Z]=l[Z]}),d.style.position="absolute",d.setAttribute("data-id","layer"+u),d.style.zIndex=String(En.CANVAS_LAYERS-u),e.data.canvasContainer.appendChild(d),e.data.canvasNeedsRedraw[u]=!1}e.data.topCanvas=e.data.canvases[0],e.data.canvases[En.NODE].setAttribute("data-id","layer"+En.NODE+"-node"),e.data.canvases[En.SELECT_BOX].setAttribute("data-id","layer"+En.SELECT_BOX+"-selectbox"),e.data.canvases[En.DRAG].setAttribute("data-id","layer"+En.DRAG+"-drag"),e.data.canvases[En.WEBGL]&&e.data.canvases[En.WEBGL].setAttribute("data-id","layer"+En.WEBGL+"-webgl");for(var u=0;u<En.BUFFER_COUNT;u++)e.data.bufferCanvases[u]=n.createElement("canvas"),e.data.bufferContexts[u]=e.data.bufferCanvases[u].getContext("2d"),e.data.bufferCanvases[u].style.position="absolute",e.data.bufferCanvases[u].setAttribute("data-id","buffer"+u),e.data.bufferCanvases[u].style.zIndex=String(-u-1),e.data.bufferCanvases[u].style.visibility="hidden";e.pathsEnabled=!0;var f=Gl(),p=function(J){return{x:(J.x1+J.x2)/2,y:(J.y1+J.y2)/2}},g=function(J){return{x:-J.w/2,y:-J.h/2}},m=function(J){var ne=J[0]._private,ie=ne.oldBackgroundTimestamp===ne.backgroundTimestamp;return!ie},U=function(J){return J[0]._private.nodeKey},y=function(J){return J[0]._private.labelStyleKey},b=function(J){return J[0]._private.sourceLabelStyleKey},v=function(J){return J[0]._private.targetLabelStyleKey},w=function(J,ne,ie,me,te){return e.drawElement(J,ne,ie,!1,!1,te)},T=function(J,ne,ie,me,te){return e.drawElementText(J,ne,ie,me,"main",te)},S=function(J,ne,ie,me,te){return e.drawElementText(J,ne,ie,me,"source",te)},C=function(J,ne,ie,me,te){return e.drawElementText(J,ne,ie,me,"target",te)},k=function(J){return J.boundingBox(),J[0]._private.bodyBounds},E=function(J){return J.boundingBox(),J[0]._private.labelBounds.main||f},A=function(J){return J.boundingBox(),J[0]._private.labelBounds.source||f},M=function(J){return J.boundingBox(),J[0]._private.labelBounds.target||f},P=function(J,ne){return ne},N=function(J){return p(k(J))},I=function(J,ne,ie){var me=J?J+"-":"";return{x:ne.x+ie.pstyle(me+"text-margin-x").pfValue,y:ne.y+ie.pstyle(me+"text-margin-y").pfValue}},L=function(J,ne,ie){var me=J[0]._private.rscratch;return{x:me[ne],y:me[ie]}},_=function(J){return I("",L(J,"labelX","labelY"),J)},D=function(J){return I("source",L(J,"sourceLabelX","sourceLabelY"),J)},O=function(J){return I("target",L(J,"targetLabelX","targetLabelY"),J)},B=function(J){return g(k(J))},F=function(J){return g(A(J))},z=function(J){return g(M(J))},$=function(J){var ne=E(J),ie=g(E(J));if(J.isNode()){switch(g4(J.pstyle("text-halign").value)){case"left":ie.x=-ne.w-(ne.leftPad||0);break;case"right":ie.x=-(ne.rightPad||0);break}switch(m4(J.pstyle("text-valign").value)){case"top":ie.y=-ne.h-(ne.topPad||0);break;case"bottom":ie.y=-(ne.botPad||0);break}}return ie},H=e.data.eleTxrCache=new sx(e,{getKey:U,doesEleInvalidateKey:m,drawElement:w,getBoundingBox:k,getRotationPoint:N,getRotationOffset:B,allowEdgeTxrCaching:!1,allowParentTxrCaching:!1}),V=e.data.lblTxrCache=new sx(e,{getKey:y,drawElement:T,getBoundingBox:E,getRotationPoint:_,getRotationOffset:$,isVisible:P}),G=e.data.slbTxrCache=new sx(e,{getKey:b,drawElement:S,getBoundingBox:A,getRotationPoint:D,getRotationOffset:F,isVisible:P}),K=e.data.tlbTxrCache=new sx(e,{getKey:v,drawElement:C,getBoundingBox:M,getRotationPoint:O,getRotationOffset:z,isVisible:P}),W=e.data.lyrTxrCache=new BDe(e);e.onUpdateEleCalcs(function(J,ne){H.invalidateElements(ne),V.invalidateElements(ne),G.invalidateElements(ne),K.invalidateElements(ne),W.invalidateElements(ne);for(var ie=0;ie<ne.length;ie++){var me=ne[ie]._private;me.oldBackgroundTimestamp=me.backgroundTimestamp}});var oe=function(J){for(var ne=0;ne<J.length;ne++)W.enqueueElementRefinement(J[ne].ele)};H.onDequeue(oe),V.onDequeue(oe),G.onDequeue(oe),K.onDequeue(oe),t.webgl&&e.initWebgl(t,{getStyleKey:U,getLabelKey:y,getSourceLabelKey:b,getTargetLabelKey:v,drawElement:w,drawLabel:T,drawSourceLabel:S,drawTargetLabel:C,getElementBox:k,getLabelBox:E,getSourceLabelBox:A,getTargetLabelBox:M,getElementRotationPoint:N,getElementRotationOffset:B,getLabelRotationPoint:_,getSourceLabelRotationPoint:D,getTargetLabelRotationPoint:O,getLabelRotationOffset:$,getSourceLabelRotationOffset:F,getTargetLabelRotationOffset:z})}En.redrawHint=function(t,e){var r=this;switch(t){case"eles":r.data.canvasNeedsRedraw[En.NODE]=e;break;case"drag":r.data.canvasNeedsRedraw[En.DRAG]=e;break;case"select":r.data.canvasNeedsRedraw[En.SELECT_BOX]=e;break;case"gc":r.data.gc=!0;break}};var vrr=typeof Path2D<"u";En.path2dEnabled=function(t){if(t===void 0)return this.pathsEnabled;this.pathsEnabled=!!t};En.usePaths=function(){return vrr&&this.pathsEnabled};En.setImgSmoothing=function(t,e){t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled=e:(t.webkitImageSmoothingEnabled=e,t.mozImageSmoothingEnabled=e,t.msImageSmoothingEnabled=e)};En.getImgSmoothing=function(t){return t.imageSmoothingEnabled!=null?t.imageSmoothingEnabled:t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled};En.makeOffscreenCanvas=function(t,e){var r;if((typeof OffscreenCanvas>"u"?"undefined":Fs(OffscreenCanvas))!=="undefined")r=new OffscreenCanvas(t,e);else{var n=this.cy.window(),i=n.document;r=i.createElement("canvas"),r.width=t,r.height=e}return r};[$De,Uf,Up,Pre,P5,O1,Ql,GDe,D1,NS,KDe].forEach(function(t){Gr(En,t)});var xrr=[{name:"null",impl:CDe},{name:"base",impl:DDe},{name:"canvas",impl:brr}],wrr=[{type:"layout",extensions:Wer},{type:"renderer",extensions:xrr}],JDe={},QDe={};function ePe(t,e,r){var n=r,i=function(k){xi("Can not register `"+e+"` for `"+t+"` since `"+k+"` already exists in the prototype and can not be overridden")};if(t==="core"){if(eC.prototype[e])return i(e);eC.prototype[e]=r}else if(t==="collection"){if(No.prototype[e])return i(e);No.prototype[e]=r}else if(t==="layout"){for(var a=function(k){this.options=k,r.call(this,k),ei(this._private)||(this._private={}),this._private.cy=k.cy,this._private.listeners=[],this.createEmitter()},s=a.prototype=Object.create(r.prototype),o=[],l=0;l<o.length;l++){var u=o[l];s[u]=s[u]||function(){return this}}s.start&&!s.run?s.run=function(){return this.start(),this}:!s.start&&s.run&&(s.start=function(){return this.run(),this});var d=r.prototype.stop;s.stop=function(){var C=this.options;if(C&&C.animate){var k=this.animations;if(k)for(var E=0;E<k.length;E++)k[E].stop()}return d?d.call(this):this.emit("layoutstop"),this},s.destroy||(s.destroy=function(){return this}),s.cy=function(){return this._private.cy};var h=function(k){return k._private.cy},f={addEventFields:function(k,E){E.layout=k,E.cy=h(k),E.target=k},bubble:function(){return!0},parent:function(k){return h(k)}};Gr(s,{createEmitter:function(){return this._private.emitter=new GP(f,this),this},emitter:function(){return this._private.emitter},on:function(k,E){return this.emitter().on(k,E),this},one:function(k,E){return this.emitter().one(k,E),this},once:function(k,E){return this.emitter().one(k,E),this},removeListener:function(k,E){return this.emitter().removeListener(k,E),this},removeAllListeners:function(){return this.emitter().removeAllListeners(),this},emit:function(k,E){return this.emitter().emit(k,E),this}}),bi.eventAliasesOn(s),n=a}else if(t==="renderer"&&e!=="null"&&e!=="base"){var p=tPe("renderer","base"),g=p.prototype,m=r,U=r.prototype,y=function(){p.apply(this,arguments),m.apply(this,arguments)},b=y.prototype;for(var v in g){var w=g[v],T=U[v]!=null;if(T)return i(v);b[v]=w}for(var S in U)b[S]=U[S];g.clientFunctions.forEach(function(C){b[C]=b[C]||function(){ca("Renderer does not implement `renderer."+C+"()` on its prototype")}}),n=y}else if(t==="__proto__"||t==="constructor"||t==="prototype")return ca(t+" is an illegal type to be registered, possibly lead to prototype pollutions");return UOe({map:JDe,keys:[t,e],value:n})}function tPe(t,e){return yOe({map:JDe,keys:[t,e]})}function Trr(t,e,r,n,i){return UOe({map:QDe,keys:[t,e,r,n],value:i})}function Crr(t,e,r,n){return yOe({map:QDe,keys:[t,e,r,n]})}var hY=function(){if(arguments.length===2)return tPe.apply(null,arguments);if(arguments.length===3)return ePe.apply(null,arguments);if(arguments.length===4)return Crr.apply(null,arguments);if(arguments.length===5)return Trr.apply(null,arguments);ca("Invalid extension access syntax")};eC.prototype.extension=hY;wrr.forEach(function(t){t.extensions.forEach(function(e){ePe(t.type,e.name,e.impl)})});var dN=function(){if(!(this instanceof dN))return new dN;this.length=0},h5=dN.prototype;h5.instanceString=function(){return"stylesheet"};h5.selector=function(t){var e=this.length++;return this[e]={selector:t,properties:[]},this};h5.css=function(t,e){var r=this.length-1;if(Or(t))this[r].properties.push({name:t,value:e});else if(ei(t))for(var n=t,i=Object.keys(n),a=0;a<i.length;a++){var s=i[a],o=n[s];if(o!=null){var l=io.properties[s]||io.properties[OP(s)];if(l!=null){var u=l.name,d=o;this[r].properties.push({name:u,value:d})}}}return this};h5.style=h5.css;h5.generateStyle=function(t){var e=new io(t);return this.appendToStyle(e)};h5.appendToStyle=function(t){for(var e=0;e<this.length;e++){var r=this[e],n=r.selector,i=r.properties;t.selector(n);for(var a=0;a<i.length;a++){var s=i[a];t.css(s.name,s.value)}}return t};var Srr="3.34.3",ef=function(e){if(e===void 0&&(e={}),ei(e))return new eC(e);if(Or(e))return hY.apply(hY,arguments)};ef.use=function(t){var e=Array.prototype.slice.call(arguments,1);return e.unshift(ef),t.apply(null,e),this};ef.warnings=function(t){return SOe(t)};ef.version=Srr;ef.stylesheet=ef.Stylesheet=dN;var CM={exports:{}},SM={exports:{}},kM={exports:{}},krr=kM.exports,sUe;function Err(){return sUe||(sUe=1,(function(t,e){(function(n,i){t.exports=i()})(krr,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=26)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(d,h,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=d,this.target=h}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(d){if(this.source===d)return this.target;if(this.target===d)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(d,h){for(var f=this.getOtherEnd(d),p=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var d=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),d),this.isOverlapingSourceAndTarget||(this.lengthX=d[0]-d[2],this.lengthY=d[1]-d[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),d=i(4);function h(p,g,m,U){m==null&&U==null&&(U=g),a.call(this,U),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=U,this.edges=[],this.graphManager=p,m!=null&&g!=null?this.rect=new o(g.x,g.y,m.width,m.height):this.rect=new o}h.prototype=Object.create(a.prototype);for(var f in a)h[f]=a[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(p){this.rect.width=p},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(p){this.rect.height=p},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new d(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new d(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(p,g){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=g.width,this.rect.height=g.height},h.prototype.setCenter=function(p,g){this.rect.x=p-this.rect.width/2,this.rect.y=g-this.rect.height/2},h.prototype.setLocation=function(p,g){this.rect.x=p,this.rect.y=g},h.prototype.moveBy=function(p,g){this.rect.x+=p,this.rect.y+=g},h.prototype.getEdgeListToNode=function(p){var g=[],m=this;return m.edges.forEach(function(U){if(U.target==p){if(U.source!=m)throw"Incorrect edge source!";g.push(U)}}),g},h.prototype.getEdgesBetween=function(p){var g=[],m=this;return m.edges.forEach(function(U){if(!(U.source==m||U.target==m))throw"Incorrect edge source and/or target";(U.target==p||U.source==p)&&g.push(U)}),g},h.prototype.getNeighborsList=function(){var p=new Set,g=this;return g.edges.forEach(function(m){if(m.source==g)p.add(m.target);else{if(m.target!=g)throw"Incorrect incidency!";p.add(m.source)}}),p},h.prototype.withChildren=function(){var p=new Set,g,m;if(p.add(this),this.child!=null)for(var U=this.child.getNodes(),y=0;y<U.length;y++)g=U[y],m=g.withChildren(),m.forEach(function(b){p.add(b)});return p},h.prototype.getNoOfChildren=function(){var p=0,g;if(this.child==null)p=1;else for(var m=this.child.getNodes(),U=0;U<m.length;U++)g=m[U],p+=g.getNoOfChildren();return p==0&&(p=1),p},h.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},h.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},h.prototype.scatter=function(){var p,g,m=-l.INITIAL_WORLD_BOUNDARY,U=l.INITIAL_WORLD_BOUNDARY;p=l.WORLD_CENTER_X+u.nextDouble()*(U-m)+m;var y=-l.INITIAL_WORLD_BOUNDARY,b=l.INITIAL_WORLD_BOUNDARY;g=l.WORLD_CENTER_Y+u.nextDouble()*(b-y)+y,this.rect.x=p,this.rect.y=g},h.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var p=this.getChild();if(p.updateBounds(!0),this.rect.x=p.getLeft(),this.rect.y=p.getTop(),this.setWidth(p.getRight()-p.getLeft()),this.setHeight(p.getBottom()-p.getTop()),l.NODE_DIMENSIONS_INCLUDE_LABELS){var g=p.getRight()-p.getLeft(),m=p.getBottom()-p.getTop();this.labelWidth>g&&(this.rect.x-=(this.labelWidth-g)/2,this.setWidth(this.labelWidth)),this.labelHeight>m&&(this.labelPos=="center"?this.rect.y-=(this.labelHeight-m)/2:this.labelPos=="top"&&(this.rect.y-=this.labelHeight-m),this.setHeight(this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(p){var g=this.rect.x;g>l.WORLD_BOUNDARY?g=l.WORLD_BOUNDARY:g<-l.WORLD_BOUNDARY&&(g=-l.WORLD_BOUNDARY);var m=this.rect.y;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var U=new d(g,m),y=p.inverseTransformPoint(U);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,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(6),u=i(3),d=i(1),h=i(13),f=i(12),p=i(11);function g(U,y,b){a.call(this,b),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=U,y!=null&&y instanceof l?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}g.prototype=Object.create(a.prototype);for(var m in a)g[m]=a[m];g.prototype.getNodes=function(){return this.nodes},g.prototype.getEdges=function(){return this.edges},g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getParent=function(){return this.parent},g.prototype.getLeft=function(){return this.left},g.prototype.getRight=function(){return this.right},g.prototype.getTop=function(){return this.top},g.prototype.getBottom=function(){return this.bottom},g.prototype.isConnected=function(){return this.isConnected},g.prototype.add=function(U,y,b){if(y==null&&b==null){var v=U;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(v)>-1)throw"Node already in graph!";return v.owner=this,this.getNodes().push(v),v}else{var w=U;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:(w.source=y,w.target=b,w.isInterGraph=!1,this.getEdges().push(w),y.edges.push(w),b!=y&&b.edges.push(w),w)}},g.prototype.remove=function(U){var y=U;if(U instanceof u){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(),v,w=b.length,T=0;T<w;T++)v=b[T],v.isInterGraph?this.graphManager.remove(v):v.source.owner.remove(v);var S=this.nodes.indexOf(y);if(S==-1)throw"Node not in owner node list!";this.nodes.splice(S,1)}else if(U instanceof d){var v=U;if(v==null)throw"Edge is null!";if(!(v.source!=null&&v.target!=null))throw"Source and/or target is null!";if(!(v.source.owner!=null&&v.target.owner!=null&&v.source.owner==this&&v.target.owner==this))throw"Source and/or target owner is invalid!";var C=v.source.edges.indexOf(v),k=v.target.edges.indexOf(v);if(!(C>-1&&k>-1))throw"Source and/or target doesn't know this edge!";v.source.edges.splice(C,1),v.target!=v.source&&v.target.edges.splice(k,1);var S=v.source.owner.getEdges().indexOf(v);if(S==-1)throw"Not in owner's edge list!";v.source.owner.getEdges().splice(S,1)}},g.prototype.updateLeftTop=function(){for(var U=s.MAX_VALUE,y=s.MAX_VALUE,b,v,w,T=this.getNodes(),S=T.length,C=0;C<S;C++){var k=T[C];b=k.getTop(),v=k.getLeft(),U>b&&(U=b),y>v&&(y=v)}return U==s.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?w=T[0].getParent().paddingLeft:w=this.margin,this.left=y-w,this.top=U-w,new f(this.left,this.top))},g.prototype.updateBounds=function(U){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,v=s.MAX_VALUE,w=-s.MAX_VALUE,T,S,C,k,E,A=this.nodes,M=A.length,P=0;P<M;P++){var N=A[P];U&&N.child!=null&&N.updateBounds(),T=N.getLeft(),S=N.getRight(),C=N.getTop(),k=N.getBottom(),y>T&&(y=T),b<S&&(b=S),v>C&&(v=C),w<k&&(w=k)}var I=new h(y,v,b-y,w-v);y==s.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),A[0].getParent().paddingLeft!=null?E=A[0].getParent().paddingLeft:E=this.margin,this.left=I.x-E,this.right=I.x+I.width+E,this.top=I.y-E,this.bottom=I.y+I.height+E},g.calculateBounds=function(U){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,v=s.MAX_VALUE,w=-s.MAX_VALUE,T,S,C,k,E=U.length,A=0;A<E;A++){var M=U[A];T=M.getLeft(),S=M.getRight(),C=M.getTop(),k=M.getBottom(),y>T&&(y=T),b<S&&(b=S),v>C&&(v=C),w<k&&(w=k)}var P=new h(y,v,b-y,w-v);return P},g.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},g.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},g.prototype.calcEstimatedSize=function(){for(var U=0,y=this.nodes,b=y.length,v=0;v<b;v++){var w=y[v];U+=w.calcEstimatedSize()}return U==0?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=U/Math.sqrt(this.nodes.length),this.estimatedSize},g.prototype.updateConnected=function(){var U=this;if(this.nodes.length==0){this.isConnected=!0;return}var y=new p,b=new Set,v=this.nodes[0],w,T,S=v.withChildren();for(S.forEach(function(P){y.push(P),b.add(P)});y.length!==0;){v=y.shift(),w=v.getEdges();for(var C=w.length,k=0;k<C;k++){var E=w[k];if(T=E.getOtherEndInGraph(v,this),T!=null&&!b.has(T)){var A=T.withChildren();A.forEach(function(P){y.push(P),b.add(P)})}}}if(this.isConnected=!1,b.size>=this.nodes.length){var M=0;b.forEach(function(P){P.owner==U&&M++}),M==this.nodes.length&&(this.isConnected=!0)}},r.exports=g}),(function(r,n,i){var a,s=i(1);function o(l){a=i(5),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),d=this.add(l,u);return this.setRootGraph(d),this.rootGraph},o.prototype.add=function(l,u,d,h,f){if(d==null&&h==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=d,h=u,d=l;var p=h.getOwner(),g=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(g!=null&&g.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==g)return d.isInterGraph=!1,p.add(d,h,f);if(d.isInterGraph=!0,d.source=h,d.target=f,this.edges.indexOf(d)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(d),!(d.source!=null&&d.target!=null))throw"Edge source and/or target is null!";if(!(d.source.edges.indexOf(d)==-1&&d.target.edges.indexOf(d)==-1))throw"Edge already in source and/or target incidency list!";return d.source.edges.push(d),d.target.edges.push(d),d}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var d=[];d=d.concat(u.getEdges());for(var h,f=d.length,p=0;p<f;p++)h=d[p],u.remove(h);var g=[];g=g.concat(u.getNodes());var m;f=g.length;for(var p=0;p<f;p++)m=g[p],u.remove(m);u==this.rootGraph&&this.setRootGraph(null);var U=this.graphs.indexOf(u);this.graphs.splice(U,1),u.parent=null}else if(l instanceof s){if(h=l,h==null)throw"Edge is null!";if(!h.isInterGraph)throw"Not an inter-graph edge!";if(!(h.source!=null&&h.target!=null))throw"Source and/or target is null!";if(!(h.source.edges.indexOf(h)!=-1&&h.target.edges.indexOf(h)!=-1))throw"Source and/or target doesn't know this edge!";var U=h.source.edges.indexOf(h);if(h.source.edges.splice(U,1),U=h.target.edges.indexOf(h),h.target.edges.splice(U,1),!(h.source.owner!=null&&h.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(h.source.owner.getGraphManager().edges.indexOf(h)==-1)throw"Not in owner graph manager's edge list!";var U=h.source.owner.getGraphManager().edges.indexOf(h);h.source.owner.getGraphManager().edges.splice(U,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(this.allNodes==null){for(var l=[],u=this.getGraphs(),d=u.length,h=0;h<d;h++)l=l.concat(u[h].getNodes());this.allNodes=l}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(this.allEdges==null){var l=[],u=this.getGraphs();u.length;for(var d=0;d<u.length;d++)l=l.concat(u[d].getEdges());l=l.concat(this.edges),this.allEdges=l}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(l){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=l},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(l){if(l.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=l,l.parent==null&&(l.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(l,u){if(!(l!=null&&u!=null))throw"assert failed";if(l==u)return!0;var d=l.getOwner(),h;do{if(h=d.getParent(),h==null)break;if(h==u)return!0;if(d=h.getOwner(),d==null)break}while(!0);d=u.getOwner();do{if(h=d.getParent(),h==null)break;if(h==l)return!0;if(d=h.getOwner(),d==null)break}while(!0);return!1},o.prototype.calcLowestCommonAncestors=function(){for(var l,u,d,h,f,p=this.getAllEdges(),g=p.length,m=0;m<g;m++){if(l=p[m],u=l.source,d=l.target,l.lca=null,l.sourceInLca=u,l.targetInLca=d,u==d){l.lca=u.getOwner();continue}for(h=u.getOwner();l.lca==null;){for(l.targetInLca=d,f=d.getOwner();l.lca==null;){if(f==h){l.lca=f;break}if(f==this.rootGraph)break;if(l.lca!=null)throw"assert failed";l.targetInLca=f.getParent(),f=l.targetInLca.getOwner()}if(h==this.rootGraph)break;l.lca==null&&(l.sourceInLca=h.getParent(),h=l.sourceInLca.getOwner())}if(l.lca==null)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(l,u){if(l==u)return l.getOwner();var d=l.getOwner();do{if(d==null)break;var h=u.getOwner();do{if(h==null)break;if(h==d)return h;h=h.getParent().getOwner()}while(!0);d=d.getParent().getOwner()}while(!0);return d},o.prototype.calcInclusionTreeDepths=function(l,u){l==null&&u==null&&(l=this.rootGraph,u=1);for(var d,h=l.getNodes(),f=h.length,p=0;p<f;p++)d=h[p],d.inclusionTreeDepth=u,d.child!=null&&this.calcInclusionTreeDepths(d.child,u+1)},o.prototype.includesInvalidEdge=function(){for(var l,u=this.edges.length,d=0;d<u;d++)if(l=this.edges[d],this.isOneAncestorOfOther(l.source,l.target))return!0;return!1},r.exports=o}),(function(r,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){var a=i(12);function s(){}s.calcSeparationAmount=function(o,l,u,d){if(!o.intersects(l))throw"assert failed";var h=new Array(2);this.decideDirectionsForOverlappingNodes(o,l,h),u[0]=Math.min(o.getRight(),l.getRight())-Math.max(o.x,l.x),u[1]=Math.min(o.getBottom(),l.getBottom())-Math.max(o.y,l.y),o.getX()<=l.getX()&&o.getRight()>=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],g=u[1]/f;u[0]<g?g=u[0]:p=u[1],u[0]=-1*h[0]*(g/2+d),u[1]=-1*h[1]*(p/2+d)},s.decideDirectionsForOverlappingNodes=function(o,l,u){o.getCenterX()<l.getCenterX()?u[0]=-1:u[0]=1,o.getCenterY()<l.getCenterY()?u[1]=-1:u[1]=1},s.getIntersection2=function(o,l,u){var d=o.getCenterX(),h=o.getCenterY(),f=l.getCenterX(),p=l.getCenterY();if(o.intersects(l))return u[0]=d,u[1]=h,u[2]=f,u[3]=p,!0;var g=o.getX(),m=o.getY(),U=o.getRight(),y=o.getX(),b=o.getBottom(),v=o.getRight(),w=o.getWidthHalf(),T=o.getHeightHalf(),S=l.getX(),C=l.getY(),k=l.getRight(),E=l.getX(),A=l.getBottom(),M=l.getRight(),P=l.getWidthHalf(),N=l.getHeightHalf(),I=!1,L=!1;if(d===f){if(h>p)return u[0]=d,u[1]=m,u[2]=f,u[3]=A,!1;if(h<p)return u[0]=d,u[1]=b,u[2]=f,u[3]=C,!1}else if(h===p){if(d>f)return u[0]=g,u[1]=h,u[2]=k,u[3]=p,!1;if(d<f)return u[0]=U,u[1]=h,u[2]=S,u[3]=p,!1}else{var _=o.height/o.width,D=l.height/l.width,O=(p-h)/(f-d),B=void 0,F=void 0,z=void 0,$=void 0,H=void 0,V=void 0;if(-_===O?d>f?(u[0]=y,u[1]=b,I=!0):(u[0]=U,u[1]=m,I=!0):_===O&&(d>f?(u[0]=g,u[1]=m,I=!0):(u[0]=v,u[1]=b,I=!0)),-D===O?f>d?(u[2]=E,u[3]=A,L=!0):(u[2]=k,u[3]=C,L=!0):D===O&&(f>d?(u[2]=S,u[3]=C,L=!0):(u[2]=M,u[3]=A,L=!0)),I&&L)return!1;if(d>f?h>p?(B=this.getCardinalDirection(_,O,4),F=this.getCardinalDirection(D,O,2)):(B=this.getCardinalDirection(-_,O,3),F=this.getCardinalDirection(-D,O,1)):h>p?(B=this.getCardinalDirection(-_,O,1),F=this.getCardinalDirection(-D,O,3)):(B=this.getCardinalDirection(_,O,2),F=this.getCardinalDirection(D,O,4)),!I)switch(B){case 1:$=m,z=d+-T/O,u[0]=z,u[1]=$;break;case 2:z=v,$=h+w*O,u[0]=z,u[1]=$;break;case 3:$=b,z=d+T/O,u[0]=z,u[1]=$;break;case 4:z=y,$=h+-w*O,u[0]=z,u[1]=$;break}if(!L)switch(F){case 1:V=C,H=f+-N/O,u[2]=H,u[3]=V;break;case 2:H=M,V=p+P*O,u[2]=H,u[3]=V;break;case 3:V=A,H=f+N/O,u[2]=H,u[3]=V;break;case 4:H=E,V=p+-P*O,u[2]=H,u[3]=V;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,d){if(d==null)return this.getIntersection2(o,l,u);var h=o.x,f=o.y,p=l.x,g=l.y,m=u.x,U=u.y,y=d.x,b=d.y,v=void 0,w=void 0,T=void 0,S=void 0,C=void 0,k=void 0,E=void 0,A=void 0,M=void 0;return T=g-f,C=h-p,E=p*f-h*g,S=b-U,k=m-y,A=y*U-m*b,M=T*k-S*C,M===0?null:(v=(C*A-k*E)/M,w=(S*E-T*A)/M,new a(v,w))},s.angleOfVector=function(o,l,u,d){var h=void 0;return o!==u?(h=Math.atan((d-l)/(u-o)),u<o?h+=Math.PI:d<l&&(h+=this.TWO_PI)):d<l?h=this.ONE_AND_HALF_PI:h=this.HALF_PI,h},s.doIntersect=function(o,l,u,d){var h=o.x,f=o.y,p=l.x,g=l.y,m=u.x,U=u.y,y=d.x,b=d.y,v=(p-h)*(b-U)-(y-m)*(g-f);if(v===0)return!1;var w=((b-U)*(y-h)+(m-y)*(b-f))/v,T=((f-g)*(y-h)+(p-h)*(b-f))/v;return 0<w&&w<1&&0<T&&T<1},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function h(f,p){for(var g=0;g<p.length;g++){var m=p[g];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(f,m.key,m)}}return function(f,p,g){return p&&h(f.prototype,p),g&&h(f,g),f}})();function s(h,f){if(!(h instanceof f))throw new TypeError("Cannot call a class as a function")}var o=function(f){return{value:f,next:null,prev:null}},l=function(f,p,g,m){return f!==null?f.next=p:m.head=p,g!==null?g.prev=p:m.tail=p,p.prev=f,p.next=g,m.length++,p},u=function(f,p){var g=f.prev,m=f.next;return g!==null?g.next=m:p.head=m,m!==null?m.prev=g:p.tail=g,f.prev=f.next=null,p.length--,f},d=(function(){function h(f){var p=this;s(this,h),this.length=0,this.head=null,this.tail=null,f!=null&&f.forEach(function(g){return p.push(g)})}return a(h,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(p,g){return l(g.prev,o(p),g,this)}},{key:"insertAfter",value:function(p,g){return l(g,o(p),g.next,this)}},{key:"insertNodeBefore",value:function(p,g){return l(g.prev,p,g,this)}},{key:"insertNodeAfter",value:function(p,g){return l(g,p,g.next,this)}},{key:"push",value:function(p){return l(this.tail,o(p),null,this)}},{key:"unshift",value:function(p){return l(null,o(p),this.head,this)}},{key:"remove",value:function(p){return u(p,this)}},{key:"pop",value:function(){return u(this.tail,this).value}},{key:"popNode",value:function(){return u(this.tail,this)}},{key:"shift",value:function(){return u(this.head,this).value}},{key:"shiftNode",value:function(){return u(this.head,this)}},{key:"get_object_at",value:function(p){if(p<=this.length()){for(var g=1,m=this.head;g<p;)m=m.next,g++;return m.value}}},{key:"set_object_at",value:function(p,g){if(p<=this.length()){for(var m=1,U=this.head;m<p;)U=U.next,m++;U.value=g}}}]),h})();r.exports=d}),(function(r,n,i){function a(s,o,l){this.x=null,this.y=null,s==null&&o==null&&l==null?(this.x=0,this.y=0):typeof s=="number"&&typeof o=="number"&&l==null?(this.x=s,this.y=o):s.constructor.name=="Point"&&o==null&&l==null&&(l=s,this.x=l.x,this.y=l.y)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.getLocation=function(){return new a(this.x,this.y)},a.prototype.setLocation=function(s,o,l){s.constructor.name=="Point"&&o==null&&l==null?(l=s,this.setLocation(l.x,l.y)):typeof s=="number"&&typeof o=="number"&&l==null&&(parseInt(s)==s&&parseInt(o)==o?this.move(s,o):(this.x=Math.floor(s+.5),this.y=Math.floor(o+.5)))},a.prototype.move=function(s,o){this.x=s,this.y=o},a.prototype.translate=function(s,o){this.x+=s,this.y+=o},a.prototype.equals=function(s){if(s.constructor.name=="Point"){var o=s;return this.x==o.x&&this.y==o.y}return this==s},a.prototype.toString=function(){return new a().constructor.name+"[x="+this.x+",y="+this.y+"]"},r.exports=a}),(function(r,n,i){function a(s,o,l,u){this.x=0,this.y=0,this.width=0,this.height=0,s!=null&&o!=null&&l!=null&&u!=null&&(this.x=s,this.y=o,this.width=l,this.height=u)}a.prototype.getX=function(){return this.x},a.prototype.setX=function(s){this.x=s},a.prototype.getY=function(){return this.y},a.prototype.setY=function(s){this.y=s},a.prototype.getWidth=function(){return this.width},a.prototype.setWidth=function(s){this.width=s},a.prototype.getHeight=function(){return this.height},a.prototype.setHeight=function(s){this.height=s},a.prototype.getRight=function(){return this.x+this.width},a.prototype.getBottom=function(){return this.y+this.height},a.prototype.intersects=function(s){return!(this.getRight()<s.x||this.getBottom()<s.y||s.getRight()<this.x||s.getBottom()<this.y)},a.prototype.getCenterX=function(){return this.x+this.width/2},a.prototype.getMinX=function(){return this.getX()},a.prototype.getMaxX=function(){return this.getX()+this.width},a.prototype.getCenterY=function(){return this.y+this.height/2},a.prototype.getMinY=function(){return this.getY()},a.prototype.getMaxY=function(){return this.getY()+this.height},a.prototype.getWidthHalf=function(){return this.width/2},a.prototype.getHeightHalf=function(){return this.height/2},r.exports=a}),(function(r,n,i){var a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function s(){}s.lastID=0,s.createID=function(o){return s.isPrimitive(o)?o:(o.uniqueID!=null||(o.uniqueID=s.getString(),s.lastID++),o.uniqueID)},s.getString=function(o){return o==null&&(o=s.lastID),"Object#"+o},s.isPrimitive=function(o){var l=typeof o>"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(m){if(Array.isArray(m)){for(var U=0,y=Array(m.length);U<m.length;U++)y[U]=m[U];return y}else return Array.from(m)}var s=i(0),o=i(6),l=i(3),u=i(1),d=i(5),h=i(4),f=i(17),p=i(27);function g(m){p.call(this),this.layoutQuality=s.QUALITY,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=s.DEFAULT_INCREMENTAL,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,m!=null&&(this.isRemoteUse=m)}g.RANDOM_SEED=1,g.prototype=Object.create(p.prototype),g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},g.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},g.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},g.prototype.newGraphManager=function(){var m=new o(this);return this.graphManager=m,m},g.prototype.newGraph=function(m){return new d(null,this.graphManager,m)},g.prototype.newNode=function(m){return new l(this.graphManager,m)},g.prototype.newEdge=function(m){return new u(null,null,m)},g.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},g.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var m;return this.checkLayoutSuccess()?m=!1:m=this.layout(),s.ANIMATE==="during"?!1:(m&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,m)},g.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},g.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var m=this.graphManager.getAllEdges(),U=0;U<m.length;U++)m[U];for(var y=this.graphManager.getRoot().getNodes(),U=0;U<y.length;U++)y[U];this.update(this.graphManager.getRoot())}},g.prototype.update=function(m){if(m==null)this.update2();else if(m instanceof l){var U=m;if(U.getChild()!=null)for(var y=U.getChild().getNodes(),b=0;b<y.length;b++)update(y[b]);if(U.vGraphObject!=null){var v=U.vGraphObject;v.update(U)}}else if(m instanceof u){var w=m;if(w.vGraphObject!=null){var T=w.vGraphObject;T.update(w)}}else if(m instanceof d){var S=m;if(S.vGraphObject!=null){var C=S.vGraphObject;C.update(S)}}},g.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=s.QUALITY,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=s.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},g.prototype.transform=function(m){if(m==null)this.transform(new h(0,0));else{var U=new f,y=this.graphManager.getRoot().updateLeftTop();if(y!=null){U.setWorldOrgX(m.x),U.setWorldOrgY(m.y),U.setDeviceOrgX(y.x),U.setDeviceOrgY(y.y);for(var b=this.getAllNodes(),v,w=0;w<b.length;w++)v=b[w],v.transform(U)}}},g.prototype.positionNodesRandomly=function(m){if(m==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var U,y,b=m.getNodes(),v=0;v<b.length;v++)U=b[v],y=U.getChild(),y==null||y.getNodes().length==0?U.scatter():(this.positionNodesRandomly(y),U.updateBounds())},g.prototype.getFlatForest=function(){for(var m=[],U=!0,y=this.graphManager.getRoot().getNodes(),b=!0,v=0;v<y.length;v++)y[v].getChild()!=null&&(b=!1);if(!b)return m;var w=new Set,T=[],S=new Map,C=[];for(C=C.concat(y);C.length>0&&U;){for(T.push(C[0]);T.length>0&&U;){var k=T[0];T.splice(0,1),w.add(k);for(var E=k.getEdges(),v=0;v<E.length;v++){var A=E[v].getOtherEnd(k);if(S.get(k)!=A)if(!w.has(A))T.push(A),S.set(A,k);else{U=!1;break}}}if(!U)m=[];else{var M=[].concat(a(w));m.push(M);for(var v=0;v<M.length;v++){var P=M[v],N=C.indexOf(P);N>-1&&C.splice(N,1)}w=new Set,S=new Map}}return m},g.prototype.createDummyNodesForBendpoints=function(m){for(var U=[],y=m.source,b=this.graphManager.calcLowestCommonAncestor(m.source,m.target),v=0;v<m.bendpoints.length;v++){var w=this.newNode(null);w.setRect(new Point(0,0),new Dimension(1,1)),b.add(w);var T=this.newEdge(null);this.graphManager.add(T,y,w),U.add(w),y=w}var T=this.newEdge(null);return this.graphManager.add(T,y,m.target),this.edgeToDummyNodes.set(m,U),m.isInterGraph()?this.graphManager.remove(m):b.remove(m),U},g.prototype.createBendpointsFromDummyNodes=function(){var m=[];m=m.concat(this.graphManager.getAllEdges()),m=[].concat(a(this.edgeToDummyNodes.keys())).concat(m);for(var U=0;U<m.length;U++){var y=m[U];if(y.bendpoints.length>0){for(var b=this.edgeToDummyNodes.get(y),v=0;v<b.length;v++){var w=b[v],T=new h(w.getCenterX(),w.getCenterY()),S=y.bendpoints.get(v);S.x=T.x,S.y=T.y,w.getOwner().remove(w)}this.graphManager.add(y,y.source,y.target)}}},g.transform=function(m,U,y,b){if(y!=null&&b!=null){var v=U;if(m<=50){var w=U/y;v-=(U-w)/50*(50-m)}else{var T=U*b;v+=(T-U)/50*(m-50)}return v}else{var S,C;return m<=50?(S=9*U/500,C=U/10):(S=9*U/50,C=-8*U),S*m+C}},g.findCenterOfTree=function(m){var U=[];U=U.concat(m);var y=[],b=new Map,v=!1,w=null;(U.length==1||U.length==2)&&(v=!0,w=U[0]);for(var T=0;T<U.length;T++){var S=U[T],C=S.getNeighborsList().size;b.set(S,S.getNeighborsList().size),C==1&&y.push(S)}var k=[];for(k=k.concat(y);!v;){var E=[];E=E.concat(k),k=[];for(var T=0;T<U.length;T++){var S=U[T],A=U.indexOf(S);A>=0&&U.splice(A,1);var M=S.getNeighborsList();M.forEach(function(I){if(y.indexOf(I)<0){var L=b.get(I),_=L-1;_==1&&k.push(I),b.set(I,_)}})}y=y.concat(k),(U.length==1||U.length==2)&&(v=!0,w=U[0])}return w},g.prototype.setGraphManager=function(m){this.graphManager=m},r.exports=g}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(4);function s(o,l){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 l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var g=0,m=Array(p.length);g<p.length;g++)m[g]=p[g];return m}else return Array.from(p)}var s=i(15),o=i(7),l=i(0),u=i(8),d=i(9);function h(){s.call(this),this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=o.DEFAULT_EDGE_LENGTH,this.springConstant=o.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=o.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=o.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=o.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=o.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=o.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=o.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=o.MAX_ITERATIONS}h.prototype=Object.create(s.prototype);for(var f in s)h[f]=s[f];h.prototype.initParameters=function(){s.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=o.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var p,g,m,U,y,b,v=this.getGraphManager().getAllEdges(),w=0;w<v.length;w++)p=v[w],p.idealLength=this.idealEdgeLength,p.isInterGraph&&(m=p.getSource(),U=p.getTarget(),y=p.getSourceInLca().getEstimatedSize(),b=p.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(p.idealLength+=y+b-2*l.SIMPLE_NODE_SIZE),g=p.getLca().getInclusionTreeDepth(),p.idealLength+=o.DEFAULT_EDGE_LENGTH*o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(m.getInclusionTreeDepth()+U.getInclusionTreeDepth()-2*g))},h.prototype.initSpringEmbedder=function(){var p=this.getAllNodes().length;this.incremental?(p>o.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-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):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-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 p=this.getAllEdges(),g,m=0;m<p.length;m++)g=p[m],this.calcSpringForce(g,g.idealLength)},h.prototype.calcRepulsionForces=function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,U,y,b,v=this.getAllNodes(),w;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),w=new Set,m=0;m<v.length;m++)y=v[m],this.calculateRepulsionForceOfANode(y,w,p,g),w.add(y);else for(m=0;m<v.length;m++)for(y=v[m],U=m+1;U<v.length;U++)b=v[U],y.getOwner()==b.getOwner()&&this.calcRepulsionForce(y,b)},h.prototype.calcGravitationalForces=function(){for(var p,g=this.getAllNodesToApplyGravitation(),m=0;m<g.length;m++)p=g[m],this.calcGravitationalForce(p)},h.prototype.moveNodes=function(){for(var p=this.getAllNodes(),g,m=0;m<p.length;m++)g=p[m],g.move()},h.prototype.calcSpringForce=function(p,g){var m=p.getSource(),U=p.getTarget(),y,b,v,w;if(this.uniformLeafNodeSizes&&m.getChild()==null&&U.getChild()==null)p.updateLengthSimple();else if(p.updateLength(),p.isOverlapingSourceAndTarget)return;y=p.getLength(),y!=0&&(b=this.springConstant*(y-g),v=b*(p.lengthX/y),w=b*(p.lengthY/y),m.springForceX+=v,m.springForceY+=w,U.springForceX-=v,U.springForceY-=w)},h.prototype.calcRepulsionForce=function(p,g){var m=p.getRect(),U=g.getRect(),y=new Array(2),b=new Array(4),v,w,T,S,C,k,E;if(m.intersects(U)){u.calcSeparationAmount(m,U,y,o.DEFAULT_EDGE_LENGTH/2),k=2*y[0],E=2*y[1];var A=p.noOfChildren*g.noOfChildren/(p.noOfChildren+g.noOfChildren);p.repulsionForceX-=A*k,p.repulsionForceY-=A*E,g.repulsionForceX+=A*k,g.repulsionForceY+=A*E}else this.uniformLeafNodeSizes&&p.getChild()==null&&g.getChild()==null?(v=U.getCenterX()-m.getCenterX(),w=U.getCenterY()-m.getCenterY()):(u.getIntersection(m,U,b),v=b[2]-b[0],w=b[3]-b[1]),Math.abs(v)<o.MIN_REPULSION_DIST&&(v=d.sign(v)*o.MIN_REPULSION_DIST),Math.abs(w)<o.MIN_REPULSION_DIST&&(w=d.sign(w)*o.MIN_REPULSION_DIST),T=v*v+w*w,S=Math.sqrt(T),C=this.repulsionConstant*p.noOfChildren*g.noOfChildren/T,k=C*v/S,E=C*w/S,p.repulsionForceX-=k,p.repulsionForceY-=E,g.repulsionForceX+=k,g.repulsionForceY+=E},h.prototype.calcGravitationalForce=function(p){var g,m,U,y,b,v,w,T;g=p.getOwner(),m=(g.getRight()+g.getLeft())/2,U=(g.getTop()+g.getBottom())/2,y=p.getCenterX()-m,b=p.getCenterY()-U,v=Math.abs(y)+p.getWidth()/2,w=Math.abs(b)+p.getHeight()/2,p.getOwner()==this.graphManager.getRoot()?(T=g.getEstimatedSize()*this.gravityRangeFactor,(v>T||w>T)&&(p.gravitationForceX=-this.gravityConstant*y,p.gravitationForceY=-this.gravityConstant*b)):(T=g.getEstimatedSize()*this.compoundGravityRangeFactor,(v>T||w>T)&&(p.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*b*this.compoundGravityConstant))},h.prototype.isConverged=function(){var p,g=!1;return this.totalIterations>this.maxIterations/3&&(g=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,p||g},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var p,g=this.graphManager.getAllNodes(),m=0;m<g.length;m++)p=g[m],p.noOfChildren=p.getNoOfChildren()},h.prototype.calcGrid=function(p){var g=0,m=0;g=parseInt(Math.ceil((p.getRight()-p.getLeft())/this.repulsionRange)),m=parseInt(Math.ceil((p.getBottom()-p.getTop())/this.repulsionRange));for(var U=new Array(g),y=0;y<g;y++)U[y]=new Array(m);for(var y=0;y<g;y++)for(var b=0;b<m;b++)U[y][b]=new Array;return U},h.prototype.addNodeToGrid=function(p,g,m){var U=0,y=0,b=0,v=0;U=parseInt(Math.floor((p.getRect().x-g)/this.repulsionRange)),y=parseInt(Math.floor((p.getRect().width+p.getRect().x-g)/this.repulsionRange)),b=parseInt(Math.floor((p.getRect().y-m)/this.repulsionRange)),v=parseInt(Math.floor((p.getRect().height+p.getRect().y-m)/this.repulsionRange));for(var w=U;w<=y;w++)for(var T=b;T<=v;T++)this.grid[w][T].push(p),p.setGridCoordinates(U,y,b,v)},h.prototype.updateGrid=function(){var p,g,m=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),p=0;p<m.length;p++)g=m[p],this.addNodeToGrid(g,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(p,g,m,U){if(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&m||U){var y=new Set;p.surrounding=new Array;for(var b,v=this.grid,w=p.startX-1;w<p.finishX+2;w++)for(var T=p.startY-1;T<p.finishY+2;T++)if(!(w<0||T<0||w>=v.length||T>=v[0].length)){for(var S=0;S<v[w][T].length;S++)if(b=v[w][T][S],!(p.getOwner()!=b.getOwner()||p==b)&&!g.has(b)&&!y.has(b)){var C=Math.abs(p.getCenterX()-b.getCenterX())-(p.getWidth()/2+b.getWidth()/2),k=Math.abs(p.getCenterY()-b.getCenterY())-(p.getHeight()/2+b.getHeight()/2);C<=this.repulsionRange&&k<=this.repulsionRange&&y.add(b)}}p.surrounding=[].concat(a(y))}for(w=0;w<p.surrounding.length;w++)this.calcRepulsionForce(p,p.surrounding[w])},h.prototype.calcRepulsionRange=function(){return 0},r.exports=h}),(function(r,n,i){var a=i(1),s=i(7);function o(u,d,h){a.call(this,u,d,h),this.idealLength=s.DEFAULT_EDGE_LENGTH}o.prototype=Object.create(a.prototype);for(var l in a)o[l]=a[l];r.exports=o}),(function(r,n,i){var a=i(3);function s(l,u,d,h){a.call(this,l,u,d,h),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}s.prototype=Object.create(a.prototype);for(var o in a)s[o]=a[o];s.prototype.setGridCoordinates=function(l,u,d,h){this.startX=l,this.finishX=u,this.startY=d,this.finishY=h},r.exports=s}),(function(r,n,i){function a(s,o){this.width=0,this.height=0,s!==null&&o!==null&&(this.height=o,this.width=s)}a.prototype.getWidth=function(){return this.width},a.prototype.setWidth=function(s){this.width=s},a.prototype.getHeight=function(){return this.height},a.prototype.setHeight=function(s){this.height=s},r.exports=a}),(function(r,n,i){var a=i(14);function s(){this.map={},this.keys=[]}s.prototype.put=function(o,l){var u=a.createID(o);this.contains(u)||(this.map[u]=l,this.keys.push(o))},s.prototype.contains=function(o){return a.createID(o),this.map[o]!=null},s.prototype.get=function(o){var l=a.createID(o);return this.map[l]},s.prototype.keySet=function(){return this.keys},r.exports=s}),(function(r,n,i){var a=i(14);function s(){this.set={}}s.prototype.add=function(o){var l=a.createID(o);this.contains(l)||(this.set[l]=o)},s.prototype.remove=function(o){delete this.set[a.createID(o)]},s.prototype.clear=function(){this.set={}},s.prototype.contains=function(o){return this.set[a.createID(o)]==o},s.prototype.isEmpty=function(){return this.size()===0},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAllTo=function(o){for(var l=Object.keys(this.set),u=l.length,d=0;d<u;d++)o.push(this.set[l[d]])},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAll=function(o){for(var l=o.length,u=0;u<l;u++){var d=o[u];this.add(d)}},r.exports=s}),(function(r,n,i){var a=(function(){function u(d,h){for(var f=0;f<h.length;f++){var p=h[f];p.enumerable=p.enumerable||!1,p.configurable=!0,"value"in p&&(p.writable=!0),Object.defineProperty(d,p.key,p)}}return function(d,h,f){return h&&u(d.prototype,h),f&&u(d,f),d}})();function s(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}var o=i(11),l=(function(){function u(d,h){s(this,u),(h!==null||h!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var f=void 0;d instanceof o?f=d.size():f=d.length,this._quicksort(d,0,f-1)}return a(u,[{key:"_quicksort",value:function(h,f,p){if(f<p){var g=this._partition(h,f,p);this._quicksort(h,f,g),this._quicksort(h,g+1,p)}}},{key:"_partition",value:function(h,f,p){for(var g=this._get(h,f),m=f,U=p;;){for(;this.compareFunction(g,this._get(h,U));)U--;for(;this.compareFunction(this._get(h,m),g);)m++;if(m<U)this._swap(h,m,U),m++,U--;else return U}}},{key:"_get",value:function(h,f){return h instanceof o?h.get_object_at(f):h[f]}},{key:"_set",value:function(h,f,p){h instanceof o?h.set_object_at(f,p):h[f]=p}},{key:"_swap",value:function(h,f,p){var g=this._get(h,f);this._set(h,f,this._get(h,p)),this._set(h,p,g)}},{key:"_defaultCompareFunction",value:function(h,f){return f>h}}]),u})();r.exports=l}),(function(r,n,i){var a=(function(){function l(u,d){for(var h=0;h<d.length;h++){var f=d[h];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(u,f.key,f)}}return function(u,d,h){return d&&l(u.prototype,d),h&&l(u,h),u}})();function s(l,u){if(!(l instanceof u))throw new TypeError("Cannot call a class as a function")}var o=(function(){function l(u,d){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=d,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=d.length+1,this.grid=new Array(this.iMax);for(var g=0;g<this.iMax;g++){this.grid[g]=new Array(this.jMax);for(var m=0;m<this.jMax;m++)this.grid[g][m]=0}this.tracebackGrid=new Array(this.iMax);for(var U=0;U<this.iMax;U++){this.tracebackGrid[U]=new Array(this.jMax);for(var y=0;y<this.jMax;y++)this.tracebackGrid[U][y]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return a(l,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var d=1;d<this.jMax;d++)this.grid[0][d]=this.grid[0][d-1]+this.gap_penalty,this.tracebackGrid[0][d]=[!1,!1,!0];for(var h=1;h<this.iMax;h++)this.grid[h][0]=this.grid[h-1][0]+this.gap_penalty,this.tracebackGrid[h][0]=[!1,!0,!1];for(var f=1;f<this.iMax;f++)for(var p=1;p<this.jMax;p++){var g=void 0;this.sequence1[f-1]===this.sequence2[p-1]?g=this.grid[f-1][p-1]+this.match_score:g=this.grid[f-1][p-1]+this.mismatch_penalty;var m=this.grid[f-1][p]+this.gap_penalty,U=this.grid[f][p-1]+this.gap_penalty,y=[g,m,U],b=this.arrayAllMaxIndexes(y);this.grid[f][p]=y[b[0]],this.tracebackGrid[f][p]=[b.includes(0),b.includes(1),b.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var d=[];for(d.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});d[0];){var h=d[0],f=this.tracebackGrid[h.pos[0]][h.pos[1]];f[0]&&d.push({pos:[h.pos[0]-1,h.pos[1]-1],seq1:this.sequence1[h.pos[0]-1]+h.seq1,seq2:this.sequence2[h.pos[1]-1]+h.seq2}),f[1]&&d.push({pos:[h.pos[0]-1,h.pos[1]],seq1:this.sequence1[h.pos[0]-1]+h.seq1,seq2:"-"+h.seq2}),f[2]&&d.push({pos:[h.pos[0],h.pos[1]-1],seq1:"-"+h.seq1,seq2:this.sequence2[h.pos[1]-1]+h.seq2}),h.pos[0]===0&&h.pos[1]===0&&this.alignments.push({sequence1:h.seq1,sequence2:h.seq2}),d.shift()}return this.alignments}},{key:"getAllIndexes",value:function(d,h){for(var f=[],p=-1;(p=d.indexOf(h,p+1))!==-1;)f.push(p);return f}},{key:"arrayAllMaxIndexes",value:function(d){return this.getAllIndexes(d,Math.max.apply(null,d))}}]),l})();r.exports=o}),(function(r,n,i){var a=function(){};a.FDLayout=i(18),a.FDLayoutConstants=i(7),a.FDLayoutEdge=i(19),a.FDLayoutNode=i(20),a.DimensionD=i(21),a.HashMap=i(22),a.HashSet=i(23),a.IGeometry=i(8),a.IMath=i(9),a.Integer=i(10),a.Point=i(12),a.PointD=i(4),a.RandomSeed=i(16),a.RectangleD=i(13),a.Transform=i(17),a.UniqueIDGeneretor=i(14),a.Quicksort=i(24),a.LinkedList=i(11),a.LGraphObject=i(2),a.LGraph=i(5),a.LEdge=i(1),a.LGraphManager=i(6),a.LNode=i(3),a.Layout=i(15),a.LayoutConstants=i(0),a.NeedlemanWunsch=i(25),r.exports=a}),(function(r,n,i){function a(){this.listeners=[]}var s=a.prototype;s.addListener=function(o,l){this.listeners.push({event:o,callback:l})},s.removeListener=function(o,l){for(var u=this.listeners.length;u>=0;u--){var d=this.listeners[u];d.event===o&&d.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u<this.listeners.length;u++){var d=this.listeners[u];o===d.event&&d.callback(l)}},r.exports=a})])})})(kM)),kM.exports}var Arr=SM.exports,oUe;function Mrr(){return oUe||(oUe=1,(function(t,e){(function(n,i){t.exports=i(Err())})(Arr,function(r){return(function(n){var i={};function a(s){if(i[s])return i[s].exports;var o=i[s]={i:s,l:!1,exports:{}};return n[s].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=n,a.c=i,a.i=function(s){return s},a.d=function(s,o,l){a.o(s,o)||Object.defineProperty(s,o,{configurable:!1,enumerable:!0,get:l})},a.n=function(s){var o=s&&s.__esModule?function(){return s.default}:function(){return s};return a.d(o,"a",o),o},a.o=function(s,o){return Object.prototype.hasOwnProperty.call(s,o)},a.p="",a(a.s=7)})([(function(n,i){n.exports=r}),(function(n,i,a){var s=a(0).FDLayoutConstants;function o(){}for(var l in s)o[l]=s[l];o.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,o.DEFAULT_RADIAL_SEPARATION=s.DEFAULT_EDGE_LENGTH,o.DEFAULT_COMPONENT_SEPERATION=60,o.TILE=!0,o.TILING_PADDING_VERTICAL=10,o.TILING_PADDING_HORIZONTAL=10,o.TREE_REDUCTION_ON_INCREMENTAL=!1,n.exports=o}),(function(n,i,a){var s=a(0).FDLayoutEdge;function o(u,d,h){s.call(this,u,d,h)}o.prototype=Object.create(s.prototype);for(var l in s)o[l]=s[l];n.exports=o}),(function(n,i,a){var s=a(0).LGraph;function o(u,d,h){s.call(this,u,d,h)}o.prototype=Object.create(s.prototype);for(var l in s)o[l]=s[l];n.exports=o}),(function(n,i,a){var s=a(0).LGraphManager;function o(u){s.call(this,u)}o.prototype=Object.create(s.prototype);for(var l in s)o[l]=s[l];n.exports=o}),(function(n,i,a){var s=a(0).FDLayoutNode,o=a(0).IMath;function l(d,h,f,p){s.call(this,d,h,f,p)}l.prototype=Object.create(s.prototype);for(var u in s)l[u]=s[u];l.prototype.move=function(){var d=this.graphManager.getLayout();this.displacementX=d.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=d.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>d.coolingFactor*d.maxNodeDisplacement&&(this.displacementX=d.coolingFactor*d.maxNodeDisplacement*o.sign(this.displacementX)),Math.abs(this.displacementY)>d.coolingFactor*d.maxNodeDisplacement&&(this.displacementY=d.coolingFactor*d.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),d.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},l.prototype.propogateDisplacementToChildren=function(d,h){for(var f=this.getChild().getNodes(),p,g=0;g<f.length;g++)p=f[g],p.getChild()==null?(p.moveBy(d,h),p.displacementX+=d,p.displacementY+=h):p.propogateDisplacementToChildren(d,h)},l.prototype.setPred1=function(d){this.pred1=d},l.prototype.getPred1=function(){return pred1},l.prototype.getPred2=function(){return pred2},l.prototype.setNext=function(d){this.next=d},l.prototype.getNext=function(){return next},l.prototype.setProcessed=function(d){this.processed=d},l.prototype.isProcessed=function(){return processed},n.exports=l}),(function(n,i,a){var s=a(0).FDLayout,o=a(4),l=a(3),u=a(5),d=a(2),h=a(1),f=a(0).FDLayoutConstants,p=a(0).LayoutConstants,g=a(0).Point,m=a(0).PointD,U=a(0).Layout,y=a(0).Integer,b=a(0).IGeometry,v=a(0).LGraph,w=a(0).Transform;function T(){s.call(this),this.toBeTiled={}}T.prototype=Object.create(s.prototype);for(var S in s)T[S]=s[S];T.prototype.newGraphManager=function(){var C=new o(this);return this.graphManager=C,C},T.prototype.newGraph=function(C){return new l(null,this.graphManager,C)},T.prototype.newNode=function(C){return new u(this.graphManager,C)},T.prototype.newEdge=function(C){return new d(null,null,C)},T.prototype.initParameters=function(){s.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=f.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=f.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=f.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=f.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=f.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=f.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/f.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=f.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},T.prototype.layout=function(){var C=p.DEFAULT_CREATE_BENDS_AS_NEEDED;return C&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},T.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(h.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(P){return k.has(P)});this.graphManager.setAllNodesToApplyGravitation(E)}}else{var C=this.getFlatForest();if(C.length>0)this.positionNodesRadially(C);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var k=new Set(this.getAllNodes()),E=this.nodesWithGravity.filter(function(A){return k.has(A)});this.graphManager.setAllNodesToApplyGravitation(E),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},T.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%f.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 C=new Set(this.getAllNodes()),k=this.nodesWithGravity.filter(function(M){return C.has(M)});this.graphManager.setAllNodesToApplyGravitation(k),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=f.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=f.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var E=!this.isTreeGrowing&&!this.isGrowthFinished,A=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(E,A),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},T.prototype.getPositionsData=function(){for(var C=this.graphManager.getAllNodes(),k={},E=0;E<C.length;E++){var A=C[E].rect,M=C[E].id;k[M]={id:M,x:A.getCenterX(),y:A.getCenterY(),w:A.width,h:A.height}}return k},T.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var C=!1;if(f.ANIMATE==="during")this.emit("layoutstarted");else{for(;!C;)C=this.tick();this.graphManager.updateBounds()}},T.prototype.calculateNodesToApplyGravitationTo=function(){var C=[],k,E=this.graphManager.getGraphs(),A=E.length,M;for(M=0;M<A;M++)k=E[M],k.updateConnected(),k.isConnected||(C=C.concat(k.getNodes()));return C},T.prototype.createBendpoints=function(){var C=[];C=C.concat(this.graphManager.getAllEdges());var k=new Set,E;for(E=0;E<C.length;E++){var A=C[E];if(!k.has(A)){var M=A.getSource(),P=A.getTarget();if(M==P)A.getBendpoints().push(new m),A.getBendpoints().push(new m),this.createDummyNodesForBendpoints(A),k.add(A);else{var N=[];if(N=N.concat(M.getEdgeListToNode(P)),N=N.concat(P.getEdgeListToNode(M)),!k.has(N[0])){if(N.length>1){var I;for(I=0;I<N.length;I++){var L=N[I];L.getBendpoints().push(new m),this.createDummyNodesForBendpoints(L)}}N.forEach(function(_){k.add(_)})}}}if(k.size==C.length)break}},T.prototype.positionNodesRadially=function(C){for(var k=new g(0,0),E=Math.ceil(Math.sqrt(C.length)),A=0,M=0,P=0,N=new m(0,0),I=0;I<C.length;I++){I%E==0&&(P=0,M=A,I!=0&&(M+=h.DEFAULT_COMPONENT_SEPERATION),A=0);var L=C[I],_=U.findCenterOfTree(L);k.x=P,k.y=M,N=T.radialLayout(L,_,k),N.y>A&&(A=Math.floor(N.y)),P=Math.floor(N.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new m(p.WORLD_CENTER_X-N.x/2,p.WORLD_CENTER_Y-N.y/2))},T.radialLayout=function(C,k,E){var A=Math.max(this.maxDiagonalInTree(C),h.DEFAULT_RADIAL_SEPARATION);T.branchRadialLayout(k,null,0,359,0,A);var M=v.calculateBounds(C),P=new w;P.setDeviceOrgX(M.getMinX()),P.setDeviceOrgY(M.getMinY()),P.setWorldOrgX(E.x),P.setWorldOrgY(E.y);for(var N=0;N<C.length;N++){var I=C[N];I.transform(P)}var L=new m(M.getMaxX(),M.getMaxY());return P.inverseTransformPoint(L)},T.branchRadialLayout=function(C,k,E,A,M,P){var N=(A-E+1)/2;N<0&&(N+=180);var I=(N+E)%360,L=I*b.TWO_PI/360,_=M*Math.cos(L),D=M*Math.sin(L);C.setCenter(_,D);var O=[];O=O.concat(C.getEdges());var B=O.length;k!=null&&B--;for(var F=0,z=O.length,$,H=C.getEdgesBetween(k);H.length>1;){var V=H[0];H.splice(0,1);var G=O.indexOf(V);G>=0&&O.splice(G,1),z--,B--}k!=null?$=(O.indexOf(H[0])+1)%z:$=0;for(var K=Math.abs(A-E)/B,W=$;F!=B;W=++W%z){var oe=O[W].getOtherEnd(C);if(oe!=k){var Z=(E+F*K)%360,J=(Z+K)%360;T.branchRadialLayout(oe,C,Z,J,M+P,P),F++}}},T.maxDiagonalInTree=function(C){for(var k=y.MIN_VALUE,E=0;E<C.length;E++){var A=C[E],M=A.getDiagonal();M>k&&(k=M)}return k},T.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},T.prototype.groupZeroDegreeMembers=function(){var C=this,k={};this.memberGroups={},this.idToDummyNode={};for(var E=[],A=this.graphManager.getAllNodes(),M=0;M<A.length;M++){var P=A[M],N=P.getParent();this.getNodeDegreeWithChildren(P)===0&&(N.id==null||!this.getToBeTiled(N))&&E.push(P)}for(var M=0;M<E.length;M++){var P=E[M],I=P.getParent().id;typeof k[I]>"u"&&(k[I]=[]),k[I]=k[I].concat(P)}Object.keys(k).forEach(function(L){if(k[L].length>1){var _="DummyCompound_"+L;C.memberGroups[_]=k[L];var D=k[L][0].getParent(),O=new u(C.graphManager);O.id=_,O.paddingLeft=D.paddingLeft||0,O.paddingRight=D.paddingRight||0,O.paddingBottom=D.paddingBottom||0,O.paddingTop=D.paddingTop||0,C.idToDummyNode[_]=O;var B=C.getGraphManager().add(C.newGraph(),O),F=D.getChild();F.add(O);for(var z=0;z<k[L].length;z++){var $=k[L][z];F.remove($),B.add($)}}})},T.prototype.clearCompounds=function(){var C={},k={};this.performDFSOnCompounds();for(var E=0;E<this.compoundOrder.length;E++)k[this.compoundOrder[E].id]=this.compoundOrder[E],C[this.compoundOrder[E].id]=[].concat(this.compoundOrder[E].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[E].getChild()),this.compoundOrder[E].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(C,k)},T.prototype.clearZeroDegreeMembers=function(){var C=this,k=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(E){var A=C.idToDummyNode[E];k[E]=C.tileNodes(C.memberGroups[E],A.paddingLeft+A.paddingRight),A.rect.width=k[E].width,A.rect.height=k[E].height})},T.prototype.repopulateCompounds=function(){for(var C=this.compoundOrder.length-1;C>=0;C--){var k=this.compoundOrder[C],E=k.id,A=k.paddingLeft,M=k.paddingTop;this.adjustLocations(this.tiledMemberPack[E],k.rect.x,k.rect.y,A,M)}},T.prototype.repopulateZeroDegreeMembers=function(){var C=this,k=this.tiledZeroDegreePack;Object.keys(k).forEach(function(E){var A=C.idToDummyNode[E],M=A.paddingLeft,P=A.paddingTop;C.adjustLocations(k[E],A.rect.x,A.rect.y,M,P)})},T.prototype.getToBeTiled=function(C){var k=C.id;if(this.toBeTiled[k]!=null)return this.toBeTiled[k];var E=C.getChild();if(E==null)return this.toBeTiled[k]=!1,!1;for(var A=E.getNodes(),M=0;M<A.length;M++){var P=A[M];if(this.getNodeDegree(P)>0)return this.toBeTiled[k]=!1,!1;if(P.getChild()==null){this.toBeTiled[P.id]=!1;continue}if(!this.getToBeTiled(P))return this.toBeTiled[k]=!1,!1}return this.toBeTiled[k]=!0,!0},T.prototype.getNodeDegree=function(C){C.id;for(var k=C.getEdges(),E=0,A=0;A<k.length;A++){var M=k[A];M.getSource().id!==M.getTarget().id&&(E=E+1)}return E},T.prototype.getNodeDegreeWithChildren=function(C){var k=this.getNodeDegree(C);if(C.getChild()==null)return k;for(var E=C.getChild().getNodes(),A=0;A<E.length;A++){var M=E[A];k+=this.getNodeDegreeWithChildren(M)}return k},T.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},T.prototype.fillCompexOrderByDFS=function(C){for(var k=0;k<C.length;k++){var E=C[k];E.getChild()!=null&&this.fillCompexOrderByDFS(E.getChild().getNodes()),this.getToBeTiled(E)&&this.compoundOrder.push(E)}},T.prototype.adjustLocations=function(C,k,E,A,M){k+=A,E+=M;for(var P=k,N=0;N<C.rows.length;N++){var I=C.rows[N];k=P;for(var L=0,_=0;_<I.length;_++){var D=I[_];D.rect.x=k,D.rect.y=E,k+=D.rect.width+C.horizontalPadding,D.rect.height>L&&(L=D.rect.height)}E+=L+C.verticalPadding}},T.prototype.tileCompoundMembers=function(C,k){var E=this;this.tiledMemberPack=[],Object.keys(C).forEach(function(A){var M=k[A];E.tiledMemberPack[A]=E.tileNodes(C[A],M.paddingLeft+M.paddingRight),M.rect.width=E.tiledMemberPack[A].width,M.rect.height=E.tiledMemberPack[A].height})},T.prototype.tileNodes=function(C,k){var E=h.TILING_PADDING_VERTICAL,A=h.TILING_PADDING_HORIZONTAL,M={rows:[],rowWidth:[],rowHeight:[],width:0,height:k,verticalPadding:E,horizontalPadding:A};C.sort(function(I,L){return I.rect.width*I.rect.height>L.rect.width*L.rect.height?-1:I.rect.width*I.rect.height<L.rect.width*L.rect.height?1:0});for(var P=0;P<C.length;P++){var N=C[P];M.rows.length==0?this.insertNodeToRow(M,N,0,k):this.canAddHorizontal(M,N.rect.width,N.rect.height)?this.insertNodeToRow(M,N,this.getShortestRowIndex(M),k):this.insertNodeToRow(M,N,M.rows.length,k),this.shiftToLastRow(M)}return M},T.prototype.insertNodeToRow=function(C,k,E,A){var M=A;if(E==C.rows.length){var P=[];C.rows.push(P),C.rowWidth.push(M),C.rowHeight.push(0)}var N=C.rowWidth[E]+k.rect.width;C.rows[E].length>0&&(N+=C.horizontalPadding),C.rowWidth[E]=N,C.width<N&&(C.width=N);var I=k.rect.height;E>0&&(I+=C.verticalPadding);var L=0;I>C.rowHeight[E]&&(L=C.rowHeight[E],C.rowHeight[E]=I,L=C.rowHeight[E]-L),C.height+=L,C.rows[E].push(k)},T.prototype.getShortestRowIndex=function(C){for(var k=-1,E=Number.MAX_VALUE,A=0;A<C.rows.length;A++)C.rowWidth[A]<E&&(k=A,E=C.rowWidth[A]);return k},T.prototype.getLongestRowIndex=function(C){for(var k=-1,E=Number.MIN_VALUE,A=0;A<C.rows.length;A++)C.rowWidth[A]>E&&(k=A,E=C.rowWidth[A]);return k},T.prototype.canAddHorizontal=function(C,k,E){var A=this.getShortestRowIndex(C);if(A<0)return!0;var M=C.rowWidth[A];if(M+C.horizontalPadding+k<=C.width)return!0;var P=0;C.rowHeight[A]<E&&A>0&&(P=E+C.verticalPadding-C.rowHeight[A]);var N;C.width-M>=k+C.horizontalPadding?N=(C.height+P)/(M+k+C.horizontalPadding):N=(C.height+P)/C.width,P=E+C.verticalPadding;var I;return C.width<k?I=(C.height+P)/k:I=(C.height+P)/C.width,I<1&&(I=1/I),N<1&&(N=1/N),N<I},T.prototype.shiftToLastRow=function(C){var k=this.getLongestRowIndex(C),E=C.rowWidth.length-1,A=C.rows[k],M=A[A.length-1],P=M.width+C.horizontalPadding;if(C.width-C.rowWidth[E]>P&&k!=E){A.splice(-1,1),C.rows[E].push(M),C.rowWidth[k]=C.rowWidth[k]-P,C.rowWidth[E]=C.rowWidth[E]+P,C.width=C.rowWidth[instance.getLongestRowIndex(C)];for(var N=Number.MIN_VALUE,I=0;I<A.length;I++)A[I].height>N&&(N=A[I].height);k>0&&(N+=C.verticalPadding);var L=C.rowHeight[k]+C.rowHeight[E];C.rowHeight[k]=N,C.rowHeight[E]<M.height+C.verticalPadding&&(C.rowHeight[E]=M.height+C.verticalPadding);var _=C.rowHeight[k]+C.rowHeight[E];C.height+=_-L,this.shiftToLastRow(C)}},T.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},T.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},T.prototype.reduceTrees=function(){for(var C=[],k=!0,E;k;){var A=this.graphManager.getAllNodes(),M=[];k=!1;for(var P=0;P<A.length;P++)E=A[P],E.getEdges().length==1&&!E.getEdges()[0].isInterGraph&&E.getChild()==null&&(M.push([E,E.getEdges()[0],E.getOwner()]),k=!0);if(k==!0){for(var N=[],I=0;I<M.length;I++)M[I][0].getEdges().length==1&&(N.push(M[I]),M[I][0].getOwner().remove(M[I][0]));C.push(N),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=C},T.prototype.growTree=function(C){for(var k=C.length,E=C[k-1],A,M=0;M<E.length;M++)A=E[M],this.findPlaceforPrunedNode(A),A[2].add(A[0]),A[2].add(A[1],A[1].source,A[1].target);C.splice(C.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},T.prototype.findPlaceforPrunedNode=function(C){var k,E,A=C[0];A==C[1].source?E=C[1].target:E=C[1].source;var M=E.startX,P=E.finishX,N=E.startY,I=E.finishY,L=0,_=0,D=0,O=0,B=[L,D,_,O];if(N>0)for(var F=M;F<=P;F++)B[0]+=this.grid[F][N-1].length+this.grid[F][N].length-1;if(P<this.grid.length-1)for(var F=N;F<=I;F++)B[1]+=this.grid[P+1][F].length+this.grid[P][F].length-1;if(I<this.grid[0].length-1)for(var F=M;F<=P;F++)B[2]+=this.grid[F][I+1].length+this.grid[F][I].length-1;if(M>0)for(var F=N;F<=I;F++)B[3]+=this.grid[M-1][F].length+this.grid[M][F].length-1;for(var z=y.MAX_VALUE,$,H,V=0;V<B.length;V++)B[V]<z?(z=B[V],$=1,H=V):B[V]==z&&$++;if($==3&&z==0)B[0]==0&&B[1]==0&&B[2]==0?k=1:B[0]==0&&B[1]==0&&B[3]==0?k=0:B[0]==0&&B[2]==0&&B[3]==0?k=3:B[1]==0&&B[2]==0&&B[3]==0&&(k=2);else if($==2&&z==0){var G=Math.floor(Math.random()*2);B[0]==0&&B[1]==0?G==0?k=0:k=1:B[0]==0&&B[2]==0?G==0?k=0:k=2:B[0]==0&&B[3]==0?G==0?k=0:k=3:B[1]==0&&B[2]==0?G==0?k=1:k=2:B[1]==0&&B[3]==0?G==0?k=1:k=3:G==0?k=2:k=3}else if($==4&&z==0){var G=Math.floor(Math.random()*4);k=G}else k=H;k==0?A.setCenter(E.getCenterX(),E.getCenterY()-E.getHeight()/2-f.DEFAULT_EDGE_LENGTH-A.getHeight()/2):k==1?A.setCenter(E.getCenterX()+E.getWidth()/2+f.DEFAULT_EDGE_LENGTH+A.getWidth()/2,E.getCenterY()):k==2?A.setCenter(E.getCenterX(),E.getCenterY()+E.getHeight()/2+f.DEFAULT_EDGE_LENGTH+A.getHeight()/2):A.setCenter(E.getCenterX()-E.getWidth()/2-f.DEFAULT_EDGE_LENGTH-A.getWidth()/2,E.getCenterY())},n.exports=T}),(function(n,i,a){var s={};s.layoutBase=a(0),s.CoSEConstants=a(1),s.CoSEEdge=a(2),s.CoSEGraph=a(3),s.CoSEGraphManager=a(4),s.CoSELayout=a(6),s.CoSENode=a(5),n.exports=s})])})})(SM)),SM.exports}var Rrr=CM.exports,lUe;function Irr(){return lUe||(lUe=1,(function(t,e){(function(n,i){t.exports=i(Mrr())})(Rrr,function(r){return(function(n){var i={};function a(s){if(i[s])return i[s].exports;var o=i[s]={i:s,l:!1,exports:{}};return n[s].call(o.exports,o,o.exports,a),o.l=!0,o.exports}return a.m=n,a.c=i,a.i=function(s){return s},a.d=function(s,o,l){a.o(s,o)||Object.defineProperty(s,o,{configurable:!1,enumerable:!0,get:l})},a.n=function(s){var o=s&&s.__esModule?function(){return s.default}:function(){return s};return a.d(o,"a",o),o},a.o=function(s,o){return Object.prototype.hasOwnProperty.call(s,o)},a.p="",a(a.s=1)})([(function(n,i){n.exports=r}),(function(n,i,a){var s=a(0).layoutBase.LayoutConstants,o=a(0).layoutBase.FDLayoutConstants,l=a(0).CoSEConstants,u=a(0).CoSELayout,d=a(0).CoSENode,h=a(0).layoutBase.PointD,f=a(0).layoutBase.DimensionD,p={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function g(b,v){var w={};for(var T in b)w[T]=b[T];for(var T in v)w[T]=v[T];return w}function m(b){this.options=g(p,b),U(this.options)}var U=function(v){v.nodeRepulsion!=null&&(l.DEFAULT_REPULSION_STRENGTH=o.DEFAULT_REPULSION_STRENGTH=v.nodeRepulsion),v.idealEdgeLength!=null&&(l.DEFAULT_EDGE_LENGTH=o.DEFAULT_EDGE_LENGTH=v.idealEdgeLength),v.edgeElasticity!=null&&(l.DEFAULT_SPRING_STRENGTH=o.DEFAULT_SPRING_STRENGTH=v.edgeElasticity),v.nestingFactor!=null&&(l.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=v.nestingFactor),v.gravity!=null&&(l.DEFAULT_GRAVITY_STRENGTH=o.DEFAULT_GRAVITY_STRENGTH=v.gravity),v.numIter!=null&&(l.MAX_ITERATIONS=o.MAX_ITERATIONS=v.numIter),v.gravityRange!=null&&(l.DEFAULT_GRAVITY_RANGE_FACTOR=o.DEFAULT_GRAVITY_RANGE_FACTOR=v.gravityRange),v.gravityCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_STRENGTH=o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=v.gravityCompound),v.gravityRangeCompound!=null&&(l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=v.gravityRangeCompound),v.initialEnergyOnIncremental!=null&&(l.DEFAULT_COOLING_FACTOR_INCREMENTAL=o.DEFAULT_COOLING_FACTOR_INCREMENTAL=v.initialEnergyOnIncremental),v.quality=="draft"?s.QUALITY=0:v.quality=="proof"?s.QUALITY=2:s.QUALITY=1,l.NODE_DIMENSIONS_INCLUDE_LABELS=o.NODE_DIMENSIONS_INCLUDE_LABELS=s.NODE_DIMENSIONS_INCLUDE_LABELS=v.nodeDimensionsIncludeLabels,l.DEFAULT_INCREMENTAL=o.DEFAULT_INCREMENTAL=s.DEFAULT_INCREMENTAL=!v.randomize,l.ANIMATE=o.ANIMATE=s.ANIMATE=v.animate,l.TILE=v.tile,l.TILING_PADDING_VERTICAL=typeof v.tilingPaddingVertical=="function"?v.tilingPaddingVertical.call():v.tilingPaddingVertical,l.TILING_PADDING_HORIZONTAL=typeof v.tilingPaddingHorizontal=="function"?v.tilingPaddingHorizontal.call():v.tilingPaddingHorizontal};m.prototype.run=function(){var b,v,w=this.options;this.idToLNode={};var T=this.layout=new u,S=this;S.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var C=T.newGraphManager();this.gm=C;var k=this.options.eles.nodes(),E=this.options.eles.edges();this.root=C.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(k),T);for(var A=0;A<E.length;A++){var M=E[A],P=this.idToLNode[M.data("source")],N=this.idToLNode[M.data("target")];if(P!==N&&P.getEdgesBetween(N).length==0){var I=C.add(T.newEdge(),P,N);I.id=M.id()}}var L=function(O,B){typeof O=="number"&&(O=B);var F=O.data("id"),z=S.idToLNode[F];return{x:z.getRect().getCenterX(),y:z.getRect().getCenterY()}},_=function D(){for(var O=function(){w.fit&&w.cy.fit(w.eles,w.padding),b||(b=!0,S.cy.one("layoutready",w.ready),S.cy.trigger({type:"layoutready",layout:S}))},B=S.options.refresh,F,z=0;z<B&&!F;z++)F=S.stopped||S.layout.tick();if(F){T.checkLayoutSuccess()&&!T.isSubLayout&&T.doPostLayout(),T.tilingPostLayout&&T.tilingPostLayout(),T.isLayoutFinished=!0,S.options.eles.nodes().positions(L),O(),S.cy.one("layoutstop",S.options.stop),S.cy.trigger({type:"layoutstop",layout:S}),v&&cancelAnimationFrame(v),b=!1;return}var $=S.layout.getPositionsData();w.eles.nodes().positions(function(H,V){if(typeof H=="number"&&(H=V),!H.isParent()){for(var G=H.id(),K=$[G],W=H;K==null&&(K=$[W.data("parent")]||$["DummyCompound_"+W.data("parent")],$[G]=K,W=W.parent()[0],W!=null););return K!=null?{x:K.x,y:K.y}:{x:H.position("x"),y:H.position("y")}}}),O(),v=requestAnimationFrame(D)};return T.addListener("layoutstarted",function(){S.options.animate==="during"&&(v=requestAnimationFrame(_))}),T.runLayout(),this.options.animate!=="during"&&(S.options.eles.nodes().not(":parent").layoutPositions(S,S.options,L),b=!1),this},m.prototype.getTopMostNodes=function(b){for(var v={},w=0;w<b.length;w++)v[b[w].id()]=!0;var T=b.filter(function(S,C){typeof S=="number"&&(S=C);for(var k=S.parent()[0];k!=null;){if(v[k.id()])return!1;k=k.parent()[0]}return!0});return T},m.prototype.processChildrenList=function(b,v,w){for(var T=v.length,S=0;S<T;S++){var C=v[S],k=C.children(),E,A=C.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if(C.outerWidth()!=null&&C.outerHeight()!=null?E=b.add(new d(w.graphManager,new h(C.position("x")-A.w/2,C.position("y")-A.h/2),new f(parseFloat(A.w),parseFloat(A.h)))):E=b.add(new d(this.graphManager)),E.id=C.data("id"),E.paddingLeft=parseInt(C.css("padding")),E.paddingTop=parseInt(C.css("padding")),E.paddingRight=parseInt(C.css("padding")),E.paddingBottom=parseInt(C.css("padding")),this.options.nodeDimensionsIncludeLabels&&C.isParent()){var M=C.boundingBox({includeLabels:!0,includeNodes:!1}).w,P=C.boundingBox({includeLabels:!0,includeNodes:!1}).h,N=C.css("text-halign");E.labelWidth=M,E.labelHeight=P,E.labelPos=N}if(this.idToLNode[C.data("id")]=E,isNaN(E.rect.x)&&(E.rect.x=0),isNaN(E.rect.y)&&(E.rect.y=0),k!=null&&k.length>0){var I;I=w.getGraphManager().add(w.newGraph(),E),this.processChildrenList(I,k,w)}}},m.prototype.stop=function(){return this.stopped=!0,this};var y=function(v){v("layout","cose-bilkent",m)};typeof cytoscape<"u"&&y(cytoscape),n.exports=y})])})})(CM)),CM.exports}var Lrr=Irr();const Nrr=T1(Lrr);ef.use(Nrr);function rPe(t,e){t.forEach(r=>{const n={id:r.id,labelText:r.label,height:r.height,width:r.width,padding:r.padding??0};Object.keys(r).forEach(i=>{["id","label","height","width","padding","x","y"].includes(i)||(n[i]=r[i])}),e.add({group:"nodes",data:n,position:{x:r.x??0,y:r.y??0}})})}x(rPe,"addNodes");function nPe(t,e){t.forEach(r=>{const n={id:r.id,source:r.start,target:r.end};Object.keys(r).forEach(i=>{["id","start","end"].includes(i)||(n[i]=r[i])}),e.add({group:"edges",data:n})})}x(nPe,"addEdges");function iPe(t){return new Promise(e=>{const r=vt("body").append("div").attr("id","cy").attr("style","display:none"),n=ef({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});r.remove(),rPe(t.nodes,n),nPe(t.edges,n),n.nodes().forEach(function(a){a.layoutDimensions=()=>{const s=a.data();return{w:s.width,h:s.height}}});const i={name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1};n.layout(i).run(),n.ready(a=>{he.info("Cytoscape ready",a),e(n)})})}x(iPe,"createCytoscapeInstance");function aPe(t){return t.nodes().map(e=>{const r=e.data(),n=e.position(),i={id:r.id,x:n.x,y:n.y};return Object.keys(r).forEach(a=>{a!=="id"&&(i[a]=r[a])}),i})}x(aPe,"extractPositionedNodes");function sPe(t){return t.edges().map(e=>{const r=e.data(),n=e._private.rscratch,i={id:r.id,source:r.source,target:r.target,startX:n.startX,startY:n.startY,midX:n.midX,midY:n.midY,endX:n.endX,endY:n.endY};return Object.keys(r).forEach(a=>{["id","source","target"].includes(a)||(i[a]=r[a])}),i})}x(sPe,"extractPositionedEdges");async function oPe(t,e){he.debug("Starting cose-bilkent layout algorithm");try{lPe(t);const r=await iPe(t),n=aPe(r),i=sPe(r);return he.debug(`Layout completed: ${n.length} nodes, ${i.length} edges`),{nodes:n,edges:i}}catch(r){throw he.error("Error in cose-bilkent layout algorithm:",r),r}}x(oPe,"executeCoseBilkentLayout");function lPe(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}x(lPe,"validateLayoutData");var Orr=x(async(t,e,{insertCluster:r,insertEdge:n,insertEdgeLabel:i,insertMarkers:a,insertNode:s,log:o,positionEdgeLabel:l},{algorithm:u})=>{const d={},h={},f=e.select("g");a(f,t.markers,t.type,t.diagramId);const p=f.insert("g").attr("class","subgraphs"),g=f.insert("g").attr("class","edgePaths"),m=f.insert("g").attr("class","edgeLabels"),U=f.insert("g").attr("class","nodes");o.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async v=>{if(v.isGroup){const w={...v};h[v.id]=w,d[v.id]=w,await r(p,v)}else{const w={...v};d[v.id]=w;const T=await s(U,v,{config:t.config,dir:t.direction||"TB"}),S=T.node().getBBox();w.width=S.width,w.height=S.height,w.domId=T,o.debug(`Node ${v.id} dimensions: ${S.width}x${S.height}`)}})),o.debug("Running cose-bilkent layout algorithm");const y={...t,nodes:t.nodes.map(v=>{const w=d[v.id];return{...v,width:w.width,height:w.height}})},b=await oPe(y,t.config);o.debug("Positioning nodes based on layout results"),b.nodes.forEach(v=>{const w=d[v.id];w!=null&&w.domId&&(w.domId.attr("transform",`translate(${v.x}, ${v.y})`),w.x=v.x,w.y=v.y,o.debug(`Positioned node ${w.id} at center (${v.x}, ${v.y})`))}),b.edges.forEach(v=>{const w=t.edges.find(T=>T.id===v.id);w&&(w.points=[{x:v.startX,y:v.startY},{x:v.midX,y:v.midY},{x:v.endX,y:v.endY}])}),o.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async v=>{await i(m,v);const w=d[v.start??""],T=d[v.end??""];if(w&&T){const S=b.edges.find(C=>C.id===v.id);if(S){o.debug("APA01 positionedEdge",S);const C={...v},k=n(g,C,h,t.type,w,T,t.diagramId);l(C,k)}else{const C={...v,points:[{x:w.x||0,y:w.y||0},{x:T.x||0,y:T.y||0}]},k=n(g,C,h,t.type,w,T,t.diagramId);l(C,k)}}})),o.debug("Cose-bilkent rendering completed")},"render"),Drr=Orr;const Prr=Object.freeze(Object.defineProperty({__proto__:null,render:Drr},Symbol.toStringTag,{value:"Module"}));var JP=x((t,e)=>{const r=t.append("rect");if(r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),e.name&&r.attr("name",e.name),e.rx&&r.attr("rx",e.rx),e.ry&&r.attr("ry",e.ry),e.attrs!==void 0)for(const n in e.attrs)r.attr(n,e.attrs[n]);return e.class&&r.attr("class",e.class),r},"drawRect"),cPe=x((t,e)=>{const r={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};JP(t,r).lower()},"drawBackgroundRect"),_rr=x((t,e)=>{const r=e.text.replace(j4," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),Bre=x((t,e,r,n)=>{const i=t.append("image");i.attr("x",e),i.attr("y",r);const a=E5.sanitizeUrl(n);i.attr("xlink:href",a)},"drawImage"),$re=x((t,e,r,n)=>{const i=t.append("use");i.attr("x",e),i.attr("y",r);const a=E5.sanitizeUrl(n);i.attr("xlink:href",`#${a}`)},"drawEmbeddedImage"),uu=x(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),Fre=x(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),zre=x(()=>{let t=vt(".mermaidTooltip");return t.empty()&&(t=vt("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip"),hN=(function(){var t=x(function(xe,Ee,qe,le){for(qe=qe||{},le=xe.length;le--;qe[xe[le]]=Ee);return qe},"o"),e=[1,24],r=[1,25],n=[1,26],i=[1,27],a=[1,28],s=[1,63],o=[1,64],l=[1,65],u=[1,66],d=[1,67],h=[1,68],f=[1,69],p=[1,29],g=[1,30],m=[1,31],U=[1,32],y=[1,33],b=[1,34],v=[1,35],w=[1,36],T=[1,37],S=[1,38],C=[1,39],k=[1,40],E=[1,41],A=[1,42],M=[1,43],P=[1,44],N=[1,45],I=[1,46],L=[1,47],_=[1,48],D=[1,50],O=[1,51],B=[1,52],F=[1,53],z=[1,54],$=[1,55],H=[1,56],V=[1,57],G=[1,58],K=[1,59],W=[1,60],oe=[14,42],Z=[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],J=[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],ne=[1,82],ie=[1,83],me=[1,84],te=[1,85],Re=[12,14,42],_e=[12,14,33,42],He=[12,14,33,42,76,77,79,80],ce=[12,33],de=[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],we={trace:x(function(){},"trace"),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:x(function(Ee,qe,le,pe,Te,re,Y){var Q=re.length-1;switch(Te){case 3:pe.setDirection("TB");break;case 4:pe.setDirection("BT");break;case 5:pe.setDirection("RL");break;case 6:pe.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:pe.setC4Type(re[Q-3]);break;case 19:pe.setTitle(re[Q].substring(6)),this.$=re[Q].substring(6);break;case 20:pe.setAccDescription(re[Q].substring(15)),this.$=re[Q].substring(15);break;case 21:this.$=re[Q].trim(),pe.setTitle(this.$);break;case 22:case 23:this.$=re[Q].trim(),pe.setAccDescription(this.$);break;case 28:re[Q].splice(2,0,"ENTERPRISE"),pe.addPersonOrSystemBoundary(...re[Q]),this.$=re[Q];break;case 29:re[Q].splice(2,0,"SYSTEM"),pe.addPersonOrSystemBoundary(...re[Q]),this.$=re[Q];break;case 30:pe.addPersonOrSystemBoundary(...re[Q]),this.$=re[Q];break;case 31:re[Q].splice(2,0,"CONTAINER"),pe.addContainerBoundary(...re[Q]),this.$=re[Q];break;case 32:pe.addDeploymentNode("node",...re[Q]),this.$=re[Q];break;case 33:pe.addDeploymentNode("nodeL",...re[Q]),this.$=re[Q];break;case 34:pe.addDeploymentNode("nodeR",...re[Q]),this.$=re[Q];break;case 35:pe.popBoundaryParseStack();break;case 39:pe.addPersonOrSystem("person",...re[Q]),this.$=re[Q];break;case 40:pe.addPersonOrSystem("external_person",...re[Q]),this.$=re[Q];break;case 41:pe.addPersonOrSystem("system",...re[Q]),this.$=re[Q];break;case 42:pe.addPersonOrSystem("system_db",...re[Q]),this.$=re[Q];break;case 43:pe.addPersonOrSystem("system_queue",...re[Q]),this.$=re[Q];break;case 44:pe.addPersonOrSystem("external_system",...re[Q]),this.$=re[Q];break;case 45:pe.addPersonOrSystem("external_system_db",...re[Q]),this.$=re[Q];break;case 46:pe.addPersonOrSystem("external_system_queue",...re[Q]),this.$=re[Q];break;case 47:pe.addContainer("container",...re[Q]),this.$=re[Q];break;case 48:pe.addContainer("container_db",...re[Q]),this.$=re[Q];break;case 49:pe.addContainer("container_queue",...re[Q]),this.$=re[Q];break;case 50:pe.addContainer("external_container",...re[Q]),this.$=re[Q];break;case 51:pe.addContainer("external_container_db",...re[Q]),this.$=re[Q];break;case 52:pe.addContainer("external_container_queue",...re[Q]),this.$=re[Q];break;case 53:pe.addComponent("component",...re[Q]),this.$=re[Q];break;case 54:pe.addComponent("component_db",...re[Q]),this.$=re[Q];break;case 55:pe.addComponent("component_queue",...re[Q]),this.$=re[Q];break;case 56:pe.addComponent("external_component",...re[Q]),this.$=re[Q];break;case 57:pe.addComponent("external_component_db",...re[Q]),this.$=re[Q];break;case 58:pe.addComponent("external_component_queue",...re[Q]),this.$=re[Q];break;case 60:pe.addRel("rel",...re[Q]),this.$=re[Q];break;case 61:pe.addRel("birel",...re[Q]),this.$=re[Q];break;case 62:pe.addRel("rel_u",...re[Q]),this.$=re[Q];break;case 63:pe.addRel("rel_d",...re[Q]),this.$=re[Q];break;case 64:pe.addRel("rel_l",...re[Q]),this.$=re[Q];break;case 65:pe.addRel("rel_r",...re[Q]),this.$=re[Q];break;case 66:pe.addRel("rel_b",...re[Q]),this.$=re[Q];break;case 67:re[Q].splice(0,1),pe.addRel("rel",...re[Q]),this.$=re[Q];break;case 68:pe.updateElStyle("update_el_style",...re[Q]),this.$=re[Q];break;case 69:pe.updateRelStyle("update_rel_style",...re[Q]),this.$=re[Q];break;case 70:pe.updateLayoutConfig("update_layout_config",...re[Q]),this.$=re[Q];break;case 71:this.$=[re[Q]];break;case 72:re[Q].unshift(re[Q-1]),this.$=re[Q];break;case 73:case 75:this.$=re[Q].trim();break;case 74:let ue={};ue[re[Q-1].trim()]=re[Q].trim(),this.$=ue;break;case 76:this.$="";break}},"anonymous"),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:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:d,40:h,41:f,43:23,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W},{13:70,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:d,40:h,41:f,43:23,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W},{13:71,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:d,40:h,41:f,43:23,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W},{13:72,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:d,40:h,41:f,43:23,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W},{13:73,19:20,20:21,21:22,22:e,23:r,24:n,26:i,28:a,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:d,40:h,41:f,43:23,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W},{14:[1,74]},t(oe,[2,13],{43:23,29:49,30:61,32:62,20:75,34:s,36:o,37:l,38:u,39:d,40:h,41:f,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W}),t(oe,[2,14]),t(Z,[2,16],{12:[1,76]}),t(oe,[2,36],{12:[1,77]}),t(J,[2,19]),t(J,[2,20]),{25:[1,78]},{27:[1,79]},t(J,[2,23]),{35:80,75:81,76:ne,77:ie,79:me,80:te},{35:86,75:81,76:ne,77:ie,79:me,80:te},{35:87,75:81,76:ne,77:ie,79:me,80:te},{35:88,75:81,76:ne,77:ie,79:me,80:te},{35:89,75:81,76:ne,77:ie,79:me,80:te},{35:90,75:81,76:ne,77:ie,79:me,80:te},{35:91,75:81,76:ne,77:ie,79:me,80:te},{35:92,75:81,76:ne,77:ie,79:me,80:te},{35:93,75:81,76:ne,77:ie,79:me,80:te},{35:94,75:81,76:ne,77:ie,79:me,80:te},{35:95,75:81,76:ne,77:ie,79:me,80:te},{35:96,75:81,76:ne,77:ie,79:me,80:te},{35:97,75:81,76:ne,77:ie,79:me,80:te},{35:98,75:81,76:ne,77:ie,79:me,80:te},{35:99,75:81,76:ne,77:ie,79:me,80:te},{35:100,75:81,76:ne,77:ie,79:me,80:te},{35:101,75:81,76:ne,77:ie,79:me,80:te},{35:102,75:81,76:ne,77:ie,79:me,80:te},{35:103,75:81,76:ne,77:ie,79:me,80:te},{35:104,75:81,76:ne,77:ie,79:me,80:te},t(Re,[2,59]),{35:105,75:81,76:ne,77:ie,79:me,80:te},{35:106,75:81,76:ne,77:ie,79:me,80:te},{35:107,75:81,76:ne,77:ie,79:me,80:te},{35:108,75:81,76:ne,77:ie,79:me,80:te},{35:109,75:81,76:ne,77:ie,79:me,80:te},{35:110,75:81,76:ne,77:ie,79:me,80:te},{35:111,75:81,76:ne,77:ie,79:me,80:te},{35:112,75:81,76:ne,77:ie,79:me,80:te},{35:113,75:81,76:ne,77:ie,79:me,80:te},{35:114,75:81,76:ne,77:ie,79:me,80:te},{35:115,75:81,76:ne,77:ie,79:me,80:te},{20:116,29:49,30:61,32:62,34:s,36:o,37:l,38:u,39:d,40:h,41:f,43:23,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W},{12:[1,118],33:[1,117]},{35:119,75:81,76:ne,77:ie,79:me,80:te},{35:120,75:81,76:ne,77:ie,79:me,80:te},{35:121,75:81,76:ne,77:ie,79:me,80:te},{35:122,75:81,76:ne,77:ie,79:me,80:te},{35:123,75:81,76:ne,77:ie,79:me,80:te},{35:124,75:81,76:ne,77:ie,79:me,80:te},{35:125,75:81,76:ne,77:ie,79:me,80:te},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(oe,[2,15]),t(Z,[2,17],{21:22,19:130,22:e,23:r,24:n,26:i,28:a}),t(oe,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:r,24:n,26:i,28:a,34:s,36:o,37:l,38:u,39:d,40:h,41:f,44:p,45:g,46:m,47:U,48:y,49:b,50:v,51:w,52:T,53:S,54:C,55:k,56:E,57:A,58:M,59:P,60:N,61:I,62:L,63:_,64:D,65:O,66:B,67:F,68:z,69:$,70:H,71:V,72:G,73:K,74:W}),t(J,[2,21]),t(J,[2,22]),t(Re,[2,39]),t(_e,[2,71],{75:81,35:132,76:ne,77:ie,79:me,80:te}),t(He,[2,73]),{78:[1,133]},t(He,[2,75]),t(He,[2,76]),t(Re,[2,40]),t(Re,[2,41]),t(Re,[2,42]),t(Re,[2,43]),t(Re,[2,44]),t(Re,[2,45]),t(Re,[2,46]),t(Re,[2,47]),t(Re,[2,48]),t(Re,[2,49]),t(Re,[2,50]),t(Re,[2,51]),t(Re,[2,52]),t(Re,[2,53]),t(Re,[2,54]),t(Re,[2,55]),t(Re,[2,56]),t(Re,[2,57]),t(Re,[2,58]),t(Re,[2,60]),t(Re,[2,61]),t(Re,[2,62]),t(Re,[2,63]),t(Re,[2,64]),t(Re,[2,65]),t(Re,[2,66]),t(Re,[2,67]),t(Re,[2,68]),t(Re,[2,69]),t(Re,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(ce,[2,28]),t(ce,[2,29]),t(ce,[2,30]),t(ce,[2,31]),t(ce,[2,32]),t(ce,[2,33]),t(ce,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t(Z,[2,18]),t(oe,[2,38]),t(_e,[2,72]),t(He,[2,74]),t(Re,[2,24]),t(Re,[2,35]),t(de,[2,25]),t(de,[2,26],{12:[1,138]}),t(de,[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:x(function(Ee,qe){if(qe.recoverable)this.trace(Ee);else{var le=new Error(Ee);throw le.hash=qe,le}},"parseError"),parse:x(function(Ee){var qe=this,le=[0],pe=[],Te=[null],re=[],Y=this.table,Q="",ue=0,X=0,fe=2,ee=1,Ae=re.slice.call(arguments,1),Me=Object.create(this.lexer),Ke={yy:{}};for(var Ne in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Ne)&&(Ke.yy[Ne]=this.yy[Ne]);Me.setInput(Ee,Ke.yy),Ke.yy.lexer=Me,Ke.yy.parser=this,typeof Me.yylloc>"u"&&(Me.yylloc={});var je=Me.yylloc;re.push(je);var Oe=Me.options&&Me.options.ranges;typeof Ke.yy.parseError=="function"?this.parseError=Ke.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Ze(ve){le.length=le.length-2*ve,Te.length=Te.length-ve,re.length=re.length-ve}x(Ze,"popStack");function Fe(){var ve;return ve=pe.pop()||Me.lex()||ee,typeof ve!="number"&&(ve instanceof Array&&(pe=ve,ve=pe.pop()),ve=qe.symbols_[ve]||ve),ve}x(Fe,"lex");for(var at,Pe,gt,Ie,St={},Et,ot,Ht,It;;){if(Pe=le[le.length-1],this.defaultActions[Pe]?gt=this.defaultActions[Pe]:((at===null||typeof at>"u")&&(at=Fe()),gt=Y[Pe]&&Y[Pe][at]),typeof gt>"u"||!gt.length||!gt[0]){var ht="";It=[];for(Et in Y[Pe])this.terminals_[Et]&&Et>fe&&It.push("'"+this.terminals_[Et]+"'");Me.showPosition?ht="Parse error on line "+(ue+1)+`:
`+Me.showPosition()+`
Expecting `+It.join(", ")+", got '"+(this.terminals_[at]||at)+"'":ht="Parse error on line "+(ue+1)+": Unexpected "+(at==ee?"end of input":"'"+(this.terminals_[at]||at)+"'"),this.parseError(ht,{text:Me.match,token:this.terminals_[at]||at,line:Me.yylineno,loc:je,expected:It})}if(gt[0]instanceof Array&&gt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Pe+", token: "+at);switch(gt[0]){case 1:le.push(at),Te.push(Me.yytext),re.push(Me.yylloc),le.push(gt[1]),at=null,X=Me.yyleng,Q=Me.yytext,ue=Me.yylineno,je=Me.yylloc;break;case 2:if(ot=this.productions_[gt[1]][1],St.$=Te[Te.length-ot],St._$={first_line:re[re.length-(ot||1)].first_line,last_line:re[re.length-1].last_line,first_column:re[re.length-(ot||1)].first_column,last_column:re[re.length-1].last_column},Oe&&(St._$.range=[re[re.length-(ot||1)].range[0],re[re.length-1].range[1]]),Ie=this.performAction.apply(St,[Q,X,ue,Ke.yy,gt[1],Te,re].concat(Ae)),typeof Ie<"u")return Ie;ot&&(le=le.slice(0,-1*ot*2),Te=Te.slice(0,-1*ot),re=re.slice(0,-1*ot)),le.push(this.productions_[gt[1]][0]),Te.push(St.$),re.push(St._$),Ht=Y[le[le.length-2]][le[le.length-1]],le.push(Ht);break;case 3:return!0}}return!0},"parse")},ge=(function(){var xe={EOF:1,parseError:x(function(qe,le){if(this.yy.parser)this.yy.parser.parseError(qe,le);else throw new Error(qe)},"parseError"),setInput:x(function(Ee,qe){return this.yy=qe||this.yy||{},this._input=Ee,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},"setInput"),input:x(function(){var Ee=this._input[0];this.yytext+=Ee,this.yyleng++,this.offset++,this.match+=Ee,this.matched+=Ee;var qe=Ee.match(/(?:\r\n?|\n).*/g);return qe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Ee},"input"),unput:x(function(Ee){var qe=Ee.length,le=Ee.split(/(?:\r\n?|\n)/g);this._input=Ee+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-qe),this.offset-=qe;var pe=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),le.length-1&&(this.yylineno-=le.length-1);var Te=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:le?(le.length===pe.length?this.yylloc.first_column:0)+pe[pe.length-le.length].length-le[0].length:this.yylloc.first_column-qe},this.options.ranges&&(this.yylloc.range=[Te[0],Te[0]+this.yyleng-qe]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(Ee){this.unput(this.match.slice(Ee))},"less"),pastInput:x(function(){var Ee=this.matched.substr(0,this.matched.length-this.match.length);return(Ee.length>20?"...":"")+Ee.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var Ee=this.match;return Ee.length<20&&(Ee+=this._input.substr(0,20-Ee.length)),(Ee.substr(0,20)+(Ee.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var Ee=this.pastInput(),qe=new Array(Ee.length+1).join("-");return Ee+this.upcomingInput()+`
`+qe+"^"},"showPosition"),test_match:x(function(Ee,qe){var le,pe,Te;if(this.options.backtrack_lexer&&(Te={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&&(Te.yylloc.range=this.yylloc.range.slice(0))),pe=Ee[0].match(/(?:\r\n?|\n).*/g),pe&&(this.yylineno+=pe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:pe?pe[pe.length-1].length-pe[pe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Ee[0].length},this.yytext+=Ee[0],this.match+=Ee[0],this.matches=Ee,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(Ee[0].length),this.matched+=Ee[0],le=this.performAction.call(this,this.yy,this,qe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),le)return le;if(this._backtrack){for(var re in Te)this[re]=Te[re];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Ee,qe,le,pe;this._more||(this.yytext="",this.match="");for(var Te=this._currentRules(),re=0;re<Te.length;re++)if(le=this._input.match(this.rules[Te[re]]),le&&(!qe||le[0].length>qe[0].length)){if(qe=le,pe=re,this.options.backtrack_lexer){if(Ee=this.test_match(le,Te[re]),Ee!==!1)return Ee;if(this._backtrack){qe=!1;continue}else return!1}else if(!this.options.flex)break}return qe?(Ee=this.test_match(qe,Te[pe]),Ee!==!1?Ee:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var qe=this.next();return qe||this.lex()},"lex"),begin:x(function(qe){this.conditionStack.push(qe)},"begin"),popState:x(function(){var qe=this.conditionStack.length-1;return qe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(qe){return qe=this.conditionStack.length-1-Math.abs(qe||0),qe>=0?this.conditionStack[qe]:"INITIAL"},"topState"),pushState:x(function(qe){this.begin(qe)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:x(function(qe,le,pe,Te){switch(pe){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}},"anonymous"),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:[65,66,67,68],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 xe})();we.lexer=ge;function ze(){this.yy={}}return x(ze,"Parser"),ze.prototype=we,we.Parser=ze,new ze})();hN.parser=hN;var Brr=hN,Wd=[],Rg=[""],$l="global",Dd="",tf=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],rC=[],Hre="",Vre=!1,fN=4,pN=2,uPe,$rr=x(function(){return uPe},"getC4Type"),Frr=x(function(t){uPe=On(t,Ve())},"setC4Type"),zrr=x(function(t,e,r,n,i,a,s,o,l){if(t==null||e===void 0||e===null||r===void 0||r===null||n===void 0||n===null)return;let u={};const d=rC.find(h=>h.from===e&&h.to===r);if(d?u=d:rC.push(u),u.type=t,u.from=e,u.to=r,u.label={text:n},i==null)u.techn={text:""};else if(typeof i=="object"){let[h,f]=Object.entries(i)[0];u[h]={text:f}}else u.techn={text:i};if(a==null)u.descr={text:""};else if(typeof a=="object"){let[h,f]=Object.entries(a)[0];u[h]={text:f}}else u.descr={text:a};if(typeof s=="object"){let[h,f]=Object.entries(s)[0];u[h]=f}else u.sprite=s;if(typeof o=="object"){let[h,f]=Object.entries(o)[0];u[h]=f}else u.tags=o;if(typeof l=="object"){let[h,f]=Object.entries(l)[0];u[h]=f}else u.link=l;u.wrap=P1()},"addRel"),Hrr=x(function(t,e,r,n,i,a,s){if(e===null||r===null)return;let o={};const l=Wd.find(u=>u.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,Wd.push(o)),r==null?o.label={text:""}:o.label={text:r},n==null)o.descr={text:""};else if(typeof n=="object"){let[u,d]=Object.entries(n)[0];o[u]={text:d}}else o.descr={text:n};if(typeof i=="object"){let[u,d]=Object.entries(i)[0];o[u]=d}else o.sprite=i;if(typeof a=="object"){let[u,d]=Object.entries(a)[0];o[u]=d}else o.tags=a;if(typeof s=="object"){let[u,d]=Object.entries(s)[0];o[u]=d}else o.link=s;o.typeC4Shape={text:t},o.parentBoundary=$l,o.wrap=P1()},"addPersonOrSystem"),Vrr=x(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Wd.find(d=>d.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Wd.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[d,h]=Object.entries(n)[0];l[d]={text:h}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[d,h]=Object.entries(i)[0];l[d]={text:h}}else l.descr={text:i};if(typeof a=="object"){let[d,h]=Object.entries(a)[0];l[d]=h}else l.sprite=a;if(typeof s=="object"){let[d,h]=Object.entries(s)[0];l[d]=h}else l.tags=s;if(typeof o=="object"){let[d,h]=Object.entries(o)[0];l[d]=h}else l.link=o;l.wrap=P1(),l.typeC4Shape={text:t},l.parentBoundary=$l},"addContainer"),Grr=x(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=Wd.find(d=>d.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,Wd.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.techn={text:""};else if(typeof n=="object"){let[d,h]=Object.entries(n)[0];l[d]={text:h}}else l.techn={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[d,h]=Object.entries(i)[0];l[d]={text:h}}else l.descr={text:i};if(typeof a=="object"){let[d,h]=Object.entries(a)[0];l[d]=h}else l.sprite=a;if(typeof s=="object"){let[d,h]=Object.entries(s)[0];l[d]=h}else l.tags=s;if(typeof o=="object"){let[d,h]=Object.entries(o)[0];l[d]=h}else l.link=o;l.wrap=P1(),l.typeC4Shape={text:t},l.parentBoundary=$l},"addComponent"),Wrr=x(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=tf.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,tf.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"system"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=$l,a.wrap=P1(),Dd=$l,$l=t,Rg.push(Dd)},"addPersonOrSystemBoundary"),qrr=x(function(t,e,r,n,i){if(t===null||e===null)return;let a={};const s=tf.find(o=>o.alias===t);if(s&&t===s.alias?a=s:(a.alias=t,tf.push(a)),e==null?a.label={text:""}:a.label={text:e},r==null)a.type={text:"container"};else if(typeof r=="object"){let[o,l]=Object.entries(r)[0];a[o]={text:l}}else a.type={text:r};if(typeof n=="object"){let[o,l]=Object.entries(n)[0];a[o]=l}else a.tags=n;if(typeof i=="object"){let[o,l]=Object.entries(i)[0];a[o]=l}else a.link=i;a.parentBoundary=$l,a.wrap=P1(),Dd=$l,$l=t,Rg.push(Dd)},"addContainerBoundary"),jrr=x(function(t,e,r,n,i,a,s,o){if(e===null||r===null)return;let l={};const u=tf.find(d=>d.alias===e);if(u&&e===u.alias?l=u:(l.alias=e,tf.push(l)),r==null?l.label={text:""}:l.label={text:r},n==null)l.type={text:"node"};else if(typeof n=="object"){let[d,h]=Object.entries(n)[0];l[d]={text:h}}else l.type={text:n};if(i==null)l.descr={text:""};else if(typeof i=="object"){let[d,h]=Object.entries(i)[0];l[d]={text:h}}else l.descr={text:i};if(typeof s=="object"){let[d,h]=Object.entries(s)[0];l[d]=h}else l.tags=s;if(typeof o=="object"){let[d,h]=Object.entries(o)[0];l[d]=h}else l.link=o;l.nodeType=t,l.parentBoundary=$l,l.wrap=P1(),Dd=$l,$l=e,Rg.push(Dd)},"addDeploymentNode"),Yrr=x(function(){$l=Dd,Rg.pop(),Dd=Rg.pop(),Rg.push(Dd)},"popBoundaryParseStack"),Xrr=x(function(t,e,r,n,i,a,s,o,l,u,d){let h=Wd.find(f=>f.alias===e);if(!(h===void 0&&(h=tf.find(f=>f.alias===e),h===void 0))){if(r!=null)if(typeof r=="object"){let[f,p]=Object.entries(r)[0];h[f]=p}else h.bgColor=r;if(n!=null)if(typeof n=="object"){let[f,p]=Object.entries(n)[0];h[f]=p}else h.fontColor=n;if(i!=null)if(typeof i=="object"){let[f,p]=Object.entries(i)[0];h[f]=p}else h.borderColor=i;if(a!=null)if(typeof a=="object"){let[f,p]=Object.entries(a)[0];h[f]=p}else h.shadowing=a;if(s!=null)if(typeof s=="object"){let[f,p]=Object.entries(s)[0];h[f]=p}else h.shape=s;if(o!=null)if(typeof o=="object"){let[f,p]=Object.entries(o)[0];h[f]=p}else h.sprite=o;if(l!=null)if(typeof l=="object"){let[f,p]=Object.entries(l)[0];h[f]=p}else h.techn=l;if(u!=null)if(typeof u=="object"){let[f,p]=Object.entries(u)[0];h[f]=p}else h.legendText=u;if(d!=null)if(typeof d=="object"){let[f,p]=Object.entries(d)[0];h[f]=p}else h.legendSprite=d}},"updateElStyle"),Krr=x(function(t,e,r,n,i,a,s){const o=rC.find(l=>l.from===e&&l.to===r);if(o!==void 0){if(n!=null)if(typeof n=="object"){let[l,u]=Object.entries(n)[0];o[l]=u}else o.textColor=n;if(i!=null)if(typeof i=="object"){let[l,u]=Object.entries(i)[0];o[l]=u}else o.lineColor=i;if(a!=null)if(typeof a=="object"){let[l,u]=Object.entries(a)[0];o[l]=parseInt(u)}else o.offsetX=parseInt(a);if(s!=null)if(typeof s=="object"){let[l,u]=Object.entries(s)[0];o[l]=parseInt(u)}else o.offsetY=parseInt(s)}},"updateRelStyle"),Zrr=x(function(t,e,r){let n=fN,i=pN;if(typeof e=="object"){const a=Object.values(e)[0];n=parseInt(a)}else n=parseInt(e);if(typeof r=="object"){const a=Object.values(r)[0];i=parseInt(a)}else i=parseInt(r);n>=1&&(fN=n),i>=1&&(pN=i)},"updateLayoutConfig"),Jrr=x(function(){return fN},"getC4ShapeInRow"),Qrr=x(function(){return pN},"getC4BoundaryInRow"),enr=x(function(){return $l},"getCurrentBoundaryParse"),tnr=x(function(){return Dd},"getParentBoundaryParse"),dPe=x(function(t){return t==null?Wd:Wd.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),rnr=x(function(t){return Wd.find(e=>e.alias===t)},"getC4Shape"),nnr=x(function(t){return Object.keys(dPe(t))},"getC4ShapeKeys"),hPe=x(function(t){return t==null?tf:tf.filter(e=>e.parentBoundary===t)},"getBoundaries"),inr=hPe,anr=x(function(){return rC},"getRels"),snr=x(function(){return Hre},"getTitle"),onr=x(function(t){Vre=t},"setWrap"),P1=x(function(){return Vre},"autoWrap"),lnr=x(function(){Wd=[],tf=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],Dd="",$l="global",Rg=[""],rC=[],Rg=[""],Hre="",Vre=!1,fN=4,pN=2},"clear"),cnr={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},unr={FILLED:0,OPEN:1},dnr={LEFTOF:0,RIGHTOF:1,OVER:2},hnr=x(function(t){Hre=On(t,Ve())},"setTitle"),fY={addPersonOrSystem:Hrr,addPersonOrSystemBoundary:Wrr,addContainer:Vrr,addContainerBoundary:qrr,addComponent:Grr,addDeploymentNode:jrr,popBoundaryParseStack:Yrr,addRel:zrr,updateElStyle:Xrr,updateRelStyle:Krr,updateLayoutConfig:Zrr,autoWrap:P1,setWrap:onr,getC4ShapeArray:dPe,getC4Shape:rnr,getC4ShapeKeys:nnr,getBoundaries:hPe,getBoundarys:inr,getCurrentBoundaryParse:enr,getParentBoundaryParse:tnr,getRels:anr,getTitle:snr,getC4Type:$rr,getC4ShapeInRow:Jrr,getC4BoundaryInRow:Qrr,setAccTitle:qi,getAccTitle:ia,getAccDescription:sa,setAccDescription:aa,getConfig:x(()=>Ve().c4,"getConfig"),clear:lnr,LINETYPE:cnr,ARROWTYPE:unr,PLACEMENT:dnr,setTitle:hnr,setC4Type:Frr},Gre=x(function(t,e){return JP(t,e)},"drawRect"),fPe=x(function(t,e,r,n,i,a){const s=t.append("image");s.attr("width",e),s.attr("height",r),s.attr("x",n),s.attr("y",i);let o=a.startsWith("data:image/png;base64")?a:E5.sanitizeUrl(a);s.attr("xlink:href",o)},"drawImage"),fnr=x((t,e,r,n)=>{const i=t.append("g");let a=0;for(let s of e){let o=s.textColor?s.textColor:"#444444",l=s.lineColor?s.lineColor:"#444444",u=s.offsetX?parseInt(s.offsetX):0,d=s.offsetY?parseInt(s.offsetY):0,h="";if(a===0){let p=i.append("line");p.attr("x1",s.startPoint.x),p.attr("y1",s.startPoint.y),p.attr("x2",s.endPoint.x),p.attr("y2",s.endPoint.y),p.attr("stroke-width","1"),p.attr("stroke",l),p.style("fill","none"),s.type!=="rel_b"&&p.attr("marker-end","url("+h+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+h+"#"+n+"-arrowend)"),a=-1}else{let p=i.append("path");p.attr("fill","none").attr("stroke-width","1").attr("stroke",l).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",s.startPoint.x).replaceAll("starty",s.startPoint.y).replaceAll("controlx",s.startPoint.x+(s.endPoint.x-s.startPoint.x)/2-(s.endPoint.x-s.startPoint.x)/4).replaceAll("controly",s.startPoint.y+(s.endPoint.y-s.startPoint.y)/2).replaceAll("stopx",s.endPoint.x).replaceAll("stopy",s.endPoint.y)),s.type!=="rel_b"&&p.attr("marker-end","url("+h+"#"+n+"-arrowhead)"),(s.type==="birel"||s.type==="rel_b")&&p.attr("marker-start","url("+h+"#"+n+"-arrowend)")}let f=r.messageFont();d0(r)(s.label.text,i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+d,s.label.width,s.label.height,{fill:o},f),s.techn&&s.techn.text!==""&&(f=r.messageFont(),d0(r)("["+s.techn.text+"]",i,Math.min(s.startPoint.x,s.endPoint.x)+Math.abs(s.endPoint.x-s.startPoint.x)/2+u,Math.min(s.startPoint.y,s.endPoint.y)+Math.abs(s.endPoint.y-s.startPoint.y)/2+r.messageFontSize+5+d,Math.max(s.label.width,s.techn.width),s.techn.height,{fill:o,"font-style":"italic"},f))}},"drawRels"),pnr=x(function(t,e,r){const n=t.append("g");let i=e.bgColor?e.bgColor:"none",a=e.borderColor?e.borderColor:"#444444",s=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:a,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};Gre(n,l);let u=r.boundaryFont();u.fontWeight="bold",u.fontSize=u.fontSize+2,u.fontColor=s,d0(r)(e.label.text,n,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},u),e.type&&e.type.text!==""&&(u=r.boundaryFont(),u.fontColor=s,d0(r)(e.type.text,n,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},u)),e.descr&&e.descr.text!==""&&(u=r.boundaryFont(),u.fontSize=u.fontSize-2,u.fontColor=s,d0(r)(e.descr.text,n,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},u))},"drawBoundary"),gnr=x(function(t,e,r){var h;let n=e.bgColor?e.bgColor:r[e.typeC4Shape.text+"_bg_color"],i=e.borderColor?e.borderColor:r[e.typeC4Shape.text+"_border_color"],a=e.fontColor?e.fontColor:"#FFFFFF",s="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":s="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":s="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 o=t.append("g");o.attr("class","person-man");const l=uu();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":l.x=e.x,l.y=e.y,l.fill=n,l.width=e.width,l.height=e.height,l.stroke=i,l.rx=2.5,l.ry=2.5,l.attrs={"stroke-width":.5},Gre(o,l);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":o.append("path").attr("fill",n).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",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),o.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",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":o.append("path").attr("fill",n).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",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),o.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",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2));break}let u=Tnr(r,e.typeC4Shape.text);switch(o.append("text").attr("fill",a).attr("font-family",u.fontFamily).attr("font-size",u.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":fPe(o,48,48,e.x+e.width/2-24,e.y+e.image.Y,s);break}let d=r[e.typeC4Shape.text+"Font"]();return d.fontWeight="bold",d.fontSize=d.fontSize+2,d.fontColor=a,d0(r)(e.label.text,o,e.x,e.y+e.label.Y,e.width,e.height,{fill:a},d),d=r[e.typeC4Shape.text+"Font"](),d.fontColor=a,e.techn&&((h=e.techn)==null?void 0:h.text)!==""?d0(r)(e.techn.text,o,e.x,e.y+e.techn.Y,e.width,e.height,{fill:a,"font-style":"italic"},d):e.type&&e.type.text!==""&&d0(r)(e.type.text,o,e.x,e.y+e.type.Y,e.width,e.height,{fill:a,"font-style":"italic"},d),e.descr&&e.descr.text!==""&&(d=r.personFont(),d.fontColor=a,d0(r)(e.descr.text,o,e.x,e.y+e.descr.Y,e.width,e.height,{fill:a},d)),e.height},"drawC4Shape"),mnr=x(function(t,e){t.append("defs").append("symbol").attr("id",e+"-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")},"insertDatabaseIcon"),Unr=x(function(t,e){t.append("defs").append("symbol").attr("id",e+"-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")},"insertComputerIcon"),ynr=x(function(t,e){t.append("defs").append("symbol").attr("id",e+"-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")},"insertClockIcon"),bnr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-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")},"insertArrowHead"),vnr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-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")},"insertArrowEnd"),xnr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-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")},"insertArrowFilledHead"),wnr=x(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.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"),n.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")},"insertArrowCrossHead"),Tnr=x((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),d0=(function(){function t(i,a,s,o,l,u,d){const h=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("text-anchor","middle").text(i);n(h,d)}x(t,"byText");function e(i,a,s,o,l,u,d,h){const{fontSize:f,fontFamily:p,fontWeight:g}=h,m=i.split(Vt.lineBreakRegex);for(let U=0;U<m.length;U++){const y=U*f-f*(m.length-1)/2,b=a.append("text").attr("x",s+l/2).attr("y",o).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",f).style("font-weight",g).style("font-family",p);b.append("tspan").attr("dy",y).text(m[U]).attr("alignment-baseline","mathematical"),n(b,d)}}x(e,"byTspan");function r(i,a,s,o,l,u,d,h){const f=a.append("switch"),g=f.append("foreignObject").attr("x",s).attr("y",o).attr("width",l).attr("height",u).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),e(i,f,s,o,l,u,d,h),n(g,d)}x(r,"byFo");function n(i,a){for(const s in a)a.hasOwnProperty(s)&&i.attr(s,a[s])}return x(n,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?r:i.textPlacement==="old"?t:e}})(),wh={drawRect:Gre,drawBoundary:pnr,drawC4Shape:gnr,drawRels:fnr,drawImage:fPe,insertArrowHead:bnr,insertArrowEnd:vnr,insertArrowFilledHead:xnr,insertArrowCrossHead:wnr,insertDatabaseIcon:mnr,insertComputerIcon:Unr,insertClockIcon:ynr},gN=0,mN=0,pPe=4,pY=2;hN.yy=fY;var kr={},qb,gPe=(qb=class{constructor(e){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,gY(e.db.getConfig())}setData(e,r,n,i){this.nextData.startx=this.data.startx=e,this.nextData.stopx=this.data.stopx=r,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=i}updateVal(e,r,n,i){e[r]===void 0?e[r]=n:e[r]=i(n,e[r])}insert(e){this.nextData.cnt=this.nextData.cnt+1;let r=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+e.margin:this.nextData.stopx+e.margin*2,n=r+e.width,i=this.nextData.starty+e.margin*2,a=i+e.height;(r>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>pPe)&&(r=this.nextData.startx+e.margin+kr.nextLinePaddingX,i=this.nextData.stopy+e.margin*2,this.nextData.stopx=n=r+e.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=a=i+e.height,this.nextData.cnt=1),e.x=r,e.y=i,this.updateVal(this.data,"startx",r,Math.min),this.updateVal(this.data,"starty",i,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",a,Math.max),this.updateVal(this.nextData,"startx",r,Math.min),this.updateVal(this.nextData,"starty",i,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",a,Math.max)}init(e){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},gY(e.db.getConfig())}bumpLastMargin(e){this.data.stopx+=e,this.data.stopy+=e}},x(qb,"Bounds"),qb),gY=x(function(t){ls(kr,t),t.fontFamily&&(kr.personFontFamily=kr.systemFontFamily=kr.messageFontFamily=t.fontFamily),t.fontSize&&(kr.personFontSize=kr.systemFontSize=kr.messageFontSize=t.fontSize),t.fontWeight&&(kr.personFontWeight=kr.systemFontWeight=kr.messageFontWeight=t.fontWeight)},"setConf"),d9=x((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),EM=x(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),Cnr=x(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function _u(t,e,r,n,i){if(!e[t].width)if(r)e[t].text=qx(e[t].text,i,n),e[t].textLines=e[t].text.split(Vt.lineBreakRegex).length,e[t].width=i,e[t].height=vI(e[t].text,n);else{let a=e[t].text.split(Vt.lineBreakRegex);e[t].textLines=a.length;let s=0;e[t].height=0,e[t].width=0;for(const o of a)e[t].width=Math.max(Bl(o,n),e[t].width),s=vI(o,n),e[t].height=e[t].height+s}}x(_u,"calcC4ShapeTextWH");var mPe=x(function(t,e,r){e.x=r.data.startx,e.y=r.data.starty,e.width=r.data.stopx-r.data.startx,e.height=r.data.stopy-r.data.starty,e.label.y=kr.c4ShapeMargin-35;let n=e.wrap&&kr.wrap,i=EM(kr);i.fontSize=i.fontSize+2,i.fontWeight="bold";let a=Bl(e.label.text,i);_u("label",e,n,i,a),wh.drawBoundary(t,e,kr)},"drawBoundary"),UPe=x(function(t,e,r,n){let i=0;for(const a of n){i=0;const s=r[a];let o=d9(kr,s.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,s.typeC4Shape.width=Bl("«"+s.typeC4Shape.text+"»",o),s.typeC4Shape.height=o.fontSize+2,s.typeC4Shape.Y=kr.c4ShapePadding,i=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=i,i=s.image.Y+s.image.height;break}s.sprite&&(s.image.width=48,s.image.height=48,s.image.Y=i,i=s.image.Y+s.image.height);let l=s.wrap&&kr.wrap,u=kr.width-kr.c4ShapePadding*2,d=d9(kr,s.typeC4Shape.text);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",_u("label",s,l,d,u),s.label.Y=i+8,i=s.label.Y+s.label.height,s.type&&s.type.text!==""){s.type.text="["+s.type.text+"]";let p=d9(kr,s.typeC4Shape.text);_u("type",s,l,p,u),s.type.Y=i+5,i=s.type.Y+s.type.height}else if(s.techn&&s.techn.text!==""){s.techn.text="["+s.techn.text+"]";let p=d9(kr,s.techn.text);_u("techn",s,l,p,u),s.techn.Y=i+5,i=s.techn.Y+s.techn.height}let h=i,f=s.label.width;if(s.descr&&s.descr.text!==""){let p=d9(kr,s.typeC4Shape.text);_u("descr",s,l,p,u),s.descr.Y=i+20,i=s.descr.Y+s.descr.height,f=Math.max(s.label.width,s.descr.width),h=i-s.descr.textLines*5}f=f+kr.c4ShapePadding,s.width=Math.max(s.width||kr.width,f,kr.width),s.height=Math.max(s.height||kr.height,h,kr.height),s.margin=s.margin||kr.c4ShapeMargin,t.insert(s),wh.drawC4Shape(e,s,kr)}t.bumpLastMargin(kr.c4ShapeMargin)},"drawC4ShapeArray"),jb,bu=(jb=class{constructor(e,r){this.x=e,this.y=r}},x(jb,"Point"),jb),cUe=x(function(t,e){let r=t.x,n=t.y,i=e.x,a=e.y,s=r+t.width/2,o=n+t.height/2,l=Math.abs(r-i),u=Math.abs(n-a),d=u/l,h=t.height/t.width,f=null;return n==a&&r<i?f=new bu(r+t.width,o):n==a&&r>i?f=new bu(r,o):r==i&&n<a?f=new bu(s,n+t.height):r==i&&n>a&&(f=new bu(s,n)),r>i&&n<a?h>=d?f=new bu(r,o+d*t.width/2):f=new bu(s-l/u*t.height/2,n+t.height):r<i&&n<a?h>=d?f=new bu(r+t.width,o+d*t.width/2):f=new bu(s+l/u*t.height/2,n+t.height):r<i&&n>a?h>=d?f=new bu(r+t.width,o-d*t.width/2):f=new bu(s+t.height/2*l/u,n):r>i&&n>a&&(h>=d?f=new bu(r,o-t.width/2*d):f=new bu(s-t.height/2*l/u,n)),f},"getIntersectPoint"),Snr=x(function(t,e){let r={x:0,y:0};r.x=e.x+e.width/2,r.y=e.y+e.height/2;let n=cUe(t,r);r.x=t.x+t.width/2,r.y=t.y+t.height/2;let i=cUe(e,r);return{startPoint:n,endPoint:i}},"getIntersectPoints"),knr=x(function(t,e,r,n,i){let a=0;for(let s of e){a=a+1;let o=s.wrap&&kr.wrap,l=Cnr(kr);n.db.getC4Type()==="C4Dynamic"&&(s.label.text=a+": "+s.label.text);let d=Bl(s.label.text,l);_u("label",s,o,l,d),s.techn&&s.techn.text!==""&&(d=Bl(s.techn.text,l),_u("techn",s,o,l,d)),s.descr&&s.descr.text!==""&&(d=Bl(s.descr.text,l),_u("descr",s,o,l,d));let h=r(s.from),f=r(s.to),p=Snr(h,f);s.startPoint=p.startPoint,s.endPoint=p.endPoint}wh.drawRels(t,e,kr,i)},"drawRels");function Wre(t,e,r,n,i){let a=new gPe(i);a.data.widthLimit=r.data.widthLimit/Math.min(pY,n.length);for(let[s,o]of n.entries()){let l=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=l,l=o.image.Y+o.image.height);let u=o.wrap&&kr.wrap,d=EM(kr);if(d.fontSize=d.fontSize+2,d.fontWeight="bold",_u("label",o,u,d,a.data.widthLimit),o.label.Y=l+8,l=o.label.Y+o.label.height,o.type&&o.type.text!==""){o.type.text="["+o.type.text+"]";let g=EM(kr);_u("type",o,u,g,a.data.widthLimit),o.type.Y=l+5,l=o.type.Y+o.type.height}if(o.descr&&o.descr.text!==""){let g=EM(kr);g.fontSize=g.fontSize-2,_u("descr",o,u,g,a.data.widthLimit),o.descr.Y=l+20,l=o.descr.Y+o.descr.height}if(s==0||s%pY===0){let g=r.data.startx+kr.diagramMarginX,m=r.data.stopy+kr.diagramMarginY+l;a.setData(g,g,m,m)}else{let g=a.data.stopx!==a.data.startx?a.data.stopx+kr.diagramMarginX:a.data.startx,m=a.data.starty;a.setData(g,g,m,m)}a.name=o.alias;let h=i.db.getC4ShapeArray(o.alias),f=i.db.getC4ShapeKeys(o.alias);f.length>0&&UPe(a,t,h,f),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&Wre(t,e,a,p,i),o.alias!=="global"&&mPe(t,o,a),r.data.stopy=Math.max(a.data.stopy+kr.c4ShapeMargin,r.data.stopy),r.data.stopx=Math.max(a.data.stopx+kr.c4ShapeMargin,r.data.stopx),gN=Math.max(gN,r.data.stopx),mN=Math.max(mN,r.data.stopy)}}x(Wre,"drawInsideBoundary");var Enr=x(function(t,e,r,n){kr=Ve().c4;const i=Ve().securityLevel;let a;i==="sandbox"&&(a=vt("#i"+e));const s=vt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body");let o=n.db;n.db.setWrap(kr.wrap),pPe=o.getC4ShapeInRow(),pY=o.getC4BoundaryInRow(),he.debug(`C:${JSON.stringify(kr,null,2)}`);const l=i==="sandbox"?s.select(`[id="${e}"]`):vt(`[id="${e}"]`);wh.insertComputerIcon(l,e),wh.insertDatabaseIcon(l,e),wh.insertClockIcon(l,e);let u=new gPe(n);u.setData(kr.diagramMarginX,kr.diagramMarginX,kr.diagramMarginY,kr.diagramMarginY),u.data.widthLimit=screen.availWidth,gN=kr.diagramMarginX,mN=kr.diagramMarginY;const d=n.db.getTitle();let h=n.db.getBoundaries("");Wre(l,"",u,h,n),wh.insertArrowHead(l,e),wh.insertArrowEnd(l,e),wh.insertArrowCrossHead(l,e),wh.insertArrowFilledHead(l,e),knr(l,n.db.getRels(),n.db.getC4Shape,n,e),u.data.stopx=gN,u.data.stopy=mN;const f=u.data;let g=f.stopy-f.starty+2*kr.diagramMarginY;const U=f.stopx-f.startx+2*kr.diagramMarginX;d&&l.append("text").text(d).attr("x",(f.stopx-f.startx)/2-4*kr.diagramMarginX).attr("y",f.starty+kr.diagramMarginY),Wa(l,g,U,kr.useMaxWidth);const y=d?60:0;l.attr("viewBox",f.startx-kr.diagramMarginX+" -"+(kr.diagramMarginY+y)+" "+U+" "+(g+y)),he.debug("models:",f)},"draw"),uUe={drawPersonOrSystemArray:UPe,drawBoundary:mPe,setConf:gY,draw:Enr},Anr=x(t=>`.person {
stroke: ${t.personBorder};
fill: ${t.personBkg};
}
`,"getStyles"),Mnr=Anr,Rnr={parser:Brr,db:fY,renderer:uUe,styles:Mnr,init:x(({c4:t,wrap:e})=>{uUe.setConf(t),fY.setWrap(e)},"init")};const Inr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Rnr},Symbol.toStringTag,{value:"Module"}));var OS=x(()=>`
/* Font Awesome icon styling - consolidated */
.label-icon {
display: inline-block;
height: 1em;
overflow: visible;
vertical-align: -0.125em;
}
.node .label-icon path {
fill: currentColor;
stroke: revert;
stroke-width: revert;
}
`,"getIconStyles"),y3=x((t,e)=>{let r;return e==="sandbox"&&(r=vt("#i"+t)),vt(e==="sandbox"?r.nodes()[0].contentDocument.body:"body").select(`[id="${t}"]`)},"getDiagramElement"),_5=x((t,e,r,n)=>{t.attr("class",r);const{width:i,height:a,x:s,y:o}=Lnr(t,e);Wa(t,a,i,n);const l=Nnr(s,o,i,a,e);t.attr("viewBox",l),he.debug(`viewBox configured: ${l} with padding: ${e}`)},"setupViewPortForSVG"),Lnr=x((t,e)=>{var n;const r=((n=t.node())==null?void 0:n.getBBox())||{width:0,height:0,x:0,y:0};return{width:r.width+e*2,height:r.height+e*2,x:r.x,y:r.y}},"calculateDimensionsWithPadding"),Nnr=x((t,e,r,n,i)=>`${t-i} ${e-i} ${r} ${n}`,"createViewBox"),Onr="flowchart-",Yb,Dnr=(Yb=class{constructor(){this.vertexCounter=0,this.config=Ve(),this.diagramId="",this.vertices=new Map,this.edges=[],this.classes=new Map,this.subGraphs=[],this.subGraphLookup=new Map,this.tooltips=new Map,this.subCount=0,this.firstGraphFlag=!0,this.secCount=-1,this.posCrossRef=[],this.funs=[],this.setAccTitle=qi,this.setAccDescription=aa,this.setDiagramTitle=ra,this.getAccTitle=ia,this.getAccDescription=sa,this.getDiagramTitle=Yi,this.funs.push(this.setupToolTips.bind(this)),this.addVertex=this.addVertex.bind(this),this.firstGraph=this.firstGraph.bind(this),this.setDirection=this.setDirection.bind(this),this.addSubGraph=this.addSubGraph.bind(this),this.addLink=this.addLink.bind(this),this.setLink=this.setLink.bind(this),this.updateLink=this.updateLink.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.destructLink=this.destructLink.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setTooltip=this.setTooltip.bind(this),this.updateLinkInterpolate=this.updateLinkInterpolate.bind(this),this.setClickFun=this.setClickFun.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.lex={firstGraph:this.firstGraph.bind(this)},this.clear(),this.setGen("gen-2")}sanitizeText(e){return Vt.sanitizeText(e,this.config)}sanitizeNodeLabelType(e){switch(e){case"markdown":case"string":case"text":return e;default:return"markdown"}}setDiagramId(e){this.diagramId=e}lookUpDomId(e){for(const r of this.vertices.values())if(r.id===e)return this.diagramId?`${this.diagramId}-${r.domId}`:r.domId;return this.diagramId?`${this.diagramId}-${e}`:e}addVertex(e,r,n,i,a,s,o={},l){var p,g;if(!e||e.trim().length===0)return;let u;if(l!==void 0){let m;l.includes(`
`)?m=l+`
`:m=`{
`+l+`
}`,u=wD(m,{schema:xD})}const d=this.edges.find(m=>m.id===e);if(d){const m=u;(m==null?void 0:m.animate)!==void 0&&(d.animate=m.animate),(m==null?void 0:m.animation)!==void 0&&(d.animation=m.animation),(m==null?void 0:m.curve)!==void 0&&(d.interpolate=m.curve);return}let h,f=this.vertices.get(e);if(f===void 0&&(r===void 0&&n===void 0&&i!==void 0&&i!==null&&he.warn(`Style applied to unknown node "${e}". This may indicate a typo. The node will be created automatically.`),f={id:e,labelType:"text",domId:Onr+e+"-"+this.vertexCounter,styles:[],classes:[]},this.vertices.set(e,f)),this.vertexCounter++,r!==void 0?(this.config=Ve(),h=this.sanitizeText(r.text.trim()),f.labelType=r.type,h.startsWith('"')&&h.endsWith('"')&&(h=h.substring(1,h.length-1)),f.text=h):f.text===void 0&&(f.text=e),n!==void 0&&(f.type=n),i!=null&&i.forEach(m=>{f.styles.push(m)}),a!=null&&a.forEach(m=>{f.classes.push(m)}),s!==void 0&&(f.dir=s),f.props===void 0?f.props=o:o!==void 0&&Object.assign(f.props,o),u!==void 0){if(u.shape){if(u.shape!==u.shape.toLowerCase()||u.shape.includes("_"))throw new Error(`No such shape: ${u.shape}. Shape names should be lowercase.`);if(!pSe(u.shape))throw new Error(`No such shape: ${u.shape}.`);f.type=u==null?void 0:u.shape}u!=null&&u.label&&(f.text=u==null?void 0:u.label,f.labelType=this.sanitizeNodeLabelType(u==null?void 0:u.labelType)),u!=null&&u.icon&&(f.icon=u==null?void 0:u.icon,!((p=u.label)!=null&&p.trim())&&f.text===e&&(f.text="")),u!=null&&u.form&&(f.form=u==null?void 0:u.form),u!=null&&u.pos&&(f.pos=u==null?void 0:u.pos),u!=null&&u.img&&(f.img=u==null?void 0:u.img,!((g=u.label)!=null&&g.trim())&&f.text===e&&(f.text="")),u!=null&&u.constraint&&(f.constraint=u.constraint),u.w&&(f.assetWidth=Number(u.w)),u.h&&(f.assetHeight=Number(u.h))}}addSingleLink(e,r,n,i){const o={start:e,end:r,type:void 0,text:"",labelType:"text",classes:[],isUserDefinedId:!1,interpolate:this.edges.defaultInterpolate};he.info("abc78 Got edge...",o);const l=n.text;if(l!==void 0&&(o.text=this.sanitizeText(l.text.trim()),o.text.startsWith('"')&&o.text.endsWith('"')&&(o.text=o.text.substring(1,o.text.length-1)),o.labelType=this.sanitizeNodeLabelType(l.type)),n!==void 0&&(o.type=n.type,o.stroke=n.stroke,o.length=n.length>10?10:n.length),i&&!this.edges.some(u=>u.id===i))o.id=i,o.isUserDefinedId=!0;else{const u=this.edges.filter(d=>d.start===o.start&&d.end===o.end);u.length===0?o.id=fb(o.start,o.end,{counter:0,prefix:"L"}):o.id=fb(o.start,o.end,{counter:u.length+1,prefix:"L"})}if(this.edges.length<(this.config.maxEdges??500))he.info("Pushing edge..."),this.edges.push(o);else throw new Error(`Edge limit exceeded. ${this.edges.length} edges found, but the limit is ${this.config.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.`)}isLinkData(e){return e!==null&&typeof e=="object"&&"id"in e&&typeof e.id=="string"}addLink(e,r,n){const i=this.isLinkData(n)?n.id.replace("@",""):void 0;he.info("addLink",e,r,i);for(const a of e)for(const s of r){const o=a===e[e.length-1],l=s===r[0];o&&l?this.addSingleLink(a,s,n,i):this.addSingleLink(a,s,n,void 0)}}updateLinkInterpolate(e,r){e.forEach(n=>{n==="default"?this.edges.defaultInterpolate=r:this.edges[n].interpolate=r})}updateLink(e,r){e.forEach(n=>{var i,a,s,o,l,u;if(typeof n=="number"&&n>=this.edges.length)throw new Error(`The index ${n} for linkStyle is out of bounds. Valid indices for linkStyle are between 0 and ${this.edges.length-1}. (Help: Ensure that the index is within the range of existing edges.)`);n==="default"?this.edges.defaultStyle=r:(this.edges[n].style=r,(((a=(i=this.edges[n])==null?void 0:i.style)==null?void 0:a.length)??0)>0&&!((o=(s=this.edges[n])==null?void 0:s.style)!=null&&o.some(d=>d==null?void 0:d.startsWith("fill")))&&((u=(l=this.edges[n])==null?void 0:l.style)==null||u.push("fill:none")))})}addClass(e,r){const n=r.join().replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");e.split(",").forEach(i=>{let a=this.classes.get(i);a===void 0&&(a={id:i,styles:[],textStyles:[]},this.classes.set(i,a)),n!=null&&n.forEach(s=>{if(/color/.exec(s)){const o=s.replace("fill","bgFill");a.textStyles.push(o)}a.styles.push(s)})})}setDirection(e){this.direction=e.trim(),/.*</.exec(this.direction)&&(this.direction="RL"),/.*\^/.exec(this.direction)&&(this.direction="BT"),/.*>/.exec(this.direction)&&(this.direction="LR"),/.*v/.exec(this.direction)&&(this.direction="TB"),this.direction==="TD"&&(this.direction="TB")}setClass(e,r){for(const n of e.split(",")){const i=this.vertices.get(n);i&&i.classes.push(r);const a=this.edges.find(o=>o.id===n);a&&a.classes.push(r);const s=this.subGraphLookup.get(n);s&&s.classes.push(r)}}setTooltip(e,r){if(r!==void 0){r=this.sanitizeText(r);for(const n of e.split(","))this.tooltips.set(this.version==="gen-1"?this.lookUpDomId(n):n,r)}}setClickFun(e,r,n){if(Ve().securityLevel!=="loose"||r===void 0)return;let i=[];if(typeof n=="string"){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let s=0;s<i.length;s++){let o=i[s].trim();o.startsWith('"')&&o.endsWith('"')&&(o=o.substr(1,o.length-2)),i[s]=o}}i.length===0&&i.push(e);const a=this.vertices.get(e);a&&(a.haveCallback=!0,this.funs.push(()=>{const s=this.lookUpDomId(e),o=document.querySelector(`[id="${s}"]`);o!==null&&o.addEventListener("click",()=>{Kr.runFunc(r,...i)},!1)}))}setLink(e,r,n){e.split(",").forEach(i=>{const a=this.vertices.get(i);a!==void 0&&(a.link=Kr.formatUrl(r,this.config),a.linkTarget=n)}),this.setClass(e,"clickable")}getTooltip(e){return this.tooltips.get(e)}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFun(i,r,n)}),this.setClass(e,"clickable")}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirection(){var e;return(e=this.direction)==null?void 0:e.trim()}getVertices(){return this.vertices}getEdges(){return this.edges}getClasses(){return this.classes}setupToolTips(e){const r=zre();vt(e).select("svg").selectAll("g.node").on("mouseover",a=>{var u;const s=vt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=(u=a.currentTarget)==null?void 0:u.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.text(s.attr("title")).style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(R0.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),vt(a.currentTarget).classed("hover",!1)})}clear(e="gen-2"){this.vertices=new Map,this.classes=new Map,this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.diagramId="",this.subGraphs=[],this.subGraphLookup=new Map,this.subCount=0,this.tooltips=new Map,this.firstGraphFlag=!0,this.version=e,this.config=Ve(),Di()}setGen(e){this.version=e||"gen-2"}defaultStyle(){return"fill:#ffa;stroke: #f66; stroke-width: 3px; stroke-dasharray: 5, 5;fill:#ffa;stroke: #666;"}addSubGraph(e,r,n){let i=e.text.trim(),a=n.text;e===n&&/\s/.exec(n.text)&&(i=void 0);const o=x(g=>{const m={boolean:{},number:{},string:{}},U=[];let y;return{nodeList:g.filter(function(v){const w=typeof v;return v.stmt&&v.stmt==="dir"?(y=v.value,!1):v.trim()===""?!1:w in m?m[w].hasOwnProperty(v)?!1:m[w][v]=!0:U.includes(v)?!1:U.push(v)}),dir:y}},"uniq")(r.flat()),l=o.nodeList,u=o.dir,d=u!==void 0,h=Ve().flowchart??{},f=u??(h.inheritDir?this.getDirection()??Ve().direction??void 0:void 0);if(this.version==="gen-1")for(let g=0;g<l.length;g++)l[g]=this.lookUpDomId(l[g]);i=i??"subGraph"+this.subCount,a=a||"",a=this.sanitizeText(a),this.subCount=this.subCount+1;const p={id:i,nodes:l,title:a.trim(),classes:[],dir:f,hasExplicitDir:d,labelType:this.sanitizeNodeLabelType(n==null?void 0:n.type)};return he.info("Adding",p.id,p.nodes,p.dir),p.nodes=this.makeUniq(p,this.subGraphs).nodes,this.subGraphs.push(p),this.subGraphLookup.set(i,p),i}getPosForId(e){for(const[r,n]of this.subGraphs.entries())if(n.id===e)return r;return-1}indexNodes2(e,r){const n=this.subGraphs[r].nodes;if(this.secCount=this.secCount+1,this.secCount>2e3)return{result:!1,count:0};if(this.posCrossRef[this.secCount]=r,this.subGraphs[r].id===e)return{result:!0,count:0};let i=0,a=1;for(;i<n.length;){const s=this.getPosForId(n[i]);if(s>=0){const o=this.indexNodes2(e,s);if(o.result)return{result:!0,count:a+o.count};a=a+o.count}i=i+1}return{result:!1,count:a}}getDepthFirstPos(e){return this.posCrossRef[e]}indexNodes(){this.secCount=-1,this.subGraphs.length>0&&this.indexNodes2("none",this.subGraphs.length-1)}getSubGraphs(){return this.subGraphs}firstGraph(){return this.firstGraphFlag?(this.firstGraphFlag=!1,!0):!1}destructStartLink(e){let r=e.trim(),n="arrow_open";switch(r[0]){case"<":n="arrow_point",r=r.slice(1);break;case"x":n="arrow_cross",r=r.slice(1);break;case"o":n="arrow_circle",r=r.slice(1);break}let i="normal";return r.includes("=")&&(i="thick"),r.includes(".")&&(i="dotted"),{type:n,stroke:i}}countChar(e,r){const n=r.length;let i=0;for(let a=0;a<n;++a)r[a]===e&&++i;return i}destructEndLink(e){const r=e.trim();let n=r.slice(0,-1),i="arrow_open";switch(r.slice(-1)){case"x":i="arrow_cross",r.startsWith("x")&&(i="double_"+i,n=n.slice(1));break;case">":i="arrow_point",r.startsWith("<")&&(i="double_"+i,n=n.slice(1));break;case"o":i="arrow_circle",r.startsWith("o")&&(i="double_"+i,n=n.slice(1));break}let a="normal",s=n.length-1;n.startsWith("=")&&(a="thick"),n.startsWith("~")&&(a="invisible");const o=this.countChar(".",n);return o&&(a="dotted",s=o),{type:i,stroke:a,length:s}}destructLink(e,r){const n=this.destructEndLink(e);let i;if(r){if(i=this.destructStartLink(r),i.stroke!==n.stroke)return{type:"INVALID",stroke:"INVALID"};if(i.type==="arrow_open")i.type=n.type;else{if(i.type!==n.type)return{type:"INVALID",stroke:"INVALID"};i.type="double_"+i.type}return i.type==="double_arrow"&&(i.type="double_arrow_point"),i.length=n.length,i}return n}exists(e,r){for(const n of e)if(n.nodes.includes(r))return!0;return!1}makeUniq(e,r){const n=[];return e.nodes.forEach((i,a)=>{this.exists(r,i)||n.push(e.nodes[a])}),{nodes:n}}getTypeFromVertex(e){if(e.img)return"imageSquare";if(e.icon)return e.form==="circle"?"iconCircle":e.form==="square"?"iconSquare":e.form==="rounded"?"iconRounded":"icon";switch(e.type){case"square":case void 0:return"squareRect";case"round":return"roundedRect";case"ellipse":return"ellipse";default:return e.type}}findNode(e,r){return e.find(n=>n.id===r)}destructEdgeType(e){let r="none",n="arrow_point";switch(e){case"arrow_point":case"arrow_circle":case"arrow_cross":n=e;break;case"double_arrow_point":case"double_arrow_circle":case"double_arrow_cross":r=e.replace("double_",""),n=r;break}return{arrowTypeStart:r,arrowTypeEnd:n}}addNodeFromVertex(e,r,n,i,a,s){var d;const o=n.get(e.id),l=i.get(e.id)??!1,u=this.findNode(r,e.id);if(u)u.cssStyles=e.styles,u.cssCompiledStyles=this.getCompiledStyles(e.classes),u.cssClasses=e.classes.join(" ");else{const h={id:e.id,label:e.text,labelType:e.labelType,labelStyle:"",parentId:o,padding:((d=a.flowchart)==null?void 0:d.padding)||8,cssStyles:e.styles,cssCompiledStyles:this.getCompiledStyles(["default","node",...e.classes]),cssClasses:"default "+e.classes.join(" "),dir:e.dir,domId:e.domId,look:s,link:e.link,linkTarget:e.linkTarget,tooltip:this.getTooltip(e.id),icon:e.icon,pos:e.pos,img:e.img,assetWidth:e.assetWidth,assetHeight:e.assetHeight,constraint:e.constraint};l?r.push({...h,isGroup:!0,shape:"rect"}):r.push({...h,isGroup:!1,shape:this.getTypeFromVertex(e)})}}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i!=null&&i.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i!=null&&i.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}getData(){const e=Ve(),r=[],n=[],i=this.getSubGraphs(),a=new Map,s=new Map;for(let u=i.length-1;u>=0;u--){const d=i[u];d.nodes.length>0&&s.set(d.id,!0);for(const h of d.nodes)a.set(h,d.id)}for(let u=i.length-1;u>=0;u--){const d=i[u];r.push({id:d.id,label:d.title,labelStyle:"",labelType:d.labelType,parentId:a.get(d.id),padding:8,cssCompiledStyles:this.getCompiledStyles(d.classes),cssClasses:d.classes.join(" "),shape:"rect",dir:d.dir==="TD"?"TB":d.dir,explicitDir:d.hasExplicitDir,isGroup:!0,look:e.look})}this.getVertices().forEach(u=>{this.addNodeFromVertex(u,r,a,s,e,e.look||"classic")});const l=this.getEdges();return l.forEach((u,d)=>{var m;const{arrowTypeStart:h,arrowTypeEnd:f}=this.destructEdgeType(u.type),p=[...l.defaultStyle??[]];u.style&&p.push(...u.style);const g={id:fb(u.start,u.end,{counter:d,prefix:"L"},u.id),isUserDefinedId:u.isUserDefinedId,start:u.start,end:u.end,type:u.type??"normal",label:u.text,labelType:u.labelType,labelpos:"c",thickness:u.stroke,minlen:u.length,classes:(u==null?void 0:u.stroke)==="invisible"?"":"edge-thickness-normal edge-pattern-solid flowchart-link",arrowTypeStart:(u==null?void 0:u.stroke)==="invisible"||(u==null?void 0:u.type)==="arrow_open"?"none":h,arrowTypeEnd:(u==null?void 0:u.stroke)==="invisible"||(u==null?void 0:u.type)==="arrow_open"?"none":f,arrowheadStyle:"fill: #333",cssCompiledStyles:this.getCompiledStyles(u.classes),labelStyle:p,style:p,pattern:u.stroke,look:e.look,animate:u.animate,animation:u.animation,curve:u.interpolate||this.edges.defaultInterpolate||((m=e.flowchart)==null?void 0:m.curve)};n.push(g)}),{nodes:r,edges:n,other:{},config:e}}defaultConfig(){return D3e.flowchart}},x(Yb,"FlowDB"),Yb),Pnr=x(function(t,e){return e.db.getClasses()},"getClasses"),_nr=x(async function(t,e,r,n,i){var f;he.info("REF0:"),he.info("Drawing state diagram (v2)",e);const{securityLevel:a,flowchart:s,layout:o}=Ve();n.db.setDiagramId(e),he.debug("Before getData: ");const l=n.db.getData();he.debug("Data: ",l);const u=y3(e,a),d=n.db.getDirection();l.type=n.type,l.layoutAlgorithm=fS(o),l.layoutAlgorithm==="dagre"&&o==="elk"&&he.warn("flowchart-elk was moved to an external package in Mermaid v11. Please refer [release notes](https://github.com/mermaid-js/mermaid/releases/tag/v11.0.0) for more details. This diagram will be rendered using `dagre` layout as a fallback."),l.direction=d,l.nodeSpacing=(s==null?void 0:s.nodeSpacing)||50,l.rankSpacing=(s==null?void 0:s.rankSpacing)||50,l.markers=["point","circle","cross"],l.diagramId=e,he.debug("REF1:",l),await J4(l,u,i);const h=((f=l.config.flowchart)==null?void 0:f.diagramPadding)??8;Kr.insertTitle(u,"flowchartTitleText",(s==null?void 0:s.titleTopMargin)||0,n.db.getDiagramTitle()),_5(u,h,"flowchart",(s==null?void 0:s.useMaxWidth)||!1)},"draw"),Bnr={getClasses:Pnr,draw:_nr},mY=(function(){var t=x(function(un,Tt,yt,Pt){for(yt=yt||{},Pt=un.length;Pt--;yt[un[Pt]]=Tt);return yt},"o"),e=[1,4],r=[1,3],n=[1,5],i=[1,8,9,10,11,27,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],a=[2,2],s=[1,13],o=[1,14],l=[1,15],u=[1,16],d=[1,23],h=[1,25],f=[1,26],p=[1,27],g=[1,50],m=[1,49],U=[1,29],y=[1,30],b=[1,31],v=[1,32],w=[1,33],T=[1,45],S=[1,47],C=[1,43],k=[1,48],E=[1,44],A=[1,51],M=[1,46],P=[1,52],N=[1,53],I=[1,34],L=[1,35],_=[1,36],D=[1,37],O=[1,38],B=[1,58],F=[1,8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],z=[1,62],$=[1,61],H=[1,63],V=[8,9,11,75,77,78],G=[1,79],K=[1,92],W=[1,97],oe=[1,96],Z=[1,93],J=[1,89],ne=[1,95],ie=[1,91],me=[1,98],te=[1,94],Re=[1,99],_e=[1,90],He=[8,9,10,11,40,75,77,78],ce=[8,9,10,11,40,46,75,77,78],de=[8,9,10,11,29,40,44,46,48,50,52,54,56,58,60,63,65,67,68,70,75,77,78,89,102,105,106,109,111,114,115,116],we=[8,9,11,44,60,75,77,78,89,102,105,106,109,111,114,115,116],ge=[44,60,89,102,105,106,109,111,114,115,116],ze=[1,122],xe=[1,123],Ee=[1,125],qe=[1,124],le=[44,60,62,74,89,102,105,106,109,111,114,115,116],pe=[1,134],Te=[1,148],re=[1,149],Y=[1,150],Q=[1,151],ue=[1,136],X=[1,138],fe=[1,142],ee=[1,143],Ae=[1,144],Me=[1,145],Ke=[1,146],Ne=[1,147],je=[1,152],Oe=[1,153],Ze=[1,132],Fe=[1,133],at=[1,140],Pe=[1,135],gt=[1,139],Ie=[1,137],St=[8,9,10,11,27,32,34,36,38,44,60,84,85,86,87,88,89,102,105,106,109,111,114,115,116,121,122,123,124,125],Et=[1,155],ot=[1,157],Ht=[8,9,11],It=[8,9,10,11,14,44,60,89,105,106,109,111,114,115,116],ht=[1,177],ve=[1,173],Lt=[1,174],xt=[1,178],mt=[1,175],Mt=[1,176],Dr=[77,116,119],ke=[8,9,10,11,12,14,27,29,32,44,60,75,84,85,86,87,88,89,90,105,109,111,114,115,116],it=[10,106],pt=[31,49,51,53,55,57,62,64,66,67,69,71,116,117,118],bt=[1,248],ir=[1,246],Br=[1,250],Sr=[1,244],jr=[1,245],Er=[1,247],an=[1,249],Cr=[1,251],Yr=[1,269],Cn=[8,9,11,106],ut=[8,9,10,11,60,84,105,106,109,110,111,112],Ut={trace:x(function(){},"trace"),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,shapeData:39,SHAPE_DATA:40,link:41,node:42,styledVertex:43,AMP:44,vertex:45,STYLE_SEPARATOR:46,idString:47,DOUBLECIRCLESTART:48,DOUBLECIRCLEEND:49,PS:50,PE:51,"(-":52,"-)":53,STADIUMSTART:54,STADIUMEND:55,SUBROUTINESTART:56,SUBROUTINEEND:57,VERTEX_WITH_PROPS_START:58,"NODE_STRING[field]":59,COLON:60,"NODE_STRING[value]":61,PIPE:62,CYLINDERSTART:63,CYLINDEREND:64,DIAMOND_START:65,DIAMOND_STOP:66,TAGEND:67,TRAPSTART:68,TRAPEND:69,INVTRAPSTART:70,INVTRAPEND:71,linkStatement:72,arrowText:73,TESTSTR:74,START_LINK:75,edgeText:76,LINK:77,LINK_ID:78,edgeTextToken:79,STR:80,MD_STR:81,textToken:82,keywords:83,STYLE:84,LINKSTYLE:85,CLASSDEF:86,CLASS:87,CLICK:88,DOWN:89,UP:90,textNoTagsToken:91,stylesOpt:92,"idString[vertex]":93,"idString[class]":94,CALLBACKNAME:95,CALLBACKARGS:96,HREF:97,LINK_TARGET:98,"STR[link]":99,"STR[tooltip]":100,alphaNum:101,DEFAULT:102,numList:103,INTERPOLATE:104,NUM:105,COMMA:106,style:107,styleComponent:108,NODE_STRING:109,UNIT:110,BRKT:111,PCT:112,idStringToken:113,MINUS:114,MULT:115,UNICODE_TEXT:116,TEXT:117,TAGSTART:118,EDGE_TEXT:119,alphaNumToken:120,direction_tb:121,direction_bt:122,direction_rl:123,direction_lr:124,direction_td:125,$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",40:"SHAPE_DATA",44:"AMP",46:"STYLE_SEPARATOR",48:"DOUBLECIRCLESTART",49:"DOUBLECIRCLEEND",50:"PS",51:"PE",52:"(-",53:"-)",54:"STADIUMSTART",55:"STADIUMEND",56:"SUBROUTINESTART",57:"SUBROUTINEEND",58:"VERTEX_WITH_PROPS_START",59:"NODE_STRING[field]",60:"COLON",61:"NODE_STRING[value]",62:"PIPE",63:"CYLINDERSTART",64:"CYLINDEREND",65:"DIAMOND_START",66:"DIAMOND_STOP",67:"TAGEND",68:"TRAPSTART",69:"TRAPEND",70:"INVTRAPSTART",71:"INVTRAPEND",74:"TESTSTR",75:"START_LINK",77:"LINK",78:"LINK_ID",80:"STR",81:"MD_STR",84:"STYLE",85:"LINKSTYLE",86:"CLASSDEF",87:"CLASS",88:"CLICK",89:"DOWN",90:"UP",93:"idString[vertex]",94:"idString[class]",95:"CALLBACKNAME",96:"CALLBACKARGS",97:"HREF",98:"LINK_TARGET",99:"STR[link]",100:"STR[tooltip]",102:"DEFAULT",104:"INTERPOLATE",105:"NUM",106:"COMMA",109:"NODE_STRING",110:"UNIT",111:"BRKT",112:"PCT",114:"MINUS",115:"MULT",116:"UNICODE_TEXT",117:"TEXT",118:"TAGSTART",119:"EDGE_TEXT",121:"direction_tb",122:"direction_bt",123:"direction_rl",124:"direction_lr",125:"direction_td"},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],[39,2],[39,1],[20,4],[20,3],[20,4],[20,2],[20,2],[20,1],[42,1],[42,6],[42,5],[43,1],[43,3],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,8],[45,4],[45,4],[45,4],[45,6],[45,4],[45,4],[45,4],[45,4],[45,4],[45,1],[41,2],[41,3],[41,3],[41,1],[41,3],[41,4],[76,1],[76,2],[76,1],[76,1],[72,1],[72,2],[73,3],[30,1],[30,2],[30,1],[30,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,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],[103,1],[103,3],[92,1],[92,3],[107,1],[107,2],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[108,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[113,1],[82,1],[82,1],[82,1],[82,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[79,1],[79,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[120,1],[47,1],[47,2],[101,1],[101,2],[33,1],[33,1],[33,1],[33,1],[33,1]],performAction:x(function(Tt,yt,Pt,ft,or,Le,ui){var Be=Le.length-1;switch(or){case 2:this.$=[];break;case 3:(!Array.isArray(Le[Be])||Le[Be].length>0)&&Le[Be-1].push(Le[Be]),this.$=Le[Be-1];break;case 4:case 183:this.$=Le[Be];break;case 11:ft.setDirection("TB"),this.$="TB";break;case 12:ft.setDirection(Le[Be-1]),this.$=Le[Be-1];break;case 27:this.$=Le[Be-1].nodes;break;case 28:case 29:case 30:case 31:case 32:this.$=[];break;case 33:this.$=ft.addSubGraph(Le[Be-6],Le[Be-1],Le[Be-4]);break;case 34:this.$=ft.addSubGraph(Le[Be-3],Le[Be-1],Le[Be-3]);break;case 35:this.$=ft.addSubGraph(void 0,Le[Be-1],void 0);break;case 37:this.$=Le[Be].trim(),ft.setAccTitle(this.$);break;case 38:case 39:this.$=Le[Be].trim(),ft.setAccDescription(this.$);break;case 43:this.$=Le[Be-1]+Le[Be];break;case 44:this.$=Le[Be];break;case 45:ft.addVertex(Le[Be-1][Le[Be-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,Le[Be]),ft.addLink(Le[Be-3].stmt,Le[Be-1],Le[Be-2]),this.$={stmt:Le[Be-1],nodes:Le[Be-1].concat(Le[Be-3].nodes)};break;case 46:ft.addLink(Le[Be-2].stmt,Le[Be],Le[Be-1]),this.$={stmt:Le[Be],nodes:Le[Be].concat(Le[Be-2].nodes)};break;case 47:ft.addLink(Le[Be-3].stmt,Le[Be-1],Le[Be-2]),this.$={stmt:Le[Be-1],nodes:Le[Be-1].concat(Le[Be-3].nodes)};break;case 48:this.$={stmt:Le[Be-1],nodes:Le[Be-1]};break;case 49:ft.addVertex(Le[Be-1][Le[Be-1].length-1],void 0,void 0,void 0,void 0,void 0,void 0,Le[Be]),this.$={stmt:Le[Be-1],nodes:Le[Be-1],shapeData:Le[Be]};break;case 50:this.$={stmt:Le[Be],nodes:Le[Be]};break;case 51:this.$=[Le[Be]];break;case 52:ft.addVertex(Le[Be-5][Le[Be-5].length-1],void 0,void 0,void 0,void 0,void 0,void 0,Le[Be-4]),this.$=Le[Be-5].concat(Le[Be]);break;case 53:this.$=Le[Be-4].concat(Le[Be]);break;case 54:this.$=Le[Be];break;case 55:this.$=Le[Be-2],ft.setClass(Le[Be-2],Le[Be]);break;case 56:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"square");break;case 57:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"doublecircle");break;case 58:this.$=Le[Be-5],ft.addVertex(Le[Be-5],Le[Be-2],"circle");break;case 59:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"ellipse");break;case 60:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"stadium");break;case 61:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"subroutine");break;case 62:this.$=Le[Be-7],ft.addVertex(Le[Be-7],Le[Be-1],"rect",void 0,void 0,void 0,Object.fromEntries([[Le[Be-5],Le[Be-3]]]));break;case 63:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"cylinder");break;case 64:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"round");break;case 65:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"diamond");break;case 66:this.$=Le[Be-5],ft.addVertex(Le[Be-5],Le[Be-2],"hexagon");break;case 67:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"odd");break;case 68:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"trapezoid");break;case 69:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"inv_trapezoid");break;case 70:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"lean_right");break;case 71:this.$=Le[Be-3],ft.addVertex(Le[Be-3],Le[Be-1],"lean_left");break;case 72:this.$=Le[Be],ft.addVertex(Le[Be]);break;case 73:Le[Be-1].text=Le[Be],this.$=Le[Be-1];break;case 74:case 75:Le[Be-2].text=Le[Be-1],this.$=Le[Be-2];break;case 76:this.$=Le[Be];break;case 77:var dn=ft.destructLink(Le[Be],Le[Be-2]);this.$={type:dn.type,stroke:dn.stroke,length:dn.length,text:Le[Be-1]};break;case 78:var dn=ft.destructLink(Le[Be],Le[Be-2]);this.$={type:dn.type,stroke:dn.stroke,length:dn.length,text:Le[Be-1],id:Le[Be-3]};break;case 79:this.$={text:Le[Be],type:"text"};break;case 80:this.$={text:Le[Be-1].text+""+Le[Be],type:Le[Be-1].type};break;case 81:this.$={text:Le[Be],type:"string"};break;case 82:this.$={text:Le[Be],type:"markdown"};break;case 83:var dn=ft.destructLink(Le[Be]);this.$={type:dn.type,stroke:dn.stroke,length:dn.length};break;case 84:var dn=ft.destructLink(Le[Be]);this.$={type:dn.type,stroke:dn.stroke,length:dn.length,id:Le[Be-1]};break;case 85:this.$=Le[Be-1];break;case 86:this.$={text:Le[Be],type:"text"};break;case 87:this.$={text:Le[Be-1].text+""+Le[Be],type:Le[Be-1].type};break;case 88:this.$={text:Le[Be],type:"string"};break;case 89:case 104:this.$={text:Le[Be],type:"markdown"};break;case 101:this.$={text:Le[Be],type:"text"};break;case 102:this.$={text:Le[Be-1].text+""+Le[Be],type:Le[Be-1].type};break;case 103:this.$={text:Le[Be],type:"text"};break;case 105:this.$=Le[Be-4],ft.addClass(Le[Be-2],Le[Be]);break;case 106:this.$=Le[Be-4],ft.setClass(Le[Be-2],Le[Be]);break;case 107:case 115:this.$=Le[Be-1],ft.setClickEvent(Le[Be-1],Le[Be]);break;case 108:case 116:this.$=Le[Be-3],ft.setClickEvent(Le[Be-3],Le[Be-2]),ft.setTooltip(Le[Be-3],Le[Be]);break;case 109:this.$=Le[Be-2],ft.setClickEvent(Le[Be-2],Le[Be-1],Le[Be]);break;case 110:this.$=Le[Be-4],ft.setClickEvent(Le[Be-4],Le[Be-3],Le[Be-2]),ft.setTooltip(Le[Be-4],Le[Be]);break;case 111:this.$=Le[Be-2],ft.setLink(Le[Be-2],Le[Be]);break;case 112:this.$=Le[Be-4],ft.setLink(Le[Be-4],Le[Be-2]),ft.setTooltip(Le[Be-4],Le[Be]);break;case 113:this.$=Le[Be-4],ft.setLink(Le[Be-4],Le[Be-2],Le[Be]);break;case 114:this.$=Le[Be-6],ft.setLink(Le[Be-6],Le[Be-4],Le[Be]),ft.setTooltip(Le[Be-6],Le[Be-2]);break;case 117:this.$=Le[Be-1],ft.setLink(Le[Be-1],Le[Be]);break;case 118:this.$=Le[Be-3],ft.setLink(Le[Be-3],Le[Be-2]),ft.setTooltip(Le[Be-3],Le[Be]);break;case 119:this.$=Le[Be-3],ft.setLink(Le[Be-3],Le[Be-2],Le[Be]);break;case 120:this.$=Le[Be-5],ft.setLink(Le[Be-5],Le[Be-4],Le[Be]),ft.setTooltip(Le[Be-5],Le[Be-2]);break;case 121:this.$=Le[Be-4],ft.addVertex(Le[Be-2],void 0,void 0,Le[Be]);break;case 122:this.$=Le[Be-4],ft.updateLink([Le[Be-2]],Le[Be]);break;case 123:this.$=Le[Be-4],ft.updateLink(Le[Be-2],Le[Be]);break;case 124:this.$=Le[Be-8],ft.updateLinkInterpolate([Le[Be-6]],Le[Be-2]),ft.updateLink([Le[Be-6]],Le[Be]);break;case 125:this.$=Le[Be-8],ft.updateLinkInterpolate(Le[Be-6],Le[Be-2]),ft.updateLink(Le[Be-6],Le[Be]);break;case 126:this.$=Le[Be-6],ft.updateLinkInterpolate([Le[Be-4]],Le[Be]);break;case 127:this.$=Le[Be-6],ft.updateLinkInterpolate(Le[Be-4],Le[Be]);break;case 128:case 130:this.$=[Le[Be]];break;case 129:case 131:Le[Be-2].push(Le[Be]),this.$=Le[Be-2];break;case 133:this.$=Le[Be-1]+Le[Be];break;case 181:this.$=Le[Be];break;case 182:this.$=Le[Be-1]+""+Le[Be];break;case 184:this.$=Le[Be-1]+""+Le[Be];break;case 185:this.$={stmt:"dir",value:"TB"};break;case 186:this.$={stmt:"dir",value:"BT"};break;case 187:this.$={stmt:"dir",value:"RL"};break;case 188:this.$={stmt:"dir",value:"LR"};break;case 189:this.$={stmt:"dir",value:"TD"};break}},"anonymous"),table:[{3:1,4:2,9:e,10:r,12:n},{1:[3]},t(i,a,{5:6}),{4:7,9:e,10:r,12:n},{4:8,9:e,10:r,12:n},{13:[1,9],14:[1,10]},{1:[2,1],6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:d,33:24,34:h,36:f,38:p,42:28,43:39,44:g,45:40,47:41,60:m,84:U,85:y,86:b,87:v,88:w,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N,121:I,122:L,123:_,124:D,125:O},t(i,[2,9]),t(i,[2,10]),t(i,[2,11]),{8:[1,55],9:[1,56],10:B,15:54,18:57},t(F,[2,3]),t(F,[2,4]),t(F,[2,5]),t(F,[2,6]),t(F,[2,7]),t(F,[2,8]),{8:z,9:$,11:H,21:59,41:60,72:64,75:[1,65],77:[1,67],78:[1,66]},{8:z,9:$,11:H,21:68},{8:z,9:$,11:H,21:69},{8:z,9:$,11:H,21:70},{8:z,9:$,11:H,21:71},{8:z,9:$,11:H,21:72},{8:z,9:$,10:[1,73],11:H,21:74},t(F,[2,36]),{35:[1,75]},{37:[1,76]},t(F,[2,39]),t(V,[2,50],{18:77,39:78,10:B,40:G}),{10:[1,80]},{10:[1,81]},{10:[1,82]},{10:[1,83]},{14:K,44:W,60:oe,80:[1,87],89:Z,95:[1,84],97:[1,85],101:86,105:J,106:ne,109:ie,111:me,114:te,115:Re,116:_e,120:88},t(F,[2,185]),t(F,[2,186]),t(F,[2,187]),t(F,[2,188]),t(F,[2,189]),t(He,[2,51]),t(He,[2,54],{46:[1,100]}),t(ce,[2,72],{113:113,29:[1,101],44:g,48:[1,102],50:[1,103],52:[1,104],54:[1,105],56:[1,106],58:[1,107],60:m,63:[1,108],65:[1,109],67:[1,110],68:[1,111],70:[1,112],89:T,102:S,105:C,106:k,109:E,111:A,114:M,115:P,116:N}),t(de,[2,181]),t(de,[2,142]),t(de,[2,143]),t(de,[2,144]),t(de,[2,145]),t(de,[2,146]),t(de,[2,147]),t(de,[2,148]),t(de,[2,149]),t(de,[2,150]),t(de,[2,151]),t(de,[2,152]),t(i,[2,12]),t(i,[2,18]),t(i,[2,19]),{9:[1,114]},t(we,[2,26],{18:115,10:B}),t(F,[2,27]),{42:116,43:39,44:g,45:40,47:41,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},t(F,[2,40]),t(F,[2,41]),t(F,[2,42]),t(ge,[2,76],{73:117,62:[1,119],74:[1,118]}),{76:120,79:121,80:ze,81:xe,116:Ee,119:qe},{75:[1,126],77:[1,127]},t(le,[2,83]),t(F,[2,28]),t(F,[2,29]),t(F,[2,30]),t(F,[2,31]),t(F,[2,32]),{10:pe,12:Te,14:re,27:Y,28:128,32:Q,44:ue,60:X,75:fe,80:[1,130],81:[1,131],83:141,84:ee,85:Ae,86:Me,87:Ke,88:Ne,89:je,90:Oe,91:129,105:Ze,109:Fe,111:at,114:Pe,115:gt,116:Ie},t(St,a,{5:154}),t(F,[2,37]),t(F,[2,38]),t(V,[2,48],{44:Et}),t(V,[2,49],{18:156,10:B,40:ot}),t(He,[2,44]),{44:g,47:158,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},{102:[1,159],103:160,105:[1,161]},{44:g,47:162,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},{44:g,47:163,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},t(Ht,[2,107],{10:[1,164],96:[1,165]}),{80:[1,166]},t(Ht,[2,115],{120:168,10:[1,167],14:K,44:W,60:oe,89:Z,105:J,106:ne,109:ie,111:me,114:te,115:Re,116:_e}),t(Ht,[2,117],{10:[1,169]}),t(It,[2,183]),t(It,[2,170]),t(It,[2,171]),t(It,[2,172]),t(It,[2,173]),t(It,[2,174]),t(It,[2,175]),t(It,[2,176]),t(It,[2,177]),t(It,[2,178]),t(It,[2,179]),t(It,[2,180]),{44:g,47:170,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},{30:171,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:179,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:181,50:[1,180],67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:182,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:183,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:184,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{109:[1,185]},{30:186,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:187,65:[1,188],67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:189,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:190,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{30:191,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},t(de,[2,182]),t(i,[2,20]),t(we,[2,25]),t(V,[2,46],{39:192,18:193,10:B,40:G}),t(ge,[2,73],{10:[1,194]}),{10:[1,195]},{30:196,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{77:[1,197],79:198,116:Ee,119:qe},t(Dr,[2,79]),t(Dr,[2,81]),t(Dr,[2,82]),t(Dr,[2,168]),t(Dr,[2,169]),{76:199,79:121,80:ze,81:xe,116:Ee,119:qe},t(le,[2,84]),{8:z,9:$,10:pe,11:H,12:Te,14:re,21:201,27:Y,29:[1,200],32:Q,44:ue,60:X,75:fe,83:141,84:ee,85:Ae,86:Me,87:Ke,88:Ne,89:je,90:Oe,91:202,105:Ze,109:Fe,111:at,114:Pe,115:gt,116:Ie},t(ke,[2,101]),t(ke,[2,103]),t(ke,[2,104]),t(ke,[2,157]),t(ke,[2,158]),t(ke,[2,159]),t(ke,[2,160]),t(ke,[2,161]),t(ke,[2,162]),t(ke,[2,163]),t(ke,[2,164]),t(ke,[2,165]),t(ke,[2,166]),t(ke,[2,167]),t(ke,[2,90]),t(ke,[2,91]),t(ke,[2,92]),t(ke,[2,93]),t(ke,[2,94]),t(ke,[2,95]),t(ke,[2,96]),t(ke,[2,97]),t(ke,[2,98]),t(ke,[2,99]),t(ke,[2,100]),{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:d,32:[1,203],33:24,34:h,36:f,38:p,42:28,43:39,44:g,45:40,47:41,60:m,84:U,85:y,86:b,87:v,88:w,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N,121:I,122:L,123:_,124:D,125:O},{10:B,18:204},{44:[1,205]},t(He,[2,43]),{10:[1,206],44:g,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:113,114:M,115:P,116:N},{10:[1,207]},{10:[1,208],106:[1,209]},t(it,[2,128]),{10:[1,210],44:g,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:113,114:M,115:P,116:N},{10:[1,211],44:g,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:113,114:M,115:P,116:N},{80:[1,212]},t(Ht,[2,109],{10:[1,213]}),t(Ht,[2,111],{10:[1,214]}),{80:[1,215]},t(It,[2,184]),{80:[1,216],98:[1,217]},t(He,[2,55],{113:113,44:g,60:m,89:T,102:S,105:C,106:k,109:E,111:A,114:M,115:P,116:N}),{31:[1,218],67:ht,82:219,116:xt,117:mt,118:Mt},t(pt,[2,86]),t(pt,[2,88]),t(pt,[2,89]),t(pt,[2,153]),t(pt,[2,154]),t(pt,[2,155]),t(pt,[2,156]),{49:[1,220],67:ht,82:219,116:xt,117:mt,118:Mt},{30:221,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{51:[1,222],67:ht,82:219,116:xt,117:mt,118:Mt},{53:[1,223],67:ht,82:219,116:xt,117:mt,118:Mt},{55:[1,224],67:ht,82:219,116:xt,117:mt,118:Mt},{57:[1,225],67:ht,82:219,116:xt,117:mt,118:Mt},{60:[1,226]},{64:[1,227],67:ht,82:219,116:xt,117:mt,118:Mt},{66:[1,228],67:ht,82:219,116:xt,117:mt,118:Mt},{30:229,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},{31:[1,230],67:ht,82:219,116:xt,117:mt,118:Mt},{67:ht,69:[1,231],71:[1,232],82:219,116:xt,117:mt,118:Mt},{67:ht,69:[1,234],71:[1,233],82:219,116:xt,117:mt,118:Mt},t(V,[2,45],{18:156,10:B,40:ot}),t(V,[2,47],{44:Et}),t(ge,[2,75]),t(ge,[2,74]),{62:[1,235],67:ht,82:219,116:xt,117:mt,118:Mt},t(ge,[2,77]),t(Dr,[2,80]),{77:[1,236],79:198,116:Ee,119:qe},{30:237,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},t(St,a,{5:238}),t(ke,[2,102]),t(F,[2,35]),{43:239,44:g,45:40,47:41,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},{10:B,18:240},{10:bt,60:ir,84:Br,92:241,105:Sr,107:242,108:243,109:jr,110:Er,111:an,112:Cr},{10:bt,60:ir,84:Br,92:252,104:[1,253],105:Sr,107:242,108:243,109:jr,110:Er,111:an,112:Cr},{10:bt,60:ir,84:Br,92:254,104:[1,255],105:Sr,107:242,108:243,109:jr,110:Er,111:an,112:Cr},{105:[1,256]},{10:bt,60:ir,84:Br,92:257,105:Sr,107:242,108:243,109:jr,110:Er,111:an,112:Cr},{44:g,47:258,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},t(Ht,[2,108]),{80:[1,259]},{80:[1,260],98:[1,261]},t(Ht,[2,116]),t(Ht,[2,118],{10:[1,262]}),t(Ht,[2,119]),t(ce,[2,56]),t(pt,[2,87]),t(ce,[2,57]),{51:[1,263],67:ht,82:219,116:xt,117:mt,118:Mt},t(ce,[2,64]),t(ce,[2,59]),t(ce,[2,60]),t(ce,[2,61]),{109:[1,264]},t(ce,[2,63]),t(ce,[2,65]),{66:[1,265],67:ht,82:219,116:xt,117:mt,118:Mt},t(ce,[2,67]),t(ce,[2,68]),t(ce,[2,70]),t(ce,[2,69]),t(ce,[2,71]),t([10,44,60,89,102,105,106,109,111,114,115,116],[2,85]),t(ge,[2,78]),{31:[1,266],67:ht,82:219,116:xt,117:mt,118:Mt},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:d,32:[1,267],33:24,34:h,36:f,38:p,42:28,43:39,44:g,45:40,47:41,60:m,84:U,85:y,86:b,87:v,88:w,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N,121:I,122:L,123:_,124:D,125:O},t(He,[2,53]),{43:268,44:g,45:40,47:41,60:m,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N},t(Ht,[2,121],{106:Yr}),t(Cn,[2,130],{108:270,10:bt,60:ir,84:Br,105:Sr,109:jr,110:Er,111:an,112:Cr}),t(ut,[2,132]),t(ut,[2,134]),t(ut,[2,135]),t(ut,[2,136]),t(ut,[2,137]),t(ut,[2,138]),t(ut,[2,139]),t(ut,[2,140]),t(ut,[2,141]),t(Ht,[2,122],{106:Yr}),{10:[1,271]},t(Ht,[2,123],{106:Yr}),{10:[1,272]},t(it,[2,129]),t(Ht,[2,105],{106:Yr}),t(Ht,[2,106],{113:113,44:g,60:m,89:T,102:S,105:C,106:k,109:E,111:A,114:M,115:P,116:N}),t(Ht,[2,110]),t(Ht,[2,112],{10:[1,273]}),t(Ht,[2,113]),{98:[1,274]},{51:[1,275]},{62:[1,276]},{66:[1,277]},{8:z,9:$,11:H,21:278},t(F,[2,34]),t(He,[2,52]),{10:bt,60:ir,84:Br,105:Sr,107:279,108:243,109:jr,110:Er,111:an,112:Cr},t(ut,[2,133]),{14:K,44:W,60:oe,89:Z,101:280,105:J,106:ne,109:ie,111:me,114:te,115:Re,116:_e,120:88},{14:K,44:W,60:oe,89:Z,101:281,105:J,106:ne,109:ie,111:me,114:te,115:Re,116:_e,120:88},{98:[1,282]},t(Ht,[2,120]),t(ce,[2,58]),{30:283,67:ht,80:ve,81:Lt,82:172,116:xt,117:mt,118:Mt},t(ce,[2,66]),t(St,a,{5:284}),t(Cn,[2,131],{108:270,10:bt,60:ir,84:Br,105:Sr,109:jr,110:Er,111:an,112:Cr}),t(Ht,[2,126],{120:168,10:[1,285],14:K,44:W,60:oe,89:Z,105:J,106:ne,109:ie,111:me,114:te,115:Re,116:_e}),t(Ht,[2,127],{120:168,10:[1,286],14:K,44:W,60:oe,89:Z,105:J,106:ne,109:ie,111:me,114:te,115:Re,116:_e}),t(Ht,[2,114]),{31:[1,287],67:ht,82:219,116:xt,117:mt,118:Mt},{6:11,7:12,8:s,9:o,10:l,11:u,20:17,22:18,23:19,24:20,25:21,26:22,27:d,32:[1,288],33:24,34:h,36:f,38:p,42:28,43:39,44:g,45:40,47:41,60:m,84:U,85:y,86:b,87:v,88:w,89:T,102:S,105:C,106:k,109:E,111:A,113:42,114:M,115:P,116:N,121:I,122:L,123:_,124:D,125:O},{10:bt,60:ir,84:Br,92:289,105:Sr,107:242,108:243,109:jr,110:Er,111:an,112:Cr},{10:bt,60:ir,84:Br,92:290,105:Sr,107:242,108:243,109:jr,110:Er,111:an,112:Cr},t(ce,[2,62]),t(F,[2,33]),t(Ht,[2,124],{106:Yr}),t(Ht,[2,125],{106:Yr})],defaultActions:{},parseError:x(function(Tt,yt){if(yt.recoverable)this.trace(Tt);else{var Pt=new Error(Tt);throw Pt.hash=yt,Pt}},"parseError"),parse:x(function(Tt){var yt=this,Pt=[0],ft=[],or=[null],Le=[],ui=this.table,Be="",dn=0,Mn=0,Ua=2,bn=1,wi=Le.slice.call(arguments,1),Rn=Object.create(this.lexer),Fo={yy:{}};for(var ed in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ed)&&(Fo.yy[ed]=this.yy[ed]);Rn.setInput(Tt,Fo.yy),Fo.yy.lexer=Rn,Fo.yy.parser=this,typeof Rn.yylloc>"u"&&(Rn.yylloc={});var ic=Rn.yylloc;Le.push(ic);var G1=Rn.options&&Rn.options.ranges;typeof Fo.yy.parseError=="function"?this.parseError=Fo.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function W1($t){Pt.length=Pt.length-2*$t,or.length=or.length-$t,Le.length=Le.length-$t}x(W1,"popStack");function q1(){var $t;return $t=ft.pop()||Rn.lex()||bn,typeof $t!="number"&&($t instanceof Array&&(ft=$t,$t=ft.pop()),$t=yt.symbols_[$t]||$t),$t}x(q1,"lex");for(var vs,ac,go,ns,Lc={},Cp,_t,De,nt;;){if(ac=Pt[Pt.length-1],this.defaultActions[ac]?go=this.defaultActions[ac]:((vs===null||typeof vs>"u")&&(vs=q1()),go=ui[ac]&&ui[ac][vs]),typeof go>"u"||!go.length||!go[0]){var Nt="";nt=[];for(Cp in ui[ac])this.terminals_[Cp]&&Cp>Ua&&nt.push("'"+this.terminals_[Cp]+"'");Rn.showPosition?Nt="Parse error on line "+(dn+1)+`:
`+Rn.showPosition()+`
Expecting `+nt.join(", ")+", got '"+(this.terminals_[vs]||vs)+"'":Nt="Parse error on line "+(dn+1)+": Unexpected "+(vs==bn?"end of input":"'"+(this.terminals_[vs]||vs)+"'"),this.parseError(Nt,{text:Rn.match,token:this.terminals_[vs]||vs,line:Rn.yylineno,loc:ic,expected:nt})}if(go[0]instanceof Array&&go.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ac+", token: "+vs);switch(go[0]){case 1:Pt.push(vs),or.push(Rn.yytext),Le.push(Rn.yylloc),Pt.push(go[1]),vs=null,Mn=Rn.yyleng,Be=Rn.yytext,dn=Rn.yylineno,ic=Rn.yylloc;break;case 2:if(_t=this.productions_[go[1]][1],Lc.$=or[or.length-_t],Lc._$={first_line:Le[Le.length-(_t||1)].first_line,last_line:Le[Le.length-1].last_line,first_column:Le[Le.length-(_t||1)].first_column,last_column:Le[Le.length-1].last_column},G1&&(Lc._$.range=[Le[Le.length-(_t||1)].range[0],Le[Le.length-1].range[1]]),ns=this.performAction.apply(Lc,[Be,Mn,dn,Fo.yy,go[1],or,Le].concat(wi)),typeof ns<"u")return ns;_t&&(Pt=Pt.slice(0,-1*_t*2),or=or.slice(0,-1*_t),Le=Le.slice(0,-1*_t)),Pt.push(this.productions_[go[1]][0]),or.push(Lc.$),Le.push(Lc._$),De=ui[Pt[Pt.length-2]][Pt[Pt.length-1]],Pt.push(De);break;case 3:return!0}}return!0},"parse")},Zt=(function(){var un={EOF:1,parseError:x(function(yt,Pt){if(this.yy.parser)this.yy.parser.parseError(yt,Pt);else throw new Error(yt)},"parseError"),setInput:x(function(Tt,yt){return this.yy=yt||this.yy||{},this._input=Tt,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},"setInput"),input:x(function(){var Tt=this._input[0];this.yytext+=Tt,this.yyleng++,this.offset++,this.match+=Tt,this.matched+=Tt;var yt=Tt.match(/(?:\r\n?|\n).*/g);return yt?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Tt},"input"),unput:x(function(Tt){var yt=Tt.length,Pt=Tt.split(/(?:\r\n?|\n)/g);this._input=Tt+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-yt),this.offset-=yt;var ft=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),Pt.length-1&&(this.yylineno-=Pt.length-1);var or=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:Pt?(Pt.length===ft.length?this.yylloc.first_column:0)+ft[ft.length-Pt.length].length-Pt[0].length:this.yylloc.first_column-yt},this.options.ranges&&(this.yylloc.range=[or[0],or[0]+this.yyleng-yt]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(Tt){this.unput(this.match.slice(Tt))},"less"),pastInput:x(function(){var Tt=this.matched.substr(0,this.matched.length-this.match.length);return(Tt.length>20?"...":"")+Tt.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var Tt=this.match;return Tt.length<20&&(Tt+=this._input.substr(0,20-Tt.length)),(Tt.substr(0,20)+(Tt.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var Tt=this.pastInput(),yt=new Array(Tt.length+1).join("-");return Tt+this.upcomingInput()+`
`+yt+"^"},"showPosition"),test_match:x(function(Tt,yt){var Pt,ft,or;if(this.options.backtrack_lexer&&(or={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&&(or.yylloc.range=this.yylloc.range.slice(0))),ft=Tt[0].match(/(?:\r\n?|\n).*/g),ft&&(this.yylineno+=ft.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:ft?ft[ft.length-1].length-ft[ft.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Tt[0].length},this.yytext+=Tt[0],this.match+=Tt[0],this.matches=Tt,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(Tt[0].length),this.matched+=Tt[0],Pt=this.performAction.call(this,this.yy,this,yt,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Pt)return Pt;if(this._backtrack){for(var Le in or)this[Le]=or[Le];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Tt,yt,Pt,ft;this._more||(this.yytext="",this.match="");for(var or=this._currentRules(),Le=0;Le<or.length;Le++)if(Pt=this._input.match(this.rules[or[Le]]),Pt&&(!yt||Pt[0].length>yt[0].length)){if(yt=Pt,ft=Le,this.options.backtrack_lexer){if(Tt=this.test_match(Pt,or[Le]),Tt!==!1)return Tt;if(this._backtrack){yt=!1;continue}else return!1}else if(!this.options.flex)break}return yt?(Tt=this.test_match(yt,or[ft]),Tt!==!1?Tt:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var yt=this.next();return yt||this.lex()},"lex"),begin:x(function(yt){this.conditionStack.push(yt)},"begin"),popState:x(function(){var yt=this.conditionStack.length-1;return yt>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(yt){return yt=this.conditionStack.length-1-Math.abs(yt||0),yt>=0?this.conditionStack[yt]:"INITIAL"},"topState"),pushState:x(function(yt){this.begin(yt)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:x(function(yt,Pt,ft,or){switch(ft){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:return this.pushState("shapeData"),Pt.yytext="",40;case 8:return this.pushState("shapeDataStr"),40;case 9:return this.popState(),40;case 10:const Le=/\n\s*/g;return Pt.yytext=Pt.yytext.replace(Le,"<br/>"),40;case 11:return 40;case 12:this.popState();break;case 13:this.begin("callbackname");break;case 14:this.popState();break;case 15:this.popState(),this.begin("callbackargs");break;case 16:return 95;case 17:this.popState();break;case 18:return 96;case 19:return"MD_STR";case 20:this.popState();break;case 21:this.begin("md_string");break;case 22:return"STR";case 23:this.popState();break;case 24:this.pushState("string");break;case 25:return 84;case 26:return 102;case 27:return 85;case 28:return 104;case 29:return 86;case 30:return 87;case 31:return 97;case 32:this.begin("click");break;case 33:this.popState();break;case 34:return 88;case 35:return yt.lex.firstGraph()&&this.begin("dir"),12;case 36:return yt.lex.firstGraph()&&this.begin("dir"),12;case 37:return yt.lex.firstGraph()&&this.begin("dir"),12;case 38:return yt.lex.firstGraph()&&this.begin("dir"),12;case 39:return 27;case 40:return 32;case 41:return 98;case 42:return 98;case 43:return 98;case 44:return 98;case 45:return this.popState(),13;case 46:return this.popState(),14;case 47:return this.popState(),14;case 48:return this.popState(),14;case 49:return this.popState(),14;case 50:return this.popState(),14;case 51:return this.popState(),14;case 52:return this.popState(),14;case 53:return this.popState(),14;case 54:return this.popState(),14;case 55:return this.popState(),14;case 56:return 121;case 57:return 122;case 58:return 123;case 59:return 124;case 60:return 125;case 61:return 78;case 62:return 105;case 63:return 111;case 64:return 46;case 65:return 60;case 66:return 44;case 67:return 8;case 68:return 106;case 69:return 115;case 70:return this.popState(),77;case 71:return this.pushState("edgeText"),75;case 72:return 119;case 73:return this.popState(),77;case 74:return this.pushState("thickEdgeText"),75;case 75:return 119;case 76:return this.popState(),77;case 77:return this.pushState("dottedEdgeText"),75;case 78:return 119;case 79:return 77;case 80:return this.popState(),53;case 81:return"TEXT";case 82:return this.pushState("ellipseText"),52;case 83:return this.popState(),55;case 84:return this.pushState("text"),54;case 85:return this.popState(),57;case 86:return this.pushState("text"),56;case 87:return 58;case 88:return this.pushState("text"),67;case 89:return this.popState(),64;case 90:return this.pushState("text"),63;case 91:return this.popState(),49;case 92:return this.pushState("text"),48;case 93:return this.popState(),69;case 94:return this.popState(),71;case 95:return 117;case 96:return this.pushState("trapText"),68;case 97:return this.pushState("trapText"),70;case 98:return 118;case 99:return 67;case 100:return 90;case 101:return"SEP";case 102:return 89;case 103:return 115;case 104:return 111;case 105:return 44;case 106:return 109;case 107:return 114;case 108:return 116;case 109:return this.popState(),62;case 110:return this.pushState("text"),62;case 111:return this.popState(),51;case 112:return this.pushState("text"),50;case 113:return this.popState(),31;case 114:return this.pushState("text"),29;case 115:return this.popState(),66;case 116:return this.pushState("text"),65;case 117:return"TEXT";case 118:return"QUOTE";case 119:return 9;case 120:return 10;case 121:return 11}},"anonymous"),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)/,/^(?:swimlane-beta\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]*)/,/^(?:.*direction\s+TD[^\n]*)/,/^(?:[^\s\"]+@(?=[^\{\"]))/,/^(?:[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:{shapeDataEndBracket:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeDataStr:{rules:[9,10,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},shapeData:{rules:[8,11,12,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackargs:{rules:[17,18,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},callbackname:{rules:[14,15,16,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},href:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},click:{rules:[21,24,33,34,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dottedEdgeText:{rules:[21,24,76,78,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},thickEdgeText:{rules:[21,24,73,75,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},edgeText:{rules:[21,24,70,72,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},trapText:{rules:[21,24,79,82,84,86,90,92,93,94,95,96,97,110,112,114,116],inclusive:!1},ellipseText:{rules:[21,24,79,80,81,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},text:{rules:[21,24,79,82,83,84,85,86,89,90,91,92,96,97,109,110,111,112,113,114,115,116,117],inclusive:!1},vertex:{rules:[21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},dir:{rules:[21,24,45,46,47,48,49,50,51,52,53,54,55,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr_multiline:{rules:[5,6,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_descr:{rules:[3,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},acc_title:{rules:[1,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},md_string:{rules:[19,20,21,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},string:{rules:[21,22,23,24,79,82,84,86,90,92,96,97,110,112,114,116],inclusive:!1},INITIAL:{rules:[0,2,4,7,13,21,24,25,26,27,28,29,30,31,32,35,36,37,38,39,40,41,42,43,44,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,76,77,79,82,84,86,87,88,90,92,96,97,98,99,100,101,102,103,104,105,106,107,108,110,112,114,116,118,119,120,121],inclusive:!0}}};return un})();Ut.lexer=Zt;function $r(){this.yy={}}return x($r,"Parser"),$r.prototype=Ut,Ut.Parser=$r,new $r})();mY.parser=mY;var yPe=mY,bPe=Object.assign({},yPe);bPe.parse=t=>{const e=t.replace(/}\s*\n/g,`}
`);return yPe.parse(e)};var $nr=bPe,Fnr=x((t,e)=>{const r=HJ,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ad(n,i,a,e)},"fade"),znr=x(t=>`.label {
font-family: ${t.fontFamily};
color: ${t.nodeTextColor||t.textColor};
}
.cluster-label text {
fill: ${t.titleColor};
}
.cluster-label span {
color: ${t.titleColor};
}
.cluster-label span p {
background-color: transparent;
}
.label text,span {
fill: ${t.nodeTextColor||t.textColor};
color: ${t.nodeTextColor||t.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: ${t.strokeWidth??1}px;
}
.rough-node .label text , .node .label text, .image-shape .label, .icon-shape .label {
text-anchor: middle;
}
.node .katex path {
fill: #000;
stroke: #000;
stroke-width: 1px;
}
.rough-node .label,.node .label, .image-shape .label, .icon-shape .label {
text-align: center;
}
.node.clickable {
cursor: pointer;
}
.root .anchor path {
fill: ${t.lineColor} !important;
stroke-width: 0;
stroke: ${t.lineColor};
}
.arrowheadPath {
fill: ${t.arrowheadColor};
}
.edgePath .path {
stroke: ${t.lineColor};
stroke-width: ${t.strokeWidth??2}px;
}
.flowchart-link {
stroke: ${t.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${Fnr(t.edgeLabelBackground,.5)};
// background-color:
}
.cluster rect {
fill: ${t.clusterBkg};
stroke: ${t.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${t.titleColor};
}
.cluster span {
color: ${t.titleColor};
}
/* .cluster div {
color: ${t.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${t.fontFamily};
font-size: 12px;
background: ${t.tertiaryColor};
border: 1px solid ${t.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
rect.text {
fill: none;
stroke-width: 0;
}
.icon-shape, .image-shape {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
padding: 2px;
}
.label rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
${OS()}
`,"getStyles"),vPe=znr,qre=x(({defaultLayout:t,styles:e=vPe}={})=>({parser:$nr,get db(){return new Dnr},renderer:Bnr,styles:e,init:x(r=>{r.flowchart||(r.flowchart={});const n=A3e().layout??t??r.layout;n&&BG({layout:n}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,BG({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}})},"init")}),"createFlowDiagram"),Hnr=qre();const jre=Object.freeze(Object.defineProperty({__proto__:null,createFlowDiagram:qre,diagram:Hnr},Symbol.toStringTag,{value:"Module"}));var Vnr=x(t=>`${vPe(t)}
.swimlane.cluster rect {
stroke: ${t.clusterBorder} !important;
}
[data-look="neo"].cluster rect {
filter: none;
}
`,"getStyles"),Gnr=Vnr,Wnr=qre({defaultLayout:"swimlane",styles:Gnr});const qnr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Wnr},Symbol.toStringTag,{value:"Module"}));var UY=(function(){var t=x(function(Re,_e,He,ce){for(He=He||{},ce=Re.length;ce--;He[Re[ce]]=_e);return He},"o"),e=[6,8,10,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52],r=[1,10],n=[1,11],i=[1,12],a=[1,13],s=[1,23],o=[1,24],l=[1,25],u=[1,26],d=[1,27],h=[1,19],f=[1,28],p=[1,29],g=[1,20],m=[1,18],U=[1,21],y=[1,22],b=[1,36],v=[1,37],w=[1,38],T=[1,39],S=[1,40],C=[6,8,10,13,15,17,20,21,22,24,26,28,33,34,35,36,37,40,43,44,48,50,51,52,66,67,68,69,70],k=[1,45],E=[1,46],A=[1,55],M=[40,48,50,51,52,71,72],P=[1,66],N=[1,64],I=[1,61],L=[1,65],_=[1,67],D=[6,8,10,13,17,22,24,26,28,33,34,35,36,37,40,41,42,43,44,48,49,50,51,52,66,67,68,69,70],O=[66,67,68,69,70],B=[1,85],F=[1,84],z=[1,82],$=[1,83],H=[6,10,42,47],V=[6,10,13,41,42,47,48,49],G=[1,93],K=[1,92],W=[1,91],oe=[19,58],Z=[1,102],J=[1,101],ne=[19,58,61,63],ie={trace:x(function(){},"trace"),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,COLON:13,role:14,STYLE_SEPARATOR:15,idList:16,BLOCK_START:17,attributes:18,BLOCK_STOP:19,SQS:20,SQE:21,title:22,title_value:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,direction:29,classDefStatement:30,classStatement:31,styleStatement:32,direction_tb:33,direction_bt:34,direction_rl:35,direction_lr:36,CLASSDEF:37,stylesOpt:38,separator:39,UNICODE_TEXT:40,STYLE_TEXT:41,COMMA:42,CLASS:43,STYLE:44,style:45,styleComponent:46,SEMI:47,NUM:48,BRKT:49,ENTITY_NAME:50,DECIMAL_NUM:51,ENTITY_ONE:52,attribute:53,attributeType:54,attributeName:55,attributeKeyTypeList:56,attributeComment:57,ATTRIBUTE_WORD:58,"?":59,attributeKeyType:60,",":61,ATTRIBUTE_KEY:62,COMMENT:63,cardinality:64,relType:65,ZERO_OR_ONE:66,ZERO_OR_MORE:67,ONE_OR_MORE:68,ONLY_ONE:69,MD_PARENT:70,NON_IDENTIFYING:71,IDENTIFYING:72,WORD:73,$accept:0,$end:1},terminals_:{2:"error",4:"ER_DIAGRAM",6:"EOF",8:"SPACE",10:"NEWLINE",13:"COLON",15:"STYLE_SEPARATOR",17:"BLOCK_START",19:"BLOCK_STOP",20:"SQS",21:"SQE",22:"title",23:"title_value",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"direction_tb",34:"direction_bt",35:"direction_rl",36:"direction_lr",37:"CLASSDEF",40:"UNICODE_TEXT",41:"STYLE_TEXT",42:"COMMA",43:"CLASS",44:"STYLE",47:"SEMI",48:"NUM",49:"BRKT",50:"ENTITY_NAME",51:"DECIMAL_NUM",52:"ENTITY_ONE",58:"ATTRIBUTE_WORD",59:"?",61:",",62:"ATTRIBUTE_KEY",63:"COMMENT",66:"ZERO_OR_ONE",67:"ZERO_OR_MORE",68:"ONE_OR_MORE",69:"ONLY_ONE",70:"MD_PARENT",71:"NON_IDENTIFYING",72:"IDENTIFYING",73:"WORD"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,5],[9,9],[9,7],[9,7],[9,4],[9,6],[9,3],[9,5],[9,1],[9,3],[9,7],[9,9],[9,6],[9,8],[9,4],[9,6],[9,2],[9,2],[9,2],[9,1],[9,1],[9,1],[9,1],[9,1],[29,1],[29,1],[29,1],[29,1],[30,4],[16,1],[16,1],[16,3],[16,3],[31,3],[32,4],[38,1],[38,3],[45,1],[45,2],[39,1],[39,1],[39,1],[46,1],[46,1],[46,1],[46,1],[11,1],[11,1],[11,1],[11,1],[11,1],[18,1],[18,2],[53,2],[53,3],[53,3],[53,4],[54,1],[54,2],[55,1],[56,1],[56,3],[60,1],[57,1],[12,3],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[14,1],[14,1],[14,1]],performAction:x(function(_e,He,ce,de,we,ge,ze){var xe=ge.length-1;switch(we){case 1:break;case 2:this.$=[];break;case 3:ge[xe-1].push(ge[xe]),this.$=ge[xe-1];break;case 4:case 5:this.$=ge[xe];break;case 6:case 7:this.$=[];break;case 8:de.addEntity(ge[xe-4]),de.addEntity(ge[xe-2]),de.addRelationship(ge[xe-4],ge[xe],ge[xe-2],ge[xe-3]);break;case 9:de.addEntity(ge[xe-8]),de.addEntity(ge[xe-4]),de.addRelationship(ge[xe-8],ge[xe],ge[xe-4],ge[xe-5]),de.setClass([ge[xe-8]],ge[xe-6]),de.setClass([ge[xe-4]],ge[xe-2]);break;case 10:de.addEntity(ge[xe-6]),de.addEntity(ge[xe-2]),de.addRelationship(ge[xe-6],ge[xe],ge[xe-2],ge[xe-3]),de.setClass([ge[xe-6]],ge[xe-4]);break;case 11:de.addEntity(ge[xe-6]),de.addEntity(ge[xe-4]),de.addRelationship(ge[xe-6],ge[xe],ge[xe-4],ge[xe-5]),de.setClass([ge[xe-4]],ge[xe-2]);break;case 12:de.addEntity(ge[xe-3]),de.addAttributes(ge[xe-3],ge[xe-1]);break;case 13:de.addEntity(ge[xe-5]),de.addAttributes(ge[xe-5],ge[xe-1]),de.setClass([ge[xe-5]],ge[xe-3]);break;case 14:de.addEntity(ge[xe-2]);break;case 15:de.addEntity(ge[xe-4]),de.setClass([ge[xe-4]],ge[xe-2]);break;case 16:de.addEntity(ge[xe]);break;case 17:de.addEntity(ge[xe-2]),de.setClass([ge[xe-2]],ge[xe]);break;case 18:de.addEntity(ge[xe-6],ge[xe-4]),de.addAttributes(ge[xe-6],ge[xe-1]);break;case 19:de.addEntity(ge[xe-8],ge[xe-6]),de.addAttributes(ge[xe-8],ge[xe-1]),de.setClass([ge[xe-8]],ge[xe-3]);break;case 20:de.addEntity(ge[xe-5],ge[xe-3]);break;case 21:de.addEntity(ge[xe-7],ge[xe-5]),de.setClass([ge[xe-7]],ge[xe-2]);break;case 22:de.addEntity(ge[xe-3],ge[xe-1]);break;case 23:de.addEntity(ge[xe-5],ge[xe-3]),de.setClass([ge[xe-5]],ge[xe]);break;case 24:case 25:this.$=ge[xe].trim(),de.setAccTitle(this.$);break;case 26:case 27:this.$=ge[xe].trim(),de.setAccDescription(this.$);break;case 32:de.setDirection("TB");break;case 33:de.setDirection("BT");break;case 34:de.setDirection("RL");break;case 35:de.setDirection("LR");break;case 36:this.$=ge[xe-3],de.addClass(ge[xe-2],ge[xe-1]);break;case 37:case 38:case 59:case 68:this.$=[ge[xe]];break;case 39:case 40:this.$=ge[xe-2].concat([ge[xe]]);break;case 41:this.$=ge[xe-2],de.setClass(ge[xe-1],ge[xe]);break;case 42:this.$=ge[xe-3],de.addCssStyles(ge[xe-2],ge[xe-1]);break;case 43:this.$=[ge[xe]];break;case 44:ge[xe-2].push(ge[xe]),this.$=ge[xe-2];break;case 46:this.$=ge[xe-1]+ge[xe];break;case 54:case 80:case 81:this.$=ge[xe].replace(/"/g,"");break;case 55:case 56:case 57:case 58:case 82:this.$=ge[xe];break;case 60:ge[xe].push(ge[xe-1]),this.$=ge[xe];break;case 61:this.$={type:ge[xe-1],name:ge[xe]};break;case 62:this.$={type:ge[xe-2],name:ge[xe-1],keys:ge[xe]};break;case 63:this.$={type:ge[xe-2],name:ge[xe-1],comment:ge[xe]};break;case 64:this.$={type:ge[xe-3],name:ge[xe-2],keys:ge[xe-1],comment:ge[xe]};break;case 65:case 67:case 70:this.$=ge[xe];break;case 66:this.$=ge[xe-1]+ge[xe];break;case 69:ge[xe-2].push(ge[xe]),this.$=ge[xe-2];break;case 71:this.$=ge[xe].replace(/"/g,"");break;case 72:this.$={cardA:ge[xe],relType:ge[xe-1],cardB:ge[xe-2]};break;case 73:this.$=de.Cardinality.ZERO_OR_ONE;break;case 74:this.$=de.Cardinality.ZERO_OR_MORE;break;case 75:this.$=de.Cardinality.ONE_OR_MORE;break;case 76:this.$=de.Cardinality.ONLY_ONE;break;case 77:this.$=de.Cardinality.MD_PARENT;break;case 78:this.$=de.Identification.NON_IDENTIFYING;break;case 79:this.$=de.Identification.IDENTIFYING;break}},"anonymous"),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,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:d,40:h,43:f,44:p,48:g,50:m,51:U,52:y},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:30,11:9,22:r,24:n,26:i,28:a,29:14,30:15,31:16,32:17,33:s,34:o,35:l,36:u,37:d,40:h,43:f,44:p,48:g,50:m,51:U,52:y},t(e,[2,5]),t(e,[2,6]),t(e,[2,16],{12:31,64:35,15:[1,32],17:[1,33],20:[1,34],66:b,67:v,68:w,69:T,70:S}),{23:[1,41]},{25:[1,42]},{27:[1,43]},t(e,[2,27]),t(e,[2,28]),t(e,[2,29]),t(e,[2,30]),t(e,[2,31]),t(C,[2,54]),t(C,[2,55]),t(C,[2,56]),t(C,[2,57]),t(C,[2,58]),t(e,[2,32]),t(e,[2,33]),t(e,[2,34]),t(e,[2,35]),{16:44,40:k,41:E},{16:47,40:k,41:E},{16:48,40:k,41:E},t(e,[2,4]),{11:49,40:h,48:g,50:m,51:U,52:y},{16:50,40:k,41:E},{18:51,19:[1,52],53:53,54:54,58:A},{11:56,40:h,48:g,50:m,51:U,52:y},{65:57,71:[1,58],72:[1,59]},t(M,[2,73]),t(M,[2,74]),t(M,[2,75]),t(M,[2,76]),t(M,[2,77]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),{13:P,38:60,41:N,42:I,45:62,46:63,48:L,49:_},t(D,[2,37]),t(D,[2,38]),{16:68,40:k,41:E,42:I},{13:P,38:69,41:N,42:I,45:62,46:63,48:L,49:_},{13:[1,70],15:[1,71]},t(e,[2,17],{64:35,12:72,17:[1,73],42:I,66:b,67:v,68:w,69:T,70:S}),{19:[1,74]},t(e,[2,14]),{18:75,19:[2,59],53:53,54:54,58:A},{55:76,58:[1,77]},{58:[2,65],59:[1,78]},{21:[1,79]},{64:80,66:b,67:v,68:w,69:T,70:S},t(O,[2,78]),t(O,[2,79]),{6:B,10:F,39:81,42:z,47:$},{40:[1,86],41:[1,87]},t(H,[2,43],{46:88,13:P,41:N,48:L,49:_}),t(V,[2,45]),t(V,[2,50]),t(V,[2,51]),t(V,[2,52]),t(V,[2,53]),t(e,[2,41],{42:I}),{6:B,10:F,39:89,42:z,47:$},{14:90,40:G,50:K,73:W},{16:94,40:k,41:E},{11:95,40:h,48:g,50:m,51:U,52:y},{18:96,19:[1,97],53:53,54:54,58:A},t(e,[2,12]),{19:[2,60]},t(oe,[2,61],{56:98,57:99,60:100,62:Z,63:J}),t([19,58,62,63],[2,67]),{58:[2,66]},t(e,[2,22],{15:[1,104],17:[1,103]}),t([40,48,50,51,52],[2,72]),t(e,[2,36]),{13:P,41:N,45:105,46:63,48:L,49:_},t(e,[2,47]),t(e,[2,48]),t(e,[2,49]),t(D,[2,39]),t(D,[2,40]),t(V,[2,46]),t(e,[2,42]),t(e,[2,8]),t(e,[2,80]),t(e,[2,81]),t(e,[2,82]),{13:[1,106],42:I},{13:[1,108],15:[1,107]},{19:[1,109]},t(e,[2,15]),t(oe,[2,62],{57:110,61:[1,111],63:J}),t(oe,[2,63]),t(ne,[2,68]),t(oe,[2,71]),t(ne,[2,70]),{18:112,19:[1,113],53:53,54:54,58:A},{16:114,40:k,41:E},t(H,[2,44],{46:88,13:P,41:N,48:L,49:_}),{14:115,40:G,50:K,73:W},{16:116,40:k,41:E},{14:117,40:G,50:K,73:W},t(e,[2,13]),t(oe,[2,64]),{60:118,62:Z},{19:[1,119]},t(e,[2,20]),t(e,[2,23],{17:[1,120],42:I}),t(e,[2,11]),{13:[1,121],42:I},t(e,[2,10]),t(ne,[2,69]),t(e,[2,18]),{18:122,19:[1,123],53:53,54:54,58:A},{14:124,40:G,50:K,73:W},{19:[1,125]},t(e,[2,21]),t(e,[2,9]),t(e,[2,19])],defaultActions:{75:[2,60],78:[2,66]},parseError:x(function(_e,He){if(He.recoverable)this.trace(_e);else{var ce=new Error(_e);throw ce.hash=He,ce}},"parseError"),parse:x(function(_e){var He=this,ce=[0],de=[],we=[null],ge=[],ze=this.table,xe="",Ee=0,qe=0,le=2,pe=1,Te=ge.slice.call(arguments,1),re=Object.create(this.lexer),Y={yy:{}};for(var Q in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Q)&&(Y.yy[Q]=this.yy[Q]);re.setInput(_e,Y.yy),Y.yy.lexer=re,Y.yy.parser=this,typeof re.yylloc>"u"&&(re.yylloc={});var ue=re.yylloc;ge.push(ue);var X=re.options&&re.options.ranges;typeof Y.yy.parseError=="function"?this.parseError=Y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function fe(gt){ce.length=ce.length-2*gt,we.length=we.length-gt,ge.length=ge.length-gt}x(fe,"popStack");function ee(){var gt;return gt=de.pop()||re.lex()||pe,typeof gt!="number"&&(gt instanceof Array&&(de=gt,gt=de.pop()),gt=He.symbols_[gt]||gt),gt}x(ee,"lex");for(var Ae,Me,Ke,Ne,je={},Oe,Ze,Fe,at;;){if(Me=ce[ce.length-1],this.defaultActions[Me]?Ke=this.defaultActions[Me]:((Ae===null||typeof Ae>"u")&&(Ae=ee()),Ke=ze[Me]&&ze[Me][Ae]),typeof Ke>"u"||!Ke.length||!Ke[0]){var Pe="";at=[];for(Oe in ze[Me])this.terminals_[Oe]&&Oe>le&&at.push("'"+this.terminals_[Oe]+"'");re.showPosition?Pe="Parse error on line "+(Ee+1)+`:
`+re.showPosition()+`
Expecting `+at.join(", ")+", got '"+(this.terminals_[Ae]||Ae)+"'":Pe="Parse error on line "+(Ee+1)+": Unexpected "+(Ae==pe?"end of input":"'"+(this.terminals_[Ae]||Ae)+"'"),this.parseError(Pe,{text:re.match,token:this.terminals_[Ae]||Ae,line:re.yylineno,loc:ue,expected:at})}if(Ke[0]instanceof Array&&Ke.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Me+", token: "+Ae);switch(Ke[0]){case 1:ce.push(Ae),we.push(re.yytext),ge.push(re.yylloc),ce.push(Ke[1]),Ae=null,qe=re.yyleng,xe=re.yytext,Ee=re.yylineno,ue=re.yylloc;break;case 2:if(Ze=this.productions_[Ke[1]][1],je.$=we[we.length-Ze],je._$={first_line:ge[ge.length-(Ze||1)].first_line,last_line:ge[ge.length-1].last_line,first_column:ge[ge.length-(Ze||1)].first_column,last_column:ge[ge.length-1].last_column},X&&(je._$.range=[ge[ge.length-(Ze||1)].range[0],ge[ge.length-1].range[1]]),Ne=this.performAction.apply(je,[xe,qe,Ee,Y.yy,Ke[1],we,ge].concat(Te)),typeof Ne<"u")return Ne;Ze&&(ce=ce.slice(0,-1*Ze*2),we=we.slice(0,-1*Ze),ge=ge.slice(0,-1*Ze)),ce.push(this.productions_[Ke[1]][0]),we.push(je.$),ge.push(je._$),Fe=ze[ce[ce.length-2]][ce[ce.length-1]],ce.push(Fe);break;case 3:return!0}}return!0},"parse")},me=(function(){var Re={EOF:1,parseError:x(function(He,ce){if(this.yy.parser)this.yy.parser.parseError(He,ce);else throw new Error(He)},"parseError"),setInput:x(function(_e,He){return this.yy=He||this.yy||{},this._input=_e,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},"setInput"),input:x(function(){var _e=this._input[0];this.yytext+=_e,this.yyleng++,this.offset++,this.match+=_e,this.matched+=_e;var He=_e.match(/(?:\r\n?|\n).*/g);return He?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_e},"input"),unput:x(function(_e){var He=_e.length,ce=_e.split(/(?:\r\n?|\n)/g);this._input=_e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-He),this.offset-=He;var de=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),ce.length-1&&(this.yylineno-=ce.length-1);var we=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:ce?(ce.length===de.length?this.yylloc.first_column:0)+de[de.length-ce.length].length-ce[0].length:this.yylloc.first_column-He},this.options.ranges&&(this.yylloc.range=[we[0],we[0]+this.yyleng-He]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(_e){this.unput(this.match.slice(_e))},"less"),pastInput:x(function(){var _e=this.matched.substr(0,this.matched.length-this.match.length);return(_e.length>20?"...":"")+_e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var _e=this.match;return _e.length<20&&(_e+=this._input.substr(0,20-_e.length)),(_e.substr(0,20)+(_e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var _e=this.pastInput(),He=new Array(_e.length+1).join("-");return _e+this.upcomingInput()+`
`+He+"^"},"showPosition"),test_match:x(function(_e,He){var ce,de,we;if(this.options.backtrack_lexer&&(we={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&&(we.yylloc.range=this.yylloc.range.slice(0))),de=_e[0].match(/(?:\r\n?|\n).*/g),de&&(this.yylineno+=de.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:de?de[de.length-1].length-de[de.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_e[0].length},this.yytext+=_e[0],this.match+=_e[0],this.matches=_e,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(_e[0].length),this.matched+=_e[0],ce=this.performAction.call(this,this.yy,this,He,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ce)return ce;if(this._backtrack){for(var ge in we)this[ge]=we[ge];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _e,He,ce,de;this._more||(this.yytext="",this.match="");for(var we=this._currentRules(),ge=0;ge<we.length;ge++)if(ce=this._input.match(this.rules[we[ge]]),ce&&(!He||ce[0].length>He[0].length)){if(He=ce,de=ge,this.options.backtrack_lexer){if(_e=this.test_match(ce,we[ge]),_e!==!1)return _e;if(this._backtrack){He=!1;continue}else return!1}else if(!this.options.flex)break}return He?(_e=this.test_match(He,we[de]),_e!==!1?_e:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var He=this.next();return He||this.lex()},"lex"),begin:x(function(He){this.conditionStack.push(He)},"begin"),popState:x(function(){var He=this.conditionStack.length-1;return He>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(He){return He=this.conditionStack.length-1-Math.abs(He||0),He>=0?this.conditionStack[He]:"INITIAL"},"topState"),pushState:x(function(He){this.begin(He)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(He,ce,de,we){switch(de){case 0:return this.begin("acc_title"),24;case 1:return this.popState(),"acc_title_value";case 2:return this.begin("acc_descr"),26;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 33;case 8:return 34;case 9:return 35;case 10:return 36;case 11:return 10;case 12:break;case 13:return 8;case 14:return 50;case 15:return 73;case 16:return 4;case 17:return this.begin("block"),17;case 18:return 49;case 19:return 49;case 20:return 42;case 21:return 15;case 22:return 13;case 23:break;case 24:return 62;case 25:return 58;case 26:return 58;case 27:this.begin("block_bq");break;case 28:return 58;case 29:this.popState();break;case 30:return 63;case 31:break;case 32:return this.popState(),19;case 33:return ce.yytext[0];case 34:return 20;case 35:return 21;case 36:return this.begin("style"),44;case 37:return this.popState(),10;case 38:break;case 39:return 13;case 40:return 42;case 41:return 49;case 42:return this.begin("style"),37;case 43:return 43;case 44:return 66;case 45:return 68;case 46:return 68;case 47:return 68;case 48:return 66;case 49:return 66;case 50:return 67;case 51:return 67;case 52:return 67;case 53:return 67;case 54:return 67;case 55:return 68;case 56:return 67;case 57:return 68;case 58:return 69;case 59:return 69;case 60:return 51;case 61:return 69;case 62:return 69;case 63:return 69;case 64:return 52;case 65:return 48;case 66:return 69;case 67:return 66;case 68:return 67;case 69:return 68;case 70:return 70;case 71:return 71;case 72:return 72;case 73:return 72;case 74:return 71;case 75:return 71;case 76:return 71;case 77:return 41;case 78:return 47;case 79:return 40;case 80:return ce.yytext[0];case 81:return 6}},"anonymous"),rules:[/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:[\s]+)/i,/^(?:"[^"%\r\n\v\b\\]+")/i,/^(?:"[^"]*")/i,/^(?:erDiagram\b)/i,/^(?:\{)/i,/^(?:#)/i,/^(?:#)/i,/^(?:,)/i,/^(?::::)/i,/^(?::)/i,/^(?:\s+)/i,/^(?:\b((?:PK)|(?:FK)|(?:UK))\b)/i,/^(?:([^\s]*)[~].*[~]([^\s]*))/i,/^(?:([\*A-Za-z_\u00C0-\uFFFF][A-Za-z0-9\-\_\[\]\(\)\.,\u00C0-\uFFFF\*]*))/i,/^(?:[`])/i,/^(?:[^`]+)/i,/^(?:[`])/i,/^(?:"[^"]*")/i,/^(?:[\n]+)/i,/^(?:\})/i,/^(?:.)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:style\b)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?::)/i,/^(?:,)/i,/^(?:#)/i,/^(?:classDef\b)/i,/^(?:class\b)/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,/^(?:[0-9]+\.[0-9]+)/i,/^(?:1(?=\s+[A-Za-z_"']))/i,/^(?:1(?=\s+[0-9]))/i,/^(?:1(?=(--|\.\.|\.-|-\.)))/i,/^(?:1\b)/i,/^(?:[0-9]+)/i,/^(?:\|\|)/i,/^(?:o\|)/i,/^(?:o\{)/i,/^(?:\|\{)/i,/^(?:u(?=[\.\-\|]))/i,/^(?:\.\.)/i,/^(?:--)/i,/^(?:to\b)/i,/^(?:optionally to\b)/i,/^(?:\.-)/i,/^(?:-\.)/i,/^(?:([^\x00-\x7F]|\w|-|\*)+)/i,/^(?:;)/i,/^(?:([^\x00-\x7F]|\w|-|\*|\.)+)/i,/^(?:.)/i,/^(?:$)/i],conditions:{style:{rules:[37,38,39,40,41,77,78],inclusive:!1},acc_descr_multiline:{rules:[5,6],inclusive:!1},acc_descr:{rules:[3],inclusive:!1},acc_title:{rules:[1],inclusive:!1},block_bq:{rules:[28,29],inclusive:!1},block:{rules:[23,24,25,26,27,30,31,32,33],inclusive:!1},INITIAL:{rules:[0,2,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,34,35,36,42,43,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,75,76,79,80,81],inclusive:!0}}};return Re})();ie.lexer=me;function te(){this.yy={}}return x(te,"Parser"),te.prototype=ie,ie.Parser=te,new te})();UY.parser=UY;var jnr=UY,Xb,Ynr=(Xb=class{constructor(){this.entities=new Map,this.relationships=[],this.classes=new Map,this.direction="TB",this.Cardinality={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"},this.Identification={NON_IDENTIFYING:"NON_IDENTIFYING",IDENTIFYING:"IDENTIFYING"},this.setAccTitle=qi,this.getAccTitle=ia,this.setAccDescription=aa,this.getAccDescription=sa,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.getConfig=x(()=>Ve().er,"getConfig"),this.clear(),this.addEntity=this.addEntity.bind(this),this.addAttributes=this.addAttributes.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setDirection=this.setDirection.bind(this),this.addCssStyles=this.addCssStyles.bind(this),this.addClass=this.addClass.bind(this),this.setClass=this.setClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}addEntity(e,r=""){var n;return this.entities.has(e)?!((n=this.entities.get(e))!=null&&n.alias)&&r&&(this.entities.get(e).alias=r,he.info(`Add alias '${r}' to entity '${e}'`)):(this.entities.set(e,{id:`entity-${e}-${this.entities.size}`,label:e,attributes:[],alias:r,shape:"erBox",look:Ve().look??"default",cssClasses:"default",cssStyles:[],labelType:"markdown"}),he.info("Added new entity :",e)),this.entities.get(e)}getEntity(e){return this.entities.get(e)}getEntities(){return this.entities}getClasses(){return this.classes}addAttributes(e,r){const n=this.addEntity(e);let i;for(i=r.length-1;i>=0;i--)r[i].keys||(r[i].keys=[]),r[i].comment||(r[i].comment=""),n.attributes.push(r[i]),he.debug("Added attribute ",r[i].name)}addRelationship(e,r,n,i){const a=this.entities.get(e),s=this.entities.get(n);if(!a||!s)return;const o={entityA:a.id,roleA:r,entityB:s.id,relSpec:i};this.relationships.push(o),he.debug("Added new relationship :",o)}getRelationships(){return this.relationships}getDirection(){return this.direction}setDirection(e){this.direction=e}getCompiledStyles(e){let r=[];for(const n of e){const i=this.classes.get(n);i!=null&&i.styles&&(r=[...r,...i.styles??[]].map(a=>a.trim())),i!=null&&i.textStyles&&(r=[...r,...i.textStyles??[]].map(a=>a.trim()))}return r}addCssStyles(e,r){for(const n of e){const i=this.entities.get(n);if(!r||!i)return;for(const a of r)i.cssStyles.push(a)}}addClass(e,r){e.forEach(n=>{let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)})})}setClass(e,r){for(const n of e){const i=this.entities.get(n);if(i)for(const a of r)i.cssClasses+=" "+a}}clear(){this.entities=new Map,this.classes=new Map,this.relationships=[],Di()}getData(){const e=[],r=[],n=Ve();let i=0;for(const s of this.entities.keys()){const o=this.entities.get(s);o&&(o.cssCompiledStyles=this.getCompiledStyles(o.cssClasses.split(" ")),o.colorIndex=i++,e.push(o))}let a=0;for(const s of this.relationships){const o={id:fb(s.entityA,s.entityB,{prefix:"id",counter:a++}),type:"normal",curve:"basis",start:s.entityA,end:s.entityB,label:s.roleA,labelpos:"c",thickness:"normal",classes:"relationshipLine",arrowTypeStart:s.relSpec.cardB.toLowerCase(),arrowTypeEnd:s.relSpec.cardA.toLowerCase(),pattern:s.relSpec.relType=="IDENTIFYING"?"solid":"dashed",look:n.look,labelType:"markdown"};r.push(o)}return{nodes:e,edges:r,other:{},config:n,direction:"TB"}}},x(Xb,"ErDB"),Xb),xPe={};oD(xPe,{draw:()=>Xnr});var Xnr=x(async function(t,e,r,n){he.info("REF0:"),he.info("Drawing er diagram (unified)",e);const{securityLevel:i,er:a,layout:s}=Ve(),o=n.db.getData(),l=y3(e,i);o.type=n.type,o.layoutAlgorithm=fS(s),o.config.flowchart.nodeSpacing=(a==null?void 0:a.nodeSpacing)||140,o.config.flowchart.rankSpacing=(a==null?void 0:a.rankSpacing)||80,o.direction=n.db.getDirection();const{config:u}=o,{look:d}=u;d==="neo"?o.markers=["only_one_neo","zero_or_one_neo","one_or_more_neo","zero_or_more_neo"]:o.markers=["only_one","zero_or_one","one_or_more","zero_or_more"],o.diagramId=e,await J4(o,l),o.layoutAlgorithm==="elk"&&l.select(".edges").lower();const h=l.selectAll('[id*="-background"]');Array.from(h).length>0&&h.each(function(){const p=vt(this),m=p.attr("id").replace("-background",""),U=l.select(`#${CSS.escape(m)}`);if(!U.empty()){const y=U.attr("transform");p.attr("transform",y)}});const f=8;Kr.insertTitle(l,"erDiagramTitleText",(a==null?void 0:a.titleTopMargin)??25,n.db.getDiagramTitle()),_5(l,f,"erDiagram",(a==null?void 0:a.useMaxWidth)??!0)},"draw"),dUe=x((t,e)=>{const r=HJ,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ad(n,i,a,e)},"fade"),AM=new Set(["redux-color","redux-dark-color"]),Knr=x(t=>{const{theme:e,look:r,bkgColorArray:n,borderColorArray:i}=t;if(!AM.has(e))return"";const a=(n==null?void 0:n.length)>0;let s="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)s+=`
[data-look="${r}"][data-color-id="color-${o}"].node path {
stroke: ${i[o]};
${a?`fill: ${n[o]};`:""}
}
[data-look="${r}"][data-color-id="color-${o}"].node rect {
stroke: ${i[o]};
${a?`fill: ${n[o]};`:""}
}
`;return s},"genColor"),Znr=x(t=>{const{look:e,theme:r,erEdgeLabelBackground:n,strokeWidth:i}=t;return`
${Knr(t)}
.entityBox {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
}
.relationshipLabelBox {
fill: ${t.tertiaryColor};
opacity: 0.7;
background-color: ${t.tertiaryColor};
rect {
opacity: 0.5;
}
}
.labelBkg {
background-color: ${AM.has(r)&&n?n:dUe(t.tertiaryColor,.5)};
}
.edgeLabel {
background-color: ${AM.has(r)&&n?n:t.edgeLabelBackground};
}
.edgeLabel .label rect {
fill: ${AM.has(r)&&n?n:t.edgeLabelBackground};
}
.edgeLabel .label text {
fill: ${t.textColor};
}
.edgeLabel .label {
fill: ${t.nodeBorder};
font-size: 14px;
}
.label {
font-family: ${t.fontFamily};
color: ${t.nodeTextColor||t.textColor};
}
.edge-pattern-dashed {
stroke-dasharray: 8,8;
}
.node rect,
.node circle,
.node ellipse,
.node polygon
{
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: ${e==="neo"?i:"1px"};
}
.relationshipLine {
stroke: ${t.lineColor};
stroke-width: ${e==="neo"?i:"1px"};
fill: none;
}
.marker {
fill: none !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[data-look=neo].labelBkg {
background-color: ${dUe(t.tertiaryColor,.5)};
}
`},"getStyles"),Jnr=Znr,Qnr={parser:jnr,get db(){return new Ynr},renderer:xPe,styles:Jnr};const eir=Object.freeze(Object.defineProperty({__proto__:null,diagram:Qnr},Symbol.toStringTag,{value:"Module"}));var Kb,Yre=(Kb=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},x(Kb,"ImperativeState"),Kb);function ec(t,e){var r,n,i;t.accDescr&&((r=e.setAccDescription)==null||r.call(e,t.accDescr)),t.accTitle&&((n=e.setAccTitle)==null||n.call(e,t.accTitle)),t.title&&((i=e.setDiagramTitle)==null||i.call(e,t.title))}x(ec,"populateCommonDb");var tir=Object.create,DS=Object.defineProperty,rir=Object.getOwnPropertyDescriptor,Xre=Object.getOwnPropertyNames,nir=Object.getPrototypeOf,iir=Object.prototype.hasOwnProperty,R=(t,e)=>DS(t,"name",{value:e,configurable:!0}),air=(t,e)=>function(){return t&&(e=(0,t[Xre(t)[0]])(t=0)),e},mn=(t,e)=>function(){return e||(0,t[Xre(t)[0]])((e={exports:{}}).exports,e),e.exports},_1=(t,e)=>{for(var r in e)DS(t,r,{get:e[r],enumerable:!0})},Kre=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Xre(e))!iir.call(t,i)&&i!==r&&DS(t,i,{get:()=>e[i],enumerable:!(n=rir(e,i))||n.enumerable});return t},QP=(t,e,r)=>(Kre(t,e,"default"),r),Zre=(t,e,r)=>(r=t!=null?tir(nir(t)):{},Kre(DS(r,"default",{value:t,enumerable:!0}),t)),Jre=t=>Kre(DS({},"__esModule",{value:!0}),t),e_={};_1(e_,{AnnotatedTextEdit:()=>Vf,ChangeAnnotation:()=>Em,ChangeAnnotationIdentifier:()=>bo,CodeAction:()=>ZY,CodeActionContext:()=>KY,CodeActionKind:()=>XY,CodeActionTriggerKind:()=>fx,CodeDescription:()=>EY,CodeLens:()=>JY,Color:()=>RM,ColorInformation:()=>xY,ColorPresentation:()=>wY,Command:()=>km,CompletionItem:()=>_Y,CompletionItemKind:()=>IY,CompletionItemLabelDetails:()=>PY,CompletionItemTag:()=>NY,CompletionList:()=>BY,CreateFile:()=>l2,DeleteFile:()=>u2,Diagnostic:()=>cx,DiagnosticRelatedInformation:()=>IM,DiagnosticSeverity:()=>SY,DiagnosticTag:()=>kY,DocumentHighlight:()=>VY,DocumentHighlightKind:()=>HY,DocumentLink:()=>eX,DocumentSymbol:()=>YY,DocumentUri:()=>yY,EOL:()=>TPe,FoldingRange:()=>CY,FoldingRangeKind:()=>TY,FormattingOptions:()=>QY,Hover:()=>$Y,InlayHint:()=>cX,InlayHintKind:()=>OM,InlayHintLabelPart:()=>DM,InlineCompletionContext:()=>gX,InlineCompletionItem:()=>dX,InlineCompletionList:()=>hX,InlineCompletionTriggerKind:()=>fX,InlineValueContext:()=>lX,InlineValueEvaluatableExpression:()=>oX,InlineValueText:()=>aX,InlineValueVariableLookup:()=>sX,InsertReplaceEdit:()=>OY,InsertTextFormat:()=>LY,InsertTextMode:()=>DY,Location:()=>lx,LocationLink:()=>vY,MarkedString:()=>hx,MarkupContent:()=>d2,MarkupKind:()=>NM,OptionalVersionedTextDocumentIdentifier:()=>dx,ParameterInformation:()=>FY,Position:()=>di,Range:()=>zn,RenameFile:()=>c2,SelectedCompletionInfo:()=>pX,SelectionRange:()=>tX,SemanticTokenModifiers:()=>nX,SemanticTokenTypes:()=>rX,SemanticTokens:()=>iX,SignatureInformation:()=>zY,StringValue:()=>uX,SymbolInformation:()=>qY,SymbolKind:()=>GY,SymbolTag:()=>WY,TextDocument:()=>UX,TextDocumentEdit:()=>ux,TextDocumentIdentifier:()=>AY,TextDocumentItem:()=>RY,TextEdit:()=>dh,URI:()=>MM,VersionedTextDocumentIdentifier:()=>MY,WorkspaceChange:()=>wPe,WorkspaceEdit:()=>LM,WorkspaceFolder:()=>mX,WorkspaceSymbol:()=>jY,integer:()=>bY,uinteger:()=>ox});var yY,MM,bY,ox,di,zn,lx,vY,RM,xY,wY,TY,CY,IM,SY,kY,EY,cx,km,dh,Em,bo,Vf,ux,l2,c2,u2,LM,h9,DH,wPe,AY,MY,dx,RY,NM,d2,IY,LY,NY,OY,DY,PY,_Y,BY,hx,$Y,FY,zY,HY,VY,GY,WY,qY,jY,YY,XY,fx,KY,ZY,JY,QY,eX,tX,rX,nX,iX,aX,sX,oX,lX,OM,DM,cX,uX,dX,hX,fX,pX,gX,mX,TPe,UX,hUe,st,PS=air({"../../node_modules/.pnpm/vscode-languageserver-types@3.17.5/node_modules/vscode-languageserver-types/lib/esm/main.js"(){var t,e,r,n;(function(i){function a(s){return typeof s=="string"}R(a,"is"),i.is=a})(yY||(yY={})),(function(i){function a(s){return typeof s=="string"}R(a,"is"),i.is=a})(MM||(MM={})),(function(i){i.MIN_VALUE=-2147483648,i.MAX_VALUE=2147483647;function a(s){return typeof s=="number"&&i.MIN_VALUE<=s&&s<=i.MAX_VALUE}R(a,"is"),i.is=a})(bY||(bY={})),(function(i){i.MIN_VALUE=0,i.MAX_VALUE=2147483647;function a(s){return typeof s=="number"&&i.MIN_VALUE<=s&&s<=i.MAX_VALUE}R(a,"is"),i.is=a})(ox||(ox={})),(function(i){function a(o,l){return o===Number.MAX_VALUE&&(o=ox.MAX_VALUE),l===Number.MAX_VALUE&&(l=ox.MAX_VALUE),{line:o,character:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.objectLiteral(l)&&st.uinteger(l.line)&&st.uinteger(l.character)}R(s,"is"),i.is=s})(di||(di={})),(function(i){function a(o,l,u,d){if(st.uinteger(o)&&st.uinteger(l)&&st.uinteger(u)&&st.uinteger(d))return{start:di.create(o,l),end:di.create(u,d)};if(di.is(o)&&di.is(l))return{start:o,end:l};throw new Error(`Range#create called with invalid arguments[${o}, ${l}, ${u}, ${d}]`)}R(a,"create"),i.create=a;function s(o){let l=o;return st.objectLiteral(l)&&di.is(l.start)&&di.is(l.end)}R(s,"is"),i.is=s})(zn||(zn={})),(function(i){function a(o,l){return{uri:o,range:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.objectLiteral(l)&&zn.is(l.range)&&(st.string(l.uri)||st.undefined(l.uri))}R(s,"is"),i.is=s})(lx||(lx={})),(function(i){function a(o,l,u,d){return{targetUri:o,targetRange:l,targetSelectionRange:u,originSelectionRange:d}}R(a,"create"),i.create=a;function s(o){let l=o;return st.objectLiteral(l)&&zn.is(l.targetRange)&&st.string(l.targetUri)&&zn.is(l.targetSelectionRange)&&(zn.is(l.originSelectionRange)||st.undefined(l.originSelectionRange))}R(s,"is"),i.is=s})(vY||(vY={})),(function(i){function a(o,l,u,d){return{red:o,green:l,blue:u,alpha:d}}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&st.numberRange(l.red,0,1)&&st.numberRange(l.green,0,1)&&st.numberRange(l.blue,0,1)&&st.numberRange(l.alpha,0,1)}R(s,"is"),i.is=s})(RM||(RM={})),(function(i){function a(o,l){return{range:o,color:l}}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&zn.is(l.range)&&RM.is(l.color)}R(s,"is"),i.is=s})(xY||(xY={})),(function(i){function a(o,l,u){return{label:o,textEdit:l,additionalTextEdits:u}}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&st.string(l.label)&&(st.undefined(l.textEdit)||dh.is(l))&&(st.undefined(l.additionalTextEdits)||st.typedArray(l.additionalTextEdits,dh.is))}R(s,"is"),i.is=s})(wY||(wY={})),(function(i){i.Comment="comment",i.Imports="imports",i.Region="region"})(TY||(TY={})),(function(i){function a(o,l,u,d,h,f){const p={startLine:o,endLine:l};return st.defined(u)&&(p.startCharacter=u),st.defined(d)&&(p.endCharacter=d),st.defined(h)&&(p.kind=h),st.defined(f)&&(p.collapsedText=f),p}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&st.uinteger(l.startLine)&&st.uinteger(l.startLine)&&(st.undefined(l.startCharacter)||st.uinteger(l.startCharacter))&&(st.undefined(l.endCharacter)||st.uinteger(l.endCharacter))&&(st.undefined(l.kind)||st.string(l.kind))}R(s,"is"),i.is=s})(CY||(CY={})),(function(i){function a(o,l){return{location:o,message:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&lx.is(l.location)&&st.string(l.message)}R(s,"is"),i.is=s})(IM||(IM={})),(function(i){i.Error=1,i.Warning=2,i.Information=3,i.Hint=4})(SY||(SY={})),(function(i){i.Unnecessary=1,i.Deprecated=2})(kY||(kY={})),(function(i){function a(s){const o=s;return st.objectLiteral(o)&&st.string(o.href)}R(a,"is"),i.is=a})(EY||(EY={})),(function(i){function a(o,l,u,d,h,f){let p={range:o,message:l};return st.defined(u)&&(p.severity=u),st.defined(d)&&(p.code=d),st.defined(h)&&(p.source=h),st.defined(f)&&(p.relatedInformation=f),p}R(a,"create"),i.create=a;function s(o){var l;let u=o;return st.defined(u)&&zn.is(u.range)&&st.string(u.message)&&(st.number(u.severity)||st.undefined(u.severity))&&(st.integer(u.code)||st.string(u.code)||st.undefined(u.code))&&(st.undefined(u.codeDescription)||st.string((l=u.codeDescription)===null||l===void 0?void 0:l.href))&&(st.string(u.source)||st.undefined(u.source))&&(st.undefined(u.relatedInformation)||st.typedArray(u.relatedInformation,IM.is))}R(s,"is"),i.is=s})(cx||(cx={})),(function(i){function a(o,l,...u){let d={title:o,command:l};return st.defined(u)&&u.length>0&&(d.arguments=u),d}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.string(l.title)&&st.string(l.command)}R(s,"is"),i.is=s})(km||(km={})),(function(i){function a(u,d){return{range:u,newText:d}}R(a,"replace"),i.replace=a;function s(u,d){return{range:{start:u,end:u},newText:d}}R(s,"insert"),i.insert=s;function o(u){return{range:u,newText:""}}R(o,"del"),i.del=o;function l(u){const d=u;return st.objectLiteral(d)&&st.string(d.newText)&&zn.is(d.range)}R(l,"is"),i.is=l})(dh||(dh={})),(function(i){function a(o,l,u){const d={label:o};return l!==void 0&&(d.needsConfirmation=l),u!==void 0&&(d.description=u),d}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&st.string(l.label)&&(st.boolean(l.needsConfirmation)||l.needsConfirmation===void 0)&&(st.string(l.description)||l.description===void 0)}R(s,"is"),i.is=s})(Em||(Em={})),(function(i){function a(s){const o=s;return st.string(o)}R(a,"is"),i.is=a})(bo||(bo={})),(function(i){function a(u,d,h){return{range:u,newText:d,annotationId:h}}R(a,"replace"),i.replace=a;function s(u,d,h){return{range:{start:u,end:u},newText:d,annotationId:h}}R(s,"insert"),i.insert=s;function o(u,d){return{range:u,newText:"",annotationId:d}}R(o,"del"),i.del=o;function l(u){const d=u;return dh.is(d)&&(Em.is(d.annotationId)||bo.is(d.annotationId))}R(l,"is"),i.is=l})(Vf||(Vf={})),(function(i){function a(o,l){return{textDocument:o,edits:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&dx.is(l.textDocument)&&Array.isArray(l.edits)}R(s,"is"),i.is=s})(ux||(ux={})),(function(i){function a(o,l,u){let d={kind:"create",uri:o};return l!==void 0&&(l.overwrite!==void 0||l.ignoreIfExists!==void 0)&&(d.options=l),u!==void 0&&(d.annotationId=u),d}R(a,"create"),i.create=a;function s(o){let l=o;return l&&l.kind==="create"&&st.string(l.uri)&&(l.options===void 0||(l.options.overwrite===void 0||st.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||st.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||bo.is(l.annotationId))}R(s,"is"),i.is=s})(l2||(l2={})),(function(i){function a(o,l,u,d){let h={kind:"rename",oldUri:o,newUri:l};return u!==void 0&&(u.overwrite!==void 0||u.ignoreIfExists!==void 0)&&(h.options=u),d!==void 0&&(h.annotationId=d),h}R(a,"create"),i.create=a;function s(o){let l=o;return l&&l.kind==="rename"&&st.string(l.oldUri)&&st.string(l.newUri)&&(l.options===void 0||(l.options.overwrite===void 0||st.boolean(l.options.overwrite))&&(l.options.ignoreIfExists===void 0||st.boolean(l.options.ignoreIfExists)))&&(l.annotationId===void 0||bo.is(l.annotationId))}R(s,"is"),i.is=s})(c2||(c2={})),(function(i){function a(o,l,u){let d={kind:"delete",uri:o};return l!==void 0&&(l.recursive!==void 0||l.ignoreIfNotExists!==void 0)&&(d.options=l),u!==void 0&&(d.annotationId=u),d}R(a,"create"),i.create=a;function s(o){let l=o;return l&&l.kind==="delete"&&st.string(l.uri)&&(l.options===void 0||(l.options.recursive===void 0||st.boolean(l.options.recursive))&&(l.options.ignoreIfNotExists===void 0||st.boolean(l.options.ignoreIfNotExists)))&&(l.annotationId===void 0||bo.is(l.annotationId))}R(s,"is"),i.is=s})(u2||(u2={})),(function(i){function a(s){let o=s;return o&&(o.changes!==void 0||o.documentChanges!==void 0)&&(o.documentChanges===void 0||o.documentChanges.every(l=>st.string(l.kind)?l2.is(l)||c2.is(l)||u2.is(l):ux.is(l)))}R(a,"is"),i.is=a})(LM||(LM={})),h9=(t=class{constructor(a,s){this.edits=a,this.changeAnnotations=s}insert(a,s,o){let l,u;if(o===void 0?l=dh.insert(a,s):bo.is(o)?(u=o,l=Vf.insert(a,s,o)):(this.assertChangeAnnotations(this.changeAnnotations),u=this.changeAnnotations.manage(o),l=Vf.insert(a,s,u)),this.edits.push(l),u!==void 0)return u}replace(a,s,o){let l,u;if(o===void 0?l=dh.replace(a,s):bo.is(o)?(u=o,l=Vf.replace(a,s,o)):(this.assertChangeAnnotations(this.changeAnnotations),u=this.changeAnnotations.manage(o),l=Vf.replace(a,s,u)),this.edits.push(l),u!==void 0)return u}delete(a,s){let o,l;if(s===void 0?o=dh.del(a):bo.is(s)?(l=s,o=Vf.del(a,s)):(this.assertChangeAnnotations(this.changeAnnotations),l=this.changeAnnotations.manage(s),o=Vf.del(a,l)),this.edits.push(o),l!==void 0)return l}add(a){this.edits.push(a)}all(){return this.edits}clear(){this.edits.splice(0,this.edits.length)}assertChangeAnnotations(a){if(a===void 0)throw new Error("Text edit change is not configured to manage change annotations.")}},R(t,"TextEditChangeImpl"),t),DH=(e=class{constructor(a){this._annotations=a===void 0?Object.create(null):a,this._counter=0,this._size=0}all(){return this._annotations}get size(){return this._size}manage(a,s){let o;if(bo.is(a)?o=a:(o=this.nextId(),s=a),this._annotations[o]!==void 0)throw new Error(`Id ${o} is already in use.`);if(s===void 0)throw new Error(`No annotation provided for id ${o}`);return this._annotations[o]=s,this._size++,o}nextId(){return this._counter++,this._counter.toString()}},R(e,"ChangeAnnotations"),e),wPe=(r=class{constructor(a){this._textEditChanges=Object.create(null),a!==void 0?(this._workspaceEdit=a,a.documentChanges?(this._changeAnnotations=new DH(a.changeAnnotations),a.changeAnnotations=this._changeAnnotations.all(),a.documentChanges.forEach(s=>{if(ux.is(s)){const o=new h9(s.edits,this._changeAnnotations);this._textEditChanges[s.textDocument.uri]=o}})):a.changes&&Object.keys(a.changes).forEach(s=>{const o=new h9(a.changes[s]);this._textEditChanges[s]=o})):this._workspaceEdit={}}get edit(){return this.initDocumentChanges(),this._changeAnnotations!==void 0&&(this._changeAnnotations.size===0?this._workspaceEdit.changeAnnotations=void 0:this._workspaceEdit.changeAnnotations=this._changeAnnotations.all()),this._workspaceEdit}getTextEditChange(a){if(dx.is(a)){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");const s={uri:a.uri,version:a.version};let o=this._textEditChanges[s.uri];if(!o){const l=[],u={textDocument:s,edits:l};this._workspaceEdit.documentChanges.push(u),o=new h9(l,this._changeAnnotations),this._textEditChanges[s.uri]=o}return o}else{if(this.initChanges(),this._workspaceEdit.changes===void 0)throw new Error("Workspace edit is not configured for normal text edit changes.");let s=this._textEditChanges[a];if(!s){let o=[];this._workspaceEdit.changes[a]=o,s=new h9(o),this._textEditChanges[a]=s}return s}}initDocumentChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._changeAnnotations=new DH,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())}initChanges(){this._workspaceEdit.documentChanges===void 0&&this._workspaceEdit.changes===void 0&&(this._workspaceEdit.changes=Object.create(null))}createFile(a,s,o){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;Em.is(s)||bo.is(s)?l=s:o=s;let u,d;if(l===void 0?u=l2.create(a,o):(d=bo.is(l)?l:this._changeAnnotations.manage(l),u=l2.create(a,o,d)),this._workspaceEdit.documentChanges.push(u),d!==void 0)return d}renameFile(a,s,o,l){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let u;Em.is(o)||bo.is(o)?u=o:l=o;let d,h;if(u===void 0?d=c2.create(a,s,l):(h=bo.is(u)?u:this._changeAnnotations.manage(u),d=c2.create(a,s,l,h)),this._workspaceEdit.documentChanges.push(d),h!==void 0)return h}deleteFile(a,s,o){if(this.initDocumentChanges(),this._workspaceEdit.documentChanges===void 0)throw new Error("Workspace edit is not configured for document changes.");let l;Em.is(s)||bo.is(s)?l=s:o=s;let u,d;if(l===void 0?u=u2.create(a,o):(d=bo.is(l)?l:this._changeAnnotations.manage(l),u=u2.create(a,o,d)),this._workspaceEdit.documentChanges.push(u),d!==void 0)return d}},R(r,"WorkspaceChange"),r),(function(i){function a(o){return{uri:o}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.string(l.uri)}R(s,"is"),i.is=s})(AY||(AY={})),(function(i){function a(o,l){return{uri:o,version:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.string(l.uri)&&st.integer(l.version)}R(s,"is"),i.is=s})(MY||(MY={})),(function(i){function a(o,l){return{uri:o,version:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.string(l.uri)&&(l.version===null||st.integer(l.version))}R(s,"is"),i.is=s})(dx||(dx={})),(function(i){function a(o,l,u,d){return{uri:o,languageId:l,version:u,text:d}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.string(l.uri)&&st.string(l.languageId)&&st.integer(l.version)&&st.string(l.text)}R(s,"is"),i.is=s})(RY||(RY={})),(function(i){i.PlainText="plaintext",i.Markdown="markdown";function a(s){const o=s;return o===i.PlainText||o===i.Markdown}R(a,"is"),i.is=a})(NM||(NM={})),(function(i){function a(s){const o=s;return st.objectLiteral(s)&&NM.is(o.kind)&&st.string(o.value)}R(a,"is"),i.is=a})(d2||(d2={})),(function(i){i.Text=1,i.Method=2,i.Function=3,i.Constructor=4,i.Field=5,i.Variable=6,i.Class=7,i.Interface=8,i.Module=9,i.Property=10,i.Unit=11,i.Value=12,i.Enum=13,i.Keyword=14,i.Snippet=15,i.Color=16,i.File=17,i.Reference=18,i.Folder=19,i.EnumMember=20,i.Constant=21,i.Struct=22,i.Event=23,i.Operator=24,i.TypeParameter=25})(IY||(IY={})),(function(i){i.PlainText=1,i.Snippet=2})(LY||(LY={})),(function(i){i.Deprecated=1})(NY||(NY={})),(function(i){function a(o,l,u){return{newText:o,insert:l,replace:u}}R(a,"create"),i.create=a;function s(o){const l=o;return l&&st.string(l.newText)&&zn.is(l.insert)&&zn.is(l.replace)}R(s,"is"),i.is=s})(OY||(OY={})),(function(i){i.asIs=1,i.adjustIndentation=2})(DY||(DY={})),(function(i){function a(s){const o=s;return o&&(st.string(o.detail)||o.detail===void 0)&&(st.string(o.description)||o.description===void 0)}R(a,"is"),i.is=a})(PY||(PY={})),(function(i){function a(s){return{label:s}}R(a,"create"),i.create=a})(_Y||(_Y={})),(function(i){function a(s,o){return{items:s||[],isIncomplete:!!o}}R(a,"create"),i.create=a})(BY||(BY={})),(function(i){function a(o){return o.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}R(a,"fromPlainText"),i.fromPlainText=a;function s(o){const l=o;return st.string(l)||st.objectLiteral(l)&&st.string(l.language)&&st.string(l.value)}R(s,"is"),i.is=s})(hx||(hx={})),(function(i){function a(s){let o=s;return!!o&&st.objectLiteral(o)&&(d2.is(o.contents)||hx.is(o.contents)||st.typedArray(o.contents,hx.is))&&(s.range===void 0||zn.is(s.range))}R(a,"is"),i.is=a})($Y||($Y={})),(function(i){function a(s,o){return o?{label:s,documentation:o}:{label:s}}R(a,"create"),i.create=a})(FY||(FY={})),(function(i){function a(s,o,...l){let u={label:s};return st.defined(o)&&(u.documentation=o),st.defined(l)?u.parameters=l:u.parameters=[],u}R(a,"create"),i.create=a})(zY||(zY={})),(function(i){i.Text=1,i.Read=2,i.Write=3})(HY||(HY={})),(function(i){function a(s,o){let l={range:s};return st.number(o)&&(l.kind=o),l}R(a,"create"),i.create=a})(VY||(VY={})),(function(i){i.File=1,i.Module=2,i.Namespace=3,i.Package=4,i.Class=5,i.Method=6,i.Property=7,i.Field=8,i.Constructor=9,i.Enum=10,i.Interface=11,i.Function=12,i.Variable=13,i.Constant=14,i.String=15,i.Number=16,i.Boolean=17,i.Array=18,i.Object=19,i.Key=20,i.Null=21,i.EnumMember=22,i.Struct=23,i.Event=24,i.Operator=25,i.TypeParameter=26})(GY||(GY={})),(function(i){i.Deprecated=1})(WY||(WY={})),(function(i){function a(s,o,l,u,d){let h={name:s,kind:o,location:{uri:u,range:l}};return d&&(h.containerName=d),h}R(a,"create"),i.create=a})(qY||(qY={})),(function(i){function a(s,o,l,u){return u!==void 0?{name:s,kind:o,location:{uri:l,range:u}}:{name:s,kind:o,location:{uri:l}}}R(a,"create"),i.create=a})(jY||(jY={})),(function(i){function a(o,l,u,d,h,f){let p={name:o,detail:l,kind:u,range:d,selectionRange:h};return f!==void 0&&(p.children=f),p}R(a,"create"),i.create=a;function s(o){let l=o;return l&&st.string(l.name)&&st.number(l.kind)&&zn.is(l.range)&&zn.is(l.selectionRange)&&(l.detail===void 0||st.string(l.detail))&&(l.deprecated===void 0||st.boolean(l.deprecated))&&(l.children===void 0||Array.isArray(l.children))&&(l.tags===void 0||Array.isArray(l.tags))}R(s,"is"),i.is=s})(YY||(YY={})),(function(i){i.Empty="",i.QuickFix="quickfix",i.Refactor="refactor",i.RefactorExtract="refactor.extract",i.RefactorInline="refactor.inline",i.RefactorRewrite="refactor.rewrite",i.Source="source",i.SourceOrganizeImports="source.organizeImports",i.SourceFixAll="source.fixAll"})(XY||(XY={})),(function(i){i.Invoked=1,i.Automatic=2})(fx||(fx={})),(function(i){function a(o,l,u){let d={diagnostics:o};return l!=null&&(d.only=l),u!=null&&(d.triggerKind=u),d}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.typedArray(l.diagnostics,cx.is)&&(l.only===void 0||st.typedArray(l.only,st.string))&&(l.triggerKind===void 0||l.triggerKind===fx.Invoked||l.triggerKind===fx.Automatic)}R(s,"is"),i.is=s})(KY||(KY={})),(function(i){function a(o,l,u){let d={title:o},h=!0;return typeof l=="string"?(h=!1,d.kind=l):km.is(l)?d.command=l:d.edit=l,h&&u!==void 0&&(d.kind=u),d}R(a,"create"),i.create=a;function s(o){let l=o;return l&&st.string(l.title)&&(l.diagnostics===void 0||st.typedArray(l.diagnostics,cx.is))&&(l.kind===void 0||st.string(l.kind))&&(l.edit!==void 0||l.command!==void 0)&&(l.command===void 0||km.is(l.command))&&(l.isPreferred===void 0||st.boolean(l.isPreferred))&&(l.edit===void 0||LM.is(l.edit))}R(s,"is"),i.is=s})(ZY||(ZY={})),(function(i){function a(o,l){let u={range:o};return st.defined(l)&&(u.data=l),u}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&zn.is(l.range)&&(st.undefined(l.command)||km.is(l.command))}R(s,"is"),i.is=s})(JY||(JY={})),(function(i){function a(o,l){return{tabSize:o,insertSpaces:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&st.uinteger(l.tabSize)&&st.boolean(l.insertSpaces)}R(s,"is"),i.is=s})(QY||(QY={})),(function(i){function a(o,l,u){return{range:o,target:l,data:u}}R(a,"create"),i.create=a;function s(o){let l=o;return st.defined(l)&&zn.is(l.range)&&(st.undefined(l.target)||st.string(l.target))}R(s,"is"),i.is=s})(eX||(eX={})),(function(i){function a(o,l){return{range:o,parent:l}}R(a,"create"),i.create=a;function s(o){let l=o;return st.objectLiteral(l)&&zn.is(l.range)&&(l.parent===void 0||i.is(l.parent))}R(s,"is"),i.is=s})(tX||(tX={})),(function(i){i.namespace="namespace",i.type="type",i.class="class",i.enum="enum",i.interface="interface",i.struct="struct",i.typeParameter="typeParameter",i.parameter="parameter",i.variable="variable",i.property="property",i.enumMember="enumMember",i.event="event",i.function="function",i.method="method",i.macro="macro",i.keyword="keyword",i.modifier="modifier",i.comment="comment",i.string="string",i.number="number",i.regexp="regexp",i.operator="operator",i.decorator="decorator"})(rX||(rX={})),(function(i){i.declaration="declaration",i.definition="definition",i.readonly="readonly",i.static="static",i.deprecated="deprecated",i.abstract="abstract",i.async="async",i.modification="modification",i.documentation="documentation",i.defaultLibrary="defaultLibrary"})(nX||(nX={})),(function(i){function a(s){const o=s;return st.objectLiteral(o)&&(o.resultId===void 0||typeof o.resultId=="string")&&Array.isArray(o.data)&&(o.data.length===0||typeof o.data[0]=="number")}R(a,"is"),i.is=a})(iX||(iX={})),(function(i){function a(o,l){return{range:o,text:l}}R(a,"create"),i.create=a;function s(o){const l=o;return l!=null&&zn.is(l.range)&&st.string(l.text)}R(s,"is"),i.is=s})(aX||(aX={})),(function(i){function a(o,l,u){return{range:o,variableName:l,caseSensitiveLookup:u}}R(a,"create"),i.create=a;function s(o){const l=o;return l!=null&&zn.is(l.range)&&st.boolean(l.caseSensitiveLookup)&&(st.string(l.variableName)||l.variableName===void 0)}R(s,"is"),i.is=s})(sX||(sX={})),(function(i){function a(o,l){return{range:o,expression:l}}R(a,"create"),i.create=a;function s(o){const l=o;return l!=null&&zn.is(l.range)&&(st.string(l.expression)||l.expression===void 0)}R(s,"is"),i.is=s})(oX||(oX={})),(function(i){function a(o,l){return{frameId:o,stoppedLocation:l}}R(a,"create"),i.create=a;function s(o){const l=o;return st.defined(l)&&zn.is(o.stoppedLocation)}R(s,"is"),i.is=s})(lX||(lX={})),(function(i){i.Type=1,i.Parameter=2;function a(s){return s===1||s===2}R(a,"is"),i.is=a})(OM||(OM={})),(function(i){function a(o){return{value:o}}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&(l.tooltip===void 0||st.string(l.tooltip)||d2.is(l.tooltip))&&(l.location===void 0||lx.is(l.location))&&(l.command===void 0||km.is(l.command))}R(s,"is"),i.is=s})(DM||(DM={})),(function(i){function a(o,l,u){const d={position:o,label:l};return u!==void 0&&(d.kind=u),d}R(a,"create"),i.create=a;function s(o){const l=o;return st.objectLiteral(l)&&di.is(l.position)&&(st.string(l.label)||st.typedArray(l.label,DM.is))&&(l.kind===void 0||OM.is(l.kind))&&l.textEdits===void 0||st.typedArray(l.textEdits,dh.is)&&(l.tooltip===void 0||st.string(l.tooltip)||d2.is(l.tooltip))&&(l.paddingLeft===void 0||st.boolean(l.paddingLeft))&&(l.paddingRight===void 0||st.boolean(l.paddingRight))}R(s,"is"),i.is=s})(cX||(cX={})),(function(i){function a(s){return{kind:"snippet",value:s}}R(a,"createSnippet"),i.createSnippet=a})(uX||(uX={})),(function(i){function a(s,o,l,u){return{insertText:s,filterText:o,range:l,command:u}}R(a,"create"),i.create=a})(dX||(dX={})),(function(i){function a(s){return{items:s}}R(a,"create"),i.create=a})(hX||(hX={})),(function(i){i.Invoked=0,i.Automatic=1})(fX||(fX={})),(function(i){function a(s,o){return{range:s,text:o}}R(a,"create"),i.create=a})(pX||(pX={})),(function(i){function a(s,o){return{triggerKind:s,selectedCompletionInfo:o}}R(a,"create"),i.create=a})(gX||(gX={})),(function(i){function a(s){const o=s;return st.objectLiteral(o)&&MM.is(o.uri)&&st.string(o.name)}R(a,"is"),i.is=a})(mX||(mX={})),TPe=[`
`,`\r
`,"\r"],(function(i){function a(u,d,h,f){return new hUe(u,d,h,f)}R(a,"create"),i.create=a;function s(u){let d=u;return!!(st.defined(d)&&st.string(d.uri)&&(st.undefined(d.languageId)||st.string(d.languageId))&&st.uinteger(d.lineCount)&&st.func(d.getText)&&st.func(d.positionAt)&&st.func(d.offsetAt))}R(s,"is"),i.is=s;function o(u,d){let h=u.getText(),f=l(d,(g,m)=>{let U=g.range.start.line-m.range.start.line;return U===0?g.range.start.character-m.range.start.character:U}),p=h.length;for(let g=f.length-1;g>=0;g--){let m=f[g],U=u.offsetAt(m.range.start),y=u.offsetAt(m.range.end);if(y<=p)h=h.substring(0,U)+m.newText+h.substring(y,h.length);else throw new Error("Overlapping edit");p=U}return h}R(o,"applyEdits"),i.applyEdits=o;function l(u,d){if(u.length<=1)return u;const h=u.length/2|0,f=u.slice(0,h),p=u.slice(h);l(f,d),l(p,d);let g=0,m=0,U=0;for(;g<f.length&&m<p.length;)d(f[g],p[m])<=0?u[U++]=f[g++]:u[U++]=p[m++];for(;g<f.length;)u[U++]=f[g++];for(;m<p.length;)u[U++]=p[m++];return u}R(l,"mergeSort")})(UX||(UX={})),hUe=(n=class{constructor(a,s,o,l){this._uri=a,this._languageId=s,this._version=o,this._content=l,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(a){if(a){let s=this.offsetAt(a.start),o=this.offsetAt(a.end);return this._content.substring(s,o)}return this._content}update(a,s){this._content=a.text,this._version=s,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let a=[],s=this._content,o=!0;for(let l=0;l<s.length;l++){o&&(a.push(l),o=!1);let u=s.charAt(l);o=u==="\r"||u===`
`,u==="\r"&&l+1<s.length&&s.charAt(l+1)===`
`&&l++}o&&s.length>0&&a.push(s.length),this._lineOffsets=a}return this._lineOffsets}positionAt(a){a=Math.max(Math.min(a,this._content.length),0);let s=this.getLineOffsets(),o=0,l=s.length;if(l===0)return di.create(0,a);for(;o<l;){let d=Math.floor((o+l)/2);s[d]>a?l=d:o=d+1}let u=o-1;return di.create(u,a-s[u])}offsetAt(a){let s=this.getLineOffsets();if(a.line>=s.length)return this._content.length;if(a.line<0)return 0;let o=s[a.line],l=a.line+1<s.length?s[a.line+1]:this._content.length;return Math.max(Math.min(o+a.character,l),o)}get lineCount(){return this.getLineOffsets().length}},R(n,"FullTextDocument"),n),(function(i){const a=Object.prototype.toString;function s(y){return typeof y<"u"}R(s,"defined"),i.defined=s;function o(y){return typeof y>"u"}R(o,"undefined"),i.undefined=o;function l(y){return y===!0||y===!1}R(l,"boolean"),i.boolean=l;function u(y){return a.call(y)==="[object String]"}R(u,"string"),i.string=u;function d(y){return a.call(y)==="[object Number]"}R(d,"number"),i.number=d;function h(y,b,v){return a.call(y)==="[object Number]"&&b<=y&&y<=v}R(h,"numberRange"),i.numberRange=h;function f(y){return a.call(y)==="[object Number]"&&-2147483648<=y&&y<=2147483647}R(f,"integer"),i.integer=f;function p(y){return a.call(y)==="[object Number]"&&0<=y&&y<=2147483647}R(p,"uinteger"),i.uinteger=p;function g(y){return a.call(y)==="[object Function]"}R(g,"func"),i.func=g;function m(y){return y!==null&&typeof y=="object"}R(m,"objectLiteral"),i.objectLiteral=m;function U(y,b){return Array.isArray(y)&&y.every(b)}R(U,"typedArray"),i.typedArray=U})(st||(st={}))}}),B5=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/ral.js"(t){Object.defineProperty(t,"__esModule",{value:!0});var e;function r(){if(e===void 0)throw new Error("No runtime abstraction layer installed");return e}R(r,"RAL"),(function(n){function i(a){if(a===void 0)throw new Error("No runtime abstraction layer provided");e=a}R(i,"install"),n.install=i})(r||(r={})),t.default=r}}),_S=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/is.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0;function e(l){return l===!0||l===!1}R(e,"boolean"),t.boolean=e;function r(l){return typeof l=="string"||l instanceof String}R(r,"string"),t.string=r;function n(l){return typeof l=="number"||l instanceof Number}R(n,"number"),t.number=n;function i(l){return l instanceof Error}R(i,"error"),t.error=i;function a(l){return typeof l=="function"}R(a,"func"),t.func=a;function s(l){return Array.isArray(l)}R(s,"array"),t.array=s;function o(l){return s(l)&&l.every(u=>r(u))}R(o,"stringArray"),t.stringArray=o}}),b3=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/events.js"(t){var a,s;Object.defineProperty(t,"__esModule",{value:!0}),t.Emitter=t.Event=void 0;var e=B5(),r;(function(o){const l={dispose(){}};o.None=function(){return l}})(r||(t.Event=r={}));var n=(a=class{add(l,u=null,d){this._callbacks||(this._callbacks=[],this._contexts=[]),this._callbacks.push(l),this._contexts.push(u),Array.isArray(d)&&d.push({dispose:R(()=>this.remove(l,u),"dispose")})}remove(l,u=null){if(!this._callbacks)return;let d=!1;for(let h=0,f=this._callbacks.length;h<f;h++)if(this._callbacks[h]===l)if(this._contexts[h]===u){this._callbacks.splice(h,1),this._contexts.splice(h,1);return}else d=!0;if(d)throw new Error("When adding a listener with a context, you should remove it with the same context")}invoke(...l){if(!this._callbacks)return[];const u=[],d=this._callbacks.slice(0),h=this._contexts.slice(0);for(let f=0,p=d.length;f<p;f++)try{u.push(d[f].apply(h[f],l))}catch(g){(0,e.default)().console.error(g)}return u}isEmpty(){return!this._callbacks||this._callbacks.length===0}dispose(){this._callbacks=void 0,this._contexts=void 0}},R(a,"CallbackList"),a),i=(s=class{constructor(l){this._options=l}get event(){return this._event||(this._event=(l,u,d)=>{this._callbacks||(this._callbacks=new n),this._options&&this._options.onFirstListenerAdd&&this._callbacks.isEmpty()&&this._options.onFirstListenerAdd(this),this._callbacks.add(l,u);const h={dispose:R(()=>{this._callbacks&&(this._callbacks.remove(l,u),h.dispose=s._noop,this._options&&this._options.onLastListenerRemove&&this._callbacks.isEmpty()&&this._options.onLastListenerRemove(this))},"dispose")};return Array.isArray(d)&&d.push(h),h}),this._event}fire(l){this._callbacks&&this._callbacks.invoke.call(this._callbacks,l)}dispose(){this._callbacks&&(this._callbacks.dispose(),this._callbacks=void 0)}},R(s,"Emitter"),s);t.Emitter=i,i._noop=function(){}}}),t_=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/cancellation.js"(t){var l,u;Object.defineProperty(t,"__esModule",{value:!0}),t.CancellationTokenSource=t.CancellationToken=void 0;var e=B5(),r=_S(),n=b3(),i;(function(d){d.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:n.Event.None}),d.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:n.Event.None});function h(f){const p=f;return p&&(p===d.None||p===d.Cancelled||r.boolean(p.isCancellationRequested)&&!!p.onCancellationRequested)}R(h,"is"),d.is=h})(i||(t.CancellationToken=i={}));var a=Object.freeze(function(d,h){const f=(0,e.default)().timer.setTimeout(d.bind(h),0);return{dispose(){f.dispose()}}}),s=(l=class{constructor(){this._isCancelled=!1}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?a:(this._emitter||(this._emitter=new n.Emitter),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=void 0)}},R(l,"MutableToken"),l),o=(u=class{get token(){return this._token||(this._token=new s),this._token}cancel(){this._token?this._token.cancel():this._token=i.Cancelled}dispose(){this._token?this._token instanceof s&&this._token.dispose():this._token=i.None}},R(u,"CancellationTokenSource"),u);t.CancellationTokenSource=o}}),CPe=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messages.js"(t){var N,I,L,_,D,O,B,F,z,$,H,V,G,K,W,oe,Z,J,ne,ie,me,te,Re,_e,He;Object.defineProperty(t,"__esModule",{value:!0}),t.Message=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType=t.RequestType0=t.AbstractMessageSignature=t.ParameterStructures=t.ResponseError=t.ErrorCodes=void 0;var e=_S(),r;(function(ce){ce.ParseError=-32700,ce.InvalidRequest=-32600,ce.MethodNotFound=-32601,ce.InvalidParams=-32602,ce.InternalError=-32603,ce.jsonrpcReservedErrorRangeStart=-32099,ce.serverErrorStart=-32099,ce.MessageWriteError=-32099,ce.MessageReadError=-32098,ce.PendingResponseRejected=-32097,ce.ConnectionInactive=-32096,ce.ServerNotInitialized=-32002,ce.UnknownErrorCode=-32001,ce.jsonrpcReservedErrorRangeEnd=-32e3,ce.serverErrorEnd=-32e3})(r||(t.ErrorCodes=r={}));var n=(N=class extends Error{constructor(de,we,ge){super(we),this.code=e.number(de)?de:r.UnknownErrorCode,this.data=ge,Object.setPrototypeOf(this,N.prototype)}toJson(){const de={code:this.code,message:this.message};return this.data!==void 0&&(de.data=this.data),de}},R(N,"ResponseError"),N);t.ResponseError=n;var i=(I=class{constructor(de){this.kind=de}static is(de){return de===I.auto||de===I.byName||de===I.byPosition}toString(){return this.kind}},R(I,"ParameterStructures"),I);t.ParameterStructures=i,i.auto=new i("auto"),i.byPosition=new i("byPosition"),i.byName=new i("byName");var a=(L=class{constructor(de,we){this.method=de,this.numberOfParams=we}get parameterStructures(){return i.auto}},R(L,"AbstractMessageSignature"),L);t.AbstractMessageSignature=a;var s=(_=class extends a{constructor(de){super(de,0)}},R(_,"RequestType0"),_);t.RequestType0=s;var o=(D=class extends a{constructor(de,we=i.auto){super(de,1),this._parameterStructures=we}get parameterStructures(){return this._parameterStructures}},R(D,"RequestType"),D);t.RequestType=o;var l=(O=class extends a{constructor(de,we=i.auto){super(de,1),this._parameterStructures=we}get parameterStructures(){return this._parameterStructures}},R(O,"RequestType1"),O);t.RequestType1=l;var u=(B=class extends a{constructor(de){super(de,2)}},R(B,"RequestType2"),B);t.RequestType2=u;var d=(F=class extends a{constructor(de){super(de,3)}},R(F,"RequestType3"),F);t.RequestType3=d;var h=(z=class extends a{constructor(de){super(de,4)}},R(z,"RequestType4"),z);t.RequestType4=h;var f=($=class extends a{constructor(de){super(de,5)}},R($,"RequestType5"),$);t.RequestType5=f;var p=(H=class extends a{constructor(de){super(de,6)}},R(H,"RequestType6"),H);t.RequestType6=p;var g=(V=class extends a{constructor(de){super(de,7)}},R(V,"RequestType7"),V);t.RequestType7=g;var m=(G=class extends a{constructor(de){super(de,8)}},R(G,"RequestType8"),G);t.RequestType8=m;var U=(K=class extends a{constructor(de){super(de,9)}},R(K,"RequestType9"),K);t.RequestType9=U;var y=(W=class extends a{constructor(de,we=i.auto){super(de,1),this._parameterStructures=we}get parameterStructures(){return this._parameterStructures}},R(W,"NotificationType"),W);t.NotificationType=y;var b=(oe=class extends a{constructor(de){super(de,0)}},R(oe,"NotificationType0"),oe);t.NotificationType0=b;var v=(Z=class extends a{constructor(de,we=i.auto){super(de,1),this._parameterStructures=we}get parameterStructures(){return this._parameterStructures}},R(Z,"NotificationType1"),Z);t.NotificationType1=v;var w=(J=class extends a{constructor(de){super(de,2)}},R(J,"NotificationType2"),J);t.NotificationType2=w;var T=(ne=class extends a{constructor(de){super(de,3)}},R(ne,"NotificationType3"),ne);t.NotificationType3=T;var S=(ie=class extends a{constructor(de){super(de,4)}},R(ie,"NotificationType4"),ie);t.NotificationType4=S;var C=(me=class extends a{constructor(de){super(de,5)}},R(me,"NotificationType5"),me);t.NotificationType5=C;var k=(te=class extends a{constructor(de){super(de,6)}},R(te,"NotificationType6"),te);t.NotificationType6=k;var E=(Re=class extends a{constructor(de){super(de,7)}},R(Re,"NotificationType7"),Re);t.NotificationType7=E;var A=(_e=class extends a{constructor(de){super(de,8)}},R(_e,"NotificationType8"),_e);t.NotificationType8=A;var M=(He=class extends a{constructor(de){super(de,9)}},R(He,"NotificationType9"),He);t.NotificationType9=M;var P;(function(ce){function de(ze){const xe=ze;return xe&&e.string(xe.method)&&(e.string(xe.id)||e.number(xe.id))}R(de,"isRequest"),ce.isRequest=de;function we(ze){const xe=ze;return xe&&e.string(xe.method)&&ze.id===void 0}R(we,"isNotification"),ce.isNotification=we;function ge(ze){const xe=ze;return xe&&(xe.result!==void 0||!!xe.error)&&(e.string(xe.id)||e.number(xe.id)||xe.id===null)}R(ge,"isResponse"),ce.isResponse=ge})(P||(t.Message=P={}))}}),SPe=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/linkedMap.js"(t){var a,s;var e;Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=t.LinkedMap=t.Touch=void 0;var r;(function(o){o.None=0,o.First=1,o.AsOld=o.First,o.Last=2,o.AsNew=o.Last})(r||(t.Touch=r={}));var n=(a=class{constructor(){this[e]="LinkedMap",this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){var l;return(l=this._head)==null?void 0:l.value}get last(){var l;return(l=this._tail)==null?void 0:l.value}has(l){return this._map.has(l)}get(l,u=r.None){const d=this._map.get(l);if(d)return u!==r.None&&this.touch(d,u),d.value}set(l,u,d=r.None){let h=this._map.get(l);if(h)h.value=u,d!==r.None&&this.touch(h,d);else{switch(h={key:l,value:u,next:void 0,previous:void 0},d){case r.None:this.addItemLast(h);break;case r.First:this.addItemFirst(h);break;case r.Last:this.addItemLast(h);break;default:this.addItemLast(h);break}this._map.set(l,h),this._size++}return this}delete(l){return!!this.remove(l)}remove(l){const u=this._map.get(l);if(u)return this._map.delete(l),this.removeItem(u),this._size--,u.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw new Error("Invalid list");const l=this._head;return this._map.delete(l.key),this.removeItem(l),this._size--,l.value}forEach(l,u){const d=this._state;let h=this._head;for(;h;){if(u?l.bind(u)(h.value,h.key,this):l(h.value,h.key,this),this._state!==d)throw new Error("LinkedMap got modified during iteration.");h=h.next}}keys(){const l=this._state;let u=this._head;const d={[Symbol.iterator]:()=>d,next:R(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(u){const h={value:u.key,done:!1};return u=u.next,h}else return{value:void 0,done:!0}},"next")};return d}values(){const l=this._state;let u=this._head;const d={[Symbol.iterator]:()=>d,next:R(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(u){const h={value:u.value,done:!1};return u=u.next,h}else return{value:void 0,done:!0}},"next")};return d}entries(){const l=this._state;let u=this._head;const d={[Symbol.iterator]:()=>d,next:R(()=>{if(this._state!==l)throw new Error("LinkedMap got modified during iteration.");if(u){const h={value:[u.key,u.value],done:!1};return u=u.next,h}else return{value:void 0,done:!0}},"next")};return d}[(e=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(l){if(l>=this.size)return;if(l===0){this.clear();return}let u=this._head,d=this.size;for(;u&&d>l;)this._map.delete(u.key),u=u.next,d--;this._head=u,this._size=d,u&&(u.previous=void 0),this._state++}addItemFirst(l){if(!this._head&&!this._tail)this._tail=l;else if(this._head)l.next=this._head,this._head.previous=l;else throw new Error("Invalid list");this._head=l,this._state++}addItemLast(l){if(!this._head&&!this._tail)this._head=l;else if(this._tail)l.previous=this._tail,this._tail.next=l;else throw new Error("Invalid list");this._tail=l,this._state++}removeItem(l){if(l===this._head&&l===this._tail)this._head=void 0,this._tail=void 0;else if(l===this._head){if(!l.next)throw new Error("Invalid list");l.next.previous=void 0,this._head=l.next}else if(l===this._tail){if(!l.previous)throw new Error("Invalid list");l.previous.next=void 0,this._tail=l.previous}else{const u=l.next,d=l.previous;if(!u||!d)throw new Error("Invalid list");u.previous=d,d.next=u}l.next=void 0,l.previous=void 0,this._state++}touch(l,u){if(!this._head||!this._tail)throw new Error("Invalid list");if(!(u!==r.First&&u!==r.Last)){if(u===r.First){if(l===this._head)return;const d=l.next,h=l.previous;l===this._tail?(h.next=void 0,this._tail=h):(d.previous=h,h.next=d),l.previous=void 0,l.next=this._head,this._head.previous=l,this._head=l,this._state++}else if(u===r.Last){if(l===this._tail)return;const d=l.next,h=l.previous;l===this._head?(d.previous=void 0,this._head=d):(d.previous=h,h.next=d),l.next=void 0,l.previous=this._tail,this._tail.next=l,this._tail=l,this._state++}}}toJSON(){const l=[];return this.forEach((u,d)=>{l.push([d,u])}),l}fromJSON(l){this.clear();for(const[u,d]of l)this.set(u,d)}},R(a,"LinkedMap"),a);t.LinkedMap=n;var i=(s=class extends n{constructor(l,u=1){super(),this._limit=l,this._ratio=Math.min(Math.max(0,u),1)}get limit(){return this._limit}set limit(l){this._limit=l,this.checkTrim()}get ratio(){return this._ratio}set ratio(l){this._ratio=Math.min(Math.max(0,l),1),this.checkTrim()}get(l,u=r.AsNew){return super.get(l,u)}peek(l){return super.get(l,r.None)}set(l,u){return super.set(l,u,r.Last),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}},R(s,"LRUCache"),s);t.LRUCache=i}}),sir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/disposable.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.Disposable=void 0;var e;(function(r){function n(i){return{dispose:i}}R(n,"create"),r.create=n})(e||(t.Disposable=e={}))}}),oir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js"(t){var o,l,u,d;Object.defineProperty(t,"__esModule",{value:!0}),t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=void 0;var e=t_(),r;(function(h){h.Continue=0,h.Cancelled=1})(r||(r={}));var n=(o=class{constructor(){this.buffers=new Map}enableCancellation(f){if(f.id===null)return;const p=new SharedArrayBuffer(4),g=new Int32Array(p,0,1);g[0]=r.Continue,this.buffers.set(f.id,p),f.$cancellationData=p}async sendCancellation(f,p){const g=this.buffers.get(p);if(g===void 0)return;const m=new Int32Array(g,0,1);Atomics.store(m,0,r.Cancelled)}cleanup(f){this.buffers.delete(f)}dispose(){this.buffers.clear()}},R(o,"SharedArraySenderStrategy"),o);t.SharedArraySenderStrategy=n;var i=(l=class{constructor(f){this.data=new Int32Array(f,0,1)}get isCancellationRequested(){return Atomics.load(this.data,0)===r.Cancelled}get onCancellationRequested(){throw new Error("Cancellation over SharedArrayBuffer doesn't support cancellation events")}},R(l,"SharedArrayBufferCancellationToken"),l),a=(u=class{constructor(f){this.token=new i(f)}cancel(){}dispose(){}},R(u,"SharedArrayBufferCancellationTokenSource"),u),s=(d=class{constructor(){this.kind="request"}createCancellationTokenSource(f){const p=f.$cancellationData;return p===void 0?new e.CancellationTokenSource:new a(p)}},R(d,"SharedArrayReceiverStrategy"),d);t.SharedArrayReceiverStrategy=s}}),kPe=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/semaphore.js"(t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.Semaphore=void 0;var e=B5(),r=(n=class{constructor(a=1){if(a<=0)throw new Error("Capacity must be greater than 0");this._capacity=a,this._active=0,this._waiting=[]}lock(a){return new Promise((s,o)=>{this._waiting.push({thunk:a,resolve:s,reject:o}),this.runNext()})}get active(){return this._active}runNext(){this._waiting.length===0||this._active===this._capacity||(0,e.default)().timer.setImmediate(()=>this.doRunNext())}doRunNext(){if(this._waiting.length===0||this._active===this._capacity)return;const a=this._waiting.shift();if(this._active++,this._active>this._capacity)throw new Error("To many thunks active");try{const s=a.thunk();s instanceof Promise?s.then(o=>{this._active--,a.resolve(o),this.runNext()},o=>{this._active--,a.reject(o),this.runNext()}):(this._active--,a.resolve(s),this.runNext())}catch(s){this._active--,a.reject(s),this.runNext()}}},R(n,"Semaphore"),n);t.Semaphore=r}}),lir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageReader.js"(t){var u,d;Object.defineProperty(t,"__esModule",{value:!0}),t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=void 0;var e=B5(),r=_S(),n=b3(),i=kPe(),a;(function(h){function f(p){let g=p;return g&&r.func(g.listen)&&r.func(g.dispose)&&r.func(g.onError)&&r.func(g.onClose)&&r.func(g.onPartialMessage)}R(f,"is"),h.is=f})(a||(t.MessageReader=a={}));var s=(u=class{constructor(){this.errorEmitter=new n.Emitter,this.closeEmitter=new n.Emitter,this.partialMessageEmitter=new n.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(f){this.errorEmitter.fire(this.asError(f))}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}get onPartialMessage(){return this.partialMessageEmitter.event}firePartialMessage(f){this.partialMessageEmitter.fire(f)}asError(f){return f instanceof Error?f:new Error(`Reader received error. Reason: ${r.string(f.message)?f.message:"unknown"}`)}},R(u,"AbstractMessageReader"),u);t.AbstractMessageReader=s;var o;(function(h){function f(p){let g,m;const U=new Map;let y;const b=new Map;if(p===void 0||typeof p=="string")g=p??"utf-8";else{if(g=p.charset??"utf-8",p.contentDecoder!==void 0&&(m=p.contentDecoder,U.set(m.name,m)),p.contentDecoders!==void 0)for(const v of p.contentDecoders)U.set(v.name,v);if(p.contentTypeDecoder!==void 0&&(y=p.contentTypeDecoder,b.set(y.name,y)),p.contentTypeDecoders!==void 0)for(const v of p.contentTypeDecoders)b.set(v.name,v)}return y===void 0&&(y=(0,e.default)().applicationJson.decoder,b.set(y.name,y)),{charset:g,contentDecoder:m,contentDecoders:U,contentTypeDecoder:y,contentTypeDecoders:b}}R(f,"fromOptions"),h.fromOptions=f})(o||(o={}));var l=(d=class extends s{constructor(f,p){super(),this.readable=f,this.options=o.fromOptions(p),this.buffer=(0,e.default)().messageBuffer.create(this.options.charset),this._partialMessageTimeout=1e4,this.nextMessageLength=-1,this.messageToken=0,this.readSemaphore=new i.Semaphore(1)}set partialMessageTimeout(f){this._partialMessageTimeout=f}get partialMessageTimeout(){return this._partialMessageTimeout}listen(f){this.nextMessageLength=-1,this.messageToken=0,this.partialMessageTimer=void 0,this.callback=f;const p=this.readable.onData(g=>{this.onData(g)});return this.readable.onError(g=>this.fireError(g)),this.readable.onClose(()=>this.fireClose()),p}onData(f){try{for(this.buffer.append(f);;){if(this.nextMessageLength===-1){const g=this.buffer.tryReadHeaders(!0);if(!g)return;const m=g.get("content-length");if(!m){this.fireError(new Error(`Header must provide a Content-Length property.
${JSON.stringify(Object.fromEntries(g))}`));return}const U=parseInt(m);if(isNaN(U)){this.fireError(new Error(`Content-Length value must be a number. Got ${m}`));return}this.nextMessageLength=U}const p=this.buffer.tryReadBody(this.nextMessageLength);if(p===void 0){this.setPartialMessageTimer();return}this.clearPartialMessageTimer(),this.nextMessageLength=-1,this.readSemaphore.lock(async()=>{const g=this.options.contentDecoder!==void 0?await this.options.contentDecoder.decode(p):p,m=await this.options.contentTypeDecoder.decode(g,this.options);this.callback(m)}).catch(g=>{this.fireError(g)})}}catch(p){this.fireError(p)}}clearPartialMessageTimer(){this.partialMessageTimer&&(this.partialMessageTimer.dispose(),this.partialMessageTimer=void 0)}setPartialMessageTimer(){this.clearPartialMessageTimer(),!(this._partialMessageTimeout<=0)&&(this.partialMessageTimer=(0,e.default)().timer.setTimeout((f,p)=>{this.partialMessageTimer=void 0,f===this.messageToken&&(this.firePartialMessage({messageToken:f,waitingTime:p}),this.setPartialMessageTimer())},this._partialMessageTimeout,this.messageToken,this._partialMessageTimeout))}},R(d,"ReadableStreamMessageReader"),d);t.ReadableStreamMessageReader=l}}),cir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageWriter.js"(t){var h,f;Object.defineProperty(t,"__esModule",{value:!0}),t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=void 0;var e=B5(),r=_S(),n=kPe(),i=b3(),a="Content-Length: ",s=`\r
`,o;(function(p){function g(m){let U=m;return U&&r.func(U.dispose)&&r.func(U.onClose)&&r.func(U.onError)&&r.func(U.write)}R(g,"is"),p.is=g})(o||(t.MessageWriter=o={}));var l=(h=class{constructor(){this.errorEmitter=new i.Emitter,this.closeEmitter=new i.Emitter}dispose(){this.errorEmitter.dispose(),this.closeEmitter.dispose()}get onError(){return this.errorEmitter.event}fireError(g,m,U){this.errorEmitter.fire([this.asError(g),m,U])}get onClose(){return this.closeEmitter.event}fireClose(){this.closeEmitter.fire(void 0)}asError(g){return g instanceof Error?g:new Error(`Writer received error. Reason: ${r.string(g.message)?g.message:"unknown"}`)}},R(h,"AbstractMessageWriter"),h);t.AbstractMessageWriter=l;var u;(function(p){function g(m){return m===void 0||typeof m=="string"?{charset:m??"utf-8",contentTypeEncoder:(0,e.default)().applicationJson.encoder}:{charset:m.charset??"utf-8",contentEncoder:m.contentEncoder,contentTypeEncoder:m.contentTypeEncoder??(0,e.default)().applicationJson.encoder}}R(g,"fromOptions"),p.fromOptions=g})(u||(u={}));var d=(f=class extends l{constructor(g,m){super(),this.writable=g,this.options=u.fromOptions(m),this.errorCount=0,this.writeSemaphore=new n.Semaphore(1),this.writable.onError(U=>this.fireError(U)),this.writable.onClose(()=>this.fireClose())}async write(g){return this.writeSemaphore.lock(async()=>this.options.contentTypeEncoder.encode(g,this.options).then(U=>this.options.contentEncoder!==void 0?this.options.contentEncoder.encode(U):U).then(U=>{const y=[];return y.push(a,U.byteLength.toString(),s),y.push(s),this.doWrite(g,y,U)},U=>{throw this.fireError(U),U}))}async doWrite(g,m,U){try{return await this.writable.write(m.join(""),"ascii"),this.writable.write(U)}catch(y){return this.handleError(y,g),Promise.reject(y)}}handleError(g,m){this.errorCount++,this.fireError(g,m,this.errorCount)}end(){this.writable.end()}},R(f,"WriteableStreamMessageWriter"),f);t.WriteableStreamMessageWriter=d}}),uir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js"(t){var a;Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractMessageBuffer=void 0;var e=13,r=10,n=`\r
`,i=(a=class{constructor(o="utf-8"){this._encoding=o,this._chunks=[],this._totalLength=0}get encoding(){return this._encoding}append(o){const l=typeof o=="string"?this.fromString(o,this._encoding):o;this._chunks.push(l),this._totalLength+=l.byteLength}tryReadHeaders(o=!1){if(this._chunks.length===0)return;let l=0,u=0,d=0,h=0;e:for(;u<this._chunks.length;){const m=this._chunks[u];for(d=0;d<m.length;){switch(m[d]){case e:switch(l){case 0:l=1;break;case 2:l=3;break;default:l=0}break;case r:switch(l){case 1:l=2;break;case 3:l=4,d++;break e;default:l=0}break;default:l=0}d++}h+=m.byteLength,u++}if(l!==4)return;const f=this._read(h+d),p=new Map,g=this.toString(f,"ascii").split(n);if(g.length<2)return p;for(let m=0;m<g.length-2;m++){const U=g[m],y=U.indexOf(":");if(y===-1)throw new Error(`Message header must separate key and value using ':'
${U}`);const b=U.substr(0,y),v=U.substr(y+1).trim();p.set(o?b.toLowerCase():b,v)}return p}tryReadBody(o){if(!(this._totalLength<o))return this._read(o)}get numberOfBytes(){return this._totalLength}_read(o){if(o===0)return this.emptyBuffer();if(o>this._totalLength)throw new Error("Cannot read so many bytes!");if(this._chunks[0].byteLength===o){const h=this._chunks[0];return this._chunks.shift(),this._totalLength-=o,this.asNative(h)}if(this._chunks[0].byteLength>o){const h=this._chunks[0],f=this.asNative(h,o);return this._chunks[0]=h.slice(o),this._totalLength-=o,f}const l=this.allocNative(o);let u=0,d=0;for(;o>0;){const h=this._chunks[d];if(h.byteLength>o){const f=h.slice(0,o);l.set(f,u),u+=o,this._chunks[d]=h.slice(o),this._totalLength-=o,o-=o}else l.set(h,u),u+=h.byteLength,this._chunks.shift(),this._totalLength-=h.byteLength,o-=h.byteLength}return l}},R(a,"AbstractMessageBuffer"),a);t.AbstractMessageBuffer=i}}),dir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/connection.js"(t){var N,I;Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.ConnectionOptions=t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.RequestCancellationReceiverStrategy=t.IdCancellationReceiverStrategy=t.ConnectionStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=t.NullLogger=t.ProgressType=t.ProgressToken=void 0;var e=B5(),r=_S(),n=CPe(),i=SPe(),a=b3(),s=t_(),o;(function(L){L.type=new n.NotificationType("$/cancelRequest")})(o||(o={}));var l;(function(L){function _(D){return typeof D=="string"||typeof D=="number"}R(_,"is"),L.is=_})(l||(t.ProgressToken=l={}));var u;(function(L){L.type=new n.NotificationType("$/progress")})(u||(u={}));var d=(N=class{constructor(){}},R(N,"ProgressType"),N);t.ProgressType=d;var h;(function(L){function _(D){return r.func(D)}R(_,"is"),L.is=_})(h||(h={})),t.NullLogger=Object.freeze({error:R(()=>{},"error"),warn:R(()=>{},"warn"),info:R(()=>{},"info"),log:R(()=>{},"log")});var f;(function(L){L[L.Off=0]="Off",L[L.Messages=1]="Messages",L[L.Compact=2]="Compact",L[L.Verbose=3]="Verbose"})(f||(t.Trace=f={}));var p;(function(L){L.Off="off",L.Messages="messages",L.Compact="compact",L.Verbose="verbose"})(p||(t.TraceValues=p={})),(function(L){function _(O){if(!r.string(O))return L.Off;switch(O=O.toLowerCase(),O){case"off":return L.Off;case"messages":return L.Messages;case"compact":return L.Compact;case"verbose":return L.Verbose;default:return L.Off}}R(_,"fromString"),L.fromString=_;function D(O){switch(O){case L.Off:return"off";case L.Messages:return"messages";case L.Compact:return"compact";case L.Verbose:return"verbose";default:return"off"}}R(D,"toString"),L.toString=D})(f||(t.Trace=f={}));var g;(function(L){L.Text="text",L.JSON="json"})(g||(t.TraceFormat=g={})),(function(L){function _(D){return r.string(D)?(D=D.toLowerCase(),D==="json"?L.JSON:L.Text):L.Text}R(_,"fromString"),L.fromString=_})(g||(t.TraceFormat=g={}));var m;(function(L){L.type=new n.NotificationType("$/setTrace")})(m||(t.SetTraceNotification=m={}));var U;(function(L){L.type=new n.NotificationType("$/logTrace")})(U||(t.LogTraceNotification=U={}));var y;(function(L){L[L.Closed=1]="Closed",L[L.Disposed=2]="Disposed",L[L.AlreadyListening=3]="AlreadyListening"})(y||(t.ConnectionErrors=y={}));var b=(I=class extends Error{constructor(_,D){super(D),this.code=_,Object.setPrototypeOf(this,I.prototype)}},R(I,"ConnectionError"),I);t.ConnectionError=b;var v;(function(L){function _(D){const O=D;return O&&r.func(O.cancelUndispatched)}R(_,"is"),L.is=_})(v||(t.ConnectionStrategy=v={}));var w;(function(L){function _(D){const O=D;return O&&(O.kind===void 0||O.kind==="id")&&r.func(O.createCancellationTokenSource)&&(O.dispose===void 0||r.func(O.dispose))}R(_,"is"),L.is=_})(w||(t.IdCancellationReceiverStrategy=w={}));var T;(function(L){function _(D){const O=D;return O&&O.kind==="request"&&r.func(O.createCancellationTokenSource)&&(O.dispose===void 0||r.func(O.dispose))}R(_,"is"),L.is=_})(T||(t.RequestCancellationReceiverStrategy=T={}));var S;(function(L){L.Message=Object.freeze({createCancellationTokenSource(D){return new s.CancellationTokenSource}});function _(D){return w.is(D)||T.is(D)}R(_,"is"),L.is=_})(S||(t.CancellationReceiverStrategy=S={}));var C;(function(L){L.Message=Object.freeze({sendCancellation(D,O){return D.sendNotification(o.type,{id:O})},cleanup(D){}});function _(D){const O=D;return O&&r.func(O.sendCancellation)&&r.func(O.cleanup)}R(_,"is"),L.is=_})(C||(t.CancellationSenderStrategy=C={}));var k;(function(L){L.Message=Object.freeze({receiver:S.Message,sender:C.Message});function _(D){const O=D;return O&&S.is(O.receiver)&&C.is(O.sender)}R(_,"is"),L.is=_})(k||(t.CancellationStrategy=k={}));var E;(function(L){function _(D){const O=D;return O&&r.func(O.handleMessage)}R(_,"is"),L.is=_})(E||(t.MessageStrategy=E={}));var A;(function(L){function _(D){const O=D;return O&&(k.is(O.cancellationStrategy)||v.is(O.connectionStrategy)||E.is(O.messageStrategy))}R(_,"is"),L.is=_})(A||(t.ConnectionOptions=A={}));var M;(function(L){L[L.New=1]="New",L[L.Listening=2]="Listening",L[L.Closed=3]="Closed",L[L.Disposed=4]="Disposed"})(M||(M={}));function P(L,_,D,O){const B=D!==void 0?D:t.NullLogger;let F=0,z=0,$=0;const H="2.0";let V;const G=new Map;let K;const W=new Map,oe=new Map;let Z,J=new i.LinkedMap,ne=new Map,ie=new Set,me=new Map,te=f.Off,Re=g.Text,_e,He=M.New;const ce=new a.Emitter,de=new a.Emitter,we=new a.Emitter,ge=new a.Emitter,ze=new a.Emitter,xe=O&&O.cancellationStrategy?O.cancellationStrategy:k.Message;function Ee(ke){if(ke===null)throw new Error("Can't send requests with id null since the response can't be correlated.");return"req-"+ke.toString()}R(Ee,"createRequestQueueKey");function qe(ke){return ke===null?"res-unknown-"+(++$).toString():"res-"+ke.toString()}R(qe,"createResponseQueueKey");function le(){return"not-"+(++z).toString()}R(le,"createNotificationQueueKey");function pe(ke,it){n.Message.isRequest(it)?ke.set(Ee(it.id),it):n.Message.isResponse(it)?ke.set(qe(it.id),it):ke.set(le(),it)}R(pe,"addMessageToQueue");function Te(ke){}R(Te,"cancelUndispatched");function re(){return He===M.Listening}R(re,"isListening");function Y(){return He===M.Closed}R(Y,"isClosed");function Q(){return He===M.Disposed}R(Q,"isDisposed");function ue(){(He===M.New||He===M.Listening)&&(He=M.Closed,de.fire(void 0))}R(ue,"closeHandler");function X(ke){ce.fire([ke,void 0,void 0])}R(X,"readErrorHandler");function fe(ke){ce.fire(ke)}R(fe,"writeErrorHandler"),L.onClose(ue),L.onError(X),_.onClose(ue),_.onError(fe);function ee(){Z||J.size===0||(Z=(0,e.default)().timer.setImmediate(()=>{Z=void 0,Me()}))}R(ee,"triggerMessageQueue");function Ae(ke){n.Message.isRequest(ke)?Ne(ke):n.Message.isNotification(ke)?Oe(ke):n.Message.isResponse(ke)?je(ke):Ze(ke)}R(Ae,"handleMessage");function Me(){if(J.size===0)return;const ke=J.shift();try{const it=O==null?void 0:O.messageStrategy;E.is(it)?it.handleMessage(ke,Ae):Ae(ke)}finally{ee()}}R(Me,"processMessageQueue");const Ke=R(ke=>{try{if(n.Message.isNotification(ke)&&ke.method===o.type.method){const it=ke.params.id,pt=Ee(it),bt=J.get(pt);if(n.Message.isRequest(bt)){const Br=O==null?void 0:O.connectionStrategy,Sr=Br&&Br.cancelUndispatched?Br.cancelUndispatched(bt,Te):void 0;if(Sr&&(Sr.error!==void 0||Sr.result!==void 0)){J.delete(pt),me.delete(it),Sr.id=bt.id,gt(Sr,ke.method,Date.now()),_.write(Sr).catch(()=>B.error("Sending response for canceled message failed."));return}}const ir=me.get(it);if(ir!==void 0){ir.cancel(),St(ke);return}else ie.add(it)}pe(J,ke)}finally{ee()}},"callback");function Ne(ke){if(Q())return;function it(Er,an,Cr){const Yr={jsonrpc:H,id:ke.id};Er instanceof n.ResponseError?Yr.error=Er.toJson():Yr.result=Er===void 0?null:Er,gt(Yr,an,Cr),_.write(Yr).catch(()=>B.error("Sending response failed."))}R(it,"reply");function pt(Er,an,Cr){const Yr={jsonrpc:H,id:ke.id,error:Er.toJson()};gt(Yr,an,Cr),_.write(Yr).catch(()=>B.error("Sending response failed."))}R(pt,"replyError");function bt(Er,an,Cr){Er===void 0&&(Er=null);const Yr={jsonrpc:H,id:ke.id,result:Er};gt(Yr,an,Cr),_.write(Yr).catch(()=>B.error("Sending response failed."))}R(bt,"replySuccess"),Ie(ke);const ir=G.get(ke.method);let Br,Sr;ir&&(Br=ir.type,Sr=ir.handler);const jr=Date.now();if(Sr||V){const Er=ke.id??String(Date.now()),an=w.is(xe.receiver)?xe.receiver.createCancellationTokenSource(Er):xe.receiver.createCancellationTokenSource(ke);ke.id!==null&&ie.has(ke.id)&&an.cancel(),ke.id!==null&&me.set(Er,an);try{let Cr;if(Sr)if(ke.params===void 0){if(Br!==void 0&&Br.numberOfParams!==0){pt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${ke.method} defines ${Br.numberOfParams} params but received none.`),ke.method,jr);return}Cr=Sr(an.token)}else if(Array.isArray(ke.params)){if(Br!==void 0&&Br.parameterStructures===n.ParameterStructures.byName){pt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${ke.method} defines parameters by name but received parameters by position`),ke.method,jr);return}Cr=Sr(...ke.params,an.token)}else{if(Br!==void 0&&Br.parameterStructures===n.ParameterStructures.byPosition){pt(new n.ResponseError(n.ErrorCodes.InvalidParams,`Request ${ke.method} defines parameters by position but received parameters by name`),ke.method,jr);return}Cr=Sr(ke.params,an.token)}else V&&(Cr=V(ke.method,ke.params,an.token));const Yr=Cr;Cr?Yr.then?Yr.then(Cn=>{me.delete(Er),it(Cn,ke.method,jr)},Cn=>{me.delete(Er),Cn instanceof n.ResponseError?pt(Cn,ke.method,jr):Cn&&r.string(Cn.message)?pt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${ke.method} failed with message: ${Cn.message}`),ke.method,jr):pt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${ke.method} failed unexpectedly without providing any details.`),ke.method,jr)}):(me.delete(Er),it(Cr,ke.method,jr)):(me.delete(Er),bt(Cr,ke.method,jr))}catch(Cr){me.delete(Er),Cr instanceof n.ResponseError?it(Cr,ke.method,jr):Cr&&r.string(Cr.message)?pt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${ke.method} failed with message: ${Cr.message}`),ke.method,jr):pt(new n.ResponseError(n.ErrorCodes.InternalError,`Request ${ke.method} failed unexpectedly without providing any details.`),ke.method,jr)}}else pt(new n.ResponseError(n.ErrorCodes.MethodNotFound,`Unhandled method ${ke.method}`),ke.method,jr)}R(Ne,"handleRequest");function je(ke){if(!Q())if(ke.id===null)ke.error?B.error(`Received response message without id: Error is:
${JSON.stringify(ke.error,void 0,4)}`):B.error("Received response message without id. No further error information provided.");else{const it=ke.id,pt=ne.get(it);if(Et(ke,pt),pt!==void 0){ne.delete(it);try{if(ke.error){const bt=ke.error;pt.reject(new n.ResponseError(bt.code,bt.message,bt.data))}else if(ke.result!==void 0)pt.resolve(ke.result);else throw new Error("Should never happen.")}catch(bt){bt.message?B.error(`Response handler '${pt.method}' failed with message: ${bt.message}`):B.error(`Response handler '${pt.method}' failed unexpectedly.`)}}}}R(je,"handleResponse");function Oe(ke){if(Q())return;let it,pt;if(ke.method===o.type.method){const bt=ke.params.id;ie.delete(bt),St(ke);return}else{const bt=W.get(ke.method);bt&&(pt=bt.handler,it=bt.type)}if(pt||K)try{if(St(ke),pt)if(ke.params===void 0)it!==void 0&&it.numberOfParams!==0&&it.parameterStructures!==n.ParameterStructures.byName&&B.error(`Notification ${ke.method} defines ${it.numberOfParams} params but received none.`),pt();else if(Array.isArray(ke.params)){const bt=ke.params;ke.method===u.type.method&&bt.length===2&&l.is(bt[0])?pt({token:bt[0],value:bt[1]}):(it!==void 0&&(it.parameterStructures===n.ParameterStructures.byName&&B.error(`Notification ${ke.method} defines parameters by name but received parameters by position`),it.numberOfParams!==ke.params.length&&B.error(`Notification ${ke.method} defines ${it.numberOfParams} params but received ${bt.length} arguments`)),pt(...bt))}else it!==void 0&&it.parameterStructures===n.ParameterStructures.byPosition&&B.error(`Notification ${ke.method} defines parameters by position but received parameters by name`),pt(ke.params);else K&&K(ke.method,ke.params)}catch(bt){bt.message?B.error(`Notification handler '${ke.method}' failed with message: ${bt.message}`):B.error(`Notification handler '${ke.method}' failed unexpectedly.`)}else we.fire(ke)}R(Oe,"handleNotification");function Ze(ke){if(!ke){B.error("Received empty message.");return}B.error(`Received message which is neither a response nor a notification message:
${JSON.stringify(ke,null,4)}`);const it=ke;if(r.string(it.id)||r.number(it.id)){const pt=it.id,bt=ne.get(pt);bt&&bt.reject(new Error("The received response has neither a result nor an error property."))}}R(Ze,"handleInvalidMessage");function Fe(ke){if(ke!=null)switch(te){case f.Verbose:return JSON.stringify(ke,null,4);case f.Compact:return JSON.stringify(ke);default:return}}R(Fe,"stringifyTrace");function at(ke){if(!(te===f.Off||!_e))if(Re===g.Text){let it;(te===f.Verbose||te===f.Compact)&&ke.params&&(it=`Params: ${Fe(ke.params)}
`),_e.log(`Sending request '${ke.method} - (${ke.id})'.`,it)}else ot("send-request",ke)}R(at,"traceSendingRequest");function Pe(ke){if(!(te===f.Off||!_e))if(Re===g.Text){let it;(te===f.Verbose||te===f.Compact)&&(ke.params?it=`Params: ${Fe(ke.params)}
`:it=`No parameters provided.
`),_e.log(`Sending notification '${ke.method}'.`,it)}else ot("send-notification",ke)}R(Pe,"traceSendingNotification");function gt(ke,it,pt){if(!(te===f.Off||!_e))if(Re===g.Text){let bt;(te===f.Verbose||te===f.Compact)&&(ke.error&&ke.error.data?bt=`Error data: ${Fe(ke.error.data)}
`:ke.result?bt=`Result: ${Fe(ke.result)}
`:ke.error===void 0&&(bt=`No result returned.
`)),_e.log(`Sending response '${it} - (${ke.id})'. Processing request took ${Date.now()-pt}ms`,bt)}else ot("send-response",ke)}R(gt,"traceSendingResponse");function Ie(ke){if(!(te===f.Off||!_e))if(Re===g.Text){let it;(te===f.Verbose||te===f.Compact)&&ke.params&&(it=`Params: ${Fe(ke.params)}
`),_e.log(`Received request '${ke.method} - (${ke.id})'.`,it)}else ot("receive-request",ke)}R(Ie,"traceReceivedRequest");function St(ke){if(!(te===f.Off||!_e||ke.method===U.type.method))if(Re===g.Text){let it;(te===f.Verbose||te===f.Compact)&&(ke.params?it=`Params: ${Fe(ke.params)}
`:it=`No parameters provided.
`),_e.log(`Received notification '${ke.method}'.`,it)}else ot("receive-notification",ke)}R(St,"traceReceivedNotification");function Et(ke,it){if(!(te===f.Off||!_e))if(Re===g.Text){let pt;if((te===f.Verbose||te===f.Compact)&&(ke.error&&ke.error.data?pt=`Error data: ${Fe(ke.error.data)}
`:ke.result?pt=`Result: ${Fe(ke.result)}
`:ke.error===void 0&&(pt=`No result returned.
`)),it){const bt=ke.error?` Request failed: ${ke.error.message} (${ke.error.code}).`:"";_e.log(`Received response '${it.method} - (${ke.id})' in ${Date.now()-it.timerStart}ms.${bt}`,pt)}else _e.log(`Received response ${ke.id} without active response promise.`,pt)}else ot("receive-response",ke)}R(Et,"traceReceivedResponse");function ot(ke,it){if(!_e||te===f.Off)return;const pt={isLSPMessage:!0,type:ke,message:it,timestamp:Date.now()};_e.log(pt)}R(ot,"logLSPMessage");function Ht(){if(Y())throw new b(y.Closed,"Connection is closed.");if(Q())throw new b(y.Disposed,"Connection is disposed.")}R(Ht,"throwIfClosedOrDisposed");function It(){if(re())throw new b(y.AlreadyListening,"Connection is already listening")}R(It,"throwIfListening");function ht(){if(!re())throw new Error("Call listen() first.")}R(ht,"throwIfNotListening");function ve(ke){return ke===void 0?null:ke}R(ve,"undefinedToNull");function Lt(ke){if(ke!==null)return ke}R(Lt,"nullToUndefined");function xt(ke){return ke!=null&&!Array.isArray(ke)&&typeof ke=="object"}R(xt,"isNamedParam");function mt(ke,it){switch(ke){case n.ParameterStructures.auto:return xt(it)?Lt(it):[ve(it)];case n.ParameterStructures.byName:if(!xt(it))throw new Error("Received parameters by name but param is not an object literal.");return Lt(it);case n.ParameterStructures.byPosition:return[ve(it)];default:throw new Error(`Unknown parameter structure ${ke.toString()}`)}}R(mt,"computeSingleParam");function Mt(ke,it){let pt;const bt=ke.numberOfParams;switch(bt){case 0:pt=void 0;break;case 1:pt=mt(ke.parameterStructures,it[0]);break;default:pt=[];for(let ir=0;ir<it.length&&ir<bt;ir++)pt.push(ve(it[ir]));if(it.length<bt)for(let ir=it.length;ir<bt;ir++)pt.push(null);break}return pt}R(Mt,"computeMessageParams");const Dr={sendNotification:R((ke,...it)=>{Ht();let pt,bt;if(r.string(ke)){pt=ke;const Br=it[0];let Sr=0,jr=n.ParameterStructures.auto;n.ParameterStructures.is(Br)&&(Sr=1,jr=Br);let Er=it.length;const an=Er-Sr;switch(an){case 0:bt=void 0;break;case 1:bt=mt(jr,it[Sr]);break;default:if(jr===n.ParameterStructures.byName)throw new Error(`Received ${an} parameters for 'by Name' notification parameter structure.`);bt=it.slice(Sr,Er).map(Cr=>ve(Cr));break}}else{const Br=it;pt=ke.method,bt=Mt(ke,Br)}const ir={jsonrpc:H,method:pt,params:bt};return Pe(ir),_.write(ir).catch(Br=>{throw B.error("Sending notification failed."),Br})},"sendNotification"),onNotification:R((ke,it)=>{Ht();let pt;return r.func(ke)?K=ke:it&&(r.string(ke)?(pt=ke,W.set(ke,{type:void 0,handler:it})):(pt=ke.method,W.set(ke.method,{type:ke,handler:it}))),{dispose:R(()=>{pt!==void 0?W.delete(pt):K=void 0},"dispose")}},"onNotification"),onProgress:R((ke,it,pt)=>{if(oe.has(it))throw new Error(`Progress handler for token ${it} already registered`);return oe.set(it,pt),{dispose:R(()=>{oe.delete(it)},"dispose")}},"onProgress"),sendProgress:R((ke,it,pt)=>Dr.sendNotification(u.type,{token:it,value:pt}),"sendProgress"),onUnhandledProgress:ge.event,sendRequest:R((ke,...it)=>{Ht(),ht();let pt,bt,ir;if(r.string(ke)){pt=ke;const Er=it[0],an=it[it.length-1];let Cr=0,Yr=n.ParameterStructures.auto;n.ParameterStructures.is(Er)&&(Cr=1,Yr=Er);let Cn=it.length;s.CancellationToken.is(an)&&(Cn=Cn-1,ir=an);const ut=Cn-Cr;switch(ut){case 0:bt=void 0;break;case 1:bt=mt(Yr,it[Cr]);break;default:if(Yr===n.ParameterStructures.byName)throw new Error(`Received ${ut} parameters for 'by Name' request parameter structure.`);bt=it.slice(Cr,Cn).map(Ut=>ve(Ut));break}}else{const Er=it;pt=ke.method,bt=Mt(ke,Er);const an=ke.numberOfParams;ir=s.CancellationToken.is(Er[an])?Er[an]:void 0}const Br=F++;let Sr;ir&&(Sr=ir.onCancellationRequested(()=>{const Er=xe.sender.sendCancellation(Dr,Br);return Er===void 0?(B.log(`Received no promise from cancellation strategy when cancelling id ${Br}`),Promise.resolve()):Er.catch(()=>{B.log(`Sending cancellation messages for id ${Br} failed`)})}));const jr={jsonrpc:H,id:Br,method:pt,params:bt};return at(jr),typeof xe.sender.enableCancellation=="function"&&xe.sender.enableCancellation(jr),new Promise(async(Er,an)=>{const Cr=R(ut=>{Er(ut),xe.sender.cleanup(Br),Sr==null||Sr.dispose()},"resolveWithCleanup"),Yr=R(ut=>{an(ut),xe.sender.cleanup(Br),Sr==null||Sr.dispose()},"rejectWithCleanup"),Cn={method:pt,timerStart:Date.now(),resolve:Cr,reject:Yr};try{await _.write(jr),ne.set(Br,Cn)}catch(ut){throw B.error("Sending request failed."),Cn.reject(new n.ResponseError(n.ErrorCodes.MessageWriteError,ut.message?ut.message:"Unknown reason")),ut}})},"sendRequest"),onRequest:R((ke,it)=>{Ht();let pt=null;return h.is(ke)?(pt=void 0,V=ke):r.string(ke)?(pt=null,it!==void 0&&(pt=ke,G.set(ke,{handler:it,type:void 0}))):it!==void 0&&(pt=ke.method,G.set(ke.method,{type:ke,handler:it})),{dispose:R(()=>{pt!==null&&(pt!==void 0?G.delete(pt):V=void 0)},"dispose")}},"onRequest"),hasPendingResponse:R(()=>ne.size>0,"hasPendingResponse"),trace:R(async(ke,it,pt)=>{let bt=!1,ir=g.Text;pt!==void 0&&(r.boolean(pt)?bt=pt:(bt=pt.sendNotification||!1,ir=pt.traceFormat||g.Text)),te=ke,Re=ir,te===f.Off?_e=void 0:_e=it,bt&&!Y()&&!Q()&&await Dr.sendNotification(m.type,{value:f.toString(ke)})},"trace"),onError:ce.event,onClose:de.event,onUnhandledNotification:we.event,onDispose:ze.event,end:R(()=>{_.end()},"end"),dispose:R(()=>{if(Q())return;He=M.Disposed,ze.fire(void 0);const ke=new n.ResponseError(n.ErrorCodes.PendingResponseRejected,"Pending response rejected since connection got disposed");for(const it of ne.values())it.reject(ke);ne=new Map,me=new Map,ie=new Set,J=new i.LinkedMap,r.func(_.dispose)&&_.dispose(),r.func(L.dispose)&&L.dispose()},"dispose"),listen:R(()=>{Ht(),It(),He=M.Listening,L.listen(Ke)},"listen"),inspect:R(()=>{(0,e.default)().console.log("inspect")},"inspect")};return Dr.onNotification(U.type,ke=>{if(te===f.Off||!_e)return;const it=te===f.Verbose||te===f.Compact;_e.log(ke.message,it?ke.verbose:void 0)}),Dr.onNotification(u.type,ke=>{const it=oe.get(ke.token);it?it(ke.value):ge.fire(ke)}),Dr}R(P,"createMessageConnection"),t.createMessageConnection=P}}),yX=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/common/api.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ProgressType=t.ProgressToken=t.createMessageConnection=t.NullLogger=t.ConnectionOptions=t.ConnectionStrategy=t.AbstractMessageBuffer=t.WriteableStreamMessageWriter=t.AbstractMessageWriter=t.MessageWriter=t.ReadableStreamMessageReader=t.AbstractMessageReader=t.MessageReader=t.SharedArrayReceiverStrategy=t.SharedArraySenderStrategy=t.CancellationToken=t.CancellationTokenSource=t.Emitter=t.Event=t.Disposable=t.LRUCache=t.Touch=t.LinkedMap=t.ParameterStructures=t.NotificationType9=t.NotificationType8=t.NotificationType7=t.NotificationType6=t.NotificationType5=t.NotificationType4=t.NotificationType3=t.NotificationType2=t.NotificationType1=t.NotificationType0=t.NotificationType=t.ErrorCodes=t.ResponseError=t.RequestType9=t.RequestType8=t.RequestType7=t.RequestType6=t.RequestType5=t.RequestType4=t.RequestType3=t.RequestType2=t.RequestType1=t.RequestType0=t.RequestType=t.Message=t.RAL=void 0,t.MessageStrategy=t.CancellationStrategy=t.CancellationSenderStrategy=t.CancellationReceiverStrategy=t.ConnectionError=t.ConnectionErrors=t.LogTraceNotification=t.SetTraceNotification=t.TraceFormat=t.TraceValues=t.Trace=void 0;var e=CPe();Object.defineProperty(t,"Message",{enumerable:!0,get:R(function(){return e.Message},"get")}),Object.defineProperty(t,"RequestType",{enumerable:!0,get:R(function(){return e.RequestType},"get")}),Object.defineProperty(t,"RequestType0",{enumerable:!0,get:R(function(){return e.RequestType0},"get")}),Object.defineProperty(t,"RequestType1",{enumerable:!0,get:R(function(){return e.RequestType1},"get")}),Object.defineProperty(t,"RequestType2",{enumerable:!0,get:R(function(){return e.RequestType2},"get")}),Object.defineProperty(t,"RequestType3",{enumerable:!0,get:R(function(){return e.RequestType3},"get")}),Object.defineProperty(t,"RequestType4",{enumerable:!0,get:R(function(){return e.RequestType4},"get")}),Object.defineProperty(t,"RequestType5",{enumerable:!0,get:R(function(){return e.RequestType5},"get")}),Object.defineProperty(t,"RequestType6",{enumerable:!0,get:R(function(){return e.RequestType6},"get")}),Object.defineProperty(t,"RequestType7",{enumerable:!0,get:R(function(){return e.RequestType7},"get")}),Object.defineProperty(t,"RequestType8",{enumerable:!0,get:R(function(){return e.RequestType8},"get")}),Object.defineProperty(t,"RequestType9",{enumerable:!0,get:R(function(){return e.RequestType9},"get")}),Object.defineProperty(t,"ResponseError",{enumerable:!0,get:R(function(){return e.ResponseError},"get")}),Object.defineProperty(t,"ErrorCodes",{enumerable:!0,get:R(function(){return e.ErrorCodes},"get")}),Object.defineProperty(t,"NotificationType",{enumerable:!0,get:R(function(){return e.NotificationType},"get")}),Object.defineProperty(t,"NotificationType0",{enumerable:!0,get:R(function(){return e.NotificationType0},"get")}),Object.defineProperty(t,"NotificationType1",{enumerable:!0,get:R(function(){return e.NotificationType1},"get")}),Object.defineProperty(t,"NotificationType2",{enumerable:!0,get:R(function(){return e.NotificationType2},"get")}),Object.defineProperty(t,"NotificationType3",{enumerable:!0,get:R(function(){return e.NotificationType3},"get")}),Object.defineProperty(t,"NotificationType4",{enumerable:!0,get:R(function(){return e.NotificationType4},"get")}),Object.defineProperty(t,"NotificationType5",{enumerable:!0,get:R(function(){return e.NotificationType5},"get")}),Object.defineProperty(t,"NotificationType6",{enumerable:!0,get:R(function(){return e.NotificationType6},"get")}),Object.defineProperty(t,"NotificationType7",{enumerable:!0,get:R(function(){return e.NotificationType7},"get")}),Object.defineProperty(t,"NotificationType8",{enumerable:!0,get:R(function(){return e.NotificationType8},"get")}),Object.defineProperty(t,"NotificationType9",{enumerable:!0,get:R(function(){return e.NotificationType9},"get")}),Object.defineProperty(t,"ParameterStructures",{enumerable:!0,get:R(function(){return e.ParameterStructures},"get")});var r=SPe();Object.defineProperty(t,"LinkedMap",{enumerable:!0,get:R(function(){return r.LinkedMap},"get")}),Object.defineProperty(t,"LRUCache",{enumerable:!0,get:R(function(){return r.LRUCache},"get")}),Object.defineProperty(t,"Touch",{enumerable:!0,get:R(function(){return r.Touch},"get")});var n=sir();Object.defineProperty(t,"Disposable",{enumerable:!0,get:R(function(){return n.Disposable},"get")});var i=b3();Object.defineProperty(t,"Event",{enumerable:!0,get:R(function(){return i.Event},"get")}),Object.defineProperty(t,"Emitter",{enumerable:!0,get:R(function(){return i.Emitter},"get")});var a=t_();Object.defineProperty(t,"CancellationTokenSource",{enumerable:!0,get:R(function(){return a.CancellationTokenSource},"get")}),Object.defineProperty(t,"CancellationToken",{enumerable:!0,get:R(function(){return a.CancellationToken},"get")});var s=oir();Object.defineProperty(t,"SharedArraySenderStrategy",{enumerable:!0,get:R(function(){return s.SharedArraySenderStrategy},"get")}),Object.defineProperty(t,"SharedArrayReceiverStrategy",{enumerable:!0,get:R(function(){return s.SharedArrayReceiverStrategy},"get")});var o=lir();Object.defineProperty(t,"MessageReader",{enumerable:!0,get:R(function(){return o.MessageReader},"get")}),Object.defineProperty(t,"AbstractMessageReader",{enumerable:!0,get:R(function(){return o.AbstractMessageReader},"get")}),Object.defineProperty(t,"ReadableStreamMessageReader",{enumerable:!0,get:R(function(){return o.ReadableStreamMessageReader},"get")});var l=cir();Object.defineProperty(t,"MessageWriter",{enumerable:!0,get:R(function(){return l.MessageWriter},"get")}),Object.defineProperty(t,"AbstractMessageWriter",{enumerable:!0,get:R(function(){return l.AbstractMessageWriter},"get")}),Object.defineProperty(t,"WriteableStreamMessageWriter",{enumerable:!0,get:R(function(){return l.WriteableStreamMessageWriter},"get")});var u=uir();Object.defineProperty(t,"AbstractMessageBuffer",{enumerable:!0,get:R(function(){return u.AbstractMessageBuffer},"get")});var d=dir();Object.defineProperty(t,"ConnectionStrategy",{enumerable:!0,get:R(function(){return d.ConnectionStrategy},"get")}),Object.defineProperty(t,"ConnectionOptions",{enumerable:!0,get:R(function(){return d.ConnectionOptions},"get")}),Object.defineProperty(t,"NullLogger",{enumerable:!0,get:R(function(){return d.NullLogger},"get")}),Object.defineProperty(t,"createMessageConnection",{enumerable:!0,get:R(function(){return d.createMessageConnection},"get")}),Object.defineProperty(t,"ProgressToken",{enumerable:!0,get:R(function(){return d.ProgressToken},"get")}),Object.defineProperty(t,"ProgressType",{enumerable:!0,get:R(function(){return d.ProgressType},"get")}),Object.defineProperty(t,"Trace",{enumerable:!0,get:R(function(){return d.Trace},"get")}),Object.defineProperty(t,"TraceValues",{enumerable:!0,get:R(function(){return d.TraceValues},"get")}),Object.defineProperty(t,"TraceFormat",{enumerable:!0,get:R(function(){return d.TraceFormat},"get")}),Object.defineProperty(t,"SetTraceNotification",{enumerable:!0,get:R(function(){return d.SetTraceNotification},"get")}),Object.defineProperty(t,"LogTraceNotification",{enumerable:!0,get:R(function(){return d.LogTraceNotification},"get")}),Object.defineProperty(t,"ConnectionErrors",{enumerable:!0,get:R(function(){return d.ConnectionErrors},"get")}),Object.defineProperty(t,"ConnectionError",{enumerable:!0,get:R(function(){return d.ConnectionError},"get")}),Object.defineProperty(t,"CancellationReceiverStrategy",{enumerable:!0,get:R(function(){return d.CancellationReceiverStrategy},"get")}),Object.defineProperty(t,"CancellationSenderStrategy",{enumerable:!0,get:R(function(){return d.CancellationSenderStrategy},"get")}),Object.defineProperty(t,"CancellationStrategy",{enumerable:!0,get:R(function(){return d.CancellationStrategy},"get")}),Object.defineProperty(t,"MessageStrategy",{enumerable:!0,get:R(function(){return d.MessageStrategy},"get")});var h=B5();t.RAL=h.default}}),hir=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/ril.js"(t){var l,u,d;Object.defineProperty(t,"__esModule",{value:!0});var e=yX(),r=(l=class extends e.AbstractMessageBuffer{constructor(f="utf-8"){super(f),this.asciiDecoder=new TextDecoder("ascii")}emptyBuffer(){return l.emptyBuffer}fromString(f,p){return new TextEncoder().encode(f)}toString(f,p){return p==="ascii"?this.asciiDecoder.decode(f):new TextDecoder(p).decode(f)}asNative(f,p){return p===void 0?f:f.slice(0,p)}allocNative(f){return new Uint8Array(f)}},R(l,"MessageBuffer"),l);r.emptyBuffer=new Uint8Array(0);var n=(u=class{constructor(f){this.socket=f,this._onData=new e.Emitter,this._messageListener=p=>{p.data.arrayBuffer().then(m=>{this._onData.fire(new Uint8Array(m))},()=>{(0,e.RAL)().console.error("Converting blob to array buffer failed.")})},this.socket.addEventListener("message",this._messageListener)}onClose(f){return this.socket.addEventListener("close",f),e.Disposable.create(()=>this.socket.removeEventListener("close",f))}onError(f){return this.socket.addEventListener("error",f),e.Disposable.create(()=>this.socket.removeEventListener("error",f))}onEnd(f){return this.socket.addEventListener("end",f),e.Disposable.create(()=>this.socket.removeEventListener("end",f))}onData(f){return this._onData.event(f)}},R(u,"ReadableStreamWrapper"),u),i=(d=class{constructor(f){this.socket=f}onClose(f){return this.socket.addEventListener("close",f),e.Disposable.create(()=>this.socket.removeEventListener("close",f))}onError(f){return this.socket.addEventListener("error",f),e.Disposable.create(()=>this.socket.removeEventListener("error",f))}onEnd(f){return this.socket.addEventListener("end",f),e.Disposable.create(()=>this.socket.removeEventListener("end",f))}write(f,p){if(typeof f=="string"){if(p!==void 0&&p!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${p}`);this.socket.send(f)}else this.socket.send(f);return Promise.resolve()}end(){this.socket.close()}},R(d,"WritableStreamWrapper"),d),a=new TextEncoder,s=Object.freeze({messageBuffer:Object.freeze({create:R(h=>new r(h),"create")}),applicationJson:Object.freeze({encoder:Object.freeze({name:"application/json",encode:R((h,f)=>{if(f.charset!=="utf-8")throw new Error(`In a Browser environments only utf-8 text encoding is supported. But got encoding: ${f.charset}`);return Promise.resolve(a.encode(JSON.stringify(h,void 0,0)))},"encode")}),decoder:Object.freeze({name:"application/json",decode:R((h,f)=>{if(!(h instanceof Uint8Array))throw new Error("In a Browser environments only Uint8Arrays are supported.");return Promise.resolve(JSON.parse(new TextDecoder(f.charset).decode(h)))},"decode")})}),stream:Object.freeze({asReadableStream:R(h=>new n(h),"asReadableStream"),asWritableStream:R(h=>new i(h),"asWritableStream")}),console,timer:Object.freeze({setTimeout(h,f,...p){const g=setTimeout(h,f,...p);return{dispose:R(()=>clearTimeout(g),"dispose")}},setImmediate(h,...f){const p=setTimeout(h,0,...f);return{dispose:R(()=>clearTimeout(p),"dispose")}},setInterval(h,f,...p){const g=setInterval(h,f,...p);return{dispose:R(()=>clearInterval(g),"dispose")}}})});function o(){return s}R(o,"RIL"),(function(h){function f(){e.RAL.install(s)}R(f,"install"),h.install=f})(o||(o={})),t.default=o}}),v3=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/lib/browser/main.js"(t){var l,u;var e=t&&t.__createBinding||(Object.create?(function(d,h,f,p){p===void 0&&(p=f);var g=Object.getOwnPropertyDescriptor(h,f);(!g||("get"in g?!h.__esModule:g.writable||g.configurable))&&(g={enumerable:!0,get:R(function(){return h[f]},"get")}),Object.defineProperty(d,p,g)}):(function(d,h,f,p){p===void 0&&(p=f),d[p]=h[f]})),r=t&&t.__exportStar||function(d,h){for(var f in d)f!=="default"&&!Object.prototype.hasOwnProperty.call(h,f)&&e(h,d,f)};Object.defineProperty(t,"__esModule",{value:!0}),t.createMessageConnection=t.BrowserMessageWriter=t.BrowserMessageReader=void 0;var n=hir();n.default.install();var i=yX();r(yX(),t);var a=(l=class extends i.AbstractMessageReader{constructor(h){super(),this._onData=new i.Emitter,this._messageListener=f=>{this._onData.fire(f.data)},h.addEventListener("error",f=>this.fireError(f)),h.onmessage=this._messageListener}listen(h){return this._onData.event(h)}},R(l,"BrowserMessageReader"),l);t.BrowserMessageReader=a;var s=(u=class extends i.AbstractMessageWriter{constructor(h){super(),this.port=h,this.errorCount=0,h.addEventListener("error",f=>this.fireError(f))}write(h){try{return this.port.postMessage(h),Promise.resolve()}catch(f){return this.handleError(f,h),Promise.reject(f)}}handleError(h,f){this.errorCount++,this.fireError(h,f,this.errorCount)}end(){}},R(u,"BrowserMessageWriter"),u);t.BrowserMessageWriter=s;function o(d,h,f,p){return f===void 0&&(f=i.NullLogger),i.ConnectionStrategy.is(p)&&(p={connectionStrategy:p}),(0,i.createMessageConnection)(d,h,f,p)}R(o,"createMessageConnection"),t.createMessageConnection=o}}),fUe=mn({"../../node_modules/.pnpm/vscode-jsonrpc@8.2.0/node_modules/vscode-jsonrpc/browser.js"(t,e){e.exports=v3()}}),Ma=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/messages.js"(t){var l,u,d,h,f;Object.defineProperty(t,"__esModule",{value:!0}),t.ProtocolNotificationType=t.ProtocolNotificationType0=t.ProtocolRequestType=t.ProtocolRequestType0=t.RegistrationType=t.MessageDirection=void 0;var e=v3(),r;(function(p){p.clientToServer="clientToServer",p.serverToClient="serverToClient",p.both="both"})(r||(t.MessageDirection=r={}));var n=(l=class{constructor(g){this.method=g}},R(l,"RegistrationType"),l);t.RegistrationType=n;var i=(u=class extends e.RequestType0{constructor(g){super(g)}},R(u,"ProtocolRequestType0"),u);t.ProtocolRequestType0=i;var a=(d=class extends e.RequestType{constructor(g){super(g,e.ParameterStructures.byName)}},R(d,"ProtocolRequestType"),d);t.ProtocolRequestType=a;var s=(h=class extends e.NotificationType0{constructor(g){super(g)}},R(h,"ProtocolNotificationType0"),h);t.ProtocolNotificationType0=s;var o=(f=class extends e.NotificationType{constructor(g){super(g,e.ParameterStructures.byName)}},R(f,"ProtocolNotificationType"),f);t.ProtocolNotificationType=o}}),Qre=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.objectLiteral=t.typedArray=t.stringArray=t.array=t.func=t.error=t.number=t.string=t.boolean=void 0;function e(d){return d===!0||d===!1}R(e,"boolean"),t.boolean=e;function r(d){return typeof d=="string"||d instanceof String}R(r,"string"),t.string=r;function n(d){return typeof d=="number"||d instanceof Number}R(n,"number"),t.number=n;function i(d){return d instanceof Error}R(i,"error"),t.error=i;function a(d){return typeof d=="function"}R(a,"func"),t.func=a;function s(d){return Array.isArray(d)}R(s,"array"),t.array=s;function o(d){return s(d)&&d.every(h=>r(h))}R(o,"stringArray"),t.stringArray=o;function l(d,h){return Array.isArray(d)&&d.every(h)}R(l,"typedArray"),t.typedArray=l;function u(d){return d!==null&&typeof d=="object"}R(u,"objectLiteral"),t.objectLiteral=u}}),fir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ImplementationRequest=void 0;var e=Ma(),r;(function(n){n.method="textDocument/implementation",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.ImplementationRequest=r={}))}}),pir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TypeDefinitionRequest=void 0;var e=Ma(),r;(function(n){n.method="textDocument/typeDefinition",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.TypeDefinitionRequest=r={}))}}),gir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=void 0;var e=Ma(),r;(function(i){i.method="workspace/workspaceFolders",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(r||(t.WorkspaceFoldersRequest=r={}));var n;(function(i){i.method="workspace/didChangeWorkspaceFolders",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolNotificationType(i.method)})(n||(t.DidChangeWorkspaceFoldersNotification=n={}))}}),mir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ConfigurationRequest=void 0;var e=Ma(),r;(function(n){n.method="workspace/configuration",n.messageDirection=e.MessageDirection.serverToClient,n.type=new e.ProtocolRequestType(n.method)})(r||(t.ConfigurationRequest=r={}))}}),Uir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ColorPresentationRequest=t.DocumentColorRequest=void 0;var e=Ma(),r;(function(i){i.method="textDocument/documentColor",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(r||(t.DocumentColorRequest=r={}));var n;(function(i){i.method="textDocument/colorPresentation",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(n||(t.ColorPresentationRequest=n={}))}}),yir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=void 0;var e=Ma(),r;(function(i){i.method="textDocument/foldingRange",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(r||(t.FoldingRangeRequest=r={}));var n;(function(i){i.method="workspace/foldingRange/refresh",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(n||(t.FoldingRangeRefreshRequest=n={}))}}),bir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.DeclarationRequest=void 0;var e=Ma(),r;(function(n){n.method="textDocument/declaration",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.DeclarationRequest=r={}))}}),vir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionRangeRequest=void 0;var e=Ma(),r;(function(n){n.method="textDocument/selectionRange",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.SelectionRangeRequest=r={}))}}),xir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=void 0;var e=v3(),r=Ma(),n;(function(s){s.type=new e.ProgressType;function o(l){return l===s.type}R(o,"is"),s.is=o})(n||(t.WorkDoneProgress=n={}));var i;(function(s){s.method="window/workDoneProgress/create",s.messageDirection=r.MessageDirection.serverToClient,s.type=new r.ProtocolRequestType(s.method)})(i||(t.WorkDoneProgressCreateRequest=i={}));var a;(function(s){s.method="window/workDoneProgress/cancel",s.messageDirection=r.MessageDirection.clientToServer,s.type=new r.ProtocolNotificationType(s.method)})(a||(t.WorkDoneProgressCancelNotification=a={}))}}),wir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.CallHierarchyPrepareRequest=void 0;var e=Ma(),r;(function(a){a.method="textDocument/prepareCallHierarchy",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(r||(t.CallHierarchyPrepareRequest=r={}));var n;(function(a){a.method="callHierarchy/incomingCalls",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(t.CallHierarchyIncomingCallsRequest=n={}));var i;(function(a){a.method="callHierarchy/outgoingCalls",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(t.CallHierarchyOutgoingCallsRequest=i={}))}}),Tir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.SemanticTokensRegistrationType=t.TokenFormat=void 0;var e=Ma(),r;(function(l){l.Relative="relative"})(r||(t.TokenFormat=r={}));var n;(function(l){l.method="textDocument/semanticTokens",l.type=new e.RegistrationType(l.method)})(n||(t.SemanticTokensRegistrationType=n={}));var i;(function(l){l.method="textDocument/semanticTokens/full",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(i||(t.SemanticTokensRequest=i={}));var a;(function(l){l.method="textDocument/semanticTokens/full/delta",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(a||(t.SemanticTokensDeltaRequest=a={}));var s;(function(l){l.method="textDocument/semanticTokens/range",l.messageDirection=e.MessageDirection.clientToServer,l.type=new e.ProtocolRequestType(l.method),l.registrationMethod=n.method})(s||(t.SemanticTokensRangeRequest=s={}));var o;(function(l){l.method="workspace/semanticTokens/refresh",l.messageDirection=e.MessageDirection.serverToClient,l.type=new e.ProtocolRequestType0(l.method)})(o||(t.SemanticTokensRefreshRequest=o={}))}}),Cir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.ShowDocumentRequest=void 0;var e=Ma(),r;(function(n){n.method="window/showDocument",n.messageDirection=e.MessageDirection.serverToClient,n.type=new e.ProtocolRequestType(n.method)})(r||(t.ShowDocumentRequest=r={}))}}),Sir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedEditingRangeRequest=void 0;var e=Ma(),r;(function(n){n.method="textDocument/linkedEditingRange",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.LinkedEditingRangeRequest=r={}))}}),kir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.DidRenameFilesNotification=t.WillRenameFilesRequest=t.DidCreateFilesNotification=t.WillCreateFilesRequest=t.FileOperationPatternKind=void 0;var e=Ma(),r;(function(u){u.file="file",u.folder="folder"})(r||(t.FileOperationPatternKind=r={}));var n;(function(u){u.method="workspace/willCreateFiles",u.messageDirection=e.MessageDirection.clientToServer,u.type=new e.ProtocolRequestType(u.method)})(n||(t.WillCreateFilesRequest=n={}));var i;(function(u){u.method="workspace/didCreateFiles",u.messageDirection=e.MessageDirection.clientToServer,u.type=new e.ProtocolNotificationType(u.method)})(i||(t.DidCreateFilesNotification=i={}));var a;(function(u){u.method="workspace/willRenameFiles",u.messageDirection=e.MessageDirection.clientToServer,u.type=new e.ProtocolRequestType(u.method)})(a||(t.WillRenameFilesRequest=a={}));var s;(function(u){u.method="workspace/didRenameFiles",u.messageDirection=e.MessageDirection.clientToServer,u.type=new e.ProtocolNotificationType(u.method)})(s||(t.DidRenameFilesNotification=s={}));var o;(function(u){u.method="workspace/didDeleteFiles",u.messageDirection=e.MessageDirection.clientToServer,u.type=new e.ProtocolNotificationType(u.method)})(o||(t.DidDeleteFilesNotification=o={}));var l;(function(u){u.method="workspace/willDeleteFiles",u.messageDirection=e.MessageDirection.clientToServer,u.type=new e.ProtocolRequestType(u.method)})(l||(t.WillDeleteFilesRequest=l={}))}}),Eir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=void 0;var e=Ma(),r;(function(a){a.document="document",a.project="project",a.group="group",a.scheme="scheme",a.global="global"})(r||(t.UniquenessLevel=r={}));var n;(function(a){a.$import="import",a.$export="export",a.local="local"})(n||(t.MonikerKind=n={}));var i;(function(a){a.method="textDocument/moniker",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(t.MonikerRequest=i={}))}}),Air=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TypeHierarchySubtypesRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchyPrepareRequest=void 0;var e=Ma(),r;(function(a){a.method="textDocument/prepareTypeHierarchy",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(r||(t.TypeHierarchyPrepareRequest=r={}));var n;(function(a){a.method="typeHierarchy/supertypes",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(t.TypeHierarchySupertypesRequest=n={}));var i;(function(a){a.method="typeHierarchy/subtypes",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(i||(t.TypeHierarchySubtypesRequest=i={}))}}),Mir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.InlineValueRefreshRequest=t.InlineValueRequest=void 0;var e=Ma(),r;(function(i){i.method="textDocument/inlineValue",i.messageDirection=e.MessageDirection.clientToServer,i.type=new e.ProtocolRequestType(i.method)})(r||(t.InlineValueRequest=r={}));var n;(function(i){i.method="workspace/inlineValue/refresh",i.messageDirection=e.MessageDirection.serverToClient,i.type=new e.ProtocolRequestType0(i.method)})(n||(t.InlineValueRefreshRequest=n={}))}}),Rir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=void 0;var e=Ma(),r;(function(a){a.method="textDocument/inlayHint",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(r||(t.InlayHintRequest=r={}));var n;(function(a){a.method="inlayHint/resolve",a.messageDirection=e.MessageDirection.clientToServer,a.type=new e.ProtocolRequestType(a.method)})(n||(t.InlayHintResolveRequest=n={}));var i;(function(a){a.method="workspace/inlayHint/refresh",a.messageDirection=e.MessageDirection.serverToClient,a.type=new e.ProtocolRequestType0(a.method)})(i||(t.InlayHintRefreshRequest=i={}))}}),Iir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=void 0;var e=v3(),r=Qre(),n=Ma(),i;(function(u){function d(h){const f=h;return f&&r.boolean(f.retriggerRequest)}R(d,"is"),u.is=d})(i||(t.DiagnosticServerCancellationData=i={}));var a;(function(u){u.Full="full",u.Unchanged="unchanged"})(a||(t.DocumentDiagnosticReportKind=a={}));var s;(function(u){u.method="textDocument/diagnostic",u.messageDirection=n.MessageDirection.clientToServer,u.type=new n.ProtocolRequestType(u.method),u.partialResult=new e.ProgressType})(s||(t.DocumentDiagnosticRequest=s={}));var o;(function(u){u.method="workspace/diagnostic",u.messageDirection=n.MessageDirection.clientToServer,u.type=new n.ProtocolRequestType(u.method),u.partialResult=new e.ProgressType})(o||(t.WorkspaceDiagnosticRequest=o={}));var l;(function(u){u.method="workspace/diagnostic/refresh",u.messageDirection=n.MessageDirection.serverToClient,u.type=new n.ProtocolRequestType0(u.method)})(l||(t.DiagnosticRefreshRequest=l={}))}}),Lir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=void 0;var e=(PS(),Jre(e_)),r=Qre(),n=Ma(),i;(function(g){g.Markup=1,g.Code=2;function m(U){return U===1||U===2}R(m,"is"),g.is=m})(i||(t.NotebookCellKind=i={}));var a;(function(g){function m(b,v){const w={executionOrder:b};return(v===!0||v===!1)&&(w.success=v),w}R(m,"create"),g.create=m;function U(b){const v=b;return r.objectLiteral(v)&&e.uinteger.is(v.executionOrder)&&(v.success===void 0||r.boolean(v.success))}R(U,"is"),g.is=U;function y(b,v){return b===v?!0:b==null||v===null||v===void 0?!1:b.executionOrder===v.executionOrder&&b.success===v.success}R(y,"equals"),g.equals=y})(a||(t.ExecutionSummary=a={}));var s;(function(g){function m(v,w){return{kind:v,document:w}}R(m,"create"),g.create=m;function U(v){const w=v;return r.objectLiteral(w)&&i.is(w.kind)&&e.DocumentUri.is(w.document)&&(w.metadata===void 0||r.objectLiteral(w.metadata))}R(U,"is"),g.is=U;function y(v,w){const T=new Set;return v.document!==w.document&&T.add("document"),v.kind!==w.kind&&T.add("kind"),v.executionSummary!==w.executionSummary&&T.add("executionSummary"),(v.metadata!==void 0||w.metadata!==void 0)&&!b(v.metadata,w.metadata)&&T.add("metadata"),(v.executionSummary!==void 0||w.executionSummary!==void 0)&&!a.equals(v.executionSummary,w.executionSummary)&&T.add("executionSummary"),T}R(y,"diff"),g.diff=y;function b(v,w){if(v===w)return!0;if(v==null||w===null||w===void 0||typeof v!=typeof w||typeof v!="object")return!1;const T=Array.isArray(v),S=Array.isArray(w);if(T!==S)return!1;if(T&&S){if(v.length!==w.length)return!1;for(let C=0;C<v.length;C++)if(!b(v[C],w[C]))return!1}if(r.objectLiteral(v)&&r.objectLiteral(w)){const C=Object.keys(v),k=Object.keys(w);if(C.length!==k.length||(C.sort(),k.sort(),!b(C,k)))return!1;for(let E=0;E<C.length;E++){const A=C[E];if(!b(v[A],w[A]))return!1}}return!0}R(b,"equalsMetadata")})(s||(t.NotebookCell=s={}));var o;(function(g){function m(y,b,v,w){return{uri:y,notebookType:b,version:v,cells:w}}R(m,"create"),g.create=m;function U(y){const b=y;return r.objectLiteral(b)&&r.string(b.uri)&&e.integer.is(b.version)&&r.typedArray(b.cells,s.is)}R(U,"is"),g.is=U})(o||(t.NotebookDocument=o={}));var l;(function(g){g.method="notebookDocument/sync",g.messageDirection=n.MessageDirection.clientToServer,g.type=new n.RegistrationType(g.method)})(l||(t.NotebookDocumentSyncRegistrationType=l={}));var u;(function(g){g.method="notebookDocument/didOpen",g.messageDirection=n.MessageDirection.clientToServer,g.type=new n.ProtocolNotificationType(g.method),g.registrationMethod=l.method})(u||(t.DidOpenNotebookDocumentNotification=u={}));var d;(function(g){function m(y){const b=y;return r.objectLiteral(b)&&e.uinteger.is(b.start)&&e.uinteger.is(b.deleteCount)&&(b.cells===void 0||r.typedArray(b.cells,s.is))}R(m,"is"),g.is=m;function U(y,b,v){const w={start:y,deleteCount:b};return v!==void 0&&(w.cells=v),w}R(U,"create"),g.create=U})(d||(t.NotebookCellArrayChange=d={}));var h;(function(g){g.method="notebookDocument/didChange",g.messageDirection=n.MessageDirection.clientToServer,g.type=new n.ProtocolNotificationType(g.method),g.registrationMethod=l.method})(h||(t.DidChangeNotebookDocumentNotification=h={}));var f;(function(g){g.method="notebookDocument/didSave",g.messageDirection=n.MessageDirection.clientToServer,g.type=new n.ProtocolNotificationType(g.method),g.registrationMethod=l.method})(f||(t.DidSaveNotebookDocumentNotification=f={}));var p;(function(g){g.method="notebookDocument/didClose",g.messageDirection=n.MessageDirection.clientToServer,g.type=new n.ProtocolNotificationType(g.method),g.registrationMethod=l.method})(p||(t.DidCloseNotebookDocumentNotification=p={}))}}),Nir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.InlineCompletionRequest=void 0;var e=Ma(),r;(function(n){n.method="textDocument/inlineCompletion",n.messageDirection=e.MessageDirection.clientToServer,n.type=new e.ProtocolRequestType(n.method)})(r||(t.InlineCompletionRequest=r={}))}}),Oir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/protocol.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.WorkspaceSymbolRequest=t.CodeActionResolveRequest=t.CodeActionRequest=t.DocumentSymbolRequest=t.DocumentHighlightRequest=t.ReferencesRequest=t.DefinitionRequest=t.SignatureHelpRequest=t.SignatureHelpTriggerKind=t.HoverRequest=t.CompletionResolveRequest=t.CompletionRequest=t.CompletionTriggerKind=t.PublishDiagnosticsNotification=t.WatchKind=t.RelativePattern=t.FileChangeType=t.DidChangeWatchedFilesNotification=t.WillSaveTextDocumentWaitUntilRequest=t.WillSaveTextDocumentNotification=t.TextDocumentSaveReason=t.DidSaveTextDocumentNotification=t.DidCloseTextDocumentNotification=t.DidChangeTextDocumentNotification=t.TextDocumentContentChangeEvent=t.DidOpenTextDocumentNotification=t.TextDocumentSyncKind=t.TelemetryEventNotification=t.LogMessageNotification=t.ShowMessageRequest=t.ShowMessageNotification=t.MessageType=t.DidChangeConfigurationNotification=t.ExitNotification=t.ShutdownRequest=t.InitializedNotification=t.InitializeErrorCodes=t.InitializeRequest=t.WorkDoneProgressOptions=t.TextDocumentRegistrationOptions=t.StaticRegistrationOptions=t.PositionEncodingKind=t.FailureHandlingKind=t.ResourceOperationKind=t.UnregistrationRequest=t.RegistrationRequest=t.DocumentSelector=t.NotebookCellTextDocumentFilter=t.NotebookDocumentFilter=t.TextDocumentFilter=void 0,t.MonikerRequest=t.MonikerKind=t.UniquenessLevel=t.WillDeleteFilesRequest=t.DidDeleteFilesNotification=t.WillRenameFilesRequest=t.DidRenameFilesNotification=t.WillCreateFilesRequest=t.DidCreateFilesNotification=t.FileOperationPatternKind=t.LinkedEditingRangeRequest=t.ShowDocumentRequest=t.SemanticTokensRegistrationType=t.SemanticTokensRefreshRequest=t.SemanticTokensRangeRequest=t.SemanticTokensDeltaRequest=t.SemanticTokensRequest=t.TokenFormat=t.CallHierarchyPrepareRequest=t.CallHierarchyOutgoingCallsRequest=t.CallHierarchyIncomingCallsRequest=t.WorkDoneProgressCancelNotification=t.WorkDoneProgressCreateRequest=t.WorkDoneProgress=t.SelectionRangeRequest=t.DeclarationRequest=t.FoldingRangeRefreshRequest=t.FoldingRangeRequest=t.ColorPresentationRequest=t.DocumentColorRequest=t.ConfigurationRequest=t.DidChangeWorkspaceFoldersNotification=t.WorkspaceFoldersRequest=t.TypeDefinitionRequest=t.ImplementationRequest=t.ApplyWorkspaceEditRequest=t.ExecuteCommandRequest=t.PrepareRenameRequest=t.RenameRequest=t.PrepareSupportDefaultBehavior=t.DocumentOnTypeFormattingRequest=t.DocumentRangesFormattingRequest=t.DocumentRangeFormattingRequest=t.DocumentFormattingRequest=t.DocumentLinkResolveRequest=t.DocumentLinkRequest=t.CodeLensRefreshRequest=t.CodeLensResolveRequest=t.CodeLensRequest=t.WorkspaceSymbolResolveRequest=void 0,t.InlineCompletionRequest=t.DidCloseNotebookDocumentNotification=t.DidSaveNotebookDocumentNotification=t.DidChangeNotebookDocumentNotification=t.NotebookCellArrayChange=t.DidOpenNotebookDocumentNotification=t.NotebookDocumentSyncRegistrationType=t.NotebookDocument=t.NotebookCell=t.ExecutionSummary=t.NotebookCellKind=t.DiagnosticRefreshRequest=t.WorkspaceDiagnosticRequest=t.DocumentDiagnosticRequest=t.DocumentDiagnosticReportKind=t.DiagnosticServerCancellationData=t.InlayHintRefreshRequest=t.InlayHintResolveRequest=t.InlayHintRequest=t.InlineValueRefreshRequest=t.InlineValueRequest=t.TypeHierarchySupertypesRequest=t.TypeHierarchySubtypesRequest=t.TypeHierarchyPrepareRequest=void 0;var e=Ma(),r=(PS(),Jre(e_)),n=Qre(),i=fir();Object.defineProperty(t,"ImplementationRequest",{enumerable:!0,get:R(function(){return i.ImplementationRequest},"get")});var a=pir();Object.defineProperty(t,"TypeDefinitionRequest",{enumerable:!0,get:R(function(){return a.TypeDefinitionRequest},"get")});var s=gir();Object.defineProperty(t,"WorkspaceFoldersRequest",{enumerable:!0,get:R(function(){return s.WorkspaceFoldersRequest},"get")}),Object.defineProperty(t,"DidChangeWorkspaceFoldersNotification",{enumerable:!0,get:R(function(){return s.DidChangeWorkspaceFoldersNotification},"get")});var o=mir();Object.defineProperty(t,"ConfigurationRequest",{enumerable:!0,get:R(function(){return o.ConfigurationRequest},"get")});var l=Uir();Object.defineProperty(t,"DocumentColorRequest",{enumerable:!0,get:R(function(){return l.DocumentColorRequest},"get")}),Object.defineProperty(t,"ColorPresentationRequest",{enumerable:!0,get:R(function(){return l.ColorPresentationRequest},"get")});var u=yir();Object.defineProperty(t,"FoldingRangeRequest",{enumerable:!0,get:R(function(){return u.FoldingRangeRequest},"get")}),Object.defineProperty(t,"FoldingRangeRefreshRequest",{enumerable:!0,get:R(function(){return u.FoldingRangeRefreshRequest},"get")});var d=bir();Object.defineProperty(t,"DeclarationRequest",{enumerable:!0,get:R(function(){return d.DeclarationRequest},"get")});var h=vir();Object.defineProperty(t,"SelectionRangeRequest",{enumerable:!0,get:R(function(){return h.SelectionRangeRequest},"get")});var f=xir();Object.defineProperty(t,"WorkDoneProgress",{enumerable:!0,get:R(function(){return f.WorkDoneProgress},"get")}),Object.defineProperty(t,"WorkDoneProgressCreateRequest",{enumerable:!0,get:R(function(){return f.WorkDoneProgressCreateRequest},"get")}),Object.defineProperty(t,"WorkDoneProgressCancelNotification",{enumerable:!0,get:R(function(){return f.WorkDoneProgressCancelNotification},"get")});var p=wir();Object.defineProperty(t,"CallHierarchyIncomingCallsRequest",{enumerable:!0,get:R(function(){return p.CallHierarchyIncomingCallsRequest},"get")}),Object.defineProperty(t,"CallHierarchyOutgoingCallsRequest",{enumerable:!0,get:R(function(){return p.CallHierarchyOutgoingCallsRequest},"get")}),Object.defineProperty(t,"CallHierarchyPrepareRequest",{enumerable:!0,get:R(function(){return p.CallHierarchyPrepareRequest},"get")});var g=Tir();Object.defineProperty(t,"TokenFormat",{enumerable:!0,get:R(function(){return g.TokenFormat},"get")}),Object.defineProperty(t,"SemanticTokensRequest",{enumerable:!0,get:R(function(){return g.SemanticTokensRequest},"get")}),Object.defineProperty(t,"SemanticTokensDeltaRequest",{enumerable:!0,get:R(function(){return g.SemanticTokensDeltaRequest},"get")}),Object.defineProperty(t,"SemanticTokensRangeRequest",{enumerable:!0,get:R(function(){return g.SemanticTokensRangeRequest},"get")}),Object.defineProperty(t,"SemanticTokensRefreshRequest",{enumerable:!0,get:R(function(){return g.SemanticTokensRefreshRequest},"get")}),Object.defineProperty(t,"SemanticTokensRegistrationType",{enumerable:!0,get:R(function(){return g.SemanticTokensRegistrationType},"get")});var m=Cir();Object.defineProperty(t,"ShowDocumentRequest",{enumerable:!0,get:R(function(){return m.ShowDocumentRequest},"get")});var U=Sir();Object.defineProperty(t,"LinkedEditingRangeRequest",{enumerable:!0,get:R(function(){return U.LinkedEditingRangeRequest},"get")});var y=kir();Object.defineProperty(t,"FileOperationPatternKind",{enumerable:!0,get:R(function(){return y.FileOperationPatternKind},"get")}),Object.defineProperty(t,"DidCreateFilesNotification",{enumerable:!0,get:R(function(){return y.DidCreateFilesNotification},"get")}),Object.defineProperty(t,"WillCreateFilesRequest",{enumerable:!0,get:R(function(){return y.WillCreateFilesRequest},"get")}),Object.defineProperty(t,"DidRenameFilesNotification",{enumerable:!0,get:R(function(){return y.DidRenameFilesNotification},"get")}),Object.defineProperty(t,"WillRenameFilesRequest",{enumerable:!0,get:R(function(){return y.WillRenameFilesRequest},"get")}),Object.defineProperty(t,"DidDeleteFilesNotification",{enumerable:!0,get:R(function(){return y.DidDeleteFilesNotification},"get")}),Object.defineProperty(t,"WillDeleteFilesRequest",{enumerable:!0,get:R(function(){return y.WillDeleteFilesRequest},"get")});var b=Eir();Object.defineProperty(t,"UniquenessLevel",{enumerable:!0,get:R(function(){return b.UniquenessLevel},"get")}),Object.defineProperty(t,"MonikerKind",{enumerable:!0,get:R(function(){return b.MonikerKind},"get")}),Object.defineProperty(t,"MonikerRequest",{enumerable:!0,get:R(function(){return b.MonikerRequest},"get")});var v=Air();Object.defineProperty(t,"TypeHierarchyPrepareRequest",{enumerable:!0,get:R(function(){return v.TypeHierarchyPrepareRequest},"get")}),Object.defineProperty(t,"TypeHierarchySubtypesRequest",{enumerable:!0,get:R(function(){return v.TypeHierarchySubtypesRequest},"get")}),Object.defineProperty(t,"TypeHierarchySupertypesRequest",{enumerable:!0,get:R(function(){return v.TypeHierarchySupertypesRequest},"get")});var w=Mir();Object.defineProperty(t,"InlineValueRequest",{enumerable:!0,get:R(function(){return w.InlineValueRequest},"get")}),Object.defineProperty(t,"InlineValueRefreshRequest",{enumerable:!0,get:R(function(){return w.InlineValueRefreshRequest},"get")});var T=Rir();Object.defineProperty(t,"InlayHintRequest",{enumerable:!0,get:R(function(){return T.InlayHintRequest},"get")}),Object.defineProperty(t,"InlayHintResolveRequest",{enumerable:!0,get:R(function(){return T.InlayHintResolveRequest},"get")}),Object.defineProperty(t,"InlayHintRefreshRequest",{enumerable:!0,get:R(function(){return T.InlayHintRefreshRequest},"get")});var S=Iir();Object.defineProperty(t,"DiagnosticServerCancellationData",{enumerable:!0,get:R(function(){return S.DiagnosticServerCancellationData},"get")}),Object.defineProperty(t,"DocumentDiagnosticReportKind",{enumerable:!0,get:R(function(){return S.DocumentDiagnosticReportKind},"get")}),Object.defineProperty(t,"DocumentDiagnosticRequest",{enumerable:!0,get:R(function(){return S.DocumentDiagnosticRequest},"get")}),Object.defineProperty(t,"WorkspaceDiagnosticRequest",{enumerable:!0,get:R(function(){return S.WorkspaceDiagnosticRequest},"get")}),Object.defineProperty(t,"DiagnosticRefreshRequest",{enumerable:!0,get:R(function(){return S.DiagnosticRefreshRequest},"get")});var C=Lir();Object.defineProperty(t,"NotebookCellKind",{enumerable:!0,get:R(function(){return C.NotebookCellKind},"get")}),Object.defineProperty(t,"ExecutionSummary",{enumerable:!0,get:R(function(){return C.ExecutionSummary},"get")}),Object.defineProperty(t,"NotebookCell",{enumerable:!0,get:R(function(){return C.NotebookCell},"get")}),Object.defineProperty(t,"NotebookDocument",{enumerable:!0,get:R(function(){return C.NotebookDocument},"get")}),Object.defineProperty(t,"NotebookDocumentSyncRegistrationType",{enumerable:!0,get:R(function(){return C.NotebookDocumentSyncRegistrationType},"get")}),Object.defineProperty(t,"DidOpenNotebookDocumentNotification",{enumerable:!0,get:R(function(){return C.DidOpenNotebookDocumentNotification},"get")}),Object.defineProperty(t,"NotebookCellArrayChange",{enumerable:!0,get:R(function(){return C.NotebookCellArrayChange},"get")}),Object.defineProperty(t,"DidChangeNotebookDocumentNotification",{enumerable:!0,get:R(function(){return C.DidChangeNotebookDocumentNotification},"get")}),Object.defineProperty(t,"DidSaveNotebookDocumentNotification",{enumerable:!0,get:R(function(){return C.DidSaveNotebookDocumentNotification},"get")}),Object.defineProperty(t,"DidCloseNotebookDocumentNotification",{enumerable:!0,get:R(function(){return C.DidCloseNotebookDocumentNotification},"get")});var k=Nir();Object.defineProperty(t,"InlineCompletionRequest",{enumerable:!0,get:R(function(){return k.InlineCompletionRequest},"get")});var E;(function(ve){function Lt(xt){const mt=xt;return n.string(mt)||n.string(mt.language)||n.string(mt.scheme)||n.string(mt.pattern)}R(Lt,"is"),ve.is=Lt})(E||(t.TextDocumentFilter=E={}));var A;(function(ve){function Lt(xt){const mt=xt;return n.objectLiteral(mt)&&(n.string(mt.notebookType)||n.string(mt.scheme)||n.string(mt.pattern))}R(Lt,"is"),ve.is=Lt})(A||(t.NotebookDocumentFilter=A={}));var M;(function(ve){function Lt(xt){const mt=xt;return n.objectLiteral(mt)&&(n.string(mt.notebook)||A.is(mt.notebook))&&(mt.language===void 0||n.string(mt.language))}R(Lt,"is"),ve.is=Lt})(M||(t.NotebookCellTextDocumentFilter=M={}));var P;(function(ve){function Lt(xt){if(!Array.isArray(xt))return!1;for(let mt of xt)if(!n.string(mt)&&!E.is(mt)&&!M.is(mt))return!1;return!0}R(Lt,"is"),ve.is=Lt})(P||(t.DocumentSelector=P={}));var N;(function(ve){ve.method="client/registerCapability",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolRequestType(ve.method)})(N||(t.RegistrationRequest=N={}));var I;(function(ve){ve.method="client/unregisterCapability",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolRequestType(ve.method)})(I||(t.UnregistrationRequest=I={}));var L;(function(ve){ve.Create="create",ve.Rename="rename",ve.Delete="delete"})(L||(t.ResourceOperationKind=L={}));var _;(function(ve){ve.Abort="abort",ve.Transactional="transactional",ve.TextOnlyTransactional="textOnlyTransactional",ve.Undo="undo"})(_||(t.FailureHandlingKind=_={}));var D;(function(ve){ve.UTF8="utf-8",ve.UTF16="utf-16",ve.UTF32="utf-32"})(D||(t.PositionEncodingKind=D={}));var O;(function(ve){function Lt(xt){const mt=xt;return mt&&n.string(mt.id)&&mt.id.length>0}R(Lt,"hasId"),ve.hasId=Lt})(O||(t.StaticRegistrationOptions=O={}));var B;(function(ve){function Lt(xt){const mt=xt;return mt&&(mt.documentSelector===null||P.is(mt.documentSelector))}R(Lt,"is"),ve.is=Lt})(B||(t.TextDocumentRegistrationOptions=B={}));var F;(function(ve){function Lt(mt){const Mt=mt;return n.objectLiteral(Mt)&&(Mt.workDoneProgress===void 0||n.boolean(Mt.workDoneProgress))}R(Lt,"is"),ve.is=Lt;function xt(mt){const Mt=mt;return Mt&&n.boolean(Mt.workDoneProgress)}R(xt,"hasWorkDoneProgress"),ve.hasWorkDoneProgress=xt})(F||(t.WorkDoneProgressOptions=F={}));var z;(function(ve){ve.method="initialize",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(z||(t.InitializeRequest=z={}));var $;(function(ve){ve.unknownProtocolVersion=1})($||(t.InitializeErrorCodes=$={}));var H;(function(ve){ve.method="initialized",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(H||(t.InitializedNotification=H={}));var V;(function(ve){ve.method="shutdown",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType0(ve.method)})(V||(t.ShutdownRequest=V={}));var G;(function(ve){ve.method="exit",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType0(ve.method)})(G||(t.ExitNotification=G={}));var K;(function(ve){ve.method="workspace/didChangeConfiguration",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(K||(t.DidChangeConfigurationNotification=K={}));var W;(function(ve){ve.Error=1,ve.Warning=2,ve.Info=3,ve.Log=4,ve.Debug=5})(W||(t.MessageType=W={}));var oe;(function(ve){ve.method="window/showMessage",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolNotificationType(ve.method)})(oe||(t.ShowMessageNotification=oe={}));var Z;(function(ve){ve.method="window/showMessageRequest",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolRequestType(ve.method)})(Z||(t.ShowMessageRequest=Z={}));var J;(function(ve){ve.method="window/logMessage",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolNotificationType(ve.method)})(J||(t.LogMessageNotification=J={}));var ne;(function(ve){ve.method="telemetry/event",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolNotificationType(ve.method)})(ne||(t.TelemetryEventNotification=ne={}));var ie;(function(ve){ve.None=0,ve.Full=1,ve.Incremental=2})(ie||(t.TextDocumentSyncKind=ie={}));var me;(function(ve){ve.method="textDocument/didOpen",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(me||(t.DidOpenTextDocumentNotification=me={}));var te;(function(ve){function Lt(mt){let Mt=mt;return Mt!=null&&typeof Mt.text=="string"&&Mt.range!==void 0&&(Mt.rangeLength===void 0||typeof Mt.rangeLength=="number")}R(Lt,"isIncremental"),ve.isIncremental=Lt;function xt(mt){let Mt=mt;return Mt!=null&&typeof Mt.text=="string"&&Mt.range===void 0&&Mt.rangeLength===void 0}R(xt,"isFull"),ve.isFull=xt})(te||(t.TextDocumentContentChangeEvent=te={}));var Re;(function(ve){ve.method="textDocument/didChange",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(Re||(t.DidChangeTextDocumentNotification=Re={}));var _e;(function(ve){ve.method="textDocument/didClose",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(_e||(t.DidCloseTextDocumentNotification=_e={}));var He;(function(ve){ve.method="textDocument/didSave",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(He||(t.DidSaveTextDocumentNotification=He={}));var ce;(function(ve){ve.Manual=1,ve.AfterDelay=2,ve.FocusOut=3})(ce||(t.TextDocumentSaveReason=ce={}));var de;(function(ve){ve.method="textDocument/willSave",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(de||(t.WillSaveTextDocumentNotification=de={}));var we;(function(ve){ve.method="textDocument/willSaveWaitUntil",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(we||(t.WillSaveTextDocumentWaitUntilRequest=we={}));var ge;(function(ve){ve.method="workspace/didChangeWatchedFiles",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolNotificationType(ve.method)})(ge||(t.DidChangeWatchedFilesNotification=ge={}));var ze;(function(ve){ve.Created=1,ve.Changed=2,ve.Deleted=3})(ze||(t.FileChangeType=ze={}));var xe;(function(ve){function Lt(xt){const mt=xt;return n.objectLiteral(mt)&&(r.URI.is(mt.baseUri)||r.WorkspaceFolder.is(mt.baseUri))&&n.string(mt.pattern)}R(Lt,"is"),ve.is=Lt})(xe||(t.RelativePattern=xe={}));var Ee;(function(ve){ve.Create=1,ve.Change=2,ve.Delete=4})(Ee||(t.WatchKind=Ee={}));var qe;(function(ve){ve.method="textDocument/publishDiagnostics",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolNotificationType(ve.method)})(qe||(t.PublishDiagnosticsNotification=qe={}));var le;(function(ve){ve.Invoked=1,ve.TriggerCharacter=2,ve.TriggerForIncompleteCompletions=3})(le||(t.CompletionTriggerKind=le={}));var pe;(function(ve){ve.method="textDocument/completion",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(pe||(t.CompletionRequest=pe={}));var Te;(function(ve){ve.method="completionItem/resolve",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Te||(t.CompletionResolveRequest=Te={}));var re;(function(ve){ve.method="textDocument/hover",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(re||(t.HoverRequest=re={}));var Y;(function(ve){ve.Invoked=1,ve.TriggerCharacter=2,ve.ContentChange=3})(Y||(t.SignatureHelpTriggerKind=Y={}));var Q;(function(ve){ve.method="textDocument/signatureHelp",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Q||(t.SignatureHelpRequest=Q={}));var ue;(function(ve){ve.method="textDocument/definition",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(ue||(t.DefinitionRequest=ue={}));var X;(function(ve){ve.method="textDocument/references",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(X||(t.ReferencesRequest=X={}));var fe;(function(ve){ve.method="textDocument/documentHighlight",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(fe||(t.DocumentHighlightRequest=fe={}));var ee;(function(ve){ve.method="textDocument/documentSymbol",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(ee||(t.DocumentSymbolRequest=ee={}));var Ae;(function(ve){ve.method="textDocument/codeAction",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Ae||(t.CodeActionRequest=Ae={}));var Me;(function(ve){ve.method="codeAction/resolve",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Me||(t.CodeActionResolveRequest=Me={}));var Ke;(function(ve){ve.method="workspace/symbol",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Ke||(t.WorkspaceSymbolRequest=Ke={}));var Ne;(function(ve){ve.method="workspaceSymbol/resolve",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Ne||(t.WorkspaceSymbolResolveRequest=Ne={}));var je;(function(ve){ve.method="textDocument/codeLens",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(je||(t.CodeLensRequest=je={}));var Oe;(function(ve){ve.method="codeLens/resolve",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Oe||(t.CodeLensResolveRequest=Oe={}));var Ze;(function(ve){ve.method="workspace/codeLens/refresh",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolRequestType0(ve.method)})(Ze||(t.CodeLensRefreshRequest=Ze={}));var Fe;(function(ve){ve.method="textDocument/documentLink",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Fe||(t.DocumentLinkRequest=Fe={}));var at;(function(ve){ve.method="documentLink/resolve",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(at||(t.DocumentLinkResolveRequest=at={}));var Pe;(function(ve){ve.method="textDocument/formatting",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Pe||(t.DocumentFormattingRequest=Pe={}));var gt;(function(ve){ve.method="textDocument/rangeFormatting",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(gt||(t.DocumentRangeFormattingRequest=gt={}));var Ie;(function(ve){ve.method="textDocument/rangesFormatting",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Ie||(t.DocumentRangesFormattingRequest=Ie={}));var St;(function(ve){ve.method="textDocument/onTypeFormatting",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(St||(t.DocumentOnTypeFormattingRequest=St={}));var Et;(function(ve){ve.Identifier=1})(Et||(t.PrepareSupportDefaultBehavior=Et={}));var ot;(function(ve){ve.method="textDocument/rename",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(ot||(t.RenameRequest=ot={}));var Ht;(function(ve){ve.method="textDocument/prepareRename",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(Ht||(t.PrepareRenameRequest=Ht={}));var It;(function(ve){ve.method="workspace/executeCommand",ve.messageDirection=e.MessageDirection.clientToServer,ve.type=new e.ProtocolRequestType(ve.method)})(It||(t.ExecuteCommandRequest=It={}));var ht;(function(ve){ve.method="workspace/applyEdit",ve.messageDirection=e.MessageDirection.serverToClient,ve.type=new e.ProtocolRequestType("workspace/applyEdit")})(ht||(t.ApplyWorkspaceEditRequest=ht={}))}}),Dir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/connection.js"(t){Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;var e=v3();function r(n,i,a,s){return e.ConnectionStrategy.is(s)&&(s={connectionStrategy:s}),(0,e.createMessageConnection)(n,i,a,s)}R(r,"createProtocolConnection"),t.createProtocolConnection=r}}),Pir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/common/api.js"(t){var e=t&&t.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:R(function(){return s[o]},"get")}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=t&&t.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.LSPErrorCodes=t.createProtocolConnection=void 0,r(v3(),t),r((PS(),Jre(e_)),t),r(Ma(),t),r(Oir(),t);var n=Dir();Object.defineProperty(t,"createProtocolConnection",{enumerable:!0,get:R(function(){return n.createProtocolConnection},"get")});var i;(function(a){a.lspReservedErrorRangeStart=-32899,a.RequestFailed=-32803,a.ServerCancelled=-32802,a.ContentModified=-32801,a.RequestCancelled=-32800,a.lspReservedErrorRangeEnd=-32800})(i||(t.LSPErrorCodes=i={}))}}),_ir=mn({"../../node_modules/.pnpm/vscode-languageserver-protocol@3.17.5/node_modules/vscode-languageserver-protocol/lib/browser/main.js"(t){var e=t&&t.__createBinding||(Object.create?(function(a,s,o,l){l===void 0&&(l=o);var u=Object.getOwnPropertyDescriptor(s,o);(!u||("get"in u?!s.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:R(function(){return s[o]},"get")}),Object.defineProperty(a,l,u)}):(function(a,s,o,l){l===void 0&&(l=o),a[l]=s[o]})),r=t&&t.__exportStar||function(a,s){for(var o in a)o!=="default"&&!Object.prototype.hasOwnProperty.call(s,o)&&e(s,a,o)};Object.defineProperty(t,"__esModule",{value:!0}),t.createProtocolConnection=void 0;var n=fUe();r(fUe(),t),r(Pir(),t);function i(a,s,o,l){return(0,n.createMessageConnection)(a,s,o,l)}R(i,"createProtocolConnection"),t.createProtocolConnection=i}}),EPe={};_1(EPe,{AbstractAstReflection:()=>rne,AbstractCstNode:()=>iae,AbstractLangiumParser:()=>sae,AbstractParserErrorMessageProvider:()=>pqe,AbstractThreadedAsyncParser:()=>cgr,AstUtils:()=>nne,BiMap:()=>eO,Cancellation:()=>Hi,CompositeCstNodeImpl:()=>Z_,ContextCache:()=>iB,CstNodeBuilder:()=>dqe,CstUtils:()=>ene,DEFAULT_TOKENIZE_OPTIONS:()=>Cae,DONE_RESULT:()=>Sl,DatatypeSymbol:()=>KN,DefaultAstNodeDescriptionProvider:()=>Gqe,DefaultAstNodeLocator:()=>qqe,DefaultAsyncParser:()=>uje,DefaultCommentProvider:()=>cje,DefaultConfigurationProvider:()=>jqe,DefaultDocumentBuilder:()=>Yqe,DefaultDocumentValidator:()=>Vqe,DefaultHydrator:()=>hje,DefaultIndexManager:()=>Xqe,DefaultJsonSerializer:()=>$qe,DefaultLangiumDocumentFactory:()=>Rqe,DefaultLangiumDocuments:()=>Iqe,DefaultLangiumProfiler:()=>pgr,DefaultLexer:()=>Sae,DefaultLexerErrorMessageProvider:()=>Zqe,DefaultLinker:()=>Lqe,DefaultNameProvider:()=>Nqe,DefaultReferenceDescriptionProvider:()=>Wqe,DefaultReferences:()=>Oqe,DefaultScopeComputation:()=>Dqe,DefaultScopeProvider:()=>Bqe,DefaultServiceRegistry:()=>Fqe,DefaultTokenBuilder:()=>eB,DefaultValueConverter:()=>fae,DefaultWorkspaceLock:()=>dje,DefaultWorkspaceManager:()=>Kqe,Deferred:()=>K0,Disposable:()=>OU,DisposableCache:()=>nB,DocumentCache:()=>_qe,DocumentState:()=>In,DocumentValidator:()=>Lu,EMPTY_SCOPE:()=>agr,EMPTY_STREAM:()=>U4,EmptyFileSystem:()=>$o,EmptyFileSystemProvider:()=>gje,ErrorWithLocation:()=>u_,GrammarAST:()=>RPe,GrammarUtils:()=>Nne,IndentationAwareLexer:()=>dgr,IndentationAwareTokenBuilder:()=>pje,JSDocDocumentationProvider:()=>lje,LangiumCompletionParser:()=>gqe,LangiumParser:()=>fqe,LangiumParserErrorMessageProvider:()=>oae,LeafCstNodeImpl:()=>XN,LexingMode:()=>vU,MapScope:()=>igr,Module:()=>JX,MultiMap:()=>Z0,MultiMapScope:()=>Pqe,OperationCancelled:()=>Dh,ParserWorker:()=>ugr,ProfilingTask:()=>Uje,Reduction:()=>iC,RefResolving:()=>Im,RegExpUtils:()=>Dne,RootCstNodeImpl:()=>aae,SimpleCache:()=>bae,StreamImpl:()=>Oh,StreamScope:()=>YX,TextDocument:()=>JN,TreeStreamImpl:()=>y4,URI:()=>Qc,UriTrie:()=>Uae,UriUtils:()=>_l,VALIDATE_EACH_NODE:()=>Hqe,ValidationCategory:()=>tO,ValidationRegistry:()=>zqe,ValueConverter:()=>Th,WorkspaceCache:()=>vae,assertCondition:()=>One,assertUnreachable:()=>B1,createCompletionParser:()=>uae,createDefaultCoreModule:()=>uo,createDefaultSharedCoreModule:()=>ho,createGrammarConfig:()=>Qne,createLangiumParser:()=>dae,createParser:()=>J_,delayNextTick:()=>tB,diagnosticData:()=>bU,eagerLoad:()=>Lae,getDiagnosticRange:()=>wae,indentationBuilderDefaultOptions:()=>eK,inject:()=>Yn,interruptAndCheck:()=>Xs,isAstNode:()=>cs,isAstNodeDescription:()=>tne,isAstNodeWithComment:()=>xae,isCompositeCstNode:()=>H0,isIMultiModeLexerDefinition:()=>oB,isJSDoc:()=>Eae,isLeafCstNode:()=>$5,isLinkingError:()=>Vm,isMultiReference:()=>Hh,isNamed:()=>yae,isOperationCancelled:()=>iy,isReference:()=>Pl,isRootCstNode:()=>r_,isTokenTypeArray:()=>sB,isTokenTypeDictionary:()=>rO,loadGrammarFromJson:()=>fo,parseJSDoc:()=>kae,prepareLangiumParser:()=>hae,setInterruptionPeriod:()=>pae,startCancelableOperation:()=>rB,stream:()=>Ti,toDiagnosticData:()=>Tae,toDiagnosticSeverity:()=>Cw});var ene={};_1(ene,{DefaultNameRegexp:()=>Ane,RangeComparison:()=>Eh,compareRange:()=>kne,findCommentNode:()=>Mne,findDeclarationNodeAtOffset:()=>XPe,findLeafNodeAtOffset:()=>c_,findLeafNodeBeforeOffset:()=>Rne,flattenCst:()=>YPe,getDatatypeNode:()=>jPe,getInteriorNodes:()=>JPe,getNextNode:()=>KPe,getPreviousNode:()=>Lne,getStartlineNode:()=>ZPe,inRange:()=>Ene,isChildNode:()=>Sne,isCommentNode:()=>NN,streamCst:()=>w4,toDocumentSegment:()=>T4,tokenToRange:()=>aC});function cs(t){return typeof t=="object"&&t!==null&&typeof t.$type=="string"}R(cs,"isAstNode");function Pl(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"ref"in t}R(Pl,"isReference");function Hh(t){return typeof t=="object"&&t!==null&&typeof t.$refText=="string"&&"items"in t}R(Hh,"isMultiReference");function tne(t){return typeof t=="object"&&t!==null&&typeof t.name=="string"&&typeof t.type=="string"&&typeof t.path=="string"}R(tne,"isAstNodeDescription");function Vm(t){return typeof t=="object"&&t!==null&&typeof t.info=="object"&&typeof t.message=="string"}R(Vm,"isLinkingError");var Zb,rne=(Zb=class{constructor(){this.subtypes={},this.allSubtypes={}}getAllTypes(){return Object.keys(this.types)}getReferenceType(e){var i;const r=this.types[e.container.$type];if(!r)throw new Error(`Type ${e.container.$type||"undefined"} not found.`);const n=(i=r.properties[e.property])==null?void 0:i.referenceType;if(!n)throw new Error(`Property ${e.property||"undefined"} of type ${e.container.$type} is not a reference.`);return n}getTypeMetaData(e){const r=this.types[e];return r||{name:e,properties:{},superTypes:[]}}isInstance(e,r){return cs(e)&&this.isSubtype(e.$type,r)}isSubtype(e,r){if(e===r)return!0;let n=this.subtypes[e];n||(n=this.subtypes[e]={});const i=n[r];if(i!==void 0)return i;{const a=this.types[e],s=a?a.superTypes.some(o=>this.isSubtype(o,r)):!1;return n[r]=s,s}}getAllSubTypes(e){const r=this.allSubtypes[e];if(r)return r;{const n=this.getAllTypes(),i=[];for(const a of n)this.isSubtype(a,e)&&i.push(a);return this.allSubtypes[e]=i,i}}},R(Zb,"AbstractAstReflection"),Zb);function H0(t){return typeof t=="object"&&t!==null&&Array.isArray(t.content)}R(H0,"isCompositeCstNode");function $5(t){return typeof t=="object"&&t!==null&&typeof t.tokenType=="object"}R($5,"isLeafCstNode");function r_(t){return H0(t)&&typeof t.fullText=="string"}R(r_,"isRootCstNode");var hc,Oh=(hc=class{constructor(e,r){this.startFn=e,this.nextFn=r}iterator(){const e={state:this.startFn(),next:R(()=>this.nextFn(e.state),"next"),[Symbol.iterator]:()=>e};return e}[Symbol.iterator](){return this.iterator()}isEmpty(){return!!this.iterator().next().done}count(){const e=this.iterator();let r=0,n=e.next();for(;!n.done;)r++,n=e.next();return r}toArray(){const e=[],r=this.iterator();let n;do n=r.next(),n.value!==void 0&&e.push(n.value);while(!n.done);return e}toSet(){return new Set(this)}toMap(e,r){const n=this.map(i=>[e?e(i):i,r?r(i):i]);return new Map(n)}toString(){return this.join()}concat(e){return new hc(()=>({first:this.startFn(),firstDone:!1,iterator:e[Symbol.iterator]()}),r=>{let n;if(!r.firstDone){do if(n=this.nextFn(r.first),!n.done)return n;while(!n.done);r.firstDone=!0}do if(n=r.iterator.next(),!n.done)return n;while(!n.done);return Sl})}join(e=","){const r=this.iterator();let n="",i,a=!1;do i=r.next(),i.done||(a&&(n+=e),n+=APe(i.value)),a=!0;while(!i.done);return n}indexOf(e,r=0){const n=this.iterator();let i=0,a=n.next();for(;!a.done;){if(i>=r&&a.value===e)return i;a=n.next(),i++}return-1}every(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(!e(n.value))return!1;n=r.next()}return!0}some(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return!0;n=r.next()}return!1}forEach(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;)e(i.value,n),i=r.next(),n++}map(e){return new hc(this.startFn,r=>{const{done:n,value:i}=this.nextFn(r);return n?Sl:{done:!1,value:e(i)}})}filter(e){return new hc(this.startFn,r=>{let n;do if(n=this.nextFn(r),!n.done&&e(n.value))return n;while(!n.done);return Sl})}nonNullable(){return this.filter(e=>e!=null)}reduce(e,r){const n=this.iterator();let i=r,a=n.next();for(;!a.done;)i===void 0?i=a.value:i=e(i,a.value),a=n.next();return i}reduceRight(e,r){return this.recursiveReduce(this.iterator(),e,r)}recursiveReduce(e,r,n){const i=e.next();if(i.done)return n;const a=this.recursiveReduce(e,r,n);return a===void 0?i.value:r(a,i.value)}find(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(e(n.value))return n.value;n=r.next()}}findIndex(e){const r=this.iterator();let n=0,i=r.next();for(;!i.done;){if(e(i.value))return n;i=r.next(),n++}return-1}includes(e){const r=this.iterator();let n=r.next();for(;!n.done;){if(n.value===e)return!0;n=r.next()}return!1}flatMap(e){return new hc(()=>({this:this.startFn()}),r=>{do{if(r.iterator){const a=r.iterator.next();if(a.done)r.iterator=void 0;else return a}const{done:n,value:i}=this.nextFn(r.this);if(!n){const a=e(i);if(nC(a))r.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}}while(r.iterator);return Sl})}flat(e){if(e===void 0&&(e=1),e<=0)return this;const r=e>1?this.flat(e-1):this;return new hc(()=>({this:r.startFn()}),n=>{do{if(n.iterator){const s=n.iterator.next();if(s.done)n.iterator=void 0;else return s}const{done:i,value:a}=r.nextFn(n.this);if(!i)if(nC(a))n.iterator=a[Symbol.iterator]();else return{done:!1,value:a}}while(n.iterator);return Sl})}head(){const r=this.iterator().next();if(!r.done)return r.value}tail(e=1){return new hc(()=>{const r=this.startFn();for(let n=0;n<e;n++)if(this.nextFn(r).done)return r;return r},this.nextFn)}limit(e){return new hc(()=>({size:0,state:this.startFn()}),r=>(r.size++,r.size>e?Sl:this.nextFn(r.state)))}distinct(e){return new hc(()=>({set:new Set,internalState:this.startFn()}),r=>{let n;do if(n=this.nextFn(r.internalState),!n.done){const i=e?e(n.value):n.value;if(!r.set.has(i))return r.set.add(i),n}while(!n.done);return Sl})}exclude(e,r){const n=new Set;for(const i of e){const a=r?r(i):i;n.add(a)}return this.filter(i=>{const a=r?r(i):i;return!n.has(a)})}},R(hc,"StreamImpl"),hc);function APe(t){return typeof t=="string"?t:typeof t>"u"?"undefined":typeof t.toString=="function"?t.toString():Object.prototype.toString.call(t)}R(APe,"toString");function nC(t){return!!t&&typeof t[Symbol.iterator]=="function"}R(nC,"isIterable");var U4=new Oh(()=>{},()=>Sl),Sl=Object.freeze({done:!0,value:void 0});function Ti(...t){if(t.length===1){const e=t[0];if(e instanceof Oh)return e;if(nC(e))return new Oh(()=>e[Symbol.iterator](),r=>r.next());if(typeof e.length=="number")return new Oh(()=>({index:0}),r=>r.index<e.length?{done:!1,value:e[r.index++]}:Sl)}return t.length>1?new Oh(()=>({collIndex:0,arrIndex:0}),e=>{do{if(e.iterator){const r=e.iterator.next();if(!r.done)return r;e.iterator=void 0}if(e.array){if(e.arrIndex<e.array.length)return{done:!1,value:e.array[e.arrIndex++]};e.array=void 0,e.arrIndex=0}if(e.collIndex<t.length){const r=t[e.collIndex++];nC(r)?e.iterator=r[Symbol.iterator]():r&&typeof r.length=="number"&&(e.array=r)}}while(e.iterator||e.array||e.collIndex<t.length);return Sl}):U4}R(Ti,"stream");var Jb,y4=(Jb=class extends Oh{constructor(e,r,n){super(()=>({iterators:n!=null&&n.includeRoot?[[e][Symbol.iterator]()]:[r(e)[Symbol.iterator]()],pruned:!1}),i=>{for(i.pruned&&(i.iterators.pop(),i.pruned=!1);i.iterators.length>0;){const s=i.iterators[i.iterators.length-1].next();if(s.done)i.iterators.pop();else return i.iterators.push(r(s.value)[Symbol.iterator]()),s}return Sl})}iterator(){const e={state:this.startFn(),next:R(()=>this.nextFn(e.state),"next"),prune:R(()=>{e.state.pruned=!0},"prune"),[Symbol.iterator]:()=>e};return e}},R(Jb,"TreeStreamImpl"),Jb),iC;(function(t){function e(a){return a.reduce((s,o)=>s+o,0)}R(e,"sum"),t.sum=e;function r(a){return a.reduce((s,o)=>s*o,0)}R(r,"product"),t.product=r;function n(a){return a.reduce((s,o)=>Math.min(s,o))}R(n,"min"),t.min=n;function i(a){return a.reduce((s,o)=>Math.max(s,o))}R(i,"max"),t.max=i})(iC||(iC={}));var nne={};_1(nne,{assignMandatoryProperties:()=>ine,copyAstNode:()=>bN,findRootNode:()=>Cb,getContainerOfType:()=>F5,getDocument:()=>Pd,getReferenceNodes:()=>UN,hasContainerOfType:()=>MPe,linkContentToContainer:()=>b4,streamAllContents:()=>yp,streamAst:()=>_d,streamContents:()=>BS,streamReferences:()=>v4});function b4(t,e={}){for(const[r,n]of Object.entries(t))r.startsWith("$")||(Array.isArray(n)?n.forEach((i,a)=>{cs(i)&&(i.$container=t,i.$containerProperty=r,i.$containerIndex=a,e.deep&&b4(i,e))}):cs(n)&&(n.$container=t,n.$containerProperty=r,e.deep&&b4(n,e)))}R(b4,"linkContentToContainer");function F5(t,e){let r=t;for(;r;){if(e(r))return r;r=r.$container}}R(F5,"getContainerOfType");function MPe(t,e){let r=t;for(;r;){if(e(r))return!0;r=r.$container}return!1}R(MPe,"hasContainerOfType");function Pd(t){const r=Cb(t).$document;if(!r)throw new Error("AST node has no document.");return r}R(Pd,"getDocument");function Cb(t){for(;t.$container;)t=t.$container;return t}R(Cb,"findRootNode");function UN(t){return Pl(t)?t.ref?[t.ref]:[]:Hh(t)?t.items.map(e=>e.ref):[]}R(UN,"getReferenceNodes");function BS(t,e){if(!t)throw new Error("Node must be an AstNode.");const r=e==null?void 0:e.range;return new Oh(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),n=>{for(;n.keyIndex<n.keys.length;){const i=n.keys[n.keyIndex];if(!i.startsWith("$")){const a=t[i];if(cs(a)){if(n.keyIndex++,yN(a,r))return{done:!1,value:a}}else if(Array.isArray(a)){for(;n.arrayIndex<a.length;){const s=n.arrayIndex++,o=a[s];if(cs(o)&&yN(o,r))return{done:!1,value:o}}n.arrayIndex=0}}n.keyIndex++}return Sl})}R(BS,"streamContents");function yp(t,e){if(!t)throw new Error("Root node must be an AstNode.");return new y4(t,r=>BS(r,e))}R(yp,"streamAllContents");function _d(t,e){if(t){if(e!=null&&e.range&&!yN(t,e.range))return new y4(t,()=>[])}else throw new Error("Root node must be an AstNode.");return new y4(t,r=>BS(r,e),{includeRoot:!0})}R(_d,"streamAst");function yN(t,e){var n;if(!e)return!0;const r=(n=t.$cstNode)==null?void 0:n.range;return r?Ene(r,e):!1}R(yN,"isAstNodeInRange");function v4(t){return new Oh(()=>({keys:Object.keys(t),keyIndex:0,arrayIndex:0}),e=>{for(;e.keyIndex<e.keys.length;){const r=e.keys[e.keyIndex];if(!r.startsWith("$")){const n=t[r];if(Pl(n)||Hh(n))return e.keyIndex++,{done:!1,value:{reference:n,container:t,property:r}};if(Array.isArray(n)){for(;e.arrayIndex<n.length;){const i=e.arrayIndex++,a=n[i];if(Pl(a)||Hh(n))return{done:!1,value:{reference:a,container:t,property:r,index:i}}}e.arrayIndex=0}}e.keyIndex++}return Sl})}R(v4,"streamReferences");function ine(t,e){const r=t.getTypeMetaData(e.$type),n=e;for(const i of Object.values(r.properties))i.defaultValue!==void 0&&n[i.name]===void 0&&(n[i.name]=ane(i.defaultValue))}R(ine,"assignMandatoryProperties");function ane(t){return Array.isArray(t)?[...t.map(ane)]:t}R(ane,"copyDefaultValue");function bN(t,e,r){const n={$type:t.$type};r&&(r.set(t,n),r.set(n,t));for(const[i,a]of Object.entries(t))if(!i.startsWith("$"))if(cs(a))n[i]=bN(a,e,r);else if(Pl(a))n[i]=e(n,i,a.$refNode,a.$refText,a);else if(Array.isArray(a)){const s=[];for(const o of a)cs(o)?s.push(bN(o,e,r)):Pl(o)?s.push(e(n,i,o.$refNode,o.$refText,o)):s.push(o);n[i]=s}else n[i]=a;return b4(n,{deep:!0}),n}R(bN,"copyAstNode");var RPe={};_1(RPe,{AbstractElement:()=>oc,AbstractParserRule:()=>uw,AbstractRule:()=>V2,AbstractType:()=>_c,Action:()=>Kp,Alternatives:()=>dw,ArrayLiteral:()=>vN,ArrayType:()=>xN,Assignment:()=>Zp,BooleanLiteral:()=>wN,CharacterRange:()=>Jp,Condition:()=>Qp,Conjunction:()=>hw,CrossReference:()=>eg,Disjunction:()=>fw,EndOfFile:()=>TN,Grammar:()=>qf,GrammarImport:()=>CN,Group:()=>Gm,InferredType:()=>SN,InfixRule:()=>Uh,InfixRuleOperatorList:()=>pw,InfixRuleOperators:()=>kN,Interface:()=>G2,Keyword:()=>W2,LangiumGrammarAstReflection:()=>Cne,LangiumGrammarTerminals:()=>Bir,NamedArgument:()=>q2,NegatedToken:()=>Wm,Negation:()=>EN,NumberLiteral:()=>AN,Parameter:()=>j2,ParameterReference:()=>MN,ParserRule:()=>ad,ReferenceType:()=>gw,RegexToken:()=>qm,ReturnType:()=>RN,RuleCall:()=>jm,SimpleType:()=>Y2,StringLiteral:()=>IN,TerminalAlternatives:()=>Ym,TerminalElement:()=>lc,TerminalGroup:()=>Xm,TerminalRule:()=>jf,TerminalRuleCall:()=>Km,Type:()=>mw,TypeAttribute:()=>Zm,TypeDefinition:()=>Jm,UnionType:()=>LN,UnorderedGroup:()=>Uw,UntilToken:()=>Qm,ValueLiteral:()=>eU,Wildcard:()=>X2,isAbstractElement:()=>n_,isAbstractParserRule:()=>z5,isAbstractRule:()=>IPe,isAbstractType:()=>LPe,isAction:()=>c1,isAlternatives:()=>i_,isArrayLiteral:()=>NPe,isArrayType:()=>sne,isAssignment:()=>V0,isBooleanLiteral:()=>one,isCharacterRange:()=>lne,isCondition:()=>OPe,isConjunction:()=>cne,isCrossReference:()=>H5,isDisjunction:()=>une,isEndOfFile:()=>dne,isGrammar:()=>DPe,isGrammarImport:()=>PPe,isGroup:()=>V5,isInferredType:()=>$S,isInfixRule:()=>x4,isInfixRuleOperatorList:()=>_Pe,isInfixRuleOperators:()=>BPe,isInterface:()=>hne,isKeyword:()=>G0,isNamedArgument:()=>$Pe,isNegatedToken:()=>fne,isNegation:()=>pne,isNumberLiteral:()=>FPe,isParameter:()=>zPe,isParameterReference:()=>gne,isParserRule:()=>Wl,isReferenceType:()=>mne,isRegexToken:()=>Une,isReturnType:()=>yne,isRuleCall:()=>W0,isSimpleType:()=>a_,isStringLiteral:()=>HPe,isTerminalAlternatives:()=>bne,isTerminalElement:()=>VPe,isTerminalGroup:()=>vne,isTerminalRule:()=>Zu,isTerminalRuleCall:()=>s_,isType:()=>o_,isTypeAttribute:()=>GPe,isTypeDefinition:()=>WPe,isUnionType:()=>xne,isUnorderedGroup:()=>l_,isUntilToken:()=>wne,isValueLiteral:()=>qPe,isWildcard:()=>Tne,reflection:()=>qr});var Bir={ID:/\^?[_a-zA-Z][\w_]*/,STRING:/"(\\.|[^"\\])*"|'(\\.|[^'\\])*'/,NUMBER:/NaN|-?((\d*\.\d+|\d+)([Ee][+-]?\d+)?|Infinity)/,RegexLiteral:/\/(?![*+?])(?:[^\r\n\[/\\]|\\.|\[(?:[^\r\n\]\\]|\\.)*\])+\/[a-z]*/,WS:/\s+/,ML_COMMENT:/\/\*[\s\S]*?\*\//,SL_COMMENT:/\/\/[^\n\r]*/},oc={$type:"AbstractElement",cardinality:"cardinality"};function n_(t){return qr.isInstance(t,oc.$type)}R(n_,"isAbstractElement");var uw={$type:"AbstractParserRule"};function z5(t){return qr.isInstance(t,uw.$type)}R(z5,"isAbstractParserRule");var V2={$type:"AbstractRule"};function IPe(t){return qr.isInstance(t,V2.$type)}R(IPe,"isAbstractRule");var _c={$type:"AbstractType"};function LPe(t){return qr.isInstance(t,_c.$type)}R(LPe,"isAbstractType");var Kp={$type:"Action",cardinality:"cardinality",feature:"feature",inferredType:"inferredType",operator:"operator",type:"type"};function c1(t){return qr.isInstance(t,Kp.$type)}R(c1,"isAction");var dw={$type:"Alternatives",cardinality:"cardinality",elements:"elements"};function i_(t){return qr.isInstance(t,dw.$type)}R(i_,"isAlternatives");var vN={$type:"ArrayLiteral",elements:"elements"};function NPe(t){return qr.isInstance(t,vN.$type)}R(NPe,"isArrayLiteral");var xN={$type:"ArrayType",elementType:"elementType"};function sne(t){return qr.isInstance(t,xN.$type)}R(sne,"isArrayType");var Zp={$type:"Assignment",cardinality:"cardinality",feature:"feature",operator:"operator",predicate:"predicate",terminal:"terminal"};function V0(t){return qr.isInstance(t,Zp.$type)}R(V0,"isAssignment");var wN={$type:"BooleanLiteral",true:"true"};function one(t){return qr.isInstance(t,wN.$type)}R(one,"isBooleanLiteral");var Jp={$type:"CharacterRange",cardinality:"cardinality",left:"left",lookahead:"lookahead",parenthesized:"parenthesized",right:"right"};function lne(t){return qr.isInstance(t,Jp.$type)}R(lne,"isCharacterRange");var Qp={$type:"Condition"};function OPe(t){return qr.isInstance(t,Qp.$type)}R(OPe,"isCondition");var hw={$type:"Conjunction",left:"left",right:"right"};function cne(t){return qr.isInstance(t,hw.$type)}R(cne,"isConjunction");var eg={$type:"CrossReference",cardinality:"cardinality",deprecatedSyntax:"deprecatedSyntax",isMulti:"isMulti",terminal:"terminal",type:"type"};function H5(t){return qr.isInstance(t,eg.$type)}R(H5,"isCrossReference");var fw={$type:"Disjunction",left:"left",right:"right"};function une(t){return qr.isInstance(t,fw.$type)}R(une,"isDisjunction");var TN={$type:"EndOfFile",cardinality:"cardinality"};function dne(t){return qr.isInstance(t,TN.$type)}R(dne,"isEndOfFile");var qf={$type:"Grammar",imports:"imports",interfaces:"interfaces",isDeclared:"isDeclared",name:"name",rules:"rules",types:"types"};function DPe(t){return qr.isInstance(t,qf.$type)}R(DPe,"isGrammar");var CN={$type:"GrammarImport",path:"path"};function PPe(t){return qr.isInstance(t,CN.$type)}R(PPe,"isGrammarImport");var Gm={$type:"Group",cardinality:"cardinality",elements:"elements",guardCondition:"guardCondition",predicate:"predicate"};function V5(t){return qr.isInstance(t,Gm.$type)}R(V5,"isGroup");var SN={$type:"InferredType",name:"name"};function $S(t){return qr.isInstance(t,SN.$type)}R($S,"isInferredType");var Uh={$type:"InfixRule",call:"call",dataType:"dataType",inferredType:"inferredType",name:"name",operators:"operators",parameters:"parameters",returnType:"returnType"};function x4(t){return qr.isInstance(t,Uh.$type)}R(x4,"isInfixRule");var pw={$type:"InfixRuleOperatorList",associativity:"associativity",operators:"operators"};function _Pe(t){return qr.isInstance(t,pw.$type)}R(_Pe,"isInfixRuleOperatorList");var kN={$type:"InfixRuleOperators",precedences:"precedences"};function BPe(t){return qr.isInstance(t,kN.$type)}R(BPe,"isInfixRuleOperators");var G2={$type:"Interface",attributes:"attributes",name:"name",superTypes:"superTypes"};function hne(t){return qr.isInstance(t,G2.$type)}R(hne,"isInterface");var W2={$type:"Keyword",cardinality:"cardinality",predicate:"predicate",value:"value"};function G0(t){return qr.isInstance(t,W2.$type)}R(G0,"isKeyword");var q2={$type:"NamedArgument",calledByName:"calledByName",parameter:"parameter",value:"value"};function $Pe(t){return qr.isInstance(t,q2.$type)}R($Pe,"isNamedArgument");var Wm={$type:"NegatedToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function fne(t){return qr.isInstance(t,Wm.$type)}R(fne,"isNegatedToken");var EN={$type:"Negation",value:"value"};function pne(t){return qr.isInstance(t,EN.$type)}R(pne,"isNegation");var AN={$type:"NumberLiteral",value:"value"};function FPe(t){return qr.isInstance(t,AN.$type)}R(FPe,"isNumberLiteral");var j2={$type:"Parameter",name:"name"};function zPe(t){return qr.isInstance(t,j2.$type)}R(zPe,"isParameter");var MN={$type:"ParameterReference",parameter:"parameter"};function gne(t){return qr.isInstance(t,MN.$type)}R(gne,"isParameterReference");var ad={$type:"ParserRule",dataType:"dataType",definition:"definition",entry:"entry",fragment:"fragment",inferredType:"inferredType",name:"name",parameters:"parameters",returnType:"returnType"};function Wl(t){return qr.isInstance(t,ad.$type)}R(Wl,"isParserRule");var gw={$type:"ReferenceType",isMulti:"isMulti",referenceType:"referenceType"};function mne(t){return qr.isInstance(t,gw.$type)}R(mne,"isReferenceType");var qm={$type:"RegexToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",regex:"regex"};function Une(t){return qr.isInstance(t,qm.$type)}R(Une,"isRegexToken");var RN={$type:"ReturnType",name:"name"};function yne(t){return qr.isInstance(t,RN.$type)}R(yne,"isReturnType");var jm={$type:"RuleCall",arguments:"arguments",cardinality:"cardinality",predicate:"predicate",rule:"rule"};function W0(t){return qr.isInstance(t,jm.$type)}R(W0,"isRuleCall");var Y2={$type:"SimpleType",primitiveType:"primitiveType",stringType:"stringType",typeRef:"typeRef"};function a_(t){return qr.isInstance(t,Y2.$type)}R(a_,"isSimpleType");var IN={$type:"StringLiteral",value:"value"};function HPe(t){return qr.isInstance(t,IN.$type)}R(HPe,"isStringLiteral");var Ym={$type:"TerminalAlternatives",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function bne(t){return qr.isInstance(t,Ym.$type)}R(bne,"isTerminalAlternatives");var lc={$type:"TerminalElement",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function VPe(t){return qr.isInstance(t,lc.$type)}R(VPe,"isTerminalElement");var Xm={$type:"TerminalGroup",cardinality:"cardinality",elements:"elements",lookahead:"lookahead",parenthesized:"parenthesized"};function vne(t){return qr.isInstance(t,Xm.$type)}R(vne,"isTerminalGroup");var jf={$type:"TerminalRule",definition:"definition",fragment:"fragment",hidden:"hidden",name:"name",type:"type"};function Zu(t){return qr.isInstance(t,jf.$type)}R(Zu,"isTerminalRule");var Km={$type:"TerminalRuleCall",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",rule:"rule"};function s_(t){return qr.isInstance(t,Km.$type)}R(s_,"isTerminalRuleCall");var mw={$type:"Type",name:"name",type:"type"};function o_(t){return qr.isInstance(t,mw.$type)}R(o_,"isType");var Zm={$type:"TypeAttribute",defaultValue:"defaultValue",isOptional:"isOptional",name:"name",type:"type"};function GPe(t){return qr.isInstance(t,Zm.$type)}R(GPe,"isTypeAttribute");var Jm={$type:"TypeDefinition"};function WPe(t){return qr.isInstance(t,Jm.$type)}R(WPe,"isTypeDefinition");var LN={$type:"UnionType",types:"types"};function xne(t){return qr.isInstance(t,LN.$type)}R(xne,"isUnionType");var Uw={$type:"UnorderedGroup",cardinality:"cardinality",elements:"elements"};function l_(t){return qr.isInstance(t,Uw.$type)}R(l_,"isUnorderedGroup");var Qm={$type:"UntilToken",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized",terminal:"terminal"};function wne(t){return qr.isInstance(t,Qm.$type)}R(wne,"isUntilToken");var eU={$type:"ValueLiteral"};function qPe(t){return qr.isInstance(t,eU.$type)}R(qPe,"isValueLiteral");var X2={$type:"Wildcard",cardinality:"cardinality",lookahead:"lookahead",parenthesized:"parenthesized"};function Tne(t){return qr.isInstance(t,X2.$type)}R(Tne,"isWildcard");var Qb,Cne=(Qb=class extends rne{constructor(){super(...arguments),this.types={AbstractElement:{name:oc.$type,properties:{cardinality:{name:oc.cardinality}},superTypes:[]},AbstractParserRule:{name:uw.$type,properties:{},superTypes:[V2.$type,_c.$type]},AbstractRule:{name:V2.$type,properties:{},superTypes:[]},AbstractType:{name:_c.$type,properties:{},superTypes:[]},Action:{name:Kp.$type,properties:{cardinality:{name:Kp.cardinality},feature:{name:Kp.feature},inferredType:{name:Kp.inferredType},operator:{name:Kp.operator},type:{name:Kp.type,referenceType:_c.$type}},superTypes:[oc.$type]},Alternatives:{name:dw.$type,properties:{cardinality:{name:dw.cardinality},elements:{name:dw.elements,defaultValue:[]}},superTypes:[oc.$type]},ArrayLiteral:{name:vN.$type,properties:{elements:{name:vN.elements,defaultValue:[]}},superTypes:[eU.$type]},ArrayType:{name:xN.$type,properties:{elementType:{name:xN.elementType}},superTypes:[Jm.$type]},Assignment:{name:Zp.$type,properties:{cardinality:{name:Zp.cardinality},feature:{name:Zp.feature},operator:{name:Zp.operator},predicate:{name:Zp.predicate},terminal:{name:Zp.terminal}},superTypes:[oc.$type]},BooleanLiteral:{name:wN.$type,properties:{true:{name:wN.true,defaultValue:!1}},superTypes:[Qp.$type,eU.$type]},CharacterRange:{name:Jp.$type,properties:{cardinality:{name:Jp.cardinality},left:{name:Jp.left},lookahead:{name:Jp.lookahead},parenthesized:{name:Jp.parenthesized,defaultValue:!1},right:{name:Jp.right}},superTypes:[lc.$type]},Condition:{name:Qp.$type,properties:{},superTypes:[]},Conjunction:{name:hw.$type,properties:{left:{name:hw.left},right:{name:hw.right}},superTypes:[Qp.$type]},CrossReference:{name:eg.$type,properties:{cardinality:{name:eg.cardinality},deprecatedSyntax:{name:eg.deprecatedSyntax,defaultValue:!1},isMulti:{name:eg.isMulti,defaultValue:!1},terminal:{name:eg.terminal},type:{name:eg.type,referenceType:_c.$type}},superTypes:[oc.$type]},Disjunction:{name:fw.$type,properties:{left:{name:fw.left},right:{name:fw.right}},superTypes:[Qp.$type]},EndOfFile:{name:TN.$type,properties:{cardinality:{name:TN.cardinality}},superTypes:[oc.$type]},Grammar:{name:qf.$type,properties:{imports:{name:qf.imports,defaultValue:[]},interfaces:{name:qf.interfaces,defaultValue:[]},isDeclared:{name:qf.isDeclared,defaultValue:!1},name:{name:qf.name},rules:{name:qf.rules,defaultValue:[]},types:{name:qf.types,defaultValue:[]}},superTypes:[]},GrammarImport:{name:CN.$type,properties:{path:{name:CN.path}},superTypes:[]},Group:{name:Gm.$type,properties:{cardinality:{name:Gm.cardinality},elements:{name:Gm.elements,defaultValue:[]},guardCondition:{name:Gm.guardCondition},predicate:{name:Gm.predicate}},superTypes:[oc.$type]},InferredType:{name:SN.$type,properties:{name:{name:SN.name}},superTypes:[_c.$type]},InfixRule:{name:Uh.$type,properties:{call:{name:Uh.call},dataType:{name:Uh.dataType},inferredType:{name:Uh.inferredType},name:{name:Uh.name},operators:{name:Uh.operators},parameters:{name:Uh.parameters,defaultValue:[]},returnType:{name:Uh.returnType,referenceType:_c.$type}},superTypes:[uw.$type]},InfixRuleOperatorList:{name:pw.$type,properties:{associativity:{name:pw.associativity},operators:{name:pw.operators,defaultValue:[]}},superTypes:[]},InfixRuleOperators:{name:kN.$type,properties:{precedences:{name:kN.precedences,defaultValue:[]}},superTypes:[]},Interface:{name:G2.$type,properties:{attributes:{name:G2.attributes,defaultValue:[]},name:{name:G2.name},superTypes:{name:G2.superTypes,defaultValue:[],referenceType:_c.$type}},superTypes:[_c.$type]},Keyword:{name:W2.$type,properties:{cardinality:{name:W2.cardinality},predicate:{name:W2.predicate},value:{name:W2.value}},superTypes:[oc.$type]},NamedArgument:{name:q2.$type,properties:{calledByName:{name:q2.calledByName,defaultValue:!1},parameter:{name:q2.parameter,referenceType:j2.$type},value:{name:q2.value}},superTypes:[]},NegatedToken:{name:Wm.$type,properties:{cardinality:{name:Wm.cardinality},lookahead:{name:Wm.lookahead},parenthesized:{name:Wm.parenthesized,defaultValue:!1},terminal:{name:Wm.terminal}},superTypes:[lc.$type]},Negation:{name:EN.$type,properties:{value:{name:EN.value}},superTypes:[Qp.$type]},NumberLiteral:{name:AN.$type,properties:{value:{name:AN.value}},superTypes:[eU.$type]},Parameter:{name:j2.$type,properties:{name:{name:j2.name}},superTypes:[]},ParameterReference:{name:MN.$type,properties:{parameter:{name:MN.parameter,referenceType:j2.$type}},superTypes:[Qp.$type]},ParserRule:{name:ad.$type,properties:{dataType:{name:ad.dataType},definition:{name:ad.definition},entry:{name:ad.entry,defaultValue:!1},fragment:{name:ad.fragment,defaultValue:!1},inferredType:{name:ad.inferredType},name:{name:ad.name},parameters:{name:ad.parameters,defaultValue:[]},returnType:{name:ad.returnType,referenceType:_c.$type}},superTypes:[uw.$type]},ReferenceType:{name:gw.$type,properties:{isMulti:{name:gw.isMulti,defaultValue:!1},referenceType:{name:gw.referenceType}},superTypes:[Jm.$type]},RegexToken:{name:qm.$type,properties:{cardinality:{name:qm.cardinality},lookahead:{name:qm.lookahead},parenthesized:{name:qm.parenthesized,defaultValue:!1},regex:{name:qm.regex}},superTypes:[lc.$type]},ReturnType:{name:RN.$type,properties:{name:{name:RN.name}},superTypes:[]},RuleCall:{name:jm.$type,properties:{arguments:{name:jm.arguments,defaultValue:[]},cardinality:{name:jm.cardinality},predicate:{name:jm.predicate},rule:{name:jm.rule,referenceType:V2.$type}},superTypes:[oc.$type]},SimpleType:{name:Y2.$type,properties:{primitiveType:{name:Y2.primitiveType},stringType:{name:Y2.stringType},typeRef:{name:Y2.typeRef,referenceType:_c.$type}},superTypes:[Jm.$type]},StringLiteral:{name:IN.$type,properties:{value:{name:IN.value}},superTypes:[eU.$type]},TerminalAlternatives:{name:Ym.$type,properties:{cardinality:{name:Ym.cardinality},elements:{name:Ym.elements,defaultValue:[]},lookahead:{name:Ym.lookahead},parenthesized:{name:Ym.parenthesized,defaultValue:!1}},superTypes:[lc.$type]},TerminalElement:{name:lc.$type,properties:{cardinality:{name:lc.cardinality},lookahead:{name:lc.lookahead},parenthesized:{name:lc.parenthesized,defaultValue:!1}},superTypes:[oc.$type]},TerminalGroup:{name:Xm.$type,properties:{cardinality:{name:Xm.cardinality},elements:{name:Xm.elements,defaultValue:[]},lookahead:{name:Xm.lookahead},parenthesized:{name:Xm.parenthesized,defaultValue:!1}},superTypes:[lc.$type]},TerminalRule:{name:jf.$type,properties:{definition:{name:jf.definition},fragment:{name:jf.fragment,defaultValue:!1},hidden:{name:jf.hidden,defaultValue:!1},name:{name:jf.name},type:{name:jf.type}},superTypes:[V2.$type]},TerminalRuleCall:{name:Km.$type,properties:{cardinality:{name:Km.cardinality},lookahead:{name:Km.lookahead},parenthesized:{name:Km.parenthesized,defaultValue:!1},rule:{name:Km.rule,referenceType:jf.$type}},superTypes:[lc.$type]},Type:{name:mw.$type,properties:{name:{name:mw.name},type:{name:mw.type}},superTypes:[_c.$type]},TypeAttribute:{name:Zm.$type,properties:{defaultValue:{name:Zm.defaultValue},isOptional:{name:Zm.isOptional,defaultValue:!1},name:{name:Zm.name},type:{name:Zm.type}},superTypes:[]},TypeDefinition:{name:Jm.$type,properties:{},superTypes:[]},UnionType:{name:LN.$type,properties:{types:{name:LN.types,defaultValue:[]}},superTypes:[Jm.$type]},UnorderedGroup:{name:Uw.$type,properties:{cardinality:{name:Uw.cardinality},elements:{name:Uw.elements,defaultValue:[]}},superTypes:[oc.$type]},UntilToken:{name:Qm.$type,properties:{cardinality:{name:Qm.cardinality},lookahead:{name:Qm.lookahead},parenthesized:{name:Qm.parenthesized,defaultValue:!1},terminal:{name:Qm.terminal}},superTypes:[lc.$type]},ValueLiteral:{name:eU.$type,properties:{},superTypes:[]},Wildcard:{name:X2.$type,properties:{cardinality:{name:X2.cardinality},lookahead:{name:X2.lookahead},parenthesized:{name:X2.parenthesized,defaultValue:!1}},superTypes:[lc.$type]}}}},R(Qb,"LangiumGrammarAstReflection"),Qb),qr=new Cne;function jPe(t){let e=t,r=!1;for(;e;){const n=F5(e.grammarSource,Wl);if(n&&n.dataType)e=e.container,r=!0;else return r?e:void 0}}R(jPe,"getDatatypeNode");function w4(t){return new y4(t,e=>H0(e)?e.content:[],{includeRoot:!0})}R(w4,"streamCst");function YPe(t){return w4(t).filter($5)}R(YPe,"flattenCst");function Sne(t,e){for(;t.container;)if(t=t.container,t===e)return!0;return!1}R(Sne,"isChildNode");function aC(t){return{start:{character:t.startColumn-1,line:t.startLine-1},end:{character:t.endColumn,line:t.endLine-1}}}R(aC,"tokenToRange");function T4(t){if(!t)return;const{offset:e,end:r,range:n}=t;return{range:n,offset:e,end:r,length:r-e}}R(T4,"toDocumentSegment");var Eh;(function(t){t[t.Before=0]="Before",t[t.After=1]="After",t[t.OverlapFront=2]="OverlapFront",t[t.OverlapBack=3]="OverlapBack",t[t.Inside=4]="Inside",t[t.Outside=5]="Outside"})(Eh||(Eh={}));function kne(t,e){if(t.end.line<e.start.line||t.end.line===e.start.line&&t.end.character<=e.start.character)return Eh.Before;if(t.start.line>e.end.line||t.start.line===e.end.line&&t.start.character>=e.end.character)return Eh.After;const r=t.start.line>e.start.line||t.start.line===e.start.line&&t.start.character>=e.start.character,n=t.end.line<e.end.line||t.end.line===e.end.line&&t.end.character<=e.end.character;return r&&n?Eh.Inside:r?Eh.OverlapBack:n?Eh.OverlapFront:Eh.Outside}R(kne,"compareRange");function Ene(t,e){return kne(t,e)>Eh.After}R(Ene,"inRange");var Ane=/^[\w\p{L}]$/u;function XPe(t,e,r=Ane){if(t){if(e>0){const n=e-t.offset,i=t.text.charAt(n);r.test(i)||e--}return c_(t,e)}}R(XPe,"findDeclarationNodeAtOffset");function Mne(t,e){if(t){const r=Lne(t,!0);if(r&&NN(r,e))return r;if(r_(t)){const n=t.content.findIndex(i=>!i.hidden);for(let i=n-1;i>=0;i--){const a=t.content[i];if(NN(a,e))return a}}}}R(Mne,"findCommentNode");function NN(t,e){return $5(t)&&e.includes(t.tokenType.name)}R(NN,"isCommentNode");function c_(t,e){if($5(t))return t;if(H0(t)){const r=Ine(t,e,!1);if(r)return c_(r,e)}}R(c_,"findLeafNodeAtOffset");function Rne(t,e){if($5(t))return t;if(H0(t)){const r=Ine(t,e,!0);if(r)return Rne(r,e)}}R(Rne,"findLeafNodeBeforeOffset");function Ine(t,e,r){let n=0,i=t.content.length-1,a;for(;n<=i;){const s=Math.floor((n+i)/2),o=t.content[s];if(o.offset<=e&&o.end>e)return o;o.end<=e?(a=r?o:void 0,n=s+1):i=s-1}return a}R(Ine,"binarySearch");function Lne(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);for(;n>0;){n--;const i=r.content[n];if(e||!i.hidden)return i}t=r}}R(Lne,"getPreviousNode");function KPe(t,e=!0){for(;t.container;){const r=t.container;let n=r.content.indexOf(t);const i=r.content.length-1;for(;n<i;){n++;const a=r.content[n];if(e||!a.hidden)return a}t=r}}R(KPe,"getNextNode");function ZPe(t){if(t.range.start.character===0)return t;const e=t.range.start.line;let r=t,n;for(;t.container;){const i=t.container,a=n??i.content.indexOf(t);if(a===0?(t=i,n=void 0):(n=a-1,t=i.content[n]),t.range.start.line!==e)break;r=t}return r}R(ZPe,"getStartlineNode");function JPe(t,e){const r=QPe(t,e);return r?r.parent.content.slice(r.a+1,r.b):[]}R(JPe,"getInteriorNodes");function QPe(t,e){const r=bX(t),n=bX(e);let i;for(let a=0;a<r.length&&a<n.length;a++){const s=r[a],o=n[a];if(s.parent===o.parent)i={parent:s.parent,a:s.index,b:o.index};else break}return i}R(QPe,"getCommonParent");function bX(t){const e=[];for(;t.container;){const r=t.container,n=r.content.indexOf(t);e.push({parent:r,index:n}),t=r}return e.reverse()}R(bX,"getParentChain");var Nne={};_1(Nne,{findAssignment:()=>qne,findNameAssignment:()=>U_,findNodeForKeyword:()=>Wne,findNodeForProperty:()=>p_,findNodesForKeyword:()=>o_e,findNodesForKeywordInternal:()=>m_,findNodesForProperty:()=>Gne,getActionAtElement:()=>Yne,getActionType:()=>Kne,getAllReachableRules:()=>f_,getAllRulesUsedForCrossReferences:()=>s_e,getCrossReferenceTerminal:()=>Hne,getEntryRule:()=>$ne,getExplicitRuleType:()=>zS,getHiddenRules:()=>Fne,getRuleType:()=>Zne,getRuleTypeName:()=>h_e,getTypeName:()=>f5,isArrayCardinality:()=>c_e,isArrayOperator:()=>u_e,isCommentTerminal:()=>Vne,isDataType:()=>d_e,isDataTypeRule:()=>FS,isOptionalCardinality:()=>l_e,terminalRegex:()=>HS});var e6,u_=(e6=class extends Error{constructor(e,r){super(e?`${r} at ${e.range.start.line}:${e.range.start.character}`:r)}},R(e6,"ErrorWithLocation"),e6);function B1(t,e="Error: Got unexpected value."){throw new Error(e)}R(B1,"assertUnreachable");function One(t,e="Error: Condition is violated."){if(!t)throw new Error(e)}R(One,"assertCondition");var Dne={};_1(Dne,{NEWLINE_REGEXP:()=>r_e,escapeRegExp:()=>x3,getTerminalParts:()=>i_e,isMultilineComment:()=>Pne,isWhitespace:()=>h_,partialMatches:()=>_ne,partialRegExp:()=>Bne,whitespaceCharacters:()=>a_e});function Qr(t){return t.charCodeAt(0)}R(Qr,"cc");function PM(t,e){Array.isArray(t)?t.forEach(function(r){e.push(r)}):e.push(t)}R(PM,"insertToSet");function h2(t,e){if(t[e]===!0)throw"duplicate flag "+e;t[e],t[e]=!0}R(h2,"addFlag");function Am(t){if(t===void 0)throw Error("Internal Error - Should never get here!");return!0}R(Am,"ASSERT_EXISTS");function e_e(){throw Error("Internal Error - Should never get here!")}R(e_e,"ASSERT_NEVER_REACH_HERE");function vX(t){return t.type==="Character"}R(vX,"isCharacter");var ON=[];for(let t=Qr("0");t<=Qr("9");t++)ON.push(t);var DN=[Qr("_")].concat(ON);for(let t=Qr("a");t<=Qr("z");t++)DN.push(t);for(let t=Qr("A");t<=Qr("Z");t++)DN.push(t);var pUe=[Qr(" "),Qr("\f"),Qr(`
`),Qr("\r"),Qr(" "),Qr("\v"),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr(" "),Qr("\u2028"),Qr("\u2029"),Qr(" "),Qr(" "),Qr(" "),Qr("\uFEFF")],$ir=/[0-9a-fA-F]/,KE=/[0-9]/,Fir=/[1-9]/,t6,t_e=(t6=class{constructor(){this.idx=0,this.input="",this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar("/");const r=this.disjunction();this.consumeChar("/");const n={type:"Flags",loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case"g":h2(n,"global");break;case"i":h2(n,"ignoreCase");break;case"m":h2(n,"multiLine");break;case"u":h2(n,"unicode");break;case"y":h2(n,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:n,value:r,loc:this.loc(0)}}disjunction(){const e=[],r=this.idx;for(e.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),e.push(this.alternative());return{type:"Disjunction",value:e,loc:this.loc(r)}}alternative(){const e=[],r=this.idx;for(;this.isTerm();)e.push(this.term());return{type:"Alternative",value:e,loc:this.loc(r)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){const e=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(e)};case"$":return{type:"EndAnchor",loc:this.loc(e)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(e)};case"B":return{type:"NonWordBoundary",loc:this.loc(e)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");let r;switch(this.popChar()){case"=":r="Lookahead";break;case"!":r="NegativeLookahead";break;case"<":{switch(this.popChar()){case"=":r="Lookbehind";break;case"!":r="NegativeLookbehind"}break}}Am(r);const n=this.disjunction();return this.consumeChar(")"),{type:r,value:n,loc:this.loc(e)}}return e_e()}quantifier(e=!1){let r;const n=this.idx;switch(this.popChar()){case"*":r={atLeast:0,atMost:1/0};break;case"+":r={atLeast:1,atMost:1/0};break;case"?":r={atLeast:0,atMost:1};break;case"{":const i=this.integerIncludingZero();switch(this.popChar()){case"}":r={atLeast:i,atMost:i};break;case",":let a;this.isDigit()?(a=this.integerIncludingZero(),r={atLeast:i,atMost:a}):r={atLeast:i,atMost:1/0},this.consumeChar("}");break}if(e===!0&&r===void 0)return;Am(r);break}if(!(e===!0&&r===void 0)&&Am(r))return this.peekChar(0)==="?"?(this.consumeChar("?"),r.greedy=!1):r.greedy=!0,r.type="Quantifier",r.loc=this.loc(n),r}atom(){let e;const r=this.idx;switch(this.peekChar()){case".":e=this.dotAll();break;case"\\":e=this.atomEscape();break;case"[":e=this.characterClass();break;case"(":e=this.group();break}if(e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),Am(e))return e.loc=this.loc(r),this.isQuantifier()&&(e.quantifier=this.quantifier()),e}dotAll(){return this.consumeChar("."),{type:"Set",complement:!0,value:[Qr(`
`),Qr("\r"),Qr("\u2028"),Qr("\u2029")]}}atomEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:"GroupBackReference",value:this.positiveInteger()}}characterClassEscape(){let e,r=!1;switch(this.popChar()){case"d":e=ON;break;case"D":e=ON,r=!0;break;case"s":e=pUe;break;case"S":e=pUe,r=!0;break;case"w":e=DN;break;case"W":e=DN,r=!0;break}if(Am(e))return{type:"Set",value:e,complement:r}}controlEscapeAtom(){let e;switch(this.popChar()){case"f":e=Qr("\f");break;case"n":e=Qr(`
`);break;case"r":e=Qr("\r");break;case"t":e=Qr(" ");break;case"v":e=Qr("\v");break}if(Am(e))return{type:"Character",value:e}}controlLetterEscapeAtom(){this.consumeChar("c");const e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error("Invalid ");return{type:"Character",value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar("0"),{type:"Character",value:Qr("\0")}}hexEscapeSequenceAtom(){return this.consumeChar("x"),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar("u"),this.parseHexDigits(4)}identityEscapeAtom(){const e=this.popChar();return{type:"Character",value:Qr(e)}}classPatternCharacterAtom(){switch(this.peekChar()){case`
`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:const e=this.popChar();return{type:"Character",value:Qr(e)}}}characterClass(){const e=[];let r=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),r=!0);this.isClassAtom();){const n=this.classAtom();if(n.type,vX(n)&&this.isRangeDash()){this.consumeChar("-");const i=this.classAtom();if(i.type,vX(i)){if(i.value<n.value)throw Error("Range out of order in character class");e.push({from:n.value,to:i.value})}else PM(n.value,e),e.push(Qr("-")),PM(i.value,e)}else PM(n.value,e)}return this.consumeChar("]"),{type:"Set",complement:r,value:e}}classAtom(){switch(this.peekChar()){case"]":case`
`:case"\r":case"\u2028":case"\u2029":throw Error("TBD");case"\\":return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar("\\"),this.peekChar()){case"b":return this.consumeChar("b"),{type:"Character",value:Qr("\b")};case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar("("),this.peekChar(0)){case"?":this.consumeChar("?"),this.consumeChar(":"),e=!1;break;default:this.groupIdx++;break}const r=this.disjunction();this.consumeChar(")");const n={type:"Group",capturing:e,value:r};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();if(Fir.test(e)===!1)throw Error("Expecting a positive integer");for(;KE.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(KE.test(e)===!1)throw Error("Expecting an integer");for(;KE.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){const e=this.popChar();switch(e){case`
`:case"\r":case"\u2028":case"\u2029":case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":throw Error("TBD");default:return{type:"Character",value:Qr(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case"g":case"i":case"m":case"u":case"y":return!0;default:return!1}}isRangeDash(){return this.peekChar()==="-"&&this.isClassAtom(1)}isDigit(){return KE.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case"]":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case".":case"\\":case"[":case"(":return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case"^":case"$":return!0;case"\\":switch(this.peekChar(1)){case"b":case"B":return!0;default:return!1}case"(":return this.peekChar(1)==="?"&&(this.peekChar(2)==="="||this.peekChar(2)==="!"||this.peekChar(2)==="<"&&(this.peekChar(3)==="="||this.peekChar(3)==="!"));default:return!1}}isQuantifier(){const e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case"^":case"$":case"\\":case".":case"*":case"+":case"?":case"(":case")":case"[":case"|":case"/":case`
`:case"\r":case"\u2028":case"\u2029":return!1;default:return!0}}parseHexDigits(e){let r="";for(let i=0;i<e;i++){const a=this.popChar();if($ir.test(a)===!1)throw Error("Expecting a HexDecimal digits");r+=a}return{type:"Character",value:parseInt(r,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){const e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error("Expected: '"+e+"' but found: '"+this.input[this.idx]+"' at offset: "+this.idx);if(this.idx>=this.input.length)throw Error("Unexpected end of input");this.idx++}loc(e){return{begin:e,end:this.idx}}},R(t6,"RegExpParser"),t6),r6,d_=(r6=class{visitChildren(e){for(const r in e){const n=e[r];e.hasOwnProperty(r)&&(n.type!==void 0?this.visit(n):Array.isArray(n)&&n.forEach(i=>{this.visit(i)},this))}}visit(e){switch(e.type){case"Pattern":this.visitPattern(e);break;case"Flags":this.visitFlags(e);break;case"Disjunction":this.visitDisjunction(e);break;case"Alternative":this.visitAlternative(e);break;case"StartAnchor":this.visitStartAnchor(e);break;case"EndAnchor":this.visitEndAnchor(e);break;case"WordBoundary":this.visitWordBoundary(e);break;case"NonWordBoundary":this.visitNonWordBoundary(e);break;case"Lookahead":this.visitLookahead(e);break;case"NegativeLookahead":this.visitNegativeLookahead(e);break;case"Lookbehind":this.visitLookbehind(e);break;case"NegativeLookbehind":this.visitNegativeLookbehind(e);break;case"Character":this.visitCharacter(e);break;case"Set":this.visitSet(e);break;case"Group":this.visitGroup(e);break;case"GroupBackReference":this.visitGroupBackReference(e);break;case"Quantifier":this.visitQuantifier(e);break}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}},R(r6,"BaseRegExpVisitor"),r6),r_e=/\r?\n/gm,n_e=new t_e,n6,zir=(n6=class extends d_{constructor(){super(...arguments),this.isStarting=!0,this.endRegexpStack=[],this.multiline=!1}get endRegex(){return this.endRegexpStack.join("")}reset(e){this.multiline=!1,this.regex=e,this.startRegexp="",this.isStarting=!0,this.endRegexpStack=[]}visitGroup(e){e.quantifier&&(this.isStarting=!1,this.endRegexpStack=[])}visitCharacter(e){const r=String.fromCharCode(e.value);if(!this.multiline&&r===`
`&&(this.multiline=!0),e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const n=x3(r);this.endRegexpStack.push(n),this.isStarting&&(this.startRegexp+=n)}}visitSet(e){if(!this.multiline){const r=this.regex.substring(e.loc.begin,e.loc.end),n=new RegExp(r);this.multiline=!!`
`.match(n)}if(e.quantifier)this.isStarting=!1,this.endRegexpStack=[];else{const r=this.regex.substring(e.loc.begin,e.loc.end);this.endRegexpStack.push(r),this.isStarting&&(this.startRegexp+=r)}}visitChildren(e){e.type==="Group"&&e.quantifier||super.visitChildren(e)}},R(n6,"TerminalRegExpVisitor"),n6),UU=new zir;function i_e(t){try{typeof t!="string"&&(t=t.source),t=`/${t}/`;const e=n_e.pattern(t),r=[];for(const n of e.value.value)UU.reset(t),UU.visit(n),r.push({start:UU.startRegexp,end:UU.endRegex});return r}catch{return[]}}R(i_e,"getTerminalParts");function Pne(t){try{return typeof t=="string"&&(t=new RegExp(t)),t=t.toString(),UU.reset(t),UU.visit(n_e.pattern(t)),UU.multiline}catch{return!1}}R(Pne,"isMultilineComment");var a_e=`\f
\r \v              \u2028\u2029   \uFEFF`.split("");function h_(t){const e=typeof t=="string"?new RegExp(t):t;return a_e.some(r=>e.test(r))}R(h_,"isWhitespace");function x3(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}R(x3,"escapeRegExp");function _ne(t,e){const r=Bne(t),n=e.match(r);return!!n&&n[0].length>0}R(_ne,"partialMatches");function Bne(t){typeof t=="string"&&(t=new RegExp(t));const e=t,r=t.source;let n=0;function i(){let a="",s;function o(u){a+=r.substr(n,u),n+=u}R(o,"appendRaw");function l(u){a+="(?:"+r.substr(n,u)+"|$)",n+=u}for(R(l,"appendOptional");n<r.length;)switch(r[n]){case"\\":switch(r[n+1]){case"c":l(3);break;case"x":l(4);break;case"u":e.unicode?r[n+2]==="{"?l(r.indexOf("}",n)-n+1):l(6):l(2);break;case"p":case"P":e.unicode?l(r.indexOf("}",n)-n+1):l(2);break;case"k":l(r.indexOf(">",n)-n+1);break;default:l(2);break}break;case"[":s=/\[(?:\\.|.)*?\]/g,s.lastIndex=n,s=s.exec(r)||[],l(s[0].length);break;case"|":case"^":case"$":case"*":case"+":case"?":o(1);break;case"{":s=/\{\d+,?\d*\}/g,s.lastIndex=n,s=s.exec(r),s?o(s[0].length):l(1);break;case"(":if(r[n+1]==="?")switch(r[n+2]){case":":a+="(?:",n+=3,a+=i()+"|$)";break;case"=":a+="(?=",n+=3,a+=i()+")";break;case"!":s=n,n+=3,i(),a+=r.substr(s,n-s);break;case"<":switch(r[n+3]){case"=":case"!":s=n,n+=4,i(),a+=r.substr(s,n-s);break;default:o(r.indexOf(">",n)-n+1),a+=i()+"|$)";break}break}else o(1),a+=i()+"|$)";break;case")":return++n,a;default:l(1);break}return a}return R(i,"process"),new RegExp(i(),t.flags)}R(Bne,"partialRegExp");function $ne(t){return t.rules.find(e=>Wl(e)&&e.entry)}R($ne,"getEntryRule");function Fne(t){return t.rules.filter(e=>Zu(e)&&e.hidden)}R(Fne,"getHiddenRules");function f_(t,e){const r=new Set,n=$ne(t);if(!n)return new Set(t.rules);const i=[n].concat(Fne(t));for(const s of i)zne(s,r,e);const a=new Set;for(const s of t.rules)(r.has(s.name)||Zu(s)&&s.hidden)&&a.add(s);return a}R(f_,"getAllReachableRules");function zne(t,e,r){e.add(t.name),yp(t).forEach(n=>{if(W0(n)||r&&s_(n)){const i=n.rule.ref;i&&!e.has(i.name)&&zne(i,e,r)}})}R(zne,"ruleDfs");function s_e(t){const e=new Set;return yp(t).forEach(r=>{H5(r)&&(Wl(r.type.ref)&&e.add(r.type.ref),$S(r.type.ref)&&Wl(r.type.ref.$container)&&e.add(r.type.ref.$container))}),e}R(s_e,"getAllRulesUsedForCrossReferences");function Hne(t){if(t.terminal)return t.terminal;if(t.type.ref){const e=U_(t.type.ref);return e==null?void 0:e.terminal}}R(Hne,"getCrossReferenceTerminal");function Vne(t){return t.hidden&&!h_(HS(t))}R(Vne,"isCommentTerminal");function Gne(t,e){return!t||!e?[]:g_(t,e,t.astNode,!0)}R(Gne,"findNodesForProperty");function p_(t,e,r){if(!t||!e)return;const n=g_(t,e,t.astNode,!0);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}R(p_,"findNodeForProperty");function g_(t,e,r,n){if(!n){const i=F5(t.grammarSource,V0);if(i&&i.feature===e)return[t]}return H0(t)&&t.astNode===r?t.content.flatMap(i=>g_(i,e,r,!1)):[]}R(g_,"findNodesForPropertyInternal");function o_e(t,e){return t?m_(t,e,t==null?void 0:t.astNode):[]}R(o_e,"findNodesForKeyword");function Wne(t,e,r){if(!t)return;const n=m_(t,e,t==null?void 0:t.astNode);if(n.length!==0)return r!==void 0?r=Math.max(0,Math.min(r,n.length-1)):r=0,n[r]}R(Wne,"findNodeForKeyword");function m_(t,e,r){if(t.astNode!==r)return[];if(G0(t.grammarSource)&&t.grammarSource.value===e)return[t];const n=w4(t).iterator();let i;const a=[];do if(i=n.next(),!i.done){const s=i.value;s.astNode===r?G0(s.grammarSource)&&s.grammarSource.value===e&&a.push(s):n.prune()}while(!i.done);return a}R(m_,"findNodesForKeywordInternal");function qne(t){var r;const e=t.astNode;for(;e===((r=t.container)==null?void 0:r.astNode);){const n=F5(t.grammarSource,V0);if(n)return n;t=t.container}}R(qne,"findAssignment");function U_(t){let e=t;return $S(e)&&(c1(e.$container)?e=e.$container.$container:z5(e.$container)?e=e.$container:B1(e.$container)),jne(t,e,new Map)}R(U_,"findNameAssignment");function jne(t,e,r){var i;function n(a,s){let o;return F5(a,V0)||(o=jne(s,s,r)),r.set(t,o),o}if(R(n,"go"),r.has(t))return r.get(t);r.set(t,void 0);for(const a of yp(e)){if(V0(a)&&a.feature.toLowerCase()==="name")return r.set(t,a),a;if(W0(a)&&Wl(a.rule.ref))return n(a,a.rule.ref);if(a_(a)&&((i=a.typeRef)!=null&&i.ref))return n(a,a.typeRef.ref)}}R(jne,"findNameAssignmentInternal");function Yne(t){const e=t.$container;if(V5(e)){const r=e.elements,n=r.indexOf(t);for(let i=n-1;i>=0;i--){const a=r[i];if(c1(a))return a;{const s=yp(r[i]).find(c1);if(s)return s}}}if(n_(e))return Yne(e)}R(Yne,"getActionAtElement");function l_e(t,e){return t==="?"||t==="*"||V5(e)&&!!e.guardCondition}R(l_e,"isOptionalCardinality");function c_e(t){return t==="*"||t==="+"}R(c_e,"isArrayCardinality");function u_e(t){return t==="+="}R(u_e,"isArrayOperator");function FS(t){return Xne(t,new Set)}R(FS,"isDataTypeRule");function Xne(t,e){if(e.has(t))return!0;e.add(t);for(const r of yp(t))if(W0(r)){if(!r.rule.ref||Wl(r.rule.ref)&&!Xne(r.rule.ref,e)||x4(r.rule.ref))return!1}else{if(V0(r))return!1;if(c1(r))return!1}return!!t.definition}R(Xne,"isDataTypeRuleInternal");function d_e(t){return PN(t.type,new Set)}R(d_e,"isDataType");function PN(t,e){if(e.has(t))return!0;if(e.add(t),sne(t))return!1;if(mne(t))return!1;if(xne(t))return t.types.every(r=>PN(r,e));if(a_(t)){if(t.primitiveType!==void 0)return!0;if(t.stringType!==void 0)return!0;if(t.typeRef!==void 0){const r=t.typeRef.ref;return o_(r)?PN(r.type,e):!1}else return!1}else return!1}R(PN,"isDataTypeInternal");function zS(t){if(!Zu(t)){if(t.inferredType)return t.inferredType.name;if(t.dataType)return t.dataType;if(t.returnType){const e=t.returnType.ref;if(e)return e.name}}}R(zS,"getExplicitRuleType");function f5(t){if(z5(t))return Wl(t)&&FS(t)?t.name:zS(t)??t.name;if(hne(t)||o_(t)||yne(t))return t.name;if(c1(t)){const e=Kne(t);if(e)return e}else if($S(t))return t.name;throw new Error("Cannot get name of Unknown Type")}R(f5,"getTypeName");function Kne(t){var e;if(t.inferredType)return t.inferredType.name;if((e=t.type)!=null&&e.ref)return f5(t.type.ref)}R(Kne,"getActionType");function h_e(t){var e;return Zu(t)?((e=t.type)==null?void 0:e.name)??"string":Wl(t)&&FS(t)?t.name:zS(t)??t.name}R(h_e,"getRuleTypeName");function Zne(t){var e;return Zu(t)?((e=t.type)==null?void 0:e.name)??"string":zS(t)??t.name}R(Zne,"getRuleType");function HS(t){const e={s:!1,i:!1,u:!1},r=G5(t.definition,e),n=Object.entries(e).filter(([,i])=>i).map(([i])=>i).join("");return new RegExp(r,n)}R(HS,"terminalRegex");var Jne=/[\s\S]/.source;function G5(t,e){var r;if(bne(t))return f_e(t);if(vne(t))return p_e(t);if(lne(t))return U_e(t);if(s_(t)){const n=t.rule.ref;if(!n)throw new Error("Missing rule reference.");return Vh(G5(n.definition),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}else{if(fne(t))return m_e(t);if(wne(t))return g_e(t);if(Une(t)){const n=t.regex.lastIndexOf("/"),i=t.regex.substring(1,n),a=t.regex.substring(n+1);return e&&(e.i=a.includes("i"),e.s=a.includes("s"),e.u=a.includes("u")),Vh(i,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}else{if(Tne(t))return Vh(Jne,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized});throw new Error(`Invalid terminal element: ${t==null?void 0:t.$type}, ${(r=t==null?void 0:t.$cstNode)==null?void 0:r.text}`)}}}R(G5,"abstractElementToRegex");function f_e(t){return Vh(t.elements.map(e=>G5(e)).join("|"),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}R(f_e,"terminalAlternativesToRegex");function p_e(t){return Vh(t.elements.map(e=>G5(e)).join(""),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}R(p_e,"terminalGroupToRegex");function g_e(t){return Vh(`${Jne}*?${G5(t.terminal)}`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}R(g_e,"untilTokenToRegex");function m_e(t){return Vh(`(?!${G5(t.terminal)})${Jne}*?`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized})}R(m_e,"negateTokenToRegex");function U_e(t){return t.right?Vh(`[${_M(t.left)}-${_M(t.right)}]`,{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1}):Vh(_M(t.left),{cardinality:t.cardinality,lookahead:t.lookahead,parenthesized:t.parenthesized,wrap:!1})}R(U_e,"characterRangeToRegex");function _M(t){return x3(t.value)}R(_M,"keywordToRegex");function Vh(t,e){return(e.parenthesized||e.lookahead||e.wrap!==!1)&&(t=`(${e.lookahead??(e.parenthesized?"":"?:")}${t})`),e.cardinality?`${t}${e.cardinality}`:t}R(Vh,"withCardinality");function Qne(t){const e=[],r=t.Grammar;for(const n of r.rules)Zu(n)&&Vne(n)&&Pne(HS(n))&&e.push(n.name);return{multilineCommentRules:e,nameRegexp:Ane}}R(Qne,"createGrammarConfig");var Hir=typeof global=="object"&&global&&global.Object===Object&&global,y_e=Hir,Vir=typeof self=="object"&&self&&self.Object===Object&&self,Gir=y_e||Vir||Function("return this")(),yf=Gir,Wir=yf.Symbol,ju=Wir,b_e=Object.prototype,qir=b_e.hasOwnProperty,jir=b_e.toString,f9=ju?ju.toStringTag:void 0;function v_e(t){var e=qir.call(t,f9),r=t[f9];try{t[f9]=void 0;var n=!0}catch{}var i=jir.call(t);return n&&(e?t[f9]=r:delete t[f9]),i}R(v_e,"getRawTag");var Yir=v_e,Xir=Object.prototype,Kir=Xir.toString;function x_e(t){return Kir.call(t)}R(x_e,"objectToString");var Zir=x_e,Jir="[object Null]",Qir="[object Undefined]",gUe=ju?ju.toStringTag:void 0;function w_e(t){return t==null?t===void 0?Qir:Jir:gUe&&gUe in Object(t)?Yir(t):Zir(t)}R(w_e,"baseGetTag");var $1=w_e;function T_e(t){return t!=null&&typeof t=="object"}R(T_e,"isObjectLike");var qd=T_e,ear="[object Symbol]";function C_e(t){return typeof t=="symbol"||qd(t)&&$1(t)==ear}R(C_e,"isSymbol");var y_=C_e;function S_e(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}R(S_e,"arrayMap");var VS=S_e,tar=Array.isArray,ti=tar,mUe=ju?ju.prototype:void 0,UUe=mUe?mUe.toString:void 0;function eie(t){if(typeof t=="string")return t;if(ti(t))return VS(t,eie)+"";if(y_(t))return UUe?UUe.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}R(eie,"baseToString");var rar=eie,nar=/\s/;function k_e(t){for(var e=t.length;e--&&nar.test(t.charAt(e)););return e}R(k_e,"trimmedEndIndex");var iar=k_e,aar=/^\s+/;function E_e(t){return t&&t.slice(0,iar(t)+1).replace(aar,"")}R(E_e,"baseTrim");var sar=E_e;function A_e(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}R(A_e,"isObject");var Yu=A_e,yUe=NaN,oar=/^[-+]0x[0-9a-f]+$/i,lar=/^0b[01]+$/i,car=/^0o[0-7]+$/i,uar=parseInt;function M_e(t){if(typeof t=="number")return t;if(y_(t))return yUe;if(Yu(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=Yu(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=sar(t);var r=lar.test(t);return r||car.test(t)?uar(t.slice(2),r?2:8):oar.test(t)?yUe:+t}R(M_e,"toNumber");var dar=M_e,bUe=1/0,har=17976931348623157e292;function R_e(t){if(!t)return t===0?t:0;if(t=dar(t),t===bUe||t===-bUe){var e=t<0?-1:1;return e*har}return t===t?t:0}R(R_e,"toFinite");var far=R_e;function I_e(t){var e=far(t),r=e%1;return e===e?r?e-r:e:0}R(I_e,"toInteger");var GS=I_e;function L_e(t){return t}R(L_e,"identity");var WS=L_e,par="[object AsyncFunction]",gar="[object Function]",mar="[object GeneratorFunction]",Uar="[object Proxy]";function N_e(t){if(!Yu(t))return!1;var e=$1(t);return e==gar||e==mar||e==par||e==Uar}R(N_e,"isFunction");var bp=N_e,yar=yf["__core-js_shared__"],PH=yar,vUe=(function(){var t=/[^.]+$/.exec(PH&&PH.keys&&PH.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function O_e(t){return!!vUe&&vUe in t}R(O_e,"isMasked");var bar=O_e,xar=Function.prototype,war=xar.toString;function D_e(t){if(t!=null){try{return war.call(t)}catch{}try{return t+""}catch{}}return""}R(D_e,"toSource");var W5=D_e,Tar=/[\\^$.*+?()[\]{}|]/g,Car=/^\[object .+?Constructor\]$/,Sar=Function.prototype,kar=Object.prototype,Ear=Sar.toString,Aar=kar.hasOwnProperty,Mar=RegExp("^"+Ear.call(Aar).replace(Tar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function P_e(t){if(!Yu(t)||bar(t))return!1;var e=bp(t)?Mar:Car;return e.test(W5(t))}R(P_e,"baseIsNative");var Rar=P_e;function __e(t,e){return t==null?void 0:t[e]}R(__e,"getValue");var Iar=__e;function B_e(t,e){var r=Iar(t,e);return Rar(r)?r:void 0}R(B_e,"getNative");var q5=B_e,Lar=q5(yf,"WeakMap"),xX=Lar,xUe=Object.create,Nar=(function(){function t(){}return R(t,"object"),function(e){if(!Yu(e))return{};if(xUe)return xUe(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}})(),Oar=Nar;function $_e(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}R($_e,"apply");var Dar=$_e;function F_e(){}R(F_e,"noop");var Vs=F_e;function z_e(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}R(z_e,"copyArray");var Par=z_e,_ar=800,Bar=16,$ar=Date.now;function H_e(t){var e=0,r=0;return function(){var n=$ar(),i=Bar-(n-r);if(r=n,i>0){if(++e>=_ar)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}R(H_e,"shortOut");var Far=H_e;function V_e(t){return function(){return t}}R(V_e,"constant");var zar=V_e,Har=(function(){try{var t=q5(Object,"defineProperty");return t({},"",{}),t}catch{}})(),_N=Har,Var=_N?function(t,e){return _N(t,"toString",{configurable:!0,enumerable:!1,value:zar(e),writable:!0})}:WS,Gar=Var,War=Far(Gar),qar=War;function G_e(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}R(G_e,"arrayEach");var W_e=G_e;function q_e(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a<i;)if(e(t[a],a,t))return a;return-1}R(q_e,"baseFindIndex");var j_e=q_e;function Y_e(t){return t!==t}R(Y_e,"baseIsNaN");var jar=Y_e;function X_e(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}R(X_e,"strictIndexOf");var Yar=X_e;function K_e(t,e,r){return e===e?Yar(t,e,r):j_e(t,jar,r)}R(K_e,"baseIndexOf");var tie=K_e;function Z_e(t,e){var r=t==null?0:t.length;return!!r&&tie(t,e,0)>-1}R(Z_e,"arrayIncludes");var J_e=Z_e,Xar=9007199254740991,Kar=/^(?:0|[1-9]\d*)$/;function Q_e(t,e){var r=typeof t;return e=e??Xar,!!e&&(r=="number"||r!="symbol"&&Kar.test(t))&&t>-1&&t%1==0&&t<e}R(Q_e,"isIndex");var b_=Q_e;function eBe(t,e,r){e=="__proto__"&&_N?_N(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}R(eBe,"baseAssignValue");var rie=eBe;function tBe(t,e){return t===e||t!==t&&e!==e}R(tBe,"eq");var qS=tBe,Zar=Object.prototype,Jar=Zar.hasOwnProperty;function rBe(t,e,r){var n=t[e];(!(Jar.call(t,e)&&qS(n,r))||r===void 0&&!(e in t))&&rie(t,e,r)}R(rBe,"assignValue");var v_=rBe;function nBe(t,e,r,n){var i=!r;r||(r={});for(var a=-1,s=e.length;++a<s;){var o=e[a],l=n?n(r[o],t[o],o,r,t):void 0;l===void 0&&(l=t[o]),i?rie(r,o,l):v_(r,o,l)}return r}R(nBe,"copyObject");var jS=nBe,wUe=Math.max;function iBe(t,e,r){return e=wUe(e===void 0?t.length-1:e,0),function(){for(var n=arguments,i=-1,a=wUe(n.length-e,0),s=Array(a);++i<a;)s[i]=n[e+i];i=-1;for(var o=Array(e+1);++i<e;)o[i]=n[i];return o[e]=r(s),Dar(t,this,o)}}R(iBe,"overRest");var Qar=iBe;function aBe(t,e){return qar(Qar(t,e,WS),t+"")}R(aBe,"baseRest");var nie=aBe,esr=9007199254740991;function sBe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=esr}R(sBe,"isLength");var iie=sBe;function oBe(t){return t!=null&&iie(t.length)&&!bp(t)}R(oBe,"isArrayLike");var bf=oBe;function lBe(t,e,r){if(!Yu(r))return!1;var n=typeof e;return(n=="number"?bf(r)&&b_(e,r.length):n=="string"&&e in r)?qS(r[e],t):!1}R(lBe,"isIterateeCall");var x_=lBe;function cBe(t){return nie(function(e,r){var n=-1,i=r.length,a=i>1?r[i-1]:void 0,s=i>2?r[2]:void 0;for(a=t.length>3&&typeof a=="function"?(i--,a):void 0,s&&x_(r[0],r[1],s)&&(a=i<3?void 0:a,i=1),e=Object(e);++n<i;){var o=r[n];o&&t(e,o,n,a)}return e})}R(cBe,"createAssigner");var tsr=cBe,rsr=Object.prototype;function uBe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||rsr;return t===r}R(uBe,"isPrototype");var YS=uBe;function dBe(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}R(dBe,"baseTimes");var nsr=dBe,isr="[object Arguments]";function hBe(t){return qd(t)&&$1(t)==isr}R(hBe,"baseIsArguments");var TUe=hBe,fBe=Object.prototype,asr=fBe.hasOwnProperty,ssr=fBe.propertyIsEnumerable,osr=TUe((function(){return arguments})())?TUe:function(t){return qd(t)&&asr.call(t,"callee")&&!ssr.call(t,"callee")},w_=osr;function pBe(){return!1}R(pBe,"stubFalse");var lsr=pBe,gBe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,CUe=gBe&&typeof module=="object"&&module&&!module.nodeType&&module,csr=CUe&&CUe.exports===gBe,SUe=csr?yf.Buffer:void 0,usr=SUe?SUe.isBuffer:void 0,dsr=usr||lsr,sC=dsr,hsr="[object Arguments]",fsr="[object Array]",psr="[object Boolean]",gsr="[object Date]",msr="[object Error]",Usr="[object Function]",ysr="[object Map]",bsr="[object Number]",vsr="[object Object]",xsr="[object RegExp]",wsr="[object Set]",Tsr="[object String]",Csr="[object WeakMap]",Ssr="[object ArrayBuffer]",ksr="[object DataView]",Esr="[object Float32Array]",Asr="[object Float64Array]",Msr="[object Int8Array]",Rsr="[object Int16Array]",Isr="[object Int32Array]",Lsr="[object Uint8Array]",Nsr="[object Uint8ClampedArray]",Osr="[object Uint16Array]",Dsr="[object Uint32Array]",Ki={};Ki[Esr]=Ki[Asr]=Ki[Msr]=Ki[Rsr]=Ki[Isr]=Ki[Lsr]=Ki[Nsr]=Ki[Osr]=Ki[Dsr]=!0;Ki[hsr]=Ki[fsr]=Ki[Ssr]=Ki[psr]=Ki[ksr]=Ki[gsr]=Ki[msr]=Ki[Usr]=Ki[ysr]=Ki[bsr]=Ki[vsr]=Ki[xsr]=Ki[wsr]=Ki[Tsr]=Ki[Csr]=!1;function mBe(t){return qd(t)&&iie(t.length)&&!!Ki[$1(t)]}R(mBe,"baseIsTypedArray");var Psr=mBe;function UBe(t){return function(e){return t(e)}}R(UBe,"baseUnary");var XS=UBe,yBe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,yw=yBe&&typeof module=="object"&&module&&!module.nodeType&&module,_sr=yw&&yw.exports===yBe,_H=_sr&&y_e.process,Bsr=(function(){try{var t=yw&&yw.require&&yw.require("util").types;return t||_H&&_H.binding&&_H.binding("util")}catch{}})(),u1=Bsr,kUe=u1&&u1.isTypedArray,$sr=kUe?XS(kUe):Psr,aie=$sr,Fsr=Object.prototype,zsr=Fsr.hasOwnProperty;function bBe(t,e){var r=ti(t),n=!r&&w_(t),i=!r&&!n&&sC(t),a=!r&&!n&&!i&&aie(t),s=r||n||i||a,o=s?nsr(t.length,String):[],l=o.length;for(var u in t)(e||zsr.call(t,u))&&!(s&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||b_(u,l)))&&o.push(u);return o}R(bBe,"arrayLikeKeys");var vBe=bBe;function xBe(t,e){return function(r){return t(e(r))}}R(xBe,"overArg");var wBe=xBe,Hsr=wBe(Object.keys,Object),Vsr=Hsr,Gsr=Object.prototype,Wsr=Gsr.hasOwnProperty;function TBe(t){if(!YS(t))return Vsr(t);var e=[];for(var r in Object(t))Wsr.call(t,r)&&r!="constructor"&&e.push(r);return e}R(TBe,"baseKeys");var CBe=TBe;function SBe(t){return bf(t)?vBe(t):CBe(t)}R(SBe,"keys");var nu=SBe,qsr=Object.prototype,jsr=qsr.hasOwnProperty,Ysr=tsr(function(t,e){if(YS(e)||bf(e)){jS(e,nu(e),t);return}for(var r in e)jsr.call(e,r)&&v_(t,r,e[r])}),iu=Ysr;function kBe(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}R(kBe,"nativeKeysIn");var Xsr=kBe,Ksr=Object.prototype,Zsr=Ksr.hasOwnProperty;function EBe(t){if(!Yu(t))return Xsr(t);var e=YS(t),r=[];for(var n in t)n=="constructor"&&(e||!Zsr.call(t,n))||r.push(n);return r}R(EBe,"baseKeysIn");var Jsr=EBe;function ABe(t){return bf(t)?vBe(t,!0):Jsr(t)}R(ABe,"keysIn");var T_=ABe,Qsr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,eor=/^\w*$/;function MBe(t,e){if(ti(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||y_(t)?!0:eor.test(t)||!Qsr.test(t)||e!=null&&t in Object(e)}R(MBe,"isKey");var sie=MBe,tor=q5(Object,"create"),oC=tor;function RBe(){this.__data__=oC?oC(null):{},this.size=0}R(RBe,"hashClear");var ror=RBe;function IBe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}R(IBe,"hashDelete");var nor=IBe,ior="__lodash_hash_undefined__",aor=Object.prototype,sor=aor.hasOwnProperty;function LBe(t){var e=this.__data__;if(oC){var r=e[t];return r===ior?void 0:r}return sor.call(e,t)?e[t]:void 0}R(LBe,"hashGet");var oor=LBe,lor=Object.prototype,cor=lor.hasOwnProperty;function NBe(t){var e=this.__data__;return oC?e[t]!==void 0:cor.call(e,t)}R(NBe,"hashHas");var uor=NBe,dor="__lodash_hash_undefined__";function OBe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=oC&&e===void 0?dor:e,this}R(OBe,"hashSet");var hor=OBe;function j5(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}R(j5,"Hash");j5.prototype.clear=ror;j5.prototype.delete=nor;j5.prototype.get=oor;j5.prototype.has=uor;j5.prototype.set=hor;var EUe=j5;function DBe(){this.__data__=[],this.size=0}R(DBe,"listCacheClear");var por=DBe;function PBe(t,e){for(var r=t.length;r--;)if(qS(t[r][0],e))return r;return-1}R(PBe,"assocIndexOf");var C_=PBe,gor=Array.prototype,mor=gor.splice;function _Be(t){var e=this.__data__,r=C_(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():mor.call(e,r,1),--this.size,!0}R(_Be,"listCacheDelete");var Uor=_Be;function BBe(t){var e=this.__data__,r=C_(e,t);return r<0?void 0:e[r][1]}R(BBe,"listCacheGet");var yor=BBe;function $Be(t){return C_(this.__data__,t)>-1}R($Be,"listCacheHas");var bor=$Be;function FBe(t,e){var r=this.__data__,n=C_(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}R(FBe,"listCacheSet");var vor=FBe;function Y5(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}R(Y5,"ListCache");Y5.prototype.clear=por;Y5.prototype.delete=Uor;Y5.prototype.get=yor;Y5.prototype.has=bor;Y5.prototype.set=vor;var S_=Y5,xor=q5(yf,"Map"),lC=xor;function zBe(){this.size=0,this.__data__={hash:new EUe,map:new(lC||S_),string:new EUe}}R(zBe,"mapCacheClear");var wor=zBe;function HBe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}R(HBe,"isKeyable");var Tor=HBe;function VBe(t,e){var r=t.__data__;return Tor(e)?r[typeof e=="string"?"string":"hash"]:r.map}R(VBe,"getMapData");var k_=VBe;function GBe(t){var e=k_(this,t).delete(t);return this.size-=e?1:0,e}R(GBe,"mapCacheDelete");var Cor=GBe;function WBe(t){return k_(this,t).get(t)}R(WBe,"mapCacheGet");var Sor=WBe;function qBe(t){return k_(this,t).has(t)}R(qBe,"mapCacheHas");var kor=qBe;function jBe(t,e){var r=k_(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}R(jBe,"mapCacheSet");var Eor=jBe;function X5(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}R(X5,"MapCache");X5.prototype.clear=wor;X5.prototype.delete=Cor;X5.prototype.get=Sor;X5.prototype.has=kor;X5.prototype.set=Eor;var E_=X5,Aor="Expected a function";function A_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(Aor);var r=R(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(A_.Cache||E_),r}R(A_,"memoize");A_.Cache=E_;var Mor=A_,Ror=500;function YBe(t){var e=Mor(t,function(n){return r.size===Ror&&r.clear(),n}),r=e.cache;return e}R(YBe,"memoizeCapped");var Ior=YBe,Lor=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Nor=/\\(\\)?/g,Oor=Ior(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(Lor,function(r,n,i,a){e.push(i?a.replace(Nor,"$1"):n||r)}),e}),Dor=Oor;function XBe(t){return t==null?"":rar(t)}R(XBe,"toString");var Por=XBe;function KBe(t,e){return ti(t)?t:sie(t,e)?[t]:Dor(Por(t))}R(KBe,"castPath");var M_=KBe;function ZBe(t){if(typeof t=="string"||y_(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}R(ZBe,"toKey");var KS=ZBe;function JBe(t,e){e=M_(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[KS(e[r++])];return r&&r==n?t:void 0}R(JBe,"baseGet");var oie=JBe;function QBe(t,e,r){var n=t==null?void 0:oie(t,e);return n===void 0?r:n}R(QBe,"get");var _or=QBe;function e$e(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}R(e$e,"arrayPush");var lie=e$e,AUe=ju?ju.isConcatSpreadable:void 0;function t$e(t){return ti(t)||w_(t)||!!(AUe&&t&&t[AUe])}R(t$e,"isFlattenable");var Bor=t$e;function cie(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=Bor),i||(i=[]);++a<s;){var o=t[a];e>0&&r(o)?e>1?cie(o,e-1,r,n,i):lie(i,o):n||(i[i.length]=o)}return i}R(cie,"baseFlatten");var uie=cie;function r$e(t){var e=t==null?0:t.length;return e?uie(t,1):[]}R(r$e,"flatten");var Bd=r$e,$or=wBe(Object.getPrototypeOf,Object),n$e=$or;function i$e(t,e,r){var n=-1,i=t.length;e<0&&(e=-e>i?0:i+e),r=r>i?i:r,r<0&&(r+=i),i=e>r?0:r-e>>>0,e>>>=0;for(var a=Array(i);++n<i;)a[n]=t[n+e];return a}R(i$e,"baseSlice");var a$e=i$e;function s$e(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i<a;)r=e(r,t[i],i,t);return r}R(s$e,"arrayReduce");var For=s$e;function o$e(){this.__data__=new S_,this.size=0}R(o$e,"stackClear");var zor=o$e;function l$e(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}R(l$e,"stackDelete");var Hor=l$e;function c$e(t){return this.__data__.get(t)}R(c$e,"stackGet");var Vor=c$e;function u$e(t){return this.__data__.has(t)}R(u$e,"stackHas");var Gor=u$e,Wor=200;function d$e(t,e){var r=this.__data__;if(r instanceof S_){var n=r.__data__;if(!lC||n.length<Wor-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new E_(n)}return r.set(t,e),this.size=r.size,this}R(d$e,"stackSet");var qor=d$e;function K5(t){var e=this.__data__=new S_(t);this.size=e.size}R(K5,"Stack");K5.prototype.clear=zor;K5.prototype.delete=Hor;K5.prototype.get=Vor;K5.prototype.has=Gor;K5.prototype.set=qor;var bw=K5;function h$e(t,e){return t&&jS(e,nu(e),t)}R(h$e,"baseAssign");var jor=h$e;function f$e(t,e){return t&&jS(e,T_(e),t)}R(f$e,"baseAssignIn");var Yor=f$e,p$e=typeof exports=="object"&&exports&&!exports.nodeType&&exports,MUe=p$e&&typeof module=="object"&&module&&!module.nodeType&&module,Xor=MUe&&MUe.exports===p$e,RUe=Xor?yf.Buffer:void 0,IUe=RUe?RUe.allocUnsafe:void 0;function g$e(t,e){if(e)return t.slice();var r=t.length,n=IUe?IUe(r):new t.constructor(r);return t.copy(n),n}R(g$e,"cloneBuffer");var Kor=g$e;function m$e(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r<n;){var s=t[r];e(s,r,t)&&(a[i++]=s)}return a}R(m$e,"arrayFilter");var die=m$e;function U$e(){return[]}R(U$e,"stubArray");var y$e=U$e,Zor=Object.prototype,Jor=Zor.propertyIsEnumerable,LUe=Object.getOwnPropertySymbols,Qor=LUe?function(t){return t==null?[]:(t=Object(t),die(LUe(t),function(e){return Jor.call(t,e)}))}:y$e,hie=Qor;function b$e(t,e){return jS(t,hie(t),e)}R(b$e,"copySymbols");var elr=b$e,tlr=Object.getOwnPropertySymbols,rlr=tlr?function(t){for(var e=[];t;)lie(e,hie(t)),t=n$e(t);return e}:y$e,v$e=rlr;function x$e(t,e){return jS(t,v$e(t),e)}R(x$e,"copySymbolsIn");var nlr=x$e;function w$e(t,e,r){var n=e(t);return ti(t)?n:lie(n,r(t))}R(w$e,"baseGetAllKeys");var T$e=w$e;function C$e(t){return T$e(t,nu,hie)}R(C$e,"getAllKeys");var wX=C$e;function S$e(t){return T$e(t,T_,v$e)}R(S$e,"getAllKeysIn");var k$e=S$e,ilr=q5(yf,"DataView"),TX=ilr,alr=q5(yf,"Promise"),CX=alr,slr=q5(yf,"Set"),Sb=slr,NUe="[object Map]",olr="[object Object]",OUe="[object Promise]",DUe="[object Set]",PUe="[object WeakMap]",_Ue="[object DataView]",llr=W5(TX),clr=W5(lC),ulr=W5(CX),dlr=W5(Sb),hlr=W5(xX),Mm=$1;(TX&&Mm(new TX(new ArrayBuffer(1)))!=_Ue||lC&&Mm(new lC)!=NUe||CX&&Mm(CX.resolve())!=OUe||Sb&&Mm(new Sb)!=DUe||xX&&Mm(new xX)!=PUe)&&(Mm=R(function(t){var e=$1(t),r=e==olr?t.constructor:void 0,n=r?W5(r):"";if(n)switch(n){case llr:return _Ue;case clr:return NUe;case ulr:return OUe;case dlr:return DUe;case hlr:return PUe}return e},"getTag"));var C4=Mm,flr=Object.prototype,plr=flr.hasOwnProperty;function E$e(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&plr.call(t,"index")&&(r.index=t.index,r.input=t.input),r}R(E$e,"initCloneArray");var glr=E$e,mlr=yf.Uint8Array,BN=mlr;function A$e(t){var e=new t.constructor(t.byteLength);return new BN(e).set(new BN(t)),e}R(A$e,"cloneArrayBuffer");var fie=A$e;function M$e(t,e){var r=e?fie(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}R(M$e,"cloneDataView");var Ulr=M$e,ylr=/\w*$/;function R$e(t){var e=new t.constructor(t.source,ylr.exec(t));return e.lastIndex=t.lastIndex,e}R(R$e,"cloneRegExp");var blr=R$e,BUe=ju?ju.prototype:void 0,$Ue=BUe?BUe.valueOf:void 0;function I$e(t){return $Ue?Object($Ue.call(t)):{}}R(I$e,"cloneSymbol");var vlr=I$e;function L$e(t,e){var r=e?fie(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}R(L$e,"cloneTypedArray");var xlr=L$e,wlr="[object Boolean]",Tlr="[object Date]",Clr="[object Map]",Slr="[object Number]",klr="[object RegExp]",Elr="[object Set]",Alr="[object String]",Mlr="[object Symbol]",Rlr="[object ArrayBuffer]",Ilr="[object DataView]",Llr="[object Float32Array]",Nlr="[object Float64Array]",Olr="[object Int8Array]",Dlr="[object Int16Array]",Plr="[object Int32Array]",_lr="[object Uint8Array]",Blr="[object Uint8ClampedArray]",$lr="[object Uint16Array]",Flr="[object Uint32Array]";function N$e(t,e,r){var n=t.constructor;switch(e){case Rlr:return fie(t);case wlr:case Tlr:return new n(+t);case Ilr:return Ulr(t,r);case Llr:case Nlr:case Olr:case Dlr:case Plr:case _lr:case Blr:case $lr:case Flr:return xlr(t,r);case Clr:return new n;case Slr:case Alr:return new n(t);case klr:return blr(t);case Elr:return new n;case Mlr:return vlr(t)}}R(N$e,"initCloneByTag");var zlr=N$e;function O$e(t){return typeof t.constructor=="function"&&!YS(t)?Oar(n$e(t)):{}}R(O$e,"initCloneObject");var Hlr=O$e,Vlr="[object Map]";function D$e(t){return qd(t)&&C4(t)==Vlr}R(D$e,"baseIsMap");var Glr=D$e,FUe=u1&&u1.isMap,Wlr=FUe?XS(FUe):Glr,qlr=Wlr,jlr="[object Set]";function P$e(t){return qd(t)&&C4(t)==jlr}R(P$e,"baseIsSet");var Ylr=P$e,zUe=u1&&u1.isSet,Xlr=zUe?XS(zUe):Ylr,Klr=Xlr,Zlr=1,Jlr=2,Qlr=4,_$e="[object Arguments]",ecr="[object Array]",tcr="[object Boolean]",rcr="[object Date]",ncr="[object Error]",B$e="[object Function]",icr="[object GeneratorFunction]",acr="[object Map]",scr="[object Number]",$$e="[object Object]",ocr="[object RegExp]",lcr="[object Set]",ccr="[object String]",ucr="[object Symbol]",dcr="[object WeakMap]",hcr="[object ArrayBuffer]",fcr="[object DataView]",pcr="[object Float32Array]",gcr="[object Float64Array]",mcr="[object Int8Array]",Ucr="[object Int16Array]",ycr="[object Int32Array]",bcr="[object Uint8Array]",vcr="[object Uint8ClampedArray]",xcr="[object Uint16Array]",wcr="[object Uint32Array]",Bi={};Bi[_$e]=Bi[ecr]=Bi[hcr]=Bi[fcr]=Bi[tcr]=Bi[rcr]=Bi[pcr]=Bi[gcr]=Bi[mcr]=Bi[Ucr]=Bi[ycr]=Bi[acr]=Bi[scr]=Bi[$$e]=Bi[ocr]=Bi[lcr]=Bi[ccr]=Bi[ucr]=Bi[bcr]=Bi[vcr]=Bi[xcr]=Bi[wcr]=!0;Bi[ncr]=Bi[B$e]=Bi[dcr]=!1;function vw(t,e,r,n,i,a){var s,o=e&Zlr,l=e&Jlr,u=e&Qlr;if(r&&(s=i?r(t,n,i,a):r(t)),s!==void 0)return s;if(!Yu(t))return t;var d=ti(t);if(d){if(s=glr(t),!o)return Par(t,s)}else{var h=C4(t),f=h==B$e||h==icr;if(sC(t))return Kor(t,o);if(h==$$e||h==_$e||f&&!i){if(s=l||f?{}:Hlr(t),!o)return l?nlr(t,Yor(s,t)):elr(t,jor(s,t))}else{if(!Bi[h])return i?t:{};s=zlr(t,h,o)}}a||(a=new bw);var p=a.get(t);if(p)return p;a.set(t,s),Klr(t)?t.forEach(function(U){s.add(vw(U,e,r,U,t,a))}):qlr(t)&&t.forEach(function(U,y){s.set(y,vw(U,e,r,y,t,a))});var g=u?l?k$e:wX:l?T_:nu,m=d?void 0:g(t);return W_e(m||t,function(U,y){m&&(y=U,U=t[y]),v_(s,y,vw(U,e,r,y,t,a))}),s}R(vw,"baseClone");var Tcr=vw,Ccr=4;function F$e(t){return Tcr(t,Ccr)}R(F$e,"clone");var Po=F$e;function z$e(t){for(var e=-1,r=t==null?0:t.length,n=0,i=[];++e<r;){var a=t[e];a&&(i[n++]=a)}return i}R(z$e,"compact");var ZS=z$e,Scr="__lodash_hash_undefined__";function H$e(t){return this.__data__.set(t,Scr),this}R(H$e,"setCacheAdd");var kcr=H$e;function V$e(t){return this.__data__.has(t)}R(V$e,"setCacheHas");var Ecr=V$e;function cC(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new E_;++e<r;)this.add(t[e])}R(cC,"SetCache");cC.prototype.add=cC.prototype.push=kcr;cC.prototype.has=Ecr;var pie=cC;function G$e(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}R(G$e,"arraySome");var W$e=G$e;function q$e(t,e){return t.has(e)}R(q$e,"cacheHas");var gie=q$e,Acr=1,Mcr=2;function j$e(t,e,r,n,i,a){var s=r&Acr,o=t.length,l=e.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(t),d=a.get(e);if(u&&d)return u==e&&d==t;var h=-1,f=!0,p=r&Mcr?new pie:void 0;for(a.set(t,e),a.set(e,t);++h<o;){var g=t[h],m=e[h];if(n)var U=s?n(m,g,h,e,t,a):n(g,m,h,t,e,a);if(U!==void 0){if(U)continue;f=!1;break}if(p){if(!W$e(e,function(y,b){if(!gie(p,b)&&(g===y||i(g,y,r,n,a)))return p.push(b)})){f=!1;break}}else if(!(g===m||i(g,m,r,n,a))){f=!1;break}}return a.delete(t),a.delete(e),f}R(j$e,"equalArrays");var Y$e=j$e;function X$e(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}R(X$e,"mapToArray");var Rcr=X$e;function K$e(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}R(K$e,"setToArray");var mie=K$e,Icr=1,Lcr=2,Ncr="[object Boolean]",Ocr="[object Date]",Dcr="[object Error]",Pcr="[object Map]",_cr="[object Number]",Bcr="[object RegExp]",$cr="[object Set]",Fcr="[object String]",zcr="[object Symbol]",Hcr="[object ArrayBuffer]",Vcr="[object DataView]",HUe=ju?ju.prototype:void 0,BH=HUe?HUe.valueOf:void 0;function Z$e(t,e,r,n,i,a,s){switch(r){case Vcr:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case Hcr:return!(t.byteLength!=e.byteLength||!a(new BN(t),new BN(e)));case Ncr:case Ocr:case _cr:return qS(+t,+e);case Dcr:return t.name==e.name&&t.message==e.message;case Bcr:case Fcr:return t==e+"";case Pcr:var o=Rcr;case $cr:var l=n&Icr;if(o||(o=mie),t.size!=e.size&&!l)return!1;var u=s.get(t);if(u)return u==e;n|=Lcr,s.set(t,e);var d=Y$e(o(t),o(e),n,i,a,s);return s.delete(t),d;case zcr:if(BH)return BH.call(t)==BH.call(e)}return!1}R(Z$e,"equalByTag");var Gcr=Z$e,Wcr=1,qcr=Object.prototype,jcr=qcr.hasOwnProperty;function J$e(t,e,r,n,i,a){var s=r&Wcr,o=wX(t),l=o.length,u=wX(e),d=u.length;if(l!=d&&!s)return!1;for(var h=l;h--;){var f=o[h];if(!(s?f in e:jcr.call(e,f)))return!1}var p=a.get(t),g=a.get(e);if(p&&g)return p==e&&g==t;var m=!0;a.set(t,e),a.set(e,t);for(var U=s;++h<l;){f=o[h];var y=t[f],b=e[f];if(n)var v=s?n(b,y,f,e,t,a):n(y,b,f,t,e,a);if(!(v===void 0?y===b||i(y,b,r,n,a):v)){m=!1;break}U||(U=f=="constructor")}if(m&&!U){var w=t.constructor,T=e.constructor;w!=T&&"constructor"in t&&"constructor"in e&&!(typeof w=="function"&&w instanceof w&&typeof T=="function"&&T instanceof T)&&(m=!1)}return a.delete(t),a.delete(e),m}R(J$e,"equalObjects");var Ycr=J$e,Xcr=1,VUe="[object Arguments]",GUe="[object Array]",ZE="[object Object]",Kcr=Object.prototype,WUe=Kcr.hasOwnProperty;function Q$e(t,e,r,n,i,a){var s=ti(t),o=ti(e),l=s?GUe:C4(t),u=o?GUe:C4(e);l=l==VUe?ZE:l,u=u==VUe?ZE:u;var d=l==ZE,h=u==ZE,f=l==u;if(f&&sC(t)){if(!sC(e))return!1;s=!0,d=!1}if(f&&!d)return a||(a=new bw),s||aie(t)?Y$e(t,e,r,n,i,a):Gcr(t,e,l,r,n,i,a);if(!(r&Xcr)){var p=d&&WUe.call(t,"__wrapped__"),g=h&&WUe.call(e,"__wrapped__");if(p||g){var m=p?t.value():t,U=g?e.value():e;return a||(a=new bw),i(m,U,r,n,a)}}return f?(a||(a=new bw),Ycr(t,e,r,n,i,a)):!1}R(Q$e,"baseIsEqualDeep");var Zcr=Q$e;function Uie(t,e,r,n,i){return t===e?!0:t==null||e==null||!qd(t)&&!qd(e)?t!==t&&e!==e:Zcr(t,e,r,n,Uie,i)}R(Uie,"baseIsEqual");var eFe=Uie,Jcr=1,Qcr=2;function tFe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var o=r[i];if(s&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i<a;){o=r[i];var l=o[0],u=t[l],d=o[1];if(s&&o[2]){if(u===void 0&&!(l in t))return!1}else{var h=new bw;if(n)var f=n(u,d,l,t,e,h);if(!(f===void 0?eFe(d,u,Jcr|Qcr,n,h):f))return!1}}return!0}R(tFe,"baseIsMatch");var eur=tFe;function rFe(t){return t===t&&!Yu(t)}R(rFe,"isStrictComparable");var nFe=rFe;function iFe(t){for(var e=nu(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,nFe(i)]}return e}R(iFe,"getMatchData");var tur=iFe;function aFe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}R(aFe,"matchesStrictComparable");var sFe=aFe;function oFe(t){var e=tur(t);return e.length==1&&e[0][2]?sFe(e[0][0],e[0][1]):function(r){return r===t||eur(r,t,e)}}R(oFe,"baseMatches");var rur=oFe;function lFe(t,e){return t!=null&&e in Object(t)}R(lFe,"baseHasIn");var nur=lFe;function cFe(t,e,r){e=M_(e,t);for(var n=-1,i=e.length,a=!1;++n<i;){var s=KS(e[n]);if(!(a=t!=null&&r(t,s)))break;t=t[s]}return a||++n!=i?a:(i=t==null?0:t.length,!!i&&iie(i)&&b_(s,i)&&(ti(t)||w_(t)))}R(cFe,"hasPath");var uFe=cFe;function dFe(t,e){return t!=null&&uFe(t,e,nur)}R(dFe,"hasIn");var iur=dFe,aur=1,sur=2;function hFe(t,e){return sie(t)&&nFe(e)?sFe(KS(t),e):function(r){var n=_or(r,t);return n===void 0&&n===e?iur(r,t):eFe(e,n,aur|sur)}}R(hFe,"baseMatchesProperty");var our=hFe;function fFe(t){return function(e){return e==null?void 0:e[t]}}R(fFe,"baseProperty");var lur=fFe;function pFe(t){return function(e){return oie(e,t)}}R(pFe,"basePropertyDeep");var cur=pFe;function gFe(t){return sie(t)?lur(KS(t)):cur(t)}R(gFe,"property");var uur=gFe;function mFe(t){return typeof t=="function"?t:t==null?WS:typeof t=="object"?ti(t)?our(t[0],t[1]):rur(t):uur(t)}R(mFe,"baseIteratee");var vf=mFe;function UFe(t,e,r,n){for(var i=-1,a=t==null?0:t.length;++i<a;){var s=t[i];e(n,s,r(s),t)}return n}R(UFe,"arrayAggregator");var dur=UFe;function yFe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),o=s.length;o--;){var l=s[t?o:++i];if(r(a[l],l,a)===!1)break}return e}}R(yFe,"createBaseFor");var hur=yFe,fur=hur(),pur=fur;function bFe(t,e){return t&&pur(t,e,nu)}R(bFe,"baseForOwn");var gur=bFe;function vFe(t,e){return function(r,n){if(r==null)return r;if(!bf(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a<i)&&n(s[a],a,s)!==!1;);return r}}R(vFe,"createBaseEach");var mur=vFe,Uur=mur(gur),Z5=Uur;function xFe(t,e,r,n){return Z5(t,function(i,a,s){e(n,i,r(i),s)}),n}R(xFe,"baseAggregator");var yur=xFe;function wFe(t,e){return function(r,n){var i=ti(r)?dur:yur,a=e?e():{};return i(r,t,vf(n),a)}}R(wFe,"createAggregator");var bur=wFe,TFe=Object.prototype,vur=TFe.hasOwnProperty,xur=nie(function(t,e){t=Object(t);var r=-1,n=e.length,i=n>2?e[2]:void 0;for(i&&x_(e[0],e[1],i)&&(n=1);++r<n;)for(var a=e[r],s=T_(a),o=-1,l=s.length;++o<l;){var u=s[o],d=t[u];(d===void 0||qS(d,TFe[u])&&!vur.call(t,u))&&(t[u]=a[u])}return t}),yie=xur;function CFe(t){return qd(t)&&bf(t)}R(CFe,"isArrayLikeObject");var qUe=CFe;function SFe(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}R(SFe,"arrayIncludesWith");var kFe=SFe,wur=200;function EFe(t,e,r,n){var i=-1,a=J_e,s=!0,o=t.length,l=[],u=e.length;if(!o)return l;r&&(e=VS(e,XS(r))),n?(a=kFe,s=!1):e.length>=wur&&(a=gie,s=!1,e=new pie(e));e:for(;++i<o;){var d=t[i],h=r==null?d:r(d);if(d=n||d!==0?d:0,s&&h===h){for(var f=u;f--;)if(e[f]===h)continue e;l.push(d)}else a(e,h,n)||l.push(d)}return l}R(EFe,"baseDifference");var Tur=EFe,Cur=nie(function(t,e){return qUe(t)?Tur(t,uie(e,1,qUe,!0)):[]}),R_=Cur;function AFe(t){var e=t==null?0:t.length;return e?t[e-1]:void 0}R(AFe,"last");var p5=AFe;function MFe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:GS(e),a$e(t,e<0?0:e,n)):[]}R(MFe,"drop");var To=MFe;function RFe(t,e,r){var n=t==null?0:t.length;return n?(e=r||e===void 0?1:GS(e),e=n-e,a$e(t,0,e<0?0:e)):[]}R(RFe,"dropRight");var uC=RFe;function IFe(t){return typeof t=="function"?t:WS}R(IFe,"castFunction");var Sur=IFe;function LFe(t,e){var r=ti(t)?W_e:Z5;return r(t,Sur(e))}R(LFe,"forEach");var tn=LFe;function NFe(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(!e(t[r],r,t))return!1;return!0}R(NFe,"arrayEvery");var kur=NFe;function OFe(t,e){var r=!0;return Z5(t,function(n,i,a){return r=!!e(n,i,a),r}),r}R(OFe,"baseEvery");var Eur=OFe;function DFe(t,e,r){var n=ti(t)?kur:Eur;return r&&x_(t,e,r)&&(e=void 0),n(t,vf(e))}R(DFe,"every");var $d=DFe;function PFe(t,e){var r=[];return Z5(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}R(PFe,"baseFilter");var _Fe=PFe;function BFe(t,e){var r=ti(t)?die:_Fe;return r(t,vf(e))}R(BFe,"filter");var Ju=BFe;function $Fe(t){return function(e,r,n){var i=Object(e);if(!bf(e)){var a=vf(r);e=nu(e),r=R(function(o){return a(i[o],o,i)},"predicate")}var s=t(e,r,n);return s>-1?i[a?e[s]:s]:void 0}}R($Fe,"createFind");var Aur=$Fe,Mur=Math.max;function FFe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:GS(r);return i<0&&(i=Mur(n+i,0)),j_e(t,vf(e),i)}R(FFe,"findIndex");var Rur=FFe,Iur=Aur(Rur),S4=Iur;function zFe(t){return t&&t.length?t[0]:void 0}R(zFe,"head");var jd=zFe;function HFe(t,e){var r=-1,n=bf(t)?Array(t.length):[];return Z5(t,function(i,a,s){n[++r]=e(i,a,s)}),n}R(HFe,"baseMap");var Lur=HFe;function VFe(t,e){var r=ti(t)?VS:Lur;return r(t,vf(e))}R(VFe,"map");var Ir=VFe;function GFe(t,e){return uie(Ir(t,e),1)}R(GFe,"flatMap");var zu=GFe,Nur=Object.prototype,Our=Nur.hasOwnProperty,Dur=bur(function(t,e,r){Our.call(t,r)?t[r].push(e):rie(t,r,[e])}),Pur=Dur,_ur=Object.prototype,Bur=_ur.hasOwnProperty;function WFe(t,e){return t!=null&&Bur.call(t,e)}R(WFe,"baseHas");var $ur=WFe;function qFe(t,e){return t!=null&&uFe(t,e,$ur)}R(qFe,"has");var Xr=qFe,Fur="[object String]";function jFe(t){return typeof t=="string"||!ti(t)&&qd(t)&&$1(t)==Fur}R(jFe,"isString");var kc=jFe;function YFe(t,e){return VS(e,function(r){return t[r]})}R(YFe,"baseValues");var zur=YFe;function XFe(t){return t==null?[]:zur(t,nu(t))}R(XFe,"values");var Es=XFe,Hur=Math.max;function KFe(t,e,r,n){t=bf(t)?t:Es(t),r=r&&!n?GS(r):0;var i=t.length;return r<0&&(r=Hur(i+r,0)),kc(t)?r<=i&&t.indexOf(e,r)>-1:!!i&&tie(t,e,r)>-1}R(KFe,"includes");var tc=KFe,Vur=Math.max;function ZFe(t,e,r){var n=t==null?0:t.length;if(!n)return-1;var i=r==null?0:GS(r);return i<0&&(i=Vur(n+i,0)),tie(t,e,i)}R(ZFe,"indexOf");var jUe=ZFe,Gur="[object Map]",Wur="[object Set]",qur=Object.prototype,jur=qur.hasOwnProperty;function JFe(t){if(t==null)return!0;if(bf(t)&&(ti(t)||typeof t=="string"||typeof t.splice=="function"||sC(t)||aie(t)||w_(t)))return!t.length;var e=C4(t);if(e==Gur||e==Wur)return!t.size;if(YS(t))return!CBe(t).length;for(var r in t)if(jur.call(t,r))return!1;return!0}R(JFe,"isEmpty");var Gi=JFe,Yur="[object RegExp]";function QFe(t){return qd(t)&&$1(t)==Yur}R(QFe,"baseIsRegExp");var Xur=QFe,YUe=u1&&u1.isRegExp,Kur=YUe?XS(YUe):Xur,q0=Kur;function eze(t){return t===void 0}R(eze,"isUndefined");var j0=eze,Zur="Expected a function";function tze(t){if(typeof t!="function")throw new TypeError(Zur);return function(){var e=arguments;switch(e.length){case 0:return!t.call(this);case 1:return!t.call(this,e[0]);case 2:return!t.call(this,e[0],e[1]);case 3:return!t.call(this,e[0],e[1],e[2])}return!t.apply(this,e)}}R(tze,"negate");var Jur=tze;function rze(t,e,r,n){if(!Yu(t))return t;e=M_(e,t);for(var i=-1,a=e.length,s=a-1,o=t;o!=null&&++i<a;){var l=KS(e[i]),u=r;if(l==="__proto__"||l==="constructor"||l==="prototype")return t;if(i!=s){var d=o[l];u=n?n(d,l,o):void 0,u===void 0&&(u=Yu(d)?d:b_(e[i+1])?[]:{})}v_(o,l,u),o=o[l]}return t}R(rze,"baseSet");var Qur=rze;function nze(t,e,r){for(var n=-1,i=e.length,a={};++n<i;){var s=e[n],o=oie(t,s);r(o,s)&&Qur(a,M_(s,t),o)}return a}R(nze,"basePickBy");var edr=nze;function ize(t,e){if(t==null)return{};var r=VS(k$e(t),function(n){return[n]});return e=vf(e),edr(t,r,function(n,i){return e(n,i[0])})}R(ize,"pickBy");var eh=ize;function aze(t,e,r,n,i){return i(t,function(a,s,o){r=n?(n=!1,a):e(r,a,s,o)}),r}R(aze,"baseReduce");var tdr=aze;function sze(t,e,r){var n=ti(t)?For:tdr,i=arguments.length<3;return n(t,vf(e),r,i,Z5)}R(sze,"reduce");var au=sze;function oze(t,e){var r=ti(t)?die:_Fe;return r(t,Jur(vf(e)))}R(oze,"reject");var I_=oze;function lze(t,e){var r;return Z5(t,function(n,i,a){return r=e(n,i,a),!r}),!!r}R(lze,"baseSome");var rdr=lze;function cze(t,e,r){var n=ti(t)?W$e:rdr;return r&&x_(t,e,r)&&(e=void 0),n(t,vf(e))}R(cze,"some");var uze=cze,ndr=1/0,idr=Sb&&1/mie(new Sb([,-0]))[1]==ndr?function(t){return new Sb(t)}:Vs,adr=idr,sdr=200;function dze(t,e,r){var n=-1,i=J_e,a=t.length,s=!0,o=[],l=o;if(r)s=!1,i=kFe;else if(a>=sdr){var u=e?null:adr(t);if(u)return mie(u);s=!1,i=gie,l=new pie}else l=e?[]:o;e:for(;++n<a;){var d=t[n],h=e?e(d):d;if(d=r||d!==0?d:0,s&&h===h){for(var f=l.length;f--;)if(l[f]===h)continue e;e&&l.push(h),o.push(d)}else i(l,h,r)||(l!==o&&l.push(h),o.push(d))}return o}R(dze,"baseUniq");var odr=dze;function hze(t){return t&&t.length?odr(t):[]}R(hze,"uniq");var bie=hze;function $N(t){console&&console.error&&console.error(`Error: ${t}`)}R($N,"PRINT_ERROR");function vie(t){console&&console.warn&&console.warn(`Warning: ${t}`)}R(vie,"PRINT_WARNING");function xie(t){const e=new Date().getTime(),r=t();return{time:new Date().getTime()-e,value:r}}R(xie,"timer");function wie(t){function e(){}R(e,"FakeConstructor"),e.prototype=t;const r=new e;function n(){return typeof r.bar}return R(n,"fakeAccess"),n(),n(),t}R(wie,"toFastProperties");function fze(t){return pze(t)?t.LABEL:t.name}R(fze,"tokenLabel");function pze(t){return kc(t.LABEL)&&t.LABEL!==""}R(pze,"hasTokenLabel");var i6,xf=(i6=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),tn(this.definition,r=>{r.accept(e)})}},R(i6,"AbstractProduction"),i6),a6,ql=(a6=class extends xf{constructor(e){super([]),this.idx=1,iu(this,eh(e,r=>r!==void 0))}set definition(e){}get definition(){return this.referencedRule!==void 0?this.referencedRule.definition:[]}accept(e){e.visit(this)}},R(a6,"NonTerminal"),a6),s6,w3=(s6=class extends xf{constructor(e){super(e.definition),this.orgText="",iu(this,eh(e,r=>r!==void 0))}},R(s6,"Rule"),s6),o6,Ec=(o6=class extends xf{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,iu(this,eh(e,r=>r!==void 0))}},R(o6,"Alternative"),o6),l6,Oo=(l6=class extends xf{constructor(e){super(e.definition),this.idx=1,iu(this,eh(e,r=>r!==void 0))}},R(l6,"Option"),l6),c6,du=(c6=class extends xf{constructor(e){super(e.definition),this.idx=1,iu(this,eh(e,r=>r!==void 0))}},R(c6,"RepetitionMandatory"),c6),u6,hu=(u6=class extends xf{constructor(e){super(e.definition),this.idx=1,iu(this,eh(e,r=>r!==void 0))}},R(u6,"RepetitionMandatoryWithSeparator"),u6),d6,za=(d6=class extends xf{constructor(e){super(e.definition),this.idx=1,iu(this,eh(e,r=>r!==void 0))}},R(d6,"Repetition"),d6),h6,Rc=(h6=class extends xf{constructor(e){super(e.definition),this.idx=1,iu(this,eh(e,r=>r!==void 0))}},R(h6,"RepetitionWithSeparator"),h6),f6,Ic=(f6=class extends xf{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,iu(this,eh(e,r=>r!==void 0))}},R(f6,"Alternation"),f6),p6,ea=(p6=class{constructor(e){this.idx=1,iu(this,eh(e,r=>r!==void 0))}accept(e){e.visit(this)}},R(p6,"Terminal"),p6);function gze(t){return Ir(t,xw)}R(gze,"serializeGrammar");function xw(t){function e(r){return Ir(r,xw)}if(R(e,"convertDefinition"),t instanceof ql){const r={type:"NonTerminal",name:t.nonTerminalName,idx:t.idx};return kc(t.label)&&(r.label=t.label),r}else{if(t instanceof Ec)return{type:"Alternative",definition:e(t.definition)};if(t instanceof Oo)return{type:"Option",idx:t.idx,definition:e(t.definition)};if(t instanceof du)return{type:"RepetitionMandatory",idx:t.idx,definition:e(t.definition)};if(t instanceof hu)return{type:"RepetitionMandatoryWithSeparator",idx:t.idx,separator:xw(new ea({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof Rc)return{type:"RepetitionWithSeparator",idx:t.idx,separator:xw(new ea({terminalType:t.separator})),definition:e(t.definition)};if(t instanceof za)return{type:"Repetition",idx:t.idx,definition:e(t.definition)};if(t instanceof Ic)return{type:"Alternation",idx:t.idx,definition:e(t.definition)};if(t instanceof ea){const r={type:"Terminal",name:t.terminalType.name,label:fze(t.terminalType),idx:t.idx};kc(t.label)&&(r.terminalLabel=t.label);const n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(r.pattern=q0(n)?n.source:n),r}else{if(t instanceof w3)return{type:"Rule",name:t.name,orgText:t.orgText,definition:e(t.definition)};throw Error("non exhaustive match")}}}R(xw,"serializeProduction");var g6,T3=(g6=class{visit(e){const r=e;switch(r.constructor){case ql:return this.visitNonTerminal(r);case Ec:return this.visitAlternative(r);case Oo:return this.visitOption(r);case du:return this.visitRepetitionMandatory(r);case hu:return this.visitRepetitionMandatoryWithSeparator(r);case Rc:return this.visitRepetitionWithSeparator(r);case za:return this.visitRepetition(r);case Ic:return this.visitAlternation(r);case ea:return this.visitTerminal(r);case w3:return this.visitRule(r);default:throw Error("non exhaustive match")}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}},R(g6,"GAstVisitor"),g6);function mze(t){return t instanceof Ec||t instanceof Oo||t instanceof za||t instanceof du||t instanceof hu||t instanceof Rc||t instanceof ea||t instanceof w3}R(mze,"isSequenceProd");function dC(t,e=[]){return t instanceof Oo||t instanceof za||t instanceof Rc?!0:t instanceof Ic?uze(t.definition,n=>dC(n,e)):t instanceof ql&&tc(e,t)?!1:t instanceof xf?(t instanceof ql&&e.push(t),$d(t.definition,n=>dC(n,e))):!1}R(dC,"isOptionalProd");function Uze(t){return t instanceof Ic}R(Uze,"isBranchingProd");function md(t){if(t instanceof ql)return"SUBRULE";if(t instanceof Oo)return"OPTION";if(t instanceof Ic)return"OR";if(t instanceof du)return"AT_LEAST_ONE";if(t instanceof hu)return"AT_LEAST_ONE_SEP";if(t instanceof Rc)return"MANY_SEP";if(t instanceof za)return"MANY";if(t instanceof ea)return"CONSUME";throw Error("non exhaustive match")}R(md,"getProductionDslName");var m6,L_=(m6=class{walk(e,r=[]){tn(e.definition,(n,i)=>{const a=To(e.definition,i+1);if(n instanceof ql)this.walkProdRef(n,a,r);else if(n instanceof ea)this.walkTerminal(n,a,r);else if(n instanceof Ec)this.walkFlat(n,a,r);else if(n instanceof Oo)this.walkOption(n,a,r);else if(n instanceof du)this.walkAtLeastOne(n,a,r);else if(n instanceof hu)this.walkAtLeastOneSep(n,a,r);else if(n instanceof Rc)this.walkManySep(n,a,r);else if(n instanceof za)this.walkMany(n,a,r);else if(n instanceof Ic)this.walkOr(n,a,r);else throw Error("non exhaustive match")})}walkTerminal(e,r,n){}walkProdRef(e,r,n){}walkFlat(e,r,n){const i=r.concat(n);this.walk(e,i)}walkOption(e,r,n){const i=r.concat(n);this.walk(e,i)}walkAtLeastOne(e,r,n){const i=[new Oo({definition:e.definition})].concat(r,n);this.walk(e,i)}walkAtLeastOneSep(e,r,n){const i=SX(e,r,n);this.walk(e,i)}walkMany(e,r,n){const i=[new Oo({definition:e.definition})].concat(r,n);this.walk(e,i)}walkManySep(e,r,n){const i=SX(e,r,n);this.walk(e,i)}walkOr(e,r,n){const i=r.concat(n);tn(e.definition,a=>{const s=new Ec({definition:[a]});this.walk(s,i)})}},R(m6,"RestWalker"),m6);function SX(t,e,r){return[new Oo({definition:[new ea({terminalType:t.separator})].concat(t.definition)})].concat(e,r)}R(SX,"restForRepetitionWithSeparator");function C3(t){if(t instanceof ql)return C3(t.referencedRule);if(t instanceof ea)return vze(t);if(mze(t))return yze(t);if(Uze(t))return bze(t);throw Error("non exhaustive match")}R(C3,"first");function yze(t){let e=[];const r=t.definition;let n=0,i=r.length>n,a,s=!0;for(;i&&s;)a=r[n],s=dC(a),e=e.concat(C3(a)),n=n+1,i=r.length>n;return bie(e)}R(yze,"firstForSequence");function bze(t){const e=Ir(t.definition,r=>C3(r));return bie(Bd(e))}R(bze,"firstForBranching");function vze(t){return[t.terminalType]}R(vze,"firstForTerminal");var xze="_~IN~_",U6,ldr=(U6=class extends L_{constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,r,n){}walkProdRef(e,r,n){const i=Tze(e.referencedRule,e.idx)+this.topProd.name,a=r.concat(n),s=new Ec({definition:a}),o=C3(s);this.follows[i]=o}},R(U6,"ResyncFollowsWalker"),U6);function wze(t){const e={};return tn(t,r=>{const n=new ldr(r).startWalking();iu(e,n)}),e}R(wze,"computeAllProdsFollows");function Tze(t,e){return t.name+e+xze}R(Tze,"buildBetweenProdsFollowPrefix");var BM={},cdr=new t_e;function JS(t){const e=t.toString();if(BM.hasOwnProperty(e))return BM[e];{const r=cdr.pattern(e);return BM[e]=r,r}}R(JS,"getRegExpAst");function Cze(){BM={}}R(Cze,"clearRegExpParserCache");var Sze="Complement Sets are not supported for first char optimization",FN=`Unable to use "first char" lexer optimizations:
`;function kze(t,e=!1){try{const r=JS(t);return zN(r.value,{},r.flags.ignoreCase)}catch(r){if(r.message===Sze)e&&vie(`${FN} Unable to optimize: < ${t.toString()} >
Complement Sets cannot be automatically optimized.
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n="";e&&(n=`
This will disable the lexer's first char optimizations.
See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),$N(`${FN}
Failed parsing: < ${t.toString()} >
Using the @chevrotain/regexp-to-ast library
Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}R(kze,"getOptimizedStartCodesIndices");function zN(t,e,r){switch(t.type){case"Disjunction":for(let i=0;i<t.value.length;i++)zN(t.value[i],e,r);break;case"Alternative":const n=t.value;for(let i=0;i<n.length;i++){const a=n[i];switch(a.type){case"EndAnchor":case"GroupBackReference":case"Lookahead":case"NegativeLookahead":case"Lookbehind":case"NegativeLookbehind":case"StartAnchor":case"WordBoundary":case"NonWordBoundary":continue}const s=a;switch(s.type){case"Character":px(s.value,e,r);break;case"Set":if(s.complement===!0)throw Error(Sze);tn(s.value,l=>{if(typeof l=="number")px(l,e,r);else{const u=l;if(r===!0)for(let d=u.from;d<=u.to;d++)px(d,e,r);else{for(let d=u.from;d<=u.to&&d<mx;d++)px(d,e,r);if(u.to>=mx){const d=u.from>=mx?u.from:mx,h=u.to,f=Y0(d),p=Y0(h);for(let g=f;g<=p;g++)e[g]=g}}}});break;case"Group":zN(s.value,e,r);break;default:throw Error("Non Exhaustive Match")}const o=s.quantifier!==void 0&&s.quantifier.atLeast===0;if(s.type==="Group"&&HN(s)===!1||s.type!=="Group"&&o===!1)break}break;default:throw Error("non exhaustive match!")}return Es(e)}R(zN,"firstCharOptimizedIndices");function px(t,e,r){const n=Y0(t);e[n]=n,r===!0&&Eze(t,e)}R(px,"addOptimizedIdxToResult");function Eze(t,e){const r=String.fromCharCode(t),n=r.toUpperCase();if(n!==r){const i=Y0(n.charCodeAt(0));e[i]=i}else{const i=r.toLowerCase();if(i!==r){const a=Y0(i.charCodeAt(0));e[a]=a}}}R(Eze,"handleIgnoreCase");function kX(t,e){return S4(t.value,r=>{if(typeof r=="number")return tc(e,r);{const n=r;return S4(e,i=>n.from<=i&&i<=n.to)!==void 0}})}R(kX,"findCode");function HN(t){const e=t.quantifier;return e&&e.atLeast===0?!0:t.value?ti(t.value)?$d(t.value,HN):HN(t.value):!1}R(HN,"isWholeOptional");var y6,udr=(y6=class extends d_{constructor(e){super(),this.targetCharCodes=e,this.found=!1}visitChildren(e){if(this.found!==!0){switch(e.type){case"Lookahead":this.visitLookahead(e);return;case"NegativeLookahead":this.visitNegativeLookahead(e);return;case"Lookbehind":this.visitLookbehind(e);return;case"NegativeLookbehind":this.visitNegativeLookbehind(e);return}super.visitChildren(e)}}visitCharacter(e){tc(this.targetCharCodes,e.value)&&(this.found=!0)}visitSet(e){e.complement?kX(e,this.targetCharCodes)===void 0&&(this.found=!0):kX(e,this.targetCharCodes)!==void 0&&(this.found=!0)}},R(y6,"CharCodeFinder"),y6);function N_(t,e){if(e instanceof RegExp){const r=JS(e),n=new udr(t);return n.visit(r),n.found}else return S4(e,r=>tc(t,r.charCodeAt(0)))!==void 0}R(N_,"canMatchCharCode");var g5="PATTERN",gx="defaultMode",JE="modes";function Aze(t,e){e=yie(e,{debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",`
`],tracer:R((b,v)=>v(),"tracer")});const r=e.tracer;r("initCharCodeToOptimizedIndexMap",()=>{Xze()});let n;r("Reject Lexer.NA",()=>{n=I_(t,b=>b[g5]===Fl.NA)});let i=!1,a;r("Transform Patterns",()=>{i=!1,a=Ir(n,b=>{const v=b[g5];if(q0(v)){const w=v.source;return w.length===1&&w!=="^"&&w!=="$"&&w!=="."&&!v.ignoreCase?w:w.length===2&&w[0]==="\\"&&!tc(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],w[1])?w[1]:EX(v)}else{if(bp(v))return i=!0,{exec:v};if(typeof v=="object")return i=!0,v;if(typeof v=="string"){if(v.length===1)return v;{const w=v.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),T=new RegExp(w);return EX(T)}}else throw Error("non exhaustive match")}})});let s,o,l,u,d;r("misc mapping",()=>{s=Ir(n,b=>b.tokenTypeIdx),o=Ir(n,b=>{const v=b.GROUP;if(v!==Fl.SKIPPED){if(kc(v))return v;if(j0(v))return!1;throw Error("non exhaustive match")}}),l=Ir(n,b=>{const v=b.LONGER_ALT;if(v)return ti(v)?Ir(v,T=>jUe(n,T)):[jUe(n,v)]}),u=Ir(n,b=>b.PUSH_MODE),d=Ir(n,b=>Xr(b,"POP_MODE"))});let h;r("Line Terminator Handling",()=>{const b=Sie(e.lineTerminatorCharacters);h=Ir(n,v=>!1),e.positionTracking!=="onlyOffset"&&(h=Ir(n,v=>Xr(v,"LINE_BREAKS")?!!v.LINE_BREAKS:Cie(v,b)===!1&&N_(b,v.PATTERN)))});let f,p,g,m;r("Misc Mapping #2",()=>{f=Ir(n,Tie),p=Ir(a,jze),g=au(n,(b,v)=>{const w=v.GROUP;return kc(w)&&w!==Fl.SKIPPED&&(b[w]=[]),b},{}),m=Ir(a,(b,v)=>({pattern:a[v],longerAlt:l[v],canLineTerminator:h[v],isCustom:f[v],short:p[v],group:o[v],push:u[v],pop:d[v],tokenTypeIdx:s[v],tokenType:n[v]}))});let U=!0,y=[];return e.safeMode||r("First Char Optimization",()=>{y=au(n,(b,v,w)=>{if(typeof v.PATTERN=="string"){const T=v.PATTERN.charCodeAt(0),S=Y0(T);$M(b,S,m[w])}else if(ti(v.START_CHARS_HINT)){let T;tn(v.START_CHARS_HINT,S=>{const C=typeof S=="string"?S.charCodeAt(0):S,k=Y0(C);T!==k&&(T=k,$M(b,k,m[w]))})}else if(q0(v.PATTERN))if(v.PATTERN.unicode)U=!1,e.ensureOptimizations&&$N(`${FN} Unable to analyze < ${v.PATTERN.toString()} > pattern.
The regexp unicode flag is not currently supported by the regexp-to-ast library.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{const T=kze(v.PATTERN,e.ensureOptimizations);Gi(T)&&(U=!1),tn(T,S=>{$M(b,S,m[w])})}else e.ensureOptimizations&&$N(`${FN} TokenType: <${v.name}> is using a custom token pattern without providing <start_chars_hint> parameter.
This will disable the lexer's first char optimizations.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),U=!1;return b},[])}),{emptyGroups:g,patternIdxToConfig:m,charCodeToPatternIdxToConfig:y,hasCustom:i,canBeOptimized:U}}R(Aze,"analyzeTokenTypes");function Mze(t,e){let r=[];const n=Ize(t);r=r.concat(n.errors);const i=Lze(n.valid),a=i.valid;return r=r.concat(i.errors),r=r.concat(Rze(a)),r=r.concat(Bze(a)),r=r.concat($ze(a,e)),r=r.concat(Fze(a)),r}R(Mze,"validatePatterns");function Rze(t){let e=[];const r=Ju(t,n=>q0(n[g5]));return e=e.concat(Nze(r)),e=e.concat(Dze(r)),e=e.concat(Pze(r)),e=e.concat(_ze(r)),e=e.concat(Oze(r)),e}R(Rze,"validateRegExpPattern");function Ize(t){const e=Ju(t,i=>!Xr(i,g5)),r=Ir(e,i=>({message:"Token Type: ->"+i.name+"<- missing static 'PATTERN' property",type:Ha.MISSING_PATTERN,tokenTypes:[i]})),n=R_(t,e);return{errors:r,valid:n}}R(Ize,"findMissingPatterns");function Lze(t){const e=Ju(t,i=>{const a=i[g5];return!q0(a)&&!bp(a)&&!Xr(a,"exec")&&!kc(a)}),r=Ir(e,i=>({message:"Token Type: ->"+i.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:Ha.INVALID_PATTERN,tokenTypes:[i]})),n=R_(t,e);return{errors:r,valid:n}}R(Lze,"findInvalidPatterns");var ddr=/[^\\][$]/;function Nze(t){const i=class i extends d_{constructor(){super(...arguments),this.found=!1}visitEndAnchor(s){this.found=!0}};R(i,"EndAnchorFinder");let e=i;const r=Ju(t,a=>{const s=a.PATTERN;try{const o=JS(s),l=new e;return l.visit(o),l.found}catch{return ddr.test(s.source)}});return Ir(r,a=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain end of input anchor '$'
See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ha.EOI_ANCHOR_FOUND,tokenTypes:[a]}))}R(Nze,"findEndOfInputAnchor");function Oze(t){const e=Ju(t,n=>n.PATTERN.test(""));return Ir(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' must not match an empty string",type:Ha.EMPTY_MATCH_PATTERN,tokenTypes:[n]}))}R(Oze,"findEmptyMatchRegExps");var hdr=/[^\\[][\^]|^\^/;function Dze(t){const i=class i extends d_{constructor(){super(...arguments),this.found=!1}visitStartAnchor(s){this.found=!0}};R(i,"StartAnchorFinder");let e=i;const r=Ju(t,a=>{const s=a.PATTERN;try{const o=JS(s),l=new e;return l.visit(o),l.found}catch{return hdr.test(s.source)}});return Ir(r,a=>({message:`Unexpected RegExp Anchor Error:
Token Type: ->`+a.name+`<- static 'PATTERN' cannot contain start of input anchor '^'
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:Ha.SOI_ANCHOR_FOUND,tokenTypes:[a]}))}R(Dze,"findStartOfInputAnchor");function Pze(t){const e=Ju(t,n=>{const i=n[g5];return i instanceof RegExp&&(i.multiline||i.global)});return Ir(e,n=>({message:"Token Type: ->"+n.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:Ha.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[n]}))}R(Pze,"findUnsupportedFlags");function _ze(t){const e=[];let r=Ir(t,a=>au(t,(s,o)=>(a.PATTERN.source===o.PATTERN.source&&!tc(e,o)&&o.PATTERN!==Fl.NA&&(e.push(o),s.push(o)),s),[]));r=ZS(r);const n=Ju(r,a=>a.length>1);return Ir(n,a=>{const s=Ir(a,l=>l.name);return{message:`The same RegExp pattern ->${jd(a).PATTERN}<-has been used in all of the following Token Types: ${s.join(", ")} <-`,type:Ha.DUPLICATE_PATTERNS_FOUND,tokenTypes:a}})}R(_ze,"findDuplicatePatterns");function Bze(t){const e=Ju(t,n=>{if(!Xr(n,"GROUP"))return!1;const i=n.GROUP;return i!==Fl.SKIPPED&&i!==Fl.NA&&!kc(i)});return Ir(e,n=>({message:"Token Type: ->"+n.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:Ha.INVALID_GROUP_TYPE_FOUND,tokenTypes:[n]}))}R(Bze,"findInvalidGroupType");function $ze(t,e){const r=Ju(t,i=>i.PUSH_MODE!==void 0&&!tc(e,i.PUSH_MODE));return Ir(r,i=>({message:`Token Type: ->${i.name}<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->${i.PUSH_MODE}<-which does not exist`,type:Ha.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[i]}))}R($ze,"findModesThatDoNotExist");function Fze(t){const e=[],r=au(t,(n,i,a)=>{const s=i.PATTERN;return s===Fl.NA||(kc(s)?n.push({str:s,idx:a,tokenType:i}):q0(s)&&Hze(s)&&n.push({str:s.source,idx:a,tokenType:i})),n},[]);return tn(t,(n,i)=>{tn(r,({str:a,idx:s,tokenType:o})=>{if(i<s&&zze(a,n.PATTERN)){const l=`Token: ->${o.name}<- can never be matched.
Because it appears AFTER the Token Type ->${n.name}<-in the lexer's definition.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:l,type:Ha.UNREACHABLE_PATTERN,tokenTypes:[n,o]})}})}),e}R(Fze,"findUnreachablePatterns");function zze(t,e){if(q0(e)){if(Vze(e))return!1;const r=e.exec(t);return r!==null&&r.index===0}else{if(bp(e))return e(t,0,[],{});if(Xr(e,"exec"))return e.exec(t,0,[],{});if(typeof e=="string")return e===t;throw Error("non exhaustive match")}}R(zze,"tryToMatchStrToPattern");function Hze(t){return S4([".","\\","[","]","|","^","$","(",")","?","*","+","{"],r=>t.source.indexOf(r)!==-1)===void 0}R(Hze,"noMetaChar");function Vze(t){return/(\(\?=)|(\(\?!)|(\(\?<=)|(\(\?<!)/.test(t.source)}R(Vze,"usesLookAheadOrBehind");function EX(t){const e=t.ignoreCase?"iy":"y";return new RegExp(`${t.source}`,e)}R(EX,"addStickyFlag");function Gze(t,e,r){const n=[];return Xr(t,gx)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+gx+`> property in its definition
`,type:Ha.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),Xr(t,JE)||n.push({message:"A MultiMode Lexer cannot be initialized without a <"+JE+`> property in its definition
`,type:Ha.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),Xr(t,JE)&&Xr(t,gx)&&!Xr(t.modes,t.defaultMode)&&n.push({message:`A MultiMode Lexer cannot be initialized with a ${gx}: <${t.defaultMode}>which does not exist
`,type:Ha.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),Xr(t,JE)&&tn(t.modes,(i,a)=>{tn(i,(s,o)=>{if(j0(s))n.push({message:`A Lexer cannot be initialized using an undefined Token Type. Mode:<${a}> at index: <${o}>
`,type:Ha.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED});else if(Xr(s,"LONGER_ALT")){const l=ti(s.LONGER_ALT)?s.LONGER_ALT:[s.LONGER_ALT];tn(l,u=>{!j0(u)&&!tc(i,u)&&n.push({message:`A MultiMode Lexer cannot be initialized with a longer_alt <${u.name}> on token <${s.name}> outside of mode <${a}>
`,type:Ha.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE})})}})}),n}R(Gze,"performRuntimeChecks");function Wze(t,e,r){const n=[];let i=!1;const a=ZS(Bd(Es(t.modes))),s=I_(a,l=>l[g5]===Fl.NA),o=Sie(r);return e&&tn(s,l=>{const u=Cie(l,o);if(u!==!1){const h={message:Yze(l,u),type:u.issue,tokenType:l};n.push(h)}else Xr(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(i=!0):N_(o,l.PATTERN)&&(i=!0)}),e&&!i&&n.push({message:`Warning: No LINE_BREAKS Found.
This Lexer has been defined to track line and column information,
But none of the Token Types can be identified as matching a line terminator.
See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS
for details.`,type:Ha.NO_LINE_BREAKS_FLAGS}),n}R(Wze,"performWarningRuntimeChecks");function qze(t){const e={},r=nu(t);return tn(r,n=>{const i=t[n];if(ti(i))e[n]=[];else throw Error("non exhaustive match")}),e}R(qze,"cloneEmptyGroups");function Tie(t){const e=t.PATTERN;if(q0(e))return!1;if(bp(e))return!0;if(Xr(e,"exec"))return!0;if(kc(e))return!1;throw Error("non exhaustive match")}R(Tie,"isCustomPattern");function jze(t){return kc(t)&&t.length===1?t.charCodeAt(0):!1}R(jze,"isShortPattern");var fdr={test:R(function(t){const e=t.length;for(let r=this.lastIndex;r<e;r++){const n=t.charCodeAt(r);if(n===10)return this.lastIndex=r+1,!0;if(n===13)return t.charCodeAt(r+1)===10?this.lastIndex=r+2:this.lastIndex=r+1,!0}return!1},"test"),lastIndex:0};function Cie(t,e){if(Xr(t,"LINE_BREAKS"))return!1;if(q0(t.PATTERN)){try{N_(e,t.PATTERN)}catch(r){return{issue:Ha.IDENTIFY_TERMINATOR,errMsg:r.message}}return!1}else{if(kc(t.PATTERN))return!1;if(Tie(t))return{issue:Ha.CUSTOM_LINE_BREAK};throw Error("non exhaustive match")}}R(Cie,"checkLineBreaksIssues");function Yze(t,e){if(e.issue===Ha.IDENTIFY_TERMINATOR)return`Warning: unable to identify line terminator usage in pattern.
The problem is in the <${t.name}> Token Type
Root cause: ${e.errMsg}.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR`;if(e.issue===Ha.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the <line_breaks> option.
The problem is in the <${t.name}> Token Type
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK`;throw Error("non exhaustive match")}R(Yze,"buildLineBreakIssueMessage");function Sie(t){return Ir(t,r=>kc(r)?r.charCodeAt(0):r)}R(Sie,"getCharCodes");function $M(t,e,r){t[e]===void 0?t[e]=[r]:t[e].push(r)}R($M,"addToMapOfArrays");var mx=256,FM=[];function Y0(t){return t<mx?t:FM[t]}R(Y0,"charCodeToOptimizedIndex");function Xze(){if(Gi(FM)){FM=new Array(65536);for(let t=0;t<65536;t++)FM[t]=t>255?255+~~(t/255):t}}R(Xze,"initCharCodeToOptimizedIndexMap");function S3(t,e){const r=t.tokenTypeIdx;return r===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[r]===!0}R(S3,"tokenStructuredMatcher");function hC(t,e){return t.tokenTypeIdx===e.tokenTypeIdx}R(hC,"tokenStructuredMatcherNoCategories");var XUe=1,Kze={};function k3(t){const e=Zze(t);Jze(e),eHe(e),Qze(e),tn(e,r=>{r.isParent=r.categoryMatches.length>0})}R(k3,"augmentTokenTypes");function Zze(t){let e=Po(t),r=t,n=!0;for(;n;){r=ZS(Bd(Ir(r,a=>a.CATEGORIES)));const i=R_(r,e);e=e.concat(i),Gi(i)?n=!1:r=i}return e}R(Zze,"expandCategories");function Jze(t){tn(t,e=>{Eie(e)||(Kze[XUe]=e,e.tokenTypeIdx=XUe++),AX(e)&&!ti(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),AX(e)||(e.CATEGORIES=[]),tHe(e)||(e.categoryMatches=[]),rHe(e)||(e.categoryMatchesMap={})})}R(Jze,"assignTokenDefaultProps");function Qze(t){tn(t,e=>{e.categoryMatches=[],tn(e.categoryMatchesMap,(r,n)=>{e.categoryMatches.push(Kze[n].tokenTypeIdx)})})}R(Qze,"assignCategoriesTokensProp");function eHe(t){tn(t,e=>{kie([],e)})}R(eHe,"assignCategoriesMapProp");function kie(t,e){tn(t,r=>{e.categoryMatchesMap[r.tokenTypeIdx]=!0}),tn(e.CATEGORIES,r=>{const n=t.concat(e);tc(n,r)||kie(n,r)})}R(kie,"singleAssignCategoriesToksMap");function Eie(t){return Xr(t,"tokenTypeIdx")}R(Eie,"hasShortKeyProperty");function AX(t){return Xr(t,"CATEGORIES")}R(AX,"hasCategoriesProperty");function tHe(t){return Xr(t,"categoryMatches")}R(tHe,"hasExtendingTokensTypesProperty");function rHe(t){return Xr(t,"categoryMatchesMap")}R(rHe,"hasExtendingTokensTypesMapProperty");function nHe(t){return Xr(t,"tokenTypeIdx")}R(nHe,"isTokenType");var MX={buildUnableToPopLexerModeMessage(t){return`Unable to pop Lexer Mode after encountering Token ->${t.image}<- The Mode Stack is empty`},buildUnexpectedCharactersMessage(t,e,r,n,i,a){return`unexpected character: ->${t.charAt(e)}<- at offset: ${e}, skipped ${r} characters.`}},Ha;(function(t){t[t.MISSING_PATTERN=0]="MISSING_PATTERN",t[t.INVALID_PATTERN=1]="INVALID_PATTERN",t[t.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",t[t.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",t[t.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",t[t.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",t[t.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",t[t.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",t[t.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",t[t.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",t[t.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",t[t.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",t[t.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",t[t.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",t[t.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",t[t.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",t[t.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK",t[t.MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE=17]="MULTI_MODE_LEXER_LONGER_ALT_NOT_IN_CURRENT_MODE"})(Ha||(Ha={}));var Ux={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[`
`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:MX,traceInitPerf:!1,skipValidations:!1,recoveryEnabled:!0};Object.freeze(Ux);var b6,Fl=(b6=class{constructor(e,r=Ux){if(this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},this.TRACE_INIT=(i,a)=>{if(this.traceInitPerf===!0){this.traceInitIndent++;const s=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${s}--> <${i}>`);const{time:o,value:l}=xie(a),u=o>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&u(`${s}<-- <${i}> time: ${o}ms`),this.traceInitIndent--,l}else return a()},typeof r=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object.
a boolean 2nd argument is no longer supported`);this.config=iu({},Ux,r);const n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",()=>{let i,a=!0;this.TRACE_INIT("Lexer Config handling",()=>{if(this.config.lineTerminatorsPattern===Ux.lineTerminatorsPattern)this.config.lineTerminatorsPattern=fdr;else if(this.config.lineTerminatorCharacters===Ux.lineTerminatorCharacters)throw Error(`Error: Missing <lineTerminatorCharacters> property on the Lexer config.
For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(r.safeMode&&r.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');this.trackStartLines=/full|onlyStart/i.test(this.config.positionTracking),this.trackEndLines=/full/i.test(this.config.positionTracking),ti(e)?i={modes:{defaultMode:Po(e)},defaultMode:gx}:(a=!1,i=Po(e))}),this.config.skipValidations===!1&&(this.TRACE_INIT("performRuntimeChecks",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Gze(i,this.trackStartLines,this.config.lineTerminatorCharacters))}),this.TRACE_INIT("performWarningRuntimeChecks",()=>{this.lexerDefinitionWarning=this.lexerDefinitionWarning.concat(Wze(i,this.trackStartLines,this.config.lineTerminatorCharacters))})),i.modes=i.modes?i.modes:{},tn(i.modes,(o,l)=>{i.modes[l]=I_(o,u=>j0(u))});const s=nu(i.modes);if(tn(i.modes,(o,l)=>{this.TRACE_INIT(`Mode: <${l}> processing`,()=>{if(this.modes.push(l),this.config.skipValidations===!1&&this.TRACE_INIT("validatePatterns",()=>{this.lexerDefinitionErrors=this.lexerDefinitionErrors.concat(Mze(o,s))}),Gi(this.lexerDefinitionErrors)){k3(o);let u;this.TRACE_INIT("analyzeTokenTypes",()=>{u=Aze(o,{lineTerminatorCharacters:this.config.lineTerminatorCharacters,positionTracking:r.positionTracking,ensureOptimizations:r.ensureOptimizations,safeMode:r.safeMode,tracer:this.TRACE_INIT})}),this.patternIdxToConfig[l]=u.patternIdxToConfig,this.charCodeToPatternIdxToConfig[l]=u.charCodeToPatternIdxToConfig,this.emptyGroups=iu({},this.emptyGroups,u.emptyGroups),this.hasCustom=u.hasCustom||this.hasCustom,this.canModeBeOptimized[l]=u.canBeOptimized}})}),this.defaultMode=i.defaultMode,!Gi(this.lexerDefinitionErrors)&&!this.config.deferDefinitionErrorsHandling){const l=Ir(this.lexerDefinitionErrors,u=>u.message).join(`-----------------------
`);throw new Error(`Errors detected in definition of Lexer:
`+l)}tn(this.lexerDefinitionWarning,o=>{vie(o.message)}),this.TRACE_INIT("Choosing sub-methods implementations",()=>{if(a&&(this.handleModes=Vs),this.trackStartLines===!1&&(this.computeNewColumn=WS),this.trackEndLines===!1&&(this.updateTokenEndLineColumnLocation=Vs),/full/i.test(this.config.positionTracking))this.createTokenInstance=this.createFullToken;else if(/onlyStart/i.test(this.config.positionTracking))this.createTokenInstance=this.createStartOnlyToken;else if(/onlyOffset/i.test(this.config.positionTracking))this.createTokenInstance=this.createOffsetOnlyToken;else throw Error(`Invalid <positionTracking> config option: "${this.config.positionTracking}"`);this.hasCustom?(this.addToken=this.addTokenUsingPush,this.handlePayload=this.handlePayloadWithCustom):(this.addToken=this.addTokenUsingMemberAccess,this.handlePayload=this.handlePayloadNoCustom)}),this.TRACE_INIT("Failed Optimization Warnings",()=>{const o=au(this.canModeBeOptimized,(l,u,d)=>(u===!1&&l.push(d),l),[]);if(r.ensureOptimizations&&!Gi(o))throw Error(`Lexer Modes: < ${o.join(", ")} > cannot be optimized.
Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode.
Or inspect the console log for details on how to resolve these issues.`)}),this.TRACE_INIT("clearRegExpParserCache",()=>{Cze()}),this.TRACE_INIT("toFastProperties",()=>{wie(this)})})}tokenize(e,r=this.defaultMode){if(!Gi(this.lexerDefinitionErrors)){const i=Ir(this.lexerDefinitionErrors,a=>a.message).join(`-----------------------
`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer:
`+i)}return this.tokenizeInternal(e,r)}tokenizeInternal(e,r){let n,i,a,s,o,l,u,d,h,f,p,g,m,U,y;const b=e,v=b.length;let w=0,T=0;const S=this.hasCustom?0:Math.floor(e.length/10),C=new Array(S),k=[];let E=this.trackStartLines?1:void 0,A=this.trackStartLines?1:void 0;const M=qze(this.emptyGroups),P=this.trackStartLines,N=this.config.lineTerminatorsPattern;let I=0,L=[],_=[];const D=[],O=[];Object.freeze(O);let B=!1;const F=R(V=>{if(D.length===1&&V.tokenType.PUSH_MODE===void 0){const G=this.config.errorMessageProvider.buildUnableToPopLexerModeMessage(V);k.push({offset:V.startOffset,line:V.startLine,column:V.startColumn,length:V.image.length,message:G})}else{D.pop();const G=p5(D);L=this.patternIdxToConfig[G],_=this.charCodeToPatternIdxToConfig[G],I=L.length;const K=this.canModeBeOptimized[G]&&this.config.safeMode===!1;_&&K?B=!0:B=!1}},"pop_mode");function z(V){D.push(V),_=this.charCodeToPatternIdxToConfig[V],L=this.patternIdxToConfig[V],I=L.length,I=L.length;const G=this.canModeBeOptimized[V]&&this.config.safeMode===!1;_&&G?B=!0:B=!1}R(z,"push_mode"),z.call(this,r);let $;const H=this.config.recoveryEnabled;for(;w<v;){l=null,h=-1;const V=b.charCodeAt(w);let G;if(B){const W=Y0(V),oe=_[W];G=oe!==void 0?oe:O}else G=L;const K=G.length;for(n=0;n<K;n++){$=G[n];const W=$.pattern;u=null;const oe=$.short;if(oe!==!1?V===oe&&(h=1,l=W):$.isCustom===!0?(y=W.exec(b,w,C,M),y!==null?(l=y[0],h=l.length,y.payload!==void 0&&(u=y.payload)):l=null):(W.lastIndex=w,h=this.matchLength(W,e,w)),h!==-1){if(o=$.longerAlt,o!==void 0){l=e.substring(w,w+h);const Z=o.length;for(a=0;a<Z;a++){const J=L[o[a]],ne=J.pattern;if(d=null,J.isCustom===!0?(y=ne.exec(b,w,C,M),y!==null?(s=y[0],y.payload!==void 0&&(d=y.payload)):s=null):(ne.lastIndex=w,s=this.match(ne,e,w)),s&&s.length>l.length){l=s,h=s.length,u=d,$=J;break}}}break}}if(h!==-1){if(f=$.group,f!==void 0&&(l=l!==null?l:e.substring(w,w+h),p=$.tokenTypeIdx,g=this.createTokenInstance(l,w,p,$.tokenType,E,A,h),this.handlePayload(g,u),f===!1?T=this.addToken(C,T,g):M[f].push(g)),P===!0&&$.canLineTerminator===!0){let W=0,oe,Z;N.lastIndex=0;do l=l!==null?l:e.substring(w,w+h),oe=N.test(l),oe===!0&&(Z=N.lastIndex-1,W++);while(oe===!0);W!==0?(E=E+W,A=h-Z,this.updateTokenEndLineColumnLocation(g,f,Z,W,E,A,h)):A=this.computeNewColumn(A,h)}else A=this.computeNewColumn(A,h);w=w+h,this.handleModes($,F,z,g)}else{const W=w,oe=E,Z=A;let J=H===!1;for(;J===!1&&w<v;)for(w++,i=0;i<I;i++){const ne=L[i],ie=ne.pattern,me=ne.short;if(me!==!1?b.charCodeAt(w)===me&&(J=!0):ne.isCustom===!0?J=ie.exec(b,w,C,M)!==null:(ie.lastIndex=w,J=ie.exec(e)!==null),J===!0)break}if(m=w-W,A=this.computeNewColumn(A,m),U=this.config.errorMessageProvider.buildUnexpectedCharactersMessage(b,W,m,oe,Z,p5(D)),k.push({offset:W,line:oe,column:Z,length:m,message:U}),H===!1)break}}return this.hasCustom||(C.length=T),{tokens:C,groups:M,errors:k}}handleModes(e,r,n,i){if(e.pop===!0){const a=e.push;r(i),a!==void 0&&n.call(this,a)}else e.push!==void 0&&n.call(this,e.push)}updateTokenEndLineColumnLocation(e,r,n,i,a,s,o){let l,u;r!==void 0&&(l=n===o-1,u=l?-1:0,i===1&&l===!0||(e.endLine=a+u,e.endColumn=s-1+-u))}computeNewColumn(e,r){return e+r}createOffsetOnlyToken(e,r,n,i){return{image:e,startOffset:r,tokenTypeIdx:n,tokenType:i}}createStartOnlyToken(e,r,n,i,a,s){return{image:e,startOffset:r,startLine:a,startColumn:s,tokenTypeIdx:n,tokenType:i}}createFullToken(e,r,n,i,a,s,o){return{image:e,startOffset:r,endOffset:r+o-1,startLine:a,endLine:a,startColumn:s,endColumn:s+o-1,tokenTypeIdx:n,tokenType:i}}addTokenUsingPush(e,r,n){return e.push(n),r}addTokenUsingMemberAccess(e,r,n){return e[r]=n,r++,r}handlePayloadNoCustom(e,r){}handlePayloadWithCustom(e,r){r!==null&&(e.payload=r)}match(e,r,n){return e.test(r)===!0?r.substring(n,e.lastIndex):null}matchLength(e,r,n){return e.test(r)===!0?e.lastIndex-n:-1}},R(b6,"Lexer"),b6);Fl.SKIPPED="This marks a skipped Token pattern, this means each token identified by it will be consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.";Fl.NA=/NOT_APPLICABLE/;function NU(t){return Aie(t)?t.LABEL:t.name}R(NU,"tokenLabel");function Aie(t){return kc(t.LABEL)&&t.LABEL!==""}R(Aie,"hasTokenLabel");var pdr="parent",KUe="categories",ZUe="label",JUe="group",QUe="push_mode",e5e="pop_mode",t5e="longer_alt",r5e="line_breaks",n5e="start_chars_hint";function kb(t){return iHe(t)}R(kb,"createToken");function iHe(t){const e=t.pattern,r={};if(r.name=t.name,j0(e)||(r.PATTERN=e),Xr(t,pdr))throw`The parent property is no longer supported.
See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return Xr(t,KUe)&&(r.CATEGORIES=t[KUe]),k3([r]),Xr(t,ZUe)&&(r.LABEL=t[ZUe]),Xr(t,JUe)&&(r.GROUP=t[JUe]),Xr(t,e5e)&&(r.POP_MODE=t[e5e]),Xr(t,QUe)&&(r.PUSH_MODE=t[QUe]),Xr(t,t5e)&&(r.LONGER_ALT=t[t5e]),Xr(t,r5e)&&(r.LINE_BREAKS=t[r5e]),Xr(t,n5e)&&(r.START_CHARS_HINT=t[n5e]),r}R(iHe,"createTokenInternal");var d1=kb({name:"EOF",pattern:Fl.NA});k3([d1]);function QS(t,e,r,n,i,a,s,o){return{image:e,startOffset:r,endOffset:n,startLine:i,endLine:a,startColumn:s,endColumn:o,tokenTypeIdx:t.tokenTypeIdx,tokenType:t}}R(QS,"createTokenInstance");function Mie(t,e){return S3(t,e)}R(Mie,"tokenMatcher");var K2={buildMismatchTokenMessage({expected:t,actual:e,previous:r,ruleName:n}){return`Expecting ${Aie(t)?`--> ${NU(t)} <--`:`token of type --> ${t.name} <--`} but found --> '${e.image}' <--`},buildNotAllInputParsedMessage({firstRedundant:t,ruleName:e}){return"Redundant input, expecting EOF but found: "+t.image},buildNoViableAltMessage({expectedPathsPerAlt:t,actual:e,previous:r,customUserDescription:n,ruleName:i}){const a="Expecting: ",o=`
but found: '`+jd(e).image+"'";if(n)return a+n+o;{const l=au(t,(f,p)=>f.concat(p),[]),u=Ir(l,f=>`[${Ir(f,p=>NU(p)).join(", ")}]`),h=`one of these possible Token sequences:
${Ir(u,(f,p)=>` ${p+1}. ${f}`).join(`
`)}`;return a+h+o}},buildEarlyExitMessage({expectedIterationPaths:t,actual:e,customUserDescription:r,ruleName:n}){const i="Expecting: ",s=`
but found: '`+jd(e).image+"'";if(r)return i+r+s;{const l=`expecting at least one iteration which starts with one of these possible Token sequences::
<${Ir(t,u=>`[${Ir(u,d=>NU(d)).join(",")}]`).join(" ,")}>`;return i+l+s}}};Object.freeze(K2);var gdr={buildRuleNotFoundError(t,e){return"Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<-
inside top level rule: ->`+t.name+"<-"}},yU={buildDuplicateFoundError(t,e){function r(d){return d instanceof ea?d.terminalType.name:d instanceof ql?d.nonTerminalName:""}R(r,"getExtraProductionArgument");const n=t.name,i=jd(e),a=i.idx,s=md(i),o=r(i),l=a>0;let u=`->${s}${l?a:""}<- ${o?`with argument: ->${o}<-`:""}
appears more than once (${e.length} times) in the top level rule: ->${n}<-.
For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES
`;return u=u.replace(/[ \t]+/g," "),u=u.replace(/\s\s+/g,`
`),u},buildNamespaceConflictError(t){return`Namespace conflict found in grammar.
The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <${t.name}>.
To resolve this make sure each Terminal and Non-Terminal names are unique
This is easy to accomplish by using the convention that Terminal names start with an uppercase letter
and Non-Terminal names start with a lower case letter.`},buildAlternationPrefixAmbiguityError(t){const e=Ir(t.prefixPath,i=>NU(i)).join(", "),r=t.alternation.idx===0?"":t.alternation.idx;return`Ambiguous alternatives: <${t.ambiguityIndices.join(" ,")}> due to common lookahead prefix
in <OR${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX
For Further details.`},buildAlternationAmbiguityError(t){const e=t.alternation.idx===0?"":t.alternation.idx,r=t.prefixPath.length===0;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(" ,")}> in <OR${e}> inside <${t.topLevelRule.name}> Rule,
`;if(r)n+=`These alternatives are all empty (match no tokens), making them indistinguishable.
Only the last alternative may be empty.
`;else{const i=Ir(t.prefixPath,a=>NU(a)).join(", ");n+=`<${i}> may appears as a prefix path in all these alternatives.
`}return n+=`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n},buildEmptyRepetitionError(t){let e=md(t.repetition);return t.repetition.idx!==0&&(e+=t.repetition.idx),`The repetition <${e}> within Rule <${t.topLevelRule.name}> can never consume any tokens.
This could lead to an infinite loop.`},buildTokenNameError(t){return"deprecated"},buildEmptyAlternationError(t){return`Ambiguous empty alternative: <${t.emptyChoiceIdx+1}> in <OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
Only the last alternative may be an empty alternative.`},buildTooManyAlternativesError(t){return`An Alternation cannot have more than 256 alternatives:
<OR${t.alternation.idx}> inside <${t.topLevelRule.name}> Rule.
has ${t.alternation.definition.length+1} alternatives.`},buildLeftRecursionError(t){const e=t.topLevelRule.name,r=Ir(t.leftRecursionPath,a=>a.name),n=`${e} --> ${r.concat([e]).join(" --> ")}`;return`Left Recursion found in grammar.
rule: <${e}> can be invoked from itself (directly or indirectly)
without consuming any Tokens. The grammar path that causes this is:
${n}
To fix this refactor your grammar to remove the left recursion.
see: https://en.wikipedia.org/wiki/LL_parser#Left_factoring.`},buildInvalidRuleNameError(t){return"deprecated"},buildDuplicateRuleNameError(t){let e;return t.topLevelRule instanceof w3?e=t.topLevelRule.name:e=t.topLevelRule,`Duplicate definition, rule: ->${e}<- is already defined in the grammar: ->${t.grammarName}<-`}};function aHe(t,e){const r=new mdr(t,e);return r.resolveRefs(),r.errors}R(aHe,"resolveGrammar");var v6,mdr=(v6=class extends T3{constructor(e,r){super(),this.nameToTopRule=e,this.errMsgProvider=r,this.errors=[]}resolveRefs(){tn(Es(this.nameToTopRule),e=>{this.currTopLevel=e,e.accept(this)})}visitNonTerminal(e){const r=this.nameToTopRule[e.nonTerminalName];if(r)e.referencedRule=r;else{const n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,e);this.errors.push({message:n,type:jl.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:e.nonTerminalName})}}},R(v6,"GastRefResolverVisitor"),v6),x6,Udr=(x6=class extends L_{constructor(e,r){super(),this.topProd=e,this.path=r,this.possibleTokTypes=[],this.nextProductionName="",this.nextProductionOccurrence=0,this.found=!1,this.isAtEndOfPath=!1}startWalking(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=Po(this.path.ruleStack).reverse(),this.occurrenceStack=Po(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes}walk(e,r=[]){this.found||super.walk(e,r)}walkProdRef(e,r,n){if(e.referencedRule.name===this.nextProductionName&&e.idx===this.nextProductionOccurrence){const i=r.concat(n);this.updateExpectedNext(),this.walk(e.referencedRule,i)}}updateExpectedNext(){Gi(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())}},R(x6,"AbstractNextPossibleTokensWalker"),x6),w6,ydr=(w6=class extends Udr{constructor(e,r){super(e,r),this.path=r,this.nextTerminalName="",this.nextTerminalOccurrence=0,this.nextTerminalName=this.path.lastTok.name,this.nextTerminalOccurrence=this.path.lastTokOccurrence}walkTerminal(e,r,n){if(this.isAtEndOfPath&&e.terminalType.name===this.nextTerminalName&&e.idx===this.nextTerminalOccurrence&&!this.found){const i=r.concat(n),a=new Ec({definition:i});this.possibleTokTypes=C3(a),this.found=!0}}},R(w6,"NextAfterTokenWalker"),w6),T6,O_=(T6=class extends L_{constructor(e,r){super(),this.topRule=e,this.occurrence=r,this.result={token:void 0,occurrence:void 0,isEndOfRule:void 0}}startWalking(){return this.walk(this.topRule),this.result}},R(T6,"AbstractNextTerminalAfterProductionWalker"),T6),C6,bdr=(C6=class extends O_{walkMany(e,r,n){if(e.idx===this.occurrence){const i=jd(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ea&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkMany(e,r,n)}},R(C6,"NextTerminalAfterManyWalker"),C6),S6,i5e=(S6=class extends O_{walkManySep(e,r,n){if(e.idx===this.occurrence){const i=jd(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ea&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkManySep(e,r,n)}},R(S6,"NextTerminalAfterManySepWalker"),S6),k6,vdr=(k6=class extends O_{walkAtLeastOne(e,r,n){if(e.idx===this.occurrence){const i=jd(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ea&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOne(e,r,n)}},R(k6,"NextTerminalAfterAtLeastOneWalker"),k6),E6,a5e=(E6=class extends O_{walkAtLeastOneSep(e,r,n){if(e.idx===this.occurrence){const i=jd(r.concat(n));this.result.isEndOfRule=i===void 0,i instanceof ea&&(this.result.token=i.terminalType,this.result.occurrence=i.idx)}else super.walkAtLeastOneSep(e,r,n)}},R(E6,"NextTerminalAfterAtLeastOneSepWalker"),E6);function VN(t,e,r=[]){r=Po(r);let n=[],i=0;function a(o){return o.concat(To(t,i+1))}R(a,"remainingPathWith");function s(o){const l=VN(a(o),e,r);return n.concat(l)}for(R(s,"getAlternativesForProd");r.length<e&&i<t.length;){const o=t[i];if(o instanceof Ec)return s(o.definition);if(o instanceof ql)return s(o.definition);if(o instanceof Oo)n=s(o.definition);else if(o instanceof du){const l=o.definition.concat([new za({definition:o.definition})]);return s(l)}else if(o instanceof hu){const l=[new Ec({definition:o.definition}),new za({definition:[new ea({terminalType:o.separator})].concat(o.definition)})];return s(l)}else if(o instanceof Rc){const l=o.definition.concat([new za({definition:[new ea({terminalType:o.separator})].concat(o.definition)})]);n=s(l)}else if(o instanceof za){const l=o.definition.concat([new za({definition:o.definition})]);n=s(l)}else{if(o instanceof Ic)return tn(o.definition,l=>{Gi(l.definition)===!1&&(n=s(l.definition))}),n;if(o instanceof ea)r.push(o.terminalType);else throw Error("non exhaustive match")}i++}return n.push({partialPath:r,suffixDef:To(t,i)}),n}R(VN,"possiblePathsFrom");function Rie(t,e,r,n){const i="EXIT_NONE_TERMINAL",a=[i],s="EXIT_ALTERNATIVE";let o=!1;const l=e.length,u=l-n-1,d=[],h=[];for(h.push({idx:-1,def:t,ruleStack:[],occurrenceStack:[]});!Gi(h);){const f=h.pop();if(f===s){o&&p5(h).idx<=u&&h.pop();continue}const p=f.def,g=f.idx,m=f.ruleStack,U=f.occurrenceStack;if(Gi(p))continue;const y=p[0];if(y===i){const b={idx:g,def:To(p),ruleStack:uC(m),occurrenceStack:uC(U)};h.push(b)}else if(y instanceof ea)if(g<l-1){const b=g+1,v=e[b];if(r(v,y.terminalType)){const w={idx:b,def:To(p),ruleStack:m,occurrenceStack:U};h.push(w)}}else if(g===l-1)d.push({nextTokenType:y.terminalType,nextTokenOccurrence:y.idx,ruleStack:m,occurrenceStack:U}),o=!0;else throw Error("non exhaustive match");else if(y instanceof ql){const b=Po(m);b.push(y.nonTerminalName);const v=Po(U);v.push(y.idx);const w={idx:g,def:y.definition.concat(a,To(p)),ruleStack:b,occurrenceStack:v};h.push(w)}else if(y instanceof Oo){const b={idx:g,def:To(p),ruleStack:m,occurrenceStack:U};h.push(b),h.push(s);const v={idx:g,def:y.definition.concat(To(p)),ruleStack:m,occurrenceStack:U};h.push(v)}else if(y instanceof du){const b=new za({definition:y.definition,idx:y.idx}),v=y.definition.concat([b],To(p)),w={idx:g,def:v,ruleStack:m,occurrenceStack:U};h.push(w)}else if(y instanceof hu){const b=new ea({terminalType:y.separator}),v=new za({definition:[b].concat(y.definition),idx:y.idx}),w=y.definition.concat([v],To(p)),T={idx:g,def:w,ruleStack:m,occurrenceStack:U};h.push(T)}else if(y instanceof Rc){const b={idx:g,def:To(p),ruleStack:m,occurrenceStack:U};h.push(b),h.push(s);const v=new ea({terminalType:y.separator}),w=new za({definition:[v].concat(y.definition),idx:y.idx}),T=y.definition.concat([w],To(p)),S={idx:g,def:T,ruleStack:m,occurrenceStack:U};h.push(S)}else if(y instanceof za){const b={idx:g,def:To(p),ruleStack:m,occurrenceStack:U};h.push(b),h.push(s);const v=new za({definition:y.definition,idx:y.idx}),w=y.definition.concat([v],To(p)),T={idx:g,def:w,ruleStack:m,occurrenceStack:U};h.push(T)}else if(y instanceof Ic)for(let b=y.definition.length-1;b>=0;b--){const v=y.definition[b],w={idx:g,def:v.definition.concat(To(p)),ruleStack:m,occurrenceStack:U};h.push(w),h.push(s)}else if(y instanceof Ec)h.push({idx:g,def:y.definition.concat(To(p)),ruleStack:m,occurrenceStack:U});else if(y instanceof w3)h.push(sHe(y,g,m,U));else throw Error("non exhaustive match")}return d}R(Rie,"nextPossibleTokensAfter");function sHe(t,e,r,n){const i=Po(r);i.push(t.name);const a=Po(n);return a.push(1),{idx:e,def:t.definition,ruleStack:i,occurrenceStack:a}}R(sHe,"expandTopLevelRule");var Ca;(function(t){t[t.OPTION=0]="OPTION",t[t.REPETITION=1]="REPETITION",t[t.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",t[t.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",t[t.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",t[t.ALTERNATION=5]="ALTERNATION"})(Ca||(Ca={}));function D_(t){if(t instanceof Oo||t==="Option")return Ca.OPTION;if(t instanceof za||t==="Repetition")return Ca.REPETITION;if(t instanceof du||t==="RepetitionMandatory")return Ca.REPETITION_MANDATORY;if(t instanceof hu||t==="RepetitionMandatoryWithSeparator")return Ca.REPETITION_MANDATORY_WITH_SEPARATOR;if(t instanceof Rc||t==="RepetitionWithSeparator")return Ca.REPETITION_WITH_SEPARATOR;if(t instanceof Ic||t==="Alternation")return Ca.ALTERNATION;throw Error("non exhaustive match")}R(D_,"getProdType");function RX(t){const{occurrence:e,rule:r,prodType:n,maxLookahead:i}=t,a=D_(n);return a===Ca.ALTERNATION?ek(e,r,i):tk(e,r,a,i)}R(RX,"getLookaheadPaths");function oHe(t,e,r,n,i,a){const s=ek(t,e,r),o=Lie(s)?hC:S3;return a(s,n,o,i)}R(oHe,"buildLookaheadFuncForOr");function lHe(t,e,r,n,i,a){const s=tk(t,e,i,r),o=Lie(s)?hC:S3;return a(s[0],o,n)}R(lHe,"buildLookaheadFuncForOptionalProd");function cHe(t,e,r,n){const i=t.length,a=$d(t,s=>$d(s,o=>o.length===1));if(e)return function(s){const o=Ir(s,l=>l.GATE);for(let l=0;l<i;l++){const u=t[l],d=u.length,h=o[l];if(!(h!==void 0&&h.call(this)===!1))e:for(let f=0;f<d;f++){const p=u[f],g=p.length;for(let m=0;m<g;m++){const U=this.LA(m+1);if(r(U,p[m])===!1)continue e}return l}}};if(a&&!n){const s=Ir(t,l=>Bd(l)),o=au(s,(l,u,d)=>(tn(u,h=>{Xr(l,h.tokenTypeIdx)||(l[h.tokenTypeIdx]=d),tn(h.categoryMatches,f=>{Xr(l,f)||(l[f]=d)})}),l),{});return function(){const l=this.LA(1);return o[l.tokenTypeIdx]}}else return function(){for(let s=0;s<i;s++){const o=t[s],l=o.length;e:for(let u=0;u<l;u++){const d=o[u],h=d.length;for(let f=0;f<h;f++){const p=this.LA(f+1);if(r(p,d[f])===!1)continue e}return s}}}}R(cHe,"buildAlternativesLookAheadFunc");function uHe(t,e,r){const n=$d(t,a=>a.length===1),i=t.length;if(n&&!r){const a=Bd(t);if(a.length===1&&Gi(a[0].categoryMatches)){const o=a[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===o}}else{const s=au(a,(o,l,u)=>(o[l.tokenTypeIdx]=!0,tn(l.categoryMatches,d=>{o[d]=!0}),o),[]);return function(){const o=this.LA(1);return s[o.tokenTypeIdx]===!0}}}else return function(){e:for(let a=0;a<i;a++){const s=t[a],o=s.length;for(let l=0;l<o;l++){const u=this.LA(l+1);if(e(u,s[l])===!1)continue e}return!0}return!1}}R(uHe,"buildSingleAlternativeLookaheadFunction");var A6,xdr=(A6=class extends L_{constructor(e,r,n){super(),this.topProd=e,this.targetOccurrence=r,this.targetProdType=n}startWalking(){return this.walk(this.topProd),this.restDef}checkIsTarget(e,r,n,i){return e.idx===this.targetOccurrence&&this.targetProdType===r?(this.restDef=n.concat(i),!0):!1}walkOption(e,r,n){this.checkIsTarget(e,Ca.OPTION,r,n)||super.walkOption(e,r,n)}walkAtLeastOne(e,r,n){this.checkIsTarget(e,Ca.REPETITION_MANDATORY,r,n)||super.walkOption(e,r,n)}walkAtLeastOneSep(e,r,n){this.checkIsTarget(e,Ca.REPETITION_MANDATORY_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}walkMany(e,r,n){this.checkIsTarget(e,Ca.REPETITION,r,n)||super.walkOption(e,r,n)}walkManySep(e,r,n){this.checkIsTarget(e,Ca.REPETITION_WITH_SEPARATOR,r,n)||super.walkOption(e,r,n)}},R(A6,"RestDefinitionFinderWalker"),A6),M6,dHe=(M6=class extends T3{constructor(e,r,n){super(),this.targetOccurrence=e,this.targetProdType=r,this.targetRef=n,this.result=[]}checkIsTarget(e,r){e.idx===this.targetOccurrence&&this.targetProdType===r&&(this.targetRef===void 0||e===this.targetRef)&&(this.result=e.definition)}visitOption(e){this.checkIsTarget(e,Ca.OPTION)}visitRepetition(e){this.checkIsTarget(e,Ca.REPETITION)}visitRepetitionMandatory(e){this.checkIsTarget(e,Ca.REPETITION_MANDATORY)}visitRepetitionMandatoryWithSeparator(e){this.checkIsTarget(e,Ca.REPETITION_MANDATORY_WITH_SEPARATOR)}visitRepetitionWithSeparator(e){this.checkIsTarget(e,Ca.REPETITION_WITH_SEPARATOR)}visitAlternation(e){this.checkIsTarget(e,Ca.ALTERNATION)}},R(M6,"InsideDefinitionFinderVisitor"),M6);function IX(t){const e=new Array(t);for(let r=0;r<t;r++)e[r]=[];return e}R(IX,"initializeArrayOfArrays");function zM(t){let e=[""];for(let r=0;r<t.length;r++){const n=t[r],i=[];for(let a=0;a<e.length;a++){const s=e[a];i.push(s+"_"+n.tokenTypeIdx);for(let o=0;o<n.categoryMatches.length;o++){const l="_"+n.categoryMatches[o];i.push(s+l)}}e=i}return e}R(zM,"pathToHashKeys");function hHe(t,e,r){for(let n=0;n<t.length;n++){if(n===r)continue;const i=t[n];for(let a=0;a<e.length;a++){const s=e[a];if(i[s]===!0)return!1}}return!0}R(hHe,"isUniquePrefixHash");function Iie(t,e){const r=Ir(t,s=>VN([s],1)),n=IX(r.length),i=Ir(r,s=>{const o={};return tn(s,l=>{const u=zM(l.partialPath);tn(u,d=>{o[d]=!0})}),o});let a=r;for(let s=1;s<=e;s++){const o=a;a=IX(o.length);for(let l=0;l<o.length;l++){const u=o[l];for(let d=0;d<u.length;d++){const h=u[d].partialPath,f=u[d].suffixDef,p=zM(h);if(hHe(i,p,l)||Gi(f)||h.length===e){const m=n[l];if(GN(m,h)===!1){m.push(h);for(let U=0;U<p.length;U++){const y=p[U];i[l][y]=!0}}}else{const m=VN(f,s+1,h);a[l]=a[l].concat(m),tn(m,U=>{const y=zM(U.partialPath);tn(y,b=>{i[l][b]=!0})})}}}}return n}R(Iie,"lookAheadSequenceFromAlternatives");function ek(t,e,r,n){const i=new dHe(t,Ca.ALTERNATION,n);return e.accept(i),Iie(i.result,r)}R(ek,"getLookaheadPathsForOr");function tk(t,e,r,n){const i=new dHe(t,r);e.accept(i);const a=i.result,o=new xdr(e,t,r).startWalking(),l=new Ec({definition:a}),u=new Ec({definition:o});return Iie([l,u],n)}R(tk,"getLookaheadPathsForOptionalProd");function GN(t,e){e:for(let r=0;r<t.length;r++){const n=t[r];if(n.length===e.length){for(let i=0;i<n.length;i++){const a=e[i],s=n[i];if((a===s||s.categoryMatchesMap[a.tokenTypeIdx]!==void 0)===!1)continue e}return!0}}return!1}R(GN,"containsPath");function fHe(t,e){return t.length<e.length&&$d(t,(r,n)=>{const i=e[n];return r===i||i.categoryMatchesMap[r.tokenTypeIdx]})}R(fHe,"isStrictPrefixOfPath");function Lie(t){return $d(t,e=>$d(e,r=>$d(r,n=>Gi(n.categoryMatches))))}R(Lie,"areTokenCategoriesNotUsed");function pHe(t){const e=t.lookaheadStrategy.validate({rules:t.rules,tokenTypes:t.tokenTypes,grammarName:t.grammarName});return Ir(e,r=>Object.assign({type:jl.CUSTOM_LOOKAHEAD_VALIDATION},r))}R(pHe,"validateLookahead");function gHe(t,e,r,n){const i=zu(t,l=>mHe(l,r)),a=kHe(t,e,r),s=zu(t,l=>wHe(l,r)),o=zu(t,l=>yHe(l,t,n,r));return i.concat(a,s,o)}R(gHe,"validateGrammar");function mHe(t,e){const r=new wdr;t.accept(r);const n=r.allProductions,i=Pur(n,UHe),a=eh(i,o=>o.length>1);return Ir(Es(a),o=>{const l=jd(o),u=e.buildDuplicateFoundError(t,o),d=md(l),h={message:u,type:jl.DUPLICATE_PRODUCTIONS,ruleName:t.name,dslName:d,occurrence:l.idx},f=Nie(l);return f&&(h.parameter=f),h})}R(mHe,"validateDuplicateProductions");function UHe(t){return`${md(t)}_#_${t.idx}_#_${Nie(t)}`}R(UHe,"identifyProductionForDuplicates");function Nie(t){return t instanceof ea?t.terminalType.name:t instanceof ql?t.nonTerminalName:""}R(Nie,"getExtraProductionArgument");var R6,wdr=(R6=class extends T3{constructor(){super(...arguments),this.allProductions=[]}visitNonTerminal(e){this.allProductions.push(e)}visitOption(e){this.allProductions.push(e)}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}visitAlternation(e){this.allProductions.push(e)}visitTerminal(e){this.allProductions.push(e)}},R(R6,"OccurrenceValidationCollector"),R6);function yHe(t,e,r,n){const i=[];if(au(e,(s,o)=>o.name===t.name?s+1:s,0)>1){const s=n.buildDuplicateRuleNameError({topLevelRule:t,grammarName:r});i.push({message:s,type:jl.DUPLICATE_RULE_NAME,ruleName:t.name})}return i}R(yHe,"validateRuleDoesNotAlreadyExist");function bHe(t,e,r){const n=[];let i;return tc(e,t)||(i=`Invalid rule override, rule: ->${t}<- cannot be overridden in the grammar: ->${r}<-as it is not defined in any of the super grammars `,n.push({message:i,type:jl.INVALID_RULE_OVERRIDE,ruleName:t})),n}R(bHe,"validateRuleIsOverridden");function Oie(t,e,r,n=[]){const i=[],a=ww(e.definition);if(Gi(a))return[];{const s=t.name;tc(a,t)&&i.push({message:r.buildLeftRecursionError({topLevelRule:t,leftRecursionPath:n}),type:jl.LEFT_RECURSION,ruleName:s});const l=R_(a,n.concat([t])),u=zu(l,d=>{const h=Po(n);return h.push(d),Oie(t,d,r,h)});return i.concat(u)}}R(Oie,"validateNoLeftRecursion");function ww(t){let e=[];if(Gi(t))return e;const r=jd(t);if(r instanceof ql)e.push(r.referencedRule);else if(r instanceof Ec||r instanceof Oo||r instanceof du||r instanceof hu||r instanceof Rc||r instanceof za)e=e.concat(ww(r.definition));else if(r instanceof Ic)e=Bd(Ir(r.definition,a=>ww(a.definition)));else if(!(r instanceof ea))throw Error("non exhaustive match");const n=dC(r),i=t.length>1;if(n&&i){const a=To(t);return e.concat(ww(a))}else return e}R(ww,"getFirstNoneTerminal");var I6,Die=(I6=class extends T3{constructor(){super(...arguments),this.alternations=[]}visitAlternation(e){this.alternations.push(e)}},R(I6,"OrCollector"),I6);function vHe(t,e){const r=new Die;t.accept(r);const n=r.alternations;return zu(n,a=>{const s=uC(a.definition);return zu(s,(o,l)=>{const u=Rie([o],[],S3,1);return Gi(u)?[{message:e.buildEmptyAlternationError({topLevelRule:t,alternation:a,emptyChoiceIdx:l}),type:jl.NONE_LAST_EMPTY_ALT,ruleName:t.name,occurrence:a.idx,alternative:l+1}]:[]})})}R(vHe,"validateEmptyOrAlternative");function xHe(t,e,r){const n=new Die;t.accept(n);let i=n.alternations;return i=I_(i,s=>s.ignoreAmbiguities===!0),zu(i,s=>{const o=s.idx,l=s.maxLookahead||e,u=ek(o,t,l,s),d=CHe(u,s,t,r),h=SHe(u,s,t,r);return d.concat(h)})}R(xHe,"validateAmbiguousAlternationAlternatives");var L6,Tdr=(L6=class extends T3{constructor(){super(...arguments),this.allProductions=[]}visitRepetitionWithSeparator(e){this.allProductions.push(e)}visitRepetitionMandatory(e){this.allProductions.push(e)}visitRepetitionMandatoryWithSeparator(e){this.allProductions.push(e)}visitRepetition(e){this.allProductions.push(e)}},R(L6,"RepetitionCollector"),L6);function wHe(t,e){const r=new Die;t.accept(r);const n=r.alternations;return zu(n,a=>a.definition.length>255?[{message:e.buildTooManyAlternativesError({topLevelRule:t,alternation:a}),type:jl.TOO_MANY_ALTS,ruleName:t.name,occurrence:a.idx}]:[])}R(wHe,"validateTooManyAlts");function THe(t,e,r){const n=[];return tn(t,i=>{const a=new Tdr;i.accept(a);const s=a.allProductions;tn(s,o=>{const l=D_(o),u=o.maxLookahead||e,d=o.idx,f=tk(d,i,l,u)[0];if(Gi(Bd(f))){const p=r.buildEmptyRepetitionError({topLevelRule:i,repetition:o});n.push({message:p,type:jl.NO_NON_EMPTY_LOOKAHEAD,ruleName:i.name})}})}),n}R(THe,"validateSomeNonEmptyLookaheadPath");function CHe(t,e,r,n){const i=[],a=au(t,(o,l,u)=>(e.definition[u].ignoreAmbiguities===!0||tn(l,d=>{const h=[u];tn(t,(f,p)=>{u!==p&&GN(f,d)&&e.definition[p].ignoreAmbiguities!==!0&&h.push(p)}),h.length>1&&!GN(i,d)&&(i.push(d),o.push({alts:h,path:d}))}),o),[]);return Ir(a,o=>{const l=Ir(o.alts,d=>d+1);return{message:n.buildAlternationAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:l,prefixPath:o.path}),type:jl.AMBIGUOUS_ALTS,ruleName:r.name,occurrence:e.idx,alternatives:o.alts}})}R(CHe,"checkAlternativesAmbiguities");function SHe(t,e,r,n){const i=au(t,(s,o,l)=>{const u=Ir(o,d=>({idx:l,path:d}));return s.concat(u)},[]);return ZS(zu(i,s=>{if(e.definition[s.idx].ignoreAmbiguities===!0)return[];const l=s.idx,u=s.path,d=Ju(i,f=>e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx<l&&fHe(f.path,u));return Ir(d,f=>{const p=[f.idx+1,l+1],g=e.idx===0?"":e.idx;return{message:n.buildAlternationPrefixAmbiguityError({topLevelRule:r,alternation:e,ambiguityIndices:p,prefixPath:f.path}),type:jl.AMBIGUOUS_PREFIX_ALTS,ruleName:r.name,occurrence:g,alternatives:p}})}))}R(SHe,"checkPrefixAlternativesAmbiguities");function kHe(t,e,r){const n=[],i=Ir(e,a=>a.name);return tn(t,a=>{const s=a.name;if(tc(i,s)){const o=r.buildNamespaceConflictError(a);n.push({message:o,type:jl.CONFLICT_TOKENS_RULES_NAMESPACE,ruleName:s})}}),n}R(kHe,"checkTerminalAndNoneTerminalsNameSpace");function EHe(t){const e=yie(t,{errMsgProvider:gdr}),r={};return tn(t.rules,n=>{r[n.name]=n}),aHe(r,e.errMsgProvider)}R(EHe,"resolveGrammar");function AHe(t){return t=yie(t,{errMsgProvider:yU}),gHe(t.rules,t.tokenTypes,t.errMsgProvider,t.grammarName)}R(AHe,"validateGrammar");var MHe="MismatchedTokenException",RHe="NoViableAltException",IHe="EarlyExitException",LHe="NotAllInputParsedException",NHe=[MHe,RHe,IHe,LHe];Object.freeze(NHe);function fC(t){return tc(NHe,t.name)}R(fC,"isRecognitionException");var N6,P_=(N6=class extends Error{constructor(e,r){super(e),this.token=r,this.resyncedTokens=[],Object.setPrototypeOf(this,new.target.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},R(N6,"RecognitionException"),N6),O6,OHe=(O6=class extends P_{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=MHe}},R(O6,"MismatchedTokenException"),O6),D6,Cdr=(D6=class extends P_{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=RHe}},R(D6,"NoViableAltException"),D6),P6,Sdr=(P6=class extends P_{constructor(e,r){super(e,r),this.name=LHe}},R(P6,"NotAllInputParsedException"),P6),_6,kdr=(_6=class extends P_{constructor(e,r,n){super(e,r),this.previousToken=n,this.name=IHe}},R(_6,"EarlyExitException"),_6),$H={},DHe="InRuleRecoveryException",B6,Edr=(B6=class extends Error{constructor(e){super(e),this.name=DHe}},R(B6,"InRuleRecoveryException"),B6),$6,Adr=($6=class{initRecoverable(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=Xr(e,"recoveryEnabled")?e.recoveryEnabled:X0.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=PHe)}getTokenToInsert(e){const r=QS(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return r.isInsertedInRecovery=!0,r}canTokenTypeBeInsertedInRecovery(e){return!0}canTokenTypeBeDeletedInRecovery(e){return!0}tryInRepetitionRecovery(e,r,n,i){const a=this.findReSyncTokenType(),s=this.exportLexerState(),o=[];let l=!1;const u=this.LA(1);let d=this.LA(1);const h=R(()=>{const f=this.LA(0),p=this.errorMessageProvider.buildMismatchTokenMessage({expected:i,actual:u,previous:f,ruleName:this.getCurrRuleFullName()}),g=new OHe(p,u,this.LA(0));g.resyncedTokens=uC(o),this.SAVE_ERROR(g)},"generateErrorMessage");for(;!l;)if(this.tokenMatcher(d,i)){h();return}else if(n.call(this)){h(),e.apply(this,r);return}else this.tokenMatcher(d,a)?l=!0:(d=this.SKIP_TOKEN(),this.addToResyncTokens(d,o));this.importLexerState(s)}shouldInRepetitionRecoveryBeTried(e,r,n){return!(n===!1||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,r)))}getFollowsForInRuleRecovery(e,r){const n=this.getCurrentGrammarPath(e,r);return this.getNextPossibleTokenTypes(n)}tryInRuleRecovery(e,r){if(this.canRecoverWithSingleTokenInsertion(e,r))return this.getTokenToInsert(e);if(this.canRecoverWithSingleTokenDeletion(e)){const n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new Edr("sad sad panda")}canPerformInRuleRecovery(e,r){return this.canRecoverWithSingleTokenInsertion(e,r)||this.canRecoverWithSingleTokenDeletion(e)}canRecoverWithSingleTokenInsertion(e,r){if(!this.canTokenTypeBeInsertedInRecovery(e)||Gi(r))return!1;const n=this.LA(1);return S4(r,a=>this.tokenMatcher(n,a))!==void 0}canRecoverWithSingleTokenDeletion(e){return this.canTokenTypeBeDeletedInRecovery(e)?this.tokenMatcher(this.LA(2),e):!1}isInCurrentRuleReSyncSet(e){const r=this.getCurrFollowKey(),n=this.getFollowSetFromFollowKey(r);return tc(n,e)}findReSyncTokenType(){const e=this.flattenFollowSet();let r=this.LA(1),n=2;for(;;){const i=S4(e,a=>Mie(r,a));if(i!==void 0)return i;r=this.LA(n),n++}}getCurrFollowKey(){if(this.RULE_STACK.length===1)return $H;const e=this.getLastExplicitRuleShortName(),r=this.getLastExplicitRuleOccurrenceIndex(),n=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:r,inRule:this.shortRuleNameToFullName(n)}}buildFullFollowKeyStack(){const e=this.RULE_STACK,r=this.RULE_OCCURRENCE_STACK;return Ir(e,(n,i)=>i===0?$H:{ruleName:this.shortRuleNameToFullName(n),idxInCallingRule:r[i],inRule:this.shortRuleNameToFullName(e[i-1])})}flattenFollowSet(){const e=Ir(this.buildFullFollowKeyStack(),r=>this.getFollowSetFromFollowKey(r));return Bd(e)}getFollowSetFromFollowKey(e){if(e===$H)return[d1];const r=e.ruleName+e.idxInCallingRule+xze+e.inRule;return this.resyncFollows[r]}addToResyncTokens(e,r){return this.tokenMatcher(e,d1)||r.push(e),r}reSyncTo(e){const r=[];let n=this.LA(1);for(;this.tokenMatcher(n,e)===!1;)n=this.SKIP_TOKEN(),this.addToResyncTokens(n,r);return uC(r)}attemptInRepetitionRecovery(e,r,n,i,a,s,o){}getCurrentGrammarPath(e,r){const n=this.getHumanReadableRuleStack(),i=Po(this.RULE_OCCURRENCE_STACK);return{ruleStack:n,occurrenceStack:i,lastTok:e,lastTokOccurrence:r}}getHumanReadableRuleStack(){return Ir(this.RULE_STACK,e=>this.shortRuleNameToFullName(e))}},R($6,"Recoverable"),$6);function PHe(t,e,r,n,i,a,s){const o=this.getKeyForAutomaticLookahead(n,i);let l=this.firstAfterRepMap[o];if(l===void 0){const f=this.getCurrRuleFullName(),p=this.getGAstProductions()[f];l=new a(p,i).startWalking(),this.firstAfterRepMap[o]=l}let u=l.token,d=l.occurrence;const h=l.isEndOfRule;this.RULE_STACK.length===1&&h&&u===void 0&&(u=d1,d=1),!(u===void 0||d===void 0)&&this.shouldInRepetitionRecoveryBeTried(u,d,s)&&this.tryInRepetitionRecovery(t,e,r,u)}R(PHe,"attemptInRepetitionRecovery");var Mdr=4,F1=8,_He=1<<F1,BHe=2<<F1,LX=3<<F1,NX=4<<F1,OX=5<<F1,HM=6<<F1;function VM(t,e,r){return r|e|t}R(VM,"getKeyForAutomaticLookahead");var F6,Pie=(F6=class{constructor(e){var r;this.maxLookahead=(r=e==null?void 0:e.maxLookahead)!==null&&r!==void 0?r:X0.maxLookahead}validate(e){const r=this.validateNoLeftRecursion(e.rules);if(Gi(r)){const n=this.validateEmptyOrAlternatives(e.rules),i=this.validateAmbiguousAlternationAlternatives(e.rules,this.maxLookahead),a=this.validateSomeNonEmptyLookaheadPath(e.rules,this.maxLookahead);return[...r,...n,...i,...a]}return r}validateNoLeftRecursion(e){return zu(e,r=>Oie(r,r,yU))}validateEmptyOrAlternatives(e){return zu(e,r=>vHe(r,yU))}validateAmbiguousAlternationAlternatives(e,r){return zu(e,n=>xHe(n,r,yU))}validateSomeNonEmptyLookaheadPath(e,r){return THe(e,r,yU)}buildLookaheadForAlternation(e){return oHe(e.prodOccurrence,e.rule,e.maxLookahead,e.hasPredicates,e.dynamicTokensEnabled,cHe)}buildLookaheadForOptional(e){return lHe(e.prodOccurrence,e.rule,e.maxLookahead,e.dynamicTokensEnabled,D_(e.prodType),uHe)}},R(F6,"LLkLookaheadStrategy"),F6),z6,Rdr=(z6=class{initLooksAhead(e){this.dynamicTokensEnabled=Xr(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:X0.dynamicTokensEnabled,this.maxLookahead=Xr(e,"maxLookahead")?e.maxLookahead:X0.maxLookahead,this.lookaheadStrategy=Xr(e,"lookaheadStrategy")?e.lookaheadStrategy:new Pie({maxLookahead:this.maxLookahead}),this.lookAheadFuncsCache=new Map}preComputeLookaheadFunctions(e){tn(e,r=>{this.TRACE_INIT(`${r.name} Rule Lookahead`,()=>{const{alternation:n,repetition:i,option:a,repetitionMandatory:s,repetitionMandatoryWithSeparator:o,repetitionWithSeparator:l}=$He(r);tn(n,u=>{const d=u.idx===0?"":u.idx;this.TRACE_INIT(`${md(u)}${d}`,()=>{const h=this.lookaheadStrategy.buildLookaheadForAlternation({prodOccurrence:u.idx,rule:r,maxLookahead:u.maxLookahead||this.maxLookahead,hasPredicates:u.hasPredicates,dynamicTokensEnabled:this.dynamicTokensEnabled}),f=VM(this.fullRuleNameToShort[r.name],_He,u.idx);this.setLaFuncCache(f,h)})}),tn(i,u=>{this.computeLookaheadFunc(r,u.idx,LX,"Repetition",u.maxLookahead,md(u))}),tn(a,u=>{this.computeLookaheadFunc(r,u.idx,BHe,"Option",u.maxLookahead,md(u))}),tn(s,u=>{this.computeLookaheadFunc(r,u.idx,NX,"RepetitionMandatory",u.maxLookahead,md(u))}),tn(o,u=>{this.computeLookaheadFunc(r,u.idx,HM,"RepetitionMandatoryWithSeparator",u.maxLookahead,md(u))}),tn(l,u=>{this.computeLookaheadFunc(r,u.idx,OX,"RepetitionWithSeparator",u.maxLookahead,md(u))})})})}computeLookaheadFunc(e,r,n,i,a,s){this.TRACE_INIT(`${s}${r===0?"":r}`,()=>{const o=this.lookaheadStrategy.buildLookaheadForOptional({prodOccurrence:r,rule:e,maxLookahead:a||this.maxLookahead,dynamicTokensEnabled:this.dynamicTokensEnabled,prodType:i}),l=VM(this.fullRuleNameToShort[e.name],n,r);this.setLaFuncCache(l,o)})}getKeyForAutomaticLookahead(e,r){const n=this.getLastExplicitRuleShortName();return VM(n,e,r)}getLaFuncFromCache(e){return this.lookAheadFuncsCache.get(e)}setLaFuncCache(e,r){this.lookAheadFuncsCache.set(e,r)}},R(z6,"LooksAhead"),z6),H6,Idr=(H6=class extends T3{constructor(){super(...arguments),this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}reset(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}}visitOption(e){this.dslMethods.option.push(e)}visitRepetitionWithSeparator(e){this.dslMethods.repetitionWithSeparator.push(e)}visitRepetitionMandatory(e){this.dslMethods.repetitionMandatory.push(e)}visitRepetitionMandatoryWithSeparator(e){this.dslMethods.repetitionMandatoryWithSeparator.push(e)}visitRepetition(e){this.dslMethods.repetition.push(e)}visitAlternation(e){this.dslMethods.alternation.push(e)}},R(H6,"DslMethodsCollectorVisitor"),H6),QE=new Idr;function $He(t){QE.reset(),t.accept(QE);const e=QE.dslMethods;return QE.reset(),e}R($He,"collectMethods");function DX(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.endOffset=e.endOffset):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset)}R(DX,"setNodeLocationOnlyOffset");function PX(t,e){isNaN(t.startOffset)===!0?(t.startOffset=e.startOffset,t.startColumn=e.startColumn,t.startLine=e.startLine,t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine):t.endOffset<e.endOffset&&(t.endOffset=e.endOffset,t.endColumn=e.endColumn,t.endLine=e.endLine)}R(PX,"setNodeLocationFull");function FHe(t,e,r){t.children[r]===void 0?t.children[r]=[e]:t.children[r].push(e)}R(FHe,"addTerminalToCst");function zHe(t,e,r){t.children[e]===void 0?t.children[e]=[r]:t.children[e].push(r)}R(zHe,"addNoneTerminalToCst");var Ldr="name";function _ie(t,e){Object.defineProperty(t,Ldr,{enumerable:!1,configurable:!0,writable:!1,value:e})}R(_ie,"defineNameProp");function HHe(t,e){const r=nu(t),n=r.length;for(let i=0;i<n;i++){const a=r[i],s=t[a],o=s.length;for(let l=0;l<o;l++){const u=s[l];u.tokenTypeIdx===void 0&&this[u.name](u.children,e)}}}R(HHe,"defaultVisit");function VHe(t,e){const r=R(function(){},"derivedConstructor");_ie(r,t+"BaseSemantics");const n={visit:R(function(i,a){if(ti(i)&&(i=i[0]),!j0(i))return this[i.name](i.children,a)},"visit"),validateVisitor:R(function(){const i=WHe(this,e);if(!Gi(i)){const a=Ir(i,s=>s.msg);throw Error(`Errors Detected in CST Visitor <${this.constructor.name}>:
${a.join(`
`).replace(/\n/g,`
`)}`)}},"validateVisitor")};return r.prototype=n,r.prototype.constructor=r,r._RULE_NAMES=e,r}R(VHe,"createBaseSemanticVisitorConstructor");function GHe(t,e,r){const n=R(function(){},"derivedConstructor");_ie(n,t+"BaseSemanticsWithDefaults");const i=Object.create(r.prototype);return tn(e,a=>{i[a]=HHe}),n.prototype=i,n.prototype.constructor=n,n}R(GHe,"createBaseVisitorConstructorWithDefaults");var _X;(function(t){t[t.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",t[t.MISSING_METHOD=1]="MISSING_METHOD"})(_X||(_X={}));function WHe(t,e){return qHe(t,e)}R(WHe,"validateVisitor");function qHe(t,e){const r=Ju(e,i=>bp(t[i])===!1),n=Ir(r,i=>({msg:`Missing visitor method: <${i}> on ${t.constructor.name} CST Visitor.`,type:_X.MISSING_METHOD,methodName:i}));return ZS(n)}R(qHe,"validateMissingCstMethods");var V6,Ndr=(V6=class{initTreeBuilder(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=Xr(e,"nodeLocationTracking")?e.nodeLocationTracking:X0.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=Vs,this.cstFinallyStateUpdate=Vs,this.cstPostTerminal=Vs,this.cstPostNonTerminal=Vs,this.cstPostRule=Vs;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=PX,this.setNodeLocationFromNode=PX,this.cstPostRule=Vs,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=Vs,this.setNodeLocationFromNode=Vs,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=DX,this.setNodeLocationFromNode=DX,this.cstPostRule=Vs,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=Vs,this.setNodeLocationFromNode=Vs,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=Vs,this.setNodeLocationFromNode=Vs,this.cstPostRule=Vs,this.setInitialNodeLocation=Vs;else throw Error(`Invalid <nodeLocationTracking> config option: "${e.nodeLocationTracking}"`)}setInitialNodeLocationOnlyOffsetRecovery(e){e.location={startOffset:NaN,endOffset:NaN}}setInitialNodeLocationOnlyOffsetRegular(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}}setInitialNodeLocationFullRecovery(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}}setInitialNodeLocationFullRegular(e){const r=this.LA(1);e.location={startOffset:r.startOffset,startLine:r.startLine,startColumn:r.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}}cstInvocationStateUpdate(e){const r={name:e,children:Object.create(null)};this.setInitialNodeLocation(r),this.CST_STACK.push(r)}cstFinallyStateUpdate(){this.CST_STACK.pop()}cstPostRuleFull(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?(n.endOffset=r.endOffset,n.endLine=r.endLine,n.endColumn=r.endColumn):(n.startOffset=NaN,n.startLine=NaN,n.startColumn=NaN)}cstPostRuleOnlyOffset(e){const r=this.LA(0),n=e.location;n.startOffset<=r.startOffset?n.endOffset=r.endOffset:n.startOffset=NaN}cstPostTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];FHe(n,r,e),this.setNodeLocationFromToken(n.location,r)}cstPostNonTerminal(e,r){const n=this.CST_STACK[this.CST_STACK.length-1];zHe(n,r,e),this.setNodeLocationFromNode(n.location,e.location)}getBaseCstVisitorConstructor(){if(j0(this.baseCstVisitorConstructor)){const e=VHe(this.className,nu(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor}getBaseCstVisitorConstructorWithDefaults(){if(j0(this.baseCstVisitorWithDefaultsConstructor)){const e=GHe(this.className,nu(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor}getLastExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-1]}getPreviousExplicitRuleShortName(){const e=this.RULE_STACK;return e[e.length-2]}getLastExplicitRuleOccurrenceIndex(){const e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]}},R(V6,"TreeBuilder"),V6),G6,Odr=(G6=class{initLexerAdapter(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1}set input(e){if(this.selfAnalysisDone!==!0)throw Error("Missing <performSelfAnalysis> invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length}get input(){return this.tokVector}SKIP_TOKEN(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):WN}LA(e){const r=this.currIdx+e;return r<0||this.tokVectorLength<=r?WN:this.tokVector[r]}consumeToken(){this.currIdx++}exportLexerState(){return this.currIdx}importLexerState(e){this.currIdx=e}resetLexerState(){this.currIdx=-1}moveToTerminatedState(){this.currIdx=this.tokVector.length-1}getLexerPosition(){return this.exportLexerState()}},R(G6,"LexerAdapter"),G6),W6,Ddr=(W6=class{ACTION(e){return e.call(this)}consume(e,r,n){return this.consumeInternal(r,e,n)}subrule(e,r,n){return this.subruleInternal(r,e,n)}option(e,r){return this.optionInternal(r,e)}or(e,r){return this.orInternal(r,e)}many(e,r){return this.manyInternal(e,r)}atLeastOne(e,r){return this.atLeastOneInternal(e,r)}CONSUME(e,r){return this.consumeInternal(e,0,r)}CONSUME1(e,r){return this.consumeInternal(e,1,r)}CONSUME2(e,r){return this.consumeInternal(e,2,r)}CONSUME3(e,r){return this.consumeInternal(e,3,r)}CONSUME4(e,r){return this.consumeInternal(e,4,r)}CONSUME5(e,r){return this.consumeInternal(e,5,r)}CONSUME6(e,r){return this.consumeInternal(e,6,r)}CONSUME7(e,r){return this.consumeInternal(e,7,r)}CONSUME8(e,r){return this.consumeInternal(e,8,r)}CONSUME9(e,r){return this.consumeInternal(e,9,r)}SUBRULE(e,r){return this.subruleInternal(e,0,r)}SUBRULE1(e,r){return this.subruleInternal(e,1,r)}SUBRULE2(e,r){return this.subruleInternal(e,2,r)}SUBRULE3(e,r){return this.subruleInternal(e,3,r)}SUBRULE4(e,r){return this.subruleInternal(e,4,r)}SUBRULE5(e,r){return this.subruleInternal(e,5,r)}SUBRULE6(e,r){return this.subruleInternal(e,6,r)}SUBRULE7(e,r){return this.subruleInternal(e,7,r)}SUBRULE8(e,r){return this.subruleInternal(e,8,r)}SUBRULE9(e,r){return this.subruleInternal(e,9,r)}OPTION(e){return this.optionInternal(e,0)}OPTION1(e){return this.optionInternal(e,1)}OPTION2(e){return this.optionInternal(e,2)}OPTION3(e){return this.optionInternal(e,3)}OPTION4(e){return this.optionInternal(e,4)}OPTION5(e){return this.optionInternal(e,5)}OPTION6(e){return this.optionInternal(e,6)}OPTION7(e){return this.optionInternal(e,7)}OPTION8(e){return this.optionInternal(e,8)}OPTION9(e){return this.optionInternal(e,9)}OR(e){return this.orInternal(e,0)}OR1(e){return this.orInternal(e,1)}OR2(e){return this.orInternal(e,2)}OR3(e){return this.orInternal(e,3)}OR4(e){return this.orInternal(e,4)}OR5(e){return this.orInternal(e,5)}OR6(e){return this.orInternal(e,6)}OR7(e){return this.orInternal(e,7)}OR8(e){return this.orInternal(e,8)}OR9(e){return this.orInternal(e,9)}MANY(e){this.manyInternal(0,e)}MANY1(e){this.manyInternal(1,e)}MANY2(e){this.manyInternal(2,e)}MANY3(e){this.manyInternal(3,e)}MANY4(e){this.manyInternal(4,e)}MANY5(e){this.manyInternal(5,e)}MANY6(e){this.manyInternal(6,e)}MANY7(e){this.manyInternal(7,e)}MANY8(e){this.manyInternal(8,e)}MANY9(e){this.manyInternal(9,e)}MANY_SEP(e){this.manySepFirstInternal(0,e)}MANY_SEP1(e){this.manySepFirstInternal(1,e)}MANY_SEP2(e){this.manySepFirstInternal(2,e)}MANY_SEP3(e){this.manySepFirstInternal(3,e)}MANY_SEP4(e){this.manySepFirstInternal(4,e)}MANY_SEP5(e){this.manySepFirstInternal(5,e)}MANY_SEP6(e){this.manySepFirstInternal(6,e)}MANY_SEP7(e){this.manySepFirstInternal(7,e)}MANY_SEP8(e){this.manySepFirstInternal(8,e)}MANY_SEP9(e){this.manySepFirstInternal(9,e)}AT_LEAST_ONE(e){this.atLeastOneInternal(0,e)}AT_LEAST_ONE1(e){return this.atLeastOneInternal(1,e)}AT_LEAST_ONE2(e){this.atLeastOneInternal(2,e)}AT_LEAST_ONE3(e){this.atLeastOneInternal(3,e)}AT_LEAST_ONE4(e){this.atLeastOneInternal(4,e)}AT_LEAST_ONE5(e){this.atLeastOneInternal(5,e)}AT_LEAST_ONE6(e){this.atLeastOneInternal(6,e)}AT_LEAST_ONE7(e){this.atLeastOneInternal(7,e)}AT_LEAST_ONE8(e){this.atLeastOneInternal(8,e)}AT_LEAST_ONE9(e){this.atLeastOneInternal(9,e)}AT_LEAST_ONE_SEP(e){this.atLeastOneSepFirstInternal(0,e)}AT_LEAST_ONE_SEP1(e){this.atLeastOneSepFirstInternal(1,e)}AT_LEAST_ONE_SEP2(e){this.atLeastOneSepFirstInternal(2,e)}AT_LEAST_ONE_SEP3(e){this.atLeastOneSepFirstInternal(3,e)}AT_LEAST_ONE_SEP4(e){this.atLeastOneSepFirstInternal(4,e)}AT_LEAST_ONE_SEP5(e){this.atLeastOneSepFirstInternal(5,e)}AT_LEAST_ONE_SEP6(e){this.atLeastOneSepFirstInternal(6,e)}AT_LEAST_ONE_SEP7(e){this.atLeastOneSepFirstInternal(7,e)}AT_LEAST_ONE_SEP8(e){this.atLeastOneSepFirstInternal(8,e)}AT_LEAST_ONE_SEP9(e){this.atLeastOneSepFirstInternal(9,e)}RULE(e,r,n=qN){if(tc(this.definedRulesNames,e)){const s={message:yU.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),type:jl.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);const i=this.defineRule(e,r,n);return this[e]=i,i}OVERRIDE_RULE(e,r,n=qN){const i=bHe(e,this.definedRulesNames,this.className);this.definitionErrors=this.definitionErrors.concat(i);const a=this.defineRule(e,r,n);return this[e]=a,a}BACKTRACK(e,r){return function(){this.isBackTrackingStack.push(1);const n=this.saveRecogState();try{return e.apply(this,r),!0}catch(i){if(fC(i))return!1;throw i}finally{this.reloadRecogState(n),this.isBackTrackingStack.pop()}}}getGAstProductions(){return this.gastProductionsCache}getSerializedGastProductions(){return gze(Es(this.gastProductionsCache))}},R(W6,"RecognizerApi"),W6),q6,Pdr=(q6=class{initRecognizerEngine(e,r){if(this.className=this.constructor.name,this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=hC,this.subruleIdx=0,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},Xr(r,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a <serializedGrammar> property.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0
For Further details.`);if(ti(e)){if(Gi(e))throw Error(`A Token Vocabulary cannot be empty.
Note that the first argument for the parser constructor
is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument.
See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0
For Further details.`)}if(ti(e))this.tokensMap=au(e,(a,s)=>(a[s.name]=s,a),{});else if(Xr(e,"modes")&&$d(Bd(Es(e.modes)),nHe)){const a=Bd(Es(e.modes)),s=bie(a);this.tokensMap=au(s,(o,l)=>(o[l.name]=l,o),{})}else if(Yu(e))this.tokensMap=Po(e);else throw new Error("<tokensDictionary> argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=d1;const n=Xr(e,"modes")?Bd(Es(e.modes)):Es(e),i=$d(n,a=>Gi(a.categoryMatches));this.tokenMatcher=i?hC:S3,k3(Es(this.tokensMap))}defineRule(e,r,n){if(this.selfAnalysisDone)throw Error(`Grammar rule <${e}> may not be defined after the 'performSelfAnalysis' method has been called'
Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);const i=Xr(n,"resyncEnabled")?n.resyncEnabled:qN.resyncEnabled,a=Xr(n,"recoveryValueFunc")?n.recoveryValueFunc:qN.recoveryValueFunc,s=this.ruleShortNameIdx<<Mdr+F1;this.ruleShortNameIdx++,this.shortRuleNameToFull[s]=e,this.fullRuleNameToShort[e]=s;let o;return this.outputCst===!0?o=R(function(...d){try{this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,d);const h=this.CST_STACK[this.CST_STACK.length-1];return this.cstPostRule(h),h}catch(h){return this.invokeRuleCatch(h,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTry"):o=R(function(...d){try{return this.ruleInvocationStateUpdate(s,e,this.subruleIdx),r.apply(this,d)}catch(h){return this.invokeRuleCatch(h,i,a)}finally{this.ruleFinallyStateUpdate()}},"invokeRuleWithTryCst"),Object.assign(o,{ruleName:e,originalGrammarAction:r})}invokeRuleCatch(e,r,n){const i=this.RULE_STACK.length===1,a=r&&!this.isBackTracking()&&this.recoveryEnabled;if(fC(e)){const s=e;if(a){const o=this.findReSyncTokenType();if(this.isInCurrentRuleReSyncSet(o))if(s.resyncedTokens=this.reSyncTo(o),this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];return l.recoveredNode=!0,l}else return n(e);else{if(this.outputCst){const l=this.CST_STACK[this.CST_STACK.length-1];l.recoveredNode=!0,s.partialCstResult=l}throw s}}else{if(i)return this.moveToTerminatedState(),n(e);throw s}}else throw e}optionInternal(e,r){const n=this.getKeyForAutomaticLookahead(BHe,r);return this.optionInternalLogic(e,r,n)}optionInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof e!="function"){a=e.DEF;const s=e.GATE;if(s!==void 0){const o=i;i=R(()=>s.call(this)&&o.call(this),"lookAheadFunc")}}else a=e;if(i.call(this)===!0)return a.call(this)}atLeastOneInternal(e,r){const n=this.getKeyForAutomaticLookahead(NX,e);return this.atLeastOneInternalLogic(e,r,n)}atLeastOneInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const s=r.GATE;if(s!==void 0){const o=i;i=R(()=>s.call(this)&&o.call(this),"lookAheadFunc")}}else a=r;if(i.call(this)===!0){let s=this.doSingleRepetition(a);for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a)}else throw this.raiseEarlyExitException(e,Ca.REPETITION_MANDATORY,r.ERR_MSG);this.attemptInRepetitionRecovery(this.atLeastOneInternal,[e,r],i,NX,e,vdr)}atLeastOneSepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(HM,e);this.atLeastOneSepFirstInternalLogic(e,r,n)}atLeastOneSepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=R(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,a5e],o,HM,e,a5e)}else throw this.raiseEarlyExitException(e,Ca.REPETITION_MANDATORY_WITH_SEPARATOR,r.ERR_MSG)}manyInternal(e,r){const n=this.getKeyForAutomaticLookahead(LX,e);return this.manyInternalLogic(e,r,n)}manyInternalLogic(e,r,n){let i=this.getLaFuncFromCache(n),a;if(typeof r!="function"){a=r.DEF;const o=r.GATE;if(o!==void 0){const l=i;i=R(()=>o.call(this)&&l.call(this),"lookaheadFunction")}}else a=r;let s=!0;for(;i.call(this)===!0&&s===!0;)s=this.doSingleRepetition(a);this.attemptInRepetitionRecovery(this.manyInternal,[e,r],i,LX,e,bdr,s)}manySepFirstInternal(e,r){const n=this.getKeyForAutomaticLookahead(OX,e);this.manySepFirstInternalLogic(e,r,n)}manySepFirstInternalLogic(e,r,n){const i=r.DEF,a=r.SEP;if(this.getLaFuncFromCache(n).call(this)===!0){i.call(this);const o=R(()=>this.tokenMatcher(this.LA(1),a),"separatorLookAheadFunc");for(;this.tokenMatcher(this.LA(1),a)===!0;)this.CONSUME(a),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,a,o,i,i5e],o,OX,e,i5e)}}repetitionSepSecondInternal(e,r,n,i,a){for(;n();)this.CONSUME(r),i.call(this);this.attemptInRepetitionRecovery(this.repetitionSepSecondInternal,[e,r,n,i,a],n,HM,e,a)}doSingleRepetition(e){const r=this.getLexerPosition();return e.call(this),this.getLexerPosition()>r}orInternal(e,r){const n=this.getKeyForAutomaticLookahead(_He,r),i=ti(e)?e:e.DEF,s=this.getLaFuncFromCache(n).call(this,i);if(s!==void 0)return i[s].ALT.call(this);this.raiseNoAltException(r,e.ERR_MSG)}ruleFinallyStateUpdate(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){const e=this.LA(1),r=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Sdr(r,e))}}subruleInternal(e,r,n){let i;try{const a=n!==void 0?n.ARGS:void 0;return this.subruleIdx=r,i=e.apply(this,a),this.cstPostNonTerminal(i,n!==void 0&&n.LABEL!==void 0?n.LABEL:e.ruleName),i}catch(a){throw this.subruleInternalError(a,n,e.ruleName)}}subruleInternalError(e,r,n){throw fC(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,r!==void 0&&r.LABEL!==void 0?r.LABEL:n),delete e.partialCstResult),e}consumeInternal(e,r,n){let i;try{const a=this.LA(1);this.tokenMatcher(a,e)===!0?(this.consumeToken(),i=a):this.consumeInternalError(e,a,n)}catch(a){i=this.consumeInternalRecovery(e,r,a)}return this.cstPostTerminal(n!==void 0&&n.LABEL!==void 0?n.LABEL:e.name,i),i}consumeInternalError(e,r,n){let i;const a=this.LA(0);throw n!==void 0&&n.ERR_MSG?i=n.ERR_MSG:i=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:r,previous:a,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new OHe(i,r,a))}consumeInternalRecovery(e,r,n){if(this.recoveryEnabled&&n.name==="MismatchedTokenException"&&!this.isBackTracking()){const i=this.getFollowsForInRuleRecovery(e,r);try{return this.tryInRuleRecovery(e,i)}catch(a){throw a.name===DHe?n:a}}else throw n}saveRecogState(){const e=this.errors,r=Po(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:r,CST_STACK:this.CST_STACK}}reloadRecogState(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK}ruleInvocationStateUpdate(e,r,n){this.RULE_OCCURRENCE_STACK.push(n),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(r)}isBackTracking(){return this.isBackTrackingStack.length!==0}getCurrRuleFullName(){const e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]}shortRuleNameToFullName(e){return this.shortRuleNameToFull[e]}isAtEndOfInput(){return this.tokenMatcher(this.LA(1),d1)}reset(){this.resetLexerState(),this.subruleIdx=0,this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]}},R(q6,"RecognizerEngine"),q6),j6,_dr=(j6=class{initErrorHandler(e){this._errors=[],this.errorMessageProvider=Xr(e,"errorMessageProvider")?e.errorMessageProvider:X0.errorMessageProvider}SAVE_ERROR(e){if(fC(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:Po(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")}get errors(){return Po(this._errors)}set errors(e){this._errors=e}raiseEarlyExitException(e,r,n){const i=this.getCurrRuleFullName(),a=this.getGAstProductions()[i],o=tk(e,a,r,this.maxLookahead)[0],l=[];for(let d=1;d<=this.maxLookahead;d++)l.push(this.LA(d));const u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:o,actual:l,previous:this.LA(0),customUserDescription:n,ruleName:i});throw this.SAVE_ERROR(new kdr(u,this.LA(1),this.LA(0)))}raiseNoAltException(e,r){const n=this.getCurrRuleFullName(),i=this.getGAstProductions()[n],a=ek(e,i,this.maxLookahead),s=[];for(let u=1;u<=this.maxLookahead;u++)s.push(this.LA(u));const o=this.LA(0),l=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:a,actual:s,previous:o,customUserDescription:r,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new Cdr(l,this.LA(1),o))}},R(j6,"ErrorHandler"),j6),Y6,Bdr=(Y6=class{initContentAssist(){}computeContentAssist(e,r){const n=this.gastProductionsCache[e];if(j0(n))throw Error(`Rule ->${e}<- does not exist in this grammar.`);return Rie([n],r,this.tokenMatcher,this.maxLookahead)}getNextPossibleTokenTypes(e){const r=jd(e.ruleStack),i=this.getGAstProductions()[r];return new ydr(i,e).startWalking()}},R(Y6,"ContentAssist"),Y6),__={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(__);var s5e=!0,o5e=Math.pow(2,F1)-1,jHe=kb({name:"RECORDING_PHASE_TOKEN",pattern:Fl.NA});k3([jHe]);var YHe=QS(jHe,`This IToken indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze(YHe);var $dr={name:`This CSTNode indicates the Parser is in Recording Phase
See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},X6,Fdr=(X6=class{initGastRecorder(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1}enableRecording(){this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",()=>{for(let e=0;e<10;e++){const r=e>0?e:"";this[`CONSUME${r}`]=function(n,i){return this.consumeInternalRecord(n,e,i)},this[`SUBRULE${r}`]=function(n,i){return this.subruleInternalRecord(n,e,i)},this[`OPTION${r}`]=function(n){return this.optionInternalRecord(n,e)},this[`OR${r}`]=function(n){return this.orInternalRecord(n,e)},this[`MANY${r}`]=function(n){this.manyInternalRecord(e,n)},this[`MANY_SEP${r}`]=function(n){this.manySepFirstInternalRecord(e,n)},this[`AT_LEAST_ONE${r}`]=function(n){this.atLeastOneInternalRecord(e,n)},this[`AT_LEAST_ONE_SEP${r}`]=function(n){this.atLeastOneSepFirstInternalRecord(e,n)}}this.consume=function(e,r,n){return this.consumeInternalRecord(r,e,n)},this.subrule=function(e,r,n){return this.subruleInternalRecord(r,e,n)},this.option=function(e,r){return this.optionInternalRecord(r,e)},this.or=function(e,r){return this.orInternalRecord(r,e)},this.many=function(e,r){this.manyInternalRecord(e,r)},this.atLeastOne=function(e,r){this.atLeastOneInternalRecord(e,r)},this.ACTION=this.ACTION_RECORD,this.BACKTRACK=this.BACKTRACK_RECORD,this.LA=this.LA_RECORD})}disableRecording(){this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",()=>{const e=this;for(let r=0;r<10;r++){const n=r>0?r:"";delete e[`CONSUME${n}`],delete e[`SUBRULE${n}`],delete e[`OPTION${n}`],delete e[`OR${n}`],delete e[`MANY${n}`],delete e[`MANY_SEP${n}`],delete e[`AT_LEAST_ONE${n}`],delete e[`AT_LEAST_ONE_SEP${n}`]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})}ACTION_RECORD(e){}BACKTRACK_RECORD(e,r){return()=>!0}LA_RECORD(e){return WN}topLevelRuleRecord(e,r){try{const n=new w3({definition:[],name:e});return n.name=e,this.recordingProdStack.push(n),r.call(this),this.recordingProdStack.pop(),n}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+`
This error was thrown during the "grammar recording phase" For more info see:
https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}}optionInternalRecord(e,r){return f2.call(this,Oo,e,r)}atLeastOneInternalRecord(e,r){f2.call(this,du,r,e)}atLeastOneSepFirstInternalRecord(e,r){f2.call(this,hu,r,e,s5e)}manyInternalRecord(e,r){f2.call(this,za,r,e)}manySepFirstInternalRecord(e,r){f2.call(this,Rc,r,e,s5e)}orInternalRecord(e,r){return XHe.call(this,e,r)}subruleInternalRecord(e,r,n){if(pC(r),!e||Xr(e,"ruleName")===!1){const o=new Error(`<SUBRULE${BX(r)}> argument is invalid expecting a Parser method reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw o.KNOWN_RECORDER_ERROR=!0,o}const i=p5(this.recordingProdStack),a=e.ruleName,s=new ql({idx:r,nonTerminalName:a,label:n==null?void 0:n.LABEL,referencedRule:void 0});return i.definition.push(s),this.outputCst?$dr:__}consumeInternalRecord(e,r,n){if(pC(r),!Eie(e)){const s=new Error(`<CONSUME${BX(r)}> argument is invalid expecting a TokenType reference but got: <${JSON.stringify(e)}>
inside top level rule: <${this.recordingProdStack[0].name}>`);throw s.KNOWN_RECORDER_ERROR=!0,s}const i=p5(this.recordingProdStack),a=new ea({idx:r,terminalType:e,label:n==null?void 0:n.LABEL});return i.definition.push(a),YHe}},R(X6,"GastRecorder"),X6);function f2(t,e,r,n=!1){pC(r);const i=p5(this.recordingProdStack),a=bp(e)?e:e.DEF,s=new t({definition:[],idx:r});return n&&(s.separator=e.SEP),Xr(e,"MAX_LOOKAHEAD")&&(s.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(s),a.call(this),i.definition.push(s),this.recordingProdStack.pop(),__}R(f2,"recordProd");function XHe(t,e){pC(e);const r=p5(this.recordingProdStack),n=ti(t)===!1,i=n===!1?t:t.DEF,a=new Ic({definition:[],idx:e,ignoreAmbiguities:n&&t.IGNORE_AMBIGUITIES===!0});Xr(t,"MAX_LOOKAHEAD")&&(a.maxLookahead=t.MAX_LOOKAHEAD);const s=uze(i,o=>bp(o.GATE));return a.hasPredicates=s,r.definition.push(a),tn(i,o=>{const l=new Ec({definition:[]});a.definition.push(l),Xr(o,"IGNORE_AMBIGUITIES")?l.ignoreAmbiguities=o.IGNORE_AMBIGUITIES:Xr(o,"GATE")&&(l.ignoreAmbiguities=!0),this.recordingProdStack.push(l),o.ALT.call(this),this.recordingProdStack.pop()}),__}R(XHe,"recordOrProd");function BX(t){return t===0?"":`${t}`}R(BX,"getIdxSuffix");function pC(t){if(t<0||t>o5e){const e=new Error(`Invalid DSL Method idx value: <${t}>
Idx value must be a none negative value smaller than ${o5e+1}`);throw e.KNOWN_RECORDER_ERROR=!0,e}}R(pC,"assertMethodIdxIsValid");var K6,zdr=(K6=class{initPerformanceTracer(e){if(Xr(e,"traceInitPerf")){const r=e.traceInitPerf,n=typeof r=="number";this.traceInitMaxIdent=n?r:1/0,this.traceInitPerf=n?r>0:r}else this.traceInitMaxIdent=0,this.traceInitPerf=X0.traceInitPerf;this.traceInitIndent=-1}TRACE_INIT(e,r){if(this.traceInitPerf===!0){this.traceInitIndent++;const n=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent<this.traceInitMaxIdent&&console.log(`${n}--> <${e}>`);const{time:i,value:a}=xie(r),s=i>10?console.warn:console.log;return this.traceInitIndent<this.traceInitMaxIdent&&s(`${n}<-- <${e}> time: ${i}ms`),this.traceInitIndent--,a}else return r()}},R(K6,"PerformanceTracer"),K6);function KHe(t,e){e.forEach(r=>{const n=r.prototype;Object.getOwnPropertyNames(n).forEach(i=>{if(i==="constructor")return;const a=Object.getOwnPropertyDescriptor(n,i);a&&(a.get||a.set)?Object.defineProperty(t.prototype,i,a):t.prototype[i]=r.prototype[i]})})}R(KHe,"applyMixins");var WN=QS(d1,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(WN);var X0=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:K2,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1}),qN=Object.freeze({recoveryValueFunc:R(()=>{},"recoveryValueFunc"),resyncEnabled:!0}),jl;(function(t){t[t.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",t[t.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",t[t.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",t[t.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",t[t.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",t[t.LEFT_RECURSION=5]="LEFT_RECURSION",t[t.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",t[t.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",t[t.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",t[t.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",t[t.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",t[t.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",t[t.TOO_MANY_ALTS=12]="TOO_MANY_ALTS",t[t.CUSTOM_LOOKAHEAD_VALIDATION=13]="CUSTOM_LOOKAHEAD_VALIDATION"})(jl||(jl={}));function $X(t=void 0){return function(){return t}}R($X,"EMPTY_ALT");var PU,Bie=(PU=class{static performSelfAnalysis(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")}performSelfAnalysis(){this.TRACE_INIT("performSelfAnalysis",()=>{let e;this.selfAnalysisDone=!0;const r=this.className;this.TRACE_INIT("toFastProps",()=>{wie(this)}),this.TRACE_INIT("Grammar Recording",()=>{try{this.enableRecording(),tn(this.definedRulesNames,i=>{const s=this[i].originalGrammarAction;let o;this.TRACE_INIT(`${i} Rule`,()=>{o=this.topLevelRuleRecord(i,s)}),this.gastProductionsCache[i]=o})}finally{this.disableRecording()}});let n=[];if(this.TRACE_INIT("Grammar Resolving",()=>{n=EHe({rules:Es(this.gastProductionsCache)}),this.definitionErrors=this.definitionErrors.concat(n)}),this.TRACE_INIT("Grammar Validations",()=>{if(Gi(n)&&this.skipValidations===!1){const i=AHe({rules:Es(this.gastProductionsCache),tokenTypes:Es(this.tokensMap),errMsgProvider:yU,grammarName:r}),a=pHe({lookaheadStrategy:this.lookaheadStrategy,rules:Es(this.gastProductionsCache),tokenTypes:Es(this.tokensMap),grammarName:r});this.definitionErrors=this.definitionErrors.concat(i,a)}}),Gi(this.definitionErrors)&&(this.recoveryEnabled&&this.TRACE_INIT("computeAllProdsFollows",()=>{const i=wze(Es(this.gastProductionsCache));this.resyncFollows=i}),this.TRACE_INIT("ComputeLookaheadFunctions",()=>{var i,a;(a=(i=this.lookaheadStrategy).initialize)===null||a===void 0||a.call(i,{rules:Es(this.gastProductionsCache)}),this.preComputeLookaheadFunctions(Es(this.gastProductionsCache))})),!PU.DEFER_DEFINITION_ERRORS_HANDLING&&!Gi(this.definitionErrors))throw e=Ir(this.definitionErrors,i=>i.message),new Error(`Parser Definition Errors detected:
${e.join(`
-------------------------------
`)}`)})}constructor(e,r){this.definitionErrors=[],this.selfAnalysisDone=!1;const n=this;if(n.initErrorHandler(r),n.initLexerAdapter(),n.initLooksAhead(r),n.initRecognizerEngine(e,r),n.initRecoverable(r),n.initTreeBuilder(r),n.initContentAssist(),n.initGastRecorder(r),n.initPerformanceTracer(r),Xr(r,"ignoredIssues"))throw new Error(`The <ignoredIssues> IParserConfig property has been deprecated.
Please use the <IGNORE_AMBIGUITIES> flag on the relevant DSL method instead.
See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES
For further details.`);this.skipValidations=Xr(r,"skipValidations")?r.skipValidations:X0.skipValidations}},R(PU,"Parser"),PU);Bie.DEFER_DEFINITION_ERRORS_HANDLING=!1;KHe(Bie,[Adr,Rdr,Ndr,Odr,Pdr,Ddr,_dr,Bdr,Fdr,zdr]);var Z6,Hdr=(Z6=class extends Bie{constructor(e,r=X0){const n=Po(r);n.outputCst=!1,super(e,n)}},R(Z6,"EmbeddedActionsParser"),Z6);function ZHe(t,e){for(var r=-1,n=t==null?0:t.length,i=Array(n);++r<n;)i[r]=e(t[r],r,t);return i}R(ZHe,"arrayMap");var JHe=ZHe;function QHe(){this.__data__=[],this.size=0}R(QHe,"listCacheClear");var Vdr=QHe;function eVe(t,e){return t===e||t!==t&&e!==e}R(eVe,"eq");var tVe=eVe;function rVe(t,e){for(var r=t.length;r--;)if(tVe(t[r][0],e))return r;return-1}R(rVe,"assocIndexOf");var B_=rVe,Gdr=Array.prototype,Wdr=Gdr.splice;function nVe(t){var e=this.__data__,r=B_(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():Wdr.call(e,r,1),--this.size,!0}R(nVe,"listCacheDelete");var qdr=nVe;function iVe(t){var e=this.__data__,r=B_(e,t);return r<0?void 0:e[r][1]}R(iVe,"listCacheGet");var jdr=iVe;function aVe(t){return B_(this.__data__,t)>-1}R(aVe,"listCacheHas");var Ydr=aVe;function sVe(t,e){var r=this.__data__,n=B_(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}R(sVe,"listCacheSet");var Xdr=sVe;function J5(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}R(J5,"ListCache");J5.prototype.clear=Vdr;J5.prototype.delete=qdr;J5.prototype.get=jdr;J5.prototype.has=Ydr;J5.prototype.set=Xdr;var $_=J5;function oVe(){this.__data__=new $_,this.size=0}R(oVe,"stackClear");var Kdr=oVe;function lVe(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}R(lVe,"stackDelete");var Zdr=lVe;function cVe(t){return this.__data__.get(t)}R(cVe,"stackGet");var Jdr=cVe;function uVe(t){return this.__data__.has(t)}R(uVe,"stackHas");var Qdr=uVe,ehr=typeof global=="object"&&global&&global.Object===Object&&global,dVe=ehr,thr=typeof self=="object"&&self&&self.Object===Object&&self,rhr=dVe||thr||Function("return this")(),vp=rhr,nhr=vp.Symbol,rf=nhr,hVe=Object.prototype,ihr=hVe.hasOwnProperty,ahr=hVe.toString,p9=rf?rf.toStringTag:void 0;function fVe(t){var e=ihr.call(t,p9),r=t[p9];try{t[p9]=void 0;var n=!0}catch{}var i=ahr.call(t);return n&&(e?t[p9]=r:delete t[p9]),i}R(fVe,"getRawTag");var shr=fVe,ohr=Object.prototype,lhr=ohr.toString;function pVe(t){return lhr.call(t)}R(pVe,"objectToString");var chr=pVe,uhr="[object Null]",dhr="[object Undefined]",l5e=rf?rf.toStringTag:void 0;function gVe(t){return t==null?t===void 0?dhr:uhr:l5e&&l5e in Object(t)?shr(t):chr(t)}R(gVe,"baseGetTag");var E3=gVe;function mVe(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}R(mVe,"isObject");var $ie=mVe,hhr="[object AsyncFunction]",fhr="[object Function]",phr="[object GeneratorFunction]",ghr="[object Proxy]";function UVe(t){if(!$ie(t))return!1;var e=E3(t);return e==fhr||e==phr||e==hhr||e==ghr}R(UVe,"isFunction");var yVe=UVe,mhr=vp["__core-js_shared__"],FH=mhr,c5e=(function(){var t=/[^.]+$/.exec(FH&&FH.keys&&FH.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""})();function bVe(t){return!!c5e&&c5e in t}R(bVe,"isMasked");var Uhr=bVe,yhr=Function.prototype,bhr=yhr.toString;function vVe(t){if(t!=null){try{return bhr.call(t)}catch{}try{return t+""}catch{}}return""}R(vVe,"toSource");var Q5=vVe,vhr=/[\\^$.*+?()[\]{}|]/g,xhr=/^\[object .+?Constructor\]$/,whr=Function.prototype,Thr=Object.prototype,Chr=whr.toString,Shr=Thr.hasOwnProperty,khr=RegExp("^"+Chr.call(Shr).replace(vhr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function xVe(t){if(!$ie(t)||Uhr(t))return!1;var e=yVe(t)?khr:xhr;return e.test(Q5(t))}R(xVe,"baseIsNative");var Ehr=xVe;function wVe(t,e){return t==null?void 0:t[e]}R(wVe,"getValue");var Ahr=wVe;function TVe(t,e){var r=Ahr(t,e);return Ehr(r)?r:void 0}R(TVe,"getNative");var A3=TVe,Mhr=A3(vp,"Map"),gC=Mhr,Rhr=A3(Object,"create"),mC=Rhr;function CVe(){this.__data__=mC?mC(null):{},this.size=0}R(CVe,"hashClear");var Ihr=CVe;function SVe(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}R(SVe,"hashDelete");var Lhr=SVe,Nhr="__lodash_hash_undefined__",Ohr=Object.prototype,Dhr=Ohr.hasOwnProperty;function kVe(t){var e=this.__data__;if(mC){var r=e[t];return r===Nhr?void 0:r}return Dhr.call(e,t)?e[t]:void 0}R(kVe,"hashGet");var Phr=kVe,_hr=Object.prototype,Bhr=_hr.hasOwnProperty;function EVe(t){var e=this.__data__;return mC?e[t]!==void 0:Bhr.call(e,t)}R(EVe,"hashHas");var $hr=EVe,Fhr="__lodash_hash_undefined__";function AVe(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=mC&&e===void 0?Fhr:e,this}R(AVe,"hashSet");var zhr=AVe;function ey(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}R(ey,"Hash");ey.prototype.clear=Ihr;ey.prototype.delete=Lhr;ey.prototype.get=Phr;ey.prototype.has=$hr;ey.prototype.set=zhr;var u5e=ey;function MVe(){this.size=0,this.__data__={hash:new u5e,map:new(gC||$_),string:new u5e}}R(MVe,"mapCacheClear");var Hhr=MVe;function RVe(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}R(RVe,"isKeyable");var Vhr=RVe;function IVe(t,e){var r=t.__data__;return Vhr(e)?r[typeof e=="string"?"string":"hash"]:r.map}R(IVe,"getMapData");var F_=IVe;function LVe(t){var e=F_(this,t).delete(t);return this.size-=e?1:0,e}R(LVe,"mapCacheDelete");var Ghr=LVe;function NVe(t){return F_(this,t).get(t)}R(NVe,"mapCacheGet");var Whr=NVe;function OVe(t){return F_(this,t).has(t)}R(OVe,"mapCacheHas");var qhr=OVe;function DVe(t,e){var r=F_(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}R(DVe,"mapCacheSet");var jhr=DVe;function ty(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}R(ty,"MapCache");ty.prototype.clear=Hhr;ty.prototype.delete=Ghr;ty.prototype.get=Whr;ty.prototype.has=qhr;ty.prototype.set=jhr;var z_=ty,Yhr=200;function PVe(t,e){var r=this.__data__;if(r instanceof $_){var n=r.__data__;if(!gC||n.length<Yhr-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new z_(n)}return r.set(t,e),this.size=r.size,this}R(PVe,"stackSet");var Xhr=PVe;function ry(t){var e=this.__data__=new $_(t);this.size=e.size}R(ry,"Stack");ry.prototype.clear=Kdr;ry.prototype.delete=Zdr;ry.prototype.get=Jdr;ry.prototype.has=Qdr;ry.prototype.set=Xhr;var GM=ry,Khr="__lodash_hash_undefined__";function _Ve(t){return this.__data__.set(t,Khr),this}R(_Ve,"setCacheAdd");var Zhr=_Ve;function BVe(t){return this.__data__.has(t)}R(BVe,"setCacheHas");var Jhr=BVe;function UC(t){var e=-1,r=t==null?0:t.length;for(this.__data__=new z_;++e<r;)this.add(t[e])}R(UC,"SetCache");UC.prototype.add=UC.prototype.push=Zhr;UC.prototype.has=Jhr;var $Ve=UC;function FVe(t,e){for(var r=-1,n=t==null?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}R(FVe,"arraySome");var Qhr=FVe;function zVe(t,e){return t.has(e)}R(zVe,"cacheHas");var HVe=zVe,efr=1,tfr=2;function VVe(t,e,r,n,i,a){var s=r&efr,o=t.length,l=e.length;if(o!=l&&!(s&&l>o))return!1;var u=a.get(t),d=a.get(e);if(u&&d)return u==e&&d==t;var h=-1,f=!0,p=r&tfr?new $Ve:void 0;for(a.set(t,e),a.set(e,t);++h<o;){var g=t[h],m=e[h];if(n)var U=s?n(m,g,h,e,t,a):n(g,m,h,t,e,a);if(U!==void 0){if(U)continue;f=!1;break}if(p){if(!Qhr(e,function(y,b){if(!HVe(p,b)&&(g===y||i(g,y,r,n,a)))return p.push(b)})){f=!1;break}}else if(!(g===m||i(g,m,r,n,a))){f=!1;break}}return a.delete(t),a.delete(e),f}R(VVe,"equalArrays");var GVe=VVe,rfr=vp.Uint8Array,d5e=rfr;function WVe(t){var e=-1,r=Array(t.size);return t.forEach(function(n,i){r[++e]=[i,n]}),r}R(WVe,"mapToArray");var nfr=WVe;function qVe(t){var e=-1,r=Array(t.size);return t.forEach(function(n){r[++e]=n}),r}R(qVe,"setToArray");var Fie=qVe,ifr=1,afr=2,sfr="[object Boolean]",ofr="[object Date]",lfr="[object Error]",cfr="[object Map]",ufr="[object Number]",dfr="[object RegExp]",hfr="[object Set]",ffr="[object String]",pfr="[object Symbol]",gfr="[object ArrayBuffer]",mfr="[object DataView]",h5e=rf?rf.prototype:void 0,zH=h5e?h5e.valueOf:void 0;function jVe(t,e,r,n,i,a,s){switch(r){case mfr:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case gfr:return!(t.byteLength!=e.byteLength||!a(new d5e(t),new d5e(e)));case sfr:case ofr:case ufr:return tVe(+t,+e);case lfr:return t.name==e.name&&t.message==e.message;case dfr:case ffr:return t==e+"";case cfr:var o=nfr;case hfr:var l=n&ifr;if(o||(o=Fie),t.size!=e.size&&!l)return!1;var u=s.get(t);if(u)return u==e;n|=afr,s.set(t,e);var d=GVe(o(t),o(e),n,i,a,s);return s.delete(t),d;case pfr:if(zH)return zH.call(t)==zH.call(e)}return!1}R(jVe,"equalByTag");var Ufr=jVe;function YVe(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}R(YVe,"arrayPush");var XVe=YVe,yfr=Array.isArray,Yl=yfr;function KVe(t,e,r){var n=e(t);return Yl(t)?n:XVe(n,r(t))}R(KVe,"baseGetAllKeys");var bfr=KVe;function ZVe(t,e){for(var r=-1,n=t==null?0:t.length,i=0,a=[];++r<n;){var s=t[r];e(s,r,t)&&(a[i++]=s)}return a}R(ZVe,"arrayFilter");var JVe=ZVe;function QVe(){return[]}R(QVe,"stubArray");var vfr=QVe,xfr=Object.prototype,wfr=xfr.propertyIsEnumerable,f5e=Object.getOwnPropertySymbols,Tfr=f5e?function(t){return t==null?[]:(t=Object(t),JVe(f5e(t),function(e){return wfr.call(t,e)}))}:vfr,Cfr=Tfr;function eGe(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}R(eGe,"baseTimes");var Sfr=eGe;function tGe(t){return t!=null&&typeof t=="object"}R(tGe,"isObjectLike");var k4=tGe,kfr="[object Arguments]";function rGe(t){return k4(t)&&E3(t)==kfr}R(rGe,"baseIsArguments");var p5e=rGe,nGe=Object.prototype,Efr=nGe.hasOwnProperty,Afr=nGe.propertyIsEnumerable,Mfr=p5e((function(){return arguments})())?p5e:function(t){return k4(t)&&Efr.call(t,"callee")&&!Afr.call(t,"callee")},H_=Mfr;function iGe(){return!1}R(iGe,"stubFalse");var Rfr=iGe,aGe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,g5e=aGe&&typeof module=="object"&&module&&!module.nodeType&&module,Ifr=g5e&&g5e.exports===aGe,m5e=Ifr?vp.Buffer:void 0,Lfr=m5e?m5e.isBuffer:void 0,Nfr=Lfr||Rfr,jN=Nfr,Ofr=9007199254740991,Dfr=/^(?:0|[1-9]\d*)$/;function sGe(t,e){var r=typeof t;return e=e??Ofr,!!e&&(r=="number"||r!="symbol"&&Dfr.test(t))&&t>-1&&t%1==0&&t<e}R(sGe,"isIndex");var oGe=sGe,Pfr=9007199254740991;function lGe(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Pfr}R(lGe,"isLength");var zie=lGe,_fr="[object Arguments]",Bfr="[object Array]",$fr="[object Boolean]",Ffr="[object Date]",zfr="[object Error]",Hfr="[object Function]",Vfr="[object Map]",Gfr="[object Number]",Wfr="[object Object]",qfr="[object RegExp]",jfr="[object Set]",Yfr="[object String]",Xfr="[object WeakMap]",Kfr="[object ArrayBuffer]",Zfr="[object DataView]",Jfr="[object Float32Array]",Qfr="[object Float64Array]",e0r="[object Int8Array]",t0r="[object Int16Array]",r0r="[object Int32Array]",n0r="[object Uint8Array]",i0r="[object Uint8ClampedArray]",a0r="[object Uint16Array]",s0r="[object Uint32Array]",Zi={};Zi[Jfr]=Zi[Qfr]=Zi[e0r]=Zi[t0r]=Zi[r0r]=Zi[n0r]=Zi[i0r]=Zi[a0r]=Zi[s0r]=!0;Zi[_fr]=Zi[Bfr]=Zi[Kfr]=Zi[$fr]=Zi[Zfr]=Zi[Ffr]=Zi[zfr]=Zi[Hfr]=Zi[Vfr]=Zi[Gfr]=Zi[Wfr]=Zi[qfr]=Zi[jfr]=Zi[Yfr]=Zi[Xfr]=!1;function cGe(t){return k4(t)&&zie(t.length)&&!!Zi[E3(t)]}R(cGe,"baseIsTypedArray");var o0r=cGe;function uGe(t){return function(e){return t(e)}}R(uGe,"baseUnary");var l0r=uGe,dGe=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Tw=dGe&&typeof module=="object"&&module&&!module.nodeType&&module,c0r=Tw&&Tw.exports===dGe,HH=c0r&&dVe.process,u0r=(function(){try{var t=Tw&&Tw.require&&Tw.require("util").types;return t||HH&&HH.binding&&HH.binding("util")}catch{}})(),U5e=u0r,y5e=U5e&&U5e.isTypedArray,d0r=y5e?l0r(y5e):o0r,Hie=d0r,h0r=Object.prototype,f0r=h0r.hasOwnProperty;function hGe(t,e){var r=Yl(t),n=!r&&H_(t),i=!r&&!n&&jN(t),a=!r&&!n&&!i&&Hie(t),s=r||n||i||a,o=s?Sfr(t.length,String):[],l=o.length;for(var u in t)(e||f0r.call(t,u))&&!(s&&(u=="length"||i&&(u=="offset"||u=="parent")||a&&(u=="buffer"||u=="byteLength"||u=="byteOffset")||oGe(u,l)))&&o.push(u);return o}R(hGe,"arrayLikeKeys");var p0r=hGe,g0r=Object.prototype;function fGe(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||g0r;return t===r}R(fGe,"isPrototype");var pGe=fGe;function gGe(t,e){return function(r){return t(e(r))}}R(gGe,"overArg");var m0r=gGe,U0r=m0r(Object.keys,Object),y0r=U0r,b0r=Object.prototype,v0r=b0r.hasOwnProperty;function mGe(t){if(!pGe(t))return y0r(t);var e=[];for(var r in Object(t))v0r.call(t,r)&&r!="constructor"&&e.push(r);return e}R(mGe,"baseKeys");var UGe=mGe;function yGe(t){return t!=null&&zie(t.length)&&!yVe(t)}R(yGe,"isArrayLike");var V_=yGe;function bGe(t){return V_(t)?p0r(t):UGe(t)}R(bGe,"keys");var Vie=bGe;function vGe(t){return bfr(t,Vie,Cfr)}R(vGe,"getAllKeys");var b5e=vGe,x0r=1,w0r=Object.prototype,T0r=w0r.hasOwnProperty;function xGe(t,e,r,n,i,a){var s=r&x0r,o=b5e(t),l=o.length,u=b5e(e),d=u.length;if(l!=d&&!s)return!1;for(var h=l;h--;){var f=o[h];if(!(s?f in e:T0r.call(e,f)))return!1}var p=a.get(t),g=a.get(e);if(p&&g)return p==e&&g==t;var m=!0;a.set(t,e),a.set(e,t);for(var U=s;++h<l;){f=o[h];var y=t[f],b=e[f];if(n)var v=s?n(b,y,f,e,t,a):n(y,b,f,t,e,a);if(!(v===void 0?y===b||i(y,b,r,n,a):v)){m=!1;break}U||(U=f=="constructor")}if(m&&!U){var w=t.constructor,T=e.constructor;w!=T&&"constructor"in t&&"constructor"in e&&!(typeof w=="function"&&w instanceof w&&typeof T=="function"&&T instanceof T)&&(m=!1)}return a.delete(t),a.delete(e),m}R(xGe,"equalObjects");var C0r=xGe,S0r=A3(vp,"DataView"),FX=S0r,k0r=A3(vp,"Promise"),zX=k0r,E0r=A3(vp,"Set"),Eb=E0r,A0r=A3(vp,"WeakMap"),HX=A0r,v5e="[object Map]",M0r="[object Object]",x5e="[object Promise]",w5e="[object Set]",T5e="[object WeakMap]",C5e="[object DataView]",R0r=Q5(FX),I0r=Q5(gC),L0r=Q5(zX),N0r=Q5(Eb),O0r=Q5(HX),Rm=E3;(FX&&Rm(new FX(new ArrayBuffer(1)))!=C5e||gC&&Rm(new gC)!=v5e||zX&&Rm(zX.resolve())!=x5e||Eb&&Rm(new Eb)!=w5e||HX&&Rm(new HX)!=T5e)&&(Rm=R(function(t){var e=E3(t),r=e==M0r?t.constructor:void 0,n=r?Q5(r):"";if(n)switch(n){case R0r:return C5e;case I0r:return v5e;case L0r:return x5e;case N0r:return w5e;case O0r:return T5e}return e},"getTag"));var VX=Rm,D0r=1,S5e="[object Arguments]",k5e="[object Array]",eA="[object Object]",P0r=Object.prototype,E5e=P0r.hasOwnProperty;function wGe(t,e,r,n,i,a){var s=Yl(t),o=Yl(e),l=s?k5e:VX(t),u=o?k5e:VX(e);l=l==S5e?eA:l,u=u==S5e?eA:u;var d=l==eA,h=u==eA,f=l==u;if(f&&jN(t)){if(!jN(e))return!1;s=!0,d=!1}if(f&&!d)return a||(a=new GM),s||Hie(t)?GVe(t,e,r,n,i,a):Ufr(t,e,l,r,n,i,a);if(!(r&D0r)){var p=d&&E5e.call(t,"__wrapped__"),g=h&&E5e.call(e,"__wrapped__");if(p||g){var m=p?t.value():t,U=g?e.value():e;return a||(a=new GM),i(m,U,r,n,a)}}return f?(a||(a=new GM),C0r(t,e,r,n,i,a)):!1}R(wGe,"baseIsEqualDeep");var _0r=wGe;function Gie(t,e,r,n,i){return t===e?!0:t==null||e==null||!k4(t)&&!k4(e)?t!==t&&e!==e:_0r(t,e,r,n,Gie,i)}R(Gie,"baseIsEqual");var TGe=Gie,B0r=1,$0r=2;function CGe(t,e,r,n){var i=r.length,a=i,s=!n;if(t==null)return!a;for(t=Object(t);i--;){var o=r[i];if(s&&o[2]?o[1]!==t[o[0]]:!(o[0]in t))return!1}for(;++i<a;){o=r[i];var l=o[0],u=t[l],d=o[1];if(s&&o[2]){if(u===void 0&&!(l in t))return!1}else{var h=new GM;if(n)var f=n(u,d,l,t,e,h);if(!(f===void 0?TGe(d,u,B0r|$0r,n,h):f))return!1}}return!0}R(CGe,"baseIsMatch");var F0r=CGe;function SGe(t){return t===t&&!$ie(t)}R(SGe,"isStrictComparable");var kGe=SGe;function EGe(t){for(var e=Vie(t),r=e.length;r--;){var n=e[r],i=t[n];e[r]=[n,i,kGe(i)]}return e}R(EGe,"getMatchData");var z0r=EGe;function AGe(t,e){return function(r){return r==null?!1:r[t]===e&&(e!==void 0||t in Object(r))}}R(AGe,"matchesStrictComparable");var MGe=AGe;function RGe(t){var e=z0r(t);return e.length==1&&e[0][2]?MGe(e[0][0],e[0][1]):function(r){return r===t||F0r(r,t,e)}}R(RGe,"baseMatches");var H0r=RGe,V0r="[object Symbol]";function IGe(t){return typeof t=="symbol"||k4(t)&&E3(t)==V0r}R(IGe,"isSymbol");var G_=IGe,G0r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,W0r=/^\w*$/;function LGe(t,e){if(Yl(t))return!1;var r=typeof t;return r=="number"||r=="symbol"||r=="boolean"||t==null||G_(t)?!0:W0r.test(t)||!G0r.test(t)||e!=null&&t in Object(e)}R(LGe,"isKey");var Wie=LGe,q0r="Expected a function";function W_(t,e){if(typeof t!="function"||e!=null&&typeof e!="function")throw new TypeError(q0r);var r=R(function(){var n=arguments,i=e?e.apply(this,n):n[0],a=r.cache;if(a.has(i))return a.get(i);var s=t.apply(this,n);return r.cache=a.set(i,s)||a,s},"memoized");return r.cache=new(W_.Cache||z_),r}R(W_,"memoize");W_.Cache=z_;var j0r=W_,Y0r=500;function NGe(t){var e=j0r(t,function(n){return r.size===Y0r&&r.clear(),n}),r=e.cache;return e}R(NGe,"memoizeCapped");var X0r=NGe,K0r=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Z0r=/\\(\\)?/g,J0r=X0r(function(t){var e=[];return t.charCodeAt(0)===46&&e.push(""),t.replace(K0r,function(r,n,i,a){e.push(i?a.replace(Z0r,"$1"):n||r)}),e}),Q0r=J0r,A5e=rf?rf.prototype:void 0,M5e=A5e?A5e.toString:void 0;function qie(t){if(typeof t=="string")return t;if(Yl(t))return JHe(t,qie)+"";if(G_(t))return M5e?M5e.call(t):"";var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}R(qie,"baseToString");var epr=qie;function OGe(t){return t==null?"":epr(t)}R(OGe,"toString");var tpr=OGe;function DGe(t,e){return Yl(t)?t:Wie(t,e)?[t]:Q0r(tpr(t))}R(DGe,"castPath");var PGe=DGe;function _Ge(t){if(typeof t=="string"||G_(t))return t;var e=t+"";return e=="0"&&1/t==-1/0?"-0":e}R(_Ge,"toKey");var q_=_Ge;function BGe(t,e){e=PGe(e,t);for(var r=0,n=e.length;t!=null&&r<n;)t=t[q_(e[r++])];return r&&r==n?t:void 0}R(BGe,"baseGet");var $Ge=BGe;function FGe(t,e,r){var n=t==null?void 0:$Ge(t,e);return n===void 0?r:n}R(FGe,"get");var rpr=FGe;function zGe(t,e){return t!=null&&e in Object(t)}R(zGe,"baseHasIn");var npr=zGe;function HGe(t,e,r){e=PGe(e,t);for(var n=-1,i=e.length,a=!1;++n<i;){var s=q_(e[n]);if(!(a=t!=null&&r(t,s)))break;t=t[s]}return a||++n!=i?a:(i=t==null?0:t.length,!!i&&zie(i)&&oGe(s,i)&&(Yl(t)||H_(t)))}R(HGe,"hasPath");var ipr=HGe;function VGe(t,e){return t!=null&&ipr(t,e,npr)}R(VGe,"hasIn");var apr=VGe,spr=1,opr=2;function GGe(t,e){return Wie(t)&&kGe(e)?MGe(q_(t),e):function(r){var n=rpr(r,t);return n===void 0&&n===e?apr(r,t):TGe(e,n,spr|opr)}}R(GGe,"baseMatchesProperty");var lpr=GGe;function WGe(t){return t}R(WGe,"identity");var jie=WGe;function qGe(t){return function(e){return e==null?void 0:e[t]}}R(qGe,"baseProperty");var cpr=qGe;function jGe(t){return function(e){return $Ge(e,t)}}R(jGe,"basePropertyDeep");var upr=jGe;function YGe(t){return Wie(t)?cpr(q_(t)):upr(t)}R(YGe,"property");var dpr=YGe;function XGe(t){return typeof t=="function"?t:t==null?jie:typeof t=="object"?Yl(t)?lpr(t[0],t[1]):H0r(t):dpr(t)}R(XGe,"baseIteratee");var j_=XGe;function KGe(t){return function(e,r,n){for(var i=-1,a=Object(e),s=n(e),o=s.length;o--;){var l=s[t?o:++i];if(r(a[l],l,a)===!1)break}return e}}R(KGe,"createBaseFor");var hpr=KGe,fpr=hpr(),ppr=fpr;function ZGe(t,e){return t&&ppr(t,e,Vie)}R(ZGe,"baseForOwn");var gpr=ZGe;function JGe(t,e){return function(r,n){if(r==null)return r;if(!V_(r))return t(r,n);for(var i=r.length,a=e?i:-1,s=Object(r);(e?a--:++a<i)&&n(s[a],a,s)!==!1;);return r}}R(JGe,"createBaseEach");var mpr=JGe,Upr=mpr(gpr),Y_=Upr;function QGe(t,e){var r=-1,n=V_(t)?Array(t.length):[];return Y_(t,function(i,a,s){n[++r]=e(i,a,s)}),n}R(QGe,"baseMap");var ypr=QGe;function eWe(t,e){var r=Yl(t)?JHe:ypr;return r(t,j_(e))}R(eWe,"map");var h0=eWe;function tWe(t,e){var r=[];return Y_(t,function(n,i,a){e(n,i,a)&&r.push(n)}),r}R(tWe,"baseFilter");var bpr=tWe;function rWe(t,e){var r=Yl(t)?JVe:bpr;return r(t,j_(e))}R(rWe,"filter");var vpr=rWe;function m5(t,e,r){return`${t.name}_${e}_${r}`}R(m5,"buildATNKey");var h1=1,xpr=2,nWe=4,iWe=5,rk=7,wpr=8,Tpr=9,Cpr=10,Spr=11,aWe=12,J6,Yie=(J6=class{constructor(e){this.target=e}isEpsilon(){return!1}},R(J6,"AbstractTransition"),J6),Q6,Xie=(Q6=class extends Yie{constructor(e,r){super(e),this.tokenType=r}},R(Q6,"AtomTransition"),Q6),e7,sWe=(e7=class extends Yie{constructor(e){super(e)}isEpsilon(){return!0}},R(e7,"EpsilonTransition"),e7),t7,Kie=(t7=class extends Yie{constructor(e,r,n){super(e),this.rule=r,this.followState=n}isEpsilon(){return!0}},R(t7,"RuleTransition"),t7);function oWe(t){const e={decisionMap:{},decisionStates:[],ruleToStartState:new Map,ruleToStopState:new Map,states:[]};lWe(e,t);const r=t.length;for(let n=0;n<r;n++){const i=t[n],a=z1(e,i,i);a!==void 0&&bWe(e,i,a)}return e}R(oWe,"createATN");function lWe(t,e){const r=e.length;for(let n=0;n<r;n++){const i=e[n],a=Ds(t,i,void 0,{type:xpr}),s=Ds(t,i,void 0,{type:rk});a.stop=s,t.ruleToStartState.set(i,a),t.ruleToStopState.set(i,s)}}R(lWe,"createRuleStartAndStopATNStates");function Zie(t,e,r){return r instanceof ea?X_(t,e,r.terminalType,r):r instanceof ql?yWe(t,e,r):r instanceof Ic?fWe(t,e,r):r instanceof Oo?pWe(t,e,r):r instanceof za?cWe(t,e,r):r instanceof Rc?uWe(t,e,r):r instanceof du?dWe(t,e,r):r instanceof hu?hWe(t,e,r):z1(t,e,r)}R(Zie,"atom");function cWe(t,e,r){const n=Ds(t,e,r,{type:iWe});xp(t,n);const i=ny(t,e,n,r,z1(t,e,r));return Qie(t,e,r,i)}R(cWe,"repetition");function uWe(t,e,r){const n=Ds(t,e,r,{type:iWe});xp(t,n);const i=ny(t,e,n,r,z1(t,e,r)),a=X_(t,e,r.separator,r);return Qie(t,e,r,i,a)}R(uWe,"repetitionSep");function dWe(t,e,r){const n=Ds(t,e,r,{type:nWe});xp(t,n);const i=ny(t,e,n,r,z1(t,e,r));return Jie(t,e,r,i)}R(dWe,"repetitionMandatory");function hWe(t,e,r){const n=Ds(t,e,r,{type:nWe});xp(t,n);const i=ny(t,e,n,r,z1(t,e,r)),a=X_(t,e,r.separator,r);return Jie(t,e,r,i,a)}R(hWe,"repetitionMandatorySep");function fWe(t,e,r){const n=Ds(t,e,r,{type:h1});xp(t,n);const i=h0(r.definition,s=>Zie(t,e,s));return ny(t,e,n,r,...i)}R(fWe,"alternation");function pWe(t,e,r){const n=Ds(t,e,r,{type:h1});xp(t,n);const i=ny(t,e,n,r,z1(t,e,r));return gWe(t,e,r,i)}R(pWe,"option");function z1(t,e,r){const n=vpr(h0(r.definition,i=>Zie(t,e,i)),i=>i!==void 0);return n.length===1?n[0]:n.length===0?void 0:UWe(t,n)}R(z1,"block");function Jie(t,e,r,n,i){const a=n.left,s=n.right,o=Ds(t,e,r,{type:Spr});xp(t,o);const l=Ds(t,e,r,{type:aWe});return a.loopback=o,l.loopback=o,t.decisionMap[m5(e,i?"RepetitionMandatoryWithSeparator":"RepetitionMandatory",r.idx)]=o,Ka(s,o),i===void 0?(Ka(o,a),Ka(o,l)):(Ka(o,l),Ka(o,i.left),Ka(i.right,a)),{left:a,right:l}}R(Jie,"plus");function Qie(t,e,r,n,i){const a=n.left,s=n.right,o=Ds(t,e,r,{type:Cpr});xp(t,o);const l=Ds(t,e,r,{type:aWe}),u=Ds(t,e,r,{type:Tpr});return o.loopback=u,l.loopback=u,Ka(o,a),Ka(o,l),Ka(s,u),i!==void 0?(Ka(u,l),Ka(u,i.left),Ka(i.right,a)):Ka(u,o),t.decisionMap[m5(e,i?"RepetitionWithSeparator":"Repetition",r.idx)]=o,{left:o,right:l}}R(Qie,"star");function gWe(t,e,r,n){const i=n.left,a=n.right;return Ka(i,a),t.decisionMap[m5(e,"Option",r.idx)]=i,n}R(gWe,"optional");function xp(t,e){return t.decisionStates.push(e),e.decision=t.decisionStates.length-1,e.decision}R(xp,"defineDecisionState");function ny(t,e,r,n,...i){const a=Ds(t,e,n,{type:wpr,start:r});r.end=a;for(const o of i)o!==void 0?(Ka(r,o.left),Ka(o.right,a)):Ka(r,a);const s={left:r,right:a};return t.decisionMap[m5(e,mWe(n),n.idx)]=r,s}R(ny,"makeAlts");function mWe(t){if(t instanceof Ic)return"Alternation";if(t instanceof Oo)return"Option";if(t instanceof za)return"Repetition";if(t instanceof Rc)return"RepetitionWithSeparator";if(t instanceof du)return"RepetitionMandatory";if(t instanceof hu)return"RepetitionMandatoryWithSeparator";throw new Error("Invalid production type encountered")}R(mWe,"getProdType");function UWe(t,e){const r=e.length;for(let a=0;a<r-1;a++){const s=e[a];let o;s.left.transitions.length===1&&(o=s.left.transitions[0]);const l=o instanceof Kie,u=o,d=e[a+1].left;s.left.type===h1&&s.right.type===h1&&o!==void 0&&(l&&u.followState===s.right||o.target===s.right)?(l?u.followState=d:o.target=d,vWe(t,s.right)):Ka(s.right,d)}const n=e[0],i=e[r-1];return{left:n.left,right:i.right}}R(UWe,"makeBlock");function X_(t,e,r,n){const i=Ds(t,e,n,{type:h1}),a=Ds(t,e,n,{type:h1});return K_(i,new Xie(a,r)),{left:i,right:a}}R(X_,"tokenRef");function yWe(t,e,r){const n=r.referencedRule,i=t.ruleToStartState.get(n),a=Ds(t,e,r,{type:h1}),s=Ds(t,e,r,{type:h1}),o=new Kie(i,n,s);return K_(a,o),{left:a,right:s}}R(yWe,"ruleRef");function bWe(t,e,r){const n=t.ruleToStartState.get(e);Ka(n,r.left);const i=t.ruleToStopState.get(e);return Ka(r.right,i),{left:n,right:i}}R(bWe,"buildRuleHandle");function Ka(t,e){const r=new sWe(e);K_(t,r)}R(Ka,"epsilon");function Ds(t,e,r,n){const i=Object.assign({atn:t,production:r,epsilonOnlyTransitions:!1,rule:e,transitions:[],nextTokenWithinRule:[],stateNumber:t.states.length},n);return t.states.push(i),i}R(Ds,"newState");function K_(t,e){t.transitions.length===0&&(t.epsilonOnlyTransitions=e.isEpsilon()),t.transitions.push(e)}R(K_,"addTransition");function vWe(t,e){t.states.splice(t.states.indexOf(e),1)}R(vWe,"removeState");var YN={},r7,GX=(r7=class{constructor(){this.map={},this.configs=[]}get size(){return this.configs.length}finalize(){this.map={}}add(e){const r=eae(e);r in this.map||(this.map[r]=this.configs.length,this.configs.push(e))}get elements(){return this.configs}get alts(){return h0(this.configs,e=>e.alt)}get key(){let e="";for(const r in this.map)e+=r+":";return e}},R(r7,"ATNConfigSet"),r7);function eae(t,e=!0){return`${e?`a${t.alt}`:""}s${t.state.stateNumber}:${t.stack.map(r=>r.stateNumber.toString()).join("_")}`}R(eae,"getATNConfigKey");function xWe(t,e,r){for(var n=-1,i=t.length;++n<i;){var a=t[n],s=e(a);if(s!=null&&(o===void 0?s===s&&!G_(s):r(s,o)))var o=s,l=a}return l}R(xWe,"baseExtremum");var kpr=xWe;function wWe(t,e){return t<e}R(wWe,"baseLt");var Epr=wWe;function TWe(t){return t&&t.length?kpr(t,jie,Epr):void 0}R(TWe,"min");var Apr=TWe,R5e=rf?rf.isConcatSpreadable:void 0;function CWe(t){return Yl(t)||H_(t)||!!(R5e&&t&&t[R5e])}R(CWe,"isFlattenable");var Mpr=CWe;function tae(t,e,r,n,i){var a=-1,s=t.length;for(r||(r=Mpr),i||(i=[]);++a<s;){var o=t[a];e>0&&r(o)?e>1?tae(o,e-1,r,n,i):XVe(i,o):n||(i[i.length]=o)}return i}R(tae,"baseFlatten");var SWe=tae;function kWe(t,e){return SWe(h0(t,e),1)}R(kWe,"flatMap");var Rpr=kWe;function EWe(t,e,r,n){for(var i=t.length,a=r+(n?1:-1);n?a--:++a<i;)if(e(t[a],a,t))return a;return-1}R(EWe,"baseFindIndex");var Ipr=EWe;function AWe(t){return t!==t}R(AWe,"baseIsNaN");var Lpr=AWe;function MWe(t,e,r){for(var n=r-1,i=t.length;++n<i;)if(t[n]===e)return n;return-1}R(MWe,"strictIndexOf");var Npr=MWe;function RWe(t,e,r){return e===e?Npr(t,e,r):Ipr(t,Lpr,r)}R(RWe,"baseIndexOf");var Opr=RWe;function IWe(t,e){var r=t==null?0:t.length;return!!r&&Opr(t,e,0)>-1}R(IWe,"arrayIncludes");var Dpr=IWe;function LWe(t,e,r){for(var n=-1,i=t==null?0:t.length;++n<i;)if(r(e,t[n]))return!0;return!1}R(LWe,"arrayIncludesWith");var Ppr=LWe;function NWe(){}R(NWe,"noop");var _pr=NWe,Bpr=1/0,$pr=Eb&&1/Fie(new Eb([,-0]))[1]==Bpr?function(t){return new Eb(t)}:_pr,Fpr=$pr,zpr=200;function OWe(t,e,r){var n=-1,i=Dpr,a=t.length,s=!0,o=[],l=o;if(r)s=!1,i=Ppr;else if(a>=zpr){var u=e?null:Fpr(t);if(u)return Fie(u);s=!1,i=HVe,l=new $Ve}else l=e?[]:o;e:for(;++n<a;){var d=t[n],h=e?e(d):d;if(d=r||d!==0?d:0,s&&h===h){for(var f=l.length;f--;)if(l[f]===h)continue e;e&&l.push(h),o.push(d)}else i(l,h,r)||(l!==o&&l.push(h),o.push(d))}return o}R(OWe,"baseUniq");var Hpr=OWe;function DWe(t,e){return t&&t.length?Hpr(t,j_(e)):[]}R(DWe,"uniqBy");var Vpr=DWe;function PWe(t){var e=t==null?0:t.length;return e?SWe(t,1):[]}R(PWe,"flatten");var Gpr=PWe;function _We(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}R(_We,"arrayEach");var Wpr=_We;function BWe(t){return typeof t=="function"?t:jie}R(BWe,"castFunction");var qpr=BWe;function $We(t,e){var r=Yl(t)?Wpr:Y_;return r(t,qpr(e))}R($We,"forEach");var VH=$We,jpr="[object Map]",Ypr="[object Set]",Xpr=Object.prototype,Kpr=Xpr.hasOwnProperty;function FWe(t){if(t==null)return!0;if(V_(t)&&(Yl(t)||typeof t=="string"||typeof t.splice=="function"||jN(t)||Hie(t)||H_(t)))return!t.length;var e=VX(t);if(e==jpr||e==Ypr)return!t.size;if(pGe(t))return!UGe(t).length;for(var r in t)if(Kpr.call(t,r))return!1;return!0}R(FWe,"isEmpty");var Zpr=FWe;function zWe(t,e,r,n){var i=-1,a=t==null?0:t.length;for(n&&a&&(r=t[++i]);++i<a;)r=e(r,t[i],i,t);return r}R(zWe,"arrayReduce");var Jpr=zWe;function HWe(t,e,r,n,i){return i(t,function(a,s,o){r=n?(n=!1,a):e(r,a,s,o)}),r}R(HWe,"baseReduce");var Qpr=HWe;function VWe(t,e,r){var n=Yl(t)?Jpr:Qpr,i=arguments.length<3;return n(t,j_(e),r,i,Y_)}R(VWe,"reduce");var I5e=VWe;function GWe(t,e){const r={};return n=>{const i=n.toString();let a=r[i];return a!==void 0||(a={atnStartState:t,decision:e,states:{}},r[i]=a),a}}R(GWe,"createDFACache");var n7,WWe=(n7=class{constructor(){this.predicates=[]}is(e){return e>=this.predicates.length||this.predicates[e]}set(e,r){this.predicates[e]=r}toString(){let e="";const r=this.predicates.length;for(let n=0;n<r;n++)e+=this.predicates[n]===!0?"1":"0";return e}},R(n7,"PredicateSet"),n7),L5e=new WWe,i7,egr=(i7=class extends Pie{constructor(e){var r;super(),this.logging=(r=e==null?void 0:e.logging)!==null&&r!==void 0?r:(n=>console.log(n))}initialize(e){this.atn=oWe(e.rules),this.dfas=qWe(this.atn)}validateAmbiguousAlternationAlternatives(){return[]}validateEmptyOrAlternatives(){return[]}buildLookaheadForAlternation(e){const{prodOccurrence:r,rule:n,hasPredicates:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=m5(n,"Alternation",r),d=this.atn.decisionMap[l].decision,h=h0(RX({maxLookahead:1,occurrence:r,prodType:"Alternation",rule:n}),f=>h0(f,p=>p[0]));if(WX(h,!1)&&!a){const f=I5e(h,(p,g,m)=>(VH(g,U=>{U&&(p[U.tokenTypeIdx]=m,VH(U.categoryMatches,y=>{p[y]=m}))}),p),{});return i?function(p){var g;const m=this.LA(1),U=f[m.tokenTypeIdx];if(p!==void 0&&U!==void 0){const y=(g=p[U])===null||g===void 0?void 0:g.GATE;if(y!==void 0&&y.call(this)===!1)return}return U}:function(){const p=this.LA(1);return f[p.tokenTypeIdx]}}else return i?function(f){const p=new WWe,g=f===void 0?0:f.length;for(let U=0;U<g;U++){const y=f==null?void 0:f[U].GATE;p.set(U,y===void 0||y.call(this))}const m=WM.call(this,s,d,p,o);return typeof m=="number"?m:void 0}:function(){const f=WM.call(this,s,d,L5e,o);return typeof f=="number"?f:void 0}}buildLookaheadForOptional(e){const{prodOccurrence:r,rule:n,prodType:i,dynamicTokensEnabled:a}=e,s=this.dfas,o=this.logging,l=m5(n,i,r),d=this.atn.decisionMap[l].decision,h=h0(RX({maxLookahead:1,occurrence:r,prodType:i,rule:n}),f=>h0(f,p=>p[0]));if(WX(h)&&h[0][0]&&!a){const f=h[0],p=Gpr(f);if(p.length===1&&Zpr(p[0].categoryMatches)){const m=p[0].tokenTypeIdx;return function(){return this.LA(1).tokenTypeIdx===m}}else{const g=I5e(p,(m,U)=>(U!==void 0&&(m[U.tokenTypeIdx]=!0,VH(U.categoryMatches,y=>{m[y]=!0})),m),{});return function(){const m=this.LA(1);return g[m.tokenTypeIdx]===!0}}}return function(){const f=WM.call(this,s,d,L5e,o);return typeof f=="object"?!1:f===0}}},R(i7,"LLStarLookaheadStrategy"),i7);function WX(t,e=!0){const r=new Set;for(const n of t){const i=new Set;for(const a of n){if(a===void 0){if(e)break;return!1}const s=[a.tokenTypeIdx].concat(a.categoryMatches);for(const o of s)if(r.has(o)){if(!i.has(o))return!1}else r.add(o),i.add(o)}}return!0}R(WX,"isLL1Sequence");function qWe(t){const e=t.decisionStates.length,r=Array(e);for(let n=0;n<e;n++)r[n]=GWe(t.decisionStates[n],n);return r}R(qWe,"initATNSimulator");function WM(t,e,r,n){const i=t[e](r);let a=i.start;if(a===void 0){const o=nqe(i.atnStartState);a=nae(i,rae(o)),i.start=a}return jWe.apply(this,[i,a,r,n])}R(WM,"adaptivePredict");function jWe(t,e,r,n){let i=e,a=1;const s=[];let o=this.LA(a++);for(;;){let l=QWe(i,o);if(l===void 0&&(l=YWe.apply(this,[t,i,o,a,r,n])),l===YN)return JWe(s,i,o);if(l.isAcceptState===!0)return l.prediction;i=l,s.push(o),o=this.LA(a++)}}R(jWe,"performLookahead");function YWe(t,e,r,n,i,a){const s=eqe(e.configs,r,i);if(s.size===0)return qX(t,e,r,YN),YN;let o=rae(s);const l=rqe(s,i);if(l!==void 0)o.isAcceptState=!0,o.prediction=l,o.configs.uniqueAlt=l;else if(oqe(s)){const u=Apr(s.alts);o.isAcceptState=!0,o.prediction=u,o.configs.uniqueAlt=u,XWe.apply(this,[t,n,s.alts,a])}return o=qX(t,e,r,o),o}R(YWe,"computeLookaheadTarget");function XWe(t,e,r,n){const i=[];for(let u=1;u<=e;u++)i.push(this.LA(u).tokenType);const a=t.atnStartState,s=a.rule,o=a.production,l=KWe({topLevelRule:s,ambiguityIndices:r,production:o,prefixPath:i});n(l)}R(XWe,"reportLookaheadAmbiguity");function KWe(t){const e=h0(t.prefixPath,i=>NU(i)).join(", "),r=t.production.idx===0?"":t.production.idx;let n=`Ambiguous Alternatives Detected: <${t.ambiguityIndices.join(", ")}> in <${ZWe(t.production)}${r}> inside <${t.topLevelRule.name}> Rule,
<${e}> may appears as a prefix path in all these alternatives.
`;return n=n+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES
For Further details.`,n}R(KWe,"buildAmbiguityError");function ZWe(t){if(t instanceof ql)return"SUBRULE";if(t instanceof Oo)return"OPTION";if(t instanceof Ic)return"OR";if(t instanceof du)return"AT_LEAST_ONE";if(t instanceof hu)return"AT_LEAST_ONE_SEP";if(t instanceof Rc)return"MANY_SEP";if(t instanceof za)return"MANY";if(t instanceof ea)return"CONSUME";throw Error("non exhaustive match")}R(ZWe,"getProductionDslName");function JWe(t,e,r){const n=Rpr(e.configs.elements,a=>a.state.transitions),i=Vpr(n.filter(a=>a instanceof Xie).map(a=>a.tokenType),a=>a.tokenTypeIdx);return{actualToken:r,possibleTokenTypes:i,tokenPath:t}}R(JWe,"buildAdaptivePredictError");function QWe(t,e){return t.edges[e.tokenTypeIdx]}R(QWe,"getExistingTargetState");function eqe(t,e,r){const n=new GX,i=[];for(const s of t.elements){if(r.is(s.alt)===!1)continue;if(s.state.type===rk){i.push(s);continue}const o=s.state.transitions.length;for(let l=0;l<o;l++){const u=s.state.transitions[l],d=tqe(u,e);d!==void 0&&n.add({state:d,alt:s.alt,stack:s.stack})}}let a;if(i.length===0&&n.size===1&&(a=n),a===void 0){a=new GX;for(const s of n.elements)yC(s,a)}if(i.length>0&&!aqe(a))for(const s of i)a.add(s);return a}R(eqe,"computeReachSet");function tqe(t,e){if(t instanceof Xie&&Mie(e,t.tokenType))return t.target}R(tqe,"getReachableTarget");function rqe(t,e){let r;for(const n of t.elements)if(e.is(n.alt)===!0){if(r===void 0)r=n.alt;else if(r!==n.alt)return}return r}R(rqe,"getUniqueAlt");function rae(t){return{configs:t,edges:{},isAcceptState:!1,prediction:-1}}R(rae,"newDFAState");function qX(t,e,r,n){return n=nae(t,n),e.edges[r.tokenTypeIdx]=n,n}R(qX,"addDFAEdge");function nae(t,e){if(e===YN)return e;const r=e.configs.key,n=t.states[r];return n!==void 0?n:(e.configs.finalize(),t.states[r]=e,e)}R(nae,"addDFAState");function nqe(t){const e=new GX,r=t.transitions.length;for(let n=0;n<r;n++){const a={state:t.transitions[n].target,alt:n,stack:[]};yC(a,e)}return e}R(nqe,"computeStartState");function yC(t,e){const r=t.state;if(r.type===rk){if(t.stack.length>0){const i=[...t.stack],s={state:i.pop(),alt:t.alt,stack:i};yC(s,e)}else e.add(t);return}r.epsilonOnlyTransitions||e.add(t);const n=r.transitions.length;for(let i=0;i<n;i++){const a=r.transitions[i],s=iqe(t,a);s!==void 0&&yC(s,e)}}R(yC,"closure");function iqe(t,e){if(e instanceof sWe)return{state:e.target,alt:t.alt,stack:t.stack};if(e instanceof Kie){const r=[...t.stack,e.followState];return{state:e.target,alt:t.alt,stack:r}}}R(iqe,"getEpsilonTarget");function aqe(t){for(const e of t.elements)if(e.state.type===rk)return!0;return!1}R(aqe,"hasConfigInRuleStopState");function sqe(t){for(const e of t.elements)if(e.state.type!==rk)return!1;return!0}R(sqe,"allConfigsInRuleStopStates");function oqe(t){if(sqe(t))return!0;const e=lqe(t.elements);return cqe(e)&&!uqe(e)}R(oqe,"hasConflictTerminatingPrediction");function lqe(t){const e=new Map;for(const r of t){const n=eae(r,!1);let i=e.get(n);i===void 0&&(i={},e.set(n,i)),i[r.alt]=!0}return e}R(lqe,"getConflictingAltSets");function cqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length>1)return!0;return!1}R(cqe,"hasConflictingAltSet");function uqe(t){for(const e of Array.from(t.values()))if(Object.keys(e).length===1)return!0;return!1}R(uqe,"hasStateAssociatedWithOneAlt");PS();var a7,dqe=(a7=class{constructor(){this.nodeStack=[]}get current(){return this.nodeStack[this.nodeStack.length-1]??this.rootNode}buildRootNode(e){return this.rootNode=new aae(e),this.rootNode.root=this.rootNode,this.nodeStack=[this.rootNode],this.rootNode}buildCompositeNode(e){const r=new Z_;return r.grammarSource=e,r.root=this.rootNode,this.current.content.push(r),this.nodeStack.push(r),r}buildLeafNode(e,r){const n=new XN(e.startOffset,e.image.length,aC(e),e.tokenType,!r);return n.grammarSource=r,n.root=this.rootNode,this.current.content.push(n),n}removeNode(e){const r=e.container;if(r){const n=r.content.indexOf(e);n>=0&&r.content.splice(n,1)}}addHiddenNodes(e){const r=[];for(const a of e){const s=new XN(a.startOffset,a.image.length,aC(a),a.tokenType,!0);s.root=this.rootNode,r.push(s)}let n=this.current,i=!1;if(n.content.length>0){n.content.push(...r);return}for(;n.container;){const a=n.container.content.indexOf(n);if(a>0){n.container.content.splice(a,0,...r),i=!0;break}n=n.container}i||this.rootNode.content.unshift(...r)}construct(e){const r=this.current;typeof e.$type=="string"&&!e.$infixName&&(this.current.astNode=e),e.$cstNode=r;const n=this.nodeStack.pop();(n==null?void 0:n.content.length)===0&&this.removeNode(n)}},R(a7,"CstNodeBuilder"),a7),s7,iae=(s7=class{get hidden(){return!1}get astNode(){var r,n;const e=typeof((r=this._astNode)==null?void 0:r.$type)=="string"?this._astNode:(n=this.container)==null?void 0:n.astNode;if(!e)throw new Error("This node has no associated AST element");return e}set astNode(e){this._astNode=e}get text(){return this.root.fullText.substring(this.offset,this.end)}},R(s7,"AbstractCstNode"),s7),o7,XN=(o7=class extends iae{get offset(){return this._offset}get length(){return this._length}get end(){return this._offset+this._length}get hidden(){return this._hidden}get tokenType(){return this._tokenType}get range(){return this._range}constructor(e,r,n,i,a=!1){super(),this._hidden=a,this._offset=e,this._tokenType=i,this._length=r,this._range=n}},R(o7,"LeafCstNodeImpl"),o7),l7,Z_=(l7=class extends iae{constructor(){super(...arguments),this.content=new tgr(this)}get offset(){var e;return((e=this.firstNonHiddenNode)==null?void 0:e.offset)??0}get length(){return this.end-this.offset}get end(){var e;return((e=this.lastNonHiddenNode)==null?void 0:e.end)??0}get range(){const e=this.firstNonHiddenNode,r=this.lastNonHiddenNode;if(e&&r){if(this._rangeCache===void 0){const{range:n}=e,{range:i}=r;this._rangeCache={start:n.start,end:i.end.line<n.start.line?n.start:i.end}}return this._rangeCache}else return{start:di.create(0,0),end:di.create(0,0)}}get firstNonHiddenNode(){for(const e of this.content)if(!e.hidden)return e;return this.content[0]}get lastNonHiddenNode(){for(let e=this.content.length-1;e>=0;e--){const r=this.content[e];if(!r.hidden)return r}return this.content[this.content.length-1]}},R(l7,"CompositeCstNodeImpl"),l7),_U,tgr=(_U=class extends Array{constructor(e){super(),this.parent=e,Object.setPrototypeOf(this,_U.prototype)}push(...e){return this.addParents(e),super.push(...e)}unshift(...e){return this.addParents(e),super.unshift(...e)}splice(e,r,...n){return this.addParents(n),super.splice(e,r,...n)}addParents(e){for(const r of e)r.container=this.parent}},R(_U,"CstNodeContainer"),_U),c7,aae=(c7=class extends Z_{get text(){return this._text.substring(this.offset,this.end)}get fullText(){return this._text}constructor(e){super(),this._text="",this._text=e??""}},R(c7,"RootCstNodeImpl"),c7),KN=Symbol("Datatype");function qM(t){return t.$type===KN}R(qM,"isDataTypeNode");var N5e="​",hqe=R(t=>t.endsWith(N5e)?t:t+N5e,"withRuleSuffix"),u7,sae=(u7=class{constructor(e){var i;this._unorderedGroups=new Map,this.allRules=new Map,this.lexer=e.parser.Lexer;const r=this.lexer.definition,n=e.LanguageMetaData.mode==="production";(i=e.shared.profilers.LangiumProfiler)!=null&&i.isActive("parsing")?this.wrapper=new ngr(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider},e.shared.profilers.LangiumProfiler.createTask("parsing",e.LanguageMetaData.languageId)):this.wrapper=new mqe(r,{...e.parser.ParserConfig,skipValidations:n,errorMessageProvider:e.parser.ParserErrorMessageProvider})}alternatives(e,r){this.wrapper.wrapOr(e,r)}optional(e,r){this.wrapper.wrapOption(e,r)}many(e,r){this.wrapper.wrapMany(e,r)}atLeastOne(e,r){this.wrapper.wrapAtLeastOne(e,r)}getRule(e){return this.allRules.get(e)}isRecording(){return this.wrapper.IS_RECORDING}get unorderedGroups(){return this._unorderedGroups}getRuleStack(){return this.wrapper.RULE_STACK}finalize(){this.wrapper.wrapSelfAnalysis()}},R(u7,"AbstractLangiumParser"),u7),d7,fqe=(d7=class extends sae{get current(){return this.stack[this.stack.length-1]}constructor(e){super(e),this.nodeBuilder=new dqe,this.stack=[],this.assignmentMap=new Map,this.operatorPrecedence=new Map,this.linker=e.references.Linker,this.converter=e.parser.ValueConverter,this.astReflection=e.shared.AstReflection}rule(e,r){const n=this.computeRuleType(e);let i;x4(e)&&(i=e.name,this.registerPrecedenceMap(e));const a=this.wrapper.DEFINE_RULE(hqe(e.name),this.startImplementation(n,i,r).bind(this));return this.allRules.set(e.name,a),Wl(e)&&e.entry&&(this.mainRule=a),a}registerPrecedenceMap(e){const r=e.name,n=new Map;for(let i=0;i<e.operators.precedences.length;i++){const a=e.operators.precedences[i];for(const s of a.operators)n.set(s.value,{precedence:i,rightAssoc:a.associativity==="right"})}this.operatorPrecedence.set(r,n)}computeRuleType(e){return x4(e)?f5(e):e.fragment?void 0:FS(e)?KN:f5(e)}parse(e,r={}){this.nodeBuilder.buildRootNode(e);const n=this.lexerResult=this.lexer.tokenize(e);this.wrapper.input=n.tokens;const i=r.rule?this.allRules.get(r.rule):this.mainRule;if(!i)throw new Error(r.rule?`No rule found with name '${r.rule}'`:"No main rule available.");const a=this.doParse(i);return this.nodeBuilder.addHiddenNodes(n.hidden),this.unorderedGroups.clear(),this.lexerResult=void 0,b4(a,{deep:!0}),{value:a,lexerErrors:n.errors,lexerReport:n.report,parserErrors:this.wrapper.errors}}doParse(e){let r=this.wrapper.rule(e);if(this.stack.length>0&&(r=this.construct()),r===void 0)throw new Error("No result from parser");if(this.stack.length>0)throw new Error("Parser stack is not empty after parsing");return r}startImplementation(e,r,n){return i=>{const a=!this.isRecording()&&e!==void 0;if(a){const s={$type:e};this.stack.push(s),e===KN?s.value="":r!==void 0&&(s.$infixName=r)}return n(i),a?this.construct():void 0}}extractHiddenTokens(e){const r=this.lexerResult.hidden;if(!r.length)return[];const n=e.startOffset;for(let i=0;i<r.length;i++)if(r[i].startOffset>n)return r.splice(0,i);return r.splice(0,r.length)}consume(e,r,n){const i=this.wrapper.wrapConsume(e,r);if(!this.isRecording()&&this.isValidToken(i)){const a=this.extractHiddenTokens(i);this.nodeBuilder.addHiddenNodes(a);const s=this.nodeBuilder.buildLeafNode(i,n),{assignment:o,crossRef:l}=this.getAssignment(n),u=this.current;if(o){const d=G0(n)?i.image:this.converter.convert(i.image,s);this.assign(o.operator,o.feature,d,s,l)}else if(qM(u)){let d=i.image;G0(n)||(d=this.converter.convert(d,s).toString()),u.value+=d}}}isValidToken(e){return!e.isInsertedInRecovery&&!isNaN(e.startOffset)&&typeof e.endOffset=="number"&&!isNaN(e.endOffset)}subrule(e,r,n,i,a){let s;!this.isRecording()&&!n&&(s=this.nodeBuilder.buildCompositeNode(i));let o;try{o=this.wrapper.wrapSubrule(e,r,a)}finally{this.isRecording()||(o===void 0&&!n&&(o=this.construct()),o!==void 0&&s&&s.length>0&&this.performSubruleAssignment(o,i,s))}}performSubruleAssignment(e,r,n){const{assignment:i,crossRef:a}=this.getAssignment(r);if(i)this.assign(i.operator,i.feature,e,n,a);else if(!i){const s=this.current;if(qM(s))s.value+=e.toString();else if(typeof e=="object"&&e){const l=this.assignWithoutOverride(e,s);this.stack.pop(),this.stack.push(l)}}}action(e,r){if(!this.isRecording()){let n=this.current;if(r.feature&&r.operator){n=this.construct(),this.nodeBuilder.removeNode(n.$cstNode),this.nodeBuilder.buildCompositeNode(r).content.push(n.$cstNode);const a={$type:e};this.stack.push(a),this.assign(r.operator,r.feature,n,n.$cstNode)}else n.$type=e}}construct(){if(this.isRecording())return;const e=this.stack.pop();return this.nodeBuilder.construct(e),"$infixName"in e?this.constructInfix(e,this.operatorPrecedence.get(e.$infixName)):qM(e)?this.converter.convert(e.value,e.$cstNode):(ine(this.astReflection,e),e)}constructInfix(e,r){const n=e.parts;if(!Array.isArray(n)||n.length===0)return;const i=e.operators;if(!Array.isArray(i)||n.length<2)return n[0];let a=0,s=-1;for(let m=0;m<i.length;m++){const U=i[m],y=r.get(U)??{precedence:1/0,rightAssoc:!1};y.precedence>s?(s=y.precedence,a=m):y.precedence===s&&(y.rightAssoc||(a=m))}const o=i.slice(0,a),l=i.slice(a+1),u=n.slice(0,a+1),d=n.slice(a+1),h={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:u,operators:o},f={$infixName:e.$infixName,$type:e.$type,$cstNode:e.$cstNode,parts:d,operators:l},p=this.constructInfix(h,r),g=this.constructInfix(f,r);return{$type:e.$type,$cstNode:e.$cstNode,left:p,operator:i[a],right:g}}getAssignment(e){if(!this.assignmentMap.has(e)){const r=F5(e,V0);this.assignmentMap.set(e,{assignment:r,crossRef:r&&H5(r.terminal)?r.terminal.isMulti?"multi":"single":void 0})}return this.assignmentMap.get(e)}assign(e,r,n,i,a){const s=this.current;let o;switch(a==="single"&&typeof n=="string"?o=this.linker.buildReference(s,r,i,n):a==="multi"&&typeof n=="string"?o=this.linker.buildMultiReference(s,r,i,n):o=n,e){case"=":{s[r]=o;break}case"?=":{s[r]=!0;break}case"+=":Array.isArray(s[r])||(s[r]=[]),s[r].push(o)}}assignWithoutOverride(e,r){for(const[i,a]of Object.entries(r)){const s=e[i];s===void 0?e[i]=a:Array.isArray(s)&&Array.isArray(a)&&(a.push(...s),e[i]=a)}const n=e.$cstNode;return n&&(n.astNode=void 0,e.$cstNode=void 0),e}get definitionErrors(){return this.wrapper.definitionErrors}},R(d7,"LangiumParser"),d7),h7,pqe=(h7=class{buildMismatchTokenMessage(e){return K2.buildMismatchTokenMessage(e)}buildNotAllInputParsedMessage(e){return K2.buildNotAllInputParsedMessage(e)}buildNoViableAltMessage(e){return K2.buildNoViableAltMessage(e)}buildEarlyExitMessage(e){return K2.buildEarlyExitMessage(e)}},R(h7,"AbstractParserErrorMessageProvider"),h7),f7,oae=(f7=class extends pqe{buildMismatchTokenMessage({expected:e,actual:r}){return`Expecting ${e.LABEL?"`"+e.LABEL+"`":e.name.endsWith(":KW")?`keyword '${e.name.substring(0,e.name.length-3)}'`:`token of type '${e.name}'`} but found \`${r.image}\`.`}buildNotAllInputParsedMessage({firstRedundant:e}){return`Expecting end of file but found \`${e.image}\`.`}},R(f7,"LangiumParserErrorMessageProvider"),f7),p7,gqe=(p7=class extends sae{constructor(){super(...arguments),this.tokens=[],this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}action(){}construct(){}parse(e){this.resetState();const r=this.lexer.tokenize(e,{mode:"partial"});return this.tokens=r.tokens,this.wrapper.input=[...this.tokens],this.mainRule.call(this.wrapper,{}),this.unorderedGroups.clear(),{tokens:this.tokens,elementStack:[...this.lastElementStack],tokenIndex:this.nextTokenIndex}}rule(e,r){const n=this.wrapper.DEFINE_RULE(hqe(e.name),this.startImplementation(r).bind(this));return this.allRules.set(e.name,n),e.entry&&(this.mainRule=n),n}resetState(){this.elementStack=[],this.lastElementStack=[],this.nextTokenIndex=0,this.stackSize=0}startImplementation(e){return r=>{const n=this.keepStackSize();try{e(r)}finally{this.resetStackSize(n)}}}removeUnexpectedElements(){this.elementStack.splice(this.stackSize)}keepStackSize(){const e=this.elementStack.length;return this.stackSize=e,e}resetStackSize(e){this.removeUnexpectedElements(),this.stackSize=e}consume(e,r,n){this.wrapper.wrapConsume(e,r),this.isRecording()||(this.lastElementStack=[...this.elementStack,n],this.nextTokenIndex=this.currIdx+1)}subrule(e,r,n,i,a){this.before(i),this.wrapper.wrapSubrule(e,r,a),this.after(i)}before(e){this.isRecording()||this.elementStack.push(e)}after(e){if(!this.isRecording()){const r=this.elementStack.lastIndexOf(e);r>=0&&this.elementStack.splice(r)}}get currIdx(){return this.wrapper.currIdx}},R(p7,"LangiumCompletionParser"),p7),rgr={recoveryEnabled:!0,nodeLocationTracking:"full",skipValidations:!0,errorMessageProvider:new oae},g7,mqe=(g7=class extends Hdr{constructor(e,r){const n=r&&"maxLookahead"in r;super(e,{...rgr,lookaheadStrategy:n?new Pie({maxLookahead:r.maxLookahead}):new egr({logging:r.skipValidations?()=>{}:void 0}),...r})}get IS_RECORDING(){return this.RECORDING_PHASE}DEFINE_RULE(e,r,n){return this.RULE(e,r,n)}wrapSelfAnalysis(){this.performSelfAnalysis()}wrapConsume(e,r){return this.consume(e,r,void 0)}wrapSubrule(e,r,n){return this.subrule(e,r,{ARGS:[n]})}wrapOr(e,r){this.or(e,r)}wrapOption(e,r){this.option(e,r)}wrapMany(e,r){this.many(e,r)}wrapAtLeastOne(e,r){this.atLeastOne(e,r)}rule(e){return e.call(this,{})}},R(g7,"ChevrotainWrapper"),g7),m7,ngr=(m7=class extends mqe{constructor(e,r,n){super(e,r),this.task=n}rule(e){this.task.start(),this.task.startSubTask(this.ruleName(e));try{return super.rule(e)}finally{this.task.stopSubTask(this.ruleName(e)),this.task.stop()}}ruleName(e){return e.ruleName}subrule(e,r,n){this.task.startSubTask(this.ruleName(r));try{return super.subrule(e,r,n)}finally{this.task.stopSubTask(this.ruleName(r))}}},R(m7,"ProfilerWrapper"),m7);function J_(t,e,r){return Uqe({parser:e,tokens:r,ruleNames:new Map},t),e}R(J_,"createParser");function Uqe(t,e){const r=f_(e,!1),n=Ti(e.rules).filter(Wl).filter(a=>r.has(a));for(const a of n){const s={...t,consume:1,optional:1,subrule:1,many:1,or:1};t.parser.rule(a,f1(s,a.definition))}const i=Ti(e.rules).filter(x4).filter(a=>r.has(a));for(const a of i)t.parser.rule(a,yqe(t,a))}R(Uqe,"buildRules");function yqe(t,e){const r=e.call.rule.ref;if(!r)throw new Error("Could not resolve reference to infix operator rule: "+e.call.rule.$refText);if(Zu(r))throw new Error("Cannot use terminal rule in infix expression");const n=e.operators.precedences.flatMap(p=>p.operators),i={$type:"Group",elements:[]},a={$container:i,$type:"Assignment",feature:"parts",operator:"+=",terminal:e.call},s={$container:i,$type:"Group",elements:[],cardinality:"*"};i.elements.push(a,s);const l={$container:s,$type:"Assignment",feature:"operators",operator:"+=",terminal:{$type:"Alternatives",elements:n}},u={...a,$container:s};s.elements.push(l,u);const h=n.map(p=>t.tokens[p.value]).map((p,g)=>({ALT:R(()=>t.parser.consume(g,p,l),"ALT")}));let f;return p=>{f??(f=Q_(t,r)),t.parser.subrule(0,f,!1,a,p),t.parser.many(0,{DEF:R(()=>{t.parser.alternatives(0,h),t.parser.subrule(1,f,!1,u,p)},"DEF")})}}R(yqe,"buildInfixRule");function f1(t,e,r=!1){let n;if(G0(e))n=Sqe(t,e);else if(c1(e))n=bqe(t,e);else if(V0(e))n=f1(t,e.terminal);else if(H5(e))n=lae(t,e);else if(W0(e))n=vqe(t,e);else if(i_(e))n=wqe(t,e);else if(l_(e))n=Tqe(t,e);else if(V5(e))n=Cqe(t,e);else if(dne(e)){const i=t.consume++;n=R(()=>t.parser.consume(i,d1,e),"method")}else throw new u_(e.$cstNode,`Unexpected element type: ${e.$type}`);return cae(t,r?void 0:bC(e),n,e.cardinality)}R(f1,"buildElement");function bqe(t,e){const r=f5(e);return()=>t.parser.action(r,e)}R(bqe,"buildAction");function vqe(t,e){const r=e.rule.ref;if(z5(r)){const n=t.subrule++,i=Wl(r)&&r.fragment,a=e.arguments.length>0?xqe(r,e.arguments):()=>({});let s;return o=>{s??(s=Q_(t,r)),t.parser.subrule(n,s,i,e,a(o))}}else if(Zu(r)){const n=t.consume++,i=ZN(t,r.name);return()=>t.parser.consume(n,i,e)}else if(r)B1();else throw new u_(e.$cstNode,`Undefined rule: ${e.rule.$refText}`)}R(vqe,"buildRuleCall");function xqe(t,e){if(e.some(n=>n.calledByName)){const n=e.map(i=>{var a,s;return{parameterName:(s=(a=i.parameter)==null?void 0:a.ref)==null?void 0:s.name,predicate:yd(i.value)}});return i=>{const a={};for(const{parameterName:s,predicate:o}of n)s&&(a[s]=o(i));return a}}else{const n=e.map(i=>yd(i.value));return i=>{const a={};for(let s=0;s<n.length;s++)if(s<t.parameters.length){const o=t.parameters[s].name,l=n[s];a[o]=l(i)}return a}}}R(xqe,"buildRuleCallPredicate");function yd(t){if(une(t)){const e=yd(t.left),r=yd(t.right);return n=>e(n)||r(n)}else if(cne(t)){const e=yd(t.left),r=yd(t.right);return n=>e(n)&&r(n)}else if(pne(t)){const e=yd(t.value);return r=>!e(r)}else if(gne(t)){const e=t.parameter.ref.name;return r=>r!==void 0&&r[e]===!0}else if(one(t)){const e=!!t.true;return()=>e}B1()}R(yd,"buildPredicate");function wqe(t,e){if(e.elements.length===1)return f1(t,e.elements[0]);{const r=[];for(const i of e.elements){const a={ALT:f1(t,i,!0)},s=bC(i);s&&(a.GATE=yd(s)),r.push(a)}const n=t.or++;return i=>t.parser.alternatives(n,r.map(a=>{const s={ALT:R(()=>a.ALT(i),"ALT")},o=a.GATE;return o&&(s.GATE=()=>o(i)),s}))}}R(wqe,"buildAlternatives");function Tqe(t,e){if(e.elements.length===1)return f1(t,e.elements[0]);const r=[];for(const o of e.elements){const l={ALT:f1(t,o,!0)},u=bC(o);u&&(l.GATE=yd(u)),r.push(l)}const n=t.or++,i=R((o,l)=>{const u=l.getRuleStack().join("-");return`uGroup_${o}_${u}`},"idFunc"),a=R(o=>t.parser.alternatives(n,r.map((l,u)=>{const d={ALT:R(()=>!0,"ALT")},h=t.parser;d.ALT=()=>{if(l.ALT(o),!h.isRecording()){const p=i(n,h);h.unorderedGroups.get(p)||h.unorderedGroups.set(p,[]);const g=h.unorderedGroups.get(p);typeof(g==null?void 0:g[u])>"u"&&(g[u]=!0)}};const f=l.GATE;return f?d.GATE=()=>f(o):d.GATE=()=>{const p=h.unorderedGroups.get(i(n,h));return!(p!=null&&p[u])},d})),"alternatives"),s=cae(t,bC(e),a,"*");return o=>{s(o),t.parser.isRecording()||t.parser.unorderedGroups.delete(i(n,t.parser))}}R(Tqe,"buildUnorderedGroup");function Cqe(t,e){const r=e.elements.map(n=>f1(t,n));return n=>r.forEach(i=>i(n))}R(Cqe,"buildGroup");function bC(t){if(V5(t))return t.guardCondition}R(bC,"getGuardCondition");function lae(t,e,r=e.terminal){if(r)if(W0(r)&&Wl(r.rule.ref)){const n=r.rule.ref,i=t.subrule++;let a;return s=>{a??(a=Q_(t,n)),t.parser.subrule(i,a,!1,e,s)}}else if(W0(r)&&Zu(r.rule.ref)){const n=t.consume++,i=ZN(t,r.rule.ref.name);return()=>t.parser.consume(n,i,e)}else if(G0(r)){const n=t.consume++,i=ZN(t,r.value);return()=>t.parser.consume(n,i,e)}else throw new Error("Could not build cross reference parser");else{if(!e.type.ref)throw new Error("Could not resolve reference to type: "+e.type.$refText);const n=U_(e.type.ref),i=n==null?void 0:n.terminal;if(!i)throw new Error("Could not find name assignment for type: "+f5(e.type.ref));return lae(t,e,i)}}R(lae,"buildCrossReference");function Sqe(t,e){const r=t.consume++,n=t.tokens[e.value];if(!n)throw new Error("Could not find token for keyword: "+e.value);return()=>t.parser.consume(r,n,e)}R(Sqe,"buildKeyword");function cae(t,e,r,n){const i=e&&yd(e);if(!n)if(i){const a=t.or++;return s=>t.parser.alternatives(a,[{ALT:R(()=>r(s),"ALT"),GATE:R(()=>i(s),"GATE")},{ALT:$X(),GATE:R(()=>!i(s),"GATE")}])}else return r;if(n==="*"){const a=t.many++;return s=>t.parser.many(a,{DEF:R(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else if(n==="+"){const a=t.many++;if(i){const s=t.or++;return o=>t.parser.alternatives(s,[{ALT:R(()=>t.parser.atLeastOne(a,{DEF:R(()=>r(o),"DEF")}),"ALT"),GATE:R(()=>i(o),"GATE")},{ALT:$X(),GATE:R(()=>!i(o),"GATE")}])}else return s=>t.parser.atLeastOne(a,{DEF:R(()=>r(s),"DEF")})}else if(n==="?"){const a=t.optional++;return s=>t.parser.optional(a,{DEF:R(()=>r(s),"DEF"),GATE:i?()=>i(s):void 0})}else B1()}R(cae,"wrap");function Q_(t,e){const r=kqe(t,e),n=t.parser.getRule(r);if(!n)throw new Error(`Rule "${r}" not found."`);return n}R(Q_,"getRule");function kqe(t,e){if(z5(e))return e.name;if(t.ruleNames.has(e))return t.ruleNames.get(e);{let r=e,n=r.$container,i=e.$type;for(;!Wl(n);)(V5(n)||i_(n)||l_(n))&&(i=n.elements.indexOf(r).toString()+":"+i),r=n,n=n.$container;return i=n.name+":"+i,t.ruleNames.set(e,i),i}}R(kqe,"getRuleName");function ZN(t,e){const r=t.tokens[e];if(!r)throw new Error(`Token "${e}" not found."`);return r}R(ZN,"getToken");function uae(t){const e=t.Grammar,r=t.parser.Lexer,n=new gqe(t);return J_(e,n,r.definition),n.finalize(),n}R(uae,"createCompletionParser");function dae(t){const e=hae(t);return e.finalize(),e}R(dae,"createLangiumParser");function hae(t){const e=t.Grammar,r=t.parser.Lexer,n=new fqe(t);return J_(e,n,r.definition)}R(hae,"prepareLangiumParser");var U7,eB=(U7=class{constructor(){this.diagnostics=[]}buildTokens(e,r){const n=Ti(f_(e,!1)),i=this.buildTerminalTokens(n),a=this.buildKeywordTokens(n,i,r);return a.push(...i),a}flushLexingReport(e){return{diagnostics:this.popDiagnostics()}}popDiagnostics(){const e=[...this.diagnostics];return this.diagnostics=[],e}buildTerminalTokens(e){return e.filter(Zu).filter(r=>!r.fragment).map(r=>this.buildTerminalToken(r)).toArray()}buildTerminalToken(e){const r=HS(e),n=this.requiresCustomPattern(r)?this.regexPatternFunction(r):r,i={name:e.name,PATTERN:n};return typeof n=="function"&&(i.LINE_BREAKS=!0),e.hidden&&(i.GROUP=h_(r)?Fl.SKIPPED:"hidden"),i}requiresCustomPattern(e){return!!(e.flags.includes("u")||e.flags.includes("s"))}regexPatternFunction(e){const r=new RegExp(e,e.flags+"y");return(n,i)=>(r.lastIndex=i,r.exec(n))}buildKeywordTokens(e,r,n){return e.filter(z5).flatMap(i=>yp(i).filter(G0)).distinct(i=>i.value).toArray().sort((i,a)=>a.value.length-i.value.length).map(i=>this.buildKeywordToken(i,r,!!(n!=null&&n.caseInsensitive)))}buildKeywordToken(e,r,n){const i=this.buildKeywordPattern(e,n),a={name:e.value,PATTERN:i,LONGER_ALT:this.findLongerAlt(e,r)};return typeof i=="function"&&(a.LINE_BREAKS=!0),a}buildKeywordPattern(e,r){return r?new RegExp(x3(e.value),"i"):e.value}findLongerAlt(e,r){return r.reduce((n,i)=>{const a=i==null?void 0:i.PATTERN;return a!=null&&a.source&&_ne("^"+a.source+"$",e.value)&&n.push(i),n},[])}},R(U7,"DefaultTokenBuilder"),U7),y7,fae=(y7=class{convert(e,r){let n=r.grammarSource;if(H5(n)&&(n=Hne(n)),W0(n)){const i=n.rule.ref;if(!i)throw new Error("This cst node was not parsed by a rule.");return this.runConverter(i,e,r)}return e}runConverter(e,r,n){var i;switch(e.name.toUpperCase()){case"INT":return Th.convertInt(r);case"STRING":return Th.convertString(r);case"ID":return Th.convertID(r)}switch((i=Zne(e))==null?void 0:i.toLowerCase()){case"number":return Th.convertNumber(r);case"boolean":return Th.convertBoolean(r);case"bigint":return Th.convertBigint(r);case"date":return Th.convertDate(r);default:return r}}},R(y7,"DefaultValueConverter"),y7),Th;(function(t){function e(u){let d="";for(let h=1;h<u.length-1;h++){const f=u.charAt(h);if(f==="\\"){const p=u.charAt(++h);d+=r(p)}else d+=f}return d}R(e,"convertString"),t.convertString=e;function r(u){switch(u){case"b":return"\b";case"f":return"\f";case"n":return`
`;case"r":return"\r";case"t":return" ";case"v":return"\v";case"0":return"\0";default:return u}}R(r,"convertEscapeCharacter");function n(u){return u.charAt(0)==="^"?u.substring(1):u}R(n,"convertID"),t.convertID=n;function i(u){return parseInt(u)}R(i,"convertInt"),t.convertInt=i;function a(u){return BigInt(u)}R(a,"convertBigint"),t.convertBigint=a;function s(u){return new Date(u)}R(s,"convertDate"),t.convertDate=s;function o(u){return Number(u)}R(o,"convertNumber"),t.convertNumber=o;function l(u){return u.toLowerCase()==="true"}R(l,"convertBoolean"),t.convertBoolean=l})(Th||(Th={}));var Hi={};QP(Hi,Zre(t_()));function tB(){return new Promise(t=>{typeof setImmediate>"u"?setTimeout(t,0):setImmediate(t)})}R(tB,"delayNextTick");var jM=0,Eqe=10;function rB(){return jM=performance.now(),new Hi.CancellationTokenSource}R(rB,"startCancelableOperation");function pae(t){Eqe=t}R(pae,"setInterruptionPeriod");var Dh=Symbol("OperationCancelled");function iy(t){return t===Dh}R(iy,"isOperationCancelled");async function Xs(t){if(t===Hi.CancellationToken.None)return;const e=performance.now();if(e-jM>=Eqe&&(jM=e,await tB(),jM=performance.now()),t.isCancellationRequested)throw Dh}R(Xs,"interruptAndCheck");var b7,K0=(b7=class{constructor(){this.promise=new Promise((e,r)=>{this.resolve=n=>(e(n),this),this.reject=n=>(r(n),this)})}},R(b7,"Deferred"),b7),Lg,O5e=(Lg=class{constructor(e,r,n,i){this._uri=e,this._languageId=r,this._version=n,this._content=i,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){const r=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(r,n)}return this._content}update(e,r){for(const n of e)if(Lg.isIncremental(n)){const i=mae(n.range),a=this.offsetAt(i.start),s=this.offsetAt(i.end);this._content=this._content.substring(0,a)+n.text+this._content.substring(s,this._content.length);const o=Math.max(i.start.line,0),l=Math.max(i.end.line,0);let u=this._lineOffsets;const d=jX(n.text,!1,a);if(l-o===d.length)for(let f=0,p=d.length;f<p;f++)u[f+o+1]=d[f];else d.length<1e4?u.splice(o+1,l-o,...d):this._lineOffsets=u=u.slice(0,o+1).concat(d,u.slice(l+1));const h=n.text.length-(s-a);if(h!==0)for(let f=o+1+d.length,p=u.length;f<p;f++)u[f]=u[f]+h}else if(Lg.isFull(n))this._content=n.text,this._lineOffsets=void 0;else throw new Error("Unknown change event received");this._version=r}getLineOffsets(){return this._lineOffsets===void 0&&(this._lineOffsets=jX(this._content,!0)),this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);const r=this.getLineOffsets();let n=0,i=r.length;if(i===0)return{line:0,character:e};for(;n<i;){const s=Math.floor((n+i)/2);r[s]>e?i=s:n=s+1}const a=n-1;return e=this.ensureBeforeEOL(e,r[a]),{line:a,character:e-r[a]}}offsetAt(e){const r=this.getLineOffsets();if(e.line>=r.length)return this._content.length;if(e.line<0)return 0;const n=r[e.line];if(e.character<=0)return n;const i=e.line+1<r.length?r[e.line+1]:this._content.length,a=Math.min(n+e.character,i);return this.ensureBeforeEOL(a,n)}ensureBeforeEOL(e,r){for(;e>r&&gae(this._content.charCodeAt(e-1));)e--;return e}get lineCount(){return this.getLineOffsets().length}static isIncremental(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range!==void 0&&(r.rangeLength===void 0||typeof r.rangeLength=="number")}static isFull(e){const r=e;return r!=null&&typeof r.text=="string"&&r.range===void 0&&r.rangeLength===void 0}},R(Lg,"FullTextDocument"),Lg),JN;(function(t){function e(i,a,s,o){return new O5e(i,a,s,o)}R(e,"create"),t.create=e;function r(i,a,s){if(i instanceof O5e)return i.update(a,s),i;throw new Error("TextDocument.update: document must be created by TextDocument.create")}R(r,"update"),t.update=r;function n(i,a){const s=i.getText(),o=QN(a.map(Aqe),(d,h)=>{const f=d.range.start.line-h.range.start.line;return f===0?d.range.start.character-h.range.start.character:f});let l=0;const u=[];for(const d of o){const h=i.offsetAt(d.range.start);if(h<l)throw new Error("Overlapping edit");h>l&&u.push(s.substring(l,h)),d.newText.length&&u.push(d.newText),l=i.offsetAt(d.range.end)}return u.push(s.substr(l)),u.join("")}R(n,"applyEdits"),t.applyEdits=n})(JN||(JN={}));function QN(t,e){if(t.length<=1)return t;const r=t.length/2|0,n=t.slice(0,r),i=t.slice(r);QN(n,e),QN(i,e);let a=0,s=0,o=0;for(;a<n.length&&s<i.length;)e(n[a],i[s])<=0?t[o++]=n[a++]:t[o++]=i[s++];for(;a<n.length;)t[o++]=n[a++];for(;s<i.length;)t[o++]=i[s++];return t}R(QN,"mergeSort");function jX(t,e,r=0){const n=e?[r]:[];for(let i=0;i<t.length;i++){const a=t.charCodeAt(i);gae(a)&&(a===13&&i+1<t.length&&t.charCodeAt(i+1)===10&&i++,n.push(r+i+1))}return n}R(jX,"computeLineOffsets");function gae(t){return t===13||t===10}R(gae,"isEOL");function mae(t){const e=t.start,r=t.end;return e.line>r.line||e.line===r.line&&e.character>r.character?{start:r,end:e}:t}R(mae,"getWellformedRange");function Aqe(t){const e=mae(t.range);return e!==t.range?{newText:t.newText,range:e}:t}R(Aqe,"getWellformedEdit");var Mqe;(()=>{var t={975:N=>{function I(D){if(typeof D!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(D))}R(I,"e");function L(D,O){for(var B,F="",z=0,$=-1,H=0,V=0;V<=D.length;++V){if(V<D.length)B=D.charCodeAt(V);else{if(B===47)break;B=47}if(B===47){if(!($===V-1||H===1))if($!==V-1&&H===2){if(F.length<2||z!==2||F.charCodeAt(F.length-1)!==46||F.charCodeAt(F.length-2)!==46){if(F.length>2){var G=F.lastIndexOf("/");if(G!==F.length-1){G===-1?(F="",z=0):z=(F=F.slice(0,G)).length-1-F.lastIndexOf("/"),$=V,H=0;continue}}else if(F.length===2||F.length===1){F="",z=0,$=V,H=0;continue}}O&&(F.length>0?F+="/..":F="..",z=2)}else F.length>0?F+="/"+D.slice($+1,V):F=D.slice($+1,V),z=V-$-1;$=V,H=0}else B===46&&H!==-1?++H:H=-1}return F}R(L,"r");var _={resolve:R(function(){for(var D,O="",B=!1,F=arguments.length-1;F>=-1&&!B;F--){var z;F>=0?z=arguments[F]:(D===void 0&&(D=process.cwd()),z=D),I(z),z.length!==0&&(O=z+"/"+O,B=z.charCodeAt(0)===47)}return O=L(O,!B),B?O.length>0?"/"+O:"/":O.length>0?O:"."},"resolve"),normalize:R(function(D){if(I(D),D.length===0)return".";var O=D.charCodeAt(0)===47,B=D.charCodeAt(D.length-1)===47;return(D=L(D,!O)).length!==0||O||(D="."),D.length>0&&B&&(D+="/"),O?"/"+D:D},"normalize"),isAbsolute:R(function(D){return I(D),D.length>0&&D.charCodeAt(0)===47},"isAbsolute"),join:R(function(){if(arguments.length===0)return".";for(var D,O=0;O<arguments.length;++O){var B=arguments[O];I(B),B.length>0&&(D===void 0?D=B:D+="/"+B)}return D===void 0?".":_.normalize(D)},"join"),relative:R(function(D,O){if(I(D),I(O),D===O||(D=_.resolve(D))===(O=_.resolve(O)))return"";for(var B=1;B<D.length&&D.charCodeAt(B)===47;++B);for(var F=D.length,z=F-B,$=1;$<O.length&&O.charCodeAt($)===47;++$);for(var H=O.length-$,V=z<H?z:H,G=-1,K=0;K<=V;++K){if(K===V){if(H>V){if(O.charCodeAt($+K)===47)return O.slice($+K+1);if(K===0)return O.slice($+K)}else z>V&&(D.charCodeAt(B+K)===47?G=K:K===0&&(G=0));break}var W=D.charCodeAt(B+K);if(W!==O.charCodeAt($+K))break;W===47&&(G=K)}var oe="";for(K=B+G+1;K<=F;++K)K!==F&&D.charCodeAt(K)!==47||(oe.length===0?oe+="..":oe+="/..");return oe.length>0?oe+O.slice($+G):($+=G,O.charCodeAt($)===47&&++$,O.slice($))},"relative"),_makeLong:R(function(D){return D},"_makeLong"),dirname:R(function(D){if(I(D),D.length===0)return".";for(var O=D.charCodeAt(0),B=O===47,F=-1,z=!0,$=D.length-1;$>=1;--$)if((O=D.charCodeAt($))===47){if(!z){F=$;break}}else z=!1;return F===-1?B?"/":".":B&&F===1?"//":D.slice(0,F)},"dirname"),basename:R(function(D,O){if(O!==void 0&&typeof O!="string")throw new TypeError('"ext" argument must be a string');I(D);var B,F=0,z=-1,$=!0;if(O!==void 0&&O.length>0&&O.length<=D.length){if(O.length===D.length&&O===D)return"";var H=O.length-1,V=-1;for(B=D.length-1;B>=0;--B){var G=D.charCodeAt(B);if(G===47){if(!$){F=B+1;break}}else V===-1&&($=!1,V=B+1),H>=0&&(G===O.charCodeAt(H)?--H==-1&&(z=B):(H=-1,z=V))}return F===z?z=V:z===-1&&(z=D.length),D.slice(F,z)}for(B=D.length-1;B>=0;--B)if(D.charCodeAt(B)===47){if(!$){F=B+1;break}}else z===-1&&($=!1,z=B+1);return z===-1?"":D.slice(F,z)},"basename"),extname:R(function(D){I(D);for(var O=-1,B=0,F=-1,z=!0,$=0,H=D.length-1;H>=0;--H){var V=D.charCodeAt(H);if(V!==47)F===-1&&(z=!1,F=H+1),V===46?O===-1?O=H:$!==1&&($=1):O!==-1&&($=-1);else if(!z){B=H+1;break}}return O===-1||F===-1||$===0||$===1&&O===F-1&&O===B+1?"":D.slice(O,F)},"extname"),format:R(function(D){if(D===null||typeof D!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof D);return(function(O,B){var F=B.dir||B.root,z=B.base||(B.name||"")+(B.ext||"");return F?F===B.root?F+z:F+"/"+z:z})(0,D)},"format"),parse:R(function(D){I(D);var O={root:"",dir:"",base:"",ext:"",name:""};if(D.length===0)return O;var B,F=D.charCodeAt(0),z=F===47;z?(O.root="/",B=1):B=0;for(var $=-1,H=0,V=-1,G=!0,K=D.length-1,W=0;K>=B;--K)if((F=D.charCodeAt(K))!==47)V===-1&&(G=!1,V=K+1),F===46?$===-1?$=K:W!==1&&(W=1):$!==-1&&(W=-1);else if(!G){H=K+1;break}return $===-1||V===-1||W===0||W===1&&$===V-1&&$===H+1?V!==-1&&(O.base=O.name=H===0&&z?D.slice(1,V):D.slice(H,V)):(H===0&&z?(O.name=D.slice(1,$),O.base=D.slice(1,V)):(O.name=D.slice(H,$),O.base=D.slice(H,V)),O.ext=D.slice($,V)),H>0?O.dir=D.slice(0,H-1):z&&(O.dir="/"),O},"parse"),sep:"/",delimiter:":",win32:null,posix:null};_.posix=_,N.exports=_}},e={};function r(N){var I=e[N];if(I!==void 0)return I.exports;var L=e[N]={exports:{}};return t[N](L,L.exports,r),L.exports}R(r,"r"),r.d=(N,I)=>{for(var L in I)r.o(I,L)&&!r.o(N,L)&&Object.defineProperty(N,L,{enumerable:!0,get:I[L]})},r.o=(N,I)=>Object.prototype.hasOwnProperty.call(N,I),r.r=N=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(N,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(N,"__esModule",{value:!0})};var n={};let i;r.r(n),r.d(n,{URI:R(()=>f,"URI"),Utils:R(()=>A,"Utils")}),typeof process=="object"?i=process.platform==="win32":typeof navigator=="object"&&(i=navigator.userAgent.indexOf("Windows")>=0);const a=/^\w[\w\d+.-]*$/,s=/^\//,o=/^\/\//;function l(N,I){if(!N.scheme&&I)throw new Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${N.authority}", path: "${N.path}", query: "${N.query}", fragment: "${N.fragment}"}`);if(N.scheme&&!a.test(N.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(N.path){if(N.authority){if(!s.test(N.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(o.test(N.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}R(l,"a");const u="",d="/",h=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,M=class M{constructor(I,L,_,D,O,B=!1){wr(this,"scheme");wr(this,"authority");wr(this,"path");wr(this,"query");wr(this,"fragment");typeof I=="object"?(this.scheme=I.scheme||u,this.authority=I.authority||u,this.path=I.path||u,this.query=I.query||u,this.fragment=I.fragment||u):(this.scheme=(function(F,z){return F||z?F:"file"})(I,B),this.authority=L||u,this.path=(function(F,z){switch(F){case"https":case"http":case"file":z?z[0]!==d&&(z=d+z):z=d}return z})(this.scheme,_||u),this.query=D||u,this.fragment=O||u,l(this,B))}static isUri(I){return I instanceof M||!!I&&typeof I.authority=="string"&&typeof I.fragment=="string"&&typeof I.path=="string"&&typeof I.query=="string"&&typeof I.scheme=="string"&&typeof I.fsPath=="string"&&typeof I.with=="function"&&typeof I.toString=="function"}get fsPath(){return b(this,!1)}with(I){if(!I)return this;let{scheme:L,authority:_,path:D,query:O,fragment:B}=I;return L===void 0?L=this.scheme:L===null&&(L=u),_===void 0?_=this.authority:_===null&&(_=u),D===void 0?D=this.path:D===null&&(D=u),O===void 0?O=this.query:O===null&&(O=u),B===void 0?B=this.fragment:B===null&&(B=u),L===this.scheme&&_===this.authority&&D===this.path&&O===this.query&&B===this.fragment?this:new g(L,_,D,O,B)}static parse(I,L=!1){const _=h.exec(I);return _?new g(_[2]||u,S(_[4]||u),S(_[5]||u),S(_[7]||u),S(_[9]||u),L):new g(u,u,u,u,u)}static file(I){let L=u;if(i&&(I=I.replace(/\\/g,d)),I[0]===d&&I[1]===d){const _=I.indexOf(d,2);_===-1?(L=I.substring(2),I=d):(L=I.substring(2,_),I=I.substring(_)||d)}return new g("file",L,I,u,u)}static from(I){const L=new g(I.scheme,I.authority,I.path,I.query,I.fragment);return l(L,!0),L}toString(I=!1){return v(this,I)}toJSON(){return this}static revive(I){if(I){if(I instanceof M)return I;{const L=new g(I);return L._formatted=I.external,L._fsPath=I._sep===p?I.fsPath:null,L}}return I}};R(M,"l");let f=M;const p=i?1:void 0,P=class P extends f{constructor(){super(...arguments);wr(this,"_formatted",null);wr(this,"_fsPath",null)}get fsPath(){return this._fsPath||(this._fsPath=b(this,!1)),this._fsPath}toString(L=!1){return L?v(this,!0):(this._formatted||(this._formatted=v(this,!1)),this._formatted)}toJSON(){const L={$mid:1};return this._fsPath&&(L.fsPath=this._fsPath,L._sep=p),this._formatted&&(L.external=this._formatted),this.path&&(L.path=this.path),this.scheme&&(L.scheme=this.scheme),this.authority&&(L.authority=this.authority),this.query&&(L.query=this.query),this.fragment&&(L.fragment=this.fragment),L}};R(P,"d");let g=P;const m={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function U(N,I,L){let _,D=-1;for(let O=0;O<N.length;O++){const B=N.charCodeAt(O);if(B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===45||B===46||B===95||B===126||I&&B===47||L&&B===91||L&&B===93||L&&B===58)D!==-1&&(_+=encodeURIComponent(N.substring(D,O)),D=-1),_!==void 0&&(_+=N.charAt(O));else{_===void 0&&(_=N.substr(0,O));const F=m[B];F!==void 0?(D!==-1&&(_+=encodeURIComponent(N.substring(D,O)),D=-1),_+=F):D===-1&&(D=O)}}return D!==-1&&(_+=encodeURIComponent(N.substring(D))),_!==void 0?_:N}R(U,"m");function y(N){let I;for(let L=0;L<N.length;L++){const _=N.charCodeAt(L);_===35||_===63?(I===void 0&&(I=N.substr(0,L)),I+=m[_]):I!==void 0&&(I+=N[L])}return I!==void 0?I:N}R(y,"y");function b(N,I){let L;return L=N.authority&&N.path.length>1&&N.scheme==="file"?`//${N.authority}${N.path}`:N.path.charCodeAt(0)===47&&(N.path.charCodeAt(1)>=65&&N.path.charCodeAt(1)<=90||N.path.charCodeAt(1)>=97&&N.path.charCodeAt(1)<=122)&&N.path.charCodeAt(2)===58?I?N.path.substr(1):N.path[1].toLowerCase()+N.path.substr(2):N.path,i&&(L=L.replace(/\//g,"\\")),L}R(b,"v");function v(N,I){const L=I?y:U;let _="",{scheme:D,authority:O,path:B,query:F,fragment:z}=N;if(D&&(_+=D,_+=":"),(O||D==="file")&&(_+=d,_+=d),O){let $=O.indexOf("@");if($!==-1){const H=O.substr(0,$);O=O.substr($+1),$=H.lastIndexOf(":"),$===-1?_+=L(H,!1,!1):(_+=L(H.substr(0,$),!1,!1),_+=":",_+=L(H.substr($+1),!1,!0)),_+="@"}O=O.toLowerCase(),$=O.lastIndexOf(":"),$===-1?_+=L(O,!1,!0):(_+=L(O.substr(0,$),!1,!0),_+=O.substr($))}if(B){if(B.length>=3&&B.charCodeAt(0)===47&&B.charCodeAt(2)===58){const $=B.charCodeAt(1);$>=65&&$<=90&&(B=`/${String.fromCharCode($+32)}:${B.substr(3)}`)}else if(B.length>=2&&B.charCodeAt(1)===58){const $=B.charCodeAt(0);$>=65&&$<=90&&(B=`${String.fromCharCode($+32)}:${B.substr(2)}`)}_+=L(B,!0,!1)}return F&&(_+="?",_+=L(F,!1,!1)),z&&(_+="#",_+=I?z:U(z,!1,!1)),_}R(v,"b");function w(N){try{return decodeURIComponent(N)}catch{return N.length>3?N.substr(0,3)+w(N.substr(3)):N}}R(w,"C");const T=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function S(N){return N.match(T)?N.replace(T,(I=>w(I))):N}R(S,"w");var C=r(975);const k=C.posix||C,E="/";var A;(function(N){N.joinPath=function(I,...L){return I.with({path:k.join(I.path,...L)})},N.resolvePath=function(I,...L){let _=I.path,D=!1;_[0]!==E&&(_=E+_,D=!0);let O=k.resolve(_,...L);return D&&O[0]===E&&!I.authority&&(O=O.substring(1)),I.with({path:O})},N.dirname=function(I){if(I.path.length===0||I.path===E)return I;let L=k.dirname(I.path);return L.length===1&&L.charCodeAt(0)===46&&(L=""),I.with({path:L})},N.basename=function(I){return k.basename(I.path)},N.extname=function(I){return k.extname(I.path)}})(A||(A={})),Mqe=n})();var{URI:Qc,Utils:g9}=Mqe,_l;(function(t){t.basename=g9.basename,t.dirname=g9.dirname,t.extname=g9.extname,t.joinPath=g9.joinPath,t.resolvePath=g9.resolvePath;const e=typeof process=="object"&&(process==null?void 0:process.platform)==="win32";function r(s,o){return(s==null?void 0:s.toString())===(o==null?void 0:o.toString())}R(r,"equals"),t.equals=r;function n(s,o){const l=typeof s=="string"?Qc.parse(s).path:s.path,u=typeof o=="string"?Qc.parse(o).path:o.path,d=l.split("/").filter(m=>m.length>0),h=u.split("/").filter(m=>m.length>0);if(e){const m=/^[A-Z]:$/;if(d[0]&&m.test(d[0])&&(d[0]=d[0].toLowerCase()),h[0]&&m.test(h[0])&&(h[0]=h[0].toLowerCase()),d[0]!==h[0])return u.substring(1)}let f=0;for(;f<d.length&&d[f]===h[f];f++);const p="../".repeat(d.length-f),g=h.slice(f).join("/");return p+g}R(n,"relative"),t.relative=n;function i(s){return Qc.parse(s.toString()).toString()}R(i,"normalize"),t.normalize=i;function a(s,o){let l=typeof s=="string"?s:s.path,u=typeof o=="string"?o:o.path;return u.charAt(u.length-1)==="/"&&(u=u.slice(0,-1)),l.charAt(l.length-1)==="/"&&(l=l.slice(0,-1)),u===l?!0:u.length<l.length||u.charAt(l.length)!=="/"?!1:u.startsWith(l)}R(a,"contains"),t.contains=a})(_l||(_l={}));var v7,Uae=(v7=class{constructor(){this.root={name:"",children:new Map}}normalizeUri(e){return _l.normalize(e)}clear(){this.root.children.clear()}insert(e,r){const n=this.getNode(this.normalizeUri(e),!0);n.element=r}delete(e){const r=this.getNode(this.normalizeUri(e),!1);r!=null&&r.parent&&r.parent.children.delete(r.name)}has(e){var r;return((r=this.getNode(this.normalizeUri(e),!1))==null?void 0:r.element)!==void 0}hasNode(e){return this.getNode(this.normalizeUri(e),!1)!==void 0}find(e){var r;return(r=this.getNode(this.normalizeUri(e),!1))==null?void 0:r.element}findNode(e){const r=this.normalizeUri(e),n=this.getNode(r,!1);if(n)return{name:n.name,uri:_l.joinPath(Qc.parse(r),n.name).toString(),element:n.element}}findChildren(e){const r=this.normalizeUri(e),n=this.getNode(r,!1);return n?Array.from(n.children.values()).map(i=>({name:i.name,uri:_l.joinPath(Qc.parse(r),i.name).toString(),element:i.element})):[]}all(){return this.collectValues(this.root)}findAll(e){const r=this.getNode(_l.normalize(e),!1);return r?this.collectValues(r):[]}getNode(e,r){const n=e.split("/");e.charAt(e.length-1)==="/"&&n.pop();let i=this.root;for(const a of n){let s=i.children.get(a);if(!s)if(r)s={name:a,children:new Map,parent:i},i.children.set(a,s);else return;i=s}return i}collectValues(e){const r=[];e.element&&r.push(e.element);for(const n of e.children.values())r.push(...this.collectValues(n));return r}},R(v7,"UriTrie"),v7),In;(function(t){t[t.Changed=0]="Changed",t[t.Parsed=1]="Parsed",t[t.IndexedContent=2]="IndexedContent",t[t.ComputedScopes=3]="ComputedScopes",t[t.Linked=4]="Linked",t[t.IndexedReferences=5]="IndexedReferences",t[t.Validated=6]="Validated"})(In||(In={}));var x7,Rqe=(x7=class{constructor(e){this.serviceRegistry=e.ServiceRegistry,this.textDocuments=e.workspace.TextDocuments,this.fileSystemProvider=e.workspace.FileSystemProvider}async fromUri(e,r=Hi.CancellationToken.None){const n=await this.fileSystemProvider.readFile(e);return this.createAsync(e,n,r)}fromTextDocument(e,r,n){return r=r??Qc.parse(e.uri),Hi.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromString(e,r,n){return Hi.CancellationToken.is(n)?this.createAsync(r,e,n):this.create(r,e,n)}fromModel(e,r){return this.create(r,{$model:e})}create(e,r,n){if(typeof r=="string"){const i=this.parse(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else if("$model"in r){const i={value:r.$model,parserErrors:[],lexerErrors:[]};return this.createLangiumDocument(i,e)}else{const i=this.parse(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}async createAsync(e,r,n){if(typeof r=="string"){const i=await this.parseAsync(e,r,n);return this.createLangiumDocument(i,e,void 0,r)}else{const i=await this.parseAsync(e,r.getText(),n);return this.createLangiumDocument(i,e,r)}}createLangiumDocument(e,r,n,i){let a;if(n)a={parseResult:e,uri:r,state:In.Parsed,references:[],textDocument:n};else{const s=this.createTextDocumentGetter(r,i);a={parseResult:e,uri:r,state:In.Parsed,references:[],get textDocument(){return s()}}}return e.value.$document=a,a}async update(e,r){var s,o;const n=(s=e.parseResult.value.$cstNode)==null?void 0:s.root.fullText,i=(o=this.textDocuments)==null?void 0:o.get(e.uri.toString()),a=i?i.getText():await this.fileSystemProvider.readFile(e.uri);if(i)Object.defineProperty(e,"textDocument",{value:i});else{const l=this.createTextDocumentGetter(e.uri,a);Object.defineProperty(e,"textDocument",{get:l})}return n!==a&&(e.parseResult=await this.parseAsync(e.uri,a,r),e.parseResult.value.$document=e),e.state=In.Parsed,e}parse(e,r,n){return this.serviceRegistry.getServices(e).parser.LangiumParser.parse(r,n)}parseAsync(e,r,n){return this.serviceRegistry.getServices(e).parser.AsyncParser.parse(r,n)}createTextDocumentGetter(e,r){const n=this.serviceRegistry;let i;return()=>i??(i=JN.create(e.toString(),n.getServices(e).LanguageMetaData.languageId,0,r??""))}},R(x7,"DefaultLangiumDocumentFactory"),x7),w7,Iqe=(w7=class{constructor(e){this.documentTrie=new Uae,this.services=e,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.documentBuilder=()=>e.workspace.DocumentBuilder}get all(){return Ti(this.documentTrie.all())}addDocument(e){const r=e.uri.toString();if(this.documentTrie.has(r))throw new Error(`A document with the URI '${r}' is already present.`);this.documentTrie.insert(r,e)}getDocument(e){const r=e.toString();return this.documentTrie.find(r)}getDocuments(e){const r=e.toString();return this.documentTrie.findAll(r)}async getOrCreateDocument(e,r){let n=this.getDocument(e);return n||(n=await this.langiumDocumentFactory.fromUri(e,r),this.addDocument(n),n)}createDocument(e,r,n){if(n)return this.langiumDocumentFactory.fromString(r,e,n).then(i=>(this.addDocument(i),i));{const i=this.langiumDocumentFactory.fromString(r,e);return this.addDocument(i),i}}hasDocument(e){return this.documentTrie.has(e.toString())}invalidateDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&this.documentBuilder().resetToState(n,In.Changed),n}deleteDocument(e){const r=e.toString(),n=this.documentTrie.find(r);return n&&(n.state=In.Changed,this.documentTrie.delete(r)),n}deleteDocuments(e){const r=e.toString(),n=this.documentTrie.findAll(r);for(const i of n)i.state=In.Changed;return this.documentTrie.delete(r),n}},R(w7,"DefaultLangiumDocuments"),w7),Im=Symbol("RefResolving"),T7,Lqe=(T7=class{constructor(e){this.reflection=e.shared.AstReflection,this.langiumDocuments=()=>e.shared.workspace.LangiumDocuments,this.scopeProvider=e.references.ScopeProvider,this.astNodeLocator=e.workspace.AstNodeLocator,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async link(e,r=Hi.CancellationToken.None){var n;if((n=this.profiler)!=null&&n.isActive("linking")){const i=this.profiler.createTask("linking",this.languageId);i.start();try{for(const a of _d(e.parseResult.value))await Xs(r),v4(a).forEach(s=>{const o=`${a.$type}:${s.property}`;i.startSubTask(o);try{this.doLink(s,e)}finally{i.stopSubTask(o)}})}finally{i.stop()}}else for(const i of _d(e.parseResult.value))await Xs(r),v4(i).forEach(a=>this.doLink(a,e))}doLink(e,r){const n=e.reference;if("_ref"in n&&n._ref===void 0){n._ref=Im;try{const i=this.getCandidate(e);if(Vm(i))n._ref=i;else{n._nodeDescription=i;const a=this.loadAstNode(i);n._ref=a??this.createLinkingError(e,i)}}catch(i){console.error(`An error occurred while resolving reference to '${n.$refText}':`,i);const a=i.message??String(i);n._ref={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${a}`}}r.references.push(n)}else if("_items"in n&&n._items===void 0){n._items=Im;try{const i=this.getCandidates(e),a=[];if(Vm(i))n._linkingError=i;else for(const s of i){const o=this.loadAstNode(s);o&&a.push({ref:o,$nodeDescription:s})}n._items=a}catch(i){n._linkingError={info:e,message:`An error occurred while resolving reference to '${n.$refText}': ${i}`},n._items=[]}r.references.push(n)}}unlink(e){for(const r of e.references)"_ref"in r?(r._ref=void 0,delete r._nodeDescription):"_items"in r&&(r._items=void 0,delete r._linkingError);e.references=[]}getCandidate(e){return this.scopeProvider.getScope(e).getElement(e.reference.$refText)??this.createLinkingError(e)}getCandidates(e){const n=this.scopeProvider.getScope(e).getElements(e.reference.$refText).distinct(i=>`${i.documentUri}#${i.path}`).toArray();return n.length>0?n:this.createLinkingError(e)}buildReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_ref:void 0,get ref(){if(cs(this._ref))return this._ref;if(tne(this._nodeDescription)){const o=a.loadAstNode(this._nodeDescription);this._ref=o??a.createLinkingError({reference:s,container:e,property:r},this._nodeDescription)}else if(this._ref===void 0){this._ref=Im;const o=Cb(e).$document,l=a.getLinkedNode({reference:s,container:e,property:r});if(l.error&&o&&o.state<In.ComputedScopes)return this._ref=void 0;this._ref=l.node??l.error,this._nodeDescription=l.descr,o==null||o.references.push(this)}else this._ref===Im&&a.throwCyclicReferenceError(e,r,i);return cs(this._ref)?this._ref:void 0},get $nodeDescription(){return this._nodeDescription},get error(){return Vm(this._ref)?this._ref:void 0}};return s}buildMultiReference(e,r,n,i){const a=this,s={$refNode:n,$refText:i,_items:void 0,get items(){if(Array.isArray(this._items))return this._items;if(this._items===void 0){this._items=Im;const o=Cb(e).$document,l=a.getCandidates({reference:s,container:e,property:r}),u=[];if(Vm(l))this._linkingError=l;else for(const d of l){const h=a.loadAstNode(d);h&&u.push({ref:h,$nodeDescription:d})}this._items=u,o==null||o.references.push(this)}else this._items===Im&&a.throwCyclicReferenceError(e,r,i);return Array.isArray(this._items)?this._items:[]},get error(){if(this._linkingError)return this._linkingError;if(!(this.items.length>0))return this._linkingError=a.createLinkingError({reference:s,container:e,property:r})}};return s}throwCyclicReferenceError(e,r,n){throw new Error(`Cyclic reference resolution detected: ${this.astNodeLocator.getAstNodePath(e)}/${r} (symbol '${n}')`)}getLinkedNode(e){try{const r=this.getCandidate(e);if(Vm(r))return{error:r};const n=this.loadAstNode(r);return n?{node:n,descr:r}:{descr:r,error:this.createLinkingError(e,r)}}catch(r){console.error(`An error occurred while resolving reference to '${e.reference.$refText}':`,r);const n=r.message??String(r);return{error:{info:e,message:`An error occurred while resolving reference to '${e.reference.$refText}': ${n}`}}}}loadAstNode(e){if(e.node)return e.node;const r=this.langiumDocuments().getDocument(e.documentUri);if(r)return this.astNodeLocator.getAstNode(r.parseResult.value,e.path)}createLinkingError(e,r){const n=Cb(e.container).$document;n&&n.state<In.ComputedScopes&&console.warn(`Attempted reference resolution before document reached ComputedScopes state (${n.uri}).`);const i=this.reflection.getReferenceType(e);return{info:e,message:`Could not resolve reference to ${i} named '${e.reference.$refText}'.`,targetDescription:r}}},R(T7,"DefaultLinker"),T7);function yae(t){return typeof t.name=="string"}R(yae,"isNamed");var C7,Nqe=(C7=class{getName(e){if(yae(e))return e.name}getNameNode(e){return p_(e.$cstNode,"name")}},R(C7,"DefaultNameProvider"),C7),S7,Oqe=(S7=class{constructor(e){this.nameProvider=e.references.NameProvider,this.index=e.shared.workspace.IndexManager,this.nodeLocator=e.workspace.AstNodeLocator,this.documents=e.shared.workspace.LangiumDocuments,this.hasMultiReference=_d(e.Grammar).some(r=>H5(r)&&r.isMulti)}findDeclarations(e){if(e){const r=qne(e),n=e.astNode;if(r&&n){const i=n[r.feature];if(Pl(i)||Hh(i))return UN(i);if(Array.isArray(i)){for(const a of i)if((Pl(a)||Hh(a))&&a.$refNode&&a.$refNode.offset<=e.offset&&a.$refNode.end>=e.end)return UN(a)}}if(n){const i=this.nameProvider.getNameNode(n);if(i&&(i===e||Sne(e,i)))return this.getSelfNodes(n)}}return[]}getSelfNodes(e){if(this.hasMultiReference){const r=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e)),n=this.getNodeFromReferenceDescription(r.head());if(n){for(const i of v4(n))if(Hh(i.reference)&&i.reference.items.some(a=>a.ref===e))return i.reference.items.map(a=>a.ref)}return[e]}else return[e]}getNodeFromReferenceDescription(e){if(!e)return;const r=this.documents.getDocument(e.sourceUri);if(r)return this.nodeLocator.getAstNode(r.parseResult.value,e.sourcePath)}findDeclarationNodes(e){const r=this.findDeclarations(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i)??i.$cstNode;a&&n.push(a)}return n}findReferences(e,r){const n=[];r.includeDeclaration&&n.push(...this.getSelfReferences(e));let i=this.index.findAllReferences(e,this.nodeLocator.getAstNodePath(e));return r.documentUri&&(i=i.filter(a=>_l.equals(a.sourceUri,r.documentUri))),n.push(...i),Ti(n)}getSelfReferences(e){const r=this.getSelfNodes(e),n=[];for(const i of r){const a=this.nameProvider.getNameNode(i);if(a){const s=Pd(i),o=this.nodeLocator.getAstNodePath(i);n.push({sourceUri:s.uri,sourcePath:o,targetUri:s.uri,targetPath:o,segment:T4(a),local:!0})}}return n}},R(S7,"DefaultReferences"),S7),k7,Z0=(k7=class{constructor(e){if(this.map=new Map,e)for(const[r,n]of e)this.add(r,n)}get size(){return iC.sum(Ti(this.map.values()).map(e=>e.length))}clear(){this.map.clear()}delete(e,r){if(r===void 0)return this.map.delete(e);{const n=this.map.get(e);if(n){const i=n.indexOf(r);if(i>=0)return n.length===1?this.map.delete(e):n.splice(i,1),!0}return!1}}get(e){return this.map.get(e)??[]}getStream(e){const r=this.map.get(e);return r?Ti(r):U4}has(e,r){if(r===void 0)return this.map.has(e);{const n=this.map.get(e);return n?n.indexOf(r)>=0:!1}}add(e,r){return this.map.has(e)?this.map.get(e).push(r):this.map.set(e,[r]),this}addAll(e,r){return this.map.has(e)?this.map.get(e).push(...r):this.map.set(e,Array.from(r)),this}forEach(e){this.map.forEach((r,n)=>r.forEach(i=>e(i,n,this)))}[Symbol.iterator](){return this.entries().iterator()}entries(){return Ti(this.map.entries()).flatMap(([e,r])=>r.map(n=>[e,n]))}keys(){return Ti(this.map.keys())}values(){return Ti(this.map.values()).flat()}entriesGroupedByKey(){return Ti(this.map.entries())}},R(k7,"MultiMap"),k7),E7,eO=(E7=class{get size(){return this.map.size}constructor(e){if(this.map=new Map,this.inverse=new Map,e)for(const[r,n]of e)this.set(r,n)}clear(){this.map.clear(),this.inverse.clear()}set(e,r){return this.map.set(e,r),this.inverse.set(r,e),this}get(e){return this.map.get(e)}getKey(e){return this.inverse.get(e)}delete(e){const r=this.map.get(e);return r!==void 0?(this.map.delete(e),this.inverse.delete(r),!0):!1}},R(E7,"BiMap"),E7),A7,Dqe=(A7=class{constructor(e){this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider}async collectExportedSymbols(e,r=Hi.CancellationToken.None){return this.collectExportedSymbolsForNode(e.parseResult.value,e,void 0,r)}async collectExportedSymbolsForNode(e,r,n=BS,i=Hi.CancellationToken.None){const a=[];this.addExportedSymbol(e,a,r);for(const s of n(e))await Xs(i),this.addExportedSymbol(s,a,r);return a}addExportedSymbol(e,r,n){const i=this.nameProvider.getName(e);i&&r.push(this.descriptions.createDescription(e,i,n))}async collectLocalSymbols(e,r=Hi.CancellationToken.None){const n=e.parseResult.value,i=new Z0;for(const a of yp(n))await Xs(r),this.addLocalSymbol(a,e,i);return i}addLocalSymbol(e,r,n){const i=e.$container;if(i){const a=this.nameProvider.getName(e);a&&n.add(i,this.descriptions.createDescription(e,a,r))}}},R(A7,"DefaultScopeComputation"),A7),M7,YX=(M7=class{constructor(e,r,n){this.elements=e,this.outerScope=r,this.caseInsensitive=(n==null?void 0:n.caseInsensitive)??!1,this.concatOuterScope=(n==null?void 0:n.concatOuterScope)??!0}getAllElements(){return this.outerScope?this.elements.concat(this.outerScope.getAllElements()):this.elements}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.find(i=>i.name.toLowerCase()===r):this.elements.find(i=>i.name===e);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.caseInsensitive?this.elements.filter(i=>i.name.toLowerCase()===r):this.elements.filter(i=>i.name===e);return(this.concatOuterScope||n.isEmpty())&&this.outerScope?n.concat(this.outerScope.getElements(e)):n}},R(M7,"StreamScope"),M7),R7,igr=(R7=class{constructor(e,r,n){this.elements=new Map,this.caseInsensitive=(n==null?void 0:n.caseInsensitive)??!1,this.concatOuterScope=(n==null?void 0:n.concatOuterScope)??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.set(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r),i=n?[n]:[];return(this.concatOuterScope||i.length>0)&&this.outerScope?Ti(i).concat(this.outerScope.getElements(e)):Ti(i)}getAllElements(){let e=Ti(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},R(R7,"MapScope"),R7),I7,Pqe=(I7=class{constructor(e,r,n){this.elements=new Z0,this.caseInsensitive=(n==null?void 0:n.caseInsensitive)??!1,this.concatOuterScope=(n==null?void 0:n.concatOuterScope)??!0;for(const i of e){const a=this.caseInsensitive?i.name.toLowerCase():i.name;this.elements.add(a,i)}this.outerScope=r}getElement(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r)[0];if(n)return n;if(this.outerScope)return this.outerScope.getElement(e)}getElements(e){const r=this.caseInsensitive?e.toLowerCase():e,n=this.elements.get(r);return(this.concatOuterScope||n.length===0)&&this.outerScope?Ti(n).concat(this.outerScope.getElements(e)):Ti(n)}getAllElements(){let e=Ti(this.elements.values());return this.outerScope&&(e=e.concat(this.outerScope.getAllElements())),e}},R(I7,"MultiMapScope"),I7),agr={getElement(){},getElements(){return U4},getAllElements(){return U4}},L7,nB=(L7=class{constructor(){this.toDispose=[],this.isDisposed=!1}onDispose(e){this.toDispose.push(e)}dispose(){this.throwIfDisposed(),this.clear(),this.isDisposed=!0,this.toDispose.forEach(e=>e.dispose())}throwIfDisposed(){if(this.isDisposed)throw new Error("This cache has already been disposed")}},R(L7,"DisposableCache"),L7),N7,bae=(N7=class extends nB{constructor(){super(...arguments),this.cache=new Map}has(e){return this.throwIfDisposed(),this.cache.has(e)}set(e,r){this.throwIfDisposed(),this.cache.set(e,r)}get(e,r){if(this.throwIfDisposed(),this.cache.has(e))return this.cache.get(e);if(r){const n=r();return this.cache.set(e,n),n}else return}delete(e){return this.throwIfDisposed(),this.cache.delete(e)}clear(){this.throwIfDisposed(),this.cache.clear()}},R(N7,"SimpleCache"),N7),O7,iB=(O7=class extends nB{constructor(e){super(),this.cache=new Map,this.converter=e??(r=>r)}has(e,r){return this.throwIfDisposed(),this.cacheForContext(e).has(r)}set(e,r,n){this.throwIfDisposed(),this.cacheForContext(e).set(r,n)}get(e,r,n){this.throwIfDisposed();const i=this.cacheForContext(e);if(i.has(r))return i.get(r);if(n){const a=n();return i.set(r,a),a}else return}delete(e,r){return this.throwIfDisposed(),this.cacheForContext(e).delete(r)}clear(e){if(this.throwIfDisposed(),e){const r=this.converter(e);this.cache.delete(r)}else this.cache.clear()}cacheForContext(e){const r=this.converter(e);let n=this.cache.get(r);return n||(n=new Map,this.cache.set(r,n)),n}},R(O7,"ContextCache"),O7),D7,_qe=(D7=class extends iB{constructor(e,r){super(n=>n.toString()),r?(this.toDispose.push(e.workspace.DocumentBuilder.onDocumentPhase(r,n=>{this.clear(n.uri.toString())})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{for(const a of i)this.clear(a)}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{const a=n.concat(i);for(const s of a)this.clear(s)}))}},R(D7,"DocumentCache"),D7),P7,vae=(P7=class extends bae{constructor(e,r){super(),r?(this.toDispose.push(e.workspace.DocumentBuilder.onBuildPhase(r,()=>{this.clear()})),this.toDispose.push(e.workspace.DocumentBuilder.onUpdate((n,i)=>{i.length>0&&this.clear()}))):this.toDispose.push(e.workspace.DocumentBuilder.onUpdate(()=>{this.clear()}))}},R(P7,"WorkspaceCache"),P7),_7,Bqe=(_7=class{constructor(e){this.reflection=e.shared.AstReflection,this.nameProvider=e.references.NameProvider,this.descriptions=e.workspace.AstNodeDescriptionProvider,this.indexManager=e.shared.workspace.IndexManager,this.globalScopeCache=new vae(e.shared)}getScope(e){const r=[],n=this.reflection.getReferenceType(e),i=Pd(e.container).localSymbols;if(i){let s=e.container;do i.has(s)&&r.push(i.getStream(s).filter(o=>this.reflection.isSubtype(o.type,n))),s=s.$container;while(s)}let a=this.getGlobalScope(n,e);for(let s=r.length-1;s>=0;s--)a=this.createScope(r[s],a);return a}createScope(e,r,n){return new YX(Ti(e),r,n)}createScopeForNodes(e,r,n){const i=Ti(e).map(a=>{const s=this.nameProvider.getName(a);if(s)return this.descriptions.createDescription(a,s)}).nonNullable();return new YX(i,r,n)}getGlobalScope(e,r){return this.globalScopeCache.get(e,()=>new Pqe(this.indexManager.allElements(e)))}},R(_7,"DefaultScopeProvider"),_7);function xae(t){return typeof t.$comment=="string"}R(xae,"isAstNodeWithComment");function XX(t){return typeof t=="object"&&!!t&&("$ref"in t||"$error"in t)}R(XX,"isIntermediateReference");var B7,$qe=(B7=class{constructor(e){this.ignoreProperties=new Set(["$container","$containerProperty","$containerIndex","$document","$cstNode"]),this.langiumDocuments=e.shared.workspace.LangiumDocuments,this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider,this.commentProvider=e.documentation.CommentProvider}serialize(e,r){const n=r??{},i=r==null?void 0:r.replacer,a=R((o,l)=>this.replacer(o,l,n),"defaultReplacer"),s=i?(o,l)=>i(o,l,a):a;try{return this.currentDocument=Pd(e),JSON.stringify(e,s,r==null?void 0:r.space)}finally{this.currentDocument=void 0}}deserialize(e,r){const n=r??{},i=JSON.parse(e);return this.linkNode(i,i,n),i}replacer(e,r,{refText:n,sourceText:i,textRegions:a,comments:s,uriConverter:o}){var l,u,d;if(!this.ignoreProperties.has(e))if(Pl(r)){const h=r.ref,f=n?r.$refText:void 0;if(h){const p=Pd(h);let g="";this.currentDocument&&this.currentDocument!==p&&(o?g=o(p.uri,h):g=p.uri.toString());const m=this.astNodeLocator.getAstNodePath(h);return{$ref:`${g}#${m}`,$refText:f}}else return{$error:((l=r.error)==null?void 0:l.message)??"Could not resolve reference",$refText:f}}else if(Hh(r)){const h=n?r.$refText:void 0,f=[];for(const p of r.items){const g=p.ref,m=Pd(p.ref);let U="";this.currentDocument&&this.currentDocument!==m&&(o?U=o(m.uri,g):U=m.uri.toString());const y=this.astNodeLocator.getAstNodePath(g);f.push(`${U}#${y}`)}return{$refs:f,$refText:h}}else if(cs(r)){let h;if(a&&(h=this.addAstNodeRegionWithAssignmentsTo({...r}),(!e||r.$document)&&(h!=null&&h.$textRegion)&&(h.$textRegion.documentURI=(u=this.currentDocument)==null?void 0:u.uri.toString())),i&&!e&&(h??(h={...r}),h.$sourceText=(d=r.$cstNode)==null?void 0:d.text),s){h??(h={...r});const f=this.commentProvider.getComment(r);f&&(h.$comment=f.replace(/\r/g,""))}return h??r}else return r}addAstNodeRegionWithAssignmentsTo(e){const r=R(n=>({offset:n.offset,end:n.end,length:n.length,range:n.range}),"createDocumentSegment");if(e.$cstNode){const n=e.$textRegion=r(e.$cstNode),i=n.assignments={};return Object.keys(e).filter(a=>!a.startsWith("$")).forEach(a=>{const s=Gne(e.$cstNode,a).map(r);s.length!==0&&(i[a]=s)}),e}}linkNode(e,r,n,i,a,s){for(const[l,u]of Object.entries(e))if(Array.isArray(u))for(let d=0;d<u.length;d++){const h=u[d];XX(h)?u[d]=this.reviveReference(e,l,r,h,n):cs(h)&&this.linkNode(h,r,n,e,l,d)}else XX(u)?e[l]=this.reviveReference(e,l,r,u,n):cs(u)&&this.linkNode(u,r,n,e,l);const o=e;o.$container=i,o.$containerProperty=a,o.$containerIndex=s}reviveReference(e,r,n,i,a){let s=i.$refText,o=i.$error,l;if(i.$ref){const u=this.getRefNode(n,i.$ref,a.uriConverter);if(cs(u))return s||(s=this.nameProvider.getName(u)),{$refText:s??"",ref:u};o=u}else if(i.$refs){const u=[];for(const d of i.$refs){const h=this.getRefNode(n,d,a.uriConverter);cs(h)&&u.push({ref:h})}if(u.length===0)l={$refText:s??"",items:u},o??(o="Could not resolve multi-reference");else return{$refText:s??"",items:u}}if(o)return l??(l={$refText:s??"",ref:void 0}),l.error={info:{container:e,property:r,reference:l},message:o},l}getRefNode(e,r,n){try{const i=r.indexOf("#");if(i===0){const l=this.astNodeLocator.getAstNode(e,r.substring(1));return l||"Could not resolve path: "+r}if(i<0){const l=n?n(r):Qc.parse(r),u=this.langiumDocuments.getDocument(l);return u?u.parseResult.value:"Could not find document for URI: "+r}const a=n?n(r.substring(0,i)):Qc.parse(r.substring(0,i)),s=this.langiumDocuments.getDocument(a);if(!s)return"Could not find document for URI: "+r;if(i===r.length-1)return s.parseResult.value;const o=this.astNodeLocator.getAstNode(s.parseResult.value,r.substring(i+1));return o||"Could not resolve URI: "+r}catch(i){return String(i)}}},R(B7,"DefaultJsonSerializer"),B7),$7,Fqe=($7=class{get map(){return this.fileExtensionMap}constructor(e){this.languageIdMap=new Map,this.fileExtensionMap=new Map,this.fileNameMap=new Map,this.textDocuments=e==null?void 0:e.workspace.TextDocuments}register(e){const r=e.LanguageMetaData;for(const n of r.fileExtensions)this.fileExtensionMap.has(n)&&console.warn(`The file extension ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileExtensionMap.set(n,e);if(r.fileNames)for(const n of r.fileNames)this.fileNameMap.has(n)&&console.warn(`The file name ${n} is used by multiple languages. It is now assigned to '${r.languageId}'.`),this.fileNameMap.set(n,e);this.languageIdMap.set(r.languageId,e)}getServices(e){var s,o;if(this.languageIdMap.size===0)throw new Error("The service registry is empty. Use `register` to register the services of a language.");const r=(o=(s=this.textDocuments)==null?void 0:s.get(e))==null?void 0:o.languageId;if(r!==void 0){const l=this.languageIdMap.get(r);if(l)return l}const n=_l.extname(e),i=_l.basename(e),a=this.fileNameMap.get(i)??this.fileExtensionMap.get(n);if(!a)throw r?new Error(`The service registry contains no services for the extension '${n}' for language '${r}'.`):new Error(`The service registry contains no services for the extension '${n}'.`);return a}hasServices(e){try{return this.getServices(e),!0}catch{return!1}}get all(){return Array.from(this.languageIdMap.values())}},R($7,"DefaultServiceRegistry"),$7);function bU(t){return{code:t}}R(bU,"diagnosticData");var tO;(function(t){t.defaults=["fast","slow","built-in"],t.all=t.defaults})(tO||(tO={}));var F7,zqe=(F7=class{constructor(e){this.entries=new Z0,this.knownCategories=new Set(tO.defaults),this.entriesBefore=[],this.entriesAfter=[],this.reflection=e.shared.AstReflection}register(e,r=this,n="fast"){if(n==="built-in")throw new Error("The 'built-in' category is reserved for lexer, parser, and linker errors.");this.knownCategories.add(n);for(const[i,a]of Object.entries(e)){const s=a;if(Array.isArray(s))for(const o of s){const l={check:this.wrapValidationException(o,r),category:n};this.addEntry(i,l)}else if(typeof s=="function"){const o={check:this.wrapValidationException(s,r),category:n};this.addEntry(i,o)}else B1()}}wrapValidationException(e,r){return async(n,i,a)=>{await this.handleException(()=>e.call(r,n,i,a),"An error occurred during validation",i,n)}}async handleException(e,r,n,i){try{await e()}catch(a){if(iy(a))throw a;console.error(`${r}:`,a),a instanceof Error&&a.stack&&console.error(a.stack);const s=a instanceof Error?a.message:String(a);n("error",`${r}: ${s}`,{node:i})}}addEntry(e,r){if(e==="AstNode"){this.entries.add("AstNode",r);return}for(const n of this.reflection.getAllSubTypes(e))this.entries.add(n,r)}getChecks(e,r){let n=Ti(this.entries.get(e)).concat(this.entries.get("AstNode"));return r&&(n=n.filter(i=>r.includes(i.category))),n.map(i=>i.check)}registerBeforeDocument(e,r=this){this.entriesBefore.push(this.wrapPreparationException(e,"An error occurred during set-up of the validation",r))}registerAfterDocument(e,r=this){this.entriesAfter.push(this.wrapPreparationException(e,"An error occurred during tear-down of the validation",r))}wrapPreparationException(e,r,n){return async(i,a,s,o)=>{await this.handleException(()=>e.call(n,i,a,s,o),r,a,i)}}get checksBefore(){return this.entriesBefore}get checksAfter(){return this.entriesAfter}getAllValidationCategories(e){return this.knownCategories}},R(F7,"ValidationRegistry"),F7),Hqe=Object.freeze({validateNode:!0,validateChildren:!0}),z7,Vqe=(z7=class{constructor(e){this.validationRegistry=e.validation.ValidationRegistry,this.metadata=e.LanguageMetaData,this.profiler=e.shared.profilers.LangiumProfiler,this.languageId=e.LanguageMetaData.languageId}async validateDocument(e,r={},n=Hi.CancellationToken.None){const i=e.parseResult,a=[];if(await Xs(n),(!r.categories||r.categories.includes("built-in"))&&(this.processLexingErrors(i,a,r),r.stopAfterLexingErrors&&a.some(s=>{var o;return((o=s.data)==null?void 0:o.code)===Lu.LexingError})||(this.processParsingErrors(i,a,r),r.stopAfterParsingErrors&&a.some(s=>{var o;return((o=s.data)==null?void 0:o.code)===Lu.ParsingError}))||(this.processLinkingErrors(e,a,r),r.stopAfterLinkingErrors&&a.some(s=>{var o;return((o=s.data)==null?void 0:o.code)===Lu.LinkingError}))))return a;try{a.push(...await this.validateAst(i.value,r,n))}catch(s){if(iy(s))throw s;console.error("An error occurred during validation:",s)}return await Xs(n),a}processLexingErrors(e,r,n){var a;const i=[...e.lexerErrors,...((a=e.lexerReport)==null?void 0:a.diagnostics)??[]];for(const s of i){const o=s.severity??"error",l={severity:Cw(o),range:{start:{line:s.line-1,character:s.column-1},end:{line:s.line-1,character:s.column+s.length-1}},message:s.message,data:Tae(o),source:this.getSource()};r.push(l)}}processParsingErrors(e,r,n){for(const i of e.parserErrors){let a;if(isNaN(i.token.startOffset)){if("previousToken"in i){const s=i.previousToken;if(isNaN(s.startOffset)){const o={line:0,character:0};a={start:o,end:o}}else{const o={line:s.endLine-1,character:s.endColumn};a={start:o,end:o}}}}else a=aC(i.token);if(a){const s={severity:Cw("error"),range:a,message:i.message,data:bU(Lu.ParsingError),source:this.getSource()};r.push(s)}}}processLinkingErrors(e,r,n){var i;for(const a of e.references){const s=a.error;if(s){const o={node:s.info.container,range:(i=a.$refNode)==null?void 0:i.range,property:s.info.property,index:s.info.index,data:{code:Lu.LinkingError,containerType:s.info.container.$type,property:s.info.property,refText:s.info.reference.$refText}};r.push(this.toDiagnostic("error",s.message,o))}}}async validateAst(e,r,n=Hi.CancellationToken.None){const i=[],a=R((s,o,l)=>{i.push(this.toDiagnostic(s,o,l))},"acceptor");return await this.validateAstBefore(e,r,a,n),await this.validateAstNodes(e,r,a,n),await this.validateAstAfter(e,r,a,n),i}async validateAstBefore(e,r,n,i=Hi.CancellationToken.None){const a=this.validationRegistry.checksBefore;for(const s of a)await Xs(i),await s(e,n,r.categories??[],i)}async validateAstNodes(e,r,n,i=Hi.CancellationToken.None){var a;if((a=this.profiler)!=null&&a.isActive("validating")){const s=this.profiler.createTask("validating",this.languageId);s.start();try{const o=_d(e).iterator();for(const l of o){s.startSubTask(l.$type);const u=this.validateSingleNodeOptions(l,r);if(u.validateNode)try{const d=this.validationRegistry.getChecks(l.$type,r.categories);for(const h of d)await h(l,n,i)}finally{s.stopSubTask(l.$type)}u.validateChildren||o.prune()}}finally{s.stop()}}else{const s=_d(e).iterator();for(const o of s){await Xs(i);const l=this.validateSingleNodeOptions(o,r);if(l.validateNode){const u=this.validationRegistry.getChecks(o.$type,r.categories);for(const d of u)await d(o,n,i)}l.validateChildren||s.prune()}}}validateSingleNodeOptions(e,r){return Hqe}async validateAstAfter(e,r,n,i=Hi.CancellationToken.None){const a=this.validationRegistry.checksAfter;for(const s of a)await Xs(i),await s(e,n,r.categories??[],i)}toDiagnostic(e,r,n){return{message:r,range:wae(n),severity:Cw(e),code:n.code,codeDescription:n.codeDescription,tags:n.tags,relatedInformation:n.relatedInformation,data:n.data,source:this.getSource()}}getSource(){return this.metadata.languageId}},R(z7,"DefaultDocumentValidator"),z7);function wae(t){if(t.range)return t.range;let e;return typeof t.property=="string"?e=p_(t.node.$cstNode,t.property,t.index):typeof t.keyword=="string"&&(e=Wne(t.node.$cstNode,t.keyword,t.index)),e??(e=t.node.$cstNode),e?e.range:{start:{line:0,character:0},end:{line:0,character:0}}}R(wae,"getDiagnosticRange");function Cw(t){switch(t){case"error":return 1;case"warning":return 2;case"info":return 3;case"hint":return 4;default:throw new Error("Invalid diagnostic severity: "+t)}}R(Cw,"toDiagnosticSeverity");function Tae(t){switch(t){case"error":return bU(Lu.LexingError);case"warning":return bU(Lu.LexingWarning);case"info":return bU(Lu.LexingInfo);case"hint":return bU(Lu.LexingHint);default:throw new Error("Invalid diagnostic severity: "+t)}}R(Tae,"toDiagnosticData");var Lu;(function(t){t.LexingError="lexing-error",t.LexingWarning="lexing-warning",t.LexingInfo="lexing-info",t.LexingHint="lexing-hint",t.ParsingError="parsing-error",t.LinkingError="linking-error"})(Lu||(Lu={}));var H7,Gqe=(H7=class{constructor(e){this.astNodeLocator=e.workspace.AstNodeLocator,this.nameProvider=e.references.NameProvider}createDescription(e,r,n){const i=n??Pd(e);r??(r=this.nameProvider.getName(e));const a=this.astNodeLocator.getAstNodePath(e);if(!r)throw new Error(`Node at path ${a} has no name.`);let s;const o=R(()=>s??(s=T4(this.nameProvider.getNameNode(e)??e.$cstNode)),"nameSegmentGetter");return{node:e,name:r,get nameSegment(){return o()},selectionSegment:T4(e.$cstNode),type:e.$type,documentUri:i.uri,path:a}}},R(H7,"DefaultAstNodeDescriptionProvider"),H7),V7,Wqe=(V7=class{constructor(e){this.nodeLocator=e.workspace.AstNodeLocator}async createDescriptions(e,r=Hi.CancellationToken.None){const n=[],i=e.parseResult.value;for(const a of _d(i))await Xs(r),v4(a).forEach(s=>{s.reference.error||n.push(...this.createInfoDescriptions(s))});return n}createInfoDescriptions(e){const r=e.reference;if(r.error||!r.$refNode)return[];let n=[];Pl(r)&&r.$nodeDescription?n=[r.$nodeDescription]:Hh(r)&&(n=r.items.map(l=>l.$nodeDescription).filter(l=>l!==void 0));const i=Pd(e.container).uri,a=this.nodeLocator.getAstNodePath(e.container),s=[],o=T4(r.$refNode);for(const l of n)s.push({sourceUri:i,sourcePath:a,targetUri:l.documentUri,targetPath:l.path,segment:o,local:_l.equals(l.documentUri,i)});return s}},R(V7,"DefaultReferenceDescriptionProvider"),V7),G7,qqe=(G7=class{constructor(){this.segmentSeparator="/",this.indexSeparator="@"}getAstNodePath(e){if(e.$container){const r=this.getAstNodePath(e.$container),n=this.getPathSegment(e);return r+this.segmentSeparator+n}return""}getPathSegment({$containerProperty:e,$containerIndex:r}){if(!e)throw new Error("Missing '$containerProperty' in AST node.");return r!==void 0?e+this.indexSeparator+r:e}getAstNode(e,r){return r.split(this.segmentSeparator).reduce((i,a)=>{if(!i||a.length===0)return i;const s=a.indexOf(this.indexSeparator);if(s>0){const o=a.substring(0,s),l=parseInt(a.substring(s+1)),u=i[o];return u==null?void 0:u[l]}return i[a]},e)}},R(G7,"DefaultAstNodeLocator"),G7),aB={};QP(aB,Zre(b3()));var W7,jqe=(W7=class{constructor(e){this._ready=new K0,this.onConfigurationSectionUpdateEmitter=new aB.Emitter,this.settings={},this.workspaceConfig=!1,this.serviceRegistry=e.ServiceRegistry}get ready(){return this._ready.promise}initialize(e){var r;this.workspaceConfig=((r=e.capabilities.workspace)==null?void 0:r.configuration)??!1}async initialized(e){if(this.workspaceConfig){if(e.register){const r=this.serviceRegistry.all;e.register({section:r.map(n=>this.toSectionName(n.LanguageMetaData.languageId))})}if(e.fetchConfiguration){const r=this.serviceRegistry.all.map(i=>({section:this.toSectionName(i.LanguageMetaData.languageId)})),n=await e.fetchConfiguration(r);r.forEach((i,a)=>{this.updateSectionConfiguration(i.section,n[a])})}}this._ready.resolve()}updateConfiguration(e){typeof e.settings!="object"||e.settings===null||Object.entries(e.settings).forEach(([r,n])=>{this.updateSectionConfiguration(r,n),this.onConfigurationSectionUpdateEmitter.fire({section:r,configuration:n})})}updateSectionConfiguration(e,r){this.settings[e]=r}async getConfiguration(e,r){await this.ready;const n=this.toSectionName(e);if(this.settings[n])return this.settings[n][r]}toSectionName(e){return`${e}`}get onConfigurationSectionUpdate(){return this.onConfigurationSectionUpdateEmitter.event}},R(W7,"DefaultConfigurationProvider"),W7),tA=Zre(_ir()),OU;(function(t){function e(r){return{dispose:R(async()=>await r(),"dispose")}}R(e,"create"),t.create=e})(OU||(OU={}));var q7,Yqe=(q7=class{constructor(e){this.updateBuildOptions={validation:{categories:["built-in","fast"]}},this.updateListeners=[],this.buildPhaseListeners=new Z0,this.documentPhaseListeners=new Z0,this.buildState=new Map,this.documentBuildWaiters=new Map,this.currentState=In.Changed,this.langiumDocuments=e.workspace.LangiumDocuments,this.langiumDocumentFactory=e.workspace.LangiumDocumentFactory,this.textDocuments=e.workspace.TextDocuments,this.indexManager=e.workspace.IndexManager,this.fileSystemProvider=e.workspace.FileSystemProvider,this.workspaceManager=()=>e.workspace.WorkspaceManager,this.serviceRegistry=e.ServiceRegistry}async build(e,r={},n=Hi.CancellationToken.None){var i;for(const a of e){const s=a.uri.toString();if(a.state===In.Validated){if(typeof r.validation=="boolean"&&r.validation)this.resetToState(a,In.IndexedReferences);else if(typeof r.validation=="object"){const o=this.findMissingValidationCategories(a,r);o.length>0&&(this.buildState.set(s,{completed:!1,options:{validation:{categories:o}},result:(i=this.buildState.get(s))==null?void 0:i.result}),a.state=In.IndexedReferences)}}else this.buildState.delete(s)}this.currentState=In.Changed,await this.emitUpdate(e.map(a=>a.uri),[]),await this.buildDocuments(e,r,n)}async update(e,r,n=Hi.CancellationToken.None){this.currentState=In.Changed;const i=[];for(const l of r){const u=this.langiumDocuments.deleteDocuments(l);for(const d of u)i.push(d.uri),this.cleanUpDeleted(d)}const a=(await Promise.all(e.map(l=>this.findChangedUris(l)))).flat();for(const l of a){let u=this.langiumDocuments.getDocument(l);u===void 0&&(u=this.langiumDocumentFactory.fromModel({$type:"INVALID"},l),u.state=In.Changed,this.langiumDocuments.addDocument(u)),this.resetToState(u,In.Changed)}const s=Ti(a).concat(i).map(l=>l.toString()).toSet();this.langiumDocuments.all.filter(l=>!s.has(l.uri.toString())&&this.shouldRelink(l,s)).forEach(l=>this.resetToState(l,In.ComputedScopes)),await this.emitUpdate(a,i),await Xs(n);const o=this.sortDocuments(this.langiumDocuments.all.filter(l=>{var u;return l.state<In.Validated||!((u=this.buildState.get(l.uri.toString()))!=null&&u.completed)||this.resultsAreIncomplete(l,this.updateBuildOptions)}).toArray());await this.buildDocuments(o,this.updateBuildOptions,n)}resultsAreIncomplete(e,r){return this.findMissingValidationCategories(e,r).length>=1}findMissingValidationCategories(e,r){var o,l;const n=this.buildState.get(e.uri.toString()),i=this.serviceRegistry.getServices(e.uri).validation.ValidationRegistry.getAllValidationCategories(e),a=(o=n==null?void 0:n.result)!=null&&o.validationChecks?new Set((l=n==null?void 0:n.result)==null?void 0:l.validationChecks):n!=null&&n.completed?i:new Set,s=r===void 0||r.validation===!0?i:typeof r.validation=="object"?r.validation.categories??i:[];return Ti(s).filter(u=>!a.has(u)).toArray()}async findChangedUris(e){var n;if(this.langiumDocuments.getDocument(e)??((n=this.textDocuments)==null?void 0:n.get(e)))return[e];try{const i=await this.fileSystemProvider.stat(e);if(i.isDirectory)return await this.workspaceManager().searchFolder(e);if(this.workspaceManager().shouldIncludeEntry(i))return[e]}catch{}return[]}async emitUpdate(e,r){await Promise.all(this.updateListeners.map(n=>n(e,r)))}sortDocuments(e){let r=0,n=e.length-1;for(;r<n;){for(;r<e.length&&this.hasTextDocument(e[r]);)r++;for(;n>=0&&!this.hasTextDocument(e[n]);)n--;r<n&&([e[r],e[n]]=[e[n],e[r]])}return e}hasTextDocument(e){var r;return!!((r=this.textDocuments)!=null&&r.get(e.uri))}shouldRelink(e,r){return e.references.some(n=>n.error!==void 0)?!0:this.indexManager.isAffected(e,r)}onUpdate(e){return this.updateListeners.push(e),OU.create(()=>{const r=this.updateListeners.indexOf(e);r>=0&&this.updateListeners.splice(r,1)})}resetToState(e,r){switch(r){case In.Changed:case In.Parsed:this.indexManager.removeContent(e.uri);case In.IndexedContent:e.localSymbols=void 0;case In.ComputedScopes:this.serviceRegistry.getServices(e.uri).references.Linker.unlink(e);case In.Linked:this.indexManager.removeReferences(e.uri);case In.IndexedReferences:e.diagnostics=void 0,this.buildState.delete(e.uri.toString());case In.Validated:}e.state>r&&(e.state=r)}cleanUpDeleted(e){this.buildState.delete(e.uri.toString()),this.indexManager.remove(e.uri),e.state=In.Changed}async buildDocuments(e,r,n){this.prepareBuild(e,r),await this.runCancelable(e,In.Parsed,n,s=>this.langiumDocumentFactory.update(s,n)),await this.runCancelable(e,In.IndexedContent,n,s=>this.indexManager.updateContent(s,n)),await this.runCancelable(e,In.ComputedScopes,n,async s=>{const o=this.serviceRegistry.getServices(s.uri).references.ScopeComputation;s.localSymbols=await o.collectLocalSymbols(s,n)});const i=e.filter(s=>this.shouldLink(s));await this.runCancelable(i,In.Linked,n,s=>this.serviceRegistry.getServices(s.uri).references.Linker.link(s,n)),await this.runCancelable(i,In.IndexedReferences,n,s=>this.indexManager.updateReferences(s,n));const a=e.filter(s=>this.shouldValidate(s)?!0:(this.markAsCompleted(s),!1));await this.runCancelable(a,In.Validated,n,async s=>{await this.validate(s,n),this.markAsCompleted(s)})}markAsCompleted(e){const r=this.buildState.get(e.uri.toString());r&&(r.completed=!0)}prepareBuild(e,r){for(const n of e){const i=n.uri.toString(),a=this.buildState.get(i);(!a||a.completed)&&this.buildState.set(i,{completed:!1,options:r,result:a==null?void 0:a.result})}}async runCancelable(e,r,n,i){for(const s of e)s.state<r&&(await Xs(n),await i(s),s.state=r,await this.notifyDocumentPhase(s,r,n));const a=e.filter(s=>s.state===r);await this.notifyBuildPhase(a,r,n),this.currentState=r}onBuildPhase(e,r){return this.buildPhaseListeners.add(e,r),OU.create(()=>{this.buildPhaseListeners.delete(e,r)})}onDocumentPhase(e,r){return this.documentPhaseListeners.add(e,r),OU.create(()=>{this.documentPhaseListeners.delete(e,r)})}waitUntil(e,r,n){let i;return r&&"path"in r?i=r:n=r,n??(n=Hi.CancellationToken.None),i?this.awaitDocumentState(e,i,n):this.awaitBuilderState(e,n)}awaitDocumentState(e,r,n){const i=this.langiumDocuments.getDocument(r);if(i){if(i.state>=e)return Promise.resolve(r);if(n.isCancellationRequested)return Promise.reject(Dh);if(this.currentState>=e&&e>i.state)return Promise.reject(new tA.ResponseError(tA.LSPErrorCodes.RequestFailed,`Document state of ${r.toString()} is ${In[i.state]}, requiring ${In[e]}, but workspace state is already ${In[this.currentState]}. Returning undefined.`))}else return Promise.reject(new tA.ResponseError(tA.LSPErrorCodes.ServerCancelled,`No document found for URI: ${r.toString()}`));return new Promise((a,s)=>{const o=this.onDocumentPhase(e,u=>{_l.equals(u.uri,r)&&(o.dispose(),l.dispose(),a(u.uri))}),l=n.onCancellationRequested(()=>{o.dispose(),l.dispose(),s(Dh)})})}awaitBuilderState(e,r){return this.currentState>=e?Promise.resolve():r.isCancellationRequested?Promise.reject(Dh):new Promise((n,i)=>{const a=this.onBuildPhase(e,()=>{a.dispose(),s.dispose(),n()}),s=r.onCancellationRequested(()=>{a.dispose(),s.dispose(),i(Dh)})})}async notifyDocumentPhase(e,r,n){const a=this.documentPhaseListeners.get(r).slice();for(const s of a)try{await Xs(n),await s(e,n)}catch(o){if(!iy(o))throw o}}async notifyBuildPhase(e,r,n){if(e.length===0)return;const a=this.buildPhaseListeners.get(r).slice();for(const s of a)await Xs(n),await s(e,n)}shouldLink(e){return this.getBuildOptions(e).eagerLinking??!0}shouldValidate(e){return!!this.getBuildOptions(e).validation}async validate(e,r){const n=this.serviceRegistry.getServices(e.uri).validation.DocumentValidator,i=this.getBuildOptions(e),a=typeof i.validation=="object"?{...i.validation}:{};a.categories=this.findMissingValidationCategories(e,i);const s=await n.validateDocument(e,a,r);e.diagnostics?e.diagnostics.push(...s):e.diagnostics=s;const o=this.buildState.get(e.uri.toString());o&&(o.result??(o.result={}),o.result.validationChecks?o.result.validationChecks=Ti(o.result.validationChecks).concat(a.categories).distinct().toArray():o.result.validationChecks=[...a.categories])}getBuildOptions(e){var r;return((r=this.buildState.get(e.uri.toString()))==null?void 0:r.options)??{}}},R(q7,"DefaultDocumentBuilder"),q7),j7,Xqe=(j7=class{constructor(e){this.symbolIndex=new Map,this.symbolByTypeIndex=new iB,this.referenceIndex=new Map,this.documents=e.workspace.LangiumDocuments,this.serviceRegistry=e.ServiceRegistry,this.astReflection=e.AstReflection}findAllReferences(e,r){const n=Pd(e).uri,i=[];return this.referenceIndex.forEach(a=>{a.forEach(s=>{_l.equals(s.targetUri,n)&&s.targetPath===r&&i.push(s)})}),Ti(i)}allElements(e,r){let n=Ti(this.symbolIndex.keys());return r&&(n=n.filter(i=>!r||r.has(i))),n.map(i=>this.getFileDescriptions(i,e)).flat()}getFileDescriptions(e,r){return r?this.symbolByTypeIndex.get(e,r,()=>(this.symbolIndex.get(e)??[]).filter(a=>this.astReflection.isSubtype(a.type,r))):this.symbolIndex.get(e)??[]}remove(e){this.removeContent(e),this.removeReferences(e)}removeContent(e){const r=e.toString();this.symbolIndex.delete(r),this.symbolByTypeIndex.clear(r)}removeReferences(e){const r=e.toString();this.referenceIndex.delete(r)}async updateContent(e,r=Hi.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).references.ScopeComputation.collectExportedSymbols(e,r),a=e.uri.toString();this.symbolIndex.set(a,i),this.symbolByTypeIndex.clear(a)}async updateReferences(e,r=Hi.CancellationToken.None){const i=await this.serviceRegistry.getServices(e.uri).workspace.ReferenceDescriptionProvider.createDescriptions(e,r);this.referenceIndex.set(e.uri.toString(),i)}isAffected(e,r){const n=this.referenceIndex.get(e.uri.toString());return n?n.some(i=>!i.local&&r.has(i.targetUri.toString())):!1}},R(j7,"DefaultIndexManager"),j7),Y7,Kqe=(Y7=class{constructor(e){this.initialBuildOptions={},this._ready=new K0,this.serviceRegistry=e.ServiceRegistry,this.langiumDocuments=e.workspace.LangiumDocuments,this.documentBuilder=e.workspace.DocumentBuilder,this.fileSystemProvider=e.workspace.FileSystemProvider,this.mutex=e.workspace.WorkspaceLock}get ready(){return this._ready.promise}get workspaceFolders(){return this.folders}initialize(e){this.folders=e.workspaceFolders??void 0}initialized(e){return this.mutex.write(r=>this.initializeWorkspace(this.folders??[],r))}async initializeWorkspace(e,r=Hi.CancellationToken.None){const n=await this.performStartup(e);await Xs(r),await this.documentBuilder.build(n,this.initialBuildOptions,r)}async performStartup(e){const r=[],n=R(s=>{r.push(s),this.langiumDocuments.hasDocument(s.uri)||this.langiumDocuments.addDocument(s)},"collector");await this.loadAdditionalDocuments(e,n);const i=[];await Promise.all(e.map(s=>this.getRootFolder(s)).map(async s=>this.traverseFolder(s,i)));const a=Ti(i).distinct(s=>s.toString()).filter(s=>!this.langiumDocuments.hasDocument(s));return await this.loadWorkspaceDocuments(a,n),this._ready.resolve(),r}async loadWorkspaceDocuments(e,r){await Promise.all(e.map(async n=>{const i=await this.langiumDocuments.getOrCreateDocument(n);r(i)}))}loadAdditionalDocuments(e,r){return Promise.resolve()}getRootFolder(e){return Qc.parse(e.uri)}async traverseFolder(e,r){try{const n=await this.fileSystemProvider.readDirectory(e);await Promise.all(n.map(async i=>{this.shouldIncludeEntry(i)&&(i.isDirectory?await this.traverseFolder(i.uri,r):i.isFile&&r.push(i.uri))}))}catch(n){console.error("Failure to read directory content of "+e.toString(!0),n)}}async searchFolder(e){const r=[];return await this.traverseFolder(e,r),r}shouldIncludeEntry(e){const r=_l.basename(e.uri);return r.startsWith(".")?!1:e.isDirectory?r!=="node_modules"&&r!=="out":e.isFile?this.serviceRegistry.hasServices(e.uri):!1}},R(Y7,"DefaultWorkspaceManager"),Y7),X7,Zqe=(X7=class{buildUnexpectedCharactersMessage(e,r,n,i,a){return MX.buildUnexpectedCharactersMessage(e,r,n,i,a)}buildUnableToPopLexerModeMessage(e){return MX.buildUnableToPopLexerModeMessage(e)}},R(X7,"DefaultLexerErrorMessageProvider"),X7),Cae={mode:"full"},K7,Sae=(K7=class{constructor(e){this.errorMessageProvider=e.parser.LexerErrorMessageProvider,this.tokenBuilder=e.parser.TokenBuilder;const r=this.tokenBuilder.buildTokens(e.Grammar,{caseInsensitive:e.LanguageMetaData.caseInsensitive});this.tokenTypes=this.toTokenTypeDictionary(r);const n=rO(r)?Object.values(r):r,i=e.LanguageMetaData.mode==="production";this.chevrotainLexer=new Fl(n,{positionTracking:"full",skipValidations:i,errorMessageProvider:this.errorMessageProvider})}get definition(){return this.tokenTypes}tokenize(e,r=Cae){var i,a;const n=this.chevrotainLexer.tokenize(e);return{tokens:n.tokens,errors:n.errors,hidden:n.groups.hidden??[],report:(a=(i=this.tokenBuilder).flushLexingReport)==null?void 0:a.call(i,e)}}toTokenTypeDictionary(e){if(rO(e))return e;const r=oB(e)?Object.values(e.modes).flat():e,n={};return r.forEach(i=>n[i.name]=i),n}},R(K7,"DefaultLexer"),K7);function sB(t){return Array.isArray(t)&&(t.length===0||"name"in t[0])}R(sB,"isTokenTypeArray");function oB(t){return t&&"modes"in t&&"defaultMode"in t}R(oB,"isIMultiModeLexerDefinition");function rO(t){return!sB(t)&&!oB(t)}R(rO,"isTokenTypeDictionary");PS();function kae(t,e,r){let n,i;typeof t=="string"?(i=e,n=r):(i=t.range.start,n=e),i||(i=di.create(0,0));const a=Aae(t),s=lB(n),o=Jqe({lines:a,position:i,options:s});return tje({index:0,tokens:o,position:i})}R(kae,"parseJSDoc");function Eae(t,e){const r=lB(e),n=Aae(t);if(n.length===0)return!1;const i=n[0],a=n[n.length-1],s=r.start,o=r.end;return!!(s!=null&&s.exec(i))&&!!(o!=null&&o.exec(a))}R(Eae,"isJSDoc");function Aae(t){let e="";return typeof t=="string"?e=t:e=t.text,e.split(r_e)}R(Aae,"getLines");var D5e=/\s*(@([\p{L}][\p{L}\p{N}]*)?)/uy,sgr=/\{(@[\p{L}][\p{L}\p{N}]*)(\s*)([^\r\n}]+)?\}/gu;function Jqe(t){var i,a,s;const e=[];let r=t.position.line,n=t.position.character;for(let o=0;o<t.lines.length;o++){const l=o===0,u=o===t.lines.length-1;let d=t.lines[o],h=0;if(l&&t.options.start){const p=(i=t.options.start)==null?void 0:i.exec(d);p&&(h=p.index+p[0].length)}else{const p=(a=t.options.line)==null?void 0:a.exec(d);p&&(h=p.index+p[0].length)}if(u){const p=(s=t.options.end)==null?void 0:s.exec(d);p&&(d=d.substring(0,p.index))}if(d=d.substring(0,eje(d)),nO(d,h)>=d.length){if(e.length>0){const p=di.create(r,n);e.push({type:"break",content:"",range:zn.create(p,p)})}}else{D5e.lastIndex=h;const p=D5e.exec(d);if(p){const g=p[0],m=p[1],U=di.create(r,n+h),y=di.create(r,n+h+g.length);e.push({type:"tag",content:m,range:zn.create(U,y)}),h+=g.length,h=nO(d,h)}if(h<d.length){const g=d.substring(h),m=Array.from(g.matchAll(sgr));e.push(...Qqe(m,g,r,n+h))}}r++,n=0}return e.length>0&&e[e.length-1].type==="break"?e.slice(0,-1):e}R(Jqe,"tokenize");function Qqe(t,e,r,n){const i=[];if(t.length===0){const a=di.create(r,n),s=di.create(r,n+e.length);i.push({type:"text",content:e,range:zn.create(a,s)})}else{let a=0;for(const o of t){const l=o.index,u=e.substring(a,l);u.length>0&&i.push({type:"text",content:e.substring(a,l),range:zn.create(di.create(r,a+n),di.create(r,l+n))});let d=u.length+1;const h=o[1];if(i.push({type:"inline-tag",content:h,range:zn.create(di.create(r,a+d+n),di.create(r,a+d+h.length+n))}),d+=h.length,o.length===4){d+=o[2].length;const f=o[3];i.push({type:"text",content:f,range:zn.create(di.create(r,a+d+n),di.create(r,a+d+f.length+n))})}else i.push({type:"text",content:"",range:zn.create(di.create(r,a+d+n),di.create(r,a+d+n))});a=l+o[0].length}const s=e.substring(a);s.length>0&&i.push({type:"text",content:s,range:zn.create(di.create(r,a+n),di.create(r,a+n+s.length))})}return i}R(Qqe,"buildInlineTokens");var ogr=/\S/,lgr=/\s*$/;function nO(t,e){const r=t.substring(e).match(ogr);return r?e+r.index:t.length}R(nO,"skipWhitespace");function eje(t){const e=t.match(lgr);if(e&&typeof e.index=="number")return e.index}R(eje,"lastCharacter");function tje(t){var a,s;const e=di.create(t.position.line,t.position.character);if(t.tokens.length===0)return new P5e([],zn.create(e,e));const r=[];for(;t.index<t.tokens.length;){const o=rje(t,r[r.length-1]);o&&r.push(o)}const n=((a=r[0])==null?void 0:a.range.start)??e,i=((s=r[r.length-1])==null?void 0:s.range.end)??e;return new P5e(r,zn.create(n,i))}R(tje,"parseJSDocComment");function rje(t,e){const r=t.tokens[t.index];if(r.type==="tag")return Rae(t,!1);if(r.type==="text"||r.type==="inline-tag")return Mae(t);nje(r,e),t.index++}R(rje,"parseJSDocElement");function nje(t,e){if(e){const r=new oje("",t.range);"inlines"in e?e.inlines.push(r):e.content.inlines.push(r)}}R(nje,"appendEmptyLine");function Mae(t){let e=t.tokens[t.index];const r=e;let n=e;const i=[];for(;e&&e.type!=="break"&&e.type!=="tag";)i.push(ije(t)),n=e,e=t.tokens[t.index];return new KX(i,zn.create(r.range.start,n.range.end))}R(Mae,"parseJSDocText");function ije(t){return t.tokens[t.index].type==="inline-tag"?Rae(t,!0):Iae(t)}R(ije,"parseJSDocInline");function Rae(t,e){const r=t.tokens[t.index++],n=r.content.substring(1),i=t.tokens[t.index];if((i==null?void 0:i.type)==="text")if(e){const a=Iae(t);return new GH(n,new KX([a],a.range),e,zn.create(r.range.start,a.range.end))}else{const a=Mae(t);return new GH(n,a,e,zn.create(r.range.start,a.range.end))}else{const a=r.range;return new GH(n,new KX([],a),e,a)}}R(Rae,"parseJSDocTag");function Iae(t){const e=t.tokens[t.index++];return new oje(e.content,e.range)}R(Iae,"parseJSDocLine");function lB(t){if(!t)return lB({start:"/**",end:"*/",line:"*"});const{start:e,end:r,line:n}=t;return{start:YM(e,!0),end:YM(r,!1),line:YM(n,!0)}}R(lB,"normalizeOptions");function YM(t,e){if(typeof t=="string"||typeof t=="object"){const r=typeof t=="string"?x3(t):t.source;return e?new RegExp(`^\\s*${r}`):new RegExp(`\\s*${r}\\s*$`)}else return t}R(YM,"normalizeOption");var Z7,P5e=(Z7=class{constructor(e,r){this.elements=e,this.range=r}getTag(e){return this.getAllTags().find(r=>r.name===e)}getTags(e){return this.getAllTags().filter(r=>r.name===e)}getAllTags(){return this.elements.filter(e=>"name"in e)}toString(){let e="";for(const r of this.elements)if(e.length===0)e=r.toString();else{const n=r.toString();e+=ZX(e)+n}return e.trim()}toMarkdown(e){let r="";for(const n of this.elements)if(r.length===0)r=n.toMarkdown(e);else{const i=n.toMarkdown(e);r+=ZX(r)+i}return r.trim()}},R(Z7,"JSDocCommentImpl"),Z7),J7,GH=(J7=class{constructor(e,r,n,i){this.name=e,this.content=r,this.inline=n,this.range=i}toString(){let e=`@${this.name}`;const r=this.content.toString();return this.content.inlines.length===1?e=`${e} ${r}`:this.content.inlines.length>1&&(e=`${e}
${r}`),this.inline?`{${e}}`:e}toMarkdown(e){var r;return((r=e==null?void 0:e.renderTag)==null?void 0:r.call(e,this))??this.toMarkdownDefault(e)}toMarkdownDefault(e){const r=this.content.toMarkdown(e);if(this.inline){const a=aje(this.name,r,e??{});if(typeof a=="string")return a}let n="";(e==null?void 0:e.tag)==="italic"||(e==null?void 0:e.tag)===void 0?n="*":(e==null?void 0:e.tag)==="bold"?n="**":(e==null?void 0:e.tag)==="bold-italic"&&(n="***");let i=`${n}@${this.name}${n}`;return this.content.inlines.length===1?i=`${i} — ${r}`:this.content.inlines.length>1&&(i=`${i}
${r}`),this.inline?`{${i}}`:i}},R(J7,"JSDocTagImpl"),J7);function aje(t,e,r){var n;if(t==="linkplain"||t==="linkcode"||t==="link"){const i=e.indexOf(" ");let a=e;if(i>0){const o=nO(e,i);a=e.substring(o),e=e.substring(0,i)}return(t==="linkcode"||t==="link"&&r.link==="code")&&(a=`\`${a}\``),((n=r.renderLink)==null?void 0:n.call(r,e,a))??sje(e,a)}}R(aje,"renderInlineTag");function sje(t,e){try{return Qc.parse(t,!0),`[${e}](${t})`}catch{return t}}R(sje,"renderLinkDefault");var Q7,KX=(Q7=class{constructor(e,r){this.inlines=e,this.range=r}toString(){let e="";for(let r=0;r<this.inlines.length;r++){const n=this.inlines[r],i=this.inlines[r+1];e+=n.toString(),i&&i.range.start.line>n.range.start.line&&(e+=`
`)}return e}toMarkdown(e){let r="";for(let n=0;n<this.inlines.length;n++){const i=this.inlines[n],a=this.inlines[n+1];r+=i.toMarkdown(e),a&&a.range.start.line>i.range.start.line&&(r+=`
`)}return r}},R(Q7,"JSDocTextImpl"),Q7),e8,oje=(e8=class{constructor(e,r){this.text=e,this.range=r}toString(){return this.text}toMarkdown(){return this.text}},R(e8,"JSDocLineImpl"),e8);function ZX(t){return t.endsWith(`
`)?`
`:`
`}R(ZX,"fillNewlines");var t8,lje=(t8=class{constructor(e){this.indexManager=e.shared.workspace.IndexManager,this.commentProvider=e.documentation.CommentProvider}getDocumentation(e){const r=this.commentProvider.getComment(e);if(r&&Eae(r))return kae(r).toMarkdown({renderLink:R((i,a)=>this.documentationLinkRenderer(e,i,a),"renderLink"),renderTag:R(i=>this.documentationTagRenderer(e,i),"renderTag")})}documentationLinkRenderer(e,r,n){const i=this.findNameInLocalSymbols(e,r)??this.findNameInGlobalScope(e,r);if(i&&i.nameSegment){const a=i.nameSegment.range.start.line+1,s=i.nameSegment.range.start.character+1,o=i.documentUri.with({fragment:`L${a},${s}`});return`[${n}](${o.toString()})`}else return}documentationTagRenderer(e,r){}findNameInLocalSymbols(e,r){const i=Pd(e).localSymbols;if(!i)return;let a=e;do{const o=i.getStream(a).find(l=>l.name===r);if(o)return o;a=a.$container}while(a)}findNameInGlobalScope(e,r){return this.indexManager.allElements().find(i=>i.name===r)}},R(t8,"JSDocDocumentationProvider"),t8),r8,cje=(r8=class{constructor(e){this.grammarConfig=()=>e.parser.GrammarConfig}getComment(e){var r;return xae(e)?e.$comment:(r=Mne(e.$cstNode,this.grammarConfig().multilineCommentRules))==null?void 0:r.text}},R(r8,"DefaultCommentProvider"),r8),n8,uje=(n8=class{constructor(e){this.syncParser=e.parser.LangiumParser}parse(e,r){return Promise.resolve(this.syncParser.parse(e))}},R(n8,"DefaultAsyncParser"),n8),i8,cgr=(i8=class{constructor(e){this.threadCount=8,this.terminationDelay=200,this.workerPool=[],this.queue=[],this.hydrator=e.serializer.Hydrator}initializeWorkers(){for(;this.workerPool.length<this.threadCount;){const e=this.createWorker();e.onReady(()=>{if(this.queue.length>0){const r=this.queue.shift();r&&(e.lock(),r.resolve(e))}}),this.workerPool.push(e)}}async parse(e,r){const n=await this.acquireParserWorker(r),i=new K0;let a;const s=r.onCancellationRequested(()=>{a=setTimeout(()=>{this.terminateWorker(n)},this.terminationDelay)});return n.parse(e).then(o=>{const l=this.hydrator.hydrate(o);i.resolve(l)}).catch(o=>{i.reject(o)}).finally(()=>{s.dispose(),clearTimeout(a)}),i.promise}terminateWorker(e){e.terminate();const r=this.workerPool.indexOf(e);r>=0&&this.workerPool.splice(r,1)}async acquireParserWorker(e){this.initializeWorkers();for(const n of this.workerPool)if(n.ready)return n.lock(),n;const r=new K0;return e.onCancellationRequested(()=>{const n=this.queue.indexOf(r);n>=0&&this.queue.splice(n,1),r.reject(Dh)}),this.queue.push(r),r.promise}},R(i8,"AbstractThreadedAsyncParser"),i8),a8,ugr=(a8=class{get ready(){return this._ready}get onReady(){return this.onReadyEmitter.event}constructor(e,r,n,i){this.onReadyEmitter=new aB.Emitter,this.deferred=new K0,this._ready=!0,this._parsing=!1,this.sendMessage=e,this._terminate=i,r(a=>{const s=a;this.deferred.resolve(s),this.unlock()}),n(a=>{this.deferred.reject(a),this.unlock()})}terminate(){this.deferred.reject(Dh),this._terminate()}lock(){this._ready=!1}unlock(){this._parsing=!1,this._ready=!0,this.onReadyEmitter.fire()}parse(e){if(this._parsing)throw new Error("Parser worker is busy");return this._parsing=!0,this.deferred=new K0,this.sendMessage(e),this.deferred.promise}},R(a8,"ParserWorker"),a8),s8,dje=(s8=class{constructor(){this.previousTokenSource=new Hi.CancellationTokenSource,this.writeQueue=[],this.readQueue=[],this.done=!0}write(e){this.cancelWrite();const r=rB();return this.previousTokenSource=r,this.enqueue(this.writeQueue,e,r.token)}read(e){return this.enqueue(this.readQueue,e)}enqueue(e,r,n=Hi.CancellationToken.None){const i=new K0,a={action:r,deferred:i,cancellationToken:n};return e.push(a),this.performNextOperation(),i.promise}async performNextOperation(){if(!this.done)return;const e=[];if(this.writeQueue.length>0)e.push(this.writeQueue.shift());else if(this.readQueue.length>0)e.push(...this.readQueue.splice(0,this.readQueue.length));else return;this.done=!1,await Promise.all(e.map(async({action:r,deferred:n,cancellationToken:i})=>{try{const a=await Promise.resolve().then(()=>r(i));n.resolve(a)}catch(a){iy(a)?n.resolve(void 0):n.reject(a)}})),this.done=!0,this.performNextOperation()}cancelWrite(){this.previousTokenSource.cancel()}},R(s8,"DefaultWorkspaceLock"),s8),o8,hje=(o8=class{constructor(e){this.grammarElementIdMap=new eO,this.tokenTypeIdMap=new eO,this.grammar=e.Grammar,this.lexer=e.parser.Lexer,this.linker=e.references.Linker}dehydrate(e){return{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport?this.dehydrateLexerReport(e.lexerReport):void 0,parserErrors:e.parserErrors.map(r=>({...r,message:r.message})),value:this.dehydrateAstNode(e.value,this.createDehyrationContext(e.value))}}dehydrateLexerReport(e){return e}createDehyrationContext(e){const r=new Map,n=new Map;for(const i of _d(e))r.set(i,{});if(e.$cstNode)for(const i of w4(e.$cstNode))n.set(i,{});return{astNodes:r,cstNodes:n}}dehydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode!==void 0&&(n.$cstNode=this.dehydrateCstNode(e.$cstNode,r));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)cs(o)?s.push(this.dehydrateAstNode(o,r)):Pl(o)?s.push(this.dehydrateReference(o,r)):s.push(o)}else cs(a)?n[i]=this.dehydrateAstNode(a,r):Pl(a)?n[i]=this.dehydrateReference(a,r):a!==void 0&&(n[i]=a);return n}dehydrateReference(e,r){const n={};return n.$refText=e.$refText,e.$refNode&&(n.$refNode=r.cstNodes.get(e.$refNode)),n}dehydrateCstNode(e,r){const n=r.cstNodes.get(e);return r_(e)?n.fullText=e.fullText:n.grammarSource=this.getGrammarElementId(e.grammarSource),n.hidden=e.hidden,n.astNode=r.astNodes.get(e.astNode),H0(e)?n.content=e.content.map(i=>this.dehydrateCstNode(i,r)):$5(e)&&(n.tokenType=e.tokenType.name,n.offset=e.offset,n.length=e.length,n.startLine=e.range.start.line,n.startColumn=e.range.start.character,n.endLine=e.range.end.line,n.endColumn=e.range.end.character),n}hydrate(e){const r=e.value,n=this.createHydrationContext(r);return"$cstNode"in r&&this.hydrateCstNode(r.$cstNode,n),{lexerErrors:e.lexerErrors,lexerReport:e.lexerReport,parserErrors:e.parserErrors,value:this.hydrateAstNode(r,n)}}createHydrationContext(e){const r=new Map,n=new Map;for(const a of _d(e))r.set(a,{});let i;if(e.$cstNode)for(const a of w4(e.$cstNode)){let s;"fullText"in a?(s=new aae(a.fullText),i=s):"content"in a?s=new Z_:"tokenType"in a&&(s=this.hydrateCstLeafNode(a)),s&&(n.set(a,s),s.root=i)}return{astNodes:r,cstNodes:n}}hydrateAstNode(e,r){const n=r.astNodes.get(e);n.$type=e.$type,n.$containerIndex=e.$containerIndex,n.$containerProperty=e.$containerProperty,e.$cstNode&&(n.$cstNode=r.cstNodes.get(e.$cstNode));for(const[i,a]of Object.entries(e))if(!i.startsWith("$"))if(Array.isArray(a)){const s=[];n[i]=s;for(const o of a)cs(o)?s.push(this.setParent(this.hydrateAstNode(o,r),n)):Pl(o)?s.push(this.hydrateReference(o,n,i,r)):s.push(o)}else cs(a)?n[i]=this.setParent(this.hydrateAstNode(a,r),n):Pl(a)?n[i]=this.hydrateReference(a,n,i,r):a!==void 0&&(n[i]=a);return n}setParent(e,r){return e.$container=r,e}hydrateReference(e,r,n,i){return this.linker.buildReference(r,n,i.cstNodes.get(e.$refNode),e.$refText)}hydrateCstNode(e,r,n=0){const i=r.cstNodes.get(e);if(typeof e.grammarSource=="number"&&(i.grammarSource=this.getGrammarElement(e.grammarSource)),i.astNode=r.astNodes.get(e.astNode),H0(i))for(const a of e.content){const s=this.hydrateCstNode(a,r,n++);i.content.push(s)}return i}hydrateCstLeafNode(e){const r=this.getTokenType(e.tokenType),n=e.offset,i=e.length,a=e.startLine,s=e.startColumn,o=e.endLine,l=e.endColumn,u=e.hidden;return new XN(n,i,{start:{line:a,character:s},end:{line:o,character:l}},r,u)}getTokenType(e){return this.lexer.definition[e]}getGrammarElementId(e){if(e)return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.get(e)}getGrammarElement(e){return this.grammarElementIdMap.size===0&&this.createGrammarElementIdMap(),this.grammarElementIdMap.getKey(e)}createGrammarElementIdMap(){let e=0;for(const r of _d(this.grammar))n_(r)&&this.grammarElementIdMap.set(r,e++)}},R(o8,"DefaultHydrator"),o8);function uo(t){return{documentation:{CommentProvider:R(e=>new cje(e),"CommentProvider"),DocumentationProvider:R(e=>new lje(e),"DocumentationProvider")},parser:{AsyncParser:R(e=>new uje(e),"AsyncParser"),GrammarConfig:R(e=>Qne(e),"GrammarConfig"),LangiumParser:R(e=>dae(e),"LangiumParser"),CompletionParser:R(e=>uae(e),"CompletionParser"),ValueConverter:R(()=>new fae,"ValueConverter"),TokenBuilder:R(()=>new eB,"TokenBuilder"),Lexer:R(e=>new Sae(e),"Lexer"),ParserErrorMessageProvider:R(()=>new oae,"ParserErrorMessageProvider"),LexerErrorMessageProvider:R(()=>new Zqe,"LexerErrorMessageProvider")},workspace:{AstNodeLocator:R(()=>new qqe,"AstNodeLocator"),AstNodeDescriptionProvider:R(e=>new Gqe(e),"AstNodeDescriptionProvider"),ReferenceDescriptionProvider:R(e=>new Wqe(e),"ReferenceDescriptionProvider")},references:{Linker:R(e=>new Lqe(e),"Linker"),NameProvider:R(()=>new Nqe,"NameProvider"),ScopeProvider:R(e=>new Bqe(e),"ScopeProvider"),ScopeComputation:R(e=>new Dqe(e),"ScopeComputation"),References:R(e=>new Oqe(e),"References")},serializer:{Hydrator:R(e=>new hje(e),"Hydrator"),JsonSerializer:R(e=>new $qe(e),"JsonSerializer")},validation:{DocumentValidator:R(e=>new Vqe(e),"DocumentValidator"),ValidationRegistry:R(e=>new zqe(e),"ValidationRegistry")},shared:R(()=>t.shared,"shared")}}R(uo,"createDefaultCoreModule");function ho(t){return{ServiceRegistry:R(e=>new Fqe(e),"ServiceRegistry"),workspace:{LangiumDocuments:R(e=>new Iqe(e),"LangiumDocuments"),LangiumDocumentFactory:R(e=>new Rqe(e),"LangiumDocumentFactory"),DocumentBuilder:R(e=>new Yqe(e),"DocumentBuilder"),IndexManager:R(e=>new Xqe(e),"IndexManager"),WorkspaceManager:R(e=>new Kqe(e),"WorkspaceManager"),FileSystemProvider:R(e=>t.fileSystemProvider(e),"FileSystemProvider"),WorkspaceLock:R(()=>new dje,"WorkspaceLock"),ConfigurationProvider:R(e=>new jqe(e),"ConfigurationProvider")},profilers:{}}}R(ho,"createDefaultSharedCoreModule");var JX;(function(t){t.merge=(e,r)=>E4(E4({},e),r)})(JX||(JX={}));function Yn(t,e,r,n,i,a,s,o,l){const u=[t,e,r,n,i,a,s,o,l].reduce(E4,{});return Nae(u)}R(Yn,"inject");var fje=Symbol("isProxy");function Lae(t){if(t&&t[fje])for(const e of Object.values(t))Lae(e);return t}R(Lae,"eagerLoad");function Nae(t,e){const r=new Proxy({},{deleteProperty:R(()=>!1,"deleteProperty"),set:R(()=>{throw new Error("Cannot set property on injected service container")},"set"),get:R((n,i)=>i===fje?!0:QX(n,i,t,e||r),"get"),getOwnPropertyDescriptor:R((n,i)=>(QX(n,i,t,e||r),Object.getOwnPropertyDescriptor(n,i)),"getOwnPropertyDescriptor"),has:R((n,i)=>i in t,"has"),ownKeys:R(()=>[...Object.getOwnPropertyNames(t)],"ownKeys")});return r}R(Nae,"_inject");var _5e=Symbol();function QX(t,e,r,n){if(e in t){if(t[e]instanceof Error)throw new Error("Construction failure. Please make sure that your dependencies are constructable. Cause: "+t[e]);if(t[e]===_5e)throw new Error('Cycle detected. Please make "'+String(e)+'" lazy. Visit https://langium.org/docs/reference/configuration-services/#resolving-cyclic-dependencies');return t[e]}else if(e in r){const i=r[e];t[e]=_5e;try{t[e]=typeof i=="function"?i(n):Nae(i,n)}catch(a){throw t[e]=a instanceof Error?a:void 0,a}return t[e]}else return}R(QX,"_resolve");function E4(t,e){if(e){for(const[r,n]of Object.entries(e))if(n!=null)if(typeof n=="object"){const i=t[r];typeof i=="object"&&i!==null?t[r]=E4(i,n):t[r]=E4({},n)}else t[r]=n}return t}R(E4,"_merge");var eK={indentTokenName:"INDENT",dedentTokenName:"DEDENT",whitespaceTokenName:"WS",ignoreIndentationDelimiters:[]},vU;(function(t){t.REGULAR="indentation-sensitive",t.IGNORE_INDENTATION="ignore-indentation"})(vU||(vU={}));var l8,pje=(l8=class extends eB{constructor(e=eK){super(),this.indentationStack=[0],this.whitespaceRegExp=/[ \t]+/y,this.options={...eK,...e},this.indentTokenType=kb({name:this.options.indentTokenName,pattern:this.indentMatcher.bind(this),line_breaks:!1}),this.dedentTokenType=kb({name:this.options.dedentTokenName,pattern:this.dedentMatcher.bind(this),line_breaks:!1})}buildTokens(e,r){const n=super.buildTokens(e,r);if(!sB(n))throw new Error("Invalid tokens built by default builder");const{indentTokenName:i,dedentTokenName:a,whitespaceTokenName:s,ignoreIndentationDelimiters:o}=this.options;let l,u,d;const h=[];for(const f of n){for(const[p,g]of o)f.name===p?f.PUSH_MODE=vU.IGNORE_INDENTATION:f.name===g&&(f.POP_MODE=!0);f.name===a?l=f:f.name===i?u=f:f.name===s?d=f:h.push(f)}if(!l||!u||!d)throw new Error("Some indentation/whitespace tokens not found!");return o.length>0?{modes:{[vU.REGULAR]:[l,u,...h,d],[vU.IGNORE_INDENTATION]:[...h,d]},defaultMode:vU.REGULAR}:[l,u,d,...h]}flushLexingReport(e){return{...super.flushLexingReport(e),remainingDedents:this.flushRemainingDedents(e)}}isStartOfLine(e,r){return r===0||`\r
`.includes(e[r-1])}matchWhitespace(e,r,n,i){this.whitespaceRegExp.lastIndex=r;const a=this.whitespaceRegExp.exec(e);return{currIndentLevel:(a==null?void 0:a[0].length)??0,prevIndentLevel:this.indentationStack.at(-1),match:a}}createIndentationTokenInstance(e,r,n,i){const a=this.getLineNumber(r,i);return QS(e,n,i,i+n.length,a,a,1,n.length)}getLineNumber(e,r){return e.substring(0,r).split(/\r\n|\r|\n/).length}indentMatcher(e,r,n,i){if(!this.isStartOfLine(e,r))return null;const{currIndentLevel:a,prevIndentLevel:s,match:o}=this.matchWhitespace(e,r,n,i);return a<=s?null:(this.indentationStack.push(a),o)}dedentMatcher(e,r,n,i){var h,f;if(!this.isStartOfLine(e,r))return null;const{currIndentLevel:a,prevIndentLevel:s,match:o}=this.matchWhitespace(e,r,n,i);if(a>=s)return null;const l=this.indentationStack.lastIndexOf(a);if(l===-1)return this.diagnostics.push({severity:"error",message:`Invalid dedent level ${a} at offset: ${r}. Current indentation stack: ${this.indentationStack}`,offset:r,length:((h=o==null?void 0:o[0])==null?void 0:h.length)??0,line:this.getLineNumber(e,r),column:1}),null;const u=this.indentationStack.length-l-1,d=((f=e.substring(0,r).match(/[\r\n]+$/))==null?void 0:f[0].length)??1;for(let p=0;p<u;p++){const g=this.createIndentationTokenInstance(this.dedentTokenType,e,"",r-(d-1));n.push(g),this.indentationStack.pop()}return null}buildTerminalToken(e){const r=super.buildTerminalToken(e),{indentTokenName:n,dedentTokenName:i,whitespaceTokenName:a}=this.options;return r.name===n?this.indentTokenType:r.name===i?this.dedentTokenType:r.name===a?kb({name:a,pattern:this.whitespaceRegExp,group:Fl.SKIPPED}):r}flushRemainingDedents(e){const r=[];for(;this.indentationStack.length>1;)r.push(this.createIndentationTokenInstance(this.dedentTokenType,e,"",e.length)),this.indentationStack.pop();return this.indentationStack=[0],r}},R(l8,"IndentationAwareTokenBuilder"),l8),c8,dgr=(c8=class extends Sae{constructor(e){if(super(e),e.parser.TokenBuilder instanceof pje)this.indentationTokenBuilder=e.parser.TokenBuilder;else throw new Error("IndentationAwareLexer requires an accompanying IndentationAwareTokenBuilder")}tokenize(e,r=Cae){const n=super.tokenize(e),i=n.report;(r==null?void 0:r.mode)==="full"&&n.tokens.push(...i.remainingDedents),i.remainingDedents=[];const{indentTokenType:a,dedentTokenType:s}=this.indentationTokenBuilder,o=a.tokenTypeIdx,l=s.tokenTypeIdx,u=[],d=n.tokens.length-1;for(let h=0;h<d;h++){const f=n.tokens[h],p=n.tokens[h+1];if(f.tokenTypeIdx===o&&p.tokenTypeIdx===l){h++;continue}u.push(f)}return d>=0&&u.push(n.tokens[d]),n.tokens=u,n}},R(c8,"IndentationAwareLexer"),c8),Oae={};_1(Oae,{AstUtils:()=>nne,BiMap:()=>eO,Cancellation:()=>Hi,ContextCache:()=>iB,CstUtils:()=>ene,DONE_RESULT:()=>Sl,Deferred:()=>K0,Disposable:()=>OU,DisposableCache:()=>nB,DocumentCache:()=>_qe,EMPTY_STREAM:()=>U4,ErrorWithLocation:()=>u_,GrammarUtils:()=>Nne,MultiMap:()=>Z0,OperationCancelled:()=>Dh,Reduction:()=>iC,RegExpUtils:()=>Dne,SimpleCache:()=>bae,StreamImpl:()=>Oh,TreeStreamImpl:()=>y4,URI:()=>Qc,UriTrie:()=>Uae,UriUtils:()=>_l,WorkspaceCache:()=>vae,assertCondition:()=>One,assertUnreachable:()=>B1,delayNextTick:()=>tB,interruptAndCheck:()=>Xs,isOperationCancelled:()=>iy,loadGrammarFromJson:()=>fo,setInterruptionPeriod:()=>pae,startCancelableOperation:()=>rB,stream:()=>Ti});QP(Oae,aB);var u8,gje=(u8=class{stat(e){throw new Error("No file system is available.")}statSync(e){throw new Error("No file system is available.")}async exists(){return!1}existsSync(){return!1}readBinary(){throw new Error("No file system is available.")}readBinarySync(){throw new Error("No file system is available.")}readFile(){throw new Error("No file system is available.")}readFileSync(){throw new Error("No file system is available.")}async readDirectory(){return[]}readDirectorySync(){return[]}},R(u8,"EmptyFileSystemProvider"),u8),$o={fileSystemProvider:R(()=>new gje,"fileSystemProvider")},hgr={Grammar:R(()=>{},"Grammar"),LanguageMetaData:R(()=>({caseInsensitive:!1,fileExtensions:[".langium"],languageId:"langium"}),"LanguageMetaData")},fgr={AstReflection:R(()=>new Cne,"AstReflection")};function mje(){const t=Yn(ho($o),fgr),e=Yn(uo({shared:t}),hgr);return t.ServiceRegistry.register(e),e}R(mje,"createMinimalGrammarServices");function fo(t){const e=mje(),r=e.serializer.JsonSerializer.deserialize(t);return e.shared.workspace.LangiumDocumentFactory.fromModel(r,Qc.parse(`memory:/${r.name??"grammar"}.langium`)),r}R(fo,"loadGrammarFromJson");QP(EPe,Oae);var d8,pgr=(d8=class{constructor(e){this.activeCategories=new Set,this.allCategories=new Set(["validating","parsing","linking"]),this.activeCategories=e??new Set(this.allCategories),this.records=new Z0}isActive(e){return this.activeCategories.has(e)}start(...e){e?e.forEach(r=>this.activeCategories.add(r)):this.activeCategories=new Set(this.allCategories)}stop(...e){e?e.forEach(r=>this.activeCategories.delete(r)):this.activeCategories.clear()}createTask(e,r){if(!this.isActive(e))throw new Error(`Category "${e}" is not active.`);return console.log(`Creating profiling task for '${e}.${r}'.`),new Uje(n=>this.records.add(e,this.dumpRecord(e,n)),r)}dumpRecord(e,r){console.info(`Task ${e}.${r.identifier} executed in ${r.duration.toFixed(2)}ms and ended at ${r.date.toISOString()}`);const n=[];for(const s of r.entries.keys()){const o=r.entries.get(s),l=o.reduce((u,d)=>u+d);n.push({name:`${r.identifier}.${s}`,count:o.length,duration:l})}const i=r.duration-n.map(s=>s.duration).reduce((s,o)=>s+o,0);n.push({name:r.identifier,count:1,duration:i}),n.sort((s,o)=>o.duration-s.duration);function a(s){return Math.round(100*s)/100}return R(a,"Round"),console.table(n.map(s=>({Element:s.name,Count:s.count,"Self %":a(100*s.duration/r.duration),"Time (ms)":a(s.duration)}))),r}getRecords(...e){return e.length===0?this.records.values():this.records.entries().filter(r=>e.some(n=>n===r[0])).flatMap(r=>r[1])}},R(d8,"DefaultLangiumProfiler"),d8),h8,Uje=(h8=class{constructor(e,r){this.stack=[],this.entries=new Z0,this.addRecord=e,this.identifier=r}start(){if(this.startTime!==void 0)throw new Error(`Task "${this.identifier}" is already started.`);this.startTime=performance.now()}stop(){if(this.startTime===void 0)throw new Error(`Task "${this.identifier}" was not started.`);if(this.stack.length!==0)throw new Error(`Task "${this.identifier}" cannot be stopped before sub-task(s): ${this.stack.map(r=>r.id).join(", ")}.`);const e={identifier:this.identifier,date:new Date,duration:performance.now()-this.startTime,entries:this.entries};this.addRecord(e),this.startTime=void 0,this.entries.clear()}startSubTask(e){this.stack.push({id:e,start:performance.now(),content:0})}stopSubTask(e){const r=this.stack.pop();if(!r)throw new Error(`Task "${this.identifier}.${e}" was not started.`);if(r.id!==e)throw new Error(`Sub-Task "${r.id}" is not already stopped.`);const n=performance.now()-r.start;this.stack.at(-1)!==void 0&&(this.stack[this.stack.length-1].content+=n);const i=n-r.content;this.entries.add(e,i)}},R(h8,"ProfilingTask"),h8),tK;(t=>{t.Terminals={ARROW_DIRECTION:/L|R|T|B/,ARROW_GROUP:/\{group\}/,ARROW_INTO:/<|>/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ARCH_ICON:/\([\w-:]+\)/,ARCH_TITLE:/\[(?:"([^"\\]|\\.)*"|'([^'\\]|\\.)*'|[^\[\]\r\n]+)\]/}})(tK||(tK={}));var rK;(t=>{t.Terminals={DOMAIN_NAME:/complex|complicated|clear|chaotic|confusion/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(rK||(rK={}));var nK;(t=>{t.Terminals={EM_ID:/[_a-zA-Z][\w_]*/,EM_FID:/\d{1,3}/,EM_DATA_INLINE:/\{(.*)\}|"(.*)"|'(.*)'/,EM_DATA_BLOCK:/\{[\t ]*\r?\n(?:[\S\s]*?\r?\n)?\}(?:\r?\n|(?!\S))/,EM_ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EM_ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,EM_TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,EM_WS:/\s+/,EM_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EM_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EM_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EM_ML_COMMENT:/\/\*[\s\S]*?\*\//,EM_SL_COMMENT:/\/\/[^\n\r]*/}})(nK||(nK={}));var iK;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,REFERENCE:/\w([-\./\w]*[-\w])?/}})(iK||(iK={}));var aK;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(aK||(aK={}));var sK;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(sK||(sK={}));var oK;(t=>{t.Terminals={NUMBER_PIE:/(?:-?[0-9]+\.[0-9]+(?!\.))|(?:-?(0|[1-9][0-9]*)(?!\.))/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(oK||(oK={}));var lK;(t=>{t.Terminals={GRATICULE:/circle|polygon/,BOOLEAN:/true|false/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,NUMBER:/(?:[0-9]+\.[0-9]+(?!\.))|(?:0|[1-9][0-9]*(?!\.))/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(lK||(lK={}));var cK;(t=>{t.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ABNF_RULENAME:/[A-Za-z][A-Za-z0-9-]*/,ABNF_STRING:/"[^"]*"/,ABNF_NUMVAL:/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\.[0-9A-Fa-f]+)*/,ABNF_REPEAT:/[0-9]*\*[0-9]*/,ABNF_EXACT_REPEAT:/[0-9]+/,ABNF_WHITESPACE:/[\t \r\n]+/,ABNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,ABNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,ABNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,ABNF_COMMENT:/;[^\n\r]*/}})(cK||(cK={}));var uK;(t=>{t.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,EBNF_ID:/[A-Z_a-z][\w-]*/,EBNF_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,EBNF_SPECIAL_SEQUENCE:/\?(?=[^?;]*[^?\s;][^?;]*\?)[^?;]*\?/,EBNF_WHITESPACE:/[\t \r\n]+/,EBNF_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,EBNF_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,EBNF_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,EBNF_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//,EBNF_ISO_COMMENT:/\(\*[\s\S]*?\*\)/}})(uK||(uK={}));var dK;(t=>{t.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,RR_ID:/[A-Z_a-z][\w-]*/,RR_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,RR_WHITESPACE:/[\t \r\n]+/,RR_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,RR_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,RR_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,RR_BLOCK_COMMENT:/\/\*[\s\S]*?\*\//}})(dK||(dK={}));var hK;(t=>{t.Terminals={TITLE:/title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,ACC_TITLE:/accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,ACC_DESCR:/accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,PEG_ID:/[A-Z_a-z][\w-]*/,PEG_STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,PEG_WHITESPACE:/[\t \r\n]+/,PEG_YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,PEG_DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,PEG_SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/,PEG_LINE_COMMENT:/#[^\n\r]*/}})(hK||(hK={}));var fK;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,TREEMAP_KEYWORD:/treemap-beta|treemap/,CLASS_DEF:/classDef\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\s+([^;\r\n]*))?(?:;)?/,STYLE_SEPARATOR:/:::/,SEPARATOR:/:/,COMMA:/,/,INDENTATION:/[ \t]{1,}/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,ID2:/[a-zA-Z_][a-zA-Z0-9_]*/,NUMBER2:/[0-9_\.\,]+/,STRING2:/"[^"]*"|'[^']*'/}})(fK||(fK={}));var pK;(t=>{t.Terminals={ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,CLASS_ANNOTATION:/[ \t]+:::[ \t]*[A-Za-z_][\w-]*/,ICON_ANNOTATION:/[ \t]+icon\([\w-]*(?::[\w-]+)?\)/,DESC_ANNOTATION:/[ \t]+##[^\n\r]*/,INDENTATION:/[ \t]{1,}/,QUOTED_NAME:/"[^"]*"|'[^']*'/,WS:/[ \t]+/,ML_COMMENT:/\%\%[^\n]*/,NL:/\r?\n/,BARE_NAME:/(?!:::|icon\(|##)[^ \t\n\r"'](?:(?![ \t]+:::[ \t]*[A-Za-z_]|[ \t]+icon\(|[ \t]+##)[^\n\r])*/}})(pK||(pK={}));var gK;(t=>{t.Terminals={WARDLEY_NUMBER:/[0-9]+\.[0-9]+/,ARROW:/->/,LINK_PORT:/\+<>|\+>|\+</,LINK_ARROW:/-->|-\.->|>|\+'[^']*'<>|\+'[^']*'<|\+'[^']*'>/,LINK_LABEL:/;[^\n\r]+/,STRATEGY:/build|buy|outsource|market/,KW_WARDLEY:/wardley-beta/,KW_SIZE:/size/,KW_EVOLUTION:/evolution/,KW_ANCHOR:/anchor/,KW_COMPONENT:/component/,KW_LABEL:/label/,KW_INERTIA:/inertia/,KW_EVOLVE:/evolve/,KW_PIPELINE:/pipeline/,KW_NOTE:/note/,KW_ANNOTATIONS:/annotations/,KW_ANNOTATION:/annotation/,KW_ACCELERATOR:/accelerator/,KW_DEACCELERATOR:/deaccelerator/,NAME_WITH_SPACES:/(?!title\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/,WS:/[ \t]+/,ACC_DESCR:/[\t ]*accDescr(?:[\t ]*:([^\n\r]*?(?=%%)|[^\n\r]*)|\s*{([^}]*)})/,ACC_TITLE:/[\t ]*accTitle[\t ]*:(?:[^\n\r]*?(?=%%)|[^\n\r]*)/,TITLE:/[\t ]*title(?:[\t ][^\n\r]*?(?=%%)|[\t ][^\n\r]*|)/,INT:/0|[1-9][0-9]*(?!\.)/,STRING:/"([^"\\]|\\.)*"|'([^'\\]|\\.)*'/,ID:/[\w]([-\w]*\w)?/,NEWLINE:/\r?\n/,WHITESPACE:/[\t ]+/,YAML:/---[\t ]*\r?\n(?:[\S\s]*?\r?\n)?---(?:\r?\n|(?!\S))/,DIRECTIVE:/[\t ]*%%{[\S\s]*?}%%(?:\r?\n|(?!\S))/,SINGLE_LINE_COMMENT:/[\t ]*%%[^\n\r]*/}})(gK||(gK={}));({...tK.Terminals,...rK.Terminals,...nK.Terminals,...iK.Terminals,...aK.Terminals,...sK.Terminals,...oK.Terminals,...lK.Terminals,...cK.Terminals,...uK.Terminals,...dK.Terminals,...hK.Terminals,...pK.Terminals,...fK.Terminals,...gK.Terminals});var B5e={$type:"AbnfAlternation",alternatives:"alternatives"},$5e={$type:"AbnfConcatenation",elements:"elements"},WH={$type:"AbnfElement",primary:"primary",repeat:"repeat"},F5e={$type:"AbnfGroup",element:"element"},z5e={$type:"AbnfNumVal",value:"value"},H5e={$type:"AbnfOptionalGroup",element:"element"},Py={$type:"AbnfPrimary"},qH={$type:"AbnfRule",definition:"definition",name:"name"},V5e={$type:"AbnfRuleName",name:"name"},G5e={$type:"AbnfStringLiteral",value:"value"},rA={$type:"Accelerator",name:"name",x:"x",y:"y"},jH={$type:"Alignment",direction:"direction",members:"members"},nA={$type:"Anchor",evolution:"evolution",name:"name",visibility:"visibility"},m9={$type:"Annotation",number:"number",text:"text",x:"x",y:"y"},YH={$type:"Annotations",x:"x",y:"y"},hh={$type:"Architecture",accDescr:"accDescr",accTitle:"accTitle",alignments:"alignments",edges:"edges",groups:"groups",junctions:"junctions",services:"services",title:"title"};function ggr(t){return rs.isInstance(t,hh.$type)}R(ggr,"isArchitecture");var iA={$type:"Axis",label:"label",name:"name"},XM={$type:"Branch",name:"name",order:"order"};function mgr(t){return rs.isInstance(t,XM.$type)}R(mgr,"isBranch");var W5e={$type:"Checkout",branch:"branch"},aA={$type:"CherryPicking",id:"id",parent:"parent",tags:"tags"},XH={$type:"ClassDefStatement",className:"className",styleText:"styleText"},p2={$type:"Commit",id:"id",message:"message",tags:"tags",type:"type"};function Ugr(t){return rs.isInstance(t,p2.$type)}R(Ugr,"isCommit");var sA={$type:"Common",accDescr:"accDescr",accTitle:"accTitle",title:"title"},um={$type:"Component",decorator:"decorator",evolution:"evolution",inertia:"inertia",label:"label",name:"name",visibility:"visibility"},oA={$type:"Curve",entries:"entries",label:"label",name:"name"},Lm={$type:"Cynefin",accDescr:"accDescr",accTitle:"accTitle",domains:"domains",title:"title",transitions:"transitions"};function ygr(t){return rs.isInstance(t,Lm.$type)}R(ygr,"isCynefin");var lA={$type:"Deaccelerator",name:"name",x:"x",y:"y"},q5e={$type:"Decorator",strategy:"strategy"},_y={$type:"Direction",accDescr:"accDescr",accTitle:"accTitle",dir:"dir",statements:"statements",title:"title"},KM={$type:"DomainBlock",domain:"domain",items:"items"};function bgr(t){return rs.isInstance(t,KM.$type)}R(bgr,"isDomainBlock");var mK={$type:"DomainItem",label:"label"};function vgr(t){return rs.isInstance(t,mK.$type)}R(vgr,"isDomainItem");var j5e={$type:"EbnfChoice",alternatives:"alternatives"},Y5e={$type:"EbnfExceptionPostfix",except:"except"},X5e={$type:"EbnfGroup",element:"element"},K5e={$type:"EbnfNonTerminal",name:"name"},Z5e={$type:"EbnfOneOrMorePostfix",operator:"operator"},J5e={$type:"EbnfOptional",element:"element"},Q5e={$type:"EbnfOptionalPostfix",operator:"operator"},U9={$type:"EbnfPostfix"},dm={$type:"EbnfPrimary"},eye={$type:"EbnfRepetition",element:"element"},KH={$type:"EbnfRule",definition:"definition",name:"name"},tye={$type:"EbnfSequence",elements:"elements"},rye={$type:"EbnfSpecial",text:"text"},ZH={$type:"EbnfTerm",base:"base",postfixes:"postfixes"},nye={$type:"EbnfTerminal",value:"value"},iye={$type:"EbnfZeroOrMorePostfix",operator:"operator"},ah={$type:"Edge",lhsDir:"lhsDir",lhsGroup:"lhsGroup",lhsId:"lhsId",lhsInto:"lhsInto",rhsDir:"rhsDir",rhsGroup:"rhsGroup",rhsId:"rhsId",rhsInto:"rhsInto",title:"title"},By={$type:"EmDataEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",name:"name"},hm={$type:"EmFrame"},y9={$type:"EmGwt",givenStatements:"givenStatements",sourceFrame:"sourceFrame",thenStatements:"thenStatements",whenStatements:"whenStatements"},aye={$type:"EmGwtStatement",entityIdentifier:"entityIdentifier"},JH={$type:"EmModelEntity",name:"name"};function xgr(t){return t==="rmo"||t==="readmodel"||t==="ui"||t==="cmd"||t==="command"||t==="evt"||t==="event"||t==="pcr"||t==="processor"}R(xgr,"isEmModelEntityType");var cA={$type:"EmNoteEntity",dataBlockValue:"dataBlockValue",dataType:"dataType",sourceFrame:"sourceFrame"},Gf={$type:"EmResetFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"};function yje(t){return rs.isInstance(t,Gf.$type)}R(yje,"isEmResetFrame");var Fp={$type:"EmTimeFrame",dataInlineValue:"dataInlineValue",dataReference:"dataReference",dataType:"dataType",entityIdentifier:"entityIdentifier",modelEntityType:"modelEntityType",name:"name",sourceFrames:"sourceFrames"},QH={$type:"Entry",axis:"axis",value:"value"},Df={$type:"EventModel",accDescr:"accDescr",accTitle:"accTitle",dataEntities:"dataEntities",frames:"frames",gwtEntities:"gwtEntities",modelEntities:"modelEntities",noteEntities:"noteEntities",title:"title"},sye={$type:"Evolution",stages:"stages"},uA={$type:"EvolutionStage",boundary:"boundary",name:"name",secondName:"secondName"},eV={$type:"Evolve",component:"component",target:"target"},Nm={$type:"GitGraph",accDescr:"accDescr",accTitle:"accTitle",statements:"statements",title:"title"};function wgr(t){return rs.isInstance(t,Nm.$type)}R(wgr,"isGitGraph");var b9={$type:"Group",icon:"icon",id:"id",in:"in",title:"title"},yx={$type:"Info",accDescr:"accDescr",accTitle:"accTitle",title:"title"};function Tgr(t){return rs.isInstance(t,yx.$type)}R(Tgr,"isInfo");var v9={$type:"Item",classSelector:"classSelector",name:"name"},tV={$type:"Junction",id:"id",in:"in"},x9={$type:"Label",negX:"negX",negY:"negY",offsetX:"offsetX",offsetY:"offsetY"},dA={$type:"Leaf",classSelector:"classSelector",name:"name",value:"value"},fm={$type:"Link",arrow:"arrow",from:"from",fromPort:"fromPort",linkLabel:"linkLabel",to:"to",toPort:"toPort"},g2={$type:"Merge",branch:"branch",id:"id",tags:"tags",type:"type"};function Cgr(t){return rs.isInstance(t,g2.$type)}R(Cgr,"isMerge");var hA={$type:"Note",evolution:"evolution",text:"text",visibility:"visibility"},rV={$type:"Option",name:"name",value:"value"},m2={$type:"Packet",accDescr:"accDescr",accTitle:"accTitle",blocks:"blocks",title:"title"};function Sgr(t){return rs.isInstance(t,m2.$type)}R(Sgr,"isPacket");var U2={$type:"PacketBlock",bits:"bits",end:"end",label:"label",start:"start"};function kgr(t){return rs.isInstance(t,U2.$type)}R(kgr,"isPacketBlock");var oye={$type:"PegAny",dot:"dot"},lye={$type:"PegGroup",element:"element"},cye={$type:"PegIdentifier",name:"name"},uye={$type:"PegLiteral",value:"value"},dye={$type:"PegOrderedChoice",alternatives:"alternatives"},nV={$type:"PegPrefix",operator:"operator",suffix:"suffix"},w9={$type:"PegPrimary"},iV={$type:"PegRule",definition:"definition",name:"name"},hye={$type:"PegSequence",elements:"elements"},aV={$type:"PegSuffix",operator:"operator",primary:"primary"},Om={$type:"Pie",accDescr:"accDescr",accTitle:"accTitle",sections:"sections",showData:"showData",title:"title"};function Egr(t){return rs.isInstance(t,Om.$type)}R(Egr,"isPie");var ZM={$type:"PieSection",label:"label",value:"value"};function Agr(t){return rs.isInstance(t,ZM.$type)}R(Agr,"isPieSection");var sV={$type:"Pipeline",components:"components",parent:"parent"},fA={$type:"PipelineComponent",evolution:"evolution",label:"label",name:"name"},pm={$type:"Radar",accDescr:"accDescr",accTitle:"accTitle",axes:"axes",curves:"curves",options:"options",title:"title"},y2={$type:"Railroad",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function Mgr(t){return rs.isInstance(t,y2.$type)}R(Mgr,"isRailroad");var b2={$type:"RailroadAbnf",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function Rgr(t){return rs.isInstance(t,b2.$type)}R(Rgr,"isRailroadAbnf");var fye={$type:"RailroadChoiceExpr",alternatives:"alternatives"},v2={$type:"RailroadEbnf",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function Igr(t){return rs.isInstance(t,v2.$type)}R(Igr,"isRailroadEbnf");var Pf={$type:"RailroadExpression"},pye={$type:"RailroadNonTerminalExpr",name:"name"},gye={$type:"RailroadOneOrMoreExpr",element:"element"},mye={$type:"RailroadOptionalExpr",element:"element"},x2={$type:"RailroadPeg",accDescr:"accDescr",accTitle:"accTitle",rules:"rules",title:"title"};function Lgr(t){return rs.isInstance(t,x2.$type)}R(Lgr,"isRailroadPeg");var oV={$type:"RailroadRule",definition:"definition",name:"name"},Uye={$type:"RailroadSequenceExpr",elements:"elements"},yye={$type:"RailroadSpecialExpr",text:"text"},bye={$type:"RailroadTerminalExpr",value:"value"},vye={$type:"RailroadZeroOrMoreExpr",element:"element"},lV={$type:"Section",classSelector:"classSelector",name:"name"},$y={$type:"Service",icon:"icon",iconText:"iconText",id:"id",in:"in",title:"title"},cV={$type:"Size",height:"height",width:"width"},Fy={$type:"Statement"},bx={$type:"Transition",from:"from",label:"label",to:"to"};function Ngr(t){return rs.isInstance(t,bx.$type)}R(Ngr,"isTransition");var w2={$type:"Treemap",accDescr:"accDescr",accTitle:"accTitle",title:"title",TreemapRows:"TreemapRows"};function Ogr(t){return rs.isInstance(t,w2.$type)}R(Ogr,"isTreemap");var uV={$type:"TreemapRow",indent:"indent",item:"item"},zy={$type:"TreeNode",classAnnotation:"classAnnotation",descAnnotation:"descAnnotation",iconAnnotation:"iconAnnotation",indent:"indent",name:"name"},T9={$type:"TreeView",accDescr:"accDescr",accTitle:"accTitle",nodes:"nodes",title:"title"},vo={$type:"Wardley",accDescr:"accDescr",accelerators:"accelerators",accTitle:"accTitle",anchors:"anchors",annotation:"annotation",annotations:"annotations",components:"components",deaccelerators:"deaccelerators",evolution:"evolution",evolves:"evolves",links:"links",notes:"notes",pipelines:"pipelines",size:"size",title:"title"};function Dgr(t){return rs.isInstance(t,vo.$type)}R(Dgr,"isWardley");var f8,bje=(f8=class extends rne{constructor(){super(...arguments),this.types={AbnfAlternation:{name:B5e.$type,properties:{alternatives:{name:B5e.alternatives,defaultValue:[]}},superTypes:[]},AbnfConcatenation:{name:$5e.$type,properties:{elements:{name:$5e.elements,defaultValue:[]}},superTypes:[]},AbnfElement:{name:WH.$type,properties:{primary:{name:WH.primary},repeat:{name:WH.repeat}},superTypes:[]},AbnfGroup:{name:F5e.$type,properties:{element:{name:F5e.element}},superTypes:[Py.$type]},AbnfNumVal:{name:z5e.$type,properties:{value:{name:z5e.value}},superTypes:[Py.$type]},AbnfOptionalGroup:{name:H5e.$type,properties:{element:{name:H5e.element}},superTypes:[Py.$type]},AbnfPrimary:{name:Py.$type,properties:{},superTypes:[]},AbnfRule:{name:qH.$type,properties:{definition:{name:qH.definition},name:{name:qH.name}},superTypes:[]},AbnfRuleName:{name:V5e.$type,properties:{name:{name:V5e.name}},superTypes:[Py.$type]},AbnfStringLiteral:{name:G5e.$type,properties:{value:{name:G5e.value}},superTypes:[Py.$type]},Accelerator:{name:rA.$type,properties:{name:{name:rA.name},x:{name:rA.x},y:{name:rA.y}},superTypes:[]},Alignment:{name:jH.$type,properties:{direction:{name:jH.direction},members:{name:jH.members,defaultValue:[]}},superTypes:[]},Anchor:{name:nA.$type,properties:{evolution:{name:nA.evolution},name:{name:nA.name},visibility:{name:nA.visibility}},superTypes:[]},Annotation:{name:m9.$type,properties:{number:{name:m9.number},text:{name:m9.text},x:{name:m9.x},y:{name:m9.y}},superTypes:[]},Annotations:{name:YH.$type,properties:{x:{name:YH.x},y:{name:YH.y}},superTypes:[]},Architecture:{name:hh.$type,properties:{accDescr:{name:hh.accDescr},accTitle:{name:hh.accTitle},alignments:{name:hh.alignments,defaultValue:[]},edges:{name:hh.edges,defaultValue:[]},groups:{name:hh.groups,defaultValue:[]},junctions:{name:hh.junctions,defaultValue:[]},services:{name:hh.services,defaultValue:[]},title:{name:hh.title}},superTypes:[]},Axis:{name:iA.$type,properties:{label:{name:iA.label},name:{name:iA.name}},superTypes:[]},Branch:{name:XM.$type,properties:{name:{name:XM.name},order:{name:XM.order}},superTypes:[Fy.$type]},Checkout:{name:W5e.$type,properties:{branch:{name:W5e.branch}},superTypes:[Fy.$type]},CherryPicking:{name:aA.$type,properties:{id:{name:aA.id},parent:{name:aA.parent},tags:{name:aA.tags,defaultValue:[]}},superTypes:[Fy.$type]},ClassDefStatement:{name:XH.$type,properties:{className:{name:XH.className},styleText:{name:XH.styleText}},superTypes:[]},Commit:{name:p2.$type,properties:{id:{name:p2.id},message:{name:p2.message},tags:{name:p2.tags,defaultValue:[]},type:{name:p2.type}},superTypes:[Fy.$type]},Common:{name:sA.$type,properties:{accDescr:{name:sA.accDescr},accTitle:{name:sA.accTitle},title:{name:sA.title}},superTypes:[]},Component:{name:um.$type,properties:{decorator:{name:um.decorator},evolution:{name:um.evolution},inertia:{name:um.inertia,defaultValue:!1},label:{name:um.label},name:{name:um.name},visibility:{name:um.visibility}},superTypes:[]},Curve:{name:oA.$type,properties:{entries:{name:oA.entries,defaultValue:[]},label:{name:oA.label},name:{name:oA.name}},superTypes:[]},Cynefin:{name:Lm.$type,properties:{accDescr:{name:Lm.accDescr},accTitle:{name:Lm.accTitle},domains:{name:Lm.domains,defaultValue:[]},title:{name:Lm.title},transitions:{name:Lm.transitions,defaultValue:[]}},superTypes:[]},Deaccelerator:{name:lA.$type,properties:{name:{name:lA.name},x:{name:lA.x},y:{name:lA.y}},superTypes:[]},Decorator:{name:q5e.$type,properties:{strategy:{name:q5e.strategy}},superTypes:[]},Direction:{name:_y.$type,properties:{accDescr:{name:_y.accDescr},accTitle:{name:_y.accTitle},dir:{name:_y.dir},statements:{name:_y.statements,defaultValue:[]},title:{name:_y.title}},superTypes:[Nm.$type]},DomainBlock:{name:KM.$type,properties:{domain:{name:KM.domain},items:{name:KM.items,defaultValue:[]}},superTypes:[]},DomainItem:{name:mK.$type,properties:{label:{name:mK.label}},superTypes:[]},EbnfChoice:{name:j5e.$type,properties:{alternatives:{name:j5e.alternatives,defaultValue:[]}},superTypes:[]},EbnfExceptionPostfix:{name:Y5e.$type,properties:{except:{name:Y5e.except}},superTypes:[U9.$type]},EbnfGroup:{name:X5e.$type,properties:{element:{name:X5e.element}},superTypes:[dm.$type]},EbnfNonTerminal:{name:K5e.$type,properties:{name:{name:K5e.name}},superTypes:[dm.$type]},EbnfOneOrMorePostfix:{name:Z5e.$type,properties:{operator:{name:Z5e.operator}},superTypes:[U9.$type]},EbnfOptional:{name:J5e.$type,properties:{element:{name:J5e.element}},superTypes:[dm.$type]},EbnfOptionalPostfix:{name:Q5e.$type,properties:{operator:{name:Q5e.operator}},superTypes:[U9.$type]},EbnfPostfix:{name:U9.$type,properties:{},superTypes:[]},EbnfPrimary:{name:dm.$type,properties:{},superTypes:[]},EbnfRepetition:{name:eye.$type,properties:{element:{name:eye.element}},superTypes:[dm.$type]},EbnfRule:{name:KH.$type,properties:{definition:{name:KH.definition},name:{name:KH.name}},superTypes:[]},EbnfSequence:{name:tye.$type,properties:{elements:{name:tye.elements,defaultValue:[]}},superTypes:[]},EbnfSpecial:{name:rye.$type,properties:{text:{name:rye.text}},superTypes:[dm.$type]},EbnfTerm:{name:ZH.$type,properties:{base:{name:ZH.base},postfixes:{name:ZH.postfixes,defaultValue:[]}},superTypes:[]},EbnfTerminal:{name:nye.$type,properties:{value:{name:nye.value}},superTypes:[dm.$type]},EbnfZeroOrMorePostfix:{name:iye.$type,properties:{operator:{name:iye.operator}},superTypes:[U9.$type]},Edge:{name:ah.$type,properties:{lhsDir:{name:ah.lhsDir},lhsGroup:{name:ah.lhsGroup,defaultValue:!1},lhsId:{name:ah.lhsId},lhsInto:{name:ah.lhsInto,defaultValue:!1},rhsDir:{name:ah.rhsDir},rhsGroup:{name:ah.rhsGroup,defaultValue:!1},rhsId:{name:ah.rhsId},rhsInto:{name:ah.rhsInto,defaultValue:!1},title:{name:ah.title}},superTypes:[]},EmDataEntity:{name:By.$type,properties:{dataBlockValue:{name:By.dataBlockValue},dataType:{name:By.dataType},name:{name:By.name}},superTypes:[]},EmFrame:{name:hm.$type,properties:{},superTypes:[]},EmGwt:{name:y9.$type,properties:{givenStatements:{name:y9.givenStatements,defaultValue:[]},sourceFrame:{name:y9.sourceFrame,referenceType:hm.$type},thenStatements:{name:y9.thenStatements,defaultValue:[]},whenStatements:{name:y9.whenStatements,defaultValue:[]}},superTypes:[]},EmGwtStatement:{name:aye.$type,properties:{entityIdentifier:{name:aye.entityIdentifier,referenceType:JH.$type}},superTypes:[]},EmModelEntity:{name:JH.$type,properties:{name:{name:JH.name}},superTypes:[]},EmNoteEntity:{name:cA.$type,properties:{dataBlockValue:{name:cA.dataBlockValue},dataType:{name:cA.dataType},sourceFrame:{name:cA.sourceFrame,referenceType:hm.$type}},superTypes:[]},EmResetFrame:{name:Gf.$type,properties:{dataInlineValue:{name:Gf.dataInlineValue},dataReference:{name:Gf.dataReference,referenceType:By.$type},dataType:{name:Gf.dataType},entityIdentifier:{name:Gf.entityIdentifier},modelEntityType:{name:Gf.modelEntityType},name:{name:Gf.name},sourceFrames:{name:Gf.sourceFrames,defaultValue:[],referenceType:hm.$type}},superTypes:[hm.$type]},EmTimeFrame:{name:Fp.$type,properties:{dataInlineValue:{name:Fp.dataInlineValue},dataReference:{name:Fp.dataReference,referenceType:By.$type},dataType:{name:Fp.dataType},entityIdentifier:{name:Fp.entityIdentifier},modelEntityType:{name:Fp.modelEntityType},name:{name:Fp.name},sourceFrames:{name:Fp.sourceFrames,defaultValue:[],referenceType:hm.$type}},superTypes:[hm.$type]},Entry:{name:QH.$type,properties:{axis:{name:QH.axis,referenceType:iA.$type},value:{name:QH.value}},superTypes:[]},EventModel:{name:Df.$type,properties:{accDescr:{name:Df.accDescr},accTitle:{name:Df.accTitle},dataEntities:{name:Df.dataEntities,defaultValue:[]},frames:{name:Df.frames,defaultValue:[]},gwtEntities:{name:Df.gwtEntities,defaultValue:[]},modelEntities:{name:Df.modelEntities,defaultValue:[]},noteEntities:{name:Df.noteEntities,defaultValue:[]},title:{name:Df.title}},superTypes:[]},Evolution:{name:sye.$type,properties:{stages:{name:sye.stages,defaultValue:[]}},superTypes:[]},EvolutionStage:{name:uA.$type,properties:{boundary:{name:uA.boundary},name:{name:uA.name},secondName:{name:uA.secondName}},superTypes:[]},Evolve:{name:eV.$type,properties:{component:{name:eV.component},target:{name:eV.target}},superTypes:[]},GitGraph:{name:Nm.$type,properties:{accDescr:{name:Nm.accDescr},accTitle:{name:Nm.accTitle},statements:{name:Nm.statements,defaultValue:[]},title:{name:Nm.title}},superTypes:[]},Group:{name:b9.$type,properties:{icon:{name:b9.icon},id:{name:b9.id},in:{name:b9.in},title:{name:b9.title}},superTypes:[]},Info:{name:yx.$type,properties:{accDescr:{name:yx.accDescr},accTitle:{name:yx.accTitle},title:{name:yx.title}},superTypes:[]},Item:{name:v9.$type,properties:{classSelector:{name:v9.classSelector},name:{name:v9.name}},superTypes:[]},Junction:{name:tV.$type,properties:{id:{name:tV.id},in:{name:tV.in}},superTypes:[]},Label:{name:x9.$type,properties:{negX:{name:x9.negX,defaultValue:!1},negY:{name:x9.negY,defaultValue:!1},offsetX:{name:x9.offsetX},offsetY:{name:x9.offsetY}},superTypes:[]},Leaf:{name:dA.$type,properties:{classSelector:{name:dA.classSelector},name:{name:dA.name},value:{name:dA.value}},superTypes:[v9.$type]},Link:{name:fm.$type,properties:{arrow:{name:fm.arrow},from:{name:fm.from},fromPort:{name:fm.fromPort},linkLabel:{name:fm.linkLabel},to:{name:fm.to},toPort:{name:fm.toPort}},superTypes:[]},Merge:{name:g2.$type,properties:{branch:{name:g2.branch},id:{name:g2.id},tags:{name:g2.tags,defaultValue:[]},type:{name:g2.type}},superTypes:[Fy.$type]},Note:{name:hA.$type,properties:{evolution:{name:hA.evolution},text:{name:hA.text},visibility:{name:hA.visibility}},superTypes:[]},Option:{name:rV.$type,properties:{name:{name:rV.name},value:{name:rV.value,defaultValue:!1}},superTypes:[]},Packet:{name:m2.$type,properties:{accDescr:{name:m2.accDescr},accTitle:{name:m2.accTitle},blocks:{name:m2.blocks,defaultValue:[]},title:{name:m2.title}},superTypes:[]},PacketBlock:{name:U2.$type,properties:{bits:{name:U2.bits},end:{name:U2.end},label:{name:U2.label},start:{name:U2.start}},superTypes:[]},PegAny:{name:oye.$type,properties:{dot:{name:oye.dot}},superTypes:[w9.$type]},PegGroup:{name:lye.$type,properties:{element:{name:lye.element}},superTypes:[w9.$type]},PegIdentifier:{name:cye.$type,properties:{name:{name:cye.name}},superTypes:[w9.$type]},PegLiteral:{name:uye.$type,properties:{value:{name:uye.value}},superTypes:[w9.$type]},PegOrderedChoice:{name:dye.$type,properties:{alternatives:{name:dye.alternatives,defaultValue:[]}},superTypes:[]},PegPrefix:{name:nV.$type,properties:{operator:{name:nV.operator},suffix:{name:nV.suffix}},superTypes:[]},PegPrimary:{name:w9.$type,properties:{},superTypes:[]},PegRule:{name:iV.$type,properties:{definition:{name:iV.definition},name:{name:iV.name}},superTypes:[]},PegSequence:{name:hye.$type,properties:{elements:{name:hye.elements,defaultValue:[]}},superTypes:[]},PegSuffix:{name:aV.$type,properties:{operator:{name:aV.operator},primary:{name:aV.primary}},superTypes:[]},Pie:{name:Om.$type,properties:{accDescr:{name:Om.accDescr},accTitle:{name:Om.accTitle},sections:{name:Om.sections,defaultValue:[]},showData:{name:Om.showData,defaultValue:!1},title:{name:Om.title}},superTypes:[]},PieSection:{name:ZM.$type,properties:{label:{name:ZM.label},value:{name:ZM.value}},superTypes:[]},Pipeline:{name:sV.$type,properties:{components:{name:sV.components,defaultValue:[]},parent:{name:sV.parent}},superTypes:[]},PipelineComponent:{name:fA.$type,properties:{evolution:{name:fA.evolution},label:{name:fA.label},name:{name:fA.name}},superTypes:[]},Radar:{name:pm.$type,properties:{accDescr:{name:pm.accDescr},accTitle:{name:pm.accTitle},axes:{name:pm.axes,defaultValue:[]},curves:{name:pm.curves,defaultValue:[]},options:{name:pm.options,defaultValue:[]},title:{name:pm.title}},superTypes:[]},Railroad:{name:y2.$type,properties:{accDescr:{name:y2.accDescr},accTitle:{name:y2.accTitle},rules:{name:y2.rules,defaultValue:[]},title:{name:y2.title}},superTypes:[]},RailroadAbnf:{name:b2.$type,properties:{accDescr:{name:b2.accDescr},accTitle:{name:b2.accTitle},rules:{name:b2.rules,defaultValue:[]},title:{name:b2.title}},superTypes:[]},RailroadChoiceExpr:{name:fye.$type,properties:{alternatives:{name:fye.alternatives,defaultValue:[]}},superTypes:[Pf.$type]},RailroadEbnf:{name:v2.$type,properties:{accDescr:{name:v2.accDescr},accTitle:{name:v2.accTitle},rules:{name:v2.rules,defaultValue:[]},title:{name:v2.title}},superTypes:[]},RailroadExpression:{name:Pf.$type,properties:{},superTypes:[]},RailroadNonTerminalExpr:{name:pye.$type,properties:{name:{name:pye.name}},superTypes:[Pf.$type]},RailroadOneOrMoreExpr:{name:gye.$type,properties:{element:{name:gye.element}},superTypes:[Pf.$type]},RailroadOptionalExpr:{name:mye.$type,properties:{element:{name:mye.element}},superTypes:[Pf.$type]},RailroadPeg:{name:x2.$type,properties:{accDescr:{name:x2.accDescr},accTitle:{name:x2.accTitle},rules:{name:x2.rules,defaultValue:[]},title:{name:x2.title}},superTypes:[]},RailroadRule:{name:oV.$type,properties:{definition:{name:oV.definition},name:{name:oV.name}},superTypes:[]},RailroadSequenceExpr:{name:Uye.$type,properties:{elements:{name:Uye.elements,defaultValue:[]}},superTypes:[Pf.$type]},RailroadSpecialExpr:{name:yye.$type,properties:{text:{name:yye.text}},superTypes:[Pf.$type]},RailroadTerminalExpr:{name:bye.$type,properties:{value:{name:bye.value}},superTypes:[Pf.$type]},RailroadZeroOrMoreExpr:{name:vye.$type,properties:{element:{name:vye.element}},superTypes:[Pf.$type]},Section:{name:lV.$type,properties:{classSelector:{name:lV.classSelector},name:{name:lV.name}},superTypes:[v9.$type]},Service:{name:$y.$type,properties:{icon:{name:$y.icon},iconText:{name:$y.iconText},id:{name:$y.id},in:{name:$y.in},title:{name:$y.title}},superTypes:[]},Size:{name:cV.$type,properties:{height:{name:cV.height},width:{name:cV.width}},superTypes:[]},Statement:{name:Fy.$type,properties:{},superTypes:[]},Transition:{name:bx.$type,properties:{from:{name:bx.from},label:{name:bx.label},to:{name:bx.to}},superTypes:[]},TreeNode:{name:zy.$type,properties:{classAnnotation:{name:zy.classAnnotation},descAnnotation:{name:zy.descAnnotation},iconAnnotation:{name:zy.iconAnnotation},indent:{name:zy.indent},name:{name:zy.name}},superTypes:[]},TreeView:{name:T9.$type,properties:{accDescr:{name:T9.accDescr},accTitle:{name:T9.accTitle},nodes:{name:T9.nodes,defaultValue:[]},title:{name:T9.title}},superTypes:[]},Treemap:{name:w2.$type,properties:{accDescr:{name:w2.accDescr},accTitle:{name:w2.accTitle},title:{name:w2.title},TreemapRows:{name:w2.TreemapRows,defaultValue:[]}},superTypes:[]},TreemapRow:{name:uV.$type,properties:{indent:{name:uV.indent},item:{name:uV.item}},superTypes:[]},Wardley:{name:vo.$type,properties:{accDescr:{name:vo.accDescr},accelerators:{name:vo.accelerators,defaultValue:[]},accTitle:{name:vo.accTitle},anchors:{name:vo.anchors,defaultValue:[]},annotation:{name:vo.annotation,defaultValue:[]},annotations:{name:vo.annotations,defaultValue:[]},components:{name:vo.components,defaultValue:[]},deaccelerators:{name:vo.deaccelerators,defaultValue:[]},evolution:{name:vo.evolution},evolves:{name:vo.evolves,defaultValue:[]},links:{name:vo.links,defaultValue:[]},notes:{name:vo.notes,defaultValue:[]},pipelines:{name:vo.pipelines,defaultValue:[]},size:{name:vo.size},title:{name:vo.title}},superTypes:[]}}}},R(f8,"MermaidAstReflection"),f8),rs=new bje,xye,Pgr=R(()=>xye??(xye=fo(`{"$type":"Grammar","isDeclared":true,"name":"ArchitectureGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Architecture","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"architecture-beta"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"groups","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"services","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"junctions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Assignment","feature":"edges","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"alignments","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"LeftPort","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"lhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"RightPort","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"rhsDir","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Keyword","value":":"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Arrow","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Assignment","feature":"lhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"--"},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]}},{"$type":"Keyword","value":"-"}]}]},{"$type":"Assignment","feature":"rhsInto","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Group","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"group"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Service","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"service"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"iconText","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"icon","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Junction","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"junction"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"in"},{"$type":"Assignment","feature":"in","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Edge","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"lhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"lhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Assignment","feature":"rhsId","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"rhsGroup","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Alignment","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"align"},{"$type":"Assignment","feature":"direction","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"row"},{"$type":"Keyword","value":"column"}]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Assignment","feature":"members","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ARROW_DIRECTION","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"L"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"R"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"T"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"B"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_GROUP","definition":{"$type":"RegexToken","regex":"/\\\\{group\\\\}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW_INTO","definition":{"$type":"RegexToken","regex":"/<|>/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@19"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@20"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"ARCH_ICON","definition":{"$type":"RegexToken","regex":"/\\\\([\\\\w-:]+\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARCH_TITLE","definition":{"$type":"RegexToken","regex":"/\\\\[(?:\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'|[^\\\\[\\\\]\\\\r\\\\n]+)\\\\]/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"ArchitectureGrammarGrammar"),wye,_gr=R(()=>wye??(wye=fo(`{"$type":"Grammar","isDeclared":true,"name":"CynefinGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Cynefin","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"cynefin-beta"},{"$type":"Keyword","value":"cynefin-beta:"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"domains","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"transitions","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainBlock","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"domain","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Assignment","feature":"items","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"DomainItem","definition":{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Transition","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":"-->"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"DOMAIN_NAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complex"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"complicated"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"clear"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"chaotic"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"confusion"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"CynefinGrammarGrammar"),Tye,Bgr=R(()=>Tye??(Tye=fo('{"$type":"Grammar","isDeclared":true,"name":"EventModeling","interfaces":[{"$type":"Interface","name":"Common","attributes":[{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"rules":[{"$type":"ParserRule","entry":true,"name":"EventModel","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"eventmodeling"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"frames","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"dataEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"noteEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"gwtEntities","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntityType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rmo"},{"$type":"Keyword","value":"readmodel"},{"$type":"Keyword","value":"ui"},{"$type":"Keyword","value":"cmd"},{"$type":"Keyword","value":"command"},{"$type":"Keyword","value":"evt"},{"$type":"Keyword","value":"event"},{"$type":"Keyword","value":"pcr"},{"$type":"Keyword","value":"processor"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataType","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"json"},{"$type":"Keyword","value":"jsobj"},{"$type":"Keyword","value":"figma"},{"$type":"Keyword","value":"salt"},{"$type":"Keyword","value":"uri"},{"$type":"Keyword","value":"md"},{"$type":"Keyword","value":"html"},{"$type":"Keyword","value":"text"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataInline","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataInlineValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"EmDataBlock","definition":{"$type":"Group","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"`"},{"$type":"Assignment","feature":"dataType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Keyword","value":"`"}],"cardinality":"?"},{"$type":"Assignment","feature":"dataBlockValue","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"QualifiedName","dataType":"string","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"."},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmTimeFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"tf"},{"$type":"Keyword","value":"timeframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmResetFrame","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"rf"},{"$type":"Keyword","value":"resetframe"}]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"modelEntityType","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"->>"},{"$type":"Assignment","feature":"sourceFrames","operator":"+=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"[["},{"$type":"Assignment","feature":"dataReference","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@10"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"]]"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmFrame","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmModelEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"entity"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmDataEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"data"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmNoteEntity","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"note"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwt","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"gwt"},{"$type":"Assignment","feature":"sourceFrame","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@8"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":"given"},{"$type":"Assignment","feature":"givenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"},{"$type":"Group","elements":[{"$type":"Keyword","value":"when"},{"$type":"Assignment","feature":"whenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}],"cardinality":"?"},{"$type":"Keyword","value":"then"},{"$type":"Assignment","feature":"thenStatements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"+"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EmGwtStatement","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]},{"$type":"Assignment","feature":"entityIdentifier","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@9"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_EID","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EM_FI","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"EM_ID","definition":{"$type":"RegexToken","regex":"/[_a-zA-Z][\\\\w_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_FID","definition":{"$type":"RegexToken","regex":"/\\\\d{1,3}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_INLINE","definition":{"$type":"RegexToken","regex":"/\\\\{(.*)\\\\}|\\"(.*)\\"|\'(.*)\'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_DATA_BLOCK","definition":{"$type":"RegexToken","regex":"/\\\\{[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?\\\\}(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EM_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EM_WS","definition":{"$type":"RegexToken","regex":"/\\\\s+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EM_SL_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\/[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"imports":[],"types":[]}')),"EventModelingGrammar"),Cye,$gr=R(()=>Cye??(Cye=fo(`{"$type":"Grammar","isDeclared":true,"name":"GitGraphGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"GitGraph","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"Keyword","value":":"}]},{"$type":"Keyword","value":"gitGraph:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"gitGraph"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]},{"$type":"Keyword","value":":"}]}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"Assignment","feature":"statements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Direction","definition":{"$type":"Assignment","feature":"dir","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"LR"},{"$type":"Keyword","value":"TB"},{"$type":"Keyword","value":"BT"}]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Commit","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"commit"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"msg:","cardinality":"?"},{"$type":"Assignment","feature":"message","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Branch","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"branch"},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"order:"},{"$type":"Assignment","feature":"order","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Merge","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"merge"},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"type:"},{"$type":"Assignment","feature":"type","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"NORMAL"},{"$type":"Keyword","value":"REVERSE"},{"$type":"Keyword","value":"HIGHLIGHT"}]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Checkout","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"checkout"},{"$type":"Keyword","value":"switch"}]},{"$type":"Assignment","feature":"branch","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CherryPicking","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"cherry-pick"},{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Keyword","value":"id:"},{"$type":"Assignment","feature":"id","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"tag:"},{"$type":"Assignment","feature":"tags","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"parent:"},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@14"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"REFERENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\w([-\\\\./\\\\w]*[-\\\\w])?/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[],"types":[]}`)),"GitGraphGrammarGrammar"),Sye,Fgr=R(()=>Sye??(Sye=fo(`{"$type":"Grammar","isDeclared":true,"name":"InfoGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Info","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"info"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"},{"$type":"Group","elements":[{"$type":"Keyword","value":"showInfo"},{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"*"}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[],"cardinality":"?"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@7"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"InfoGrammarGrammar"),kye,zgr=R(()=>kye??(kye=fo(`{"$type":"Grammar","isDeclared":true,"name":"PacketGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Packet","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"packet"},{"$type":"Keyword","value":"packet-beta"}]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]},{"$type":"Assignment","feature":"blocks","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PacketBlock","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"start","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"end","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}],"cardinality":"?"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"+"},{"$type":"Assignment","feature":"bits","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}}]}]},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@8"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@9"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PacketGrammarGrammar"),Eye,Hgr=R(()=>Eye??(Eye=fo(`{"$type":"Grammar","isDeclared":true,"name":"PieGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Pie","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"*"},{"$type":"Keyword","value":"pie"},{"$type":"Assignment","feature":"showData","operator":"?=","terminal":{"$type":"Keyword","value":"showData"},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Assignment","feature":"sections","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PieSection","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":":"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"FLOAT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/-?(0|[1-9][0-9]*)(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER_PIE","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@2"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@3"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@11"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@12"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"PieGrammarGrammar"),Aye,Vgr=R(()=>Aye??(Aye=fo(`{"$type":"Grammar","isDeclared":true,"name":"RadarGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Radar","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":"radar-beta:"},{"$type":"Group","elements":[{"$type":"Keyword","value":"radar-beta"},{"$type":"Keyword","value":":"}]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]},{"$type":"Group","elements":[{"$type":"Keyword","value":"axis"},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"axes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Keyword","value":"curve"},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"curves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"options","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Label","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Axis","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Curve","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[],"cardinality":"?"},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Entries","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"},{"$type":"Assignment","feature":"entries","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}}],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"*"}]}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"DetailedEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"axis","operator":"=","terminal":{"$type":"CrossReference","type":{"$ref":"#/rules@2"},"terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},"deprecatedSyntax":false,"isMulti":false}},{"$type":"Keyword","value":":","cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"NumberEntry","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Option","definition":{"$type":"Alternatives","elements":[{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"showLegend"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"ticks"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"max"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"min"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Keyword","value":"graticule"}},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]}}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"GRATICULE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"circle"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"polygon"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@15"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@16"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[{"$type":"Interface","name":"Entry","attributes":[{"$type":"TypeAttribute","name":"axis","isOptional":true,"type":{"$type":"ReferenceType","referenceType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@2"}},"isMulti":false}},{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}],"superTypes":[]}],"types":[]}`)),"RadarGrammarGrammar"),Mye,Ggr=R(()=>Mye??(Mye=fo('{"$type":"Grammar","isDeclared":true,"name":"RailroadAbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_RULENAME","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Za-z][A-Za-z0-9-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_NUMVAL","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/%[xXdDbB][0-9A-Fa-f]+(?:-[0-9A-Fa-f]+|\\\\.[0-9A-Fa-f]+)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]*\\\\*[0-9]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ABNF_EXACT_REPEAT","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ABNF_COMMENT","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadAbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-abnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfAlternation","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfConcatenation","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfElement","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"repeat","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"?"},{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfStringLiteral","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfNumVal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfRuleName","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"AbnfOptionalGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadAbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfAlternation","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfConcatenation","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfElement","attributes":[{"$type":"TypeAttribute","name":"repeat","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"AbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"AbnfStringLiteral","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfNumVal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfRuleName","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"AbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"AbnfOptionalGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]}],"imports":[],"types":[]}')),"RailroadAbnfGrammarGrammar"),Rye,Wgr=R(()=>Rye??(Rye=fo(`{"$type":"Grammar","isDeclared":true,"name":"RailroadEbnfGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"EBNF_SPECIAL_SEQUENCE","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\\\?(?=[^?;]*[^?\\\\s;][^?;]*\\\\?)[^?;]*\\\\?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"EBNF_ISO_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\(\\\\*[\\\\s\\\\S]*?\\\\*\\\\)/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadEbnf","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-ebnf-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Keyword","value":"="},{"$type":"Keyword","value":"::="}]},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"|"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":",","cardinality":"?"},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerm","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"base","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"postfixes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]},"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPrimary","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfTerminal","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfNonTerminal","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfSpecial","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfGroup","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptional","returnType":{"$ref":"#/interfaces@11"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfRepetition","returnType":{"$ref":"#/interfaces@12"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"{"},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Keyword","value":"}"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfPostfix","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOptionalPostfix","returnType":{"$ref":"#/interfaces@13"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfZeroOrMorePostfix","returnType":{"$ref":"#/interfaces@14"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfOneOrMorePostfix","returnType":{"$ref":"#/interfaces@15"},"definition":{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EbnfExceptionPostfix","returnType":{"$ref":"#/interfaces@16"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"-"},{"$type":"Assignment","feature":"except","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadEbnf","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfTerm","attributes":[{"$type":"TypeAttribute","name":"base","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false},{"$type":"TypeAttribute","name":"postfixes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"EbnfPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfPostfix","attributes":[],"superTypes":[]},{"$type":"Interface","name":"EbnfTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfNonTerminal","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfSpecial","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfGroup","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptional","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfRepetition","superTypes":[{"$ref":"#/interfaces@5"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"EbnfOptionalPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfZeroOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfOneOrMorePostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"operator","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"EbnfExceptionPostfix","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"except","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}]}],"imports":[],"types":[]}`)),"RailroadEbnfGrammarGrammar"),Iye,qgr=R(()=>Iye??(Iye=fo(`{"$type":"Grammar","isDeclared":true,"name":"RailroadGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"RR_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"RR_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"RR_BLOCK_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\/\\\\*[\\\\s\\\\S]*?\\\\*\\\\//","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"Railroad","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"="},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadExpression","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSequenceExpr","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"sequence"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadChoiceExpr","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"choice"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}}],"cardinality":"*"},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOptionalExpr","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"optional"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadOneOrMoreExpr","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"oneOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadZeroOrMoreExpr","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"zeroOrMore"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadTerminalExpr","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"terminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadNonTerminalExpr","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"nonterminal"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"RailroadSpecialExpr","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"special"},{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"Railroad","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"RailroadExpression","attributes":[],"superTypes":[]},{"$type":"Interface","name":"RailroadSequenceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadChoiceExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOptionalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadOneOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadZeroOrMoreExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"RailroadTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadNonTerminalExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"RailroadSpecialExpr","superTypes":[{"$ref":"#/interfaces@2"}],"attributes":[{"$type":"TypeAttribute","name":"text","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}`)),"RailroadGrammarGrammar"),Lye,jgr=R(()=>Lye??(Lye=fo(`{"$type":"Grammar","isDeclared":true,"name":"RailroadPegGrammar","rules":[{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[A-Z_a-z][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"PEG_STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t \\\\r\\\\n]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"PEG_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/#[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false},{"$type":"ParserRule","entry":true,"name":"RailroadPeg","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"railroad-peg-beta"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"*"},{"$type":"Assignment","feature":"rules","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegRule","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Keyword","value":"<-"},{"$type":"Assignment","feature":"definition","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":";"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegOrderedChoice","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"alternatives","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSequence","returnType":{"$ref":"#/interfaces@3"},"definition":{"$type":"Assignment","feature":"elements","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"+"},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrefix","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"&"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"!"}}],"cardinality":"?"},{"$type":"Assignment","feature":"suffix","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegSuffix","returnType":{"$ref":"#/interfaces@5"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"primary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"?"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"*"}},{"$type":"Assignment","feature":"operator","operator":"=","terminal":{"$type":"Keyword","value":"+"}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegPrimary","returnType":{"$ref":"#/interfaces@6"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegLiteral","returnType":{"$ref":"#/interfaces@7"},"definition":{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegIdentifier","returnType":{"$ref":"#/interfaces@8"},"definition":{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegGroup","returnType":{"$ref":"#/interfaces@9"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"element","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PegAny","returnType":{"$ref":"#/interfaces@10"},"definition":{"$type":"Assignment","feature":"dot","operator":"=","terminal":{"$type":"Keyword","value":"."}},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"RailroadPeg","attributes":[{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"rules","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@1"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegRule","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"definition","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegOrderedChoice","attributes":[{"$type":"TypeAttribute","name":"alternatives","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@3"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSequence","attributes":[{"$type":"TypeAttribute","name":"elements","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@4"}}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegPrefix","attributes":[{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"suffix","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@5"}},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"PegSuffix","attributes":[{"$type":"TypeAttribute","name":"primary","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@6"}},"isOptional":false},{"$type":"TypeAttribute","name":"operator","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"PegPrimary","attributes":[],"superTypes":[]},{"$type":"Interface","name":"PegLiteral","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegIdentifier","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]},{"$type":"Interface","name":"PegGroup","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"element","type":{"$type":"SimpleType","typeRef":{"$ref":"#/interfaces@2"}},"isOptional":false}]},{"$type":"Interface","name":"PegAny","superTypes":[{"$ref":"#/interfaces@6"}],"attributes":[{"$type":"TypeAttribute","name":"dot","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}]}],"imports":[],"types":[]}`)),"RailroadPegGrammarGrammar"),Nye,Ygr=R(()=>Nye??(Nye=fo(`{"$type":"Grammar","isDeclared":true,"name":"TreemapGrammar","rules":[{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"Treemap","returnType":{"$ref":"#/interfaces@4"},"definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]},{"$type":"Assignment","feature":"TreemapRows","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"TREEMAP_KEYWORD","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap-beta"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"treemap"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"CLASS_DEF","definition":{"$type":"RegexToken","regex":"/classDef\\\\s+([a-zA-Z_][a-zA-Z0-9_]+)(?:\\\\s+([^;\\\\r\\\\n]*))?(?:;)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STYLE_SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":::"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"SEPARATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":":"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"COMMA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":","},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"TreemapRow","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"item","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"ClassDef","dataType":"string","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Item","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Section","returnType":{"$ref":"#/interfaces@1"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Leaf","returnType":{"$ref":"#/interfaces@2"},"definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"value","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},{"$type":"Assignment","feature":"classSelector","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"ID2","definition":{"$type":"RegexToken","regex":"/[a-zA-Z_][a-zA-Z0-9_]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER2","definition":{"$type":"RegexToken","regex":"/[0-9_\\\\.\\\\,]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"MyNumber","dataType":"number","definition":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"STRING2","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false}],"interfaces":[{"$type":"Interface","name":"Item","attributes":[{"$type":"TypeAttribute","name":"name","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"classSelector","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]},{"$type":"Interface","name":"Section","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[]},{"$type":"Interface","name":"Leaf","superTypes":[{"$ref":"#/interfaces@0"}],"attributes":[{"$type":"TypeAttribute","name":"value","type":{"$type":"SimpleType","primitiveType":"number"},"isOptional":false}]},{"$type":"Interface","name":"ClassDefStatement","attributes":[{"$type":"TypeAttribute","name":"className","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false},{"$type":"TypeAttribute","name":"styleText","type":{"$type":"SimpleType","primitiveType":"string"},"isOptional":false}],"superTypes":[]},{"$type":"Interface","name":"Treemap","attributes":[{"$type":"TypeAttribute","name":"TreemapRows","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@15"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * Treemap grammar for Langium\\n * Converted from mindmap grammar\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treemap keyword, allowing for empty lines and comments before the\\n * treemap declaration.\\n */"}`)),"TreemapGrammarGrammar"),Oye,Xgr=R(()=>Oye??(Oye=fo(`{"$type":"Grammar","isDeclared":true,"name":"TreeViewGrammar","rules":[{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","entry":true,"name":"TreeView","returnType":{"$ref":"#/interfaces@0"},"definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"treeView-beta"},{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[],"cardinality":"?"},{"$type":"Assignment","feature":"nodes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]},"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@0"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"CLASS_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+:::[ \\\\t]*[A-Za-z_][\\\\w-]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ICON_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+icon\\\\([\\\\w-]*(?::[\\\\w-]+)?\\\\)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"DESC_ANNOTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+##[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INDENTATION","definition":{"$type":"RegexToken","regex":"/[ \\\\t]{1,}/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"QUOTED_NAME","definition":{"$type":"RegexToken","regex":"/\\"[^\\"]*\\"|'[^']*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"ML_COMMENT","definition":{"$type":"RegexToken","regex":"/\\\\%\\\\%[^\\\\n]*/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"NL","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","name":"BARE_NAME","definition":{"$type":"RegexToken","regex":"/(?!:::|icon\\\\(|##)[^ \\\\t\\\\n\\\\r\\"'](?:(?![ \\\\t]+:::[ \\\\t]*[A-Za-z_]|[ \\\\t]+icon\\\\(|[ \\\\t]+##)[^\\\\n\\\\r])*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"ParserRule","name":"TreeNode","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"indent","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}}]},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"classAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"iconAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"descAnnotation","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]}}],"cardinality":"*"}]},"entry":false,"fragment":false,"parameters":[]}],"interfaces":[{"$type":"Interface","name":"TreeView","attributes":[{"$type":"TypeAttribute","name":"nodes","type":{"$type":"ArrayType","elementType":{"$type":"SimpleType","typeRef":{"$ref":"#/rules@14"}}},"isOptional":false},{"$type":"TypeAttribute","name":"title","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accTitle","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}},{"$type":"TypeAttribute","name":"accDescr","isOptional":true,"type":{"$type":"SimpleType","primitiveType":"string"}}],"superTypes":[]}],"imports":[],"types":[],"$comment":"/**\\n * TreeView grammar for Langium\\n *\\n * Supports both quoted labels (\\"my file\\") and bare labels (index.js).\\n * Annotations (:::class, icon(), ## description) are parsed directly into\\n * AST fields by the grammar. Value conversion for stripping quotes, extracting\\n * class names, icon names, and description text happens in valueConverter.ts.\\n *\\n * The ML_COMMENT and NL hidden terminals handle whitespace, comments, and newlines\\n * before the treeView keyword, allowing for empty lines and comments before the\\n * treeView declaration.\\n */"}`)),"TreeViewGrammarGrammar"),Dye,Kgr=R(()=>Dye??(Dye=fo(`{"$type":"Grammar","isDeclared":true,"name":"WardleyGrammar","imports":[],"rules":[{"$type":"ParserRule","entry":true,"name":"Wardley","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"*"},{"$type":"RuleCall","rule":{"$ref":"#/rules@25"},"arguments":[]},{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@42"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@1"},"arguments":[]}],"cardinality":"*"}]},"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"Statement","definition":{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"size","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@2"},"arguments":[]}},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@3"},"arguments":[]}},{"$type":"Assignment","feature":"anchors","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@5"},"arguments":[]}},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@6"},"arguments":[]}},{"$type":"Assignment","feature":"links","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@9"},"arguments":[]}},{"$type":"Assignment","feature":"evolves","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@10"},"arguments":[]}},{"$type":"Assignment","feature":"pipelines","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@11"},"arguments":[]}},{"$type":"Assignment","feature":"notes","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@13"},"arguments":[]}},{"$type":"Assignment","feature":"annotations","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@14"},"arguments":[]}},{"$type":"Assignment","feature":"annotation","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@15"},"arguments":[]}},{"$type":"Assignment","feature":"accelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@17"},"arguments":[]}},{"$type":"Assignment","feature":"deaccelerators","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@18"},"arguments":[]}}]},"entry":false,"parameters":[]},{"$type":"ParserRule","name":"Size","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@26"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"width","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"height","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolution","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@27"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]},{"$type":"Assignment","feature":"stages","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@4"},"arguments":[]}}],"cardinality":"+"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"EvolutionStage","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"@"},{"$type":"Assignment","feature":"boundary","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}}],"cardinality":"?"},{"$type":"Group","elements":[{"$type":"Keyword","value":"/"},{"$type":"Assignment","feature":"secondName","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}}],"cardinality":"?"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Anchor","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@28"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Component","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"decorator","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@8"},"arguments":[]},"cardinality":"?"},{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"inertia","operator":"?=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@31"},"arguments":[]}},{"$type":"Keyword","value":")"}]}],"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Label","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@30"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"negX","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetX","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"negY","operator":"?=","terminal":{"$type":"Keyword","value":"-"},"cardinality":"?"},{"$type":"Assignment","feature":"offsetY","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":"]"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Decorator","definition":{"$type":"Group","elements":[{"$type":"Keyword","value":"("},{"$type":"Assignment","feature":"strategy","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@24"},"arguments":[]}},{"$type":"Keyword","value":")"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Link","definition":{"$type":"Group","elements":[{"$type":"Assignment","feature":"from","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"fromPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"arrow","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@22"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@20"},"arguments":[]}]},"cardinality":"?"},{"$type":"Assignment","feature":"to","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"toPort","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@21"},"arguments":[]},"cardinality":"?"},{"$type":"Assignment","feature":"linkLabel","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@23"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Evolve","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@32"},"arguments":[]},{"$type":"Assignment","feature":"component","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Assignment","feature":"target","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Pipeline","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@33"},"arguments":[]},{"$type":"Assignment","feature":"parent","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"{"},{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"Assignment","feature":"components","operator":"+=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@12"},"arguments":[]},"cardinality":"+"},{"$type":"Keyword","value":"}"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"PipelineComponent","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@29"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"label","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@7"},"arguments":[]},"cardinality":"?"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Note","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@34"},"arguments":[]},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"visibility","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"evolution","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotations","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@35"},"arguments":[]},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Annotation","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@36"},"arguments":[]},{"$type":"Assignment","feature":"number","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@16"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"Assignment","feature":"text","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]}},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"CoordinateValue","dataType":"number","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@48"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Accelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@37"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","name":"Deaccelerator","definition":{"$type":"Group","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@38"},"arguments":[]},{"$type":"Assignment","feature":"name","operator":"=","terminal":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@50"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@51"},"arguments":[]},{"$type":"RuleCall","rule":{"$ref":"#/rules@39"},"arguments":[]}]}},{"$type":"Keyword","value":"["},{"$type":"Assignment","feature":"x","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":","},{"$type":"Assignment","feature":"y","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@19"},"arguments":[]}},{"$type":"Keyword","value":"]"},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"TerminalRule","name":"WARDLEY_NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ARROW","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"->"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_PORT","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<>"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+>"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"+<"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_ARROW","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-->"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"-.->"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":">"},"parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'<>/","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'</","parenthesized":false}],"parenthesized":false},{"$type":"RegexToken","regex":"/\\\\+'[^']*'>/","parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"LINK_LABEL","definition":{"$type":"RegexToken","regex":"/;[^\\\\n\\\\r]+/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRATEGY","definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"build"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"buy"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"outsource"},"parenthesized":false}],"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"market"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_WARDLEY","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"wardley-beta"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_SIZE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"size"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLUTION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolution"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANCHOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"anchor"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_COMPONENT","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"component"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_LABEL","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"label"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_INERTIA","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"inertia"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_EVOLVE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"evolve"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_PIPELINE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"pipeline"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_NOTE","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"note"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATIONS","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotations"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ANNOTATION","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"annotation"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_ACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"accelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"KW_DEACCELERATOR","definition":{"$type":"CharacterRange","left":{"$type":"Keyword","value":"deaccelerator"},"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NAME_WITH_SPACES","definition":{"$type":"RegexToken","regex":"/(?!title\\\\s|accTitle|accDescr)[A-Za-z](?:[A-Za-z0-9_()&]|-(?!>))*(?:[ \\\\t]+[A-Za-z(](?:[A-Za-z0-9_()&]|-(?!>))*)*/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WS","definition":{"$type":"RegexToken","regex":"/[ \\\\t]+/","parenthesized":false},"fragment":false},{"$type":"ParserRule","name":"EOL","dataType":"string","definition":{"$type":"Alternatives","elements":[{"$type":"RuleCall","rule":{"$ref":"#/rules@52"},"arguments":[],"cardinality":"+"},{"$type":"EndOfFile"}]},"entry":false,"fragment":false,"parameters":[]},{"$type":"ParserRule","fragment":true,"name":"TitleAndAccessibilities","definition":{"$type":"Group","elements":[{"$type":"Alternatives","elements":[{"$type":"Assignment","feature":"accDescr","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@44"},"arguments":[]}},{"$type":"Assignment","feature":"accTitle","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@45"},"arguments":[]}},{"$type":"Assignment","feature":"title","operator":"=","terminal":{"$type":"RuleCall","rule":{"$ref":"#/rules@46"},"arguments":[]}}]},{"$type":"RuleCall","rule":{"$ref":"#/rules@41"},"arguments":[]}],"cardinality":"+"},"entry":false,"parameters":[]},{"$type":"TerminalRule","name":"BOOLEAN","type":{"$type":"ReturnType","name":"boolean"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"CharacterRange","left":{"$type":"Keyword","value":"true"},"parenthesized":false},{"$type":"CharacterRange","left":{"$type":"Keyword","value":"false"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_DESCR","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accDescr(?:[\\\\t ]*:([^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)|\\\\s*{([^}]*)})/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ACC_TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*accTitle[\\\\t ]*:(?:[^\\\\n\\\\r]*?(?=%%)|[^\\\\n\\\\r]*)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"TITLE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*title(?:[\\\\t ][^\\\\n\\\\r]*?(?=%%)|[\\\\t ][^\\\\n\\\\r]*|)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"FLOAT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/[0-9]+\\\\.[0-9]+(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"INT","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"RegexToken","regex":"/0|[1-9][0-9]*(?!\\\\.)/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NUMBER","type":{"$type":"ReturnType","name":"number"},"definition":{"$type":"TerminalAlternatives","elements":[{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@47"},"parenthesized":false},{"$type":"TerminalRuleCall","rule":{"$ref":"#/rules@48"},"parenthesized":false}],"parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"STRING","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/\\"([^\\"\\\\\\\\]|\\\\\\\\.)*\\"|'([^'\\\\\\\\]|\\\\\\\\.)*'/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"ID","type":{"$type":"ReturnType","name":"string"},"definition":{"$type":"RegexToken","regex":"/[\\\\w]([-\\\\w]*\\\\w)?/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","name":"NEWLINE","definition":{"$type":"RegexToken","regex":"/\\\\r?\\\\n/","parenthesized":false},"fragment":false,"hidden":false},{"$type":"TerminalRule","hidden":true,"name":"WHITESPACE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]+/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"YAML","definition":{"$type":"RegexToken","regex":"/---[\\\\t ]*\\\\r?\\\\n(?:[\\\\S\\\\s]*?\\\\r?\\\\n)?---(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"DIRECTIVE","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%{[\\\\S\\\\s]*?}%%(?:\\\\r?\\\\n|(?!\\\\S))/","parenthesized":false},"fragment":false},{"$type":"TerminalRule","hidden":true,"name":"SINGLE_LINE_COMMENT","definition":{"$type":"RegexToken","regex":"/[\\\\t ]*%%[^\\\\n\\\\r]*/","parenthesized":false},"fragment":false}],"interfaces":[],"types":[]}`)),"WardleyGrammarGrammar"),Zgr={languageId:"architecture",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Jgr={languageId:"cynefin",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},Qgr={languageId:"eventmodeling",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},e1r={languageId:"gitGraph",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},t1r={languageId:"info",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},r1r={languageId:"packet",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},n1r={languageId:"pie",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},i1r={languageId:"radar",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},a1r={languageId:"railroadAbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},s1r={languageId:"railroadEbnf",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},o1r={languageId:"railroad",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},l1r={languageId:"railroadPeg",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},c1r={languageId:"treemap",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},u1r={languageId:"treeView",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},d1r={languageId:"wardley",fileExtensions:[".mmd",".mermaid"],caseInsensitive:!1,mode:"production"},rc={AstReflection:R(()=>new bje,"AstReflection")},h1r={Grammar:R(()=>Pgr(),"Grammar"),LanguageMetaData:R(()=>Zgr,"LanguageMetaData"),parser:{}},f1r={Grammar:R(()=>_gr(),"Grammar"),LanguageMetaData:R(()=>Jgr,"LanguageMetaData"),parser:{}},p1r={Grammar:R(()=>Bgr(),"Grammar"),LanguageMetaData:R(()=>Qgr,"LanguageMetaData"),parser:{}},g1r={Grammar:R(()=>$gr(),"Grammar"),LanguageMetaData:R(()=>e1r,"LanguageMetaData"),parser:{}},m1r={Grammar:R(()=>Fgr(),"Grammar"),LanguageMetaData:R(()=>t1r,"LanguageMetaData"),parser:{}},U1r={Grammar:R(()=>zgr(),"Grammar"),LanguageMetaData:R(()=>r1r,"LanguageMetaData"),parser:{}},y1r={Grammar:R(()=>Hgr(),"Grammar"),LanguageMetaData:R(()=>n1r,"LanguageMetaData"),parser:{}},b1r={Grammar:R(()=>Vgr(),"Grammar"),LanguageMetaData:R(()=>i1r,"LanguageMetaData"),parser:{}},v1r={Grammar:R(()=>Ggr(),"Grammar"),LanguageMetaData:R(()=>a1r,"LanguageMetaData"),parser:{}},x1r={Grammar:R(()=>Wgr(),"Grammar"),LanguageMetaData:R(()=>s1r,"LanguageMetaData"),parser:{}},w1r={Grammar:R(()=>qgr(),"Grammar"),LanguageMetaData:R(()=>o1r,"LanguageMetaData"),parser:{}},T1r={Grammar:R(()=>jgr(),"Grammar"),LanguageMetaData:R(()=>l1r,"LanguageMetaData"),parser:{}},C1r={Grammar:R(()=>Ygr(),"Grammar"),LanguageMetaData:R(()=>c1r,"LanguageMetaData"),parser:{}},S1r={Grammar:R(()=>Xgr(),"Grammar"),LanguageMetaData:R(()=>u1r,"LanguageMetaData"),parser:{}},k1r={Grammar:R(()=>Kgr(),"Grammar"),LanguageMetaData:R(()=>d1r,"LanguageMetaData"),parser:{}},E1r=/accDescr(?:[\t ]*:([^\n\r]*)|\s*{([^}]*)})/,A1r=/accTitle[\t ]*:([^\n\r]*)/,M1r=/title([\t ][^\n\r]*|)/,R1r={ACC_DESCR:E1r,ACC_TITLE:A1r,TITLE:M1r},p8,wf=(p8=class extends fae{runConverter(e,r,n){let i=this.runCommonConverter(e,r,n);return i===void 0&&(i=this.runCustomConverter(e,r,n)),i===void 0?super.runConverter(e,r,n):i}runCommonConverter(e,r,n){const i=R1r[e.name];if(i===void 0)return;const a=i.exec(r);if(a!==null){if(a[1]!==void 0)return a[1].trim().replace(/[\t ]{2,}/gm," ");if(a[2]!==void 0)return a[2].replace(/^\s*/gm,"").replace(/\s+$/gm,"").replace(/[\t ]{2,}/gm," ").replace(/[\n\r]{2,}/gm,`
`)}}},R(p8,"AbstractMermaidValueConverter"),p8),g8,M3=(g8=class extends wf{runCustomConverter(e,r,n){}},R(g8,"CommonValueConverter"),g8),m8,nc=(m8=class extends eB{constructor(e){super(),this.keywords=new Set(e)}buildKeywordTokens(e,r,n){const i=super.buildKeywordTokens(e,r,n);return i.forEach(a=>{this.keywords.has(a.name)&&a.PATTERN!==void 0&&(a.PATTERN=new RegExp(a.PATTERN.toString()+"(?:(?=%%)|(?!\\S))"))}),i}},R(m8,"AbstractMermaidTokenBuilder"),m8),U8;U8=class extends nc{},R(U8,"CommonTokenBuilder");/*! Bundled license information:
lodash-es/lodash.js:
(**
* @license
* Lodash (Custom Build) <https://lodash.com/>
* Build: `lodash modularize exports="es" -o ./`
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
* Released under MIT license <https://lodash.com/license>
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
*)
*/var y8,I1r=(y8=class extends nc{constructor(){super(["radar-beta"])}},R(y8,"RadarTokenBuilder"),y8),vje={parser:{TokenBuilder:R(()=>new I1r,"TokenBuilder"),ValueConverter:R(()=>new M3,"ValueConverter")}};function xje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),b1r,vje);return e.ServiceRegistry.register(r),{shared:e,Radar:r}}R(xje,"createRadarServices");var b8,L1r=(b8=class extends nc{constructor(){super(["railroad-beta"])}},R(b8,"RailroadTokenBuilder"),b8),Pye=R(t=>{const e=t.slice(1,-1);let r="";for(let n=0;n<e.length;n++){const i=e[n];if(i==="\\"&&n+1<e.length){n++;const a=e[n];switch(a){case"n":r+=`
`;break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=a}continue}r+=i}return r},"decodeEscapedString"),v8,N1r=(v8=class extends wf{runConverter(e,r,n){const i=super.runConverter(e,r,n);if(e.name==="TITLE"&&typeof i=="string"){const a=i.trim();if(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))return Pye(a)}return i}runCustomConverter(e,r,n){if(e.name==="RR_STRING")return Pye(r)}},R(v8,"RailroadValueConverter"),v8),wje={parser:{TokenBuilder:R(()=>new L1r,"TokenBuilder"),ValueConverter:R(()=>new N1r,"ValueConverter")}};function Dae(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),w1r,wje);return e.ServiceRegistry.register(r),{shared:e,Railroad:r}}R(Dae,"createRailroadServices");var x8,O1r=(x8=class extends nc{constructor(){super(["railroad-ebnf-beta"])}},R(x8,"RailroadEbnfTokenBuilder"),x8),_ye=R(t=>{const e=t.slice(1,-1);let r="";for(let n=0;n<e.length;n++){const i=e[n];if(i==="\\"&&n+1<e.length){n++;const a=e[n];switch(a){case"n":r+=`
`;break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=a}continue}r+=i}return r},"decodeEscapedString"),w8,D1r=(w8=class extends wf{runConverter(e,r,n){const i=super.runConverter(e,r,n);if(e.name==="TITLE"&&typeof i=="string"){const a=i.trim();if(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))return _ye(a)}return i}runCustomConverter(e,r,n){if(e.name==="EBNF_STRING")return _ye(r);if(e.name==="EBNF_SPECIAL_SEQUENCE")return r.slice(1,-1).trim()}},R(w8,"RailroadEbnfValueConverter"),w8),Tje={parser:{TokenBuilder:R(()=>new O1r,"TokenBuilder"),ValueConverter:R(()=>new D1r,"ValueConverter")}};function Pae(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),x1r,Tje);return e.ServiceRegistry.register(r),{shared:e,RailroadEbnf:r}}R(Pae,"createRailroadEbnfServices");var T8,P1r=(T8=class extends nc{constructor(){super(["railroad-abnf-beta"])}},R(T8,"RailroadAbnfTokenBuilder"),T8),C8,_1r=(C8=class extends wf{runConverter(e,r,n){const i=super.runConverter(e,r,n);if(e.name==="TITLE"&&typeof i=="string"){const a=i.trim();if(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))return a.slice(1,-1)}return i}runCustomConverter(e,r,n){if(e.name==="ABNF_STRING")return r.slice(1,-1)}},R(C8,"RailroadAbnfValueConverter"),C8),Cje={parser:{TokenBuilder:R(()=>new P1r,"TokenBuilder"),ValueConverter:R(()=>new _1r,"ValueConverter")}};function _ae(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),v1r,Cje);return e.ServiceRegistry.register(r),{shared:e,RailroadAbnf:r}}R(_ae,"createRailroadAbnfServices");var S8,B1r=(S8=class extends nc{constructor(){super(["railroad-peg-beta"])}},R(S8,"RailroadPegTokenBuilder"),S8),Bye=R(t=>{const e=t.slice(1,-1);let r="";for(let n=0;n<e.length;n++){const i=e[n];if(i==="\\"&&n+1<e.length){n++;const a=e[n];switch(a){case"n":r+=`
`;break;case"r":r+="\r";break;case"t":r+=" ";break;default:r+=a}continue}r+=i}return r},"decodeEscapedString"),k8,$1r=(k8=class extends wf{runConverter(e,r,n){const i=super.runConverter(e,r,n);if(e.name==="TITLE"&&typeof i=="string"){const a=i.trim();if(a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'"))return Bye(a)}return i}runCustomConverter(e,r,n){if(e.name==="PEG_STRING")return Bye(r)}},R(k8,"RailroadPegValueConverter"),k8),Sje={parser:{TokenBuilder:R(()=>new B1r,"TokenBuilder"),ValueConverter:R(()=>new $1r,"ValueConverter")}};function Bae(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),T1r,Sje);return e.ServiceRegistry.register(r),{shared:e,RailroadPeg:r}}R(Bae,"createRailroadPegServices");var E8,F1r=(E8=class extends nc{constructor(){super(["treemap"])}},R(E8,"TreemapTokenBuilder"),E8),z1r=/classDef\s+([A-Z_a-z]\w+)(?:\s+([^\n\r;]*))?;?/,A8,H1r=(A8=class extends wf{runCustomConverter(e,r,n){if(e.name==="NUMBER2")return parseFloat(r.replace(/,/g,""));if(e.name==="SEPARATOR")return r.substring(1,r.length-1);if(e.name==="STRING2")return r.substring(1,r.length-1);if(e.name==="INDENTATION")return r.length;if(e.name==="ClassDef"){if(typeof r!="string")return r;const i=z1r.exec(r);if(i)return{$type:"ClassDefStatement",className:i[1],styleText:i[2]||void 0}}}},R(A8,"TreemapValueConverter"),A8);function kje(t){const e=t.validation.TreemapValidator,r=t.validation.ValidationRegistry;if(r){const n={Treemap:e.checkSingleRoot.bind(e)};r.register(n,e)}}R(kje,"registerValidationChecks");var M8,V1r=(M8=class{checkSingleRoot(e,r){let n;for(const i of e.TreemapRows)i.item&&(n===void 0&&i.indent===void 0?n=0:i.indent===void 0?r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}):n!==void 0&&n>=parseInt(i.indent,10)&&r("error","Multiple root nodes are not allowed in a treemap.",{node:i,property:"item"}))}},R(M8,"TreemapValidator"),M8),Eje={parser:{TokenBuilder:R(()=>new F1r,"TokenBuilder"),ValueConverter:R(()=>new H1r,"ValueConverter")},validation:{TreemapValidator:R(()=>new V1r,"TreemapValidator")}};function Aje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),C1r,Eje);return e.ServiceRegistry.register(r),kje(r),{shared:e,Treemap:r}}R(Aje,"createTreemapServices");var R8,G1r=(R8=class extends wf{runCustomConverter(e,r,n){switch(e.name.toUpperCase()){case"LINK_LABEL":return r.substring(1).trim();default:return}}},R(R8,"WardleyValueConverter"),R8),Mje={parser:{ValueConverter:R(()=>new G1r,"ValueConverter")}};function Rje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),k1r,Mje);return e.ServiceRegistry.register(r),{shared:e,Wardley:r}}R(Rje,"createWardleyServices");var I8,W1r=(I8=class extends nc{constructor(){super(["cynefin-beta"])}},R(I8,"CynefinTokenBuilder"),I8),Ije={parser:{TokenBuilder:R(()=>new W1r,"TokenBuilder"),ValueConverter:R(()=>new M3,"ValueConverter")}};function Lje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),f1r,Ije);return e.ServiceRegistry.register(r),{shared:e,Cynefin:r}}R(Lje,"createCynefinServices");var L8,q1r=(L8=class extends nc{constructor(){super(["gitGraph"])}},R(L8,"GitGraphTokenBuilder"),L8),Nje={parser:{TokenBuilder:R(()=>new q1r,"TokenBuilder"),ValueConverter:R(()=>new M3,"ValueConverter")}};function Oje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),g1r,Nje);return e.ServiceRegistry.register(r),{shared:e,GitGraph:r}}R(Oje,"createGitGraphServices");var N8,j1r=(N8=class extends nc{constructor(){super(["info","showInfo"])}},R(N8,"InfoTokenBuilder"),N8),Dje={parser:{TokenBuilder:R(()=>new j1r,"TokenBuilder"),ValueConverter:R(()=>new M3,"ValueConverter")}};function Pje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),m1r,Dje);return e.ServiceRegistry.register(r),{shared:e,Info:r}}R(Pje,"createInfoServices");var O8,Y1r=(O8=class extends nc{constructor(){super(["packet"])}},R(O8,"PacketTokenBuilder"),O8),_je={parser:{TokenBuilder:R(()=>new Y1r,"TokenBuilder"),ValueConverter:R(()=>new M3,"ValueConverter")}};function Bje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),U1r,_je);return e.ServiceRegistry.register(r),{shared:e,Packet:r}}R(Bje,"createPacketServices");var D8,X1r=(D8=class extends nc{constructor(){super(["pie","showData"])}},R(D8,"PieTokenBuilder"),D8),P8,K1r=(P8=class extends wf{runCustomConverter(e,r,n){if(e.name==="PIE_SECTION_LABEL")return r.replace(/"/g,"").trim()}},R(P8,"PieValueConverter"),P8),$je={parser:{TokenBuilder:R(()=>new X1r,"TokenBuilder"),ValueConverter:R(()=>new K1r,"ValueConverter")}};function Fje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),y1r,$je);return e.ServiceRegistry.register(r),{shared:e,Pie:r}}R(Fje,"createPieServices");var _8,Z1r=(_8=class extends wf{runCustomConverter(e,r,n){if(e.name==="INDENTATION")return(r==null?void 0:r.length)||0;if(e.name==="QUOTED_NAME")return r.substring(1,r.length-1);if(e.name==="BARE_NAME")return r.replace(/[\t ]+$/,"");if(e.name==="CLASS_ANNOTATION")return r.trim().substring(3).trim();if(e.name==="ICON_ANNOTATION"){const i=r.trim();return i.substring(5,i.length-1)}if(e.name==="DESC_ANNOTATION")return r.trim().substring(2).trim()}},R(_8,"TreeViewValueConverter"),_8),B8,J1r=(B8=class extends nc{constructor(){super(["treeView-beta"])}},R(B8,"TreeViewTokenBuilder"),B8),zje={parser:{TokenBuilder:R(()=>new J1r,"TokenBuilder"),ValueConverter:R(()=>new Z1r,"ValueConverter")}};function Hje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),S1r,zje);return e.ServiceRegistry.register(r),{shared:e,TreeView:r}}R(Hje,"createTreeViewServices");var $8,Q1r=($8=class extends nc{constructor(){super(["architecture"])}},R($8,"ArchitectureTokenBuilder"),$8),F8,emr=(F8=class extends wf{runCustomConverter(e,r,n){if(e.name==="ARCH_ICON")return r.replace(/[()]/g,"").trim();if(e.name==="ARCH_TEXT_ICON")return r.replace(/["()]/g,"");if(e.name==="ARCH_TITLE"){let i=r.replace(/^\[|]$/g,"").trim();return(i.startsWith('"')&&i.endsWith('"')||i.startsWith("'")&&i.endsWith("'"))&&(i=i.slice(1,-1),i=i.replace(/\\"/g,'"').replace(/\\'/g,"'")),i.trim()}}},R(F8,"ArchitectureValueConverter"),F8),Vje={parser:{TokenBuilder:R(()=>new Q1r,"TokenBuilder"),ValueConverter:R(()=>new emr,"ValueConverter")}};function Gje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),h1r,Vje);return e.ServiceRegistry.register(r),{shared:e,Architecture:r}}R(Gje,"createArchitectureServices");var z8,tmr=(z8=class extends nc{constructor(){super(["eventmodeling"])}},R(z8,"EventModelingTokenBuilder"),z8),$ye=new Set(["cmd","command"]),Fye=new Set(["evt","event"]),dV=new Set(["rmo","readmodel"]),zye=new Set(["pcr","processor"]),Hye=new Set(["ui"]);function Wje(t){const e=t.validation.EventModelingValidator,r=t.validation.ValidationRegistry;if(r){const n={EmTimeFrame:e.checkSourceFrameTypes.bind(e),EmResetFrame:e.checkSourceFrameTypes.bind(e)};r.register(n,e)}}R(Wje,"registerValidationChecks");var H8,rmr=(H8=class{checkSourceFrameTypes(e,r){e.sourceFrames.length!==0&&($ye.has(e.modelEntityType)?this.validateSources(e,new Set([...Hye,...zye]),"command","ui or processor",r):Fye.has(e.modelEntityType)?this.validateSources(e,$ye,"event","command",r):dV.has(e.modelEntityType)?this.validateSources(e,Fye,"read model","event",r):zye.has(e.modelEntityType)?this.validateSources(e,dV,"processor","read model",r):Hye.has(e.modelEntityType)&&this.validateSources(e,dV,"ui","read model",r))}validateSources(e,r,n,i,a){for(const s of e.sourceFrames){const o=s.ref;o!==void 0&&!r.has(o.modelEntityType)&&a("error",`A ${n} can only receive input from a ${i}, not from '${o.modelEntityType}'.`,{node:e,property:"sourceFrames"})}}},R(H8,"EventModelingValidator"),H8),qje={parser:{TokenBuilder:R(()=>new tmr,"TokenBuilder"),ValueConverter:R(()=>new M3,"ValueConverter")},validation:{EventModelingValidator:R(()=>new rmr,"EventModelingValidator")}};function jje(t=$o){const e=Yn(ho(t),rc),r=Yn(uo({shared:e}),p1r,qje);return e.ServiceRegistry.register(r),Wje(r),{shared:e,EventModel:r}}R(jje,"createEventModelingServices");var wo={},nmr={info:R(async()=>{const{createInfoServices:t}=await Mr(async()=>{const{createInfoServices:r}=await Promise.resolve().then(()=>_xr);return{createInfoServices:r}},void 0,import.meta.url),e=t().Info.parser.LangiumParser;wo.info=e},"info"),packet:R(async()=>{const{createPacketServices:t}=await Mr(async()=>{const{createPacketServices:r}=await Promise.resolve().then(()=>Bxr);return{createPacketServices:r}},void 0,import.meta.url),e=t().Packet.parser.LangiumParser;wo.packet=e},"packet"),pie:R(async()=>{const{createPieServices:t}=await Mr(async()=>{const{createPieServices:r}=await Promise.resolve().then(()=>$xr);return{createPieServices:r}},void 0,import.meta.url),e=t().Pie.parser.LangiumParser;wo.pie=e},"pie"),treeView:R(async()=>{const{createTreeViewServices:t}=await Mr(async()=>{const{createTreeViewServices:r}=await Promise.resolve().then(()=>Fxr);return{createTreeViewServices:r}},void 0,import.meta.url),e=t().TreeView.parser.LangiumParser;wo.treeView=e},"treeView"),architecture:R(async()=>{const{createArchitectureServices:t}=await Mr(async()=>{const{createArchitectureServices:r}=await Promise.resolve().then(()=>zxr);return{createArchitectureServices:r}},void 0,import.meta.url),e=t().Architecture.parser.LangiumParser;wo.architecture=e},"architecture"),gitGraph:R(async()=>{const{createGitGraphServices:t}=await Mr(async()=>{const{createGitGraphServices:r}=await Promise.resolve().then(()=>Hxr);return{createGitGraphServices:r}},void 0,import.meta.url),e=t().GitGraph.parser.LangiumParser;wo.gitGraph=e},"gitGraph"),eventmodeling:R(async()=>{const{createEventModelingServices:t}=await Mr(async()=>{const{createEventModelingServices:r}=await Promise.resolve().then(()=>Vxr);return{createEventModelingServices:r}},void 0,import.meta.url),e=t().EventModel.parser.LangiumParser;wo.eventmodeling=e},"eventmodeling"),radar:R(async()=>{const{createRadarServices:t}=await Mr(async()=>{const{createRadarServices:r}=await Promise.resolve().then(()=>Gxr);return{createRadarServices:r}},void 0,import.meta.url),e=t().Radar.parser.LangiumParser;wo.radar=e},"radar"),railroad:R(async()=>{const{createRailroadServices:t}=await Mr(async()=>{const{createRailroadServices:r}=await Promise.resolve().then(()=>Wxr);return{createRailroadServices:r}},void 0,import.meta.url),e=t().Railroad.parser.LangiumParser;wo.railroad=e},"railroad"),railroadEbnf:R(async()=>{const{createRailroadEbnfServices:t}=await Mr(async()=>{const{createRailroadEbnfServices:r}=await Promise.resolve().then(()=>qxr);return{createRailroadEbnfServices:r}},void 0,import.meta.url),e=t().RailroadEbnf.parser.LangiumParser;wo.railroadEbnf=e},"railroadEbnf"),railroadAbnf:R(async()=>{const{createRailroadAbnfServices:t}=await Mr(async()=>{const{createRailroadAbnfServices:r}=await Promise.resolve().then(()=>jxr);return{createRailroadAbnfServices:r}},void 0,import.meta.url),e=t().RailroadAbnf.parser.LangiumParser;wo.railroadAbnf=e},"railroadAbnf"),railroadPeg:R(async()=>{const{createRailroadPegServices:t}=await Mr(async()=>{const{createRailroadPegServices:r}=await Promise.resolve().then(()=>Yxr);return{createRailroadPegServices:r}},void 0,import.meta.url),e=t().RailroadPeg.parser.LangiumParser;wo.railroadPeg=e},"railroadPeg"),treemap:R(async()=>{const{createTreemapServices:t}=await Mr(async()=>{const{createTreemapServices:r}=await Promise.resolve().then(()=>Xxr);return{createTreemapServices:r}},void 0,import.meta.url),e=t().Treemap.parser.LangiumParser;wo.treemap=e},"treemap"),wardley:R(async()=>{const{createWardleyServices:t}=await Mr(async()=>{const{createWardleyServices:r}=await Promise.resolve().then(()=>Kxr);return{createWardleyServices:r}},void 0,import.meta.url),e=t().Wardley.parser.LangiumParser;wo.wardley=e},"wardley"),cynefin:R(async()=>{const{createCynefinServices:t}=await Mr(async()=>{const{createCynefinServices:r}=await Promise.resolve().then(()=>Zxr);return{createCynefinServices:r}},void 0,import.meta.url),e=t().Cynefin.parser.LangiumParser;wo.cynefin=e},"cynefin")};async function Qu(t,e){const r=nmr[t];if(!r)throw new Error(`Unknown diagram type: ${t}`);wo[t]||await r();const i=wo[t].parse(e);if(i.lexerErrors.length>0||i.parserErrors.length>0)throw new nk(i);return i.value}R(Qu,"parse");var V8,nk=(V8=class extends Error{constructor(e){const r=e.lexerErrors.map(i=>{const a=i.line!==void 0&&!isNaN(i.line)?i.line:"?",s=i.column!==void 0&&!isNaN(i.column)?i.column:"?";return`Lexer error on line ${a}, column ${s}: ${i.message}`}).join(`
`),n=e.parserErrors.map(i=>{const a=i.token.startLine!==void 0&&!isNaN(i.token.startLine)?i.token.startLine:"?",s=i.token.startColumn!==void 0&&!isNaN(i.token.startColumn)?i.token.startColumn:"?";return`Parse error on line ${a}, column ${s}: ${i.message}`}).join(`
`);super(`Parsing failed: ${r} ${n}`),this.result=e}},R(V8,"MermaidParseError"),V8),Ai={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},imr=An.gitGraph,ay=x(()=>na({...imr,...xr().gitGraph}),"getConfig"),er=new Yre(()=>{const t=ay(),e=t.mainBranchName,r=t.mainBranchOrder;return{mainBranchName:e,commits:new Map,head:null,branchConfig:new Map([[e,{name:e,order:r}]]),branches:new Map([[e,null]]),currBranch:e,direction:"LR",seq:0,options:{}}});function cB(){return cTe({length:7})}x(cB,"getID");function Yje(t,e){const r=Object.create(null);return t.reduce((n,i)=>{const a=e(i);return r[a]||(r[a]=!0,n.push(i)),n},[])}x(Yje,"uniqBy");var amr=x(function(t){er.records.direction=t},"setDirection"),smr=x(function(t){he.debug("options str",t),t=t==null?void 0:t.trim(),t=t||"{}";try{er.records.options=JSON.parse(t)}catch(e){he.error("error while parsing gitGraph options",e.message)}},"setOptions"),omr=x(function(){return er.records.options},"getOptions"),lmr=x(function(t){let e=t.msg,r=t.id;const n=t.type;let i=t.tags;he.info("commit",e,r,n,i),he.debug("Entering commit:",e,r,n,i);const a=ay();r=Vt.sanitizeText(r,a),e=Vt.sanitizeText(e,a),i=i==null?void 0:i.map(o=>Vt.sanitizeText(o,a));const s={id:r||er.records.seq+"-"+cB(),message:e,seq:er.records.seq++,type:n??Ai.NORMAL,tags:i??[],parents:er.records.head==null?[]:[er.records.head.id],branch:er.records.currBranch};er.records.head=s,he.info("main branch",a.mainBranchName),er.records.commits.has(s.id)&&he.warn(`Commit ID ${s.id} already exists`),er.records.commits.set(s.id,s),er.records.branches.set(er.records.currBranch,s.id),he.debug("in pushCommit "+s.id)},"commit"),cmr=x(function(t){let e=t.name;const r=t.order;if(e=Vt.sanitizeText(e,ay()),er.records.branches.has(e))throw 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 ${e}")`);er.records.branches.set(e,er.records.head!=null?er.records.head.id:null),er.records.branchConfig.set(e,{name:e,order:r}),Xje(e),he.debug("in createBranch")},"branch"),umr=x(t=>{let e=t.branch,r=t.id;const n=t.type,i=t.tags,a=ay();e=Vt.sanitizeText(e,a),r&&(r=Vt.sanitizeText(r,a));const s=er.records.branches.get(er.records.currBranch),o=er.records.branches.get(e),l=s?er.records.commits.get(s):void 0,u=o?er.records.commits.get(o):void 0;if(l&&u&&l.branch===e)throw new Error(`Cannot merge branch '${e}' into itself.`);if(er.records.currBranch===e){const f=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(l===void 0||!l){const f=new Error(`Incorrect usage of "merge". Current branch (${er.records.currBranch})has no commits`);throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["commit"]},f}if(!er.records.branches.has(e)){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") does not exist");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:[`branch ${e}`]},f}if(u===void 0||!u){const f=new Error('Incorrect usage of "merge". Branch to be merged ('+e+") has no commits");throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:['"commit"']},f}if(l===u){const f=new Error('Incorrect usage of "merge". Both branches have same head');throw f.hash={text:`merge ${e}`,token:`merge ${e}`,expected:["branch abc"]},f}if(r&&er.records.commits.has(r)){const f=new Error('Incorrect usage of "merge". Commit with id:'+r+" already exists, use different custom id");throw f.hash={text:`merge ${e} ${r} ${n} ${i==null?void 0:i.join(" ")}`,token:`merge ${e} ${r} ${n} ${i==null?void 0:i.join(" ")}`,expected:[`merge ${e} ${r}_UNIQUE ${n} ${i==null?void 0:i.join(" ")}`]},f}const d=o||"",h={id:r||`${er.records.seq}-${cB()}`,message:`merged branch ${e} into ${er.records.currBranch}`,seq:er.records.seq++,parents:er.records.head==null?[]:[er.records.head.id,d],branch:er.records.currBranch,type:Ai.MERGE,customType:n,customId:!!r,tags:i??[]};er.records.head=h,er.records.commits.set(h.id,h),er.records.branches.set(er.records.currBranch,h.id),he.debug(er.records.branches),he.debug("in mergeBranch")},"merge"),dmr=x(function(t){let e=t.id,r=t.targetId,n=t.tags,i=t.parent;he.debug("Entering cherryPick:",e,r,n);const a=ay();if(e=Vt.sanitizeText(e,a),r=Vt.sanitizeText(r,a),n=n==null?void 0:n.map(l=>Vt.sanitizeText(l,a)),i=Vt.sanitizeText(i,a),!e||!er.records.commits.has(e)){const l=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw l.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},l}const s=er.records.commits.get(e);if(s===void 0||!s)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(i&&!(Array.isArray(s.parents)&&s.parents.includes(i)))throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.");const o=s.branch;if(s.type===Ai.MERGE&&!i)throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.");if(!r||!er.records.commits.has(r)){if(o===er.records.currBranch){const h=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw h.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},h}const l=er.records.branches.get(er.records.currBranch);if(l===void 0||!l){const h=new Error(`Incorrect usage of "cherry-pick". Current branch (${er.records.currBranch})has no commits`);throw h.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},h}const u=er.records.commits.get(l);if(u===void 0||!u){const h=new Error(`Incorrect usage of "cherry-pick". Current branch (${er.records.currBranch})has no commits`);throw h.hash={text:`cherryPick ${e} ${r}`,token:`cherryPick ${e} ${r}`,expected:["cherry-pick abc"]},h}const d={id:er.records.seq+"-"+cB(),message:`cherry-picked ${s==null?void 0:s.message} into ${er.records.currBranch}`,seq:er.records.seq++,parents:er.records.head==null?[]:[er.records.head.id,s.id],branch:er.records.currBranch,type:Ai.CHERRY_PICK,tags:n?n.filter(Boolean):[`cherry-pick:${s.id}${s.type===Ai.MERGE?`|parent:${i}`:""}`]};er.records.head=d,er.records.commits.set(d.id,d),er.records.branches.set(er.records.currBranch,d.id),he.debug(er.records.branches),he.debug("in cherryPick")}},"cherryPick"),Xje=x(function(t){if(t=Vt.sanitizeText(t,ay()),er.records.branches.has(t)){er.records.currBranch=t;const e=er.records.branches.get(er.records.currBranch);e===void 0||!e?er.records.head=null:er.records.head=er.records.commits.get(e)??null}else{const e=new Error(`Trying to checkout branch which is not yet created. (Help try using "branch ${t}")`);throw e.hash={text:`checkout ${t}`,token:`checkout ${t}`,expected:[`branch ${t}`]},e}},"checkout");function UK(t,e,r){const n=t.indexOf(e);n===-1?t.push(r):t.splice(n,1,r)}x(UK,"upsert");function $ae(t){const e=t.reduce((i,a)=>i.seq>a.seq?i:a,t[0]);let r="";t.forEach(function(i){i===e?r+=" *":r+=" |"});const n=[r,e.id,e.seq];for(const i in er.records.branches)er.records.branches.get(i)===e.id&&n.push(i);if(he.debug(n.join(" ")),e.parents&&e.parents.length==2&&e.parents[0]&&e.parents[1]){const i=er.records.commits.get(e.parents[0]);UK(t,e,i),e.parents[1]&&t.push(er.records.commits.get(e.parents[1]))}else{if(e.parents.length==0)return;if(e.parents[0]){const i=er.records.commits.get(e.parents[0]);UK(t,e,i)}}t=Yje(t,i=>i.id),$ae(t)}x($ae,"prettyPrintCommitHistory");var hmr=x(function(){he.debug(er.records.commits);const t=Kje()[0];$ae([t])},"prettyPrint"),fmr=x(function(){er.reset(),Di()},"clear"),pmr=x(function(){return[...er.records.branchConfig.values()].map((e,r)=>e.order!==null&&e.order!==void 0?e:{...e,order:parseFloat(`0.${r}`)}).sort((e,r)=>(e.order??0)-(r.order??0)).map(({name:e})=>({name:e}))},"getBranchesAsObjArray"),gmr=x(function(){return er.records.branches},"getBranches"),mmr=x(function(){return er.records.commits},"getCommits"),Kje=x(function(){const t=[...er.records.commits.values()];return t.forEach(function(e){he.debug(e.id)}),t.sort((e,r)=>e.seq-r.seq),t},"getCommitsArray"),Umr=x(function(){return er.records.currBranch},"getCurrentBranch"),ymr=x(function(){return er.records.direction},"getDirection"),bmr=x(function(){return er.records.head},"getHead"),Zje={commitType:Ai,getConfig:ay,setDirection:amr,setOptions:smr,getOptions:omr,commit:lmr,branch:cmr,merge:umr,cherryPick:dmr,checkout:Xje,prettyPrint:hmr,clear:fmr,getBranchesAsObjArray:pmr,getBranches:gmr,getCommits:mmr,getCommitsArray:Kje,getCurrentBranch:Umr,getDirection:ymr,getHead:bmr,setAccTitle:qi,getAccTitle:ia,getAccDescription:sa,setAccDescription:aa,setDiagramTitle:ra,getDiagramTitle:Yi},vmr=x((t,e)=>{ec(t,e),t.dir&&e.setDirection(t.dir);for(const r of t.statements)xmr(r,e)},"populate"),xmr=x((t,e)=>{const n={Commit:x(i=>e.commit(wmr(i)),"Commit"),Branch:x(i=>e.branch(Tmr(i)),"Branch"),Merge:x(i=>e.merge(Cmr(i)),"Merge"),Checkout:x(i=>e.checkout(Smr(i)),"Checkout"),CherryPicking:x(i=>e.cherryPick(kmr(i)),"CherryPicking")}[t.$type];n?n(t):he.error(`Unknown statement type: ${t.$type}`)},"parseStatement"),wmr=x(t=>({id:t.id,msg:t.message??"",type:t.type!==void 0?Ai[t.type]:Ai.NORMAL,tags:t.tags??void 0}),"parseCommit"),Tmr=x(t=>({name:t.name,order:t.order??0}),"parseBranch"),Cmr=x(t=>({branch:t.branch,id:t.id??"",type:t.type!==void 0?Ai[t.type]:void 0,tags:t.tags??void 0}),"parseMerge"),Smr=x(t=>t.branch,"parseCheckout"),kmr=x(t=>{var r;return{id:t.id,targetId:"",tags:((r=t.tags)==null?void 0:r.length)===0?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),Emr={parse:x(async t=>{const e=await Qu("gitGraph",t);he.debug(e),vmr(e,Zje)},"parse")},yg=10,bg=40,yh=4,Kf=2,tU=8,uB=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),yK=12,Fae=new Set(["redux-color","redux-dark-color"]),Amr=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),rU=x((t,e,r=!1)=>r&&t>0?(t-1)%(e-1)+1:t%e,"calcColorIndex"),yc=new Map,Tc=new Map,iO=30,vx=new Map,aO=[],Zf=0,Pn="LR",Mmr=x(()=>{yc.clear(),Tc.clear(),vx.clear(),Zf=0,aO=[],Pn="LR"},"clear"),Jje=x(t=>{const e=document.createElementNS("http://www.w3.org/2000/svg","text");return(typeof t=="string"?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(n=>{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=n.trim(),e.appendChild(i)}),e},"drawText"),Qje=x(t=>{let e,r,n;return Pn==="BT"?(r=x((i,a)=>i<=a,"comparisonFunc"),n=1/0):(r=x((i,a)=>i>=a,"comparisonFunc"),n=0),t.forEach(i=>{var s,o;const a=Pn==="TB"||Pn=="BT"?(s=Tc.get(i))==null?void 0:s.y:(o=Tc.get(i))==null?void 0:o.x;a!==void 0&&r(a,n)&&(e=i,n=a)}),e},"findClosestParent"),Rmr=x(t=>{let e="",r=1/0;return t.forEach(n=>{const i=Tc.get(n).y;i<=r&&(e=n,r=i)}),e||void 0},"findClosestParentBT"),Imr=x((t,e,r)=>{let n=r,i=r;const a=[];t.forEach(s=>{const o=e.get(s);if(!o)throw new Error(`Commit not found for key ${s}`);o.parents.length?(n=Nmr(o),i=Math.max(n,i)):a.push(o),Omr(o,n)}),n=i,a.forEach(s=>{Dmr(s,n,r)}),t.forEach(s=>{const o=e.get(s);if(o!=null&&o.parents.length){const l=Rmr(o.parents);n=Tc.get(l).y-bg,n<=i&&(i=n);const u=yc.get(o.branch).pos,d=n-yg;Tc.set(o.id,{x:u,y:d})}})},"setParallelBTPos"),Lmr=x(t=>{var n;const e=Qje(t.parents.filter(i=>i!==null));if(!e)throw new Error(`Closest parent not found for commit ${t.id}`);const r=(n=Tc.get(e))==null?void 0:n.y;if(r===void 0)throw new Error(`Closest parent position not found for commit ${t.id}`);return r},"findClosestParentPos"),Nmr=x(t=>Lmr(t)+bg,"calculateCommitPosition"),Omr=x((t,e)=>{const r=yc.get(t.branch);if(!r)throw new Error(`Branch not found for commit ${t.id}`);const n=r.pos,i=e+yg;return Tc.set(t.id,{x:n,y:i}),{x:n,y:i}},"setCommitPosition"),Dmr=x((t,e,r)=>{const n=yc.get(t.branch);if(!n)throw new Error(`Branch not found for commit ${t.id}`);const i=e+r,a=n.pos;Tc.set(t.id,{x:a,y:i})},"setRootPosition"),Pmr=x((t,e,r,n,i,a)=>{const{theme:s}=Ve(),o=uB.has(s??""),l=Fae.has(s??""),u=Amr.has(s??"");if(a===Ai.HIGHLIGHT)t.append("rect").attr("x",r.x-10+(o?3:0)).attr("y",r.y-10+(o?3:0)).attr("width",o?14:20).attr("height",o?14:20).attr("class",`commit ${e.id} commit-highlight${rU(i,tU,l)} ${n}-outer`),t.append("rect").attr("x",r.x-6+(o?2:0)).attr("y",r.y-6+(o?2:0)).attr("width",o?8:12).attr("height",o?8:12).attr("class",`commit ${e.id} commit${rU(i,tU,l)} ${n}-inner`);else if(a===Ai.CHERRY_PICK)t.append("circle").attr("cx",r.x).attr("cy",r.y).attr("r",o?7:10).attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x-3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("circle").attr("cx",r.x+3).attr("cy",r.y+2).attr("r",o?2.5:2.75).attr("fill",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x+3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`),t.append("line").attr("x1",r.x-3).attr("y1",r.y+1).attr("x2",r.x).attr("y2",r.y-5).attr("stroke",u?"#000000":"#fff").attr("class",`commit ${e.id} ${n}`);else{const d=t.append("circle");if(d.attr("cx",r.x),d.attr("cy",r.y),d.attr("r",o?7:10),d.attr("class",`commit ${e.id} commit${rU(i,tU,l)}`),a===Ai.MERGE){const h=t.append("circle");h.attr("cx",r.x),h.attr("cy",r.y),h.attr("r",o?5:6),h.attr("class",`commit ${n} ${e.id} commit${rU(i,tU,l)}`)}if(a===Ai.REVERSE){const h=t.append("path"),f=o?4:5;h.attr("d",`M ${r.x-f},${r.y-f}L${r.x+f},${r.y+f}M${r.x-f},${r.y+f}L${r.x+f},${r.y-f}`).attr("class",`commit ${n} ${e.id} commit${rU(i,tU,l)}`)}}},"drawCommitBullet"),_mr=x((t,e,r,n,i)=>{var a;if(e.type!==Ai.CHERRY_PICK&&(e.customId&&e.type===Ai.MERGE||e.type!==Ai.MERGE)&&i.showCommitLabel){const s=t.append("g"),o=s.insert("rect").attr("class","commit-label-bkg"),l=s.append("text").attr("x",n).attr("y",r.y+25).attr("class","commit-label").text(e.id),u=(a=l.node())==null?void 0:a.getBBox();if(u&&(o.attr("x",r.posWithOffset-u.width/2-Kf).attr("y",r.y+13.5).attr("width",u.width+2*Kf).attr("height",u.height+2*Kf),Pn==="TB"||Pn==="BT"?(o.attr("x",r.x-(u.width+4*yh+5)).attr("y",r.y-12),l.attr("x",r.x-(u.width+4*yh)).attr("y",r.y+u.height-12)):l.attr("x",r.posWithOffset-u.width/2),i.rotateCommitLabel))if(Pn==="TB"||Pn==="BT")l.attr("transform","rotate(-45, "+r.x+", "+r.y+")"),o.attr("transform","rotate(-45, "+r.x+", "+r.y+")");else{const d=-7.5-(u.width+10)/25*9.5,h=10+u.width/25*8.5;s.attr("transform","translate("+d+", "+h+") rotate(-45, "+n+", "+r.y+")")}}},"drawCommitLabel"),Bmr=x((t,e,r,n)=>{var i;if(e.tags.length>0){let a=0,s=0,o=0;const l=[];for(const u of e.tags.reverse()){const d=t.insert("polygon"),h=t.append("circle"),f=t.append("text").attr("y",r.y-16-a).attr("class","tag-label").text(u),p=(i=f.node())==null?void 0:i.getBBox();if(!p)throw new Error("Tag bbox not found");s=Math.max(s,p.width),o=Math.max(o,p.height),f.attr("x",r.posWithOffset-p.width/2),l.push({tag:f,hole:h,rect:d,yOffset:a}),a+=20}for(const{tag:u,hole:d,rect:h,yOffset:f}of l){const p=o/2,g=r.y-19.2-f;if(h.attr("class","tag-label-bkg").attr("points",`
${n-s/2-yh/2},${g+Kf}
${n-s/2-yh/2},${g-Kf}
${r.posWithOffset-s/2-yh},${g-p-Kf}
${r.posWithOffset+s/2+yh},${g-p-Kf}
${r.posWithOffset+s/2+yh},${g+p+Kf}
${r.posWithOffset-s/2-yh},${g+p+Kf}`),d.attr("cy",g).attr("cx",n-s/2+yh/2).attr("r",1.5).attr("class","tag-hole"),Pn==="TB"||Pn==="BT"){const m=n+f;h.attr("class","tag-label-bkg").attr("points",`
${r.x},${m+2}
${r.x},${m-2}
${r.x+yg},${m-p-2}
${r.x+yg+s+4},${m-p-2}
${r.x+yg+s+4},${m+p+2}
${r.x+yg},${m+p+2}`).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),d.attr("cx",r.x+yh/2).attr("cy",m).attr("transform","translate(12,12) rotate(45, "+r.x+","+n+")"),u.attr("x",r.x+5).attr("y",m+3).attr("transform","translate(14,14) rotate(45, "+r.x+","+n+")")}}}},"drawCommitTags"),$mr=x(t=>{switch(t.customType??t.type){case Ai.NORMAL:return"commit-normal";case Ai.REVERSE:return"commit-reverse";case Ai.HIGHLIGHT:return"commit-highlight";case Ai.MERGE:return"commit-merge";case Ai.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),Fmr=x((t,e,r,n)=>{const i={x:0,y:0};if(t.parents.length>0){const a=Qje(t.parents);if(a){const s=n.get(a)??i;return e==="TB"?s.y+bg:e==="BT"?(n.get(t.id)??i).y-bg:s.x+bg}}else return e==="TB"?iO:e==="BT"?(n.get(t.id)??i).y-bg:0;return 0},"calculatePosition"),zmr=x((t,e,r)=>{var l,u;const n=Pn==="BT"&&r?e:e+yg,i=(l=yc.get(t.branch))==null?void 0:l.pos,a=Pn==="TB"||Pn==="BT"?(u=yc.get(t.branch))==null?void 0:u.pos:n;if(a===void 0||i===void 0)throw new Error(`Position were undefined for commit ${t.id}`);const s=uB.has(Ve().theme??""),o=Pn==="TB"||Pn==="BT"?n:i+(s?yK/2+1:-2);return{x:a,y:o,posWithOffset:n}},"getCommitPosition"),Vye=x((t,e,r,n)=>{const i=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let s=Pn==="TB"||Pn==="BT"?iO:0;const o=[...e.keys()],l=n.parallelCommits??!1,u=x((h,f)=>{var m,U;const p=(m=e.get(h))==null?void 0:m.seq,g=(U=e.get(f))==null?void 0:U.seq;return p!==void 0&&g!==void 0?p-g:0},"sortKeys");let d=o.sort(u);Pn==="BT"&&(l&&Imr(d,e,s),d=d.reverse()),d.forEach(h=>{var g;const f=e.get(h);if(!f)throw new Error(`Commit not found for key ${h}`);l&&(s=Fmr(f,Pn,s,Tc));const p=zmr(f,s,l);if(r){const m=$mr(f),U=f.customType??f.type,y=((g=yc.get(f.branch))==null?void 0:g.index)??0;Pmr(i,f,p,m,y,U),_mr(a,f,p,s,n),Bmr(a,f,p,s)}Pn==="TB"||Pn==="BT"?Tc.set(f.id,{x:p.x,y:p.posWithOffset}):Tc.set(f.id,{x:p.posWithOffset,y:p.y}),s=Pn==="BT"&&l?s+bg:s+bg+yg,s>Zf&&(Zf=s)})},"drawCommits"),Hmr=x((t,e,r,n,i)=>{const s=(Pn==="TB"||Pn==="BT"?r.x<n.x:r.y<n.y)?e.branch:t.branch,o=x(u=>u.branch===s,"isOnBranchToGetCurve"),l=x(u=>u.seq>t.seq&&u.seq<e.seq,"isBetweenCommits");return[...i.values()].some(u=>l(u)&&o(u))},"shouldRerouteArrow"),xx=x((t,e,r=0)=>{const n=t+Math.abs(t-e)/2;if(r>5)return n;if(aO.every(s=>Math.abs(s-n)>=10))return aO.push(n),n;const a=Math.abs(t-e);return xx(t,e-a/5,r+1)},"findLane"),Vmr=x((t,e,r,n)=>{var m,U,y,b,v;const{theme:i}=Ve(),a=Fae.has(i??""),s=Tc.get(e.id),o=Tc.get(r.id);if(s===void 0||o===void 0)throw new Error(`Commit positions not found for commits ${e.id} and ${r.id}`);const l=Hmr(e,r,s,o,n);let u="",d="",h=0,f=0,p=(m=yc.get(r.branch))==null?void 0:m.index;r.type===Ai.MERGE&&e.id!==r.parents[0]&&(p=(U=yc.get(e.branch))==null?void 0:U.index);let g;if(l){u="A 10 10, 0, 0, 0,",d="A 10 10, 0, 0, 1,",h=10,f=10;const w=s.y<o.y?xx(s.y,o.y):xx(o.y,s.y),T=s.x<o.x?xx(s.x,o.x):xx(o.x,s.x);Pn==="TB"?s.x<o.x?g=`M ${s.x} ${s.y} L ${T-h} ${s.y} ${d} ${T} ${s.y+f} L ${T} ${o.y-h} ${u} ${T+f} ${o.y} L ${o.x} ${o.y}`:(p=(y=yc.get(e.branch))==null?void 0:y.index,g=`M ${s.x} ${s.y} L ${T+h} ${s.y} ${u} ${T} ${s.y+f} L ${T} ${o.y-h} ${d} ${T-f} ${o.y} L ${o.x} ${o.y}`):Pn==="BT"?s.x<o.x?g=`M ${s.x} ${s.y} L ${T-h} ${s.y} ${u} ${T} ${s.y-f} L ${T} ${o.y+h} ${d} ${T+f} ${o.y} L ${o.x} ${o.y}`:(p=(b=yc.get(e.branch))==null?void 0:b.index,g=`M ${s.x} ${s.y} L ${T+h} ${s.y} ${d} ${T} ${s.y-f} L ${T} ${o.y+h} ${u} ${T-f} ${o.y} L ${o.x} ${o.y}`):s.y<o.y?g=`M ${s.x} ${s.y} L ${s.x} ${w-h} ${u} ${s.x+f} ${w} L ${o.x-h} ${w} ${d} ${o.x} ${w+f} L ${o.x} ${o.y}`:(p=(v=yc.get(e.branch))==null?void 0:v.index,g=`M ${s.x} ${s.y} L ${s.x} ${w+h} ${d} ${s.x+f} ${w} L ${o.x-h} ${w} ${u} ${o.x} ${w-f} L ${o.x} ${o.y}`)}else u="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",h=20,f=20,Pn==="TB"?(s.x<o.x&&(r.type===Ai.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${s.x} ${o.y-h} ${u} ${s.x+f} ${o.y} L ${o.x} ${o.y}`:g=`M ${s.x} ${s.y} L ${o.x-h} ${s.y} ${d} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x>o.x&&(u="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Ai.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${s.x} ${o.y-h} ${d} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:g=`M ${s.x} ${s.y} L ${o.x+h} ${s.y} ${u} ${o.x} ${s.y+f} L ${o.x} ${o.y}`),s.x===o.x&&(g=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):Pn==="BT"?(s.x<o.x&&(r.type===Ai.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${s.x} ${o.y+h} ${d} ${s.x+f} ${o.y} L ${o.x} ${o.y}`:g=`M ${s.x} ${s.y} L ${o.x-h} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x>o.x&&(u="A 20 20, 0, 0, 0,",d="A 20 20, 0, 0, 1,",h=20,f=20,r.type===Ai.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${s.x} ${o.y+h} ${u} ${s.x-f} ${o.y} L ${o.x} ${o.y}`:g=`M ${s.x} ${s.y} L ${o.x+h} ${s.y} ${d} ${o.x} ${s.y-f} L ${o.x} ${o.y}`),s.x===o.x&&(g=`M ${s.x} ${s.y} L ${o.x} ${o.y}`)):(s.y<o.y&&(r.type===Ai.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${o.x-h} ${s.y} ${d} ${o.x} ${s.y+f} L ${o.x} ${o.y}`:g=`M ${s.x} ${s.y} L ${s.x} ${o.y-h} ${u} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y>o.y&&(r.type===Ai.MERGE&&e.id!==r.parents[0]?g=`M ${s.x} ${s.y} L ${o.x-h} ${s.y} ${u} ${o.x} ${s.y-f} L ${o.x} ${o.y}`:g=`M ${s.x} ${s.y} L ${s.x} ${o.y+h} ${d} ${s.x+f} ${o.y} L ${o.x} ${o.y}`),s.y===o.y&&(g=`M ${s.x} ${s.y} L ${o.x} ${o.y}`));if(g===void 0)throw new Error("Line definition not found");t.append("path").attr("d",g).attr("class","arrow arrow"+rU(p,tU,a))},"drawArrow"),Gmr=x((t,e)=>{const r=t.append("g").attr("class","commit-arrows");[...e.keys()].forEach(n=>{const i=e.get(n);i.parents&&i.parents.length>0&&i.parents.forEach(a=>{Vmr(r,e.get(a),i,e)})})},"drawArrows"),Wmr=x((t,e,r,n)=>{const{look:i,theme:a,themeVariables:s}=Ve(),{dropShadow:o,THEME_COLOR_LIMIT:l}=s,u=uB.has(a??""),d=Fae.has(a??""),h=t.append("g");e.forEach((f,p)=>{var M;const g=rU(p,u?l:tU,d),m=(M=yc.get(f.name))==null?void 0:M.pos;if(m===void 0)throw new Error(`Position not found for branch ${f.name}`);const U=Pn==="TB"||Pn==="BT"?m:u?m+yK/2+1:m-2,y=h.append("line");y.attr("x1",0),y.attr("y1",U),y.attr("x2",Zf),y.attr("y2",U),y.attr("class","branch branch"+g),Pn==="TB"?(y.attr("y1",iO),y.attr("x1",m),y.attr("y2",Zf),y.attr("x2",m)):Pn==="BT"&&(y.attr("y1",Zf),y.attr("x1",m),y.attr("y2",iO),y.attr("x2",m)),aO.push(U);const b=f.name,v=Jje(b),w=h.insert("rect"),S=h.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+g);S.node().appendChild(v);const C=v.getBBox(),k=u?0:4,E=u?16:0,A=u?yK:0;i==="neo"&&w.attr("data-look","neo"),w.attr("class","branchLabelBkg label"+g).attr("style",i==="neo"?`filter:${u?`url(#${n}-drop-shadow)`:o}`:"").attr("rx",k).attr("ry",k).attr("x",-C.width-4-(r.rotateCommitLabel===!0?30:0)).attr("y",-C.height/2+10).attr("width",C.width+18+E).attr("height",C.height+4+A),S.attr("transform","translate("+(-C.width-14-(r.rotateCommitLabel===!0?30:0)+E/2)+", "+(U-C.height/2-2)+")"),Pn==="TB"?(w.attr("x",m-C.width/2-10).attr("y",0),S.attr("transform","translate("+(m-C.width/2-5)+", 0)"),u&&(w.attr("transform",`translate(${-E/2-3}, ${-A-10})`),S.attr("transform","translate("+(m-C.width/2-5)+", "+(-A*2+7)+")"))):Pn==="BT"?(w.attr("x",m-C.width/2-10).attr("y",Zf),S.attr("transform","translate("+(m-C.width/2-5)+", "+Zf+")"),u&&(w.attr("transform",`translate(${-E/2-3}, ${A+10})`),S.attr("transform","translate("+(m-C.width/2-5)+", "+(Zf+A*2+4)+")"))):w.attr("transform","translate(-19, "+(U-12-A/2)+")")})},"drawBranches"),qmr=x(function(t,e,r,n,i){return yc.set(t,{pos:e,index:r}),e+=50+(i?40:0)+(Pn==="TB"||Pn==="BT"?n.width/2:0),e},"setBranchPosition"),jmr=x(function(t,e,r,n){Mmr(),he.debug("in gitgraph renderer",t+`
`,"id:",e,r);const i=n.db;if(!i.getConfig){he.error("getConfig method is not available on db");return}const a=i.getConfig(),s=a.rotateCommitLabel??!1;vx=i.getCommits();const o=i.getBranchesAsObjArray();Pn=i.getDirection();const l=vt(`[id="${e}"]`),{look:u,theme:d,themeVariables:h}=Ve(),{useGradient:f,gradientStart:p,gradientStop:g,filterColor:m}=h;if(f){const y=l.append("defs").append("linearGradient").attr("id",e+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");y.append("stop").attr("offset","0%").attr("stop-color",p).attr("stop-opacity",1),y.append("stop").attr("offset","100%").attr("stop-color",g).attr("stop-opacity",1)}u==="neo"&&uB.has(d??"")&&l.append("defs").append("filter").attr("id",e+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",m);let U=0;o.forEach((y,b)=>{var k;const v=Jje(y.name),w=l.append("g"),T=w.insert("g").attr("class","branchLabel"),S=T.insert("g").attr("class","label branch-label");(k=S.node())==null||k.appendChild(v);const C=v.getBBox();U=qmr(y.name,U,b,C,s),S.remove(),T.remove(),w.remove()}),Vye(l,vx,!1,a),a.showBranches&&Wmr(l,o,a,e),Gmr(l,vx),Vye(l,vx,!0,a),Kr.insertTitle(l,"gitTitleText",a.titleTopMargin??0,i.getDiagramTitle()),ZJ(void 0,l,a.diagramPadding,a.useMaxWidth)},"draw"),Ymr={draw:jmr},eYe=8,tYe=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),Xmr=new Set(["redux-color","redux-dark-color"]),Kmr=new Set(["neo","neo-dark"]),Zmr=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Jmr=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),Qmr=x(t=>{const{svgId:e}=t;let r="";if(t.useGradient&&e)for(let n=0;n<t.THEME_COLOR_LIMIT;n++)r+=`
.label${n} { fill: ${t.mainBkg}; stroke: url(${e}-gradient); stroke-width: ${t.strokeWidth};}
`;return r},"genGitGraphGradient"),eUr=x(t=>{const e=xr(),{theme:r,themeVariables:n}=e,{borderColorArray:i}=n,a=tYe.has(r);if(Kmr.has(r)){let s="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)if(o===0)s+=`
.branch-label${o} { fill: ${t.nodeBorder};}
.commit${o} { stroke: ${t.nodeBorder}; }
.commit-highlight${o} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }
.arrow${o} { stroke: ${t.nodeBorder}; }
.commit-bullets { fill: ${t.nodeBorder}; }
.commit-cherry-pick${o} { stroke: ${t.nodeBorder}; }
${Qmr(t)}`;else{const l=o%eYe;s+=`
.branch-label${o} { fill: ${t["gitBranchLabel"+l]}; }
.commit${o} { stroke: ${t["git"+l]}; fill: ${t["git"+l]}; }
.commit-highlight${o} { stroke: ${t["gitInv"+l]}; fill: ${t["gitInv"+l]}; }
.arrow${o} { stroke: ${t["git"+l]}; }
`}return s}else if(Xmr.has(r)){let s="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)if(o===0)s+=`
.branch-label${o} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }
.commit${o} { stroke: ${t.nodeBorder}; }
.commit-highlight${o} { stroke: ${t.nodeBorder}; fill: ${t.mainBkg}; }
.label${o} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""} }
.arrow${o} { stroke: ${t.nodeBorder}; }
.commit-bullets { fill: ${t.nodeBorder}; }
`;else{const l=o%i.length;s+=`
.branch-label${o} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }
.commit${o} { stroke: ${i[l]}; fill: ${i[l]}; }
.commit-highlight${o} { stroke: ${i[l]}; fill: ${i[l]}; }
.label${o} { fill: ${Zmr.has(r)?t.mainBkg:i[l]}; stroke: ${i[l]}; stroke-width: ${t.strokeWidth}; }
.arrow${o} { stroke: ${i[l]}; }
`}return s}else{let s="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)s+=`
.branch-label${o} { fill: ${t.nodeBorder}; ${a?`font-weight:${t.noteFontWeight}`:""} }
.commit${o} { stroke: ${t.nodeBorder}; }
.commit-highlight${o} { stroke: ${t.nodeBorder}; fill: ${t.nodeBorder}; }
.label${o} { fill: ${t.mainBkg}; stroke: ${t.nodeBorder}; stroke-width: ${t.strokeWidth}; ${a?`font-weight:${t.noteFontWeight}`:""}}
.arrow${o} { stroke: ${t.nodeBorder}; }
.commit-bullets { fill: ${t.nodeBorder}; }
.commit-cherry-pick${o} { stroke: ${t.nodeBorder}; }
`;return s}},"genColor"),tUr=x(t=>`${Array.from({length:t.THEME_COLOR_LIMIT},(e,r)=>r).map(e=>{const r=e%eYe;return`
.branch-label${e} { fill: ${t["gitBranchLabel"+r]}; }
.commit${e} { stroke: ${t["git"+r]}; fill: ${t["git"+r]}; }
.commit-highlight${e} { stroke: ${t["gitInv"+r]}; fill: ${t["gitInv"+r]}; }
.label${e} { fill: ${t["git"+r]}; }
.arrow${e} { stroke: ${t["git"+r]}; }
`}).join(`
`)}`,"normalTheme"),rUr=x(t=>{const e=xr(),{theme:r}=e,n=Jmr.has(r);return`
.commit-id,
.commit-msg,
.branch-label {
fill: lightgrey;
color: lightgrey;
font-family: 'trebuchet ms', verdana, arial, sans-serif;
font-family: var(--mermaid-font-family);
}
${n?eUr(t):tUr(t)}
.branch {
stroke-width: ${t.strokeWidth};
stroke: ${t.commitLineColor??t.lineColor};
stroke-dasharray: ${n?"4 2":"2"};
}
.commit-label { font-size: ${t.commitLabelFontSize}; fill: ${n?t.nodeBorder:t.commitLabelColor}; ${n?`font-weight:${t.noteFontWeight};`:""}}
.commit-label-bkg { font-size: ${t.commitLabelFontSize}; fill: ${n?"transparent":t.commitLabelBackground}; opacity: ${n?"":.5}; }
.tag-label { font-size: ${t.tagLabelFontSize}; fill: ${t.tagLabelColor};}
.tag-label-bkg { fill: ${n?t.mainBkg:t.tagLabelBackground}; stroke: ${n?t.nodeBorder:t.tagLabelBorder}; ${n?`filter:${t.dropShadow}`:""} }
.tag-hole { fill: ${t.textColor}; }
.commit-merge {
stroke: ${n?t.mainBkg:t.primaryColor};
fill: ${n?t.mainBkg:t.primaryColor};
}
.commit-reverse {
stroke: ${n?t.mainBkg:t.primaryColor};
fill: ${n?t.mainBkg:t.primaryColor};
stroke-width: ${n?t.strokeWidth:3};
}
.commit-highlight-outer {
}
.commit-highlight-inner {
stroke: ${n?t.mainBkg:t.primaryColor};
fill: ${n?t.mainBkg:t.primaryColor};
}
.arrow {
/* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */
stroke-width: ${tYe.has(r)?t.strokeWidth:8};
stroke-linecap: round;
fill: none
}
.gitTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
`},"getStyles"),nUr=rUr,iUr={parser:Emr,db:Zje,renderer:Ymr,styles:nUr};const aUr=Object.freeze(Object.defineProperty({__proto__:null,diagram:iUr},Symbol.toStringTag,{value:"Module"}));var JM={exports:{}},sUr=JM.exports,Gye;function oUr(){return Gye||(Gye=1,(function(t,e){(function(r,n){t.exports=n()})(sUr,(function(){var r="day";return function(n,i,a){var s=function(u){return u.add(4-u.isoWeekday(),r)},o=i.prototype;o.isoWeekYear=function(){return s(this).year()},o.isoWeek=function(u){if(!this.$utils().u(u))return this.add(7*(u-this.isoWeek()),r);var d,h,f,p,g=s(this),m=(d=this.isoWeekYear(),h=this.$u,f=(h?a.utc:a)().year(d).startOf("year"),p=4-f.isoWeekday(),f.isoWeekday()>4&&(p+=7),f.add(p,r));return g.diff(m,"week")+1},o.isoWeekday=function(u){return this.$utils().u(u)?this.day()||7:this.day(this.day()%7?u:u-7)};var l=o.startOf;o.startOf=function(u,d){var h=this.$utils(),f=!!h.u(d)||d;return h.p(u)==="isoweek"?f?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):l.bind(this)(u,d)}}}))})(JM)),JM.exports}var lUr=oUr();const cUr=T1(lUr);var QM={exports:{}},uUr=QM.exports,Wye;function dUr(){return Wye||(Wye=1,(function(t,e){(function(r,n){t.exports=n()})(uUr,(function(){var r={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"},n=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,i=/\d/,a=/\d\d/,s=/\d\d?/,o=/\d*[^-_:/,()\s\d]+/,l={},u=function(U){return(U=+U)+(U>68?1900:2e3)},d=function(U){return function(y){this[U]=+y}},h=[/[+-]\d\d:?(\d\d)?|Z/,function(U){(this.zone||(this.zone={})).offset=(function(y){if(!y||y==="Z")return 0;var b=y.match(/([+-]|\d\d)/g),v=60*b[1]+(+b[2]||0);return v===0?0:b[0]==="+"?-v:v})(U)}],f=function(U){var y=l[U];return y&&(y.indexOf?y:y.s.concat(y.f))},p=function(U,y){var b,v=l.meridiem;if(v){for(var w=1;w<=24;w+=1)if(U.indexOf(v(w,0,y))>-1){b=w>12;break}}else b=U===(y?"pm":"PM");return b},g={A:[o,function(U){this.afternoon=p(U,!1)}],a:[o,function(U){this.afternoon=p(U,!0)}],Q:[i,function(U){this.month=3*(U-1)+1}],S:[i,function(U){this.milliseconds=100*+U}],SS:[a,function(U){this.milliseconds=10*+U}],SSS:[/\d{3}/,function(U){this.milliseconds=+U}],s:[s,d("seconds")],ss:[s,d("seconds")],m:[s,d("minutes")],mm:[s,d("minutes")],H:[s,d("hours")],h:[s,d("hours")],HH:[s,d("hours")],hh:[s,d("hours")],D:[s,d("day")],DD:[a,d("day")],Do:[o,function(U){var y=l.ordinal,b=U.match(/\d+/);if(this.day=b[0],y)for(var v=1;v<=31;v+=1)y(v).replace(/\[|\]/g,"")===U&&(this.day=v)}],w:[s,d("week")],ww:[a,d("week")],M:[s,d("month")],MM:[a,d("month")],MMM:[o,function(U){var y=f("months"),b=(f("monthsShort")||y.map((function(v){return v.slice(0,3)}))).indexOf(U)+1;if(b<1)throw new Error;this.month=b%12||b}],MMMM:[o,function(U){var y=f("months").indexOf(U)+1;if(y<1)throw new Error;this.month=y%12||y}],Y:[/[+-]?\d+/,d("year")],YY:[a,function(U){this.year=u(U)}],YYYY:[/\d{4}/,d("year")],Z:h,ZZ:h};function m(U){var y,b;y=U,b=l&&l.formats;for(var v=(U=y.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(A,M,P){var N=P&&P.toUpperCase();return M||b[P]||r[P]||b[N].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(I,L,_){return L||_.slice(1)}))}))).match(n),w=v.length,T=0;T<w;T+=1){var S=v[T],C=g[S],k=C&&C[0],E=C&&C[1];v[T]=E?{regex:k,parser:E}:S.replace(/^\[|\]$/g,"")}return function(A){for(var M={},P=0,N=0;P<w;P+=1){var I=v[P];if(typeof I=="string")N+=I.length;else{var L=I.regex,_=I.parser,D=A.slice(N),O=L.exec(D)[0];_.call(M,O),A=A.replace(O,"")}}return(function(B){var F=B.afternoon;if(F!==void 0){var z=B.hours;F?z<12&&(B.hours+=12):z===12&&(B.hours=0),delete B.afternoon}})(M),M}}return function(U,y,b){b.p.customParseFormat=!0,U&&U.parseTwoDigitYear&&(u=U.parseTwoDigitYear);var v=y.prototype,w=v.parse;v.parse=function(T){var S=T.date,C=T.utc,k=T.args;this.$u=C;var E=k[1];if(typeof E=="string"){var A=k[2]===!0,M=k[3]===!0,P=A||M,N=k[2];M&&(N=k[2]),l=this.$locale(),!A&&N&&(l=b.Ls[N]),this.$d=(function(D,O,B,F){try{if(["x","X"].indexOf(O)>-1)return new Date((O==="X"?1e3:1)*D);var z=m(O)(D),$=z.year,H=z.month,V=z.day,G=z.hours,K=z.minutes,W=z.seconds,oe=z.milliseconds,Z=z.zone,J=z.week,ne=new Date,ie=V||($||H?1:ne.getDate()),me=$||ne.getFullYear(),te=0;$&&!H||(te=H>0?H-1:ne.getMonth());var Re,_e=G||0,He=K||0,ce=W||0,de=oe||0;return Z?new Date(Date.UTC(me,te,ie,_e,He,ce,de+60*Z.offset*1e3)):B?new Date(Date.UTC(me,te,ie,_e,He,ce,de)):(Re=new Date(me,te,ie,_e,He,ce,de),J&&(Re=F(Re).week(J).toDate()),Re)}catch{return new Date("")}})(S,E,C,b),this.init(),N&&N!==!0&&(this.$L=this.locale(N).$L),P&&S!=this.format(E)&&(this.$d=new Date("")),l={}}else if(E instanceof Array)for(var I=E.length,L=1;L<=I;L+=1){k[1]=E[L-1];var _=b.apply(this,k);if(_.isValid()){this.$d=_.$d,this.$L=_.$L,this.init();break}L===I&&(this.$d=new Date(""))}else w.call(this,T)}}}))})(QM)),QM.exports}var hUr=dUr();const fUr=T1(hUr);var eR={exports:{}},pUr=eR.exports,qye;function gUr(){return qye||(qye=1,(function(t,e){(function(r,n){t.exports=n()})(pUr,(function(){return function(r,n){var i=n.prototype,a=i.format;i.format=function(s){var o=this,l=this.$locale();if(!this.isValid())return a.bind(this)(s);var u=this.$utils(),d=(s||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(h){switch(h){case"Q":return Math.ceil((o.$M+1)/3);case"Do":return l.ordinal(o.$D);case"gggg":return o.weekYear();case"GGGG":return o.isoWeekYear();case"wo":return l.ordinal(o.week(),"W");case"w":case"ww":return u.s(o.week(),h==="w"?1:2,"0");case"W":case"WW":return u.s(o.isoWeek(),h==="W"?1:2,"0");case"k":case"kk":return u.s(String(o.$H===0?24:o.$H),h==="k"?1:2,"0");case"X":return Math.floor(o.$d.getTime()/1e3);case"x":return o.$d.getTime();case"z":return"["+o.offsetName()+"]";case"zzz":return"["+o.offsetName("long")+"]";default:return h}}));return a.bind(this)(d)}}}))})(eR)),eR.exports}var mUr=gUr();const UUr=T1(mUr);var tR={exports:{}},yUr=tR.exports,jye;function bUr(){return jye||(jye=1,(function(t,e){(function(r,n){t.exports=n()})(yUr,(function(){var r,n,i=1e3,a=6e4,s=36e5,o=864e5,l=31536e6,u=2628e6,d=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,h=/\[([^\]]+)]|YYYY|YY|Y|M{1,2}|D{1,2}|H{1,2}|m{1,2}|s{1,2}|SSS/g,f={years:l,months:u,days:o,hours:s,minutes:a,seconds:i,milliseconds:1,weeks:6048e5},p=function(S){return S instanceof w},g=function(S,C,k){return new w(S,k,C.$l)},m=function(S){return n.p(S)+"s"},U=function(S){return S<0},y=function(S){return U(S)?Math.ceil(S):Math.floor(S)},b=function(S){return Math.abs(S)},v=function(S,C){return S?U(S)?{negative:!0,format:""+b(S)+C}:{negative:!1,format:""+S+C}:{negative:!1,format:""}},w=(function(){function S(k,E,A){var M=this;if(this.$d={},this.$l=A,k===void 0&&(this.$ms=0,this.parseFromMilliseconds()),E)return g(k*f[m(E)],this);if(typeof k=="number")return this.$ms=k,this.parseFromMilliseconds(),this;if(typeof k=="object")return Object.keys(k).forEach((function(I){M.$d[m(I)]=k[I]})),this.calMilliseconds(),this;if(typeof k=="string"){var P=k.match(d);if(P){var N=P.slice(2).map((function(I){return I!=null?Number(I):0}));return this.$d.years=N[0],this.$d.months=N[1],this.$d.weeks=N[2],this.$d.days=N[3],this.$d.hours=N[4],this.$d.minutes=N[5],this.$d.seconds=N[6],this.calMilliseconds(),this}}return this}var C=S.prototype;return C.calMilliseconds=function(){var k=this;this.$ms=Object.keys(this.$d).reduce((function(E,A){return E+(k.$d[A]||0)*f[A]}),0)},C.parseFromMilliseconds=function(){var k=this.$ms;this.$d.years=y(k/l),k%=l,this.$d.months=y(k/u),k%=u,this.$d.days=y(k/o),k%=o,this.$d.hours=y(k/s),k%=s,this.$d.minutes=y(k/a),k%=a,this.$d.seconds=y(k/i),k%=i,this.$d.milliseconds=k},C.toISOString=function(){var k=v(this.$d.years,"Y"),E=v(this.$d.months,"M"),A=+this.$d.days||0;this.$d.weeks&&(A+=7*this.$d.weeks);var M=v(A,"D"),P=v(this.$d.hours,"H"),N=v(this.$d.minutes,"M"),I=this.$d.seconds||0;this.$d.milliseconds&&(I+=this.$d.milliseconds/1e3,I=Math.round(1e3*I)/1e3);var L=v(I,"S"),_=k.negative||E.negative||M.negative||P.negative||N.negative||L.negative,D=P.format||N.format||L.format?"T":"",O=(_?"-":"")+"P"+k.format+E.format+M.format+D+P.format+N.format+L.format;return O==="P"||O==="-P"?"P0D":O},C.toJSON=function(){return this.toISOString()},C.format=function(k){var E=k||"YYYY-MM-DDTHH:mm:ss",A={Y:this.$d.years,YY:n.s(this.$d.years,2,"0"),YYYY:n.s(this.$d.years,4,"0"),M:this.$d.months,MM:n.s(this.$d.months,2,"0"),D:this.$d.days,DD:n.s(this.$d.days,2,"0"),H:this.$d.hours,HH:n.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:n.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:n.s(this.$d.seconds,2,"0"),SSS:n.s(this.$d.milliseconds,3,"0")};return E.replace(h,(function(M,P){return P||String(A[M])}))},C.as=function(k){return this.$ms/f[m(k)]},C.get=function(k){var E=this.$ms,A=m(k);return A==="milliseconds"?E%=1e3:E=A==="weeks"?y(E/f[A]):this.$d[A],E||0},C.add=function(k,E,A){var M;return M=E?k*f[m(E)]:p(k)?k.$ms:g(k,this).$ms,g(this.$ms+M*(A?-1:1),this)},C.subtract=function(k,E){return this.add(k,E,!0)},C.locale=function(k){var E=this.clone();return E.$l=k,E},C.clone=function(){return g(this.$ms,this)},C.humanize=function(k){return r().add(this.$ms,"ms").locale(this.$l).fromNow(!k)},C.valueOf=function(){return this.asMilliseconds()},C.milliseconds=function(){return this.get("milliseconds")},C.asMilliseconds=function(){return this.as("milliseconds")},C.seconds=function(){return this.get("seconds")},C.asSeconds=function(){return this.as("seconds")},C.minutes=function(){return this.get("minutes")},C.asMinutes=function(){return this.as("minutes")},C.hours=function(){return this.get("hours")},C.asHours=function(){return this.as("hours")},C.days=function(){return this.get("days")},C.asDays=function(){return this.as("days")},C.weeks=function(){return this.get("weeks")},C.asWeeks=function(){return this.as("weeks")},C.months=function(){return this.get("months")},C.asMonths=function(){return this.as("months")},C.years=function(){return this.get("years")},C.asYears=function(){return this.as("years")},S})(),T=function(S,C,k){return S.add(C.years()*k,"y").add(C.months()*k,"M").add(C.days()*k,"d").add(C.hours()*k,"h").add(C.minutes()*k,"m").add(C.seconds()*k,"s").add(C.milliseconds()*k,"ms")};return function(S,C,k){r=k,n=k().$utils(),k.duration=function(M,P){var N=k.locale();return g(M,{$l:N},P)},k.isDuration=p;var E=C.prototype.add,A=C.prototype.subtract;C.prototype.add=function(M,P){return p(M)?T(this,M,1):E.bind(this)(M,P)},C.prototype.subtract=function(M,P){return p(M)?T(this,M,-1):A.bind(this)(M,P)}}}))})(tR)),tR.exports}var vUr=bUr();const xUr=T1(vUr);var bK=(function(){var t=x(function(N,I,L,_){for(L=L||{},_=N.length;_--;L[N[_]]=I);return L},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],r=[1,26],n=[1,27],i=[1,28],a=[1,29],s=[1,30],o=[1,31],l=[1,32],u=[1,33],d=[1,34],h=[1,9],f=[1,10],p=[1,11],g=[1,12],m=[1,13],U=[1,14],y=[1,15],b=[1,16],v=[1,19],w=[1,20],T=[1,21],S=[1,22],C=[1,23],k=[1,25],E=[1,35],A={trace:x(function(){},"trace"),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,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$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",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"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],[19,1],[19,1],[9,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],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:x(function(I,L,_,D,O,B,F){var z=B.length-1;switch(O){case 1:return B[z-1];case 2:this.$=[];break;case 3:B[z-1].push(B[z]),this.$=B[z-1];break;case 4:case 5:this.$=B[z];break;case 6:case 7:this.$=[];break;case 8:D.setWeekday("monday");break;case 9:D.setWeekday("tuesday");break;case 10:D.setWeekday("wednesday");break;case 11:D.setWeekday("thursday");break;case 12:D.setWeekday("friday");break;case 13:D.setWeekday("saturday");break;case 14:D.setWeekday("sunday");break;case 15:D.setWeekend("friday");break;case 16:D.setWeekend("saturday");break;case 17:D.setDateFormat(B[z].substr(11)),this.$=B[z].substr(11);break;case 18:D.enableInclusiveEndDates(),this.$=B[z].substr(18);break;case 19:D.TopAxis(),this.$=B[z].substr(8);break;case 20:D.setAxisFormat(B[z].substr(11)),this.$=B[z].substr(11);break;case 21:D.setTickInterval(B[z].substr(13)),this.$=B[z].substr(13);break;case 22:D.setExcludes(B[z].substr(9)),this.$=B[z].substr(9);break;case 23:D.setIncludes(B[z].substr(9)),this.$=B[z].substr(9);break;case 24:D.setTodayMarker(B[z].substr(12)),this.$=B[z].substr(12);break;case 27:D.setDiagramTitle(B[z].substr(6)),this.$=B[z].substr(6);break;case 28:this.$=B[z].trim(),D.setAccTitle(this.$);break;case 29:case 30:this.$=B[z].trim(),D.setAccDescription(this.$);break;case 31:D.addSection(B[z].substr(8)),this.$=B[z].substr(8);break;case 33:D.addTask(B[z-1],B[z]),this.$="task";break;case 34:this.$=B[z-1],D.setClickEvent(B[z-1],B[z],null);break;case 35:this.$=B[z-2],D.setClickEvent(B[z-2],B[z-1],B[z]);break;case 36:this.$=B[z-2],D.setClickEvent(B[z-2],B[z-1],null),D.setLink(B[z-2],B[z]);break;case 37:this.$=B[z-3],D.setClickEvent(B[z-3],B[z-2],B[z-1]),D.setLink(B[z-3],B[z]);break;case 38:this.$=B[z-2],D.setClickEvent(B[z-2],B[z],null),D.setLink(B[z-2],B[z-1]);break;case 39:this.$=B[z-3],D.setClickEvent(B[z-3],B[z-1],B[z]),D.setLink(B[z-3],B[z-2]);break;case 40:this.$=B[z-1],D.setLink(B[z-1],B[z]);break;case 41:case 47:this.$=B[z-1]+" "+B[z];break;case 42:case 43:case 45:this.$=B[z-2]+" "+B[z-1]+" "+B[z];break;case 44:case 46:this.$=B[z-3]+" "+B[z-2]+" "+B[z-1]+" "+B[z];break}},"anonymous"),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:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:d,22:h,23:f,24:p,25:g,26:m,27:U,28:y,29:b,30:v,31:w,33:T,35:S,36:C,37:24,38:k,40:E},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:r,13:n,14:i,15:a,16:s,17:o,18:l,19:18,20:u,21:d,22:h,23:f,24:p,25:g,26:m,27:U,28:y,29:b,30:v,31:w,33:T,35:S,36:C,37:24,38:k,40:E},t(e,[2,5]),t(e,[2,6]),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]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},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]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:x(function(I,L){if(L.recoverable)this.trace(I);else{var _=new Error(I);throw _.hash=L,_}},"parseError"),parse:x(function(I){var L=this,_=[0],D=[],O=[null],B=[],F=this.table,z="",$=0,H=0,V=2,G=1,K=B.slice.call(arguments,1),W=Object.create(this.lexer),oe={yy:{}};for(var Z in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Z)&&(oe.yy[Z]=this.yy[Z]);W.setInput(I,oe.yy),oe.yy.lexer=W,oe.yy.parser=this,typeof W.yylloc>"u"&&(W.yylloc={});var J=W.yylloc;B.push(J);var ne=W.options&&W.options.ranges;typeof oe.yy.parseError=="function"?this.parseError=oe.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ie(Ee){_.length=_.length-2*Ee,O.length=O.length-Ee,B.length=B.length-Ee}x(ie,"popStack");function me(){var Ee;return Ee=D.pop()||W.lex()||G,typeof Ee!="number"&&(Ee instanceof Array&&(D=Ee,Ee=D.pop()),Ee=L.symbols_[Ee]||Ee),Ee}x(me,"lex");for(var te,Re,_e,He,ce={},de,we,ge,ze;;){if(Re=_[_.length-1],this.defaultActions[Re]?_e=this.defaultActions[Re]:((te===null||typeof te>"u")&&(te=me()),_e=F[Re]&&F[Re][te]),typeof _e>"u"||!_e.length||!_e[0]){var xe="";ze=[];for(de in F[Re])this.terminals_[de]&&de>V&&ze.push("'"+this.terminals_[de]+"'");W.showPosition?xe="Parse error on line "+($+1)+`:
`+W.showPosition()+`
Expecting `+ze.join(", ")+", got '"+(this.terminals_[te]||te)+"'":xe="Parse error on line "+($+1)+": Unexpected "+(te==G?"end of input":"'"+(this.terminals_[te]||te)+"'"),this.parseError(xe,{text:W.match,token:this.terminals_[te]||te,line:W.yylineno,loc:J,expected:ze})}if(_e[0]instanceof Array&&_e.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Re+", token: "+te);switch(_e[0]){case 1:_.push(te),O.push(W.yytext),B.push(W.yylloc),_.push(_e[1]),te=null,H=W.yyleng,z=W.yytext,$=W.yylineno,J=W.yylloc;break;case 2:if(we=this.productions_[_e[1]][1],ce.$=O[O.length-we],ce._$={first_line:B[B.length-(we||1)].first_line,last_line:B[B.length-1].last_line,first_column:B[B.length-(we||1)].first_column,last_column:B[B.length-1].last_column},ne&&(ce._$.range=[B[B.length-(we||1)].range[0],B[B.length-1].range[1]]),He=this.performAction.apply(ce,[z,H,$,oe.yy,_e[1],O,B].concat(K)),typeof He<"u")return He;we&&(_=_.slice(0,-1*we*2),O=O.slice(0,-1*we),B=B.slice(0,-1*we)),_.push(this.productions_[_e[1]][0]),O.push(ce.$),B.push(ce._$),ge=F[_[_.length-2]][_[_.length-1]],_.push(ge);break;case 3:return!0}}return!0},"parse")},M=(function(){var N={EOF:1,parseError:x(function(L,_){if(this.yy.parser)this.yy.parser.parseError(L,_);else throw new Error(L)},"parseError"),setInput:x(function(I,L){return this.yy=L||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},"setInput"),input:x(function(){var I=this._input[0];this.yytext+=I,this.yyleng++,this.offset++,this.match+=I,this.matched+=I;var L=I.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),I},"input"),unput:x(function(I){var L=I.length,_=I.split(/(?:\r\n?|\n)/g);this._input=I+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-L),this.offset-=L;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),_.length-1&&(this.yylineno-=_.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:_?(_.length===D.length?this.yylloc.first_column:0)+D[D.length-_.length].length-_[0].length:this.yylloc.first_column-L},this.options.ranges&&(this.yylloc.range=[O[0],O[0]+this.yyleng-L]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(I){this.unput(this.match.slice(I))},"less"),pastInput:x(function(){var I=this.matched.substr(0,this.matched.length-this.match.length);return(I.length>20?"...":"")+I.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(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,"")},"upcomingInput"),showPosition:x(function(){var I=this.pastInput(),L=new Array(I.length+1).join("-");return I+this.upcomingInput()+`
`+L+"^"},"showPosition"),test_match:x(function(I,L){var _,D,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))),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],_=this.performAction.call(this,this.yy,this,L,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),_)return _;if(this._backtrack){for(var B in O)this[B]=O[B];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var I,L,_,D;this._more||(this.yytext="",this.match="");for(var O=this._currentRules(),B=0;B<O.length;B++)if(_=this._input.match(this.rules[O[B]]),_&&(!L||_[0].length>L[0].length)){if(L=_,D=B,this.options.backtrack_lexer){if(I=this.test_match(_,O[B]),I!==!1)return I;if(this._backtrack){L=!1;continue}else return!1}else if(!this.options.flex)break}return L?(I=this.test_match(L,O[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})},"next"),lex:x(function(){var L=this.next();return L||this.lex()},"lex"),begin:x(function(L){this.conditionStack.push(L)},"begin"),popState:x(function(){var L=this.conditionStack.length-1;return L>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(L){return L=this.conditionStack.length-1-Math.abs(L||0),L>=0?this.conditionStack[L]:"INITIAL"},"topState"),pushState:x(function(L){this.begin(L)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(L,_,D,O){switch(D){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;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 43;case 17:this.begin("callbackname");break;case 18:this.popState();break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 21:this.popState();break;case 22:return 42;case 23:this.begin("click");break;case 24:this.popState();break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;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 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),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,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\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,51,52],inclusive:!0}}};return N})();A.lexer=M;function P(){this.yy={}}return x(P,"Parser"),P.prototype=A,A.Parser=P,new P})();bK.parser=bK;var wUr=bK;Qs.extend(cUr);Qs.extend(fUr);Qs.extend(UUr);var Yye={friday:5,saturday:6},Ph="",zae="",Hae=void 0,Vae="",A4=[],M4=[],Gae=new Map,Wae=[],sO=[],R4="",qae="",rYe=["active","done","crit","milestone","vert"],jae=[],Z2="",ik=!1,Yae=!1,Xae="sunday",oO="saturday",vK=0,TUr=x(function(){Wae=[],sO=[],R4="",jae=[],rR=0,wK=void 0,nR=void 0,ws=[],Ph="",zae="",qae="",Hae=void 0,Vae="",A4=[],M4=[],ik=!1,Yae=!1,vK=0,Gae=new Map,Z2="",Di(),Xae="sunday",oO="saturday"},"clear"),CUr=x(function(t){Z2=t},"setDiagramId"),SUr=x(function(t){zae=t},"setAxisFormat"),kUr=x(function(){return zae},"getAxisFormat"),EUr=x(function(t){Hae=t},"setTickInterval"),AUr=x(function(){return Hae},"getTickInterval"),MUr=x(function(t){Vae=t},"setTodayMarker"),RUr=x(function(){return Vae},"getTodayMarker"),IUr=x(function(t){Ph=t},"setDateFormat"),LUr=x(function(){ik=!0},"enableInclusiveEndDates"),NUr=x(function(){return ik},"endDatesAreInclusive"),OUr=x(function(){Yae=!0},"enableTopAxis"),DUr=x(function(){return Yae},"topAxisEnabled"),PUr=x(function(t){qae=t},"setDisplayMode"),_Ur=x(function(){return qae},"getDisplayMode"),BUr=x(function(){return Ph},"getDateFormat"),nYe=x((t,e)=>{const r=e.toLowerCase().split(/[\s,]+/).filter(n=>n!=="");return[...new Set([...t,...r])]},"mergeTokens"),$Ur=x(function(t){A4=nYe(A4,t)},"setIncludes"),FUr=x(function(){return A4},"getIncludes"),zUr=x(function(t){M4=nYe(M4,t)},"setExcludes"),HUr=x(function(){return M4},"getExcludes"),VUr=x(function(){return Gae},"getLinks"),GUr=x(function(t){R4=t,Wae.push(t)},"addSection"),WUr=x(function(){return Wae},"getSections"),qUr=x(function(){let t=Xye();const e=10;let r=0;for(;!t&&r<e;)t=Xye(),r++;return sO=ws,sO},"getTasks"),iYe=x(function(t,e,r,n){const i=t.format(e.trim()),a=t.format("YYYY-MM-DD");return n.includes(i)||n.includes(a)?!1:r.includes("weekends")&&(t.isoWeekday()===Yye[oO]||t.isoWeekday()===Yye[oO]+1)||r.includes(t.format("dddd").toLowerCase())?!0:r.includes(i)||r.includes(a)},"isInvalidDate"),jUr=x(function(t){Xae=t},"setWeekday"),YUr=x(function(){return Xae},"getWeekday"),XUr=x(function(t){oO=t},"setWeekend"),aYe=x(function(t,e,r,n){if(!r.length||t.manualEndTime)return;let i;t.startTime instanceof Date?i=Qs(t.startTime):i=Qs(t.startTime,e,!0),i=i.add(1,"d");let a;t.endTime instanceof Date?a=Qs(t.endTime):a=Qs(t.endTime,e,!0);const[s,o]=KUr(i,a,e,r,n);t.endTime=s.toDate(),t.renderEndTime=o},"checkTaskDates"),KUr=x(function(t,e,r,n,i){let a=!1,s=null;const o=e.add(1e4,"d");for(;t<=e;){if(a||(s=e.toDate()),a=iYe(t,r,n,i),a&&(e=e.add(1,"d"),e>o))throw new Error("Failed to find a valid date that was not excluded by `excludes` after 10,000 iterations.");t=t.add(1,"d")}return[e,s]},"fixTaskDates"),xK=x(function(t,e,r){if(r=r.trim(),x(o=>{const l=o.trim();return l==="x"||l==="X"},"isTimestampFormat")(e)&&/^\d+$/.test(r))return new Date(Number(r));const a=/^after\s+(?<ids>[\d\w- ]+)/.exec(r);if(a!==null){let o=null;for(const u of a.groups.ids.split(" ")){let d=sy(u);d!==void 0&&(!o||d.endTime>o.endTime)&&(o=d)}if(o)return o.endTime;const l=new Date;return l.setHours(0,0,0,0),l}let s=Qs(r,e.trim(),!0);if(s.isValid())return s.toDate();{he.debug("Invalid date:"+r),he.debug("With date format:"+e.trim());const o=new Date(r);if(o===void 0||isNaN(o.getTime())||o.getFullYear()<-1e4||o.getFullYear()>1e4)throw new Error("Invalid date:"+r);return o}},"getStartDate"),sYe=x(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return e!==null?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),oYe=x(function(t,e,r,n=!1){r=r.trim();const a=/^until\s+(?<ids>[\d\w- ]+)/.exec(r);if(a!==null){let d=null;for(const f of a.groups.ids.split(" ")){let p=sy(f);p!==void 0&&(!d||p.startTime<d.startTime)&&(d=p)}if(d)return d.startTime;const h=new Date;return h.setHours(0,0,0,0),h}let s=Qs(r,e.trim(),!0);if(s.isValid())return n&&(s=s.add(1,"d")),s.toDate();let o=Qs(t);const[l,u]=sYe(r);if(!Number.isNaN(l)){const d=o.add(l,u);d.isValid()&&(o=d)}return o.toDate()},"getEndDate"),rR=0,Ab=x(function(t){return t===void 0?(rR=rR+1,"task"+rR):t},"parseId"),ZUr=x(function(t,e){let r;e.substr(0,1)===":"?r=e.substr(1,e.length):r=e;const n=r.split(","),i={};Kae(n,i,rYe);for(let s=0;s<n.length;s++)n[s]=n[s].trim();let a="";switch(n.length){case 1:i.id=Ab(),i.startTime=t.endTime,a=n[0];break;case 2:i.id=Ab(),i.startTime=xK(void 0,Ph,n[0]),a=n[1];break;case 3:i.id=Ab(n[0]),i.startTime=xK(void 0,Ph,n[1]),a=n[2];break}return a&&(i.endTime=oYe(i.startTime,Ph,a,ik),i.manualEndTime=Qs(a,"YYYY-MM-DD",!0).isValid(),aYe(i,Ph,M4,A4)),i},"compileData"),JUr=x(function(t,e){let r;e.substr(0,1)===":"?r=e.substr(1,e.length):r=e;const n=r.split(","),i={};Kae(n,i,rYe);for(let a=0;a<n.length;a++)n[a]=n[a].trim();switch(n.length){case 1:i.id=Ab(),i.startTime={type:"prevTaskEnd",id:t},i.endTime={data:n[0]};break;case 2:i.id=Ab(),i.startTime={type:"getStartDate",startData:n[0]},i.endTime={data:n[1]};break;case 3:i.id=Ab(n[0]),i.startTime={type:"getStartDate",startData:n[1]},i.endTime={data:n[2]};break}return i},"parseData"),wK,nR,ws=[],lYe={},QUr=x(function(t,e){const r={section:R4,type:R4,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},n=JUr(nR,e);r.raw.startTime=n.startTime,r.raw.endTime=n.endTime,r.id=n.id,r.prevTaskId=nR,r.active=n.active,r.done=n.done,r.crit=n.crit,r.milestone=n.milestone,r.vert=n.vert,r.vert?r.order=-1:(r.order=vK,vK++);const i=ws.push(r);nR=r.id,lYe[r.id]=i-1},"addTask"),sy=x(function(t){const e=lYe[t];return ws[e]},"findTaskById"),e5r=x(function(t,e){const r={section:R4,type:R4,description:t,task:t,classes:[]},n=ZUr(wK,e);r.startTime=n.startTime,r.endTime=n.endTime,r.id=n.id,r.active=n.active,r.done=n.done,r.crit=n.crit,r.milestone=n.milestone,r.vert=n.vert,wK=r,sO.push(r)},"addTaskOrg"),Xye=x(function(){const t=x(function(r){const n=ws[r];let i="";switch(ws[r].raw.startTime.type){case"prevTaskEnd":{const a=sy(n.prevTaskId);n.startTime=a.endTime;break}case"getStartDate":i=xK(void 0,Ph,ws[r].raw.startTime.startData),i&&(ws[r].startTime=i);break}return ws[r].startTime&&(ws[r].endTime=oYe(ws[r].startTime,Ph,ws[r].raw.endTime.data,ik),ws[r].endTime&&(ws[r].processed=!0,ws[r].manualEndTime=Qs(ws[r].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),aYe(ws[r],Ph,M4,A4))),ws[r].processed},"compileTask");let e=!0;for(const[r,n]of ws.entries())t(r),e=e&&n.processed;return e},"compileTasks"),t5r=x(function(t,e){let r=e;Ve().securityLevel!=="loose"&&(r=E5.sanitizeUrl(e)),t.split(",").forEach(function(n){sy(n)!==void 0&&(uYe(n,()=>{window.open(r,"_self")}),Gae.set(n,r))}),cYe(t,"clickable")},"setLink"),cYe=x(function(t,e){t.split(",").forEach(function(r){let n=sy(r);n!==void 0&&n.classes.push(e)})},"setClass"),r5r=x(function(t,e,r){if(Ve().securityLevel!=="loose"||e===void 0)return;let n=[];if(typeof r=="string"){n=r.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let a=0;a<n.length;a++){let s=n[a].trim();s.startsWith('"')&&s.endsWith('"')&&(s=s.substr(1,s.length-2)),n[a]=s}}n.length===0&&n.push(t),sy(t)!==void 0&&uYe(t,()=>{Kr.runFunc(e,...n)})},"setClickFun"),uYe=x(function(t,e){jae.push(function(){const r=Z2?`${Z2}-${t}`:t,n=document.querySelector(`[id="${r}"]`);n!==null&&n.addEventListener("click",function(){e()})},function(){const r=Z2?`${Z2}-${t}`:t,n=document.querySelector(`[id="${r}-text"]`);n!==null&&n.addEventListener("click",function(){e()})})},"pushFun"),n5r=x(function(t,e,r){t.split(",").forEach(function(n){r5r(n,e,r)}),cYe(t,"clickable")},"setClickEvent"),i5r=x(function(t){jae.forEach(function(e){e(t)})},"bindFunctions"),a5r={getConfig:x(()=>Ve().gantt,"getConfig"),clear:TUr,setDateFormat:IUr,getDateFormat:BUr,enableInclusiveEndDates:LUr,endDatesAreInclusive:NUr,enableTopAxis:OUr,topAxisEnabled:DUr,setAxisFormat:SUr,getAxisFormat:kUr,setTickInterval:EUr,getTickInterval:AUr,setTodayMarker:MUr,getTodayMarker:RUr,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,setDiagramId:CUr,setDisplayMode:PUr,getDisplayMode:_Ur,setAccDescription:aa,getAccDescription:sa,addSection:GUr,getSections:WUr,getTasks:qUr,addTask:QUr,findTaskById:sy,addTaskOrg:e5r,setIncludes:$Ur,getIncludes:FUr,setExcludes:zUr,getExcludes:HUr,setClickEvent:n5r,setLink:t5r,getLinks:VUr,bindFunctions:i5r,parseDuration:sYe,isInvalidDate:iYe,setWeekday:jUr,getWeekday:YUr,setWeekend:XUr};function Kae(t,e,r){let n=!0;for(;n;)n=!1,r.forEach(function(i){const a="^\\s*"+i+"\\s*$",s=new RegExp(a);t[0].match(s)&&(e[i]=!0,t.shift(1),n=!0)})}x(Kae,"getTaskTags");Qs.extend(xUr);var s5r=x(function(){he.debug("Something is calling, setConf, remove the call")},"setConf"),Kye={monday:fT,tuesday:v9e,wednesday:x9e,thursday:JU,friday:w9e,saturday:T9e,sunday:sS},o5r=x((t,e)=>{let r=[...t].map(()=>-1/0),n=[...t].sort((a,s)=>a.startTime-s.startTime||a.order-s.order),i=0;for(const a of n)for(let s=0;s<r.length;s++)if(a.startTime>=r[s]){r[s]=a.endTime,a.order=s+e,s>i&&(i=s);break}return i},"getMaxIntersections"),_f,hV=1e4,l5r=x(function(t,e,r,n){const i=Ve().gantt;n.db.setDiagramId(e);const a=Ve().securityLevel;let s;a==="sandbox"&&(s=vt("#i"+e));const o=vt(a==="sandbox"?s.nodes()[0].contentDocument.body:"body"),l=a==="sandbox"?s.nodes()[0].contentDocument:document,u=l.getElementById(e);_f=u.parentElement.offsetWidth,_f===void 0&&(_f=1200),i.useWidth!==void 0&&(_f=i.useWidth);const d=n.db.getTasks(),h=d.filter(A=>!A.vert);let f=[];for(const A of h)f.push(A.type);f=E(f);const p={};let g=2*i.topPadding;if(n.db.getDisplayMode()==="compact"||i.displayMode==="compact"){const A={};for(const P of h)A[P.section]===void 0?A[P.section]=[P]:A[P.section].push(P);let M=0;for(const P of Object.keys(A)){const N=o5r(A[P],M)+1;M+=N,g+=N*(i.barHeight+i.barGap),p[P]=N}}else{g+=h.length*(i.barHeight+i.barGap);for(const A of f)p[A]=h.filter(M=>M.type===A).length}u.setAttribute("viewBox","0 0 "+_f+" "+g);const m=o.select(`[id="${e}"]`),U=Y4t().domain([tbt(d,function(A){return A.startTime}),ebt(d,function(A){return A.endTime})]).rangeRound([0,_f-i.leftPadding-i.rightPadding]);function y(A,M){const P=A.startTime,N=M.startTime;let I=0;return P>N?I=1:P<N&&(I=-1),I}x(y,"taskCompare"),d.sort(y),b(d,_f,g),Wa(m,g,_f,i.useMaxWidth),m.append("text").text(n.db.getDiagramTitle()).attr("x",_f/2).attr("y",i.titleTopMargin).attr("class","titleText");function b(A,M,P){const N=i.barHeight,I=N+i.barGap,L=i.topPadding,_=i.leftPadding,D=zv().domain([0,f.length]).range(["#00B9FA","#F95002"]).interpolate(C7t);w(I,L,_,M,P,A,n.db.getExcludes(),n.db.getIncludes()),S(_,L,M,P),v(A,I,L,_,N,D,M),C(I,L),k(_,L,M,P)}x(b,"makeGantt");function v(A,M,P,N,I,L,_){A.sort((H,V)=>H.vert===V.vert?0:H.vert?1:-1);const D=A.filter(H=>!H.vert),B=[...new Set(D.map(H=>H.order))].map(H=>D.find(V=>V.order===H));m.append("g").selectAll("rect").data(B).enter().append("rect").attr("x",0).attr("y",function(H,V){return V=H.order,V*M+P-2}).attr("width",function(){return _-i.rightPadding/2}).attr("height",M).attr("class",function(H){for(const[V,G]of f.entries())if(H.type===G)return"section section"+V%i.numberSectionStyles;return"section section0"}).enter();const F=m.append("g").selectAll("rect").data(A).enter(),z=n.db.getLinks();if(F.append("rect").attr("id",function(H){return e+"-"+H.id}).attr("rx",3).attr("ry",3).attr("x",function(H){return H.milestone?U(H.startTime)+N+.5*(U(H.endTime)-U(H.startTime))-.5*I:U(H.startTime)+N}).attr("y",function(H,V){return V=H.order,H.vert?i.gridLineStartPadding:V*M+P}).attr("width",function(H){return H.milestone?I:H.vert?.08*I:U(H.renderEndTime||H.endTime)-U(H.startTime)}).attr("height",function(H){return H.vert?D.length*(i.barHeight+i.barGap)+i.barHeight*2:I}).attr("transform-origin",function(H,V){return V=H.order,(U(H.startTime)+N+.5*(U(H.endTime)-U(H.startTime))).toString()+"px "+(V*M+P+.5*I).toString()+"px"}).attr("class",function(H){const V="task";let G="";H.classes.length>0&&(G=H.classes.join(" "));let K=0;for(const[oe,Z]of f.entries())H.type===Z&&(K=oe%i.numberSectionStyles);let W="";return H.active?H.crit?W+=" activeCrit":W=" active":H.done?H.crit?W=" doneCrit":W=" done":H.crit&&(W+=" crit"),W.length===0&&(W=" task"),H.milestone&&(W=" milestone "+W),H.vert&&(W=" vert "+W),W+=K,W+=" "+G,V+W}),F.append("text").attr("id",function(H){return e+"-"+H.id+"-text"}).text(function(H){return H.task}).attr("font-size",i.fontSize).attr("x",function(H){let V=U(H.startTime),G=U(H.renderEndTime||H.endTime);if(H.milestone&&(V+=.5*(U(H.endTime)-U(H.startTime))-.5*I,G=V+I),H.vert)return U(H.startTime)+N;const K=this.getBBox().width;return K>G-V?G+K+1.5*i.leftPadding>_?V+N-5:G+N+5:(G-V)/2+V+N}).attr("y",function(H,V){return H.vert?i.gridLineStartPadding+D.length*(i.barHeight+i.barGap)+60:(V=H.order,V*M+i.barHeight/2+(i.fontSize/2-2)+P)}).attr("text-height",I).attr("class",function(H){const V=U(H.startTime);let G=U(H.endTime);H.milestone&&(G=V+I);const K=this.getBBox().width;let W="";H.classes.length>0&&(W=H.classes.join(" "));let oe=0;for(const[J,ne]of f.entries())H.type===ne&&(oe=J%i.numberSectionStyles);let Z="";return H.active&&(H.crit?Z="activeCritText"+oe:Z="activeText"+oe),H.done?H.crit?Z=Z+" doneCritText"+oe:Z=Z+" doneText"+oe:H.crit&&(Z=Z+" critText"+oe),H.milestone&&(Z+=" milestoneText"),H.vert&&(Z+=" vertText"),K>G-V?G+K+1.5*i.leftPadding>_?W+" taskTextOutsideLeft taskTextOutside"+oe+" "+Z:W+" taskTextOutsideRight taskTextOutside"+oe+" "+Z+" width-"+K:W+" taskText taskText"+oe+" "+Z+" width-"+K}),Ve().securityLevel==="sandbox"){let H;H=vt("#i"+e);const V=H.nodes()[0].contentDocument;F.filter(function(G){return z.has(G.id)}).each(function(G){var K=V.querySelector("#"+CSS.escape(e+"-"+G.id)),W=V.querySelector("#"+CSS.escape(e+"-"+G.id+"-text"));const oe=K.parentNode;var Z=V.createElement("a");Z.setAttribute("xlink:href",z.get(G.id)),Z.setAttribute("target","_top"),oe.appendChild(Z),Z.appendChild(K),Z.appendChild(W)})}}x(v,"drawRects");function w(A,M,P,N,I,L,_,D){if(_.length===0&&D.length===0)return;let O,B;for(const{startTime:G,endTime:K}of L)(O===void 0||G<O)&&(O=G),(B===void 0||K>B)&&(B=K);if(!O||!B)return;if(Qs(B).diff(Qs(O),"year")>5){he.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 F=n.db.getDateFormat(),z=[];let $=null,H=Qs(O);for(;H.valueOf()<=B;)n.db.isInvalidDate(H,F,_,D)?$?$.end=H:$={start:H,end:H}:$&&(z.push($),$=null),H=H.add(1,"d");m.append("g").selectAll("rect").data(z).enter().append("rect").attr("id",G=>e+"-exclude-"+G.start.format("YYYY-MM-DD")).attr("x",G=>U(G.start.startOf("day"))+P).attr("y",i.gridLineStartPadding).attr("width",G=>U(G.end.endOf("day"))-U(G.start.startOf("day"))).attr("height",I-M-i.gridLineStartPadding).attr("transform-origin",function(G,K){return(U(G.start)+P+.5*(U(G.end)-U(G.start))).toString()+"px "+(K*A+.5*I).toString()+"px"}).attr("class","exclude-range")}x(w,"drawExcludeDays");function T(A,M,P,N){if(P<=0||A>M)return 1/0;const I=M-A,L=Qs.duration({[N??"day"]:P}).asMilliseconds();return L<=0?1/0:Math.ceil(I/L)}x(T,"getEstimatedTickCount");function S(A,M,P,N){const I=n.db.getDateFormat(),L=n.db.getAxisFormat();let _;L?_=L:I==="D"?_="%d":_=i.axisFormat??"%Y-%m-%d";let D=ubt(U).tickSize(-N+M+i.gridLineStartPadding).tickFormat(cI(_));const B=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(n.db.getTickInterval()||i.tickInterval);if(B!==null){const F=parseInt(B[1],10);if(isNaN(F)||F<=0)he.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{const z=B[2],$=n.db.getWeekday()||i.weekday,H=U.domain(),V=H[0],G=H[1],K=T(V,G,F,z);if(K>hV)he.warn(`The tick interval "${F}${z}" would generate ${K} ticks, which exceeds the maximum allowed (${hV}). This may indicate an invalid date or time range. Skipping custom tick interval.`);else switch(z){case"millisecond":D.ticks(Hv.every(F));break;case"second":D.ticks(cg.every(F));break;case"minute":D.ticks(dT.every(F));break;case"hour":D.ticks(hT.every(F));break;case"day":D.ticks(ZU.every(F));break;case"week":D.ticks(Kye[$].every(F));break;case"month":D.ticks(pT.every(F));break}}}if(m.append("g").attr("class","grid").attr("transform","translate("+A+", "+(N-50)+")").call(D).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),n.db.topAxisEnabled()||i.topAxis){let F=cbt(U).tickSize(-N+M+i.gridLineStartPadding).tickFormat(cI(_));if(B!==null){const z=parseInt(B[1],10);if(isNaN(z)||z<=0)he.warn(`Invalid tick interval value: "${B[1]}". Skipping custom tick interval.`);else{const $=B[2],H=n.db.getWeekday()||i.weekday,V=U.domain(),G=V[0],K=V[1];if(T(G,K,z,$)<=hV)switch($){case"millisecond":F.ticks(Hv.every(z));break;case"second":F.ticks(cg.every(z));break;case"minute":F.ticks(dT.every(z));break;case"hour":F.ticks(hT.every(z));break;case"day":F.ticks(ZU.every(z));break;case"week":F.ticks(Kye[H].every(z));break;case"month":F.ticks(pT.every(z));break}}}m.append("g").attr("class","grid").attr("transform","translate("+A+", "+M+")").call(F).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}x(S,"makeGrid");function C(A,M){let P=0;const N=Object.keys(p).map(I=>[I,p[I]]);m.append("g").selectAll("text").data(N).enter().append(function(I){const L=I[0].split(Vt.lineBreakRegex),_=-(L.length-1)/2,D=l.createElementNS("http://www.w3.org/2000/svg","text");D.setAttribute("dy",_+"em");for(const[O,B]of L.entries()){const F=l.createElementNS("http://www.w3.org/2000/svg","tspan");F.setAttribute("alignment-baseline","central"),F.setAttribute("x","10"),O>0&&F.setAttribute("dy","1em"),F.textContent=B,D.appendChild(F)}return D}).attr("x",10).attr("y",function(I,L){if(L>0)for(let _=0;_<L;_++)return P+=N[L-1][1],I[1]*A/2+P*A+M;else return I[1]*A/2+M}).attr("font-size",i.sectionFontSize).attr("class",function(I){for(const[L,_]of f.entries())if(I[0]===_)return"sectionTitle sectionTitle"+L%i.numberSectionStyles;return"sectionTitle"})}x(C,"vertLabels");function k(A,M,P,N){const I=n.db.getTodayMarker();if(I==="off")return;const L=m.append("g").attr("class","today"),_=new Date,D=L.append("line");D.attr("x1",U(_)+A).attr("x2",U(_)+A).attr("y1",i.titleTopMargin).attr("y2",N-i.titleTopMargin).attr("class","today"),I!==""&&D.attr("style",I.replace(/,/g,";"))}x(k,"drawToday");function E(A){const M={},P=[];for(let N=0,I=A.length;N<I;++N)Object.prototype.hasOwnProperty.call(M,A[N])||(M[A[N]]=!0,P.push(A[N]));return P}x(E,"checkUnique")},"draw"),c5r={setConf:s5r,draw:l5r},u5r=x(t=>`
.mermaid-main-font {
font-family: ${t.fontFamily};
}
.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: ${t.fontFamily};
}
/* 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: ${t.fontFamily};
}
.taskTextOutsideRight {
fill: ${t.taskTextDarkColor};
text-anchor: start;
font-family: ${t.fontFamily};
}
.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;
}
/* Done task text displayed outside the bar sits against the diagram background,
not against the done-task bar, so it must use the outside/contrast color. */
.doneText0.taskTextOutsideLeft,
.doneText0.taskTextOutsideRight,
.doneText1.taskTextOutsideLeft,
.doneText1.taskTextOutsideRight,
.doneText2.taskTextOutsideLeft,
.doneText2.taskTextOutsideRight,
.doneText3.taskTextOutsideLeft,
.doneText3.taskTextOutsideRight {
fill: ${t.taskTextOutsideColor} !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;
}
/* Done-crit task text outside the bar — same reasoning as doneText above. */
.doneCritText0.taskTextOutsideLeft,
.doneCritText0.taskTextOutsideRight,
.doneCritText1.taskTextOutsideLeft,
.doneCritText1.taskTextOutsideRight,
.doneCritText2.taskTextOutsideLeft,
.doneCritText2.taskTextOutsideRight,
.doneCritText3.taskTextOutsideLeft,
.doneCritText3.taskTextOutsideRight {
fill: ${t.taskTextOutsideColor} !important;
}
.vert {
stroke: ${t.vertLineColor};
}
.vertText {
font-size: 15px;
text-anchor: middle;
fill: ${t.vertLineColor} !important;
}
.activeCritText0,
.activeCritText1,
.activeCritText2,
.activeCritText3 {
fill: ${t.taskTextDarkColor} !important;
}
.titleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.titleColor||t.textColor};
font-family: ${t.fontFamily};
}
`,"getStyles"),d5r=u5r,h5r={parser:wUr,db:a5r,renderer:c5r,styles:d5r};const f5r=Object.freeze(Object.defineProperty({__proto__:null,diagram:h5r},Symbol.toStringTag,{value:"Module"}));var p5r={parse:x(async t=>{const e=await Qu("info",t);he.debug(e)},"parse")},g5r={version:"11.16.1"},m5r=x(()=>g5r.version,"getVersion"),U5r={getVersion:m5r},y5r=x((t,e,r)=>{he.debug(`rendering info diagram
`+t);const n=sl(e);Wa(n,100,400,!0),n.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${r}`)},"draw"),b5r={draw:y5r},v5r={parser:p5r,db:U5r,renderer:b5r};const x5r=Object.freeze(Object.defineProperty({__proto__:null,diagram:v5r},Symbol.toStringTag,{value:"Module"}));var w5r=An.pie,Zae={sections:new Map,showData:!1},lO=Zae.sections,Jae=Zae.showData,T5r=structuredClone(w5r),C5r=x(()=>structuredClone(T5r),"getConfig"),S5r=x(()=>{lO=new Map,Jae=Zae.showData,Di()},"clear"),k5r=x(({label:t,value:e})=>{if(e<0)throw new Error(`"${t}" has invalid value: ${e}. Negative values are not allowed in pie charts. All slice values must be >= 0.`);lO.has(t)||(lO.set(t,e),he.debug(`added new section: ${t}, with value: ${e}`))},"addSection"),E5r=x(()=>lO,"getSections"),A5r=x(t=>{Jae=t},"setShowData"),M5r=x(()=>Jae,"getShowData"),dYe={getConfig:C5r,clear:S5r,setDiagramTitle:ra,getDiagramTitle:Yi,setAccTitle:qi,getAccTitle:ia,setAccDescription:aa,getAccDescription:sa,addSection:k5r,getSections:E5r,setShowData:A5r,getShowData:M5r},R5r=x((t,e)=>{ec(t,e),e.setShowData(t.showData),t.sections.map(e.addSection)},"populateDb"),I5r={parse:x(async t=>{const e=await Qu("pie",t);he.debug(e),R5r(e,dYe)},"parse")},L5r=x(t=>`
.pieCircle{
stroke: ${t.pieStrokeColor};
stroke-width : ${t.pieStrokeWidth};
opacity : ${t.pieOpacity};
}
.pieCircle.highlighted{
scale: 1.05;
opacity: 1;
}
.pieCircle.highlightedOnHover:hover{
transition-duration: 250ms;
scale: 1.05;
opacity: 1;
}
.pieOuterCircle{
stroke: ${t.pieOuterStrokeColor};
stroke-width: ${t.pieOuterStrokeWidth};
fill: none;
}
.pieTitleText {
text-anchor: middle;
font-size: ${t.pieTitleTextSize};
fill: ${t.pieTitleTextColor};
font-family: ${t.fontFamily};
}
.slice {
font-family: ${t.fontFamily};
fill: ${t.pieSectionTextColor};
font-size:${t.pieSectionTextSize};
// fill: white;
}
.legend text {
fill: ${t.pieLegendTextColor};
font-family: ${t.fontFamily};
font-size: ${t.pieLegendTextSize};
}
`,"getStyles"),N5r=L5r,O5r=x(t=>{const e=[...t.values()].reduce((i,a)=>i+a,0),r=[...t.entries()].map(([i,a])=>({label:i,value:a})).filter(i=>i.value/e*100>=1);return c3t().value(i=>i.value).sort(null)(r)},"createPieArcs"),D5r=x((t,e,r,n)=>{var W;he.debug(`rendering pie chart
`+t);const i=n.db,a=Ve(),s=na(i.getConfig(),a.pie),o=40,l=18,u=4,d=450,h=d,f=sl(e),p=f.append("g");p.attr("transform","translate("+h/2+","+d/2+")");const{themeVariables:g}=a;let[m]=ap(g.pieOuterStrokeWidth);m??(m=2);const U=s.legendPosition,y=s.textPosition,b=s.donutHole>0&&s.donutHole<=.9?s.donutHole:0,v=Math.min(h,d)/2-o,w=Gv().innerRadius(b*v).outerRadius(v),T=Gv().innerRadius(v*y).outerRadius(v*y),S=p.append("g");S.append("circle").attr("cx",0).attr("cy",0).attr("r",v+m/2).attr("class","pieOuterCircle");const C=i.getSections(),k=O5r(C),E=[g.pie1,g.pie2,g.pie3,g.pie4,g.pie5,g.pie6,g.pie7,g.pie8,g.pie9,g.pie10,g.pie11,g.pie12];let A=0;C.forEach(oe=>{A+=oe});const M=k.filter(oe=>(oe.data.value/A*100).toFixed(0)!=="0"),P=MU(E).domain([...C.keys()]);S.selectAll("mySlices").data(M).enter().append("path").attr("d",w).attr("fill",oe=>P(oe.data.label)).attr("class",oe=>{let Z="pieCircle";return s.highlightSlice==="hover"?Z+=" highlightedOnHover":s.highlightSlice===oe.data.label&&(Z+=" highlighted"),Z}),S.selectAll("mySlices").data(M).enter().append("text").text(oe=>(oe.data.value/A*100).toFixed(0)+"%").attr("transform",oe=>"translate("+T.centroid(oe)+")").style("text-anchor","middle").attr("class","slice");const N=p.append("text").text(i.getDiagramTitle()).attr("x",0).attr("y",-400/2).attr("class","pieTitleText"),I=[...C.entries()].map(([oe,Z])=>({label:oe,value:Z})),L=p.selectAll(".legend").data(I).enter().append("g").attr("class","legend");L.append("rect").attr("width",l).attr("height",l).style("fill",oe=>P(oe.label)).style("stroke",oe=>P(oe.label)),L.append("text").attr("x",l+u).attr("y",l-u).text(oe=>i.getShowData()?`${oe.label} [${oe.value}]`:oe.label);const _=Math.max(...L.selectAll("text").nodes().map(oe=>(oe==null?void 0:oe.getBoundingClientRect().width)??0));let D=d,O=h+o;const B=l+u,F=I.length*B;switch(U){case"center":L.attr("transform",(oe,Z)=>{const J=B*I.length/2,ne=-_/2-(l+u),ie=Z*B-J;return"translate("+ne+","+ie+")"});break;case"top":D+=F,L.attr("transform",(oe,Z)=>{const J=v,ne=-_/2-(l+u),ie=Z*B-J;return`translate(${ne}, ${ie})`}),S.attr("transform",()=>`translate(0, ${F+B})`);break;case"bottom":D+=F,L.attr("transform",(oe,Z)=>{const J=-v-B,ne=-_/2-(l+u),ie=Z*B-J;return"translate("+ne+","+ie+")"});break;case"left":O+=l+u+_,L.attr("transform",(oe,Z)=>{const J=B*I.length/2,ne=-v-(l+u),ie=Z*B-J;return"translate("+ne+","+ie+")"}),S.attr("transform",()=>`translate(${_+l+u}, 0)`);break;case"right":default:O+=l+u+_,L.attr("transform",(oe,Z)=>{const J=B*I.length/2,ne=12*l,ie=Z*B-J;return"translate("+ne+","+ie+")"});break}const z=((W=N.node())==null?void 0:W.getBoundingClientRect().width)??0,$=h/2-z/2,H=h/2+z/2,V=Math.min(0,$),K=Math.max(O,H)-V;f.attr("viewBox",`${V} 0 ${K} ${D}`),Wa(f,D,K,s.useMaxWidth)},"draw"),P5r={draw:D5r},_5r={parser:I5r,db:dYe,renderer:P5r,styles:N5r};const B5r=Object.freeze(Object.defineProperty({__proto__:null,diagram:_5r},Symbol.toStringTag,{value:"Module"}));var TK=(function(){var t=x(function(X,fe,ee,Ae){for(ee=ee||{},Ae=X.length;Ae--;ee[X[Ae]]=fe);return ee},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[1,7],s=[1,4,5,10,12,13,14,15,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,15,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[55,56,57],u=[2,36],d=[1,37],h=[1,36],f=[1,38],p=[1,35],g=[1,43],m=[1,41],U=[1,45],y=[1,14],b=[1,23],v=[1,18],w=[1,19],T=[1,20],S=[1,21],C=[1,22],k=[1,24],E=[1,25],A=[1,26],M=[1,27],P=[1,28],N=[1,29],I=[1,32],L=[1,33],_=[1,34],D=[1,39],O=[1,40],B=[1,42],F=[1,44],z=[1,63],$=[1,62],H=[4,5,8,10,12,13,14,15,18,44,47,49,55,56,57,63,64,65,66,67],V=[1,66],G=[1,67],K=[1,68],W=[1,69],oe=[1,70],Z=[1,71],J=[1,72],ne=[1,73],ie=[1,74],me=[1,75],te=[1,76],Re=[1,77],_e=[4,5,6,7,8,9,10,11,12,13,14,15,18],He=[1,91],ce=[1,92],de=[1,93],we=[1,100],ge=[1,94],ze=[1,97],xe=[1,95],Ee=[1,96],qe=[1,98],le=[1,99],pe=[1,103],Te=[10,55,56,57],re=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],Y={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:x(function(fe,ee,Ae,Me,Ke,Ne,je){var Oe=Ne.length-1;switch(Ke){case 23:this.$=Ne[Oe];break;case 24:this.$=Ne[Oe-1]+""+Ne[Oe];break;case 26:this.$=Ne[Oe-1]+Ne[Oe];break;case 27:this.$=[Ne[Oe].trim()];break;case 28:Ne[Oe-2].push(Ne[Oe].trim()),this.$=Ne[Oe-2];break;case 29:this.$=Ne[Oe-4],Me.addClass(Ne[Oe-2],Ne[Oe]);break;case 37:this.$=[];break;case 42:this.$=Ne[Oe].trim(),Me.setDiagramTitle(this.$);break;case 43:this.$=Ne[Oe].trim(),Me.setAccTitle(this.$);break;case 44:case 45:this.$=Ne[Oe].trim(),Me.setAccDescription(this.$);break;case 46:Me.addSection(Ne[Oe].substr(8)),this.$=Ne[Oe].substr(8);break;case 47:Me.addPoint(Ne[Oe-3],"",Ne[Oe-1],Ne[Oe],[]);break;case 48:Me.addPoint(Ne[Oe-4],Ne[Oe-3],Ne[Oe-1],Ne[Oe],[]);break;case 49:Me.addPoint(Ne[Oe-4],"",Ne[Oe-2],Ne[Oe-1],Ne[Oe]);break;case 50:Me.addPoint(Ne[Oe-5],Ne[Oe-4],Ne[Oe-2],Ne[Oe-1],Ne[Oe]);break;case 51:Me.setXAxisLeftText(Ne[Oe-2]),Me.setXAxisRightText(Ne[Oe]);break;case 52:Ne[Oe-1].text+=" ⟶ ",Me.setXAxisLeftText(Ne[Oe-1]);break;case 53:Me.setXAxisLeftText(Ne[Oe]);break;case 54:Me.setYAxisBottomText(Ne[Oe-2]),Me.setYAxisTopText(Ne[Oe]);break;case 55:Ne[Oe-1].text+=" ⟶ ",Me.setYAxisBottomText(Ne[Oe-1]);break;case 56:Me.setYAxisBottomText(Ne[Oe]);break;case 57:Me.setQuadrant1Text(Ne[Oe]);break;case 58:Me.setQuadrant2Text(Ne[Oe]);break;case 59:Me.setQuadrant3Text(Ne[Oe]);break;case 60:Me.setQuadrant4Text(Ne[Oe]);break;case 64:this.$={text:Ne[Oe],type:"text"};break;case 65:this.$={text:Ne[Oe-1].text+""+Ne[Oe],type:Ne[Oe-1].type};break;case 66:this.$={text:Ne[Oe],type:"text"};break;case 67:this.$={text:Ne[Oe],type:"markdown"};break;case 68:this.$=Ne[Oe];break;case 69:this.$=Ne[Oe-1]+""+Ne[Oe];break}},"anonymous"),table:[{18:e,26:1,27:2,28:r,55:n,56:i,57:a},{1:[3]},{18:e,26:8,27:2,28:r,55:n,56:i,57:a},{18:e,26:9,27:2,28:r,55:n,56:i,57:a},t(s,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(l,u,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:h,10:f,12:p,13:g,14:m,15:U,18:y,25:b,35:v,37:w,39:T,41:S,42:C,48:k,50:E,51:A,52:M,53:P,54:N,60:I,61:L,63:_,64:D,65:O,66:B,67:F}),t(s,[2,34]),{27:46,55:n,56:i,57:a},t(l,[2,37]),t(l,u,{24:13,32:15,33:16,34:17,43:30,58:31,31:47,4:d,5:h,10:f,12:p,13:g,14:m,15:U,18:y,25:b,35:v,37:w,39:T,41:S,42:C,48:k,50:E,51:A,52:M,53:P,54:N,60:I,61:L,63:_,64:D,65:O,66:B,67:F}),t(l,[2,39]),t(l,[2,40]),t(l,[2,41]),{36:[1,48]},{38:[1,49]},{40:[1,50]},t(l,[2,45]),t(l,[2,46]),{18:[1,51]},{4:d,5:h,10:f,12:p,13:g,14:m,15:U,43:52,58:31,60:I,61:L,63:_,64:D,65:O,66:B,67:F},{4:d,5:h,10:f,12:p,13:g,14:m,15:U,43:53,58:31,60:I,61:L,63:_,64:D,65:O,66:B,67:F},{4:d,5:h,10:f,12:p,13:g,14:m,15:U,43:54,58:31,60:I,61:L,63:_,64:D,65:O,66:B,67:F},{4:d,5:h,10:f,12:p,13:g,14:m,15:U,43:55,58:31,60:I,61:L,63:_,64:D,65:O,66:B,67:F},{4:d,5:h,10:f,12:p,13:g,14:m,15:U,43:56,58:31,60:I,61:L,63:_,64:D,65:O,66:B,67:F},{4:d,5:h,10:f,12:p,13:g,14:m,15:U,43:57,58:31,60:I,61:L,63:_,64:D,65:O,66:B,67:F},{4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,44:[1,58],47:[1,59],58:61,59:60,63:_,64:D,65:O,66:B,67:F},t(H,[2,64]),t(H,[2,66]),t(H,[2,67]),t(H,[2,70]),t(H,[2,71]),t(H,[2,72]),t(H,[2,73]),t(H,[2,74]),t(H,[2,75]),t(H,[2,76]),t(H,[2,77]),t(H,[2,78]),t(H,[2,79]),t(H,[2,80]),t(H,[2,81]),t(s,[2,35]),t(l,[2,38]),t(l,[2,42]),t(l,[2,43]),t(l,[2,44]),{3:65,4:V,5:G,6:K,7:W,8:oe,9:Z,10:J,11:ne,12:ie,13:me,14:te,15:Re,21:64},t(l,[2,53],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,49:[1,78],63:_,64:D,65:O,66:B,67:F}),t(l,[2,56],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,49:[1,79],63:_,64:D,65:O,66:B,67:F}),t(l,[2,57],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,63:_,64:D,65:O,66:B,67:F}),t(l,[2,58],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,63:_,64:D,65:O,66:B,67:F}),t(l,[2,59],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,63:_,64:D,65:O,66:B,67:F}),t(l,[2,60],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,63:_,64:D,65:O,66:B,67:F}),{45:[1,80]},{44:[1,81]},t(H,[2,65]),t(H,[2,82]),t(H,[2,83]),t(H,[2,84]),{3:83,4:V,5:G,6:K,7:W,8:oe,9:Z,10:J,11:ne,12:ie,13:me,14:te,15:Re,18:[1,82]},t(_e,[2,23]),t(_e,[2,1]),t(_e,[2,2]),t(_e,[2,3]),t(_e,[2,4]),t(_e,[2,5]),t(_e,[2,6]),t(_e,[2,7]),t(_e,[2,8]),t(_e,[2,9]),t(_e,[2,10]),t(_e,[2,11]),t(_e,[2,12]),t(l,[2,52],{58:31,43:84,4:d,5:h,10:f,12:p,13:g,14:m,15:U,60:I,61:L,63:_,64:D,65:O,66:B,67:F}),t(l,[2,55],{58:31,43:85,4:d,5:h,10:f,12:p,13:g,14:m,15:U,60:I,61:L,63:_,64:D,65:O,66:B,67:F}),{46:[1,86]},{45:[1,87]},{4:He,5:ce,6:de,8:we,11:ge,13:ze,16:90,17:xe,18:Ee,19:qe,20:le,22:89,23:88},t(_e,[2,24]),t(l,[2,51],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,63:_,64:D,65:O,66:B,67:F}),t(l,[2,54],{59:60,58:61,4:d,5:h,8:z,10:f,12:p,13:g,14:m,15:U,18:$,63:_,64:D,65:O,66:B,67:F}),t(l,[2,47],{22:89,16:90,23:101,4:He,5:ce,6:de,8:we,11:ge,13:ze,17:xe,18:Ee,19:qe,20:le}),{46:[1,102]},t(l,[2,29],{10:pe}),t(Te,[2,27],{16:104,4:He,5:ce,6:de,8:we,11:ge,13:ze,17:xe,18:Ee,19:qe,20:le}),t(re,[2,25]),t(re,[2,13]),t(re,[2,14]),t(re,[2,15]),t(re,[2,16]),t(re,[2,17]),t(re,[2,18]),t(re,[2,19]),t(re,[2,20]),t(re,[2,21]),t(re,[2,22]),t(l,[2,49],{10:pe}),t(l,[2,48],{22:89,16:90,23:105,4:He,5:ce,6:de,8:we,11:ge,13:ze,17:xe,18:Ee,19:qe,20:le}),{4:He,5:ce,6:de,8:we,11:ge,13:ze,16:90,17:xe,18:Ee,19:qe,20:le,22:106},t(re,[2,26]),t(l,[2,50],{10:pe}),t(Te,[2,28],{16:104,4:He,5:ce,6:de,8:we,11:ge,13:ze,17:xe,18:Ee,19:qe,20:le})],defaultActions:{8:[2,30],9:[2,31]},parseError:x(function(fe,ee){if(ee.recoverable)this.trace(fe);else{var Ae=new Error(fe);throw Ae.hash=ee,Ae}},"parseError"),parse:x(function(fe){var ee=this,Ae=[0],Me=[],Ke=[null],Ne=[],je=this.table,Oe="",Ze=0,Fe=0,at=2,Pe=1,gt=Ne.slice.call(arguments,1),Ie=Object.create(this.lexer),St={yy:{}};for(var Et in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Et)&&(St.yy[Et]=this.yy[Et]);Ie.setInput(fe,St.yy),St.yy.lexer=Ie,St.yy.parser=this,typeof Ie.yylloc>"u"&&(Ie.yylloc={});var ot=Ie.yylloc;Ne.push(ot);var Ht=Ie.options&&Ie.options.ranges;typeof St.yy.parseError=="function"?this.parseError=St.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function It(ir){Ae.length=Ae.length-2*ir,Ke.length=Ke.length-ir,Ne.length=Ne.length-ir}x(It,"popStack");function ht(){var ir;return ir=Me.pop()||Ie.lex()||Pe,typeof ir!="number"&&(ir instanceof Array&&(Me=ir,ir=Me.pop()),ir=ee.symbols_[ir]||ir),ir}x(ht,"lex");for(var ve,Lt,xt,mt,Mt={},Dr,ke,it,pt;;){if(Lt=Ae[Ae.length-1],this.defaultActions[Lt]?xt=this.defaultActions[Lt]:((ve===null||typeof ve>"u")&&(ve=ht()),xt=je[Lt]&&je[Lt][ve]),typeof xt>"u"||!xt.length||!xt[0]){var bt="";pt=[];for(Dr in je[Lt])this.terminals_[Dr]&&Dr>at&&pt.push("'"+this.terminals_[Dr]+"'");Ie.showPosition?bt="Parse error on line "+(Ze+1)+`:
`+Ie.showPosition()+`
Expecting `+pt.join(", ")+", got '"+(this.terminals_[ve]||ve)+"'":bt="Parse error on line "+(Ze+1)+": Unexpected "+(ve==Pe?"end of input":"'"+(this.terminals_[ve]||ve)+"'"),this.parseError(bt,{text:Ie.match,token:this.terminals_[ve]||ve,line:Ie.yylineno,loc:ot,expected:pt})}if(xt[0]instanceof Array&&xt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Lt+", token: "+ve);switch(xt[0]){case 1:Ae.push(ve),Ke.push(Ie.yytext),Ne.push(Ie.yylloc),Ae.push(xt[1]),ve=null,Fe=Ie.yyleng,Oe=Ie.yytext,Ze=Ie.yylineno,ot=Ie.yylloc;break;case 2:if(ke=this.productions_[xt[1]][1],Mt.$=Ke[Ke.length-ke],Mt._$={first_line:Ne[Ne.length-(ke||1)].first_line,last_line:Ne[Ne.length-1].last_line,first_column:Ne[Ne.length-(ke||1)].first_column,last_column:Ne[Ne.length-1].last_column},Ht&&(Mt._$.range=[Ne[Ne.length-(ke||1)].range[0],Ne[Ne.length-1].range[1]]),mt=this.performAction.apply(Mt,[Oe,Fe,Ze,St.yy,xt[1],Ke,Ne].concat(gt)),typeof mt<"u")return mt;ke&&(Ae=Ae.slice(0,-1*ke*2),Ke=Ke.slice(0,-1*ke),Ne=Ne.slice(0,-1*ke)),Ae.push(this.productions_[xt[1]][0]),Ke.push(Mt.$),Ne.push(Mt._$),it=je[Ae[Ae.length-2]][Ae[Ae.length-1]],Ae.push(it);break;case 3:return!0}}return!0},"parse")},Q=(function(){var X={EOF:1,parseError:x(function(ee,Ae){if(this.yy.parser)this.yy.parser.parseError(ee,Ae);else throw new Error(ee)},"parseError"),setInput:x(function(fe,ee){return this.yy=ee||this.yy||{},this._input=fe,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},"setInput"),input:x(function(){var fe=this._input[0];this.yytext+=fe,this.yyleng++,this.offset++,this.match+=fe,this.matched+=fe;var ee=fe.match(/(?:\r\n?|\n).*/g);return ee?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),fe},"input"),unput:x(function(fe){var ee=fe.length,Ae=fe.split(/(?:\r\n?|\n)/g);this._input=fe+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-ee),this.offset-=ee;var Me=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),Ae.length-1&&(this.yylineno-=Ae.length-1);var Ke=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:Ae?(Ae.length===Me.length?this.yylloc.first_column:0)+Me[Me.length-Ae.length].length-Ae[0].length:this.yylloc.first_column-ee},this.options.ranges&&(this.yylloc.range=[Ke[0],Ke[0]+this.yyleng-ee]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(fe){this.unput(this.match.slice(fe))},"less"),pastInput:x(function(){var fe=this.matched.substr(0,this.matched.length-this.match.length);return(fe.length>20?"...":"")+fe.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var fe=this.match;return fe.length<20&&(fe+=this._input.substr(0,20-fe.length)),(fe.substr(0,20)+(fe.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var fe=this.pastInput(),ee=new Array(fe.length+1).join("-");return fe+this.upcomingInput()+`
`+ee+"^"},"showPosition"),test_match:x(function(fe,ee){var Ae,Me,Ke;if(this.options.backtrack_lexer&&(Ke={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&&(Ke.yylloc.range=this.yylloc.range.slice(0))),Me=fe[0].match(/(?:\r\n?|\n).*/g),Me&&(this.yylineno+=Me.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Me?Me[Me.length-1].length-Me[Me.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+fe[0].length},this.yytext+=fe[0],this.match+=fe[0],this.matches=fe,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(fe[0].length),this.matched+=fe[0],Ae=this.performAction.call(this,this.yy,this,ee,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ae)return Ae;if(this._backtrack){for(var Ne in Ke)this[Ne]=Ke[Ne];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var fe,ee,Ae,Me;this._more||(this.yytext="",this.match="");for(var Ke=this._currentRules(),Ne=0;Ne<Ke.length;Ne++)if(Ae=this._input.match(this.rules[Ke[Ne]]),Ae&&(!ee||Ae[0].length>ee[0].length)){if(ee=Ae,Me=Ne,this.options.backtrack_lexer){if(fe=this.test_match(Ae,Ke[Ne]),fe!==!1)return fe;if(this._backtrack){ee=!1;continue}else return!1}else if(!this.options.flex)break}return ee?(fe=this.test_match(ee,Ke[Me]),fe!==!1?fe:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var ee=this.next();return ee||this.lex()},"lex"),begin:x(function(ee){this.conditionStack.push(ee)},"begin"),popState:x(function(){var ee=this.conditionStack.length-1;return ee>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(ee){return ee=this.conditionStack.length-1-Math.abs(ee||0),ee>=0?this.conditionStack[ee]:"INITIAL"},"topState"),pushState:x(function(ee){this.begin(ee)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(ee,Ae,Me,Ke){switch(Me){case 0:break;case 1:break;case 2:return 55;case 3:break;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;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 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 23:this.popState();break;case 24:this.begin("string");break;case 25:this.popState();break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 31:this.popState();break;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 15;case 37:return 11;case 38:return 64;case 39:return 10;case 40:return 65;case 41:return 65;case 42:return 14;case 43:return 13;case 44:return 67;case 45:return 66;case 46:return 12;case 47:return 8;case 48:return 5;case 49:return 18;case 50:return 56;case 51:return 63;case 52:return 57}},"anonymous"),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,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?:[^\x00-\x7F]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],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:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}};return X})();Y.lexer=Q;function ue(){this.yy={}}return x(ue,"Parser"),ue.prototype=Y,Y.Parser=ue,new ue})();TK.parser=TK;var $5r=TK,pl=ip(),G8,F5r=(G8=class{constructor(){this.classes=new Map,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 e,r,n,i,a,s,o,l,u,d,h,f,p,g,m,U,y,b;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:((e=An.quadrantChart)==null?void 0:e.chartWidth)||500,chartWidth:((r=An.quadrantChart)==null?void 0:r.chartHeight)||500,titlePadding:((n=An.quadrantChart)==null?void 0:n.titlePadding)||10,titleFontSize:((i=An.quadrantChart)==null?void 0:i.titleFontSize)||20,quadrantPadding:((a=An.quadrantChart)==null?void 0:a.quadrantPadding)||5,xAxisLabelPadding:((s=An.quadrantChart)==null?void 0:s.xAxisLabelPadding)||5,yAxisLabelPadding:((o=An.quadrantChart)==null?void 0:o.yAxisLabelPadding)||5,xAxisLabelFontSize:((l=An.quadrantChart)==null?void 0:l.xAxisLabelFontSize)||16,yAxisLabelFontSize:((u=An.quadrantChart)==null?void 0:u.yAxisLabelFontSize)||16,quadrantLabelFontSize:((d=An.quadrantChart)==null?void 0:d.quadrantLabelFontSize)||16,quadrantTextTopPadding:((h=An.quadrantChart)==null?void 0:h.quadrantTextTopPadding)||5,pointTextPadding:((f=An.quadrantChart)==null?void 0:f.pointTextPadding)||5,pointLabelFontSize:((p=An.quadrantChart)==null?void 0:p.pointLabelFontSize)||12,pointRadius:((g=An.quadrantChart)==null?void 0:g.pointRadius)||5,xAxisPosition:((m=An.quadrantChart)==null?void 0:m.xAxisPosition)||"top",yAxisPosition:((U=An.quadrantChart)==null?void 0:U.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:((y=An.quadrantChart)==null?void 0:y.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:((b=An.quadrantChart)==null?void 0:b.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:pl.quadrant1Fill,quadrant2Fill:pl.quadrant2Fill,quadrant3Fill:pl.quadrant3Fill,quadrant4Fill:pl.quadrant4Fill,quadrant1TextFill:pl.quadrant1TextFill,quadrant2TextFill:pl.quadrant2TextFill,quadrant3TextFill:pl.quadrant3TextFill,quadrant4TextFill:pl.quadrant4TextFill,quadrantPointFill:pl.quadrantPointFill,quadrantPointTextFill:pl.quadrantPointTextFill,quadrantXAxisTextFill:pl.quadrantXAxisTextFill,quadrantYAxisTextFill:pl.quadrantYAxisTextFill,quadrantTitleFill:pl.quadrantTitleFill,quadrantInternalBorderStrokeFill:pl.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:pl.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,he.info("clear called")}setData(e){this.data={...this.data,...e}}addPoints(e){this.data.points=[...e,...this.data.points]}addClass(e,r){this.classes.set(e,r)}setConfig(e){he.trace("setConfig called with: ",e),this.config={...this.config,...e}}setThemeConfig(e){he.trace("setThemeConfig called with: ",e),this.themeConfig={...this.themeConfig,...e}}calculateSpace(e,r,n,i){const a=this.config.xAxisLabelPadding*2+this.config.xAxisLabelFontSize,s={top:e==="top"&&r?a:0,bottom:e==="bottom"&&r?a:0},o=this.config.yAxisLabelPadding*2+this.config.yAxisLabelFontSize,l={left:this.config.yAxisPosition==="left"&&n?o:0,right:this.config.yAxisPosition==="right"&&n?o:0},u=this.config.titleFontSize+this.config.titlePadding*2,d={top:i?u:0},h=this.config.quadrantPadding+l.left,f=this.config.quadrantPadding+s.top+d.top,p=this.config.chartWidth-this.config.quadrantPadding*2-l.left-l.right,g=this.config.chartHeight-this.config.quadrantPadding*2-s.top-s.bottom-d.top,m=p/2,U=g/2;return{xAxisSpace:s,yAxisSpace:l,titleSpace:d,quadrantSpace:{quadrantLeft:h,quadrantTop:f,quadrantWidth:p,quadrantHalfWidth:m,quadrantHeight:g,quadrantHalfHeight:U}}}getAxisLabels(e,r,n,i){const{quadrantSpace:a,titleSpace:s}=i,{quadrantHalfHeight:o,quadrantHeight:l,quadrantLeft:u,quadrantHalfWidth:d,quadrantTop:h,quadrantWidth:f}=a,p=!!this.data.xAxisRightText,g=!!this.data.yAxisTopText,m=[];return this.data.xAxisLeftText&&r&&m.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+(p?d/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+h+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&r&&m.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:u+d+(p?d/2:0),y:e==="top"?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+h+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:p?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&n&&m.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:h+l-(g?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&n&&m.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:this.config.yAxisPosition==="left"?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+u+f+this.config.quadrantPadding,y:h+o-(g?o/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:g?"center":"left",horizontalPos:"top",rotation:-90}),m}getQuadrants(e){const{quadrantSpace:r}=e,{quadrantHalfHeight:n,quadrantLeft:i,quadrantHalfWidth:a,quadrantTop:s}=r,o=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:i+a,y:s,width:a,height:n,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:i,y:s,width:a,height:n,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:i,y:s+n,width:a,height:n,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:i+a,y:s+n,width:a,height:n,fill:this.themeConfig.quadrant4Fill}];for(const l of o)l.text.x=l.x+l.width/2,this.data.points.length===0?(l.text.y=l.y+l.height/2,l.text.horizontalPos="middle"):(l.text.y=l.y+this.config.quadrantTextTopPadding,l.text.horizontalPos="top");return o}getQuadrantPoints(e){const{quadrantSpace:r}=e,{quadrantHeight:n,quadrantLeft:i,quadrantTop:a,quadrantWidth:s}=r,o=zv().domain([0,1]).range([i,s+i]),l=zv().domain([0,1]).range([n+a,a]);return this.data.points.map(d=>{const h=this.classes.get(d.className);return h&&(d={...h,...d}),{x:o(d.x),y:l(d.y),fill:d.color??this.themeConfig.quadrantPointFill,radius:d.radius??this.config.pointRadius,text:{text:d.text,fill:this.themeConfig.quadrantPointTextFill,x:o(d.x),y:l(d.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:d.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:d.strokeWidth??"0px"}})}getBorders(e){const r=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:n}=e,{quadrantHalfHeight:i,quadrantHeight:a,quadrantLeft:s,quadrantHalfWidth:o,quadrantTop:l,quadrantWidth:u}=n;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l,x2:s+u+r,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+u,y1:l+r,x2:s+u,y2:l+a-r},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-r,y1:l+a,x2:s+u+r,y2:l+a},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+r,x2:s,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+o,y1:l+r,x2:s+o,y2:l+a-r},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+i,x2:s+u-r,y2:l+i}]}getTitle(e){if(e)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 e=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),r=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),n=this.config.showTitle&&!!this.data.titleText,i=this.data.points.length>0?"bottom":this.config.xAxisPosition,a=this.calculateSpace(i,e,r,n);return{points:this.getQuadrantPoints(a),quadrants:this.getQuadrants(a),axisLabels:this.getAxisLabels(i,e,r,a),borderLines:this.getBorders(a),title:this.getTitle(n)}}},x(G8,"QuadrantBuilder"),G8),W8,pA=(W8=class extends Error{constructor(e,r,n){super(`value for ${e} ${r} is invalid, please use a valid ${n}`),this.name="InvalidStyleError"}},x(W8,"InvalidStyleError"),W8);function CK(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}x(CK,"validateHexCode");function hYe(t){return!/^\d+$/.test(t)}x(hYe,"validateNumber");function fYe(t){return!/^\d+px$/.test(t)}x(fYe,"validateSizeInPixels");function Tf(t){return On(t.trim(),Ve())}x(Tf,"textSanitizer");var Io=new F5r;function pYe(t){Io.setData({quadrant1Text:Tf(t.text)})}x(pYe,"setQuadrant1Text");function gYe(t){Io.setData({quadrant2Text:Tf(t.text)})}x(gYe,"setQuadrant2Text");function mYe(t){Io.setData({quadrant3Text:Tf(t.text)})}x(mYe,"setQuadrant3Text");function UYe(t){Io.setData({quadrant4Text:Tf(t.text)})}x(UYe,"setQuadrant4Text");function yYe(t){Io.setData({xAxisLeftText:Tf(t.text)})}x(yYe,"setXAxisLeftText");function bYe(t){Io.setData({xAxisRightText:Tf(t.text)})}x(bYe,"setXAxisRightText");function vYe(t){Io.setData({yAxisTopText:Tf(t.text)})}x(vYe,"setYAxisTopText");function xYe(t){Io.setData({yAxisBottomText:Tf(t.text)})}x(xYe,"setYAxisBottomText");function dB(t){const e={};for(const r of t){const[n,i]=r.trim().split(/\s*:\s*/);if(n==="radius"){if(hYe(i))throw new pA(n,i,"number");e.radius=parseInt(i)}else if(n==="color"){if(CK(i))throw new pA(n,i,"hex code");e.color=i}else if(n==="stroke-color"){if(CK(i))throw new pA(n,i,"hex code");e.strokeColor=i}else if(n==="stroke-width"){if(fYe(i))throw new pA(n,i,"number of pixels (eg. 10px)");e.strokeWidth=i}else throw new Error(`style named ${n} is not supported.`)}return e}x(dB,"parseStyles");function wYe(t,e,r,n,i){const a=dB(i);Io.addPoints([{x:r,y:n,text:Tf(t.text),className:e,...a}])}x(wYe,"addPoint");function TYe(t,e){Io.addClass(t,dB(e))}x(TYe,"addClass");function CYe(t){Io.setConfig({chartWidth:t})}x(CYe,"setWidth");function SYe(t){Io.setConfig({chartHeight:t})}x(SYe,"setHeight");function kYe(){const t=Ve(),{themeVariables:e,quadrantChart:r}=t;return r&&Io.setConfig(r),Io.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),Io.setData({titleText:Yi()}),Io.build()}x(kYe,"getQuadrantData");var z5r=x(function(){Io.clear(),Di()},"clear"),H5r={setWidth:CYe,setHeight:SYe,setQuadrant1Text:pYe,setQuadrant2Text:gYe,setQuadrant3Text:mYe,setQuadrant4Text:UYe,setXAxisLeftText:yYe,setXAxisRightText:bYe,setYAxisTopText:vYe,setYAxisBottomText:xYe,parseStyles:dB,addPoint:wYe,addClass:TYe,getQuadrantData:kYe,clear:z5r,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,getAccDescription:sa,setAccDescription:aa},V5r=x((t,e,r,n)=>{var k,E,A;function i(M){return M==="top"?"hanging":"middle"}x(i,"getDominantBaseLine");function a(M){return M==="left"?"start":"middle"}x(a,"getTextAnchor");function s(M){return`translate(${M.x}, ${M.y}) rotate(${M.rotation||0})`}x(s,"getTransformation");const o=Ve();he.debug(`Rendering quadrant chart
`+t);const l=o.securityLevel;let u;l==="sandbox"&&(u=vt("#i"+e));const h=vt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body").select(`[id="${e}"]`),f=h.append("g").attr("class","main"),p=((k=o.quadrantChart)==null?void 0:k.chartWidth)??500,g=((E=o.quadrantChart)==null?void 0:E.chartHeight)??500;Wa(h,g,p,((A=o.quadrantChart)==null?void 0:A.useMaxWidth)??!0),h.attr("viewBox","0 0 "+p+" "+g),n.db.setHeight(g),n.db.setWidth(p);const m=n.db.getQuadrantData(),U=f.append("g").attr("class","quadrants"),y=f.append("g").attr("class","border"),b=f.append("g").attr("class","data-points"),v=f.append("g").attr("class","labels"),w=f.append("g").attr("class","title");m.title&&w.append("text").attr("x",0).attr("y",0).attr("fill",m.title.fill).attr("font-size",m.title.fontSize).attr("dominant-baseline",i(m.title.horizontalPos)).attr("text-anchor",a(m.title.verticalPos)).attr("transform",s(m.title)).text(m.title.text),m.borderLines&&y.selectAll("line").data(m.borderLines).enter().append("line").attr("x1",M=>M.x1).attr("y1",M=>M.y1).attr("x2",M=>M.x2).attr("y2",M=>M.y2).style("stroke",M=>M.strokeFill).style("stroke-width",M=>M.strokeWidth);const T=U.selectAll("g.quadrant").data(m.quadrants).enter().append("g").attr("class","quadrant");T.append("rect").attr("x",M=>M.x).attr("y",M=>M.y).attr("width",M=>M.width).attr("height",M=>M.height).attr("fill",M=>M.fill),T.append("text").attr("x",0).attr("y",0).attr("fill",M=>M.text.fill).attr("font-size",M=>M.text.fontSize).attr("dominant-baseline",M=>i(M.text.horizontalPos)).attr("text-anchor",M=>a(M.text.verticalPos)).attr("transform",M=>s(M.text)).text(M=>M.text.text),v.selectAll("g.label").data(m.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(M=>M.text).attr("fill",M=>M.fill).attr("font-size",M=>M.fontSize).attr("dominant-baseline",M=>i(M.horizontalPos)).attr("text-anchor",M=>a(M.verticalPos)).attr("transform",M=>s(M));const C=b.selectAll("g.data-point").data(m.points).enter().append("g").attr("class","data-point");C.append("circle").attr("cx",M=>M.x).attr("cy",M=>M.y).attr("r",M=>M.radius).attr("fill",M=>M.fill).attr("stroke",M=>M.strokeColor).attr("stroke-width",M=>M.strokeWidth),C.append("text").attr("x",0).attr("y",0).text(M=>M.text.text).attr("fill",M=>M.text.fill).attr("font-size",M=>M.text.fontSize).attr("dominant-baseline",M=>i(M.text.horizontalPos)).attr("text-anchor",M=>a(M.text.verticalPos)).attr("transform",M=>s(M.text))},"draw"),G5r={draw:V5r},W5r={parser:$5r,db:H5r,renderer:G5r,styles:x(()=>"","styles")};const q5r=Object.freeze(Object.defineProperty({__proto__:null,diagram:W5r},Symbol.toStringTag,{value:"Module"}));var SK=(function(){var t=x(function(_,D,O,B){for(O=O||{},B=_.length;B--;O[_[B]]=D);return O},"o"),e=[1,10,12,14,16,18,19,21,23],r=[2,6],n=[1,3],i=[1,5],a=[1,6],s=[1,7],o=[1,5,10,12,14,16,18,19,21,23,36,37,38],l=[1,25],u=[1,26],d=[1,28],h=[1,29],f=[1,30],p=[1,31],g=[1,32],m=[1,33],U=[1,34],y=[1,35],b=[1,36],v=[1,37],w=[1,43],T=[1,42],S=[1,47],C=[1,50],k=[1,10,12,14,16,18,19,21,23,36,37,38],E=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38],A=[1,10,12,14,16,18,19,21,23,24,26,28,29,36,37,38,42,43,44,45,46,47,48,49,50,51],M=[1,65],P=[26,28],N={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,dataPoints:25,SQUARE_BRACES_END:26,dataPoint:27,COMMA:28,NUMBER_WITH_DECIMAL:29,STR:30,xAxisData:31,bandData:32,ARROW_DELIMITER:33,commaSeparatedTexts:34,yAxisData:35,NEWLINE:36,SEMI:37,EOF:38,alphaNum:39,MD_STR:40,alphaNumToken:41,AMP:42,NUM:43,ALPHA:44,PLUS:45,EQUALS:46,MULT:47,DOT:48,BRKT:49,MINUS:50,UNDERSCORE:51,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",28:"COMMA",29:"NUMBER_WITH_DECIMAL",30:"STR",33:"ARROW_DELIMITER",36:"NEWLINE",37:"SEMI",38:"EOF",40:"MD_STR",42:"AMP",43:"NUM",44:"ALPHA",45:"PLUS",46:"EQUALS",47:"MULT",48:"DOT",49:"BRKT",50:"MINUS",51:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[27,2],[27,1],[13,1],[13,2],[13,1],[31,1],[31,3],[32,3],[34,3],[34,1],[15,1],[15,2],[15,1],[35,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[39,1],[39,2],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1],[41,1]],performAction:x(function(D,O,B,F,z,$,H){var V=$.length-1;switch(z){case 5:F.setOrientation($[V]);break;case 9:F.setDiagramTitle($[V].text.trim());break;case 12:F.setLineData({text:"",type:"text"},$[V]);break;case 13:F.setLineData($[V-1],$[V]);break;case 14:F.setBarData({text:"",type:"text"},$[V]);break;case 15:F.setBarData($[V-1],$[V]);break;case 16:this.$=$[V].trim(),F.setAccTitle(this.$);break;case 17:case 18:this.$=$[V].trim(),F.setAccDescription(this.$);break;case 19:this.$=$[V-1];break;case 20:case 30:this.$=[$[V-2],...$[V]];break;case 21:case 31:this.$=[$[V]];break;case 22:this.$={value:Number($[V-1]),label:$[V]};break;case 23:this.$={value:Number($[V]),label:""};break;case 24:F.setXAxisTitle($[V]);break;case 25:F.setXAxisTitle($[V-1]);break;case 26:F.setXAxisTitle({type:"text",text:""});break;case 27:F.setXAxisBand($[V]);break;case 28:F.setXAxisRangeData(Number($[V-2]),Number($[V]));break;case 29:this.$=$[V-1];break;case 32:F.setYAxisTitle($[V]);break;case 33:F.setYAxisTitle($[V-1]);break;case 34:F.setYAxisTitle({type:"text",text:""});break;case 35:F.setYAxisRangeData(Number($[V-2]),Number($[V]));break;case 39:this.$={text:$[V],type:"text"};break;case 40:this.$={text:$[V],type:"text"};break;case 41:this.$={text:$[V],type:"markdown"};break;case 42:this.$=$[V];break;case 43:this.$=$[V-1]+""+$[V];break}},"anonymous"),table:[t(e,r,{3:1,4:2,7:4,5:n,36:i,37:a,38:s}),{1:[3]},t(e,r,{4:2,7:4,3:8,5:n,36:i,37:a,38:s}),t(e,r,{4:2,7:4,6:9,3:10,5:n,8:[1,11],36:i,37:a,38:s}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(o,[2,36]),t(o,[2,37]),t(o,[2,38]),{1:[2,1]},t(e,r,{4:2,7:4,3:21,5:n,36:i,37:a,38:s}),{1:[2,3]},t(o,[2,5]),t(e,[2,7],{4:22,36:i,37:a,38:s}),{11:23,30:l,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},{11:39,13:38,24:w,29:T,30:l,31:40,32:41,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},{11:45,15:44,29:S,30:l,35:46,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},{11:49,17:48,24:C,30:l,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},{11:52,17:51,24:C,30:l,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},{20:[1,53]},{22:[1,54]},t(k,[2,18]),{1:[2,2]},t(k,[2,8]),t(k,[2,9]),t(E,[2,39],{41:55,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v}),t(E,[2,40]),t(E,[2,41]),t(A,[2,42]),t(A,[2,44]),t(A,[2,45]),t(A,[2,46]),t(A,[2,47]),t(A,[2,48]),t(A,[2,49]),t(A,[2,50]),t(A,[2,51]),t(A,[2,52]),t(A,[2,53]),t(k,[2,10]),t(k,[2,24],{32:41,31:56,24:w,29:T}),t(k,[2,26]),t(k,[2,27]),{33:[1,57]},{11:59,30:l,34:58,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},t(k,[2,11]),t(k,[2,32],{35:60,29:S}),t(k,[2,34]),{33:[1,61]},t(k,[2,12]),{17:62,24:C},{25:63,27:64,29:M},t(k,[2,14]),{17:66,24:C},t(k,[2,16]),t(k,[2,17]),t(A,[2,43]),t(k,[2,25]),{29:[1,67]},{26:[1,68]},{26:[2,31],28:[1,69]},t(k,[2,33]),{29:[1,70]},t(k,[2,13]),{26:[1,71]},{26:[2,21],28:[1,72]},t(P,[2,23],{30:[1,73]}),t(k,[2,15]),t(k,[2,28]),t(k,[2,29]),{11:59,30:l,34:74,39:24,40:u,41:27,42:d,43:h,44:f,45:p,46:g,47:m,48:U,49:y,50:b,51:v},t(k,[2,35]),t(k,[2,19]),{25:75,27:64,29:M},t(P,[2,22]),{26:[2,30]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],74:[2,30],75:[2,20]},parseError:x(function(D,O){if(O.recoverable)this.trace(D);else{var B=new Error(D);throw B.hash=O,B}},"parseError"),parse:x(function(D){var O=this,B=[0],F=[],z=[null],$=[],H=this.table,V="",G=0,K=0,W=2,oe=1,Z=$.slice.call(arguments,1),J=Object.create(this.lexer),ne={yy:{}};for(var ie in this.yy)Object.prototype.hasOwnProperty.call(this.yy,ie)&&(ne.yy[ie]=this.yy[ie]);J.setInput(D,ne.yy),ne.yy.lexer=J,ne.yy.parser=this,typeof J.yylloc>"u"&&(J.yylloc={});var me=J.yylloc;$.push(me);var te=J.options&&J.options.ranges;typeof ne.yy.parseError=="function"?this.parseError=ne.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Re(pe){B.length=B.length-2*pe,z.length=z.length-pe,$.length=$.length-pe}x(Re,"popStack");function _e(){var pe;return pe=F.pop()||J.lex()||oe,typeof pe!="number"&&(pe instanceof Array&&(F=pe,pe=F.pop()),pe=O.symbols_[pe]||pe),pe}x(_e,"lex");for(var He,ce,de,we,ge={},ze,xe,Ee,qe;;){if(ce=B[B.length-1],this.defaultActions[ce]?de=this.defaultActions[ce]:((He===null||typeof He>"u")&&(He=_e()),de=H[ce]&&H[ce][He]),typeof de>"u"||!de.length||!de[0]){var le="";qe=[];for(ze in H[ce])this.terminals_[ze]&&ze>W&&qe.push("'"+this.terminals_[ze]+"'");J.showPosition?le="Parse error on line "+(G+1)+`:
`+J.showPosition()+`
Expecting `+qe.join(", ")+", got '"+(this.terminals_[He]||He)+"'":le="Parse error on line "+(G+1)+": Unexpected "+(He==oe?"end of input":"'"+(this.terminals_[He]||He)+"'"),this.parseError(le,{text:J.match,token:this.terminals_[He]||He,line:J.yylineno,loc:me,expected:qe})}if(de[0]instanceof Array&&de.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ce+", token: "+He);switch(de[0]){case 1:B.push(He),z.push(J.yytext),$.push(J.yylloc),B.push(de[1]),He=null,K=J.yyleng,V=J.yytext,G=J.yylineno,me=J.yylloc;break;case 2:if(xe=this.productions_[de[1]][1],ge.$=z[z.length-xe],ge._$={first_line:$[$.length-(xe||1)].first_line,last_line:$[$.length-1].last_line,first_column:$[$.length-(xe||1)].first_column,last_column:$[$.length-1].last_column},te&&(ge._$.range=[$[$.length-(xe||1)].range[0],$[$.length-1].range[1]]),we=this.performAction.apply(ge,[V,K,G,ne.yy,de[1],z,$].concat(Z)),typeof we<"u")return we;xe&&(B=B.slice(0,-1*xe*2),z=z.slice(0,-1*xe),$=$.slice(0,-1*xe)),B.push(this.productions_[de[1]][0]),z.push(ge.$),$.push(ge._$),Ee=H[B[B.length-2]][B[B.length-1]],B.push(Ee);break;case 3:return!0}}return!0},"parse")},I=(function(){var _={EOF:1,parseError:x(function(O,B){if(this.yy.parser)this.yy.parser.parseError(O,B);else throw new Error(O)},"parseError"),setInput:x(function(D,O){return this.yy=O||this.yy||{},this._input=D,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},"setInput"),input:x(function(){var D=this._input[0];this.yytext+=D,this.yyleng++,this.offset++,this.match+=D,this.matched+=D;var O=D.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),D},"input"),unput:x(function(D){var O=D.length,B=D.split(/(?:\r\n?|\n)/g);this._input=D+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-O),this.offset-=O;var F=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),B.length-1&&(this.yylineno-=B.length-1);var z=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:B?(B.length===F.length?this.yylloc.first_column:0)+F[F.length-B.length].length-B[0].length:this.yylloc.first_column-O},this.options.ranges&&(this.yylloc.range=[z[0],z[0]+this.yyleng-O]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(D){this.unput(this.match.slice(D))},"less"),pastInput:x(function(){var D=this.matched.substr(0,this.matched.length-this.match.length);return(D.length>20?"...":"")+D.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var D=this.match;return D.length<20&&(D+=this._input.substr(0,20-D.length)),(D.substr(0,20)+(D.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var D=this.pastInput(),O=new Array(D.length+1).join("-");return D+this.upcomingInput()+`
`+O+"^"},"showPosition"),test_match:x(function(D,O){var B,F,z;if(this.options.backtrack_lexer&&(z={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&&(z.yylloc.range=this.yylloc.range.slice(0))),F=D[0].match(/(?:\r\n?|\n).*/g),F&&(this.yylineno+=F.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:F?F[F.length-1].length-F[F.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+D[0].length},this.yytext+=D[0],this.match+=D[0],this.matches=D,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(D[0].length),this.matched+=D[0],B=this.performAction.call(this,this.yy,this,O,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),B)return B;if(this._backtrack){for(var $ in z)this[$]=z[$];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var D,O,B,F;this._more||(this.yytext="",this.match="");for(var z=this._currentRules(),$=0;$<z.length;$++)if(B=this._input.match(this.rules[z[$]]),B&&(!O||B[0].length>O[0].length)){if(O=B,F=$,this.options.backtrack_lexer){if(D=this.test_match(B,z[$]),D!==!1)return D;if(this._backtrack){O=!1;continue}else return!1}else if(!this.options.flex)break}return O?(D=this.test_match(O,z[F]),D!==!1?D:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var O=this.next();return O||this.lex()},"lex"),begin:x(function(O){this.conditionStack.push(O)},"begin"),popState:x(function(){var O=this.conditionStack.length-1;return O>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(O){return O=this.conditionStack.length-1-Math.abs(O||0),O>=0?this.conditionStack[O]:"INITIAL"},"topState"),pushState:x(function(O){this.begin(O)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(O,B,F,z){switch(F){case 0:break;case 1:break;case 2:return this.popState(),36;case 3:return this.popState(),36;case 4:return 36;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 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 33;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 29;case 25:return this.popState(),26;case 26:this.popState();break;case 27:this.pushState("string");break;case 28:this.popState();break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 44;case 33:return"COLON";case 34:return 45;case 35:return 28;case 36:return 46;case 37:return 47;case 38:return 49;case 39:return 51;case 40:return 48;case 41:return 42;case 42:return 50;case 43:return 43;case 44:break;case 45:return 37;case 46:return 38}},"anonymous"),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,/^(?:xychart\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<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/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,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],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:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}};return _})();N.lexer=I;function L(){this.yy={}}return x(L,"Parser"),L.prototype=N,N.Parser=L,new L})();SK.parser=SK;var j5r=SK;function kK(t){return t.type==="bar"}x(kK,"isBarPlot");function cO(t){return t.type==="band"}x(cO,"isBandAxisData");function Mb(t){return t.type==="linear"}x(Mb,"isLinearAxisData");var q8,EYe=(q8=class{constructor(e){this.parentGroup=e}getMaxDimension(e,r){if(!this.parentGroup)return{width:e.reduce((a,s)=>Math.max(s.length,a),0)*r,height:r};const n={width:0,height:0},i=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",r);for(const a of e){const s=_Te(i,1,a),o=s?s.width:a.length*r,l=s?s.height:r;n.width=Math.max(n.width,o),n.height=Math.max(n.height,l)}return i.remove(),n}},x(q8,"TextDimensionCalculatorWithFont"),q8),Zye=.7,Jye=.2,j8,AYe=(j8=class{constructor(e,r,n,i){this.axisConfig=e,this.title=r,this.textDimensionCalculator=n,this.axisThemeConfig=i,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.normalizedLabelRotationInRad=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.normalizedLabelRotationInRad=this.axisConfig.labelRotation>=-90&&this.axisConfig.labelRotation<=90?this.axisConfig.labelRotation*Math.PI/180:0}setRange(e){this.range=e,this.axisPosition==="left"||this.axisPosition==="right"?this.boundingRect.height=e[1]-e[0]:this.boundingRect.width=e[1]-e[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(e){this.axisPosition=e,this.setRange(this.range)}getTickDistance(){const e=this.getRange();return Math.abs(e[0]-e[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(e=>e.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){Zye*this.getTickDistance()>this.outerPadding*2&&(this.outerPadding=Math.floor(Zye*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(e){let r=e.height;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=Jye*e.width;this.outerPadding=Math.min(n.width/2,i);let a=n.height;this.axisPosition==="bottom"&&this.normalizedLabelRotationInRad!==0&&(a=Math.max(a,Math.abs(Math.sin(this.normalizedLabelRotationInRad)*n.width)+Math.abs(Math.cos(this.normalizedLabelRotationInRad)*n.height))),a+=this.axisConfig.labelPadding*2,this.labelTextHeight=n.height,a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width,this.boundingRect.height=e.height-r}calculateSpaceIfDrawnVertical(e){let r=e.width;if(this.axisConfig.showAxisLine&&r>this.axisConfig.axisLineWidth&&(r-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){const n=this.getLabelDimension(),i=Jye*e.height;this.outerPadding=Math.min(n.height/2,i);const a=n.width+this.axisConfig.labelPadding*2;a<=r&&(r-=a,this.showLabel=!0)}if(this.axisConfig.showTick&&r>=this.axisConfig.tickLength&&(this.showTick=!0,r-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){const n=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),i=n.height+this.axisConfig.titlePadding*2;this.titleTextHeight=n.height,i<=r&&(r-=i,this.showTitle=!0)}this.boundingRect.width=e.width-r,this.boundingRect.height=e.height}calculateSpace(e){return this.axisPosition==="left"||this.axisPosition==="right"?this.calculateSpaceIfDrawnVertical(e):this.calculateSpaceIfDrawnHorizontally(e),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateOffsetByRotation(e){const r=this.normalizedLabelRotationInRad;return r===0?0:Math.sin(r)*this.getLabelDimension()[e]/2}getDrawableElementsForLeftAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${r},${this.boundingRect.y} L ${r},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(r=>({text:r.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(r),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){const r=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${r},${this.getScaleValue(n)} L ${r-this.axisConfig.tickLength},${this.getScaleValue(n)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.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"}]}),e}getDrawableElementsForBottomAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r)+this.calculateOffsetByRotation("height"),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0)+Math.abs(this.calculateOffsetByRotation("width")),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:this.normalizedLabelRotationInRad*180/Math.PI,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){const r=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);e.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r} L ${this.getScaleValue(n)},${r+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.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"}]}),e}getDrawableElementsForTopAxis(){const e=[];if(this.showAxisLine){const r=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;e.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${r} L ${this.boundingRect.x+this.boundingRect.width},${r}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&e.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(r=>({text:r.toString(),x:this.getScaleValue(r),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 r=this.boundingRect.y;e.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(n=>({path:`M ${this.getScaleValue(n)},${r+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(n)},${r+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&e.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"}]}),e}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():[]}},x(j8,"BaseAxis"),j8),Y8,Y5r=(Y8=class extends AYe{constructor(e,r,n,i,a){super(e,i,a,r),this.categories=n,this.scale=QG().domain(this.categories).range(this.getRange())}setRange(e){super.setRange(e)}recalculateScale(){this.scale=QG().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),he.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(e){return this.scale(e)??this.getRange()[0]}},x(Y8,"BandAxis"),Y8),X8,X5r=(X8=class extends AYe{constructor(e,r,n,i,a){super(e,i,a,r),this.domain=n,this.scale=zv().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const e=[...this.domain];this.axisPosition==="left"&&e.reverse(),this.scale=zv().domain(e).range(this.getRange())}getScaleValue(e){return this.scale(e)}},x(X8,"LinearAxis"),X8);function EK(t,e,r,n){const i=new EYe(n);return cO(t)?new Y5r(e,r,t.categories,t.title,i):new X5r(e,r,[t.min,t.max],t.title,i)}x(EK,"getAxis");var K8,K5r=(K8=class{constructor(e,r,n,i){this.textDimensionCalculator=e,this.chartConfig=r,this.chartData=n,this.chartThemeConfig=i,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){const r=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),n=Math.max(r.width,e.width),i=r.height+2*this.chartConfig.titlePadding;return r.width<=n&&r.height<=i&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=n,this.boundingRect.height=i,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){const e=[];return this.showChartTitle&&e.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}]}),e}},x(K8,"ChartTitle"),K8);function MYe(t,e,r,n){const i=new EYe(n);return new K5r(i,t,e,r)}x(MYe,"getChartTitleComponent");var Z8,Z5r=(Z8=class{constructor(e,r,n,i,a){this.plotData=e,this.xAxis=r,this.yAxis=n,this.orientation=i,this.plotIndex=a}getDrawableElement(){const e=this.plotData.data.map(i=>[this.xAxis.getScaleValue(i[0]),this.yAxis.getScaleValue(i[1])]);let r;if(this.orientation==="horizontal"?r=mT().y(i=>i[0]).x(i=>i[1])(e):r=mT().x(i=>i[0]).y(i=>i[1])(e),!r)return[];const n=[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:r,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}];if(this.plotData.pointLabels&&this.plotData.pointLabels.length>0){const s=[];for(const[o,[l,u]]of e.entries()){const d=this.plotData.pointLabels[o];d&&(this.orientation==="horizontal"?s.push({x:u+10,y:l,text:d,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"left",fontSize:12,rotation:0}):s.push({x:l,y:u-10,text:d,fill:this.plotData.strokeFill,verticalPos:"middle",horizontalPos:"center",fontSize:12,rotation:0}))}s.length>0&&n.push({groupTexts:["plot",`line-plot-${this.plotIndex}`,"labels"],type:"text",data:s})}return n}},x(Z8,"LinePlot"),Z8),J8,J5r=(J8=class{constructor(e,r,n,i,a,s){this.barData=e,this.boundingRect=r,this.xAxis=n,this.yAxis=i,this.orientation=a,this.plotIndex=s}getDrawableElement(){const e=this.barData.data.map(a=>[this.xAxis.getScaleValue(a[0]),this.yAxis.getScaleValue(a[1])]),n=Math.min(this.xAxis.getAxisOuterPadding()*2,this.xAxis.getTickDistance())*(1-.05),i=n/2;return this.orientation==="horizontal"?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:this.boundingRect.x,y:a[0]-i,height:n,width:a[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:e.map(a=>({x:a[0]-i,y:a[1],width:n,height:this.boundingRect.y+this.boundingRect.height-a[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},x(J8,"BarPlot"),J8),Q8,Q5r=(Q8=class{constructor(e,r,n){this.chartConfig=e,this.chartData=r,this.chartThemeConfig=n,this.boundingRect={x:0,y:0,width:0,height:0}}setAxes(e,r){this.xAxis=e,this.yAxis=r}setBoundingBoxXY(e){this.boundingRect.x=e.x,this.boundingRect.y=e.y}calculateSpace(e){return this.boundingRect.width=e.width,this.boundingRect.height=e.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 e=[];for(const[r,n]of this.chartData.plots.entries())switch(n.type){case"line":{const i=new Z5r(n,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break;case"bar":{const i=new J5r(n,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,r);e.push(...i.getDrawableElement())}break}return e}},x(Q8,"BasePlot"),Q8);function RYe(t,e,r){return new Q5r(t,e,r)}x(RYe,"getPlotComponent");var ev,eyr=(ev=class{constructor(e,r,n,i){this.chartConfig=e,this.chartData=r,this.componentStore={title:MYe(e,r,n,i),plot:RYe(e,r,n),xAxis:EK(r.xAxis,e.xAxis,{titleColor:n.xAxisTitleColor,labelColor:n.xAxisLabelColor,tickColor:n.xAxisTickColor,axisLineColor:n.xAxisLineColor},i),yAxis:EK(r.yAxis,e.yAxis,{titleColor:n.yAxisTitleColor,labelColor:n.yAxisLabelColor,tickColor:n.yAxisTickColor,axisLineColor:n.yAxisLineColor},i)}}calculateVerticalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),s=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:s});e-=o.width,r-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),i=o.height,r-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:e,height:r}),r-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:e,height:r}),n=o.width,e-=o.width,e>0&&(a+=e,e=0),r>0&&(s+=r,r=0),this.componentStore.plot.calculateSpace({width:a,height:s}),this.componentStore.plot.setBoundingBoxXY({x:n,y:i}),this.componentStore.xAxis.setRange([n,n+a]),this.componentStore.xAxis.setBoundingBoxXY({x:n,y:i+s}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:i}),this.chartData.plots.some(l=>kK(l))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let e=this.chartConfig.width,r=this.chartConfig.height,n=0,i=0,a=0,s=Math.floor(e*this.chartConfig.plotReservedSpacePercent/100),o=Math.floor(r*this.chartConfig.plotReservedSpacePercent/100),l=this.componentStore.plot.calculateSpace({width:s,height:o});e-=l.width,r-=l.height,l=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:r}),n=l.height,r-=l.height,this.componentStore.xAxis.setAxisPosition("left"),l=this.componentStore.xAxis.calculateSpace({width:e,height:r}),e-=l.width,i=l.width,this.componentStore.yAxis.setAxisPosition("top"),l=this.componentStore.yAxis.calculateSpace({width:e,height:r}),r-=l.height,a=n+l.height,e>0&&(s+=e,e=0),r>0&&(o+=r,r=0),this.componentStore.plot.calculateSpace({width:s,height:o}),this.componentStore.plot.setBoundingBoxXY({x:i,y:a}),this.componentStore.yAxis.setRange([i,i+s]),this.componentStore.yAxis.setBoundingBoxXY({x:i,y:n}),this.componentStore.xAxis.setRange([a,a+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:a}),this.chartData.plots.some(u=>kK(u))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){this.chartConfig.chartOrientation==="horizontal"?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const e=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const r of Object.values(this.componentStore))e.push(...r.getDrawableElements());return e}},x(ev,"Orchestrator"),ev),tv,tyr=(tv=class{static build(e,r,n,i){return new eyr(e,r,n,i).getDrawableElement()}},x(tv,"XYChartBuilder"),tv),vC=0,IYe,xC=tse(),wC=ese(),Jn=rse(),AK=wC.plotColorPalette.split(",").map(t=>t.trim()),hB=!1,Qae=!1;function ese(){const t=ip(),e=xr();return na(t.xyChart,e.themeVariables.xyChart)}x(ese,"getChartDefaultThemeConfig");function tse(){const t=xr();return na(An.xyChart,t.xyChart)}x(tse,"getChartDefaultConfig");function rse(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}x(rse,"getChartDefaultData");function ak(t){const e=xr();return On(t.trim(),e)}x(ak,"textSanitizer");function LYe(t){IYe=t}x(LYe,"setTmpSVGG");function NYe(t){t==="horizontal"?xC.chartOrientation="horizontal":xC.chartOrientation="vertical"}x(NYe,"setOrientation");function OYe(t){Jn.xAxis.title=ak(t.text)}x(OYe,"setXAxisTitle");function nse(t,e){Jn.xAxis={type:"linear",title:Jn.xAxis.title,min:t,max:e},hB=!0}x(nse,"setXAxisRangeData");function DYe(t){Jn.xAxis={type:"band",title:Jn.xAxis.title,categories:t.map(e=>ak(e.text))},hB=!0}x(DYe,"setXAxisBand");function PYe(t){Jn.yAxis.title=ak(t.text)}x(PYe,"setYAxisTitle");function _Ye(t,e){Jn.yAxis={type:"linear",title:Jn.yAxis.title,min:t,max:e},Qae=!0}x(_Ye,"setYAxisRangeData");function BYe(t){const e=Math.min(...t),r=Math.max(...t),n=Mb(Jn.yAxis)?Jn.yAxis.min:1/0,i=Mb(Jn.yAxis)?Jn.yAxis.max:-1/0;Jn.yAxis={type:"linear",title:Jn.yAxis.title,min:Math.min(n,e),max:Math.max(i,r)}}x(BYe,"setYAxisRangeFromPlotData");function ise(t){let e=[];if(t.length===0)return e;if(!hB){const r=Mb(Jn.xAxis)?Jn.xAxis.min:1/0,n=Mb(Jn.xAxis)?Jn.xAxis.max:-1/0;nse(Math.min(r,1),Math.max(n,t.length))}if(cO(Jn.xAxis)&&t.length>Jn.xAxis.categories.length&&(t=t.slice(0,Jn.xAxis.categories.length)),Qae||BYe(t),cO(Jn.xAxis)&&(e=Jn.xAxis.categories.map((r,n)=>[r,t[n]])),Mb(Jn.xAxis)){const r=Jn.xAxis.min,n=Jn.xAxis.max;if(t.length===1)e=[[`${r}`,t[0]]];else{const i=(n-r)/(t.length-1);e=t.map((a,s)=>[`${r+s*i}`,a])}}return e}x(ise,"transformDataWithoutCategory");function ase(t){return AK[t===0?0:t%AK.length]}x(ase,"getPlotColorFromPalette");function $Ye(t,e){const r=e.map(s=>s.value),n=e.map(s=>s.label?ak(s.label):""),i=ise(r),a=n.some(s=>s!=="");Jn.plots.push({type:"line",strokeFill:ase(vC),strokeWidth:2,data:i,...a?{pointLabels:n}:{}}),vC++}x($Ye,"setLineData");function FYe(t,e){const r=e.map(i=>i.value),n=ise(r);Jn.plots.push({type:"bar",fill:ase(vC),data:n}),vC++}x(FYe,"setBarData");function zYe(){if(Jn.plots.length===0)throw Error("No Plot to render, please provide a plot with some data");return Jn.title=Yi(),tyr.build(xC,Jn,wC,IYe)}x(zYe,"getDrawableElem");function HYe(){return wC}x(HYe,"getChartThemeConfig");function VYe(){return xC}x(VYe,"getChartConfig");function GYe(){return Jn}x(GYe,"getXYChartData");var ryr=x(function(){Di(),vC=0,xC=tse(),Jn=rse(),wC=ese(),AK=wC.plotColorPalette.split(",").map(t=>t.trim()),hB=!1,Qae=!1},"clear"),nyr={getDrawableElem:zYe,clear:ryr,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,getAccDescription:sa,setAccDescription:aa,setOrientation:NYe,setXAxisTitle:OYe,setXAxisRangeData:nse,setXAxisBand:DYe,setYAxisTitle:PYe,setYAxisRangeData:_Ye,setLineData:$Ye,setBarData:FYe,setTmpSVGG:LYe,getChartThemeConfig:HYe,getChartConfig:VYe,getXYChartData:GYe},iyr=x((t,e,r,n)=>{const i=n.db,a=i.getChartThemeConfig(),s=i.getChartConfig(),o=i.getXYChartData().plots[0].data.map(y=>y[1]);function l(y){return y==="top"?"text-before-edge":"middle"}x(l,"getDominantBaseLine");function u(y){return y==="left"?"start":y==="right"?"end":"middle"}x(u,"getTextAnchor");function d(y){return`translate(${y.x}, ${y.y}) rotate(${y.rotation||0})`}x(d,"getTextTransformation"),he.debug(`Rendering xychart chart
`+t);const h=sl(e),f=h.append("g").attr("class","main"),p=f.append("rect").attr("width",s.width).attr("height",s.height).attr("class","background");Wa(h,s.height,s.width,!0),h.attr("viewBox",`0 0 ${s.width} ${s.height}`),p.attr("fill",a.backgroundColor),i.setTmpSVGG(h.append("g").attr("class","mermaid-tmp-group"));const g=i.getDrawableElem(),m={};function U(y){let b=f,v="";for(const[w]of y.entries()){let T=f;w>0&&m[v]&&(T=m[v]),v+=y[w],b=m[v],b||(b=m[v]=T.append("g").attr("class",y[w]))}return b}x(U,"getGroup");for(const y of g){if(y.data.length===0)continue;const b=U(y.groupTexts);switch(y.type){case"rect":if(b.selectAll("rect").data(y.data).enter().append("rect").attr("x",v=>v.x).attr("y",v=>v.y).attr("width",v=>v.width).attr("height",v=>v.height).attr("fill",v=>v.fill).attr("stroke",v=>v.strokeFill).attr("stroke-width",v=>v.strokeWidth),s.showDataLabel){const v=s.showDataLabelOutsideBar;if(s.chartOrientation==="horizontal"){let w=function(M,P){const{data:N,label:I}=M;return P*I.length*T<=N.width-S};x(w,"fitsHorizontally");const T=.7,S=10,C=y.data.map((M,P)=>({data:M,label:o[P].toString()})).filter(M=>M.data.width>0&&M.data.height>0),k=C.map(M=>{const{data:P}=M;let N=P.height*.7;for(;!w(M,N)&&N>0;)N-=1;return N}),E=Math.floor(Math.min(...k)),A=x(M=>v?M.data.x+M.data.width+S:M.data.x+M.data.width-S,"determineLabelXPosition");b.selectAll("text").data(C).enter().append("text").attr("x",A).attr("y",M=>M.data.y+M.data.height/2).attr("text-anchor",v?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size",`${E}px`).text(M=>M.label)}else{let w=function(A,M,P){const{data:N,label:I}=A,_=M*I.length*.7,D=N.x+N.width/2,O=D-_/2,B=D+_/2,F=O>=N.x&&B<=N.x+N.width,z=N.y+P+M<=N.y+N.height;return F&&z};x(w,"fitsInBar");const T=10,S=y.data.map((A,M)=>({data:A,label:o[M].toString()})).filter(A=>A.data.width>0&&A.data.height>0),C=S.map(A=>{const{data:M,label:P}=A;let N=M.width/(P.length*.7);for(;!w(A,N,T)&&N>0;)N-=1;return N}),k=Math.floor(Math.min(...C)),E=x(A=>v?A.data.y-T:A.data.y+T,"determineLabelYPosition");b.selectAll("text").data(S).enter().append("text").attr("x",A=>A.data.x+A.data.width/2).attr("y",E).attr("text-anchor","middle").attr("dominant-baseline",v?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size",`${k}px`).text(A=>A.label)}}break;case"text":b.selectAll("text").data(y.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",v=>v.fill).attr("font-size",v=>v.fontSize).attr("dominant-baseline",v=>l(v.verticalPos)).attr("text-anchor",v=>u(v.horizontalPos)).attr("transform",v=>d(v)).text(v=>v.text);break;case"path":b.selectAll("path").data(y.data).enter().append("path").attr("d",v=>v.path).attr("fill",v=>v.fill?v.fill:"none").attr("stroke",v=>v.strokeFill).attr("stroke-width",v=>v.strokeWidth);break}}},"draw"),ayr={draw:iyr},syr={parser:j5r,db:nyr,renderer:ayr};const oyr=Object.freeze(Object.defineProperty({__proto__:null,diagram:syr},Symbol.toStringTag,{value:"Module"}));var MK=(function(){var t=x(function(re,Y,Q,ue){for(Q=Q||{},ue=re.length;ue--;Q[re[ue]]=Y);return Q},"o"),e=[1,3],r=[1,4],n=[1,5],i=[1,6],a=[5,6,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],s=[1,22],o=[2,7],l=[1,26],u=[1,27],d=[1,28],h=[1,29],f=[1,33],p=[1,34],g=[1,35],m=[1,36],U=[1,37],y=[1,38],b=[1,24],v=[1,31],w=[1,32],T=[1,30],S=[1,39],C=[1,40],k=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,77,89,90],E=[1,61],A=[89,90],M=[5,8,9,11,13,21,22,23,24,27,29,41,42,43,44,45,46,54,61,63,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],P=[27,29],N=[1,70],I=[1,71],L=[1,72],_=[1,73],D=[1,74],O=[1,75],B=[1,76],F=[1,83],z=[1,80],$=[1,84],H=[1,85],V=[1,86],G=[1,87],K=[1,88],W=[1,89],oe=[1,90],Z=[1,91],J=[1,92],ne=[5,8,9,11,13,21,22,23,24,27,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],ie=[63,64],me=[1,101],te=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,76,77,89,90],Re=[5,8,9,11,13,21,22,23,24,41,42,43,44,45,46,54,72,74,75,76,77,80,81,82,83,84,85,86,87,88,89,90],_e=[1,110],He=[1,106],ce=[1,107],de=[1,108],we=[1,109],ge=[1,111],ze=[1,116],xe=[1,117],Ee=[1,114],qe=[1,115],le={trace:x(function(){},"trace"),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,direction:17,styleStatement:18,classDefStatement:19,classStatement:20,direction_tb:21,direction_bt:22,direction_rl:23,direction_lr:24,requirementType:25,requirementName:26,STRUCT_START:27,requirementBody:28,STYLE_SEPARATOR:29,idList:30,ID:31,COLONSEP:32,id:33,TEXT:34,text:35,RISK:36,riskLevel:37,VERIFYMTHD:38,verifyType:39,STRUCT_STOP:40,REQUIREMENT:41,FUNCTIONAL_REQUIREMENT:42,INTERFACE_REQUIREMENT:43,PERFORMANCE_REQUIREMENT:44,PHYSICAL_REQUIREMENT:45,DESIGN_CONSTRAINT:46,LOW_RISK:47,MED_RISK:48,HIGH_RISK:49,VERIFY_ANALYSIS:50,VERIFY_DEMONSTRATION:51,VERIFY_INSPECTION:52,VERIFY_TEST:53,ELEMENT:54,elementName:55,elementBody:56,TYPE:57,type:58,DOCREF:59,ref:60,END_ARROW_L:61,relationship:62,LINE:63,END_ARROW_R:64,CONTAINS:65,COPIES:66,DERIVES:67,SATISFIES:68,VERIFIES:69,REFINES:70,TRACES:71,CLASSDEF:72,stylesOpt:73,CLASS:74,ALPHA:75,COMMA:76,STYLE:77,style:78,styleComponent:79,NUM:80,COLON:81,UNIT:82,SPACE:83,BRKT:84,PCT:85,MINUS:86,LABEL:87,SEMICOLON:88,unqString:89,qString:90,$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",21:"direction_tb",22:"direction_bt",23:"direction_rl",24:"direction_lr",27:"STRUCT_START",29:"STYLE_SEPARATOR",31:"ID",32:"COLONSEP",34:"TEXT",36:"RISK",38:"VERIFYMTHD",40:"STRUCT_STOP",41:"REQUIREMENT",42:"FUNCTIONAL_REQUIREMENT",43:"INTERFACE_REQUIREMENT",44:"PERFORMANCE_REQUIREMENT",45:"PHYSICAL_REQUIREMENT",46:"DESIGN_CONSTRAINT",47:"LOW_RISK",48:"MED_RISK",49:"HIGH_RISK",50:"VERIFY_ANALYSIS",51:"VERIFY_DEMONSTRATION",52:"VERIFY_INSPECTION",53:"VERIFY_TEST",54:"ELEMENT",57:"TYPE",59:"DOCREF",61:"END_ARROW_L",63:"LINE",64:"END_ARROW_R",65:"CONTAINS",66:"COPIES",67:"DERIVES",68:"SATISFIES",69:"VERIFIES",70:"REFINES",71:"TRACES",72:"CLASSDEF",74:"CLASS",75:"ALPHA",76:"COMMA",77:"STYLE",80:"NUM",81:"COLON",82:"UNIT",83:"SPACE",84:"BRKT",85:"PCT",86:"MINUS",87:"LABEL",88:"SEMICOLON",89:"unqString",90:"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],[7,2],[7,2],[7,2],[7,2],[17,1],[17,1],[17,1],[17,1],[14,5],[14,7],[28,5],[28,5],[28,5],[28,5],[28,2],[28,1],[25,1],[25,1],[25,1],[25,1],[25,1],[25,1],[37,1],[37,1],[37,1],[39,1],[39,1],[39,1],[39,1],[15,5],[15,7],[56,5],[56,5],[56,2],[56,1],[16,5],[16,5],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[62,1],[19,3],[20,3],[20,3],[30,1],[30,3],[30,1],[30,3],[18,3],[73,1],[73,3],[78,1],[78,2],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[79,1],[26,1],[26,1],[33,1],[33,1],[35,1],[35,1],[55,1],[55,1],[58,1],[58,1],[60,1],[60,1]],performAction:x(function(Y,Q,ue,X,fe,ee,Ae){var Me=ee.length-1;switch(fe){case 4:this.$=ee[Me].trim(),X.setAccTitle(this.$);break;case 5:case 6:this.$=ee[Me].trim(),X.setAccDescription(this.$);break;case 7:this.$=[];break;case 17:X.setDirection("TB");break;case 18:X.setDirection("BT");break;case 19:X.setDirection("RL");break;case 20:X.setDirection("LR");break;case 21:X.addRequirement(ee[Me-3],ee[Me-4]);break;case 22:X.addRequirement(ee[Me-5],ee[Me-6]),X.setClass([ee[Me-5]],ee[Me-3]);break;case 23:X.setNewReqId(ee[Me-2]);break;case 24:X.setNewReqText(ee[Me-2]);break;case 25:X.setNewReqRisk(ee[Me-2]);break;case 26:X.setNewReqVerifyMethod(ee[Me-2]);break;case 29:this.$=X.RequirementType.REQUIREMENT;break;case 30:this.$=X.RequirementType.FUNCTIONAL_REQUIREMENT;break;case 31:this.$=X.RequirementType.INTERFACE_REQUIREMENT;break;case 32:this.$=X.RequirementType.PERFORMANCE_REQUIREMENT;break;case 33:this.$=X.RequirementType.PHYSICAL_REQUIREMENT;break;case 34:this.$=X.RequirementType.DESIGN_CONSTRAINT;break;case 35:this.$=X.RiskLevel.LOW_RISK;break;case 36:this.$=X.RiskLevel.MED_RISK;break;case 37:this.$=X.RiskLevel.HIGH_RISK;break;case 38:this.$=X.VerifyType.VERIFY_ANALYSIS;break;case 39:this.$=X.VerifyType.VERIFY_DEMONSTRATION;break;case 40:this.$=X.VerifyType.VERIFY_INSPECTION;break;case 41:this.$=X.VerifyType.VERIFY_TEST;break;case 42:X.addElement(ee[Me-3]);break;case 43:X.addElement(ee[Me-5]),X.setClass([ee[Me-5]],ee[Me-3]);break;case 44:X.setNewElementType(ee[Me-2]);break;case 45:X.setNewElementDocRef(ee[Me-2]);break;case 48:X.addRelationship(ee[Me-2],ee[Me],ee[Me-4]);break;case 49:X.addRelationship(ee[Me-2],ee[Me-4],ee[Me]);break;case 50:this.$=X.Relationships.CONTAINS;break;case 51:this.$=X.Relationships.COPIES;break;case 52:this.$=X.Relationships.DERIVES;break;case 53:this.$=X.Relationships.SATISFIES;break;case 54:this.$=X.Relationships.VERIFIES;break;case 55:this.$=X.Relationships.REFINES;break;case 56:this.$=X.Relationships.TRACES;break;case 57:this.$=ee[Me-2],X.defineClass(ee[Me-1],ee[Me]);break;case 58:X.setClass(ee[Me-1],ee[Me]);break;case 59:X.setClass([ee[Me-2]],ee[Me]);break;case 60:case 62:this.$=[ee[Me]];break;case 61:case 63:this.$=ee[Me-2].concat([ee[Me]]);break;case 64:this.$=ee[Me-2],X.setCssStyle(ee[Me-1],ee[Me]);break;case 65:this.$=[ee[Me]];break;case 66:ee[Me-2].push(ee[Me]),this.$=ee[Me-2];break;case 68:this.$=ee[Me-1]+ee[Me];break}},"anonymous"),table:[{3:1,4:2,6:e,9:r,11:n,13:i},{1:[3]},{3:8,4:2,5:[1,7],6:e,9:r,11:n,13:i},{5:[1,9]},{10:[1,10]},{12:[1,11]},t(a,[2,6]),{3:12,4:2,6:e,9:r,11:n,13:i},{1:[2,2]},{4:17,5:s,7:13,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},t(a,[2,4]),t(a,[2,5]),{1:[2,1]},{8:[1,41]},{4:17,5:s,7:42,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:43,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:44,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:45,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:46,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:47,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:48,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:49,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{4:17,5:s,7:50,8:o,9:r,11:n,13:i,14:14,15:15,16:16,17:18,18:19,19:20,20:21,21:l,22:u,23:d,24:h,25:23,33:25,41:f,42:p,43:g,44:m,45:U,46:y,54:b,72:v,74:w,77:T,89:S,90:C},{26:51,89:[1,52],90:[1,53]},{55:54,89:[1,55],90:[1,56]},{29:[1,59],61:[1,57],63:[1,58]},t(k,[2,17]),t(k,[2,18]),t(k,[2,19]),t(k,[2,20]),{30:60,33:62,75:E,89:S,90:C},{30:63,33:62,75:E,89:S,90:C},{30:64,33:62,75:E,89:S,90:C},t(A,[2,29]),t(A,[2,30]),t(A,[2,31]),t(A,[2,32]),t(A,[2,33]),t(A,[2,34]),t(M,[2,81]),t(M,[2,82]),{1:[2,3]},{8:[2,8]},{8:[2,9]},{8:[2,10]},{8:[2,11]},{8:[2,12]},{8:[2,13]},{8:[2,14]},{8:[2,15]},{8:[2,16]},{27:[1,65],29:[1,66]},t(P,[2,79]),t(P,[2,80]),{27:[1,67],29:[1,68]},t(P,[2,85]),t(P,[2,86]),{62:69,65:N,66:I,67:L,68:_,69:D,70:O,71:B},{62:77,65:N,66:I,67:L,68:_,69:D,70:O,71:B},{30:78,33:62,75:E,89:S,90:C},{73:79,75:F,76:z,78:81,79:82,80:$,81:H,82:V,83:G,84:K,85:W,86:oe,87:Z,88:J},t(ne,[2,60]),t(ne,[2,62]),{73:93,75:F,76:z,78:81,79:82,80:$,81:H,82:V,83:G,84:K,85:W,86:oe,87:Z,88:J},{30:94,33:62,75:E,76:z,89:S,90:C},{5:[1,95]},{30:96,33:62,75:E,89:S,90:C},{5:[1,97]},{30:98,33:62,75:E,89:S,90:C},{63:[1,99]},t(ie,[2,50]),t(ie,[2,51]),t(ie,[2,52]),t(ie,[2,53]),t(ie,[2,54]),t(ie,[2,55]),t(ie,[2,56]),{64:[1,100]},t(k,[2,59],{76:z}),t(k,[2,64],{76:me}),{33:103,75:[1,102],89:S,90:C},t(te,[2,65],{79:104,75:F,80:$,81:H,82:V,83:G,84:K,85:W,86:oe,87:Z,88:J}),t(Re,[2,67]),t(Re,[2,69]),t(Re,[2,70]),t(Re,[2,71]),t(Re,[2,72]),t(Re,[2,73]),t(Re,[2,74]),t(Re,[2,75]),t(Re,[2,76]),t(Re,[2,77]),t(Re,[2,78]),t(k,[2,57],{76:me}),t(k,[2,58],{76:z}),{5:_e,28:105,31:He,34:ce,36:de,38:we,40:ge},{27:[1,112],76:z},{5:ze,40:xe,56:113,57:Ee,59:qe},{27:[1,118],76:z},{33:119,89:S,90:C},{33:120,89:S,90:C},{75:F,78:121,79:82,80:$,81:H,82:V,83:G,84:K,85:W,86:oe,87:Z,88:J},t(ne,[2,61]),t(ne,[2,63]),t(Re,[2,68]),t(k,[2,21]),{32:[1,122]},{32:[1,123]},{32:[1,124]},{32:[1,125]},{5:_e,28:126,31:He,34:ce,36:de,38:we,40:ge},t(k,[2,28]),{5:[1,127]},t(k,[2,42]),{32:[1,128]},{32:[1,129]},{5:ze,40:xe,56:130,57:Ee,59:qe},t(k,[2,47]),{5:[1,131]},t(k,[2,48]),t(k,[2,49]),t(te,[2,66],{79:104,75:F,80:$,81:H,82:V,83:G,84:K,85:W,86:oe,87:Z,88:J}),{33:132,89:S,90:C},{35:133,89:[1,134],90:[1,135]},{37:136,47:[1,137],48:[1,138],49:[1,139]},{39:140,50:[1,141],51:[1,142],52:[1,143],53:[1,144]},t(k,[2,27]),{5:_e,28:145,31:He,34:ce,36:de,38:we,40:ge},{58:146,89:[1,147],90:[1,148]},{60:149,89:[1,150],90:[1,151]},t(k,[2,46]),{5:ze,40:xe,56:152,57:Ee,59:qe},{5:[1,153]},{5:[1,154]},{5:[2,83]},{5:[2,84]},{5:[1,155]},{5:[2,35]},{5:[2,36]},{5:[2,37]},{5:[1,156]},{5:[2,38]},{5:[2,39]},{5:[2,40]},{5:[2,41]},t(k,[2,22]),{5:[1,157]},{5:[2,87]},{5:[2,88]},{5:[1,158]},{5:[2,89]},{5:[2,90]},t(k,[2,43]),{5:_e,28:159,31:He,34:ce,36:de,38:we,40:ge},{5:_e,28:160,31:He,34:ce,36:de,38:we,40:ge},{5:_e,28:161,31:He,34:ce,36:de,38:we,40:ge},{5:_e,28:162,31:He,34:ce,36:de,38:we,40:ge},{5:ze,40:xe,56:163,57:Ee,59:qe},{5:ze,40:xe,56:164,57:Ee,59:qe},t(k,[2,23]),t(k,[2,24]),t(k,[2,25]),t(k,[2,26]),t(k,[2,44]),t(k,[2,45])],defaultActions:{8:[2,2],12:[2,1],41:[2,3],42:[2,8],43:[2,9],44:[2,10],45:[2,11],46:[2,12],47:[2,13],48:[2,14],49:[2,15],50:[2,16],134:[2,83],135:[2,84],137:[2,35],138:[2,36],139:[2,37],141:[2,38],142:[2,39],143:[2,40],144:[2,41],147:[2,87],148:[2,88],150:[2,89],151:[2,90]},parseError:x(function(Y,Q){if(Q.recoverable)this.trace(Y);else{var ue=new Error(Y);throw ue.hash=Q,ue}},"parseError"),parse:x(function(Y){var Q=this,ue=[0],X=[],fe=[null],ee=[],Ae=this.table,Me="",Ke=0,Ne=0,je=2,Oe=1,Ze=ee.slice.call(arguments,1),Fe=Object.create(this.lexer),at={yy:{}};for(var Pe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Pe)&&(at.yy[Pe]=this.yy[Pe]);Fe.setInput(Y,at.yy),at.yy.lexer=Fe,at.yy.parser=this,typeof Fe.yylloc>"u"&&(Fe.yylloc={});var gt=Fe.yylloc;ee.push(gt);var Ie=Fe.options&&Fe.options.ranges;typeof at.yy.parseError=="function"?this.parseError=at.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function St(ke){ue.length=ue.length-2*ke,fe.length=fe.length-ke,ee.length=ee.length-ke}x(St,"popStack");function Et(){var ke;return ke=X.pop()||Fe.lex()||Oe,typeof ke!="number"&&(ke instanceof Array&&(X=ke,ke=X.pop()),ke=Q.symbols_[ke]||ke),ke}x(Et,"lex");for(var ot,Ht,It,ht,ve={},Lt,xt,mt,Mt;;){if(Ht=ue[ue.length-1],this.defaultActions[Ht]?It=this.defaultActions[Ht]:((ot===null||typeof ot>"u")&&(ot=Et()),It=Ae[Ht]&&Ae[Ht][ot]),typeof It>"u"||!It.length||!It[0]){var Dr="";Mt=[];for(Lt in Ae[Ht])this.terminals_[Lt]&&Lt>je&&Mt.push("'"+this.terminals_[Lt]+"'");Fe.showPosition?Dr="Parse error on line "+(Ke+1)+`:
`+Fe.showPosition()+`
Expecting `+Mt.join(", ")+", got '"+(this.terminals_[ot]||ot)+"'":Dr="Parse error on line "+(Ke+1)+": Unexpected "+(ot==Oe?"end of input":"'"+(this.terminals_[ot]||ot)+"'"),this.parseError(Dr,{text:Fe.match,token:this.terminals_[ot]||ot,line:Fe.yylineno,loc:gt,expected:Mt})}if(It[0]instanceof Array&&It.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Ht+", token: "+ot);switch(It[0]){case 1:ue.push(ot),fe.push(Fe.yytext),ee.push(Fe.yylloc),ue.push(It[1]),ot=null,Ne=Fe.yyleng,Me=Fe.yytext,Ke=Fe.yylineno,gt=Fe.yylloc;break;case 2:if(xt=this.productions_[It[1]][1],ve.$=fe[fe.length-xt],ve._$={first_line:ee[ee.length-(xt||1)].first_line,last_line:ee[ee.length-1].last_line,first_column:ee[ee.length-(xt||1)].first_column,last_column:ee[ee.length-1].last_column},Ie&&(ve._$.range=[ee[ee.length-(xt||1)].range[0],ee[ee.length-1].range[1]]),ht=this.performAction.apply(ve,[Me,Ne,Ke,at.yy,It[1],fe,ee].concat(Ze)),typeof ht<"u")return ht;xt&&(ue=ue.slice(0,-1*xt*2),fe=fe.slice(0,-1*xt),ee=ee.slice(0,-1*xt)),ue.push(this.productions_[It[1]][0]),fe.push(ve.$),ee.push(ve._$),mt=Ae[ue[ue.length-2]][ue[ue.length-1]],ue.push(mt);break;case 3:return!0}}return!0},"parse")},pe=(function(){var re={EOF:1,parseError:x(function(Q,ue){if(this.yy.parser)this.yy.parser.parseError(Q,ue);else throw new Error(Q)},"parseError"),setInput:x(function(Y,Q){return this.yy=Q||this.yy||{},this._input=Y,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},"setInput"),input:x(function(){var Y=this._input[0];this.yytext+=Y,this.yyleng++,this.offset++,this.match+=Y,this.matched+=Y;var Q=Y.match(/(?:\r\n?|\n).*/g);return Q?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Y},"input"),unput:x(function(Y){var Q=Y.length,ue=Y.split(/(?:\r\n?|\n)/g);this._input=Y+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Q),this.offset-=Q;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),ue.length-1&&(this.yylineno-=ue.length-1);var fe=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:ue?(ue.length===X.length?this.yylloc.first_column:0)+X[X.length-ue.length].length-ue[0].length:this.yylloc.first_column-Q},this.options.ranges&&(this.yylloc.range=[fe[0],fe[0]+this.yyleng-Q]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(Y){this.unput(this.match.slice(Y))},"less"),pastInput:x(function(){var Y=this.matched.substr(0,this.matched.length-this.match.length);return(Y.length>20?"...":"")+Y.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var Y=this.match;return Y.length<20&&(Y+=this._input.substr(0,20-Y.length)),(Y.substr(0,20)+(Y.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var Y=this.pastInput(),Q=new Array(Y.length+1).join("-");return Y+this.upcomingInput()+`
`+Q+"^"},"showPosition"),test_match:x(function(Y,Q){var ue,X,fe;if(this.options.backtrack_lexer&&(fe={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&&(fe.yylloc.range=this.yylloc.range.slice(0))),X=Y[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+Y[0].length},this.yytext+=Y[0],this.match+=Y[0],this.matches=Y,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(Y[0].length),this.matched+=Y[0],ue=this.performAction.call(this,this.yy,this,Q,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),ue)return ue;if(this._backtrack){for(var ee in fe)this[ee]=fe[ee];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Y,Q,ue,X;this._more||(this.yytext="",this.match="");for(var fe=this._currentRules(),ee=0;ee<fe.length;ee++)if(ue=this._input.match(this.rules[fe[ee]]),ue&&(!Q||ue[0].length>Q[0].length)){if(Q=ue,X=ee,this.options.backtrack_lexer){if(Y=this.test_match(ue,fe[ee]),Y!==!1)return Y;if(this._backtrack){Q=!1;continue}else return!1}else if(!this.options.flex)break}return Q?(Y=this.test_match(Q,fe[X]),Y!==!1?Y:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var Q=this.next();return Q||this.lex()},"lex"),begin:x(function(Q){this.conditionStack.push(Q)},"begin"),popState:x(function(){var Q=this.conditionStack.length-1;return Q>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(Q){return Q=this.conditionStack.length-1-Math.abs(Q||0),Q>=0?this.conditionStack[Q]:"INITIAL"},"topState"),pushState:x(function(Q){this.begin(Q)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(Q,ue,X,fe){switch(X){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 21;case 9:return 22;case 10:return 23;case 11:return 24;case 12:return 5;case 13:break;case 14:break;case 15:break;case 16:return 8;case 17:return 6;case 18:return 27;case 19:return 40;case 20:return 29;case 21:return 32;case 22:return 31;case 23:return 34;case 24:return 36;case 25:return 38;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 48;case 34:return 49;case 35:return 50;case 36:return 51;case 37:return 52;case 38:return 53;case 39:return 54;case 40:return 65;case 41:return 66;case 42:return 67;case 43:return 68;case 44:return 69;case 45:return 70;case 46:return 71;case 47:return 57;case 48:return 59;case 49:return this.begin("style"),77;case 50:return 75;case 51:return 81;case 52:return 88;case 53:return"PERCENT";case 54:return 86;case 55:return 84;case 56:break;case 57:this.begin("string");break;case 58:this.popState();break;case 59:return this.begin("style"),72;case 60:return this.begin("style"),74;case 61:return 61;case 62:return 64;case 63:return 63;case 64:this.begin("string");break;case 65:this.popState();break;case 66:return"qString";case 67:return ue.yytext=ue.yytext.trim(),89;case 68:return 75;case 69:return 80;case 70:return 76}},"anonymous"),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,/^(?:.*direction\s+TB[^\n]*)/i,/^(?:.*direction\s+BT[^\n]*)/i,/^(?:.*direction\s+RL[^\n]*)/i,/^(?:.*direction\s+LR[^\n]*)/i,/^(?:(\r?\n)+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:%[^\n]*)/i,/^(?:$)/i,/^(?:requirementDiagram\b)/i,/^(?:\{)/i,/^(?:\})/i,/^(?::{3})/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,/^(?:style\b)/i,/^(?:\w+)/i,/^(?::)/i,/^(?:;)/i,/^(?:%)/i,/^(?:-)/i,/^(?:#)/i,/^(?: )/i,/^(?:["])/i,/^(?:\n)/i,/^(?:classDef\b)/i,/^(?:class\b)/i,/^(?:<-)/i,/^(?:->)/i,/^(?:-)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:[\w][^:,\r\n\{\<\>\-\=]*)/i,/^(?:\w+)/i,/^(?:[0-9]+)/i,/^(?:,)/i],conditions:{acc_descr_multiline:{rules:[6,7,68,69,70],inclusive:!1},acc_descr:{rules:[4,68,69,70],inclusive:!1},acc_title:{rules:[2,68,69,70],inclusive:!1},style:{rules:[50,51,52,53,54,55,56,57,58,68,69,70],inclusive:!1},unqString:{rules:[68,69,70],inclusive:!1},token:{rules:[68,69,70],inclusive:!1},string:{rules:[65,66,68,69,70],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,48,49,59,60,61,62,63,64,67,68,69,70],inclusive:!0}}};return re})();le.lexer=pe;function Te(){this.yy={}}return x(Te,"Parser"),Te.prototype=le,le.Parser=Te,new Te})();MK.parser=MK;var lyr=MK,rv,cyr=(rv=class{constructor(){this.relations=[],this.latestRequirement=this.getInitialRequirement(),this.requirements=new Map,this.latestElement=this.getInitialElement(),this.elements=new Map,this.classes=new Map,this.direction="TB",this.RequirementType={REQUIREMENT:"Requirement",FUNCTIONAL_REQUIREMENT:"Functional Requirement",INTERFACE_REQUIREMENT:"Interface Requirement",PERFORMANCE_REQUIREMENT:"Performance Requirement",PHYSICAL_REQUIREMENT:"Physical Requirement",DESIGN_CONSTRAINT:"Design Constraint"},this.RiskLevel={LOW_RISK:"Low",MED_RISK:"Medium",HIGH_RISK:"High"},this.VerifyType={VERIFY_ANALYSIS:"Analysis",VERIFY_DEMONSTRATION:"Demonstration",VERIFY_INSPECTION:"Inspection",VERIFY_TEST:"Test"},this.Relationships={CONTAINS:"contains",COPIES:"copies",DERIVES:"derives",SATISFIES:"satisfies",VERIFIES:"verifies",REFINES:"refines",TRACES:"traces"},this.setAccTitle=qi,this.getAccTitle=ia,this.setAccDescription=aa,this.getAccDescription=sa,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.getConfig=x(()=>Ve().requirement,"getConfig"),this.clear(),this.setDirection=this.setDirection.bind(this),this.addRequirement=this.addRequirement.bind(this),this.setNewReqId=this.setNewReqId.bind(this),this.setNewReqRisk=this.setNewReqRisk.bind(this),this.setNewReqText=this.setNewReqText.bind(this),this.setNewReqVerifyMethod=this.setNewReqVerifyMethod.bind(this),this.addElement=this.addElement.bind(this),this.setNewElementType=this.setNewElementType.bind(this),this.setNewElementDocRef=this.setNewElementDocRef.bind(this),this.addRelationship=this.addRelationship.bind(this),this.setCssStyle=this.setCssStyle.bind(this),this.setClass=this.setClass.bind(this),this.defineClass=this.defineClass.bind(this),this.setAccTitle=this.setAccTitle.bind(this),this.setAccDescription=this.setAccDescription.bind(this)}getDirection(){return this.direction}setDirection(e){this.direction=e}resetLatestRequirement(){this.latestRequirement=this.getInitialRequirement()}resetLatestElement(){this.latestElement=this.getInitialElement()}getInitialRequirement(){return{requirementId:"",text:"",risk:"",verifyMethod:"",name:"",type:"",cssStyles:[],classes:["default"]}}getInitialElement(){return{name:"",type:"",docRef:"",cssStyles:[],classes:["default"]}}addRequirement(e,r){return this.requirements.has(e)||this.requirements.set(e,{name:e,type:r,requirementId:this.latestRequirement.requirementId,text:this.latestRequirement.text,risk:this.latestRequirement.risk,verifyMethod:this.latestRequirement.verifyMethod,cssStyles:[],classes:["default"]}),this.resetLatestRequirement(),this.requirements.get(e)}getRequirements(){return this.requirements}setNewReqId(e){this.latestRequirement!==void 0&&(this.latestRequirement.requirementId=e)}setNewReqText(e){this.latestRequirement!==void 0&&(this.latestRequirement.text=e)}setNewReqRisk(e){this.latestRequirement!==void 0&&(this.latestRequirement.risk=e)}setNewReqVerifyMethod(e){this.latestRequirement!==void 0&&(this.latestRequirement.verifyMethod=e)}addElement(e){return this.elements.has(e)||(this.elements.set(e,{name:e,type:this.latestElement.type,docRef:this.latestElement.docRef,cssStyles:[],classes:["default"]}),he.info("Added new element: ",e)),this.resetLatestElement(),this.elements.get(e)}getElements(){return this.elements}setNewElementType(e){this.latestElement!==void 0&&(this.latestElement.type=e)}setNewElementDocRef(e){this.latestElement!==void 0&&(this.latestElement.docRef=e)}addRelationship(e,r,n){this.relations.push({type:e,src:r,dst:n})}getRelationships(){return this.relations}clear(){this.relations=[],this.resetLatestRequirement(),this.requirements=new Map,this.resetLatestElement(),this.elements=new Map,this.classes=new Map,Di()}setCssStyle(e,r){for(const n of e){const i=this.requirements.get(n)??this.elements.get(n);if(!r||!i)return;for(const a of r)a.includes(",")?i.cssStyles.push(...a.split(",")):i.cssStyles.push(a)}}setClass(e,r){var n;for(const i of e){const a=this.requirements.get(i)??this.elements.get(i);if(a)for(const s of r){a.classes.push(s);const o=(n=this.classes.get(s))==null?void 0:n.styles;o&&a.cssStyles.push(...o)}}}defineClass(e,r){for(const n of e){let i=this.classes.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.classes.set(n,i)),r&&r.forEach(function(a){if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.requirements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))}),this.elements.forEach(a=>{a.classes.includes(n)&&a.cssStyles.push(...r.flatMap(s=>s.split(",")))})}}getClasses(){return this.classes}getData(){var i,a,s,o;const e=Ve(),r=[],n=[];for(const l of this.requirements.values()){const u=l;u.id=l.name,u.cssStyles=l.cssStyles,u.cssClasses=l.classes.join(" "),u.shape="requirementBox",u.look=e.look,u.colorIndex=r.length,r.push(u)}for(const l of this.elements.values()){const u=l;u.shape="requirementBox",u.look=e.look,u.id=l.name,u.cssStyles=l.cssStyles,u.cssClasses=l.classes.join(" "),u.colorIndex=r.length,r.push(u)}for(const l of this.relations){let u=0;const d=l.type===this.Relationships.CONTAINS,h={id:`${l.src}-${l.dst}-${u}`,start:((i=this.requirements.get(l.src))==null?void 0:i.name)??((a=this.elements.get(l.src))==null?void 0:a.name),end:((s=this.requirements.get(l.dst))==null?void 0:s.name)??((o=this.elements.get(l.dst))==null?void 0:o.name),label:`&lt;&lt;${l.type}&gt;&gt;`,classes:"relationshipLine",style:["fill:none",d?"":"stroke-dasharray: 10,7"],labelpos:"c",thickness:"normal",type:"normal",pattern:d?"normal":"dashed",arrowTypeStart:d?"requirement_contains":"",arrowTypeEnd:d?"":"requirement_arrow",look:e.look,labelType:"markdown"};n.push(h),u++}return{nodes:r,edges:n,other:{},config:e,direction:this.getDirection()}}},x(rv,"RequirementDB"),rv),uyr=x(t=>{const e=xr(),{themeVariables:r,look:n}=e,{bkgColorArray:i,borderColorArray:a}=r;if(!(a!=null&&a.length))return"";let s="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)s+=`
[data-look="${n}"][data-color-id="color-${o}"].node path {
stroke: ${a[o]};
fill: ${i!=null&&i.length?i[o]:""};
}
[data-look="${n}"][data-color-id="color-${o}"].node rect {
stroke: ${a[o]};
fill: ${i!=null&&i.length?i[o]:""};
}
`;return s},"genColor"),dyr=x(t=>{const e=xr(),{look:r,themeVariables:n}=e,{requirementEdgeLabelBackground:i}=n;return`
${uyr(t)}
marker {
fill: ${t.relationColor};
stroke: ${t.relationColor};
}
marker.cross {
stroke: ${t.lineColor};
}
svg {
font-family: ${t.fontFamily};
font-size: ${t.fontSize};
}
.reqBox {
fill: ${t.requirementBackground};
fill-opacity: 1.0;
stroke: ${t.requirementBorderColor};
stroke-width: ${t.requirementBorderSize};
}
.reqTitle, .reqLabel{
fill: ${t.requirementTextColor};
}
.reqLabelBox {
fill: ${t.relationLabelBackground};
fill-opacity: 1.0;
}
.req-title-line {
stroke: ${t.requirementBorderColor};
stroke-width: ${t.requirementBorderSize};
}
.relationshipLine {
stroke: ${t.relationColor};
stroke-width: ${r==="neo"?t.strokeWidth:"1px"};
}
.relationshipLabel {
fill: ${t.relationLabelColor};
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
}
.edgeLabel .label rect {
fill: ${t.edgeLabelBackground};
}
.edgeLabel .label text {
fill: ${t.relationLabelColor};
}
.divider {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
.label {
font-family: ${t.fontFamily};
color: ${t.nodeTextColor||t.textColor};
}
.label text,span {
fill: ${t.nodeTextColor||t.textColor};
color: ${t.nodeTextColor||t.textColor};
}
.labelBkg {
background-color: ${i??t.edgeLabelBackground};
}
`},"getStyles"),hyr=dyr,WYe={};oD(WYe,{draw:()=>fyr});var fyr=x(async function(t,e,r,n){he.info("REF0:"),he.info("Drawing requirement diagram (unified)",e);const{securityLevel:i,state:a,layout:s,look:o}=Ve(),l=n.db.getData(),u=y3(e,i);l.type=n.type,l.layoutAlgorithm=fS(s),l.nodeSpacing=(a==null?void 0:a.nodeSpacing)??50,l.rankSpacing=(a==null?void 0:a.rankSpacing)??50,l.markers=o==="neo"?["requirement_contains_neo","requirement_arrow_neo"]:["requirement_contains","requirement_arrow"],l.diagramId=e,await J4(l,u);const d=8;Kr.insertTitle(u,"requirementDiagramTitleText",(a==null?void 0:a.titleTopMargin)??25,n.db.getDiagramTitle()),_5(u,d,"requirementDiagram",(a==null?void 0:a.useMaxWidth)??!0)},"draw"),pyr={parser:lyr,get db(){return new cyr},renderer:WYe,styles:hyr};const gyr=Object.freeze(Object.defineProperty({__proto__:null,diagram:pyr},Symbol.toStringTag,{value:"Module"}));var RK=(function(){var t=x(function(Ne,je,Oe,Ze){for(Oe=Oe||{},Ze=Ne.length;Ze--;Oe[Ne[Ze]]=je);return Oe},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,12],l=[1,14],u=[1,15],d=[1,17],h=[1,18],f=[1,19],p=[1,25],g=[1,26],m=[1,27],U=[1,28],y=[1,29],b=[1,30],v=[1,31],w=[1,32],T=[1,33],S=[1,34],C=[1,35],k=[1,36],E=[1,37],A=[1,38],M=[1,39],P=[1,40],N=[1,42],I=[1,43],L=[1,44],_=[1,45],D=[1,46],O=[1,47],B=[1,4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,49,50,51,53,54,56,61,62,63,64,73],F=[1,74],z=[1,80],$=[1,81],H=[1,82],V=[1,83],G=[1,84],K=[1,85],W=[1,86],oe=[1,87],Z=[1,88],J=[1,89],ne=[1,90],ie=[1,91],me=[1,92],te=[1,93],Re=[1,94],_e=[1,95],He=[1,96],ce=[1,97],de=[1,98],we=[1,99],ge=[1,100],ze=[1,101],xe=[1,102],Ee=[1,103],qe=[1,104],le=[1,105],pe=[2,78],Te=[4,5,17,51,53,54],re=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],Y=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,50,51,53,54,56,61,62,63,64,73],Q=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,49,51,53,54,56,61,62,63,64,73],ue=[4,5,10,14,15,17,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,48,51,53,54,56,61,62,63,64,73],X=[5,52],fe=[70,71,72,73],ee=[1,151],Ae={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NEWLINE:5,SD:6,document:7,line:8,statement:9,INVALID:10,box_section:11,box_line:12,participant_statement:13,create:14,box:15,restOfLine:16,end:17,signal:18,autonumber:19,NUM:20,off:21,activate:22,actor:23,deactivate:24,note_statement:25,links_statement:26,link_statement:27,properties_statement:28,details_statement: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:40,else_sections:41,par:42,par_sections:43,par_over:44,critical:45,option_sections:46,break:47,option:48,and:49,else:50,participant:51,AS:52,participant_actor:53,destroy:54,actor_with_config:55,note:56,placement:57,text2:58,over:59,actor_pair:60,links:61,link:62,properties:63,details:64,spaceList:65,",":66,left_of:67,right_of:68,signaltype:69,"+":70,"-":71,"()":72,ACTOR:73,config_object:74,CONFIG_START:75,CONFIG_CONTENT:76,CONFIG_END:77,SOLID_OPEN_ARROW:78,DOTTED_OPEN_ARROW:79,SOLID_ARROW:80,SOLID_ARROW_TOP:81,SOLID_ARROW_BOTTOM:82,STICK_ARROW_TOP:83,STICK_ARROW_BOTTOM:84,SOLID_ARROW_TOP_DOTTED:85,SOLID_ARROW_BOTTOM_DOTTED:86,STICK_ARROW_TOP_DOTTED:87,STICK_ARROW_BOTTOM_DOTTED:88,SOLID_ARROW_TOP_REVERSE:89,SOLID_ARROW_BOTTOM_REVERSE:90,STICK_ARROW_TOP_REVERSE:91,STICK_ARROW_BOTTOM_REVERSE:92,SOLID_ARROW_TOP_REVERSE_DOTTED:93,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:94,STICK_ARROW_TOP_REVERSE_DOTTED:95,STICK_ARROW_BOTTOM_REVERSE_DOTTED:96,BIDIRECTIONAL_SOLID_ARROW:97,DOTTED_ARROW:98,BIDIRECTIONAL_DOTTED_ARROW:99,SOLID_CROSS:100,DOTTED_CROSS:101,SOLID_POINT:102,DOTTED_POINT:103,TXT:104,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NEWLINE",6:"SD",10:"INVALID",14:"create",15:"box",16:"restOfLine",17:"end",19:"autonumber",20:"NUM",21:"off",22:"activate",24:"deactivate",30:"title",31:"legacy_title",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"loop",38:"rect",39:"opt",40:"alt",42:"par",44:"par_over",45:"critical",47:"break",48:"option",49:"and",50:"else",51:"participant",52:"AS",53:"participant_actor",54:"destroy",56:"note",59:"over",61:"links",62:"link",63:"properties",64:"details",66:",",67:"left_of",68:"right_of",70:"+",71:"-",72:"()",73:"ACTOR",75:"CONFIG_START",76:"CONFIG_CONTENT",77:"CONFIG_END",78:"SOLID_OPEN_ARROW",79:"DOTTED_OPEN_ARROW",80:"SOLID_ARROW",81:"SOLID_ARROW_TOP",82:"SOLID_ARROW_BOTTOM",83:"STICK_ARROW_TOP",84:"STICK_ARROW_BOTTOM",85:"SOLID_ARROW_TOP_DOTTED",86:"SOLID_ARROW_BOTTOM_DOTTED",87:"STICK_ARROW_TOP_DOTTED",88:"STICK_ARROW_BOTTOM_DOTTED",89:"SOLID_ARROW_TOP_REVERSE",90:"SOLID_ARROW_BOTTOM_REVERSE",91:"STICK_ARROW_TOP_REVERSE",92:"STICK_ARROW_BOTTOM_REVERSE",93:"SOLID_ARROW_TOP_REVERSE_DOTTED",94:"SOLID_ARROW_BOTTOM_REVERSE_DOTTED",95:"STICK_ARROW_TOP_REVERSE_DOTTED",96:"STICK_ARROW_BOTTOM_REVERSE_DOTTED",97:"BIDIRECTIONAL_SOLID_ARROW",98:"DOTTED_ARROW",99:"BIDIRECTIONAL_DOTTED_ARROW",100:"SOLID_CROSS",101:"DOTTED_CROSS",102:"SOLID_POINT",103:"DOTTED_POINT",104:"TXT"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[8,1],[11,0],[11,2],[12,2],[12,1],[12,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],[46,1],[46,4],[43,1],[43,4],[41,1],[41,4],[13,5],[13,3],[13,5],[13,3],[13,3],[13,5],[13,3],[13,5],[13,3],[25,4],[25,4],[26,3],[27,3],[28,3],[29,3],[65,2],[65,1],[60,3],[60,1],[57,1],[57,1],[18,5],[18,5],[18,5],[18,5],[18,6],[18,4],[55,2],[74,3],[23,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[69,1],[58,1]],performAction:x(function(je,Oe,Ze,Fe,at,Pe,gt){var Ie=Pe.length-1;switch(at){case 3:return Fe.apply(Pe[Ie]),Pe[Ie];case 4:case 10:this.$=[];break;case 5:case 11:Pe[Ie-1].push(Pe[Ie]),this.$=Pe[Ie-1];break;case 6:case 7:case 12:case 13:this.$=Pe[Ie];break;case 8:case 9:case 14:this.$=[];break;case 16:Pe[Ie].type="createParticipant",this.$=Pe[Ie];break;case 17:Pe[Ie-1].unshift({type:"boxStart",boxData:Fe.parseBoxData(Pe[Ie-2])}),Pe[Ie-1].push({type:"boxEnd",boxText:Pe[Ie-2]}),this.$=Pe[Ie-1];break;case 19:this.$={type:"sequenceIndex",sequenceIndex:Number(Pe[Ie-2]),sequenceIndexStep:Number(Pe[Ie-1]),sequenceVisible:!0,signalType:Fe.LINETYPE.AUTONUMBER};break;case 20:this.$={type:"sequenceIndex",sequenceIndex:Number(Pe[Ie-1]),sequenceIndexStep:1,sequenceVisible:!0,signalType:Fe.LINETYPE.AUTONUMBER};break;case 21:this.$={type:"sequenceIndex",sequenceVisible:!1,signalType:Fe.LINETYPE.AUTONUMBER};break;case 22:this.$={type:"sequenceIndex",sequenceVisible:!0,signalType:Fe.LINETYPE.AUTONUMBER};break;case 23:this.$={type:"activeStart",signalType:Fe.LINETYPE.ACTIVE_START,actor:Pe[Ie-1].actor};break;case 24:this.$={type:"activeEnd",signalType:Fe.LINETYPE.ACTIVE_END,actor:Pe[Ie-1].actor};break;case 30:Fe.setDiagramTitle(Pe[Ie].substring(6)),this.$=Pe[Ie].substring(6);break;case 31:Fe.setDiagramTitle(Pe[Ie].substring(7)),this.$=Pe[Ie].substring(7);break;case 32:this.$=Pe[Ie].trim(),Fe.setAccTitle(this.$);break;case 33:case 34:this.$=Pe[Ie].trim(),Fe.setAccDescription(this.$);break;case 35:Pe[Ie-1].unshift({type:"loopStart",loopText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.LOOP_START}),Pe[Ie-1].push({type:"loopEnd",loopText:Pe[Ie-2],signalType:Fe.LINETYPE.LOOP_END}),this.$=Pe[Ie-1];break;case 36:Pe[Ie-1].unshift({type:"rectStart",color:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.RECT_START}),Pe[Ie-1].push({type:"rectEnd",color:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.RECT_END}),this.$=Pe[Ie-1];break;case 37:Pe[Ie-1].unshift({type:"optStart",optText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.OPT_START}),Pe[Ie-1].push({type:"optEnd",optText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.OPT_END}),this.$=Pe[Ie-1];break;case 38:Pe[Ie-1].unshift({type:"altStart",altText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.ALT_START}),Pe[Ie-1].push({type:"altEnd",signalType:Fe.LINETYPE.ALT_END}),this.$=Pe[Ie-1];break;case 39:Pe[Ie-1].unshift({type:"parStart",parText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.PAR_START}),Pe[Ie-1].push({type:"parEnd",signalType:Fe.LINETYPE.PAR_END}),this.$=Pe[Ie-1];break;case 40:Pe[Ie-1].unshift({type:"parStart",parText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.PAR_OVER_START}),Pe[Ie-1].push({type:"parEnd",signalType:Fe.LINETYPE.PAR_END}),this.$=Pe[Ie-1];break;case 41:Pe[Ie-1].unshift({type:"criticalStart",criticalText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.CRITICAL_START}),Pe[Ie-1].push({type:"criticalEnd",signalType:Fe.LINETYPE.CRITICAL_END}),this.$=Pe[Ie-1];break;case 42:Pe[Ie-1].unshift({type:"breakStart",breakText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.BREAK_START}),Pe[Ie-1].push({type:"breakEnd",optText:Fe.parseMessage(Pe[Ie-2]),signalType:Fe.LINETYPE.BREAK_END}),this.$=Pe[Ie-1];break;case 44:this.$=Pe[Ie-3].concat([{type:"option",optionText:Fe.parseMessage(Pe[Ie-1]),signalType:Fe.LINETYPE.CRITICAL_OPTION},Pe[Ie]]);break;case 46:this.$=Pe[Ie-3].concat([{type:"and",parText:Fe.parseMessage(Pe[Ie-1]),signalType:Fe.LINETYPE.PAR_AND},Pe[Ie]]);break;case 48:this.$=Pe[Ie-3].concat([{type:"else",altText:Fe.parseMessage(Pe[Ie-1]),signalType:Fe.LINETYPE.ALT_ELSE},Pe[Ie]]);break;case 49:Pe[Ie-3].draw="participant",Pe[Ie-3].type="addParticipant",Pe[Ie-3].description=Fe.parseMessage(Pe[Ie-1]),this.$=Pe[Ie-3];break;case 50:Pe[Ie-1].draw="participant",Pe[Ie-1].type="addParticipant",this.$=Pe[Ie-1];break;case 51:Pe[Ie-3].draw="actor",Pe[Ie-3].type="addParticipant",Pe[Ie-3].description=Fe.parseMessage(Pe[Ie-1]),this.$=Pe[Ie-3];break;case 52:case 57:Pe[Ie-1].draw="actor",Pe[Ie-1].type="addParticipant",this.$=Pe[Ie-1];break;case 53:Pe[Ie-1].type="destroyParticipant",this.$=Pe[Ie-1];break;case 54:Pe[Ie-3].draw="participant",Pe[Ie-3].type="addParticipant",Pe[Ie-3].description=Fe.parseMessage(Pe[Ie-1]),this.$=Pe[Ie-3];break;case 55:Pe[Ie-1].draw="participant",Pe[Ie-1].type="addParticipant",this.$=Pe[Ie-1];break;case 56:Pe[Ie-3].draw="actor",Pe[Ie-3].type="addParticipant",Pe[Ie-3].description=Fe.parseMessage(Pe[Ie-1]),this.$=Pe[Ie-3];break;case 58:this.$=[Pe[Ie-1],{type:"addNote",placement:Pe[Ie-2],actor:Pe[Ie-1].actor,text:Pe[Ie]}];break;case 59:Pe[Ie-2]=[].concat(Pe[Ie-1],Pe[Ie-1]).slice(0,2),Pe[Ie-2][0]=Pe[Ie-2][0].actor,Pe[Ie-2][1]=Pe[Ie-2][1].actor,this.$=[Pe[Ie-1],{type:"addNote",placement:Fe.PLACEMENT.OVER,actor:Pe[Ie-2].slice(0,2),text:Pe[Ie]}];break;case 60:this.$=[Pe[Ie-1],{type:"addLinks",actor:Pe[Ie-1].actor,text:Pe[Ie]}];break;case 61:this.$=[Pe[Ie-1],{type:"addALink",actor:Pe[Ie-1].actor,text:Pe[Ie]}];break;case 62:this.$=[Pe[Ie-1],{type:"addProperties",actor:Pe[Ie-1].actor,text:Pe[Ie]}];break;case 63:this.$=[Pe[Ie-1],{type:"addDetails",actor:Pe[Ie-1].actor,text:Pe[Ie]}];break;case 66:this.$=[Pe[Ie-2],Pe[Ie]];break;case 67:this.$=Pe[Ie];break;case 68:this.$=Fe.PLACEMENT.LEFTOF;break;case 69:this.$=Fe.PLACEMENT.RIGHTOF;break;case 70:this.$=[Pe[Ie-4],Pe[Ie-1],{type:"addMessage",from:Pe[Ie-4].actor,to:Pe[Ie-1].actor,signalType:Pe[Ie-3],msg:Pe[Ie],activate:!0},{type:"activeStart",signalType:Fe.LINETYPE.ACTIVE_START,actor:Pe[Ie-1].actor}];break;case 71:this.$=[Pe[Ie-4],Pe[Ie-1],{type:"addMessage",from:Pe[Ie-4].actor,to:Pe[Ie-1].actor,signalType:Pe[Ie-3],msg:Pe[Ie]},{type:"activeEnd",signalType:Fe.LINETYPE.ACTIVE_END,actor:Pe[Ie-4].actor}];break;case 72:this.$=[Pe[Ie-4],Pe[Ie-1],{type:"addMessage",from:Pe[Ie-4].actor,to:Pe[Ie-1].actor,signalType:Pe[Ie-3],msg:Pe[Ie],activate:!0,centralConnection:Fe.LINETYPE.CENTRAL_CONNECTION},{type:"centralConnection",signalType:Fe.LINETYPE.CENTRAL_CONNECTION,actor:Pe[Ie-1].actor}];break;case 73:this.$=[Pe[Ie-4],Pe[Ie-1],{type:"addMessage",from:Pe[Ie-4].actor,to:Pe[Ie-1].actor,signalType:Pe[Ie-2],msg:Pe[Ie],activate:!1,centralConnection:Fe.LINETYPE.CENTRAL_CONNECTION_REVERSE},{type:"centralConnectionReverse",signalType:Fe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:Pe[Ie-4].actor}];break;case 74:this.$=[Pe[Ie-5],Pe[Ie-1],{type:"addMessage",from:Pe[Ie-5].actor,to:Pe[Ie-1].actor,signalType:Pe[Ie-3],msg:Pe[Ie],activate:!0,centralConnection:Fe.LINETYPE.CENTRAL_CONNECTION_DUAL},{type:"centralConnection",signalType:Fe.LINETYPE.CENTRAL_CONNECTION,actor:Pe[Ie-1].actor},{type:"centralConnectionReverse",signalType:Fe.LINETYPE.CENTRAL_CONNECTION_REVERSE,actor:Pe[Ie-5].actor}];break;case 75:this.$=[Pe[Ie-3],Pe[Ie-1],{type:"addMessage",from:Pe[Ie-3].actor,to:Pe[Ie-1].actor,signalType:Pe[Ie-2],msg:Pe[Ie]}];break;case 76:this.$={type:"addParticipant",actor:Pe[Ie-1],config:Pe[Ie]};break;case 77:this.$=Pe[Ie-1].trim();break;case 78:this.$={type:"addParticipant",actor:Pe[Ie]};break;case 79:this.$=Fe.LINETYPE.SOLID_OPEN;break;case 80:this.$=Fe.LINETYPE.DOTTED_OPEN;break;case 81:this.$=Fe.LINETYPE.SOLID;break;case 82:this.$=Fe.LINETYPE.SOLID_TOP;break;case 83:this.$=Fe.LINETYPE.SOLID_BOTTOM;break;case 84:this.$=Fe.LINETYPE.STICK_TOP;break;case 85:this.$=Fe.LINETYPE.STICK_BOTTOM;break;case 86:this.$=Fe.LINETYPE.SOLID_TOP_DOTTED;break;case 87:this.$=Fe.LINETYPE.SOLID_BOTTOM_DOTTED;break;case 88:this.$=Fe.LINETYPE.STICK_TOP_DOTTED;break;case 89:this.$=Fe.LINETYPE.STICK_BOTTOM_DOTTED;break;case 90:this.$=Fe.LINETYPE.SOLID_ARROW_TOP_REVERSE;break;case 91:this.$=Fe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE;break;case 92:this.$=Fe.LINETYPE.STICK_ARROW_TOP_REVERSE;break;case 93:this.$=Fe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE;break;case 94:this.$=Fe.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED;break;case 95:this.$=Fe.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED;break;case 96:this.$=Fe.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED;break;case 97:this.$=Fe.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED;break;case 98:this.$=Fe.LINETYPE.BIDIRECTIONAL_SOLID;break;case 99:this.$=Fe.LINETYPE.DOTTED;break;case 100:this.$=Fe.LINETYPE.BIDIRECTIONAL_DOTTED;break;case 101:this.$=Fe.LINETYPE.SOLID_CROSS;break;case 102:this.$=Fe.LINETYPE.DOTTED_CROSS;break;case 103:this.$=Fe.LINETYPE.SOLID_POINT;break;case 104:this.$=Fe.LINETYPE.DOTTED_POINT;break;case 105:this.$=Fe.parseMessage(Pe[Ie].trim().substring(1));break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,10,14,15,19,22,24,30,31,32,34,36,37,38,39,40,42,44,45,47,51,53,54,56,61,62,63,64,73],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},t(B,[2,5]),{9:48,13:13,14:l,15:u,18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},t(B,[2,7]),t(B,[2,8]),t(B,[2,9]),t(B,[2,15]),{13:49,51:A,53:M,54:P},{16:[1,50]},{5:[1,51]},{5:[1,54],20:[1,52],21:[1,53]},{23:55,73:O},{23:56,73:O},{5:[1,57]},{5:[1,58]},{5:[1,59]},{5:[1,60]},{5:[1,61]},t(B,[2,30]),t(B,[2,31]),{33:[1,62]},{35:[1,63]},t(B,[2,34]),{16:[1,64]},{16:[1,65]},{16:[1,66]},{16:[1,67]},{16:[1,68]},{16:[1,69]},{16:[1,70]},{16:[1,71]},{23:72,55:73,73:F},{23:75,55:76,73:F},{23:77,73:O},{69:78,72:[1,79],78:z,79:$,80:H,81:V,82:G,83:K,84:W,85:oe,86:Z,87:J,88:ne,89:ie,90:me,91:te,92:Re,93:_e,94:He,95:ce,96:de,97:we,98:ge,99:ze,100:xe,101:Ee,102:qe,103:le},{57:106,59:[1,107],67:[1,108],68:[1,109]},{23:110,73:O},{23:111,73:O},{23:112,73:O},{23:113,73:O},t([5,66,72,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104],pe),t(B,[2,6]),t(B,[2,16]),t(Te,[2,10],{11:114}),t(B,[2,18]),{5:[1,116],20:[1,115]},{5:[1,117]},t(B,[2,22]),{5:[1,118]},{5:[1,119]},t(B,[2,25]),t(B,[2,26]),t(B,[2,27]),t(B,[2,28]),t(B,[2,29]),t(B,[2,32]),t(B,[2,33]),t(re,i,{7:120}),t(re,i,{7:121}),t(re,i,{7:122}),t(Y,i,{41:123,7:124}),t(Q,i,{43:125,7:126}),t(Q,i,{7:126,43:127}),t(ue,i,{46:128,7:129}),t(re,i,{7:130}),{5:[1,132],52:[1,131]},{5:[1,134],52:[1,133]},t(X,pe,{74:135,75:[1,136]}),{5:[1,138],52:[1,137]},{5:[1,140],52:[1,139]},{5:[1,141]},{23:145,70:[1,142],71:[1,143],72:[1,144],73:O},{69:146,78:z,79:$,80:H,81:V,82:G,83:K,84:W,85:oe,86:Z,87:J,88:ne,89:ie,90:me,91:te,92:Re,93:_e,94:He,95:ce,96:de,97:we,98:ge,99:ze,100:xe,101:Ee,102:qe,103:le},t(fe,[2,79]),t(fe,[2,80]),t(fe,[2,81]),t(fe,[2,82]),t(fe,[2,83]),t(fe,[2,84]),t(fe,[2,85]),t(fe,[2,86]),t(fe,[2,87]),t(fe,[2,88]),t(fe,[2,89]),t(fe,[2,90]),t(fe,[2,91]),t(fe,[2,92]),t(fe,[2,93]),t(fe,[2,94]),t(fe,[2,95]),t(fe,[2,96]),t(fe,[2,97]),t(fe,[2,98]),t(fe,[2,99]),t(fe,[2,100]),t(fe,[2,101]),t(fe,[2,102]),t(fe,[2,103]),t(fe,[2,104]),{23:147,73:O},{23:149,60:148,73:O},{73:[2,68]},{73:[2,69]},{58:150,104:ee},{58:152,104:ee},{58:153,104:ee},{58:154,104:ee},{4:[1,157],5:[1,159],12:156,13:158,17:[1,155],51:A,53:M,54:P},{5:[1,160]},t(B,[2,20]),t(B,[2,21]),t(B,[2,23]),t(B,[2,24]),{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,161],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,162],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,163],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{17:[1,164]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,47],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,50:[1,165],51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{17:[1,166]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,45],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,49:[1,167],51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{17:[1,168]},{17:[1,169]},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[2,43],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,48:[1,170],51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{4:a,5:s,8:8,9:10,10:o,13:13,14:l,15:u,17:[1,171],18:16,19:d,22:h,23:41,24:f,25:20,26:21,27:22,28:23,29:24,30:p,31:g,32:m,34:U,36:y,37:b,38:v,39:w,40:T,42:S,44:C,45:k,47:E,51:A,53:M,54:P,56:N,61:I,62:L,63:_,64:D,73:O},{16:[1,172]},t(B,[2,50]),{16:[1,173]},t(B,[2,55]),t(X,[2,76]),{76:[1,174]},{16:[1,175]},t(B,[2,52]),{16:[1,176]},t(B,[2,57]),t(B,[2,53]),{23:177,73:O},{23:178,73:O},{23:179,73:O},{58:180,104:ee},{23:181,72:[1,182],73:O},{58:183,104:ee},{58:184,104:ee},{66:[1,185],104:[2,67]},{5:[2,60]},{5:[2,105]},{5:[2,61]},{5:[2,62]},{5:[2,63]},t(B,[2,17]),t(Te,[2,11]),{13:186,51:A,53:M,54:P},t(Te,[2,13]),t(Te,[2,14]),t(B,[2,19]),t(B,[2,35]),t(B,[2,36]),t(B,[2,37]),t(B,[2,38]),{16:[1,187]},t(B,[2,39]),{16:[1,188]},t(B,[2,40]),t(B,[2,41]),{16:[1,189]},t(B,[2,42]),{5:[1,190]},{5:[1,191]},{77:[1,192]},{5:[1,193]},{5:[1,194]},{58:195,104:ee},{58:196,104:ee},{58:197,104:ee},{5:[2,75]},{58:198,104:ee},{23:199,73:O},{5:[2,58]},{5:[2,59]},{23:200,73:O},t(Te,[2,12]),t(Y,i,{7:124,41:201}),t(Q,i,{7:126,43:202}),t(ue,i,{7:129,46:203}),t(B,[2,49]),t(B,[2,54]),t(X,[2,77]),t(B,[2,51]),t(B,[2,56]),{5:[2,70]},{5:[2,71]},{5:[2,72]},{5:[2,73]},{58:204,104:ee},{104:[2,66]},{17:[2,48]},{17:[2,46]},{17:[2,44]},{5:[2,74]}],defaultActions:{5:[2,1],6:[2,2],108:[2,68],109:[2,69],150:[2,60],151:[2,105],152:[2,61],153:[2,62],154:[2,63],180:[2,75],183:[2,58],184:[2,59],195:[2,70],196:[2,71],197:[2,72],198:[2,73],200:[2,66],201:[2,48],202:[2,46],203:[2,44],204:[2,74]},parseError:x(function(je,Oe){if(Oe.recoverable)this.trace(je);else{var Ze=new Error(je);throw Ze.hash=Oe,Ze}},"parseError"),parse:x(function(je){var Oe=this,Ze=[0],Fe=[],at=[null],Pe=[],gt=this.table,Ie="",St=0,Et=0,ot=2,Ht=1,It=Pe.slice.call(arguments,1),ht=Object.create(this.lexer),ve={yy:{}};for(var Lt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Lt)&&(ve.yy[Lt]=this.yy[Lt]);ht.setInput(je,ve.yy),ve.yy.lexer=ht,ve.yy.parser=this,typeof ht.yylloc>"u"&&(ht.yylloc={});var xt=ht.yylloc;Pe.push(xt);var mt=ht.options&&ht.options.ranges;typeof ve.yy.parseError=="function"?this.parseError=ve.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Mt(Cr){Ze.length=Ze.length-2*Cr,at.length=at.length-Cr,Pe.length=Pe.length-Cr}x(Mt,"popStack");function Dr(){var Cr;return Cr=Fe.pop()||ht.lex()||Ht,typeof Cr!="number"&&(Cr instanceof Array&&(Fe=Cr,Cr=Fe.pop()),Cr=Oe.symbols_[Cr]||Cr),Cr}x(Dr,"lex");for(var ke,it,pt,bt,ir={},Br,Sr,jr,Er;;){if(it=Ze[Ze.length-1],this.defaultActions[it]?pt=this.defaultActions[it]:((ke===null||typeof ke>"u")&&(ke=Dr()),pt=gt[it]&&gt[it][ke]),typeof pt>"u"||!pt.length||!pt[0]){var an="";Er=[];for(Br in gt[it])this.terminals_[Br]&&Br>ot&&Er.push("'"+this.terminals_[Br]+"'");ht.showPosition?an="Parse error on line "+(St+1)+`:
`+ht.showPosition()+`
Expecting `+Er.join(", ")+", got '"+(this.terminals_[ke]||ke)+"'":an="Parse error on line "+(St+1)+": Unexpected "+(ke==Ht?"end of input":"'"+(this.terminals_[ke]||ke)+"'"),this.parseError(an,{text:ht.match,token:this.terminals_[ke]||ke,line:ht.yylineno,loc:xt,expected:Er})}if(pt[0]instanceof Array&&pt.length>1)throw new Error("Parse Error: multiple actions possible at state: "+it+", token: "+ke);switch(pt[0]){case 1:Ze.push(ke),at.push(ht.yytext),Pe.push(ht.yylloc),Ze.push(pt[1]),ke=null,Et=ht.yyleng,Ie=ht.yytext,St=ht.yylineno,xt=ht.yylloc;break;case 2:if(Sr=this.productions_[pt[1]][1],ir.$=at[at.length-Sr],ir._$={first_line:Pe[Pe.length-(Sr||1)].first_line,last_line:Pe[Pe.length-1].last_line,first_column:Pe[Pe.length-(Sr||1)].first_column,last_column:Pe[Pe.length-1].last_column},mt&&(ir._$.range=[Pe[Pe.length-(Sr||1)].range[0],Pe[Pe.length-1].range[1]]),bt=this.performAction.apply(ir,[Ie,Et,St,ve.yy,pt[1],at,Pe].concat(It)),typeof bt<"u")return bt;Sr&&(Ze=Ze.slice(0,-1*Sr*2),at=at.slice(0,-1*Sr),Pe=Pe.slice(0,-1*Sr)),Ze.push(this.productions_[pt[1]][0]),at.push(ir.$),Pe.push(ir._$),jr=gt[Ze[Ze.length-2]][Ze[Ze.length-1]],Ze.push(jr);break;case 3:return!0}}return!0},"parse")},Me=(function(){var Ne={EOF:1,parseError:x(function(Oe,Ze){if(this.yy.parser)this.yy.parser.parseError(Oe,Ze);else throw new Error(Oe)},"parseError"),setInput:x(function(je,Oe){return this.yy=Oe||this.yy||{},this._input=je,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},"setInput"),input:x(function(){var je=this._input[0];this.yytext+=je,this.yyleng++,this.offset++,this.match+=je,this.matched+=je;var Oe=je.match(/(?:\r\n?|\n).*/g);return Oe?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),je},"input"),unput:x(function(je){var Oe=je.length,Ze=je.split(/(?:\r\n?|\n)/g);this._input=je+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Oe),this.offset-=Oe;var Fe=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),Ze.length-1&&(this.yylineno-=Ze.length-1);var at=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:Ze?(Ze.length===Fe.length?this.yylloc.first_column:0)+Fe[Fe.length-Ze.length].length-Ze[0].length:this.yylloc.first_column-Oe},this.options.ranges&&(this.yylloc.range=[at[0],at[0]+this.yyleng-Oe]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(je){this.unput(this.match.slice(je))},"less"),pastInput:x(function(){var je=this.matched.substr(0,this.matched.length-this.match.length);return(je.length>20?"...":"")+je.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var je=this.match;return je.length<20&&(je+=this._input.substr(0,20-je.length)),(je.substr(0,20)+(je.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var je=this.pastInput(),Oe=new Array(je.length+1).join("-");return je+this.upcomingInput()+`
`+Oe+"^"},"showPosition"),test_match:x(function(je,Oe){var Ze,Fe,at;if(this.options.backtrack_lexer&&(at={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&&(at.yylloc.range=this.yylloc.range.slice(0))),Fe=je[0].match(/(?:\r\n?|\n).*/g),Fe&&(this.yylineno+=Fe.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Fe?Fe[Fe.length-1].length-Fe[Fe.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+je[0].length},this.yytext+=je[0],this.match+=je[0],this.matches=je,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(je[0].length),this.matched+=je[0],Ze=this.performAction.call(this,this.yy,this,Oe,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Ze)return Ze;if(this._backtrack){for(var Pe in at)this[Pe]=at[Pe];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var je,Oe,Ze,Fe;this._more||(this.yytext="",this.match="");for(var at=this._currentRules(),Pe=0;Pe<at.length;Pe++)if(Ze=this._input.match(this.rules[at[Pe]]),Ze&&(!Oe||Ze[0].length>Oe[0].length)){if(Oe=Ze,Fe=Pe,this.options.backtrack_lexer){if(je=this.test_match(Ze,at[Pe]),je!==!1)return je;if(this._backtrack){Oe=!1;continue}else return!1}else if(!this.options.flex)break}return Oe?(je=this.test_match(Oe,at[Fe]),je!==!1?je:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var Oe=this.next();return Oe||this.lex()},"lex"),begin:x(function(Oe){this.conditionStack.push(Oe)},"begin"),popState:x(function(){var Oe=this.conditionStack.length-1;return Oe>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(Oe){return Oe=this.conditionStack.length-1-Math.abs(Oe||0),Oe>=0?this.conditionStack[Oe]:"INITIAL"},"topState"),pushState:x(function(Oe){this.begin(Oe)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(Oe,Ze,Fe,at){switch(Fe){case 0:return 5;case 1:break;case 2:break;case 3:break;case 4:break;case 5:break;case 6:return 20;case 7:return this.begin("CONFIG"),75;case 8:return 76;case 9:return this.popState(),this.begin("ALIAS"),77;case 10:return this.popState(),this.popState(),77;case 11:return Ze.yytext=Ze.yytext.trim(),73;case 12:return Ze.yytext=Ze.yytext.trim(),this.begin("ALIAS"),73;case 13:return Ze.yytext=Ze.yytext.trim(),this.popState(),73;case 14:return this.popState(),10;case 15:return Ze.yytext=Ze.yytext.trim(),this.popState(),10;case 16:return this.begin("LINE"),15;case 17:return this.begin("ID"),51;case 18:return this.begin("ID"),53;case 19:return 14;case 20:return this.begin("ID"),54;case 21:return this.popState(),this.popState(),this.begin("LINE"),52;case 22:return this.popState(),this.popState(),5;case 23:return this.begin("LINE"),37;case 24:return this.begin("LINE"),38;case 25:return this.begin("LINE"),39;case 26:return this.begin("LINE"),40;case 27:return this.begin("LINE"),50;case 28:return this.begin("LINE"),42;case 29:return this.begin("LINE"),44;case 30:return this.begin("LINE"),49;case 31:return this.begin("LINE"),45;case 32:return this.begin("LINE"),48;case 33:return this.begin("LINE"),47;case 34:return this.popState(),16;case 35:return 17;case 36:return 67;case 37:return 68;case 38:return 61;case 39:return 62;case 40:return 63;case 41:return 64;case 42:return 59;case 43:return 56;case 44:return this.begin("ID"),22;case 45:return this.begin("ID"),24;case 46:return 30;case 47:return 31;case 48:return this.begin("acc_title"),32;case 49:return this.popState(),"acc_title_value";case 50:return this.begin("acc_descr"),34;case 51:return this.popState(),"acc_descr_value";case 52:this.begin("acc_descr_multiline");break;case 53:this.popState();break;case 54:return"acc_descr_multiline_value";case 55:return 6;case 56:return 19;case 57:return 21;case 58:return 66;case 59:return 5;case 60:return Ze.yytext=Ze.yytext.trim(),73;case 61:return 80;case 62:return 97;case 63:return 98;case 64:return 99;case 65:return 78;case 66:return 79;case 67:return 100;case 68:return 101;case 69:return 102;case 70:return 103;case 71:return 85;case 72:return 86;case 73:return 87;case 74:return 88;case 75:return 93;case 76:return 94;case 77:return 95;case 78:return 96;case 79:return 81;case 80:return 82;case 81:return 83;case 82:return 84;case 83:return 89;case 84:return 90;case 85:return 91;case 86:return 92;case 87:return 104;case 88:return 104;case 89:return 70;case 90:return 71;case 91:return 72;case 92:return 5;case 93:return 10}},"anonymous"),rules:[/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:((?!\n)\s)+)/i,/^(?:#[^\n]*)/i,/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:([0-9]+(\.[0-9]{1,2})?|\.[0-9]{1,2})(?=[ \n]+))/i,/^(?:@\{)/i,/^(?:[^\}]+)/i,/^(?:\}(?=\s+as\s))/i,/^(?:\})/i,/^(?:[^\<->\->:\n,;@\s]+(?=@\{))/i,/^(?:[^<>:\n,;@\s]+(?=\s+as\s))/i,/^(?:[^<>:\n,;@]+(?=\s*[\n;#]|$))/i,/^(?:[^<>:\n,;@]*<[^\n]*)/i,/^(?:[^\n]+)/i,/^(?:box\b)/i,/^(?:participant\b)/i,/^(?:actor\b)/i,/^(?:create\b)/i,/^(?:destroy\b)/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,/^(?:->)/i,/^(?:-->)/i,/^(?:-[x])/i,/^(?:--[x])/i,/^(?:-[\)])/i,/^(?:--[\)])/i,/^(?:--\|\\)/i,/^(?:--\|\/)/i,/^(?:--\\\\)/i,/^(?:--\/\/)/i,/^(?:\/\|--)/i,/^(?:\\\|--)/i,/^(?:\/\/--)/i,/^(?:\\\\--)/i,/^(?:-\|\\)/i,/^(?:-\|\/)/i,/^(?:-\\\\)/i,/^(?:-\/\/)/i,/^(?:\/\|-)/i,/^(?:\\\|-)/i,/^(?:\/\/-)/i,/^(?:\\\\-)/i,/^(?::(?:(?:no)?wrap)?[^#\n;]*)/i,/^(?::)/i,/^(?:\+)/i,/^(?:-)/i,/^(?:\(\))/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[53,54],inclusive:!1},acc_descr:{rules:[51],inclusive:!1},acc_title:{rules:[49],inclusive:!1},ID:{rules:[2,3,7,11,12,13,14,15],inclusive:!1},ALIAS:{rules:[2,3,21,22],inclusive:!1},LINE:{rules:[2,3,34],inclusive:!1},CONFIG:{rules:[8,9,10],inclusive:!1},CONFIG_DATA:{rules:[],inclusive:!1},INITIAL:{rules:[0,1,3,4,5,6,16,17,18,19,20,23,24,25,26,27,28,29,30,31,32,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,52,55,56,57,58,59,60,61,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],inclusive:!0}}};return Ne})();Ae.lexer=Me;function Ke(){this.yy={}}return x(Ke,"Parser"),Ke.prototype=Ae,Ae.Parser=Ke,new Ke})();RK.parser=RK;var myr=RK,Uyr={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,BIDIRECTIONAL_SOLID:33,BIDIRECTIONAL_DOTTED:34,SOLID_TOP:41,SOLID_BOTTOM:42,STICK_TOP:43,STICK_BOTTOM:44,SOLID_ARROW_TOP_REVERSE:45,SOLID_ARROW_BOTTOM_REVERSE:46,STICK_ARROW_TOP_REVERSE:47,STICK_ARROW_BOTTOM_REVERSE:48,SOLID_TOP_DOTTED:51,SOLID_BOTTOM_DOTTED:52,STICK_TOP_DOTTED:53,STICK_BOTTOM_DOTTED:54,SOLID_ARROW_TOP_REVERSE_DOTTED:55,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:56,STICK_ARROW_TOP_REVERSE_DOTTED:57,STICK_ARROW_BOTTOM_REVERSE_DOTTED:58,CENTRAL_CONNECTION:59,CENTRAL_CONNECTION_REVERSE:60,CENTRAL_CONNECTION_DUAL:61},yyr={FILLED:0,OPEN:1},byr={LEFTOF:0,RIGHTOF:1,OVER:2},gA={ACTOR:"actor",CONTROL:"control",DATABASE:"database",ENTITY:"entity"},nv,vyr=(nv=class{constructor(){this.state=new Yre(()=>({prevActor:void 0,actors:new Map,createdActors:new Map,destroyedActors:new Map,boxes:[],messages:[],notes:[],sequenceNumbersEnabled:!1,wrapEnabled:void 0,currentBox:void 0,lastCreated:void 0,lastDestroyed:void 0})),this.setAccTitle=qi,this.setAccDescription=aa,this.setDiagramTitle=ra,this.getAccTitle=ia,this.getAccDescription=sa,this.getDiagramTitle=Yi,this.apply=this.apply.bind(this),this.parseBoxData=this.parseBoxData.bind(this),this.parseMessage=this.parseMessage.bind(this),this.clear(),this.setWrap(Ve().wrap),this.LINETYPE=Uyr,this.ARROWTYPE=yyr,this.PLACEMENT=byr}addBox(e){this.state.records.boxes.push({name:e.text,wrap:e.wrap??this.autoWrap(),fill:e.color,actorKeys:[]}),this.state.records.currentBox=this.state.records.boxes.slice(-1)[0]}addActor(e,r,n,i,a){let s=this.state.records.currentBox,o;if(a!==void 0){let u;a.includes(`
`)?u=a+`
`:u=`{
`+a+`
}`,o=wD(u,{schema:xD})}i=(o==null?void 0:o.type)??i,o!=null&&o.alias&&(!n||n.text===r)&&(n={text:o.alias,wrap:n==null?void 0:n.wrap,type:i});const l=this.state.records.actors.get(e);if(l){if(this.state.records.currentBox&&l.box&&this.state.records.currentBox!==l.box)throw new Error(`A same participant should only be defined in one Box: ${l.name} can't be in '${l.box.name}' and in '${this.state.records.currentBox.name}' at the same time.`);if(s=l.box?l.box:this.state.records.currentBox,l.box=s,l&&r===l.name&&n==null)return}if((n==null?void 0:n.text)==null&&(n={text:r,type:i}),(i==null||n.text==null)&&(n={text:r,type:i}),this.state.records.actors.set(e,{box:s,name:r,description:n.text,wrap:n.wrap??this.autoWrap(),prevActor:this.state.records.prevActor,links:{},properties:{},actorCnt:null,rectData:null,type:i??"participant"}),this.state.records.prevActor){const u=this.state.records.actors.get(this.state.records.prevActor);u&&(u.nextActor=e)}this.state.records.currentBox&&this.state.records.currentBox.actorKeys.push(e),this.state.records.prevActor=e}activationCount(e){let r,n=0;if(!e)return 0;for(r=0;r<this.state.records.messages.length;r++)this.state.records.messages[r].type===this.LINETYPE.ACTIVE_START&&this.state.records.messages[r].from===e&&n++,this.state.records.messages[r].type===this.LINETYPE.ACTIVE_END&&this.state.records.messages[r].from===e&&n--;return n}addMessage(e,r,n,i){this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:n.text,wrap:n.wrap??this.autoWrap(),answer:i})}addSignal(e,r,n,i,a=!1,s){if(i===this.LINETYPE.ACTIVE_END&&this.activationCount(e??"")<1){const l=new Error("Trying to inactivate an inactive participant ("+e+")");throw l.hash={text:"->>-",token:"->>-",line:"1",loc:{first_line:1,last_line:1,first_column:1,last_column:1},expected:["'ACTIVE_PARTICIPANT'"]},l}return this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:e,to:r,message:(n==null?void 0:n.text)??"",wrap:(n==null?void 0:n.wrap)??this.autoWrap(),type:i,activate:a,centralConnection:s??0}),!0}hasAtLeastOneBox(){return this.state.records.boxes.length>0}hasAtLeastOneBoxWithTitle(){return this.state.records.boxes.some(e=>e.name)}getMessages(){return this.state.records.messages}getBoxes(){return this.state.records.boxes}getActors(){return this.state.records.actors}getCreatedActors(){return this.state.records.createdActors}getDestroyedActors(){return this.state.records.destroyedActors}getActor(e){return this.state.records.actors.get(e)}getActorKeys(){return[...this.state.records.actors.keys()]}enableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!0}disableSequenceNumbers(){this.state.records.sequenceNumbersEnabled=!1}showSequenceNumbers(){return this.state.records.sequenceNumbersEnabled}setWrap(e){this.state.records.wrapEnabled=e}extractWrap(e){if(e===void 0)return{};e=e.trim();const r=/^:?wrap:/.exec(e)!==null?!0:/^:?nowrap:/.exec(e)!==null?!1:void 0;return{cleanedText:(r===void 0?e:e.replace(/^:?(?:no)?wrap:/,"")).trim(),wrap:r}}autoWrap(){var e;return this.state.records.wrapEnabled!==void 0?this.state.records.wrapEnabled:((e=Ve().sequence)==null?void 0:e.wrap)??!1}clear(){this.state.reset(),Di()}parseMessage(e){const r=e.trim(),{wrap:n,cleanedText:i}=this.extractWrap(r),a={text:i,wrap:n};return he.debug(`parseMessage: ${JSON.stringify(a)}`),a}parseBoxData(e){const r=/^((?:rgba?|hsla?)\s*\(.*\)|\w*)(.*)$/.exec(e);let n=r!=null&&r[1]?r[1].trim():"transparent",i=r!=null&&r[2]?r[2].trim():void 0;if(window!=null&&window.CSS)window.CSS.supports("color",n)||(n="transparent",i=e.trim());else{const o=new Option().style;o.color=n,o.color!==n&&(n="transparent",i=e.trim())}const{wrap:a,cleanedText:s}=this.extractWrap(i);return{text:s?On(s,Ve()):void 0,color:n,wrap:a}}addNote(e,r,n){const i={actor:e,placement:r,message:n.text,wrap:n.wrap??this.autoWrap()},a=[].concat(e,e);this.state.records.notes.push(i),this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:a[0],to:a[1],message:n.text,wrap:n.wrap??this.autoWrap(),type:this.LINETYPE.NOTE,placement:r})}addLinks(e,r){const n=this.getActor(e);try{let i=On(r.text,Ve());i=i.replace(/&equals;/g,"="),i=i.replace(/&amp;/g,"&");const a=JSON.parse(i);this.insertLinks(n,a)}catch(i){he.error("error while parsing actor link text",i)}}addALink(e,r){const n=this.getActor(e);try{const i={};let a=On(r.text,Ve());const s=a.indexOf("@");a=a.replace(/&equals;/g,"="),a=a.replace(/&amp;/g,"&");const o=a.slice(0,s-1).trim(),l=a.slice(s+1).trim();i[o]=l,this.insertLinks(n,i)}catch(i){he.error("error while parsing actor link text",i)}}insertLinks(e,r){if(e.links==null)e.links=r;else for(const n in r)e.links[n]=r[n]}addProperties(e,r){const n=this.getActor(e);try{const i=On(r.text,Ve()),a=JSON.parse(i);this.insertProperties(n,a)}catch(i){he.error("error while parsing actor properties text",i)}}insertProperties(e,r){if(e.properties==null)e.properties=r;else for(const n in r)e.properties[n]=r[n]}boxEnd(){this.state.records.currentBox=void 0}addDetails(e,r){const n=this.getActor(e),i=document.getElementById(r.text);try{const a=i.innerHTML,s=JSON.parse(a);s.properties&&this.insertProperties(n,s.properties),s.links&&this.insertLinks(n,s.links)}catch(a){he.error("error while parsing actor details text",a)}}getActorProperty(e,r){if((e==null?void 0:e.properties)!==void 0)return e.properties[r]}apply(e){if(Array.isArray(e))e.forEach(r=>{this.apply(r)});else switch(e.type){case"sequenceIndex":this.state.records.messages.push({id:this.state.records.messages.length.toString(),from:void 0,to:void 0,message:{start:e.sequenceIndex,step:e.sequenceIndexStep,visible:e.sequenceVisible},wrap:!1,type:e.signalType});break;case"addParticipant":this.addActor(e.actor,e.actor,e.description,e.draw,e.config);break;case"createParticipant":if(this.state.records.actors.has(e.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");this.state.records.lastCreated=e.actor,this.addActor(e.actor,e.actor,e.description,e.draw,e.config),this.state.records.createdActors.set(e.actor,this.state.records.messages.length);break;case"destroyParticipant":this.state.records.lastDestroyed=e.actor,this.state.records.destroyedActors.set(e.actor,this.state.records.messages.length);break;case"activeStart":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnection":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"centralConnectionReverse":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"activeEnd":this.addSignal(e.actor,void 0,void 0,e.signalType);break;case"addNote":this.addNote(e.actor,e.placement,e.text);break;case"addLinks":this.addLinks(e.actor,e.text);break;case"addALink":this.addALink(e.actor,e.text);break;case"addProperties":this.addProperties(e.actor,e.text);break;case"addDetails":this.addDetails(e.actor,e.text);break;case"addMessage":if(this.state.records.lastCreated){if(e.to!==this.state.records.lastCreated)throw new Error("The created participant "+this.state.records.lastCreated.name+" does not have an associated creating message after its declaration. Please check the sequence diagram.");this.state.records.lastCreated=void 0}else if(this.state.records.lastDestroyed){if(e.to!==this.state.records.lastDestroyed&&e.from!==this.state.records.lastDestroyed)throw new Error("The destroyed participant "+this.state.records.lastDestroyed.name+" does not have an associated destroying message after its declaration. Please check the sequence diagram.");this.state.records.lastDestroyed=void 0}this.addSignal(e.from,e.to,e.msg,e.signalType,e.activate,e.centralConnection);break;case"boxStart":this.addBox(e.boxData);break;case"boxEnd":this.boxEnd();break;case"loopStart":this.addSignal(void 0,void 0,e.loopText,e.signalType);break;case"loopEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"rectStart":this.addSignal(void 0,void 0,e.color,e.signalType);break;case"rectEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"optStart":this.addSignal(void 0,void 0,e.optText,e.signalType);break;case"optEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"altStart":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"else":this.addSignal(void 0,void 0,e.altText,e.signalType);break;case"altEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"setAccTitle":qi(e.text);break;case"parStart":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"and":this.addSignal(void 0,void 0,e.parText,e.signalType);break;case"parEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"criticalStart":this.addSignal(void 0,void 0,e.criticalText,e.signalType);break;case"option":this.addSignal(void 0,void 0,e.optionText,e.signalType);break;case"criticalEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break;case"breakStart":this.addSignal(void 0,void 0,e.breakText,e.signalType);break;case"breakEnd":this.addSignal(void 0,void 0,void 0,e.signalType);break}}getConfig(){return Ve().sequence}},x(nv,"SequenceDB"),nv),xyr=x(t=>{const e=t.dropShadow??"none",{look:r}=Ve();return`.actor {
stroke: ${t.actorBorder};
fill: ${t.actorBkg};
stroke-width: ${t.strokeWidth??1};
}
rect.actor.outer-path[data-look="neo"] {
filter: ${e};
}
rect.note[data-look="neo"] {
stroke:${t.noteBorderColor};
fill:${t.noteBkgColor};
filter: ${e};
}
text.actor > tspan {
fill: ${t.actorTextColor};
stroke: none;
}
.actor-line {
stroke: ${t.actorLineColor};
}
.innerArc {
stroke-width: 1.5;
stroke-dasharray: none;
}
.messageLine0 {
stroke-width: 1.5;
stroke-dasharray: none;
stroke: ${t.signalColor};
}
.messageLine1 {
stroke-width: 1.5;
stroke-dasharray: 2, 2;
stroke: ${t.signalColor};
}
[id$="-arrowhead"] path {
fill: ${t.signalColor};
stroke: ${t.signalColor};
}
.sequenceNumber {
fill: ${t.sequenceNumberColor};
}
[id$="-sequencenumber"] {
fill: ${t.signalColor};
}
[id$="-crosshead"] path {
fill: ${t.signalColor};
stroke: ${t.signalColor};
}
.messageText {
fill: ${t.signalTextColor};
stroke: none;
}
.labelBox {
stroke: ${t.labelBoxBorderColor};
fill: ${t.labelBoxBkgColor};
filter: ${r==="neo"?e:"none"};
}
.labelText, .labelText > tspan {
fill: ${t.labelTextColor};
stroke: none;
}
.loopText, .loopText > tspan {
fill: ${t.loopTextColor};
stroke: none;
}
.sectionTitle, .sectionTitle > 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;
${t.noteFontWeight?`font-weight: ${t.noteFontWeight};`:""}
}
.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 circle, line {
fill: ${t.actorBkg};
stroke-width: 2px;
}
g rect.rect {
filter: ${e};
stroke: ${t.nodeBorder};
}
`},"getStyles"),wyr=xyr,xU=36,H1="actor-top",V1="actor-bottom",fB="actor-box",U5="actor-man",wp=new Set(["redux-color","redux-dark-color"]),TC=x(function(t,e){const r=JP(t,e);return xr().look==="neo"&&r.attr("data-look","neo"),r},"drawRect"),Tyr=x(function(t,e,r,n,i){if(e.links===void 0||e.links===null||Object.keys(e.links).length===0)return{height:0,width:0};const a=e.links,s=e.actorCnt,o=e.rectData;var l="none";i&&(l="block !important");const u=t.append("g");u.attr("id","actor"+s+"_popup"),u.attr("class","actorPopupMenu"),u.attr("display",l);var d="";o.class!==void 0&&(d=" "+o.class);let h=o.width>r?o.width:r;const f=u.append("rect");if(f.attr("class","actorPopupMenuPanel"+d),f.attr("x",o.x),f.attr("y",o.height),f.attr("fill",o.fill),f.attr("stroke",o.stroke),f.attr("width",h),f.attr("height",o.height),f.attr("rx",o.rx),f.attr("ry",o.ry),a!=null){var p=20;for(let U in a){var g=u.append("a"),m=E5.sanitizeUrl(a[U]);g.attr("xlink:href",m),g.attr("target","_blank"),qyr(n)(U,g,o.x+10,o.height+p,h,20,{class:"actor"},n),p+=30}}return f.attr("height",p),{height:o.height+p,width:h}},"drawPopup"),pB=x(function(t){return"var pu = document.getElementById('"+t+"'); if (pu != null) { pu.style.display = pu.style.display == 'block' ? 'none' : 'block'; }"},"popupMenuToggle"),uO=x(async function(t,e,r=null){let n=t.append("foreignObject");const i=await uD(e.text,xr()),s=n.append("xhtml:div").attr("style","width: fit-content;").attr("xmlns","http://www.w3.org/1999/xhtml").html(i).node().getBoundingClientRect();if(n.attr("height",Math.round(s.height)).attr("width",Math.round(s.width)),e.class==="noteText"){const o=t.node().firstChild;o.setAttribute("height",s.height+2*e.textMargin);const l=o.getBBox();n.attr("x",Math.round(l.x+l.width/2-s.width/2)).attr("y",Math.round(l.y+l.height/2-s.height/2))}else if(r){let{startx:o,stopx:l,starty:u}=r;if(o>l){const d=o;o=l,l=d}n.attr("x",Math.round(o+Math.abs(o-l)/2-s.width/2)),e.class==="loopText"?n.attr("y",Math.round(u)):n.attr("y",Math.round(u-s.height))}return[n]},"drawKatex"),I4=x(function(t,e){let r=0,n=0;const i=e.text.split(Vt.lineBreakRegex),[a,s]=ap(e.fontSize);let o=[],l=0,u=x(()=>e.y,"yfunc");if(e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0)switch(e.valign){case"top":case"start":u=x(()=>Math.round(e.y+e.textMargin),"yfunc");break;case"middle":case"center":u=x(()=>Math.round(e.y+(r+n+e.textMargin)/2),"yfunc");break;case"bottom":case"end":u=x(()=>Math.round(e.y+(r+n+2*e.textMargin)-e.textMargin),"yfunc");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[d,h]of i.entries()){e.textMargin!==void 0&&e.textMargin===0&&a!==void 0&&(l=d*a);const f=t.append("text");f.attr("x",e.x),f.attr("y",u()),e.anchor!==void 0&&f.attr("text-anchor",e.anchor).attr("dominant-baseline",e.dominantBaseline).attr("alignment-baseline",e.alignmentBaseline),e.fontFamily!==void 0&&f.style("font-family",e.fontFamily),s!==void 0&&f.style("font-size",s),e.fontWeight!==void 0&&f.style("font-weight",e.fontWeight),e.fill!==void 0&&f.attr("fill",e.fill),e.class!==void 0&&f.attr("class",e.class),e.dy!==void 0?f.attr("dy",e.dy):l!==0&&f.attr("dy",l);const p=h||tTe;if(e.tspan){const g=f.append("tspan");g.attr("x",e.x),e.fill!==void 0&&g.attr("fill",e.fill),g.text(p)}else f.text(p);e.valign!==void 0&&e.textMargin!==void 0&&e.textMargin>0&&(n+=(f._groups||f)[0][0].getBBox().height,r=n),o.push(f)}return o},"drawText"),qYe=x(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}x(r,"genPoints");const n=t.append("polygon");return n.attr("points",r(e.x,e.y,e.width,e.height,7)),n.attr("class","labelBox"),e.y=e.y+e.height/2,I4(t,e),n},"drawLabel"),Fn=-1,jYe=x((t,e,r,n)=>{t.select&&r.forEach(i=>{const a=e.get(i),s=t.select("#actor"+a.actorCnt);!n.mirrorActors&&a.stopy?s.attr("y2",a.stopy+a.height/2):n.mirrorActors&&s.attr("y2",a.stopy)})},"fixLifeLineHeights"),Cyr=x(function(t,e,r,n,i){var w,T;const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:d}=r,{bkgColorArray:h,borderColorArray:f}=d,p=t.append("g").lower();var g=p;n||(Fn++,Object.keys(e.links||{}).length&&!r.forceMenus&&g.attr("onclick",pB(`actor${Fn}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),g=p.append("g"),e.actorCnt=Fn,e.links!=null&&g.attr("id","root-"+Fn),l==="neo"&&g.attr("data-look","neo"));const m=uu();var U="actor";(w=e.properties)!=null&&w.class?U=e.properties.class:m.fill="#eaeaea",n?U+=` ${V1}`:U+=` ${H1}`,m.x=e.x,m.y=a,m.width=e.width,m.height=e.height,m.class=U,m.rx=3,m.ry=3,m.name=e.name,l==="neo"&&(m.rx=6,m.ry=6);const y=TC(g,m),b=i.get(e.name)??0;if(wp.has(u)&&(y.style("stroke",f[b%f.length]),y.style("fill",h[b%f.length])),l==="neo"&&y.attr("filter","url(#drop-shadow)"),e.rectData=m,(T=e.properties)!=null&&T.icon){const S=e.properties.icon.trim();S.charAt(0)==="@"?$re(g,m.x+m.width-20,m.y+10,S.substr(1)):Bre(g,m.x+m.width-20,m.y+10,S)}n||(g.attr("data-et","participant"),g.attr("data-type","participant"),g.attr("data-id",e.name)),Tp(r,es(e.description))(e.description,g,m.x,m.y,m.width,m.height,{class:`actor ${fB}`},r);let v=e.height;if(y.node){const S=y.node().getBBox();e.height=S.height,v=S.height}return v},"drawActorTypeParticipant"),Syr=x(function(t,e,r,n,i){var C,k;const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:d}=r,{bkgColorArray:h,borderColorArray:f}=d,p=t.append("g").lower();var g=p;n||(Fn++,Object.keys(e.links||{}).length&&!r.forceMenus&&g.attr("onclick",pB(`actor${Fn}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),g=p.append("g"),e.actorCnt=Fn,e.links!=null&&g.attr("id","root-"+Fn),l==="neo"&&g.attr("data-look","neo"));const m=uu();var U="actor";(C=e.properties)!=null&&C.class?U=e.properties.class:m.fill="#eaeaea",n?U+=` ${V1}`:U+=` ${H1}`,m.x=e.x,m.y=a,m.width=e.width,m.height=e.height,m.class=U,m.name=e.name;const y=6,b={...m,x:m.x+-y,y:m.y+ +y,class:"actor"},v=TC(g,m),w=TC(g,b);e.rectData=m,l==="neo"&&g.attr("filter","url(#drop-shadow)");const T=i.get(e.name)??0;if(wp.has(u)&&(v.style("stroke",f[T%f.length]),v.style("fill",h[T%f.length]),w.style("stroke",f[T%f.length]),w.style("fill",h[T%f.length])),(k=e.properties)!=null&&k.icon){const E=e.properties.icon.trim();E.charAt(0)==="@"?$re(g,m.x+m.width-20,m.y+10,E.substr(1)):Bre(g,m.x+m.width-20,m.y+10,E)}Tp(r,es(e.description))(e.description,g,m.x-y,m.y+y,m.width,m.height,{class:`actor ${fB}`},r);let S=e.height;if(v.node){const E=v.node().getBBox();e.height=E.height,S=E.height}return n||(g.attr("data-et","participant"),g.attr("data-type","collections"),g.attr("data-id",e.name)),S},"drawActorTypeCollections"),kyr=x(function(t,e,r,n,i){var E,A;const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height,{look:l,theme:u,themeVariables:d}=r,{bkgColorArray:h,borderColorArray:f}=d,p=t.append("g").lower();let g=p;n||(Fn++,Object.keys(e.links||{}).length&&!r.forceMenus&&g.attr("onclick",pB(`actor${Fn}_popup`)).attr("cursor","pointer"),g.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),g=p.append("g"),e.actorCnt=Fn,e.links!=null&&g.attr("id","root-"+Fn),l==="neo"&&g.attr("data-look","neo"));const m=uu();let U="actor";(E=e.properties)!=null&&E.class?U=e.properties.class:m.fill="#eaeaea",n?U+=` ${V1}`:U+=` ${H1}`,g.attr("class",U),m.x=e.x,m.y=a,m.width=e.width,m.height=e.height,m.name=e.name;const y=m.height/2,b=y/(2.5+m.height/50),v=g.append("g"),w=g.append("g"),T=`M ${m.x},${m.y+y}
a ${b},${y} 0 0 0 0,${m.height}
h ${m.width-2*b}
a ${b},${y} 0 0 0 0,-${m.height}
Z
`;v.append("path").attr("d",T),w.append("path").attr("d",`M ${m.x},${m.y+y}
a ${b},${y} 0 0 0 0,${m.height}`),v.attr("transform",`translate(${b}, ${-(m.height/2)})`),w.attr("transform",`translate(${m.width-b}, ${-m.height/2})`),e.rectData=m,l==="neo"&&v.attr("filter","url(#drop-shadow)");const S=i.get(e.name)??0;if(wp.has(u)&&(v.style("stroke",f[S%f.length]),v.style("fill",h[S%f.length]),w.style("stroke",f[S%f.length]),w.style("fill",h[S%f.length])),(A=e.properties)!=null&&A.icon){const M=e.properties.icon.trim(),P=m.x+m.width-20,N=m.y+10;M.charAt(0)==="@"?$re(g,P,N,M.substr(1)):Bre(g,P,N,M)}Tp(r,es(e.description))(e.description,g,m.x,m.y,m.width,m.height,{class:`actor ${fB}`},r);let C=e.height;const k=v.select("path:last-child");if(k.node()){const M=k.node().getBBox();e.height=M.height,C=M.height}return n||(g.attr("data-et","participant"),g.attr("data-type","queue"),g.attr("data-id",e.name)),C},"drawActorTypeQueue"),Eyr=x(function(t,e,r,n,i,a){var E;const s=n?e.stopy:e.starty,o=e.x+e.width/2,l=s+75,{look:u,theme:d,themeVariables:h}=r,{bkgColorArray:f,borderColorArray:p,actorBorder:g,actorBkg:m}=h,U=t.append("g").lower();n||(Fn++,U.append("line").attr("id","actor"+Fn).attr("x1",o).attr("y1",l).attr("x2",o).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Fn);const y=t.append("g");let b=U5;n?b+=` ${V1}`:b+=` ${H1}`,y.attr("class",b),y.attr("name",e.name);const v=uu();v.x=e.x,v.y=s,v.fill="#eaeaea",v.width=e.width,v.height=e.height,v.class="actor";const w=e.x+e.width/2,T=s+32,S=22;y.append("defs").append("marker").attr("id",i+"-filled-head-control").attr("refX",11).attr("refY",5.8).attr("markerWidth",20).attr("markerHeight",28).attr("orient","172.5").attr("stroke-width",1.2).append("path").attr("d","M 14.4 5.6 L 7.2 10.4 L 8.8 5.6 L 7.2 0.8 Z"),y.append("circle").attr("cx",w).attr("cy",T).attr("r",S).attr("filter",`${u==="neo"?"url(#drop-shadow)":""}`),y.append("line").attr("marker-end","url(#"+i+"-filled-head-control)").attr("transform",`translate(${w}, ${T-S})`);const C=a.get(e.name)??0;wp.has(d)?(y.style("stroke",p[C%p.length]),y.style("fill",f[C%p.length])):(y.style("stroke",g),y.style("fill",m));const k=y.node().getBBox();return e.height=k.height+2*(((E=r==null?void 0:r.sequence)==null?void 0:E.labelBoxHeight)??0),Tp(r,es(e.description))(e.description,y,v.x,v.y+S+(n?5:12),v.width,v.height,{class:`actor ${U5}`},r),n||(y.attr("data-et","participant"),y.attr("data-type","control"),y.attr("data-id",e.name)),e.height},"drawActorTypeControl"),Ayr=x(function(t,e,r,n,i){var S;const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+75,{look:l,theme:u,themeVariables:d}=r,{bkgColorArray:h,borderColorArray:f}=d,p=t.append("g").lower(),g=t.append("g");let m="actor";n?m+=` ${V1}`:m+=` ${H1}`,g.attr("class",m),g.attr("name",e.name);const U=uu();U.x=e.x,U.y=a,U.fill="#eaeaea",U.width=e.width,U.height=e.height,U.class="actor";const y=e.x+e.width/2,b=a+(n?10:25),v=22;g.append("circle").attr("cx",y).attr("cy",b).attr("r",v).attr("width",e.width).attr("height",e.height),g.append("line").attr("x1",y-v).attr("x2",y+v).attr("y1",b+v).attr("y2",b+v).attr("stroke-width",2),l==="neo"&&g.attr("filter","url(#drop-shadow)");const w=i.get(e.name)??0;wp.has(u)&&(g.style("stroke",f[w%f.length]),g.style("fill",h[w%f.length]));const T=g.node().getBBox();return e.height=T.height+(((S=r==null?void 0:r.sequence)==null?void 0:S.labelBoxHeight)??0),n||(Fn++,p.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Fn),Tp(r,es(e.description))(e.description,g,U.x,U.y+(n?15:30),U.width,U.height,{class:`actor ${U5}`},r),n?g.attr("transform",`translate(0, ${v})`):(g.attr("transform",`translate(0, ${v/2-5})`),g.attr("data-et","participant"),g.attr("data-type","entity"),g.attr("data-id",e.name)),e.height},"drawActorTypeEntity"),Myr=x(function(t,e,r,n,i){var A;const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+e.height+2*r.boxTextMargin,{theme:l,themeVariables:u,look:d}=r,{bkgColorArray:h,borderColorArray:f,actorBorder:p}=u,g=t.append("g").lower();let m=g;n||(Fn++,Object.keys(e.links||{}).length&&!r.forceMenus&&m.attr("onclick",pB(`actor${Fn}_popup`)).attr("cursor","pointer"),m.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),m=g.append("g"),e.actorCnt=Fn,e.links!=null&&m.attr("id","root-"+Fn),d==="neo"&&m.attr("data-look","neo"));const U=uu();let y="actor";(A=e.properties)!=null&&A.class?y=e.properties.class:U.fill="#eaeaea",n?y+=` ${V1}`:y+=` ${H1}`,U.x=e.x,U.y=a,U.width=e.width,U.height=e.height,U.class=y,U.name=e.name,U.x=e.x,U.y=a;const b=U.width/3,v=U.width/3,w=b/2,T=w/(2.5+b/50),S=m.append("g");S.attr("class",y);const C=`
M ${U.x},${U.y+T}
a ${w},${T} 0 0 0 ${b},0
a ${w},${T} 0 0 0 -${b},0
l 0,${v-2*T}
a ${w},${T} 0 0 0 ${b},0
l 0,-${v-2*T}
`;S.append("path").attr("d",C),d==="neo"&&S.attr("filter","url(#drop-shadow)");const k=i.get(e.name)??0;wp.has(l)?(S.style("stroke",f[k%f.length]),S.style("fill",h[k%f.length])):S.style("stroke",p),S.attr("transform",`translate(${b}, ${T})`),e.rectData=U,Tp(r,es(e.description))(e.description,m,U.x,U.y+35,U.width,U.height,{class:`actor ${fB}`},r);const E=S.select("path:last-child");if(E.node()){const M=E.node().getBBox();e.height=M.height+(r.sequence.labelBoxHeight??0)}return n||(m.attr("data-et","participant"),m.attr("data-type","database"),m.attr("data-id",e.name)),e.height},"drawActorTypeDatabase"),Ryr=x(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,l=22,u=t.append("g").lower(),{look:d,theme:h,themeVariables:f}=r,{bkgColorArray:p,borderColorArray:g,actorBorder:m}=f;n||(Fn++,u.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Fn);const U=t.append("g");let y=U5;n?y+=` ${V1}`:y+=` ${H1}`,U.attr("class",y),U.attr("name",e.name);const b=uu();b.x=e.x,b.y=a,b.fill="#eaeaea",b.width=e.width,b.height=e.height,b.class="actor",U.append("line").attr("id","actor-man-torso"+Fn).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+12).attr("x2",e.x+e.width/2-15).attr("y2",a+12),U.append("line").attr("id","actor-man-arms"+Fn).attr("x1",e.x+e.width/2-l*2.5).attr("y1",a+2).attr("x2",e.x+e.width/2-l*2.5).attr("y2",a+22),U.append("circle").attr("cx",e.x+e.width/2).attr("cy",a+12).attr("r",l),d==="neo"&&U.attr("filter","url(#drop-shadow)");const v=i.get(e.name)??0;wp.has(h)?(U.style("stroke",g[v%g.length]),U.style("fill",p[v%g.length])):U.style("stroke",m);const w=U.node().getBBox();return e.height=w.height+(r.sequence.labelBoxHeight??0),Tp(r,es(e.description))(e.description,U,b.x,b.y+15,b.width,b.height,{class:`actor ${U5}`},r),U.attr("transform",`translate(0,${l/2+10})`),n||(U.attr("data-et","participant"),U.attr("data-type","boundary"),U.attr("data-id",e.name)),e.height},"drawActorTypeBoundary"),Iyr=x(function(t,e,r,n,i){const a=n?e.stopy:e.starty,s=e.x+e.width/2,o=a+80,{look:l,theme:u,themeVariables:d}=r,{bkgColorArray:h,borderColorArray:f,actorBorder:p}=d,g=t.append("g").lower();n||(Fn++,g.append("line").attr("id","actor"+Fn).attr("x1",s).attr("y1",o).attr("x2",s).attr("y2",2e3).attr("class","actor-line 200").attr("stroke-width","0.5px").attr("stroke","#999").attr("name",e.name).attr("data-et","life-line").attr("data-id",e.name),e.actorCnt=Fn);const m=t.append("g");let U=U5;n?U+=` ${V1}`:U+=` ${H1}`,m.attr("class",U),m.attr("name",e.name),n||m.attr("data-et","participant").attr("data-type","actor").attr("data-id",e.name);const y=l==="neo"?.5:1,b=l==="neo"?a+(1-y)*30:a;m.append("line").attr("id","actor-man-torso"+Fn).attr("x1",s).attr("y1",b+25*y).attr("x2",s).attr("y2",b+45*y),m.append("line").attr("id","actor-man-arms"+Fn).attr("x1",s-xU/2*y).attr("y1",b+33*y).attr("x2",s+xU/2*y).attr("y2",b+33*y),m.append("line").attr("x1",s-xU/2*y).attr("y1",b+60*y).attr("x2",s).attr("y2",b+45*y),m.append("line").attr("x1",s).attr("y1",b+45*y).attr("x2",s+(xU/2-2)*y).attr("y2",b+60*y);const v=m.append("circle");v.attr("cx",e.x+e.width/2),v.attr("cy",b+10*y),v.attr("r",15*y),v.attr("width",e.width*y),v.attr("height",e.height*y);const w=m.node().getBBox();e.height=w.height;const T=uu();T.x=e.x,T.y=b,T.fill="#eaeaea",T.width=e.width,T.height=e.height/y,T.class="actor",T.rx=3,T.ry=3;const S=i.get(e.name)??0;return wp.has(u)?(m.style("stroke",f[S%f.length]),m.style("fill",h[S%f.length])):m.style("stroke",p),Tp(r,es(e.description))(e.description,m,T.x,b+35*y-(l==="neo"?10:0),T.width,T.height,{class:`actor ${U5}`},r),e.height},"drawActorTypeActor"),Lyr=x(async function(t,e,r,n,i,a,s){const o=s??new Map([...a.db.getActors().values()].map((l,u)=>[l.name,u]));switch(e.type){case"actor":return await Iyr(t,e,r,n,o);case"participant":return await Cyr(t,e,r,n,o);case"boundary":return await Ryr(t,e,r,n,o);case"control":return await Eyr(t,e,r,n,i,o);case"entity":return await Ayr(t,e,r,n,o);case"database":return await Myr(t,e,r,n,o);case"collections":return await Syr(t,e,r,n,o);case"queue":return await kyr(t,e,r,n,o)}},"drawActor"),Nyr=x(function(t,e,r){const i=t.append("g");YYe(i,e),e.name&&Tp(r)(e.name,i,e.x,e.y+r.boxTextMargin+(e.textMaxHeight||0)/2,e.width,0,{class:"text"},r),i.lower()},"drawBox"),Oyr=x(function(t){return t.append("g")},"anchorElement"),Dyr=x(function(t,e,r,n,i,a,s){const{theme:o,themeVariables:l}=n,{bkgColorArray:u,borderColorArray:d,mainBkg:h}=l,f=uu(),p=e.anchored,g=e.actor;f.x=e.startx,f.y=e.starty,f.class="activation"+i%3,f.width=e.stopx-e.startx,f.height=r-e.starty;const m=TC(p,f),y=(s??new Map([...a.db.getActors().values()].map((b,v)=>[b.name,v]))).get(g)??0;wp.has(o)&&(m.style("stroke",d[y%d.length]),m.style("fill",u[y%d.length]??h))},"drawActivation"),Pyr=x(async function(t,e,r,n,i){const{boxMargin:a,boxTextMargin:s,labelBoxHeight:o,labelBoxWidth:l,messageFontFamily:u,messageFontSize:d,messageFontWeight:h}=n,f=t.append("g").attr("data-et","control-structure").attr("data-id","i"+i.id),p=x(function(U,y,b,v){return f.append("line").attr("x1",U).attr("y1",y).attr("x2",b).attr("y2",v).attr("class","loopLine")},"drawLoopLine");p(e.startx,e.starty,e.stopx,e.starty),p(e.stopx,e.starty,e.stopx,e.stopy),p(e.startx,e.stopy,e.stopx,e.stopy),p(e.startx,e.starty,e.startx,e.stopy),e.sections!==void 0&&e.sections.forEach(function(U){p(e.startx,U.y,e.stopx,U.y).style("stroke-dasharray","3, 3")});let g=Fre();g.text=r,g.x=e.startx,g.y=e.starty,g.fontFamily=u,g.fontSize=d,g.fontWeight=h,g.anchor="middle",g.valign="middle",g.tspan=!1,g.width=Math.max(l??0,50),g.height=o+(n.look==="neo"?15:0)||20,g.textMargin=s,g.class="labelText",qYe(f,g),g=XYe(),g.text=e.title,g.x=e.startx+l/2+(e.stopx-e.startx)/2,g.y=e.starty+a+s,g.anchor="middle",g.valign="middle",g.textMargin=s,g.class="loopText",g.fontFamily=u,g.fontSize=d,g.fontWeight=h,g.wrap=!0;let m=es(g.text)?await uO(f,g,e):I4(f,g);if(e.sectionTitles!==void 0){for(const[U,y]of Object.entries(e.sectionTitles))if(y.message){g.text=y.message,g.x=e.startx+(e.stopx-e.startx)/2,g.y=e.sections[U].y+a+s,g.class="sectionTitle",g.anchor="middle",g.valign="middle",g.tspan=!1,g.fontFamily=u,g.fontSize=d,g.fontWeight=h,g.wrap=e.wrap,es(g.text)?(e.starty=e.sections[U].y,await uO(f,g,e)):I4(f,g);let b=Math.round(m.map(v=>(v._groups||v)[0][0].getBBox().height).reduce((v,w)=>v+w));e.sections[U].height+=b-(a+s)}}return e.height=Math.round(e.stopy-e.starty),f},"drawLoop"),YYe=x(function(t,e){cPe(t,e)},"drawBackgroundRect"),_yr=x(function(t,e){t.append("defs").append("symbol").attr("id",e+"-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")},"insertDatabaseIcon"),Byr=x(function(t,e){t.append("defs").append("symbol").attr("id",e+"-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")},"insertComputerIcon"),$yr=x(function(t,e){t.append("defs").append("symbol").attr("id",e+"-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")},"insertClockIcon"),Fyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",7.9).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M -1 0 L 10 5 L 0 10 z")},"insertArrowHead"),zyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-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")},"insertArrowFilledHead"),Hyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-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)},"insertSequenceNumber"),Vyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-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")},"insertArrowCrossHead"),Gyr=x(function(t,e){const{theme:r}=e;t.append("defs").append("filter").attr("id","drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",`${r==="redux"||r==="redux-color"?"#000000":"#FFFFFF"}`)},"insertDropShadow"),XYe=x(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}},"getTextObj"),Wyr=x(function(){return{x:0,y:0,fill:"#EDF2AE",stroke:"#666",width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),Tp=(function(){function t(a,s,o,l,u,d,h){const f=s.append("text").attr("x",o+u/2).attr("y",l+d/2+5).style("text-anchor","middle").text(a);i(f,h)}x(t,"byText");function e(a,s,o,l,u,d,h,f){const{actorFontSize:p,actorFontFamily:g,actorFontWeight:m}=f,[U,y]=ap(p),b=a.split(Vt.lineBreakRegex);for(let v=0;v<b.length;v++){const w=v*U-U*(b.length-1)/2,T=s.append("text").attr("x",o+u/2).attr("y",l).style("text-anchor","middle").style("font-size",y).style("font-weight",m).style("font-family",g);T.append("tspan").attr("x",o+u/2).attr("dy",w).text(b[v]),T.attr("y",l+d/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(T,h)}}x(e,"byTspan");function r(a,s,o,l,u,d,h,f){const p=s.append("switch"),m=p.append("foreignObject").attr("x",o).attr("y",l).attr("width",u).attr("height",d).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");m.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(a),e(a,p,o,l,u,d,h,f),i(m,h)}x(r,"byFo");async function n(a,s,o,l,u,d,h,f){const p=await nS(a,xr()),g=s.append("switch"),U=g.append("foreignObject").attr("x",o+u/2-p.width/2).attr("y",l+d/2-p.height/2).attr("width",p.width).attr("height",p.height).append("xhtml:div").style("height","100%").style("width","100%");U.append("div").style("text-align","center").style("vertical-align","middle").html(await uD(a,xr())),e(a,g,o,l,u,d,h,f),i(U,h)}x(n,"byKatex");function i(a,s){for(const o in s)s.hasOwnProperty(o)&&a.attr(o,s[o])}return x(i,"_setTextAttrs"),function(a,s=!1){return s?n:a.textPlacement==="fo"?r:a.textPlacement==="old"?t:e}})(),qyr=(function(){function t(i,a,s,o,l,u,d){const h=a.append("text").attr("x",s).attr("y",o).style("text-anchor","start").text(i);n(h,d)}x(t,"byText");function e(i,a,s,o,l,u,d,h){const{actorFontSize:f,actorFontFamily:p,actorFontWeight:g}=h,m=i.split(Vt.lineBreakRegex);for(let U=0;U<m.length;U++){const y=U*f-f*(m.length-1)/2,b=a.append("text").attr("x",s).attr("y",o).style("text-anchor","start").style("font-size",f).style("font-weight",g).style("font-family",p);b.append("tspan").attr("x",s).attr("dy",y).text(m[U]),b.attr("y",o+u/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(b,d)}}x(e,"byTspan");function r(i,a,s,o,l,u,d,h){const f=a.append("switch"),g=f.append("foreignObject").attr("x",s).attr("y",o).attr("width",l).attr("height",u).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),e(i,f,s,o,l,u,d,h),n(g,d)}x(r,"byFo");function n(i,a){for(const s in a)a.hasOwnProperty(s)&&i.attr(s,a[s])}return x(n,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?r:i.textPlacement==="old"?t:e}})(),jyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-solidTopArrowHead").attr("refX",7.9).attr("refY",7.25).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 8 L 0 8 z")},"insertSolidTopArrowHead"),Yyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-solidBottomArrowHead").attr("refX",7.9).attr("refY",.75).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 0 L 0 8 z")},"insertSolidBottomArrowHead"),Xyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-stickTopArrowHead").attr("refX",7.5).attr("refY",7).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 7 7").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickTopArrowHead"),Kyr=x(function(t,e){t.append("defs").append("marker").attr("id",e+"-stickBottomArrowHead").attr("refX",7.5).attr("refY",0).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto-start-reverse").append("path").attr("d","M 0 7 L 7 0").attr("stroke","black").attr("stroke-width",1.5).attr("fill","none")},"insertStickBottomArrowHead"),$i={drawRect:TC,drawText:I4,drawLabel:qYe,drawActor:Lyr,drawBox:Nyr,drawPopup:Tyr,anchorElement:Oyr,drawActivation:Dyr,drawLoop:Pyr,drawBackgroundRect:YYe,insertArrowHead:Fyr,insertArrowFilledHead:zyr,insertSequenceNumber:Hyr,insertArrowCrossHead:Vyr,insertDatabaseIcon:_yr,insertComputerIcon:Byr,insertClockIcon:$yr,getTextObj:XYe,getNoteRect:Wyr,fixLifeLineHeights:jYe,sanitizeUrl:E5.sanitizeUrl,insertDropShadow:Gyr,insertSolidTopArrowHead:jyr,insertSolidBottomArrowHead:Yyr,insertStickTopArrowHead:Xyr,insertStickBottomArrowHead:Kyr},tt={},Rt={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],activations:[],models:{getHeight:x(function(){return Math.max.apply(null,this.actors.length===0?[0]:this.actors.map(t=>t.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))},"getHeight"),clear:x(function(){this.actors=[],this.boxes=[],this.loops=[],this.messages=[],this.notes=[]},"clear"),addBox:x(function(t){this.boxes.push(t)},"addBox"),addActor:x(function(t){this.actors.push(t)},"addActor"),addLoop:x(function(t){this.loops.push(t)},"addLoop"),addMessage:x(function(t){this.messages.push(t)},"addMessage"),addNote:x(function(t){this.notes.push(t)},"addNote"),lastActor:x(function(){return this.actors[this.actors.length-1]},"lastActor"),lastLoop:x(function(){return this.loops[this.loops.length-1]},"lastLoop"),lastMessage:x(function(){return this.messages[this.messages.length-1]},"lastMessage"),lastNote:x(function(){return this.notes[this.notes.length-1]},"lastNote"),actors:[],boxes:[],loops:[],messages:[],notes:[]},init:x(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,JYe(Ve())},"init"),updateVal:x(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:x(function(t,e,r,n){const i=this;let a=0;function s(o){return x(function(u){a++;const d=i.sequenceItems.length-a+1;i.updateVal(u,"starty",e-d*tt.boxMargin,Math.min),i.updateVal(u,"stopy",n+d*tt.boxMargin,Math.max),i.updateVal(Rt.data,"startx",t-d*tt.boxMargin,Math.min),i.updateVal(Rt.data,"stopx",r+d*tt.boxMargin,Math.max),o!=="activation"&&(i.updateVal(u,"startx",t-d*tt.boxMargin,Math.min),i.updateVal(u,"stopx",r+d*tt.boxMargin,Math.max),i.updateVal(Rt.data,"starty",e-d*tt.boxMargin,Math.min),i.updateVal(Rt.data,"stopy",n+d*tt.boxMargin,Math.max))},"updateItemBounds")}x(s,"updateFn"),this.sequenceItems.forEach(s()),this.activations.forEach(s("activation"))},"updateBounds"),insert:x(function(t,e,r,n){const i=Vt.getMin(t,r),a=Vt.getMax(t,r),s=Vt.getMin(e,n),o=Vt.getMax(e,n);this.updateVal(Rt.data,"startx",i,Math.min),this.updateVal(Rt.data,"starty",s,Math.min),this.updateVal(Rt.data,"stopx",a,Math.max),this.updateVal(Rt.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),newActivation:x(function(t,e,r){const n=r.get(t.from),i=gB(t.from).length||0,a=n.x+n.width/2+(i-1)*tt.activationWidth/2;this.activations.push({startx:a,starty:this.verticalPos+2,stopx:a+tt.activationWidth,stopy:void 0,actor:t.from,anchored:$i.anchorElement(e)})},"newActivation"),endActivation:x(function(t){const e=this.activations.map(function(r){return r.actor}).lastIndexOf(t.from);return this.activations.splice(e,1)[0]},"endActivation"),createLoop:x(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}},"createLoop"),newLoop:x(function(t={message:void 0,wrap:!1,width:void 0},e){this.sequenceItems.push(this.createLoop(t,e))},"newLoop"),endLoop:x(function(){return this.sequenceItems.pop()},"endLoop"),isLoopOverlap:x(function(){return this.sequenceItems.length?this.sequenceItems[this.sequenceItems.length-1].overlap:!1},"isLoopOverlap"),addSectionToLoop:x(function(t){const e=this.sequenceItems.pop();e.sections=e.sections||[],e.sectionTitles=e.sectionTitles||[],e.sections.push({y:Rt.getVerticalPos(),height:0}),e.sectionTitles.push(t),this.sequenceItems.push(e)},"addSectionToLoop"),saveVerticalPos:x(function(){this.isLoopOverlap()&&(this.savedVerticalPos=this.verticalPos)},"saveVerticalPos"),resetVerticalPos:x(function(){this.isLoopOverlap()&&(this.verticalPos=this.savedVerticalPos)},"resetVerticalPos"),bumpVerticalPos:x(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=Vt.getMax(this.data.stopy,this.verticalPos)},"bumpVerticalPos"),getVerticalPos:x(function(){return this.verticalPos},"getVerticalPos"),getBounds:x(function(){return{bounds:this.data,models:this.models}},"getBounds")},Zyr=x(async function(t,e,r){Rt.bumpVerticalPos(tt.boxMargin),e.height=tt.boxMargin,e.starty=Rt.getVerticalPos();const n=uu();n.x=e.startx,n.y=e.starty,n.width=e.width||tt.width,n.class="note";const i=t.append("g");i.attr("data-et","note"),i.attr("data-id","i"+r);const a=$i.drawRect(i,n),s=Fre();s.x=e.startx,s.y=e.starty,s.width=n.width,s.dy="1em",s.text=e.message,s.class="noteText",s.fontFamily=tt.noteFontFamily,s.fontSize=tt.noteFontSize,s.fontWeight=tt.noteFontWeight,s.anchor=tt.noteAlign,s.textMargin=tt.noteMargin,s.valign="center";const o=es(s.text)?await uO(i,s):I4(i,s),l=Math.round(o.map(u=>(u._groups||u)[0][0].getBBox().height).reduce((u,d)=>u+d));a.attr("height",l+2*tt.noteMargin),e.height+=l+2*tt.noteMargin,Rt.bumpVerticalPos(l+2*tt.noteMargin),e.stopy=e.starty+l+2*tt.noteMargin,e.stopx=e.startx+n.width,Rt.insert(e.startx,e.starty,e.stopx,e.stopy),Rt.models.addNote(e)},"drawNote"),Qye=x(function(t,e,r,n,i,a,s){const o=n.db.getActors(),l=o.get(e.from),u=o.get(e.to),d=r.sequenceVisible;let h=l.x+l.width/2,f=u.x+u.width/2;const p=h<=f,g=rXe(e,n),m=t.append("g"),U=16.5,y=x((S,C)=>{const k=S?U:-U;return C?-k:k},"getCircleOffset"),b=x(S=>{m.append("circle").attr("cx",S).attr("cy",s).attr("r",5).attr("width",10).attr("height",10)},"drawCircle"),{CENTRAL_CONNECTION:v,CENTRAL_CONNECTION_REVERSE:w,CENTRAL_CONNECTION_DUAL:T}=n.db.LINETYPE;if(d)switch(e.centralConnection){case v:g&&(f+=y(p,!0));break;case w:g||(h+=y(p,!1));break;case T:g?f+=y(p,!0):h+=y(p,!1);break}switch(e.centralConnection){case v:b(f);break;case w:b(h);break;case T:b(h),b(f);break}},"drawCentralConnection"),y5=x(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont"),T2=x(t=>({fontFamily:t.noteFontFamily,fontSize:t.noteFontSize,fontWeight:t.noteFontWeight}),"noteFont"),IK=x(t=>({fontFamily:t.actorFontFamily,fontSize:t.actorFontSize,fontWeight:t.actorFontWeight}),"actorFont");async function KYe(t,e){Rt.bumpVerticalPos(10);const{startx:r,stopx:n,message:i}=e,a=Vt.splitBreaks(i).length,s=es(i),o=s?await nS(i,Ve()):Kr.calculateTextDimensions(i,y5(tt));if(!s){const h=o.height/a;e.height+=h,Rt.bumpVerticalPos(h)}let l,u=o.height-10;const d=o.width;if(r===n){l=Rt.getVerticalPos()+u,tt.rightAngles||(u+=tt.boxMargin,l=Rt.getVerticalPos()+u),u+=30;const h=Vt.getMax(d/2,tt.width/2);Rt.insert(r-h,Rt.getVerticalPos()-10+u,n+h,Rt.getVerticalPos()+30+u)}else u+=tt.boxMargin,l=Rt.getVerticalPos()+u,Rt.insert(r,l-10,n,l);return Rt.bumpVerticalPos(u),e.height+=u,e.stopy=e.starty+e.height,Rt.insert(e.fromBounds,e.starty,e.toBounds,e.stopy),l}x(KYe,"boundMessage");var Jyr=x(async function(t,e,r,n,i,a){const{startx:s,stopx:o,starty:l,message:u,type:d,sequenceIndex:h,sequenceVisible:f}=e,p=Kr.calculateTextDimensions(u,y5(tt)),g=Fre();g.x=Math.min(s,o),g.y=l+10,g.width=Math.abs(o-s),g.class="messageText",g.dy="1em",g.text=u,g.fontFamily=tt.messageFontFamily,g.fontSize=tt.messageFontSize,g.fontWeight=tt.messageFontWeight,g.anchor=tt.messageAlign,g.valign="center",g.textMargin=tt.wrapPadding,g.tspan=!1,es(g.text)?await uO(t,g,{startx:s,stopx:o,starty:r}):I4(t,g);const m=p.width;let U;if(s===o){const b=f||tt.showSequenceNumbers,v=rXe(i,n),w=a2r(i,n),T=s+(b&&(v||w)?10:0);tt.rightAngles?U=t.append("path").attr("d",`M ${T},${r} H ${s+Vt.getMax(tt.width/2,m/2)} V ${r+25} H ${s}`):U=t.append("path").attr("d","M "+T+","+r+" C "+(T+60)+","+(r-10)+" "+(s+60)+","+(r+30)+" "+s+","+(r+20)),fV(i,n)&&Qye(t,i,e,n,s,o,r)}else U=t.append("line"),U.attr("x1",s),U.attr("y1",r),U.attr("x2",o),U.attr("y2",r),fV(i,n)&&Qye(t,i,e,n,s,o,r);d===n.db.LINETYPE.DOTTED||d===n.db.LINETYPE.DOTTED_CROSS||d===n.db.LINETYPE.DOTTED_POINT||d===n.db.LINETYPE.DOTTED_OPEN||d===n.db.LINETYPE.BIDIRECTIONAL_DOTTED||d===n.db.LINETYPE.SOLID_TOP_DOTTED||d===n.db.LINETYPE.SOLID_BOTTOM_DOTTED||d===n.db.LINETYPE.STICK_TOP_DOTTED||d===n.db.LINETYPE.STICK_BOTTOM_DOTTED||d===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||d===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||d===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||d===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED?(U.style("stroke-dasharray","3, 3"),U.attr("class","messageLine1")):U.attr("class","messageLine0"),U.attr("data-et","message"),U.attr("data-id","i"+e.id),U.attr("data-from",e.from),U.attr("data-to",e.to);let y="";if(tt.arrowMarkerAbsolute&&(y=cD(!0)),U.attr("stroke-width",2),U.attr("stroke","none"),U.style("fill","none"),(d===n.db.LINETYPE.SOLID_TOP||d===n.db.LINETYPE.SOLID_TOP_DOTTED)&&U.attr("marker-end","url("+y+"#"+a+"-solidTopArrowHead)"),(d===n.db.LINETYPE.SOLID_BOTTOM||d===n.db.LINETYPE.SOLID_BOTTOM_DOTTED)&&U.attr("marker-end","url("+y+"#"+a+"-solidBottomArrowHead)"),(d===n.db.LINETYPE.STICK_TOP||d===n.db.LINETYPE.STICK_TOP_DOTTED)&&U.attr("marker-end","url("+y+"#"+a+"-stickTopArrowHead)"),(d===n.db.LINETYPE.STICK_BOTTOM||d===n.db.LINETYPE.STICK_BOTTOM_DOTTED)&&U.attr("marker-end","url("+y+"#"+a+"-stickBottomArrowHead)"),(d===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||d===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED)&&U.attr("marker-start","url("+y+"#"+a+"-solidBottomArrowHead)"),(d===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||d===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED)&&U.attr("marker-start","url("+y+"#"+a+"-solidTopArrowHead)"),(d===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||d===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED)&&U.attr("marker-start","url("+y+"#"+a+"-stickBottomArrowHead)"),(d===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||d===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED)&&U.attr("marker-start","url("+y+"#"+a+"-stickTopArrowHead)"),(d===n.db.LINETYPE.SOLID||d===n.db.LINETYPE.DOTTED)&&U.attr("marker-end","url("+y+"#"+a+"-arrowhead)"),(d===n.db.LINETYPE.BIDIRECTIONAL_SOLID||d===n.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(U.attr("marker-start","url("+y+"#"+a+"-arrowhead)"),U.attr("marker-end","url("+y+"#"+a+"-arrowhead)")),(d===n.db.LINETYPE.SOLID_POINT||d===n.db.LINETYPE.DOTTED_POINT)&&U.attr("marker-end","url("+y+"#"+a+"-filled-head)"),(d===n.db.LINETYPE.SOLID_CROSS||d===n.db.LINETYPE.DOTTED_CROSS)&&U.attr("marker-end","url("+y+"#"+a+"-crosshead)"),f||tt.showSequenceNumbers){const b=d===n.db.LINETYPE.BIDIRECTIONAL_SOLID||d===n.db.LINETYPE.BIDIRECTIONAL_DOTTED,v=d===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE||d===n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED||d===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE||d===n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED||d===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE||d===n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED||d===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE||d===n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,w=6,T=fV(i,n);let S=s,C=o;b?(s<o?S=s+w*2:(S=s-w+(T?-5:0),S+=(i==null?void 0:i.centralConnection)===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||(i==null?void 0:i.centralConnection)===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),U.attr("x1",S)):v?(o>s?C=o-2*w:(C=o-w,S+=(i==null?void 0:i.centralConnection)===n.db.LINETYPE.CENTRAL_CONNECTION_DUAL||(i==null?void 0:i.centralConnection)===n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE?-7.5:0),C+=T?15:0,U.attr("x2",C),U.attr("x1",S)):U.attr("x1",s+w);let k=0;const E=s===o,A=s<=o;E?k=e.fromBounds+1:v?k=A?e.toBounds-1:e.fromBounds+1:k=A?e.fromBounds+1:e.toBounds-1;let M="12px";const P=h.toString().length;P>5?M="7px":P>3&&(M="9px"),t.append("line").attr("x1",k).attr("y1",r).attr("x2",k).attr("y2",r).attr("stroke-width",0).attr("marker-start","url("+y+"#"+a+"-sequencenumber)"),t.append("text").attr("x",k).attr("y",r+4).attr("font-family","sans-serif").attr("font-size",M).attr("text-anchor","middle").attr("class","sequenceNumber").text(h)}},"drawMessage"),Qyr=x(function(t,e,r,n,i,a,s){let o=0,l=0,u,d=0;for(const h of n){const f=e.get(h),p=f.box;u&&u!=p&&(s||Rt.models.addBox(u),l+=tt.boxMargin+u.margin),p&&p!=u&&(s||(p.x=o+l,p.y=i),l+=p.margin),f.width=Vt.getMax(f.width||tt.width,tt.width),f.height=Vt.getMax(f.height||tt.height,tt.height),f.margin=f.margin||tt.actorMargin,d=Vt.getMax(d,f.height),r.get(f.name)&&(l+=f.width/2),f.x=o+l,f.starty=Rt.getVerticalPos(),Rt.insert(f.x,i,f.x+f.width,f.height),o+=f.width+l,f.box&&(f.box.width=o+p.margin-f.box.x),l=f.margin,u=f.box,Rt.models.addActor(f)}u&&!s&&Rt.models.addBox(u),Rt.bumpVerticalPos(d)},"addActorRenderingData"),LK=x(async function(t,e,r,n,i,a,s){if(n){let o=0;Rt.bumpVerticalPos(tt.boxMargin*2);for(const l of r){const u=e.get(l);u.stopy||(u.stopy=Rt.getVerticalPos());const d=await $i.drawActor(t,u,tt,!0,i,a,s);o=Vt.getMax(o,d)}Rt.bumpVerticalPos(o+tt.boxMargin)}else for(const o of r){const l=e.get(o);await $i.drawActor(t,l,tt,!1,i,a,s)}},"drawActors"),ZYe=x(function(t,e,r,n){let i=0,a=0;for(const s of r){const o=e.get(s),l=t2r(o),u=$i.drawPopup(t,o,l,tt,tt.forceMenus,n);u.height>i&&(i=u.height),u.width+o.x>a&&(a=u.width+o.x)}return{maxHeight:i,maxWidth:a}},"drawActorsPopup"),JYe=x(function(t){ls(tt,t),t.fontFamily&&(tt.actorFontFamily=tt.noteFontFamily=tt.messageFontFamily=t.fontFamily),t.fontSize&&(tt.actorFontSize=tt.noteFontSize=tt.messageFontSize=t.fontSize),t.fontWeight&&(tt.actorFontWeight=tt.noteFontWeight=tt.messageFontWeight=t.fontWeight)},"setConf"),gB=x(function(t){return Rt.activations.filter(function(e){return e.actor===t})},"actorActivations"),e2e=x(function(t,e){const r=e.get(t),n=gB(t),i=n.reduce(function(s,o){return Vt.getMin(s,o.startx)},r.x+r.width/2-1),a=n.reduce(function(s,o){return Vt.getMax(s,o.stopx)},r.x+r.width/2+1);return[i,a]},"activationBounds");function id(t,e,r,n,i){Rt.bumpVerticalPos(r);let a=n;if(e.id&&e.message&&t[e.id]){const s=t[e.id].width,o=y5(tt);e.message=Kr.wrapLabel(`[${e.message}]`,s-2*tt.wrapPadding,o),e.width=s,e.wrap=!0;const l=Kr.calculateTextDimensions(e.message,o),u=Vt.getMax(l.height,tt.labelBoxHeight);a=n+u,he.debug(`${u} - ${e.message}`)}i(e),Rt.bumpVerticalPos(a)}x(id,"adjustLoopHeightForWrap");function QYe(t,e,r,n,i,a,s){function o(d,h){d.x<i.get(t.from).x?(Rt.insert(e.stopx-h,e.starty,e.startx,e.stopy+d.height/2+tt.noteMargin),e.stopx=e.stopx+h):(Rt.insert(e.startx,e.starty,e.stopx+h,e.stopy+d.height/2+tt.noteMargin),e.stopx=e.stopx-h)}x(o,"receiverAdjustment");function l(d,h){d.x<i.get(t.to).x?(Rt.insert(e.startx-h,e.starty,e.stopx,e.stopy+d.height/2+tt.noteMargin),e.startx=e.startx+h):(Rt.insert(e.stopx,e.starty,e.startx+h,e.stopy+d.height/2+tt.noteMargin),e.startx=e.startx-h)}x(l,"senderAdjustment");const u=[gA.ACTOR,gA.CONTROL,gA.ENTITY,gA.DATABASE];if(a.get(t.to)==n){const d=i.get(t.to),h=u.includes(d.type)?xU/2+3:d.width/2+3;o(d,h),d.starty=r-d.height/2,Rt.bumpVerticalPos(d.height/2)}else if(s.get(t.from)==n){const d=i.get(t.from);if(tt.mirrorActors){const h=u.includes(d.type)?xU/2:d.width/2;l(d,h)}d.stopy=r-d.height/2,Rt.bumpVerticalPos(d.height/2)}else if(s.get(t.to)==n){const d=i.get(t.to);if(tt.mirrorActors){const h=u.includes(d.type)?xU/2+3:d.width/2+3;o(d,h)}d.stopy=r-d.height/2,Rt.bumpVerticalPos(d.height/2)}}x(QYe,"adjustCreatedDestroyedData");var e2r=x(async function(t,e,r,n){const{securityLevel:i,sequence:a,look:s,themeVariables:o}=Ve();tt=a;let l;i==="sandbox"&&(l=vt("#i"+e));const u=vt(i==="sandbox"?l.nodes()[0].contentDocument.body:"body"),d=i==="sandbox"?l.nodes()[0].contentDocument:document;Rt.init(),he.debug(n.db);const h=i==="sandbox"?u.select(`[id="${e}"]`):vt(`[id="${e}"]`),f=n.db.getActors(),p=n.db.getCreatedActors(),g=n.db.getDestroyedActors(),m=n.db.getBoxes();let U=n.db.getActorKeys();const y=n.db.getMessages(),b=n.db.getDiagramTitle(),v=n.db.hasAtLeastOneBox(),w=n.db.hasAtLeastOneBoxWithTitle(),T=await eXe(f,y,n);if(tt.height=await tXe(f,T,m),$i.insertComputerIcon(h,e),$i.insertDatabaseIcon(h,e),$i.insertClockIcon(h,e),v&&(Rt.bumpVerticalPos(tt.boxMargin),w&&Rt.bumpVerticalPos(m[0].textMaxHeight)),tt.hideUnusedParticipants===!0){const $=new Set;y.forEach(H=>{$.add(H.from),$.add(H.to)}),U=U.filter(H=>$.has(H))}const S=new Map(U.map(($,H)=>{var V;return[((V=f.get($))==null?void 0:V.name)??$,H]}));Qyr(h,f,p,U,0,y,!1);const C=await o2r(y,f,T,n);$i.insertArrowHead(h,e),$i.insertArrowCrossHead(h,e),$i.insertArrowFilledHead(h,e),$i.insertSequenceNumber(h,e),$i.insertSolidTopArrowHead(h,e),$i.insertSolidBottomArrowHead(h,e),$i.insertStickTopArrowHead(h,e),$i.insertStickBottomArrowHead(h,e),s==="neo"&&$i.insertDropShadow(h,tt);function k($,H){const V=Rt.endActivation($);V.starty+18>H&&(V.starty=H-6,H+=12),$i.drawActivation(h,V,H,tt,gB($.from).length,n,S),Rt.insert(V.startx,H-10,V.stopx,H)}x(k,"activeEnd");let E=1,A=1;const M=[],P=[];let N=0;for(const $ of y){let H,V,G;switch($.type){case n.db.LINETYPE.NOTE:Rt.resetVerticalPos(),V=$.noteModel,await Zyr(h,V,$.id);break;case n.db.LINETYPE.ACTIVE_START:Rt.newActivation($,h,f);break;case n.db.LINETYPE.CENTRAL_CONNECTION:Rt.newActivation($,h,f);break;case n.db.LINETYPE.CENTRAL_CONNECTION_REVERSE:Rt.newActivation($,h,f);break;case n.db.LINETYPE.ACTIVE_END:k($,Rt.getVerticalPos());break;case n.db.LINETYPE.LOOP_START:id(C,$,tt.boxMargin,tt.boxMargin+tt.boxTextMargin,K=>Rt.newLoop(K));break;case n.db.LINETYPE.LOOP_END:H=Rt.endLoop(),await $i.drawLoop(h,H,"loop",tt,$),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos()),Rt.models.addLoop(H);break;case n.db.LINETYPE.RECT_START:id(C,$,tt.boxMargin,tt.boxMargin,K=>{let W=K.message;W||(W=(o==null?void 0:o.rectBkgColor)||(o==null?void 0:o.actorBkg)||"rgba(128, 128, 128, 0.5)"),Rt.newLoop(void 0,W)});break;case n.db.LINETYPE.RECT_END:H=Rt.endLoop(),P.push(H),Rt.models.addLoop(H),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos());break;case n.db.LINETYPE.OPT_START:id(C,$,tt.boxMargin,tt.boxMargin+tt.boxTextMargin,K=>Rt.newLoop(K));break;case n.db.LINETYPE.OPT_END:H=Rt.endLoop(),await $i.drawLoop(h,H,"opt",tt,$),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos()),Rt.models.addLoop(H);break;case n.db.LINETYPE.ALT_START:id(C,$,tt.boxMargin,tt.boxMargin+tt.boxTextMargin,K=>Rt.newLoop(K));break;case n.db.LINETYPE.ALT_ELSE:id(C,$,tt.boxMargin+tt.boxTextMargin,tt.boxMargin,K=>Rt.addSectionToLoop(K));break;case n.db.LINETYPE.ALT_END:H=Rt.endLoop(),await $i.drawLoop(h,H,"alt",tt,$),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos()),Rt.models.addLoop(H);break;case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:id(C,$,tt.boxMargin,tt.boxMargin+tt.boxTextMargin,K=>Rt.newLoop(K)),Rt.saveVerticalPos();break;case n.db.LINETYPE.PAR_AND:id(C,$,tt.boxMargin+tt.boxTextMargin,tt.boxMargin,K=>Rt.addSectionToLoop(K));break;case n.db.LINETYPE.PAR_END:H=Rt.endLoop(),await $i.drawLoop(h,H,"par",tt,$),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos()),Rt.models.addLoop(H);break;case n.db.LINETYPE.AUTONUMBER:E=$.message.start||E,A=$.message.step||A,$.message.visible?n.db.enableSequenceNumbers():n.db.disableSequenceNumbers();break;case n.db.LINETYPE.CRITICAL_START:id(C,$,tt.boxMargin,tt.boxMargin+tt.boxTextMargin,K=>Rt.newLoop(K));break;case n.db.LINETYPE.CRITICAL_OPTION:id(C,$,tt.boxMargin+tt.boxTextMargin,tt.boxMargin,K=>Rt.addSectionToLoop(K));break;case n.db.LINETYPE.CRITICAL_END:H=Rt.endLoop(),await $i.drawLoop(h,H,"critical",tt,$),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos()),Rt.models.addLoop(H);break;case n.db.LINETYPE.BREAK_START:id(C,$,tt.boxMargin,tt.boxMargin+tt.boxTextMargin,K=>Rt.newLoop(K));break;case n.db.LINETYPE.BREAK_END:H=Rt.endLoop(),await $i.drawLoop(h,H,"break",tt,$),Rt.bumpVerticalPos(H.stopy-Rt.getVerticalPos()),Rt.models.addLoop(H);break;default:try{G=$.msgModel,G.starty=Rt.getVerticalPos(),G.sequenceIndex=E,G.sequenceVisible=n.db.showSequenceNumbers(),G.id=$.id,G.from=$.from,G.to=$.to;const K=await KYe(h,G);QYe($,G,K,N,f,p,g),M.push({messageModel:G,lineStartY:K,msg:$}),Rt.models.addMessage(G)}catch(K){he.error("error while drawing message",K)}}[n.db.LINETYPE.SOLID_OPEN,n.db.LINETYPE.DOTTED_OPEN,n.db.LINETYPE.SOLID,n.db.LINETYPE.SOLID_TOP,n.db.LINETYPE.SOLID_BOTTOM,n.db.LINETYPE.STICK_TOP,n.db.LINETYPE.STICK_BOTTOM,n.db.LINETYPE.SOLID_TOP_DOTTED,n.db.LINETYPE.SOLID_BOTTOM_DOTTED,n.db.LINETYPE.STICK_TOP_DOTTED,n.db.LINETYPE.STICK_BOTTOM_DOTTED,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,n.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,n.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,n.db.LINETYPE.DOTTED,n.db.LINETYPE.SOLID_CROSS,n.db.LINETYPE.DOTTED_CROSS,n.db.LINETYPE.SOLID_POINT,n.db.LINETYPE.DOTTED_POINT,n.db.LINETYPE.BIDIRECTIONAL_SOLID,n.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes($.type)&&(E=Math.round((E+A)*100)/100),N++}he.debug("createdActors",p),he.debug("destroyedActors",g),await LK(h,f,U,!1,e,n,S);for(const $ of M)await Jyr(h,$.messageModel,$.lineStartY,n,$.msg,e);tt.mirrorActors&&await LK(h,f,U,!0,e,n,S),P.forEach($=>$i.drawBackgroundRect(h,$)),jYe(h,f,U,tt);for(const $ of Rt.models.boxes){$.height=Rt.getVerticalPos()-$.y,Rt.insert($.x,$.y,$.x+$.width,$.height);const H=tt.boxMargin*2;$.startx=$.x-H,$.starty=$.y-H*.25,$.stopx=$.startx+$.width+2*H,$.stopy=$.starty+$.height+H*.75,$.stroke="rgb(0,0,0, 0.5)",$i.drawBox(h,$,tt)}v&&Rt.bumpVerticalPos(tt.boxMargin);const I=ZYe(h,f,U,d),{bounds:L}=Rt.getBounds();L.startx===void 0&&(L.startx=0),L.starty===void 0&&(L.starty=0),L.stopx===void 0&&(L.stopx=0),L.stopy===void 0&&(L.stopy=0);let _=L.stopy-L.starty;_<I.maxHeight&&(_=I.maxHeight);let D=_+2*tt.diagramMarginY;tt.mirrorActors&&(D=D-tt.boxMargin+tt.bottomMarginAdj);let O=L.stopx-L.startx;O<I.maxWidth&&(O=I.maxWidth);const B=O+2*tt.diagramMarginX;b&&h.append("text").text(b).attr("x",(L.stopx-L.startx)/2-2*tt.diagramMarginX).attr("y",-25),Wa(h,D,B,tt.useMaxWidth);const F=b?40:0,z=f.size&&s==="neo"?30:0;h.attr("viewBox",L.startx-tt.diagramMarginX+" -"+(tt.diagramMarginY+F)+" "+B+" "+(D+F+z)),he.debug("models:",Rt.models)},"draw");async function eXe(t,e,r){const n={};for(const i of e)if(t.get(i.to)&&t.get(i.from)){const a=t.get(i.to);if(i.placement===r.db.PLACEMENT.LEFTOF&&!a.prevActor||i.placement===r.db.PLACEMENT.RIGHTOF&&!a.nextActor)continue;const s=i.placement!==void 0,o=!s,l=s?T2(tt):y5(tt),u=i.wrap?Kr.wrapLabel(i.message,tt.width-2*tt.wrapPadding,l):i.message,h=(es(u)?await nS(i.message,Ve()):Kr.calculateTextDimensions(u,l)).width+2*tt.wrapPadding;o&&i.from===a.nextActor?n[i.to]=Vt.getMax(n[i.to]||0,h):o&&i.from===a.prevActor?n[i.from]=Vt.getMax(n[i.from]||0,h):o&&i.from===i.to?(n[i.from]=Vt.getMax(n[i.from]||0,h/2),n[i.to]=Vt.getMax(n[i.to]||0,h/2)):i.placement===r.db.PLACEMENT.RIGHTOF?n[i.from]=Vt.getMax(n[i.from]||0,h):i.placement===r.db.PLACEMENT.LEFTOF?n[a.prevActor]=Vt.getMax(n[a.prevActor]||0,h):i.placement===r.db.PLACEMENT.OVER&&(a.prevActor&&(n[a.prevActor]=Vt.getMax(n[a.prevActor]||0,h/2)),a.nextActor&&(n[i.from]=Vt.getMax(n[i.from]||0,h/2)))}return he.debug("maxMessageWidthPerActor:",n),n}x(eXe,"getMaxMessageWidthPerActor");var t2r=x(function(t){let e=0;const r=IK(tt);for(const n in t.links){const a=Kr.calculateTextDimensions(n,r).width+2*tt.wrapPadding+2*tt.boxMargin;e<a&&(e=a)}return e},"getRequiredPopupWidth");async function tXe(t,e,r){let n=0;for(const a of t.keys()){const s=t.get(a);s.wrap&&(s.description=Kr.wrapLabel(s.description,tt.width-2*tt.wrapPadding,IK(tt)));const o=es(s.description)?await nS(s.description,Ve()):Kr.calculateTextDimensions(s.description,IK(tt));s.width=s.wrap?tt.width:Vt.getMax(tt.width,o.width+2*tt.wrapPadding),s.height=s.wrap?Vt.getMax(o.height,tt.height):tt.height,n=Vt.getMax(n,s.height)}for(const a in e){const s=t.get(a);if(!s)continue;const o=t.get(s.nextActor);if(!o){const h=e[a]+tt.actorMargin-s.width/2;s.margin=Vt.getMax(h,tt.actorMargin);continue}const u=e[a]+tt.actorMargin-s.width/2-o.width/2;s.margin=Vt.getMax(u,tt.actorMargin)}let i=0;return r.forEach(a=>{const s=y5(tt);let o=a.actorKeys.reduce((h,f)=>h+=t.get(f).width+(t.get(f).margin||0),0);const l=tt.boxMargin*8;o+=l,o-=2*tt.boxTextMargin,a.wrap&&(a.name=Kr.wrapLabel(a.name,o-2*tt.wrapPadding,s));const u=Kr.calculateTextDimensions(a.name,s);i=Vt.getMax(u.height,i);const d=Vt.getMax(o,u.width+2*tt.wrapPadding);if(a.margin=tt.boxTextMargin,o<d){const h=(d-o)/2;a.margin+=h}}),r.forEach(a=>a.textMaxHeight=i),Vt.getMax(n,tt.height)}x(tXe,"calculateActorMargins");var r2r=x(async function(t,e,r){const n=e.get(t.from),i=e.get(t.to),a=n.x,s=i.x,o=t.wrap&&t.message;let l=es(t.message)?await nS(t.message,Ve()):Kr.calculateTextDimensions(o?Kr.wrapLabel(t.message,tt.width,T2(tt)):t.message,T2(tt));const u={width:o?tt.width:Vt.getMax(tt.width,l.width+2*tt.noteMargin),height:0,startx:n.x,stopx:0,starty:0,stopy:0,message:t.message};return t.placement===r.db.PLACEMENT.RIGHTOF?(u.width=o?Vt.getMax(tt.width,l.width):Vt.getMax(n.width/2+i.width/2,l.width+2*tt.noteMargin),u.startx=a+(n.width+tt.actorMargin)/2):t.placement===r.db.PLACEMENT.LEFTOF?(u.width=o?Vt.getMax(tt.width,l.width+2*tt.noteMargin):Vt.getMax(n.width/2+i.width/2,l.width+2*tt.noteMargin),u.startx=a-u.width+(n.width-tt.actorMargin)/2):t.to===t.from?(l=Kr.calculateTextDimensions(o?Kr.wrapLabel(t.message,Vt.getMax(tt.width,n.width),T2(tt)):t.message,T2(tt)),u.width=o?Vt.getMax(tt.width,n.width):Vt.getMax(n.width,tt.width,l.width+2*tt.noteMargin),u.startx=a+(n.width-u.width)/2):(u.width=Math.abs(a+n.width/2-(s+i.width/2))+tt.actorMargin,u.startx=a<s?a+n.width/2-tt.actorMargin/2:s+i.width/2-tt.actorMargin/2),o&&(u.message=Kr.wrapLabel(t.message,u.width-2*tt.wrapPadding,T2(tt))),he.debug(`NM:[${u.startx},${u.stopx},${u.starty},${u.stopy}:${u.width},${u.height}=${t.message}]`),u},"buildNoteModel"),n2r=4,fV=x(function(t,e){const{CENTRAL_CONNECTION:r,CENTRAL_CONNECTION_REVERSE:n,CENTRAL_CONNECTION_DUAL:i}=e.db.LINETYPE;return[r,n,i].includes(t.centralConnection)},"hasCentralConnection"),i2r=x(function(t,e,r){const{CENTRAL_CONNECTION_REVERSE:n,CENTRAL_CONNECTION_DUAL:i,BIDIRECTIONAL_SOLID:a,BIDIRECTIONAL_DOTTED:s}=e.db.LINETYPE;let o=0;return(t.centralConnection===n||t.centralConnection===i)&&(o+=n2r),(t.centralConnection===n||t.centralConnection===i)&&(t.type===a||t.type===s)&&(o+=r?0:-6),o},"calculateCentralConnectionOffset"),rXe=x(function(t,e){const{SOLID_ARROW_TOP_REVERSE:r,SOLID_ARROW_TOP_REVERSE_DOTTED:n,SOLID_ARROW_BOTTOM_REVERSE:i,SOLID_ARROW_BOTTOM_REVERSE_DOTTED:a,STICK_ARROW_TOP_REVERSE:s,STICK_ARROW_TOP_REVERSE_DOTTED:o,STICK_ARROW_BOTTOM_REVERSE:l,STICK_ARROW_BOTTOM_REVERSE_DOTTED:u}=e.db.LINETYPE;return[r,n,i,a,s,o,l,u].includes(t.type)},"isReverseArrowType"),a2r=x(function(t,e){const{BIDIRECTIONAL_SOLID:r,BIDIRECTIONAL_DOTTED:n}=e.db.LINETYPE;return[r,n].includes(t.type)},"isBidirectionalArrowType"),s2r=x(function(t,e,r){const{look:n}=Ve();if(![r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.SOLID,r.db.LINETYPE.SOLID_TOP,r.db.LINETYPE.SOLID_BOTTOM,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.SOLID_TOP_DOTTED,r.db.LINETYPE.SOLID_BOTTOM_DOTTED,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.DOTTED,r.db.LINETYPE.SOLID_CROSS,r.db.LINETYPE.DOTTED_CROSS,r.db.LINETYPE.SOLID_POINT,r.db.LINETYPE.DOTTED_POINT,r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED].includes(t.type))return{};const[i,a]=e2e(t.from,e),[s,o]=e2e(t.to,e),l=i<=s;let u=l?a:i,d=l?s:o;n==="neo"&&(t.type!==r.db.LINETYPE.SOLID_OPEN&&(d+=l?-3:3),(t.type===r.db.LINETYPE.BIDIRECTIONAL_SOLID||t.type===r.db.LINETYPE.BIDIRECTIONAL_DOTTED)&&(u+=l?3:-3)),u+=i2r(t,r,l);const h=Math.abs(s-o)>2,f=x(U=>l?-U:U,"adjustValue");t.from===t.to?d=u:(t.activate&&!h&&(d+=f(tt.activationWidth/2-1)),[r.db.LINETYPE.SOLID_OPEN,r.db.LINETYPE.DOTTED_OPEN,r.db.LINETYPE.STICK_TOP,r.db.LINETYPE.STICK_BOTTOM,r.db.LINETYPE.STICK_TOP_DOTTED,r.db.LINETYPE.STICK_BOTTOM_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE,r.db.LINETYPE.STICK_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.STICK_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)||(d+=f(3)),[r.db.LINETYPE.BIDIRECTIONAL_SOLID,r.db.LINETYPE.BIDIRECTIONAL_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE_DOTTED,r.db.LINETYPE.SOLID_ARROW_TOP_REVERSE,r.db.LINETYPE.SOLID_ARROW_BOTTOM_REVERSE].includes(t.type)&&(u-=f(3)));const p=[i,a,s,o],g=Math.abs(u-d);t.wrap&&t.message&&(t.message=Kr.wrapLabel(t.message,Vt.getMax(g+2*tt.wrapPadding,tt.width),y5(tt)));const m=Kr.calculateTextDimensions(t.message,y5(tt));return{width:Vt.getMax(t.wrap?0:m.width+2*tt.wrapPadding,g+2*tt.wrapPadding,tt.width),height:0,startx:u,stopx:d,starty:0,stopy:0,message:t.message,type:t.type,wrap:t.wrap,fromBounds:Math.min.apply(null,p),toBounds:Math.max.apply(null,p)}},"buildMessageModel"),o2r=x(async function(t,e,r,n){const i={},a=[];let s,o,l;for(const u of t){switch(u.type){case n.db.LINETYPE.LOOP_START:case n.db.LINETYPE.ALT_START:case n.db.LINETYPE.OPT_START:case n.db.LINETYPE.PAR_START:case n.db.LINETYPE.PAR_OVER_START:case n.db.LINETYPE.CRITICAL_START:case n.db.LINETYPE.BREAK_START:a.push({id:u.id,msg:u.message,from:Number.MAX_SAFE_INTEGER,to:Number.MIN_SAFE_INTEGER,width:0});break;case n.db.LINETYPE.ALT_ELSE:case n.db.LINETYPE.PAR_AND:case n.db.LINETYPE.CRITICAL_OPTION:u.message&&(s=a.pop(),i[s.id]=s,i[u.id]=s,a.push(s));break;case n.db.LINETYPE.LOOP_END:case n.db.LINETYPE.ALT_END:case n.db.LINETYPE.OPT_END:case n.db.LINETYPE.PAR_END:case n.db.LINETYPE.CRITICAL_END:case n.db.LINETYPE.BREAK_END:s=a.pop(),i[s.id]=s;break;case n.db.LINETYPE.ACTIVE_START:{const h=e.get(u.from?u.from:u.to.actor),f=gB(u.from?u.from:u.to.actor).length,p=h.x+h.width/2+(f-1)*tt.activationWidth/2,g={startx:p,stopx:p+tt.activationWidth,actor:u.from,enabled:!0};Rt.activations.push(g)}break;case n.db.LINETYPE.ACTIVE_END:{const h=Rt.activations.map(f=>f.actor).lastIndexOf(u.from);Rt.activations.splice(h,1).splice(0,1)}break}u.placement!==void 0?(o=await r2r(u,e,n),u.noteModel=o,a.forEach(h=>{s=h,s.from=Vt.getMin(s.from,o.startx),s.to=Vt.getMax(s.to,o.startx+o.width),s.width=Vt.getMax(s.width,Math.abs(s.from-s.to))-tt.labelBoxWidth})):(l=s2r(u,e,n),u.msgModel=l,l.startx&&l.stopx&&a.length>0&&a.forEach(h=>{if(s=h,l.startx===l.stopx){const f=e.get(u.from),p=e.get(u.to);s.from=Vt.getMin(f.x-l.width/2,f.x-f.width/2,s.from),s.to=Vt.getMax(p.x+l.width/2,p.x+f.width/2,s.to),s.width=Vt.getMax(s.width,Math.abs(s.to-s.from))-tt.labelBoxWidth}else s.from=Vt.getMin(l.startx,s.from),s.to=Vt.getMax(l.stopx,s.to),s.width=Vt.getMax(s.width,l.width)-tt.labelBoxWidth}))}return Rt.activations=[],he.debug("Loop type widths:",i),i},"calculateLoopBounds"),l2r={bounds:Rt,drawActors:LK,drawActorsPopup:ZYe,setConf:JYe,draw:e2r},c2r={parser:myr,get db(){return new vyr},renderer:l2r,styles:wyr,init:x(t=>{t.sequence||(t.sequence={}),t.wrap&&(t.sequence.wrap=t.wrap,BG({sequence:{wrap:t.wrap}}))},"init")};const u2r=Object.freeze(Object.defineProperty({__proto__:null,diagram:c2r},Symbol.toStringTag,{value:"Module"}));var NK=(function(){var t=x(function(pe,Te,re,Y){for(re=re||{},Y=pe.length;Y--;re[pe[Y]]=Te);return re},"o"),e=[1,18],r=[1,19],n=[1,20],i=[1,41],a=[1,26],s=[1,42],o=[1,24],l=[1,25],u=[1,32],d=[1,33],h=[1,34],f=[1,45],p=[1,35],g=[1,36],m=[1,37],U=[1,38],y=[1,27],b=[1,28],v=[1,29],w=[1,30],T=[1,31],S=[1,44],C=[1,46],k=[1,43],E=[1,47],A=[1,9],M=[1,8,9],P=[1,58],N=[1,59],I=[1,60],L=[1,61],_=[1,62],D=[1,63],O=[1,64],B=[1,8,9,41],F=[1,77],z=[1,8,9,12,13,22,39,41,44,46,68,69,70,71,72,73,74,79,81],$=[1,8,9,12,13,18,20,22,39,41,44,46,47,60,68,69,70,71,72,73,74,79,81,86,100,102,103],H=[13,60,86,100,102,103],V=[13,60,73,74,86,100,102,103],G=[13,60,68,69,70,71,72,86,100,102,103],K=[1,103],W=[1,121],oe=[1,117],Z=[1,113],J=[1,119],ne=[1,114],ie=[1,115],me=[1,116],te=[1,118],Re=[1,120],_e=[22,50,60,61,82,86,87,88,89,90],He=[1,128],ce=[12,39],de=[1,8,9,39,41,44,46],we=[1,8,9,22],ge=[1,153],ze=[1,8,9,61],xe=[1,8,9,22,50,60,61,82,86,87,88,89,90],Ee={trace:x(function(){},"trace"),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,classLiteralName:17,DOT:18,className:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,ANNOTATION_START:46,ANNOTATION_END:47,CLASS:48,emptyBody:49,SPACE:50,MEMBER:51,SEPARATOR:52,relation:53,NOTE_FOR:54,noteText:55,NOTE:56,CLASSDEF:57,classList:58,stylesOpt:59,ALPHA:60,COMMA:61,direction_tb:62,direction_bt:63,direction_rl:64,direction_lr:65,relationType:66,lineType:67,AGGREGATION:68,EXTENSION:69,COMPOSITION:70,DEPENDENCY:71,LOLLIPOP:72,LINE:73,DOTTED_LINE:74,CALLBACK:75,LINK:76,LINK_TARGET:77,CLICK:78,CALLBACK_NAME:79,CALLBACK_ARGS:80,HREF:81,STYLE:82,CSSCLASS:83,style:84,styleComponent:85,NUM:86,COLON:87,UNIT:88,BRKT:89,PCT:90,commentToken:91,textToken:92,graphCodeTokens:93,textNoTagsToken:94,TAGSTART:95,TAGEND:96,"==":97,"--":98,DEFAULT:99,MINUS:100,keywords:101,UNICODE_TEXT:102,BQUOTE_STR:103,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",18:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"ANNOTATION_START",47:"ANNOTATION_END",48:"CLASS",50:"SPACE",51:"MEMBER",52:"SEPARATOR",54:"NOTE_FOR",56:"NOTE",57:"CLASSDEF",60:"ALPHA",61:"COMMA",62:"direction_tb",63:"direction_bt",64:"direction_rl",65:"direction_lr",68:"AGGREGATION",69:"EXTENSION",70:"COMPOSITION",71:"DEPENDENCY",72:"LOLLIPOP",73:"LINE",74:"DOTTED_LINE",75:"CALLBACK",76:"LINK",77:"LINK_TARGET",78:"CLICK",79:"CALLBACK_NAME",80:"CALLBACK_ARGS",81:"HREF",82:"STYLE",83:"CSSCLASS",86:"NUM",87:"COLON",88:"UNIT",89:"BRKT",90:"PCT",93:"graphCodeTokens",95:"TAGSTART",96:"TAGEND",97:"==",98:"--",99:"DEFAULT",100:"MINUS",101:"keywords",102:"UNICODE_TEXT",103:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,1],[15,3],[15,2],[19,1],[19,3],[19,1],[19,2],[19,2],[19,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[38,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,3],[24,6],[24,4],[24,7],[24,6],[43,2],[43,3],[49,0],[49,2],[49,2],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[58,1],[58,3],[32,1],[32,1],[32,1],[32,1],[53,3],[53,2],[53,2],[53,1],[66,1],[66,1],[66,1],[66,1],[66,1],[67,1],[67,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[59,1],[59,3],[84,1],[84,2],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[85,1],[91,1],[91,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[92,1],[94,1],[94,1],[94,1],[94,1],[16,1],[16,1],[16,1],[16,1],[17,1],[55,1]],performAction:x(function(Te,re,Y,Q,ue,X,fe){var ee=X.length-1;switch(ue){case 8:this.$=X[ee-1];break;case 9:case 10:case 13:case 15:this.$=X[ee];break;case 11:case 14:this.$=X[ee-2]+"."+X[ee];break;case 12:case 16:this.$=X[ee-1]+X[ee];break;case 17:case 18:this.$=X[ee-1]+"~"+X[ee]+"~";break;case 19:Q.addRelation(X[ee]);break;case 20:X[ee-1].title=Q.cleanupLabel(X[ee]),Q.addRelation(X[ee-1]);break;case 31:this.$=X[ee].trim(),Q.setAccTitle(this.$);break;case 32:case 33:this.$=X[ee].trim(),Q.setAccDescription(this.$);break;case 34:Q.addClassesToNamespace(X[ee-3],X[ee-1][0],X[ee-1][1]),Q.popNamespace();break;case 35:Q.addClassesToNamespace(X[ee-4],X[ee-1][0],X[ee-1][1]),Q.popNamespace();break;case 36:this.$=Q.addNamespace(X[ee]);break;case 37:this.$=Q.addNamespace(X[ee-1],X[ee]);break;case 38:this.$=[[X[ee]],[]];break;case 39:this.$=[[X[ee-1]],[]];break;case 40:X[ee][0].unshift(X[ee-2]),this.$=X[ee];break;case 41:this.$=[[],[X[ee]]];break;case 42:this.$=[[],[X[ee-1]]];break;case 43:X[ee][1].unshift(X[ee-2]),this.$=X[ee];break;case 44:case 45:this.$=[[],[]];break;case 46:this.$=X[ee];break;case 48:Q.setCssClass(X[ee-2],X[ee]);break;case 49:Q.addMembers(X[ee-3],X[ee-1]);break;case 51:Q.setCssClass(X[ee-5],X[ee-3]),Q.addMembers(X[ee-5],X[ee-1]);break;case 52:Q.addAnnotation(X[ee-3],X[ee-1]);break;case 53:Q.addAnnotation(X[ee-6],X[ee-4]),Q.addMembers(X[ee-6],X[ee-1]);break;case 54:Q.addAnnotation(X[ee-5],X[ee-3]);break;case 55:this.$=X[ee],Q.addClass(X[ee]);break;case 56:this.$=X[ee-1],Q.addClass(X[ee-1]),Q.setClassLabel(X[ee-1],X[ee]);break;case 60:Q.addAnnotation(X[ee],X[ee-2]);break;case 61:case 74:this.$=[X[ee]];break;case 62:X[ee].push(X[ee-1]),this.$=X[ee];break;case 63:break;case 64:Q.addMember(X[ee-1],Q.cleanupLabel(X[ee]));break;case 65:break;case 66:break;case 67:this.$={id1:X[ee-2],id2:X[ee],relation:X[ee-1],relationTitle1:"none",relationTitle2:"none"};break;case 68:this.$={id1:X[ee-3],id2:X[ee],relation:X[ee-1],relationTitle1:X[ee-2],relationTitle2:"none"};break;case 69:this.$={id1:X[ee-3],id2:X[ee],relation:X[ee-2],relationTitle1:"none",relationTitle2:X[ee-1]};break;case 70:this.$={id1:X[ee-4],id2:X[ee],relation:X[ee-2],relationTitle1:X[ee-3],relationTitle2:X[ee-1]};break;case 71:this.$=Q.addNote(X[ee],X[ee-1]);break;case 72:this.$=Q.addNote(X[ee]);break;case 73:this.$=X[ee-2],Q.defineClass(X[ee-1],X[ee]);break;case 75:this.$=X[ee-2].concat([X[ee]]);break;case 76:Q.setDirection("TB");break;case 77:Q.setDirection("BT");break;case 78:Q.setDirection("RL");break;case 79:Q.setDirection("LR");break;case 80:this.$={type1:X[ee-2],type2:X[ee],lineType:X[ee-1]};break;case 81:this.$={type1:"none",type2:X[ee],lineType:X[ee-1]};break;case 82:this.$={type1:X[ee-1],type2:"none",lineType:X[ee]};break;case 83:this.$={type1:"none",type2:"none",lineType:X[ee]};break;case 84:this.$=Q.relationType.AGGREGATION;break;case 85:this.$=Q.relationType.EXTENSION;break;case 86:this.$=Q.relationType.COMPOSITION;break;case 87:this.$=Q.relationType.DEPENDENCY;break;case 88:this.$=Q.relationType.LOLLIPOP;break;case 89:this.$=Q.lineType.LINE;break;case 90:this.$=Q.lineType.DOTTED_LINE;break;case 91:case 97:this.$=X[ee-2],Q.setClickEvent(X[ee-1],X[ee]);break;case 92:case 98:this.$=X[ee-3],Q.setClickEvent(X[ee-2],X[ee-1]),Q.setTooltip(X[ee-2],X[ee]);break;case 93:this.$=X[ee-2],Q.setLink(X[ee-1],X[ee]);break;case 94:this.$=X[ee-3],Q.setLink(X[ee-2],X[ee-1],X[ee]);break;case 95:this.$=X[ee-3],Q.setLink(X[ee-2],X[ee-1]),Q.setTooltip(X[ee-2],X[ee]);break;case 96:this.$=X[ee-4],Q.setLink(X[ee-3],X[ee-2],X[ee]),Q.setTooltip(X[ee-3],X[ee-1]);break;case 99:this.$=X[ee-3],Q.setClickEvent(X[ee-2],X[ee-1],X[ee]);break;case 100:this.$=X[ee-4],Q.setClickEvent(X[ee-3],X[ee-2],X[ee-1]),Q.setTooltip(X[ee-3],X[ee]);break;case 101:this.$=X[ee-3],Q.setLink(X[ee-2],X[ee]);break;case 102:this.$=X[ee-4],Q.setLink(X[ee-3],X[ee-1],X[ee]);break;case 103:this.$=X[ee-4],Q.setLink(X[ee-3],X[ee-1]),Q.setTooltip(X[ee-3],X[ee]);break;case 104:this.$=X[ee-5],Q.setLink(X[ee-4],X[ee-2],X[ee]),Q.setTooltip(X[ee-4],X[ee-1]);break;case 105:this.$=X[ee-2],Q.setCssStyle(X[ee-1],X[ee]);break;case 106:Q.setCssClass(X[ee-1],X[ee]);break;case 107:this.$=[X[ee]];break;case 108:X[ee-2].push(X[ee]),this.$=X[ee-2];break;case 110:this.$=X[ee-1]+X[ee];break}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:d,57:h,60:f,62:p,63:g,64:m,65:U,75:y,76:b,78:v,82:w,83:T,86:S,100:C,102:k,103:E},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},t(A,[2,5],{8:[1,48]}),{8:[1,49]},t(M,[2,19],{22:[1,50]}),t(M,[2,21]),t(M,[2,22]),t(M,[2,23]),t(M,[2,24]),t(M,[2,25]),t(M,[2,26]),t(M,[2,27]),t(M,[2,28]),t(M,[2,29]),t(M,[2,30]),{34:[1,51]},{36:[1,52]},t(M,[2,33]),t(M,[2,63],{53:53,66:56,67:57,13:[1,54],22:[1,55],68:P,69:N,70:I,71:L,72:_,73:D,74:O}),{39:[1,65]},t(B,[2,47],{39:[1,67],44:[1,66],46:[1,68]}),t(M,[2,65]),t(M,[2,66]),{16:69,60:f,86:S,100:C,102:k},{16:39,17:40,19:70,60:f,86:S,100:C,102:k,103:E},{16:39,17:40,19:71,60:f,86:S,100:C,102:k,103:E},{16:39,17:40,19:72,60:f,86:S,100:C,102:k,103:E},{60:[1,73]},{13:[1,74]},{16:39,17:40,19:75,60:f,86:S,100:C,102:k,103:E},{13:F,55:76},{58:78,60:[1,79]},t(M,[2,76]),t(M,[2,77]),t(M,[2,78]),t(M,[2,79]),t(z,[2,13],{16:39,17:40,19:81,18:[1,80],20:[1,82],60:f,86:S,100:C,102:k,103:E}),t(z,[2,15],{20:[1,83]}),{15:84,16:85,17:86,60:f,86:S,100:C,102:k,103:E},{16:39,17:40,19:87,60:f,86:S,100:C,102:k,103:E},t($,[2,133]),t($,[2,134]),t($,[2,135]),t($,[2,136]),t([1,8,9,12,13,20,22,39,41,44,46,68,69,70,71,72,73,74,79,81],[2,137]),t(A,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,19:21,38:22,43:23,16:39,17:40,5:88,33:e,35:r,37:n,42:i,46:a,48:s,51:o,52:l,54:u,56:d,57:h,60:f,62:p,63:g,64:m,65:U,75:y,76:b,78:v,82:w,83:T,86:S,100:C,102:k,103:E}),{5:89,10:5,16:39,17:40,19:21,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:e,35:r,37:n,38:22,42:i,43:23,46:a,48:s,51:o,52:l,54:u,56:d,57:h,60:f,62:p,63:g,64:m,65:U,75:y,76:b,78:v,82:w,83:T,86:S,100:C,102:k,103:E},t(M,[2,20]),t(M,[2,31]),t(M,[2,32]),{13:[1,91],16:39,17:40,19:90,60:f,86:S,100:C,102:k,103:E},{53:92,66:56,67:57,68:P,69:N,70:I,71:L,72:_,73:D,74:O},t(M,[2,64]),{67:93,73:D,74:O},t(H,[2,83],{66:94,68:P,69:N,70:I,71:L,72:_}),t(V,[2,84]),t(V,[2,85]),t(V,[2,86]),t(V,[2,87]),t(V,[2,88]),t(G,[2,89]),t(G,[2,90]),{8:[1,96],23:99,24:97,30:98,38:22,40:95,42:i,43:23,48:s,54:u,56:d},{16:100,60:f,86:S,100:C,102:k},{41:[1,102],45:101,51:K},{16:104,60:f,86:S,100:C,102:k},{47:[1,105]},{13:[1,106]},{13:[1,107]},{79:[1,108],81:[1,109]},{22:W,50:oe,59:110,60:Z,82:J,84:111,85:112,86:ne,87:ie,88:me,89:te,90:Re},{60:[1,122]},{13:F,55:123},t(B,[2,72]),t(B,[2,138]),{22:W,50:oe,59:124,60:Z,61:[1,125],82:J,84:111,85:112,86:ne,87:ie,88:me,89:te,90:Re},t(_e,[2,74]),{16:39,17:40,19:126,60:f,86:S,100:C,102:k,103:E},t(z,[2,16]),t(z,[2,17]),t(z,[2,18]),{11:127,12:He,39:[2,36]},t(ce,[2,9],{16:85,17:86,15:130,18:[1,129],60:f,86:S,100:C,102:k,103:E}),t(ce,[2,10]),t(de,[2,55],{11:131,12:He}),t(A,[2,7]),{9:[1,132]},t(we,[2,67]),{16:39,17:40,19:133,60:f,86:S,100:C,102:k,103:E},{13:[1,135],16:39,17:40,19:134,60:f,86:S,100:C,102:k,103:E},t(H,[2,82],{66:136,68:P,69:N,70:I,71:L,72:_}),t(H,[2,81]),{41:[1,137]},{23:99,24:97,30:98,38:22,40:138,42:i,43:23,48:s,54:u,56:d},{8:[1,139],41:[2,38]},{8:[1,140],41:[2,41]},{8:[1,141],41:[2,44]},t(B,[2,48],{39:[1,142]}),{41:[1,143]},t(B,[2,50]),{41:[2,61],45:144,51:K},{47:[1,145]},{16:39,17:40,19:146,60:f,86:S,100:C,102:k,103:E},t(M,[2,91],{13:[1,147]}),t(M,[2,93],{13:[1,149],77:[1,148]}),t(M,[2,97],{13:[1,150],80:[1,151]}),{13:[1,152]},t(M,[2,105],{61:ge}),t(ze,[2,107],{85:154,22:W,50:oe,60:Z,82:J,86:ne,87:ie,88:me,89:te,90:Re}),t(xe,[2,109]),t(xe,[2,111]),t(xe,[2,112]),t(xe,[2,113]),t(xe,[2,114]),t(xe,[2,115]),t(xe,[2,116]),t(xe,[2,117]),t(xe,[2,118]),t(xe,[2,119]),t(M,[2,106]),t(B,[2,71]),t(M,[2,73],{61:ge}),{60:[1,155]},t(z,[2,14]),{39:[2,37]},{13:[1,156]},{15:157,16:85,17:86,60:f,86:S,100:C,102:k,103:E},t(ce,[2,12]),t(de,[2,56]),{1:[2,4]},t(we,[2,69]),t(we,[2,68]),{16:39,17:40,19:158,60:f,86:S,100:C,102:k,103:E},t(H,[2,80]),t(B,[2,34]),{41:[1,159]},{23:99,24:97,30:98,38:22,40:160,41:[2,39],42:i,43:23,48:s,54:u,56:d},{23:99,24:97,30:98,38:22,40:161,41:[2,42],42:i,43:23,48:s,54:u,56:d},{23:99,24:97,30:98,38:22,40:162,41:[2,45],42:i,43:23,48:s,54:u,56:d},{45:163,51:K},t(B,[2,49]),{41:[2,62]},t(B,[2,52],{39:[1,164]}),t(M,[2,60]),t(M,[2,92]),t(M,[2,94]),t(M,[2,95],{77:[1,165]}),t(M,[2,98]),t(M,[2,99],{13:[1,166]}),t(M,[2,101],{13:[1,168],77:[1,167]}),{22:W,50:oe,60:Z,82:J,84:169,85:112,86:ne,87:ie,88:me,89:te,90:Re},t(xe,[2,110]),t(_e,[2,75]),{14:[1,170]},t(ce,[2,11]),t(we,[2,70]),t(B,[2,35]),{41:[2,40]},{41:[2,43]},{41:[2,46]},{41:[1,171]},{41:[1,173],45:172,51:K},t(M,[2,96]),t(M,[2,100]),t(M,[2,102]),t(M,[2,103],{77:[1,174]}),t(ze,[2,108],{85:154,22:W,50:oe,60:Z,82:J,86:ne,87:ie,88:me,89:te,90:Re}),t(de,[2,8]),t(B,[2,51]),{41:[1,175]},t(B,[2,54]),t(M,[2,104]),t(B,[2,53])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],127:[2,37],132:[2,4],144:[2,62],160:[2,40],161:[2,43],162:[2,46]},parseError:x(function(Te,re){if(re.recoverable)this.trace(Te);else{var Y=new Error(Te);throw Y.hash=re,Y}},"parseError"),parse:x(function(Te){var re=this,Y=[0],Q=[],ue=[null],X=[],fe=this.table,ee="",Ae=0,Me=0,Ke=2,Ne=1,je=X.slice.call(arguments,1),Oe=Object.create(this.lexer),Ze={yy:{}};for(var Fe in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Fe)&&(Ze.yy[Fe]=this.yy[Fe]);Oe.setInput(Te,Ze.yy),Ze.yy.lexer=Oe,Ze.yy.parser=this,typeof Oe.yylloc>"u"&&(Oe.yylloc={});var at=Oe.yylloc;X.push(at);var Pe=Oe.options&&Oe.options.ranges;typeof Ze.yy.parseError=="function"?this.parseError=Ze.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function gt(Mt){Y.length=Y.length-2*Mt,ue.length=ue.length-Mt,X.length=X.length-Mt}x(gt,"popStack");function Ie(){var Mt;return Mt=Q.pop()||Oe.lex()||Ne,typeof Mt!="number"&&(Mt instanceof Array&&(Q=Mt,Mt=Q.pop()),Mt=re.symbols_[Mt]||Mt),Mt}x(Ie,"lex");for(var St,Et,ot,Ht,It={},ht,ve,Lt,xt;;){if(Et=Y[Y.length-1],this.defaultActions[Et]?ot=this.defaultActions[Et]:((St===null||typeof St>"u")&&(St=Ie()),ot=fe[Et]&&fe[Et][St]),typeof ot>"u"||!ot.length||!ot[0]){var mt="";xt=[];for(ht in fe[Et])this.terminals_[ht]&&ht>Ke&&xt.push("'"+this.terminals_[ht]+"'");Oe.showPosition?mt="Parse error on line "+(Ae+1)+`:
`+Oe.showPosition()+`
Expecting `+xt.join(", ")+", got '"+(this.terminals_[St]||St)+"'":mt="Parse error on line "+(Ae+1)+": Unexpected "+(St==Ne?"end of input":"'"+(this.terminals_[St]||St)+"'"),this.parseError(mt,{text:Oe.match,token:this.terminals_[St]||St,line:Oe.yylineno,loc:at,expected:xt})}if(ot[0]instanceof Array&&ot.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Et+", token: "+St);switch(ot[0]){case 1:Y.push(St),ue.push(Oe.yytext),X.push(Oe.yylloc),Y.push(ot[1]),St=null,Me=Oe.yyleng,ee=Oe.yytext,Ae=Oe.yylineno,at=Oe.yylloc;break;case 2:if(ve=this.productions_[ot[1]][1],It.$=ue[ue.length-ve],It._$={first_line:X[X.length-(ve||1)].first_line,last_line:X[X.length-1].last_line,first_column:X[X.length-(ve||1)].first_column,last_column:X[X.length-1].last_column},Pe&&(It._$.range=[X[X.length-(ve||1)].range[0],X[X.length-1].range[1]]),Ht=this.performAction.apply(It,[ee,Me,Ae,Ze.yy,ot[1],ue,X].concat(je)),typeof Ht<"u")return Ht;ve&&(Y=Y.slice(0,-1*ve*2),ue=ue.slice(0,-1*ve),X=X.slice(0,-1*ve)),Y.push(this.productions_[ot[1]][0]),ue.push(It.$),X.push(It._$),Lt=fe[Y[Y.length-2]][Y[Y.length-1]],Y.push(Lt);break;case 3:return!0}}return!0},"parse")},qe=(function(){var pe={EOF:1,parseError:x(function(re,Y){if(this.yy.parser)this.yy.parser.parseError(re,Y);else throw new Error(re)},"parseError"),setInput:x(function(Te,re){return this.yy=re||this.yy||{},this._input=Te,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},"setInput"),input:x(function(){var Te=this._input[0];this.yytext+=Te,this.yyleng++,this.offset++,this.match+=Te,this.matched+=Te;var re=Te.match(/(?:\r\n?|\n).*/g);return re?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),Te},"input"),unput:x(function(Te){var re=Te.length,Y=Te.split(/(?:\r\n?|\n)/g);this._input=Te+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-re),this.offset-=re;var Q=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),Y.length-1&&(this.yylineno-=Y.length-1);var ue=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:Y?(Y.length===Q.length?this.yylloc.first_column:0)+Q[Q.length-Y.length].length-Y[0].length:this.yylloc.first_column-re},this.options.ranges&&(this.yylloc.range=[ue[0],ue[0]+this.yyleng-re]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(Te){this.unput(this.match.slice(Te))},"less"),pastInput:x(function(){var Te=this.matched.substr(0,this.matched.length-this.match.length);return(Te.length>20?"...":"")+Te.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var Te=this.match;return Te.length<20&&(Te+=this._input.substr(0,20-Te.length)),(Te.substr(0,20)+(Te.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var Te=this.pastInput(),re=new Array(Te.length+1).join("-");return Te+this.upcomingInput()+`
`+re+"^"},"showPosition"),test_match:x(function(Te,re){var Y,Q,ue;if(this.options.backtrack_lexer&&(ue={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&&(ue.yylloc.range=this.yylloc.range.slice(0))),Q=Te[0].match(/(?:\r\n?|\n).*/g),Q&&(this.yylineno+=Q.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Q?Q[Q.length-1].length-Q[Q.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+Te[0].length},this.yytext+=Te[0],this.match+=Te[0],this.matches=Te,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(Te[0].length),this.matched+=Te[0],Y=this.performAction.call(this,this.yy,this,re,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Y)return Y;if(this._backtrack){for(var X in ue)this[X]=ue[X];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var Te,re,Y,Q;this._more||(this.yytext="",this.match="");for(var ue=this._currentRules(),X=0;X<ue.length;X++)if(Y=this._input.match(this.rules[ue[X]]),Y&&(!re||Y[0].length>re[0].length)){if(re=Y,Q=X,this.options.backtrack_lexer){if(Te=this.test_match(Y,ue[X]),Te!==!1)return Te;if(this._backtrack){re=!1;continue}else return!1}else if(!this.options.flex)break}return re?(Te=this.test_match(re,ue[Q]),Te!==!1?Te:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var re=this.next();return re||this.lex()},"lex"),begin:x(function(re){this.conditionStack.push(re)},"begin"),popState:x(function(){var re=this.conditionStack.length-1;return re>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(re){return re=this.conditionStack.length-1-Math.abs(re||0),re>=0?this.conditionStack[re]:"INITIAL"},"topState"),pushState:x(function(re){this.begin(re)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:x(function(re,Y,Q,ue){switch(Q){case 0:return 62;case 1:return 63;case 2:return 64;case 3:return 65;case 4:break;case 5:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;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 79;case 22:this.popState();break;case 23:return 80;case 24:this.popState();break;case 25:return"STR";case 26:this.begin("string");break;case 27:return 82;case 28:return 57;case 29:return this.begin("namespace"),42;case 30:return this.popState(),8;case 31:break;case 32:return this.begin("namespace-body"),39;case 33:this.popState(),this.less(0);break;case 34:return this.popState(),41;case 35:return"EOF_IN_STRUCT";case 36:return 8;case 37:break;case 38:return"EDGE_STATE";case 39:return this.begin("class"),48;case 40:return this.popState(),8;case 41:break;case 42:return this.popState(),this.popState(),41;case 43:return this.begin("class-body"),39;case 44:return this.popState(),41;case 45:return"EOF_IN_STRUCT";case 46:return"EDGE_STATE";case 47:return"OPEN_IN_STRUCT";case 48:break;case 49:return"MEMBER";case 50:return 83;case 51:return 75;case 52:return 76;case 53:return 78;case 54:return 54;case 55:return 56;case 56:return 46;case 57:return 47;case 58:return 81;case 59:this.popState();break;case 60:return"GENERICTYPE";case 61:this.begin("generic");break;case 62:this.popState();break;case 63:return"BQUOTE_STR";case 64:this.begin("bqstring");break;case 65:return 77;case 66:return 77;case 67:return 77;case 68:return 77;case 69:return 69;case 70:return 69;case 71:return 71;case 72:return 71;case 73:return 70;case 74:return 68;case 75:return 72;case 76:return 73;case 77:return 74;case 78:return 22;case 79:return 44;case 80:return 100;case 81:return 18;case 82:return"PLUS";case 83:return 87;case 84:return 61;case 85:return 89;case 86:return 89;case 87:return 90;case 88:return"EQUALS";case 89:return"EQUALS";case 90:return 60;case 91:return 12;case 92:return 14;case 93:return"PUNCTUATION";case 94:return 86;case 95:return 102;case 96:return 50;case 97:return 50;case 98:return 9}},"anonymous"),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)/,/^(?:classDef\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,29,34,35,36,37,38,39,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},namespace:{rules:[26,29,30,31,32,33,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},"class-body":{rules:[26,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},class:{rules:[26,40,41,42,43,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_descr:{rules:[9,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},acc_title:{rules:[7,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_args:{rules:[22,23,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},callback_name:{rules:[19,20,21,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},href:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},struct:{rules:[26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},generic:{rules:[26,50,51,52,53,54,55,56,57,58,59,60,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},bqstring:{rules:[26,50,51,52,53,54,55,56,57,58,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},string:{rules:[24,25,26,50,51,52,53,54,55,56,57,58,61,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,87,88,89,90,91,92,93,94,95,96,98],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,39,50,51,52,53,54,55,56,57,58,61,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,97,98],inclusive:!0}}};return pe})();Ee.lexer=qe;function le(){this.yy={}}return x(le,"Parser"),le.prototype=Ee,Ee.Parser=le,new le})();NK.parser=NK;var nXe=NK,t2e=["#","+","~","-",""],iv,r2e=(iv=class{constructor(e,r){this.memberType=r,this.visibility="",this.classifier="",this.text="";const n=On(e,Ve());this.parseMember(n)}getDisplayDetails(){let e=this.visibility+jp(this.id);this.memberType==="method"&&(e+=`(${jp(this.parameters.trim())})`,this.returnType&&(e+=" : "+jp(this.returnType))),e=e.trim();const r=this.parseClassifier();return{displayText:e,cssStyle:r}}parseMember(e){let r="";if(this.memberType==="method"){const a=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(a){const s=a[1]?a[1].trim():"";if(t2e.includes(s)&&(this.visibility=s),this.id=a[2],this.parameters=a[3]?a[3].trim():"",r=a[4]?a[4].trim():"",this.returnType=a[5]?a[5].trim():"",r===""){const o=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(o)&&(r=o,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{const i=e.length,a=e.substring(0,1),s=e.substring(i-1);t2e.includes(a)&&(this.visibility=a),/[$*]/.exec(s)&&(r=s),this.id=e.substring(this.visibility===""?0:1,r===""?i:i-1)}this.classifier=r,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();const n=`${this.visibility?"\\"+this.visibility:""}${jp(this.id)}${this.memberType==="method"?`(${jp(this.parameters)})${this.returnType?" : "+jp(this.returnType):""}`:""}`;this.text=n.replaceAll("<","&lt;").replaceAll(">","&gt;"),this.text.startsWith("\\&lt;")&&(this.text=this.text.replace("\\&lt;","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},x(iv,"ClassMember"),iv),mA="classId-",n2e=0,gm=x(t=>Vt.sanitizeText(t,Ve()),"sanitizeText"),Ng,iXe=(Ng=class{constructor(){this.relations=[],this.classes=new Map,this.styleClasses=new Map,this.notes=new Map,this.interfaces=[],this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.functions=[],this.lineType={LINE:0,DOTTED_LINE:1},this.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3,LOLLIPOP:4},this.setupToolTips=x(e=>{const r=zre();vt(e).select("svg").selectAll("g").filter(function(){return vt(this).attr("title")!==null}).on("mouseover",a=>{const s=vt(a.currentTarget),o=s.attr("title");if(!o)return;const l=a.currentTarget.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.html(R0.sanitize(o)).style("left",`${window.scrollX+l.left+l.width/2}px`).style("top",`${window.scrollY+l.bottom+4}px`),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),vt(a.currentTarget).classed("hover",!1)})},"setupToolTips"),this.direction="TB",this.setAccTitle=qi,this.getAccTitle=ia,this.setAccDescription=aa,this.getAccDescription=sa,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.getConfig=x(()=>Ve().class,"getConfig"),this.functions.push(this.setupToolTips.bind(this)),this.clear(),this.addRelation=this.addRelation.bind(this),this.addClassesToNamespace=this.addClassesToNamespace.bind(this),this.addNamespace=this.addNamespace.bind(this),this.popNamespace=this.popNamespace.bind(this),this.setCssClass=this.setCssClass.bind(this),this.addMembers=this.addMembers.bind(this),this.addClass=this.addClass.bind(this),this.setClassLabel=this.setClassLabel.bind(this),this.addAnnotation=this.addAnnotation.bind(this),this.addMember=this.addMember.bind(this),this.cleanupLabel=this.cleanupLabel.bind(this),this.addNote=this.addNote.bind(this),this.defineClass=this.defineClass.bind(this),this.setDirection=this.setDirection.bind(this),this.setLink=this.setLink.bind(this),this.bindFunctions=this.bindFunctions.bind(this),this.clear=this.clear.bind(this),this.setTooltip=this.setTooltip.bind(this),this.setClickEvent=this.setClickEvent.bind(this),this.setCssStyle=this.setCssStyle.bind(this)}splitClassNameAndType(e){const r=Vt.sanitizeText(e,Ve());let n="",i=r;if(r.indexOf("~")>0){const a=r.split("~");i=gm(a[0]),n=gm(a[1])}return{className:i,type:n}}setClassLabel(e,r){const n=Vt.sanitizeText(e,Ve());r&&(r=gm(r));const{className:i}=this.splitClassNameAndType(n);this.classes.get(i).label=r,this.classes.get(i).text=`${r}${this.classes.get(i).type?`<${this.classes.get(i).type}>`:""}`}addClass(e){const r=Vt.sanitizeText(e,Ve()),{className:n,type:i}=this.splitClassNameAndType(r);if(this.classes.has(n))return;const a=Vt.sanitizeText(n,Ve());this.classes.set(a,{id:a,type:i,label:a,text:`${a}${i?`&lt;${i}&gt;`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:mA+a+"-"+n2e}),n2e++}addInterface(e,r){const n={id:`interface${this.interfaces.length}`,label:e,classId:r};this.interfaces.push(n)}setDiagramId(e){this.diagramId=e}lookUpDomId(e){const r=Vt.sanitizeText(e,Ve());if(this.classes.has(r)){const n=this.classes.get(r).domId;return this.diagramId?`${this.diagramId}-${n}`:n}throw new Error("Class not found: "+r)}clear(){this.relations=[],this.classes=new Map,this.notes=new Map,this.interfaces=[],this.functions=[],this.functions.push(this.setupToolTips.bind(this)),this.namespaces=new Map,this.namespaceCounter=0,this.namespaceStack=[],this.diagramId="",this.direction="TB",Di()}getClass(e){return this.classes.get(e)}getClasses(){return this.classes}getRelations(){return this.relations}getNote(e){const r=typeof e=="number"?`note${e}`:e;return this.notes.get(r)}getNotes(){return this.notes}addRelation(e){he.debug("Adding relation: "+JSON.stringify(e));const r=[this.relationType.LOLLIPOP,this.relationType.AGGREGATION,this.relationType.COMPOSITION,this.relationType.DEPENDENCY,this.relationType.EXTENSION];e.relation.type1===this.relationType.LOLLIPOP&&!r.includes(e.relation.type2)?(this.addClass(e.id2),this.addInterface(e.id1,e.id2),e.id1=`interface${this.interfaces.length-1}`):e.relation.type2===this.relationType.LOLLIPOP&&!r.includes(e.relation.type1)?(this.addClass(e.id1),this.addInterface(e.id2,e.id1),e.id2=`interface${this.interfaces.length-1}`):(this.addClass(e.id1),this.addClass(e.id2)),e.id1=this.splitClassNameAndType(e.id1).className,e.id2=this.splitClassNameAndType(e.id2).className,e.relationTitle1=Vt.sanitizeText(e.relationTitle1.trim(),Ve()),e.relationTitle2=Vt.sanitizeText(e.relationTitle2.trim(),Ve()),this.relations.push(e)}addAnnotation(e,r){const n=this.splitClassNameAndType(e).className;this.classes.get(n).annotations.push(r)}addMember(e,r){this.addClass(e);const n=this.splitClassNameAndType(e).className,i=this.classes.get(n);if(typeof r=="string"){const a=r.trim();a.startsWith("<<")&&a.endsWith(">>")?i.annotations.push(gm(a.substring(2,a.length-2))):a.indexOf(")")>0?i.methods.push(new r2e(a,"method")):a&&i.members.push(new r2e(a,"attribute"))}}addMembers(e,r){Array.isArray(r)&&(r.reverse(),r.forEach(n=>this.addMember(e,n)))}addNote(e,r){const n=this.notes.size,i={id:`note${n}`,class:r,text:e,index:n};return this.notes.set(i.id,i),i.id}cleanupLabel(e){return e.startsWith(":")&&(e=e.substring(1)),gm(e.trim())}setCssClass(e,r){e.split(",").forEach(n=>{let i=n;/\d/.exec(n[0])&&(i=mA+i),i=this.splitClassNameAndType(i).className;const a=this.classes.get(i);a&&(a.cssClasses+=" "+r)})}defineClass(e,r){for(const n of e){let i=this.styleClasses.get(n);i===void 0&&(i={id:n,styles:[],textStyles:[]},this.styleClasses.set(n,i)),r&&r.forEach(a=>{if(/color/.exec(a)){const s=a.replace("fill","bgFill");i.textStyles.push(s)}i.styles.push(a)}),this.classes.forEach(a=>{a.cssClasses.includes(n)&&a.styles.push(...r.flatMap(s=>s.split(",")))})}}setTooltip(e,r){e.split(",").forEach(n=>{if(r!==void 0){const i=this.splitClassNameAndType(n).className,a=this.classes.get(i);a&&(a.tooltip=gm(r))}})}getTooltip(e,r){return r&&this.namespaces.has(r)?this.namespaces.get(r).classes.get(e).tooltip:this.classes.get(e).tooltip}setLink(e,r,n){const i=Ve();e.split(",").forEach(a=>{let s=a;/\d/.exec(a[0])&&(s=mA+s),s=this.splitClassNameAndType(s).className;const o=this.classes.get(s);o&&(o.link=Kr.formatUrl(r,i),i.securityLevel==="sandbox"?o.linkTarget="_top":typeof n=="string"?o.linkTarget=gm(n):o.linkTarget="_blank")}),this.setCssClass(e,"clickable")}setClickEvent(e,r,n){e.split(",").forEach(i=>{this.setClickFunc(i,r,n);const a=this.splitClassNameAndType(i).className,s=this.classes.get(a);s&&(s.haveCallback=!0)}),this.setCssClass(e,"clickable")}setClickFunc(e,r,n){const i=Vt.sanitizeText(e,Ve());if(Ve().securityLevel!=="loose"||r===void 0)return;const s=this.splitClassNameAndType(i).className;if(this.classes.has(s)){let o=[];if(typeof n=="string"){o=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let l=0;l<o.length;l++){let u=o[l].trim();u.startsWith('"')&&u.endsWith('"')&&(u=u.substr(1,u.length-2)),o[l]=u}}o.length===0&&o.push(s),this.functions.push(()=>{const l=this.lookUpDomId(s),u=document.querySelector(`[id="${l}"]`);u!==null&&u.addEventListener("click",()=>{Kr.runFunc(r,...o)},!1)})}}bindFunctions(e){this.functions.forEach(r=>{r(e)})}escapeHtml(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}getDirection(){return this.direction}setDirection(e){this.direction=e}static resolveQualifiedId(e,r){const n=r.at(-1);return n?`${n}.${e}`:e}static getAncestorIds(e){const r=e.split("."),n=new Array(r.length);n[0]=r[0];for(let i=1;i<r.length;i++)n[i]=`${n[i-1]}.${r[i]}`;return n}createNamespaceNode(e,r,n,i=!1){return{id:e,label:r,classes:new Map,notes:new Map,children:new Map,domId:mA+e+"-"+this.namespaceCounter++,parent:n,explicit:i}}linkParentChild(e,r){const n=this.namespaces.get(e),i=this.namespaces.get(r);!n||!i||(n.children.has(r)||n.children.set(r,i),i.parent??(i.parent=e))}addNamespace(e,r){const n=Ng.resolveQualifiedId(e,this.namespaceStack);if(this.namespaceStack.push(n),this.namespaces.has(n)){const s=this.namespaces.get(n);return s.explicit=!0,r&&(s.label=r),n}const i=n.split("."),a=Ng.getAncestorIds(n);for(let s=0;s<a.length;s++){const o=a[s],l=s>0?a[s-1]:void 0,u=s===a.length-1,d=u&&r?r:i[s];this.namespaces.has(o)?u&&(this.namespaces.get(o).explicit=!0):this.namespaces.set(o,this.createNamespaceNode(o,d,l,u)),l&&this.linkParentChild(l,o)}return n}popNamespace(){this.namespaceStack.pop()}getNamespace(e){return this.namespaces.get(e)}getNamespaces(){return this.namespaces}addClassesToNamespace(e,r,n){if(this.namespaces.has(e)){for(const i of r){const{className:a}=this.splitClassNameAndType(i),s=this.getClass(a);s.parent=e,this.namespaces.get(e).classes.set(a,s)}for(const i of n){const a=this.getNote(i);a.parent=e,this.namespaces.get(e).notes.set(i,a)}}}setCssStyle(e,r){const n=this.classes.get(e);if(!(!r||!n))for(const i of r)i.includes(",")?n.styles.push(...i.split(",")):n.styles.push(i)}getArrowMarker(e){let r;switch(e){case 0:r="aggregation";break;case 1:r="extension";break;case 2:r="composition";break;case 3:r="dependency";break;case 4:r="lollipop";break;default:r="none"}return r}resolveExplicitAncestor(e){let r=e;for(;r;){const n=this.namespaces.get(r);if(!n)return;if(n.explicit)return r;r=n.parent}}getData(){var s,o;const e=[],r=[],n=Ve(),i=((s=n.class)==null?void 0:s.hierarchicalNamespaces)??!0;for(const l of this.namespaces.values()){if(!i&&!l.explicit)continue;const u={id:l.id,label:i?l.label:l.id,isGroup:!0,padding:n.class.padding??16,shape:"rect",cssStyles:[],look:n.look,parentId:i?l.parent:void 0};e.push(u)}for(const l of this.classes.values()){const u=i?l.parent:this.resolveExplicitAncestor(l.parent),d={...l,type:void 0,isGroup:!1,parentId:u,look:n.look};e.push(d)}for(const l of this.notes.values()){const u=i?l.parent:this.resolveExplicitAncestor(l.parent),d={id:l.id,label:l.text,isGroup:!1,shape:"note",padding:n.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${n.themeVariables.noteBkgColor}`,`stroke: ${n.themeVariables.noteBorderColor}`],look:n.look,parentId:u,labelType:"markdown"};e.push(d);const h=(o=this.classes.get(l.class))==null?void 0:o.id;if(h){const f={id:`edgeNote${l.index}`,start:l.id,end:h,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:n.look};r.push(f)}}for(const l of this.interfaces){const u={id:l.id,label:l.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:n.look};e.push(u)}let a=0;for(const l of this.relations){a++;const u={id:fb(l.id1,l.id2,{prefix:"id",counter:a}),start:l.id1,end:l.id2,type:"normal",label:l.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:this.getArrowMarker(l.relation.type1),arrowTypeEnd:this.getArrowMarker(l.relation.type2),startLabelRight:l.relationTitle1==="none"?"":l.relationTitle1,endLabelLeft:l.relationTitle2==="none"?"":l.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:l.style||"",pattern:l.relation.lineType==1?"dashed":"solid",look:n.look,labelType:"markdown"};r.push(u)}return{nodes:e,edges:r,other:{},config:n,direction:this.getDirection()}}},x(Ng,"ClassDB"),Ng),d2r=x(t=>`g.classGroup text {
fill: ${t.nodeBorder||t.classText};
stroke: none;
font-family: ${t.fontFamily};
font-size: 10px;
.title {
font-weight: bolder;
}
}
.cluster-label text {
fill: ${t.titleColor};
}
.cluster-label span {
color: ${t.titleColor};
}
.cluster-label span p {
background-color: transparent;
}
.cluster rect {
fill: ${t.clusterBkg};
stroke: ${t.clusterBorder};
stroke-width: 1px;
}
.cluster text {
fill: ${t.titleColor};
}
.cluster span {
color: ${t.titleColor};
}
.nodeLabel, .edgeLabel {
color: ${t.classText};
}
.noteLabel .nodeLabel, .noteLabel .edgeLabel {
color: ${t.noteTextColor};
}
.edgeLabel .label rect {
fill: ${t.mainBkg};
}
.label text {
fill: ${t.classText};
}
.labelBkg {
background: ${t.mainBkg};
}
.edgeLabel .label span {
background: ${t.mainBkg};
}
.classTitle {
font-weight: bolder;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
stroke-width: ${t.strokeWidth};
}
.divider {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
g.clickable {
cursor: pointer;
}
g.classGroup rect {
fill: ${t.mainBkg};
stroke: ${t.nodeBorder};
}
g.classGroup line {
stroke: ${t.nodeBorder};
stroke-width: 1;
}
.classLabel .box {
stroke: none;
stroke-width: 0;
fill: ${t.mainBkg};
opacity: 0.5;
}
.classLabel .label {
fill: ${t.nodeBorder};
font-size: 10px;
}
.relation {
stroke: ${t.lineColor};
stroke-width: ${t.strokeWidth};
fill: none;
}
.dashed-line{
stroke-dasharray: 3;
}
.dotted-line{
stroke-dasharray: 1 2;
}
[id$="-compositionStart"], .composition {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-compositionEnd"], .composition {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-dependencyStart"], .dependency {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-dependencyEnd"], .dependency {
fill: ${t.lineColor} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-extensionStart"], .extension {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-extensionEnd"], .extension {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-aggregationStart"], .aggregation {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-aggregationEnd"], .aggregation {
fill: transparent !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-lollipopStart"], .lollipop {
fill: ${t.mainBkg} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
[id$="-lollipopEnd"], .lollipop {
fill: ${t.mainBkg} !important;
stroke: ${t.lineColor} !important;
stroke-width: 1;
}
.edgeTerminals {
font-size: 11px;
line-height: initial;
}
.classTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
.edgeLabel[data-look="neo"] {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
${OS()}
`,"getStyles"),aXe=d2r,h2r=x((t,e="TB")=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),f2r=x(function(t,e){return e.db.getClasses()},"getClasses"),p2r=x(async function(t,e,r,n){he.info("REF0:"),he.info("Drawing class diagram (v3)",e);const{securityLevel:i,state:a,layout:s}=Ve();n.db.setDiagramId(e);const o=n.db.getData(),l=y3(e,i);o.type=n.type,o.layoutAlgorithm=fS(s),o.nodeSpacing=(a==null?void 0:a.nodeSpacing)||50,o.rankSpacing=(a==null?void 0:a.rankSpacing)||50,o.markers=["aggregation","extension","composition","dependency","lollipop"],o.diagramId=e,await J4(o,l);const u=8;Kr.insertTitle(l,"classDiagramTitleText",(a==null?void 0:a.titleTopMargin)??25,n.db.getDiagramTitle()),_5(l,u,"classDiagram",(a==null?void 0:a.useMaxWidth)??!0)},"draw"),sXe={getClasses:f2r,draw:p2r,getDir:h2r},g2r={parser:nXe,get db(){return new iXe},renderer:sXe,styles:aXe,init:x(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const m2r=Object.freeze(Object.defineProperty({__proto__:null,diagram:g2r},Symbol.toStringTag,{value:"Module"}));var U2r={parser:nXe,get db(){return new iXe},renderer:sXe,styles:aXe,init:x(t=>{t.class||(t.class={}),t.class.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const y2r=Object.freeze(Object.defineProperty({__proto__:null,diagram:U2r},Symbol.toStringTag,{value:"Module"}));var OK=(function(){var t=x(function(B,F,z,$){for(z=z||{},$=B.length;$--;z[B[$]]=F);return z},"o"),e=[1,2],r=[1,3],n=[1,4],i=[2,4],a=[1,9],s=[1,11],o=[1,16],l=[1,17],u=[1,18],d=[1,19],h=[1,33],f=[1,20],p=[1,21],g=[1,22],m=[1,23],U=[1,24],y=[1,26],b=[1,27],v=[1,28],w=[1,29],T=[1,30],S=[1,31],C=[1,32],k=[1,35],E=[1,36],A=[1,37],M=[1,38],P=[1,34],N=[1,4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],I=[1,4,5,14,15,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,39,40,41,45,48,51,52,53,54,57],L=[4,5,16,17,19,21,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],_={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,styleStatement:11,cssClassStatement:12,idStatement: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:29,notePosition:30,NOTE_TEXT:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,CLICK:38,STRING:39,HREF:40,classDef:41,CLASSDEF_ID:42,CLASSDEF_STYLEOPTS:43,DEFAULT:44,style:45,STYLE_IDS:46,STYLEDEF_STYLEOPTS:47,class:48,CLASSENTITY_IDS:49,STYLECLASS:50,direction_tb:51,direction_bt:52,direction_rl:53,direction_lr:54,eol:55,";":56,EDGE_STATE:57,STYLE_SEPARATOR:58,left_of:59,right_of:60,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",14:"DESCR",15:"-->",16:"HIDE_EMPTY",17:"scale",18:"WIDTH",19:"COMPOSIT_STATE",20:"STRUCT_START",21:"STRUCT_STOP",22:"STATE_DESCR",23:"AS",24:"ID",25:"FORK",26:"JOIN",27:"CHOICE",28:"CONCURRENT",29:"note",31:"NOTE_TEXT",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",38:"CLICK",39:"STRING",40:"HREF",41:"classDef",42:"CLASSDEF_ID",43:"CLASSDEF_STYLEOPTS",44:"DEFAULT",45:"style",46:"STYLE_IDS",47:"STYLEDEF_STYLEOPTS",48:"class",49:"CLASSENTITY_IDS",50:"STYLECLASS",51:"direction_tb",52:"direction_bt",53:"direction_rl",54:"direction_lr",56:";",57:"EDGE_STATE",58:"STYLE_SEPARATOR",59:"left_of",60:"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,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],[9,5],[9,5],[10,3],[10,3],[11,3],[12,3],[32,1],[32,1],[32,1],[32,1],[55,1],[55,1],[13,1],[13,1],[13,3],[13,3],[30,1],[30,1]],performAction:x(function(F,z,$,H,V,G,K){var W=G.length-1;switch(V){case 3:return H.setRootDoc(G[W]),G[W];case 4:this.$=[];break;case 5:G[W]!="nl"&&(G[W-1].push(G[W]),this.$=G[W-1]);break;case 6:case 7:this.$=G[W];break;case 8:this.$="nl";break;case 12:this.$=G[W];break;case 13:const ne=G[W-1];ne.description=H.trimColon(G[W]),this.$=ne;break;case 14:this.$={stmt:"relation",state1:G[W-2],state2:G[W]};break;case 15:const ie=H.trimColon(G[W]);this.$={stmt:"relation",state1:G[W-3],state2:G[W-1],description:ie};break;case 19:this.$={stmt:"state",id:G[W-3],type:"default",description:"",doc:G[W-1]};break;case 20:var oe=G[W],Z=G[W-2].trim();if(G[W].match(":")){var J=G[W].split(":");oe=J[0],Z=[Z,J[1]]}this.$={stmt:"state",id:oe,type:"default",description:Z};break;case 21:this.$={stmt:"state",id:G[W-3],type:"default",description:G[W-5],doc:G[W-1]};break;case 22:this.$={stmt:"state",id:G[W],type:"fork"};break;case 23:this.$={stmt:"state",id:G[W],type:"join"};break;case 24:this.$={stmt:"state",id:G[W],type:"choice"};break;case 25:this.$={stmt:"state",id:H.getDividerId(),type:"divider"};break;case 26:this.$={stmt:"state",id:G[W-1].trim(),note:{position:G[W-2].trim(),text:G[W].trim()}};break;case 29:this.$=G[W].trim(),H.setAccTitle(this.$);break;case 30:case 31:this.$=G[W].trim(),H.setAccDescription(this.$);break;case 32:this.$={stmt:"click",id:G[W-3],url:G[W-2],tooltip:G[W-1]};break;case 33:this.$={stmt:"click",id:G[W-3],url:G[W-1],tooltip:""};break;case 34:case 35:this.$={stmt:"classDef",id:G[W-1].trim(),classes:G[W].trim()};break;case 36:this.$={stmt:"style",id:G[W-1].trim(),styleClass:G[W].trim()};break;case 37:this.$={stmt:"applyClass",id:G[W-1].trim(),styleClass:G[W].trim()};break;case 38:H.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 39:H.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 40:H.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 41:H.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 44:case 45:this.$={stmt:"state",id:G[W].trim(),type:"default",description:""};break;case 46:this.$={stmt:"state",id:G[W-2].trim(),classes:[G[W].trim()],type:"default",description:""};break;case 47:this.$={stmt:"state",id:G[W-2].trim(),classes:[G[W].trim()],type:"default",description:""};break}},"anonymous"),table:[{3:1,4:e,5:r,6:n},{1:[3]},{3:5,4:e,5:r,6:n},{3:6,4:e,5:r,6:n},t([1,4,5,16,17,19,22,24,25,26,27,28,29,33,35,37,38,41,45,48,51,52,53,54,57],i,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:d,24:h,25:f,26:p,27:g,28:m,29:U,32:25,33:y,35:b,37:v,38:w,41:T,45:S,48:C,51:k,52:E,53:A,54:M,57:P},t(N,[2,5]),{9:39,10:12,11:13,12:14,13:15,16:o,17:l,19:u,22:d,24:h,25:f,26:p,27:g,28:m,29:U,32:25,33:y,35:b,37:v,38:w,41:T,45:S,48:C,51:k,52:E,53:A,54:M,57:P},t(N,[2,7]),t(N,[2,8]),t(N,[2,9]),t(N,[2,10]),t(N,[2,11]),t(N,[2,12],{14:[1,40],15:[1,41]}),t(N,[2,16]),{18:[1,42]},t(N,[2,18],{20:[1,43]}),{23:[1,44]},t(N,[2,22]),t(N,[2,23]),t(N,[2,24]),t(N,[2,25]),{30:45,31:[1,46],59:[1,47],60:[1,48]},t(N,[2,28]),{34:[1,49]},{36:[1,50]},t(N,[2,31]),{13:51,24:h,57:P},{42:[1,52],44:[1,53]},{46:[1,54]},{49:[1,55]},t(I,[2,44],{58:[1,56]}),t(I,[2,45],{58:[1,57]}),t(N,[2,38]),t(N,[2,39]),t(N,[2,40]),t(N,[2,41]),t(N,[2,6]),t(N,[2,13]),{13:58,24:h,57:P},t(N,[2,17]),t(L,i,{7:59}),{24:[1,60]},{24:[1,61]},{23:[1,62]},{24:[2,48]},{24:[2,49]},t(N,[2,29]),t(N,[2,30]),{39:[1,63],40:[1,64]},{43:[1,65]},{43:[1,66]},{47:[1,67]},{50:[1,68]},{24:[1,69]},{24:[1,70]},t(N,[2,14],{14:[1,71]}),{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,72],22:d,24:h,25:f,26:p,27:g,28:m,29:U,32:25,33:y,35:b,37:v,38:w,41:T,45:S,48:C,51:k,52:E,53:A,54:M,57:P},t(N,[2,20],{20:[1,73]}),{31:[1,74]},{24:[1,75]},{39:[1,76]},{39:[1,77]},t(N,[2,34]),t(N,[2,35]),t(N,[2,36]),t(N,[2,37]),t(I,[2,46]),t(I,[2,47]),t(N,[2,15]),t(N,[2,19]),t(L,i,{7:78}),t(N,[2,26]),t(N,[2,27]),{5:[1,79]},{5:[1,80]},{4:a,5:s,8:8,9:10,10:12,11:13,12:14,13:15,16:o,17:l,19:u,21:[1,81],22:d,24:h,25:f,26:p,27:g,28:m,29:U,32:25,33:y,35:b,37:v,38:w,41:T,45:S,48:C,51:k,52:E,53:A,54:M,57:P},t(N,[2,32]),t(N,[2,33]),t(N,[2,21])],defaultActions:{5:[2,1],6:[2,2],47:[2,48],48:[2,49]},parseError:x(function(F,z){if(z.recoverable)this.trace(F);else{var $=new Error(F);throw $.hash=z,$}},"parseError"),parse:x(function(F){var z=this,$=[0],H=[],V=[null],G=[],K=this.table,W="",oe=0,Z=0,J=2,ne=1,ie=G.slice.call(arguments,1),me=Object.create(this.lexer),te={yy:{}};for(var Re in this.yy)Object.prototype.hasOwnProperty.call(this.yy,Re)&&(te.yy[Re]=this.yy[Re]);me.setInput(F,te.yy),te.yy.lexer=me,te.yy.parser=this,typeof me.yylloc>"u"&&(me.yylloc={});var _e=me.yylloc;G.push(_e);var He=me.options&&me.options.ranges;typeof te.yy.parseError=="function"?this.parseError=te.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ce(Y){$.length=$.length-2*Y,V.length=V.length-Y,G.length=G.length-Y}x(ce,"popStack");function de(){var Y;return Y=H.pop()||me.lex()||ne,typeof Y!="number"&&(Y instanceof Array&&(H=Y,Y=H.pop()),Y=z.symbols_[Y]||Y),Y}x(de,"lex");for(var we,ge,ze,xe,Ee={},qe,le,pe,Te;;){if(ge=$[$.length-1],this.defaultActions[ge]?ze=this.defaultActions[ge]:((we===null||typeof we>"u")&&(we=de()),ze=K[ge]&&K[ge][we]),typeof ze>"u"||!ze.length||!ze[0]){var re="";Te=[];for(qe in K[ge])this.terminals_[qe]&&qe>J&&Te.push("'"+this.terminals_[qe]+"'");me.showPosition?re="Parse error on line "+(oe+1)+`:
`+me.showPosition()+`
Expecting `+Te.join(", ")+", got '"+(this.terminals_[we]||we)+"'":re="Parse error on line "+(oe+1)+": Unexpected "+(we==ne?"end of input":"'"+(this.terminals_[we]||we)+"'"),this.parseError(re,{text:me.match,token:this.terminals_[we]||we,line:me.yylineno,loc:_e,expected:Te})}if(ze[0]instanceof Array&&ze.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ge+", token: "+we);switch(ze[0]){case 1:$.push(we),V.push(me.yytext),G.push(me.yylloc),$.push(ze[1]),we=null,Z=me.yyleng,W=me.yytext,oe=me.yylineno,_e=me.yylloc;break;case 2:if(le=this.productions_[ze[1]][1],Ee.$=V[V.length-le],Ee._$={first_line:G[G.length-(le||1)].first_line,last_line:G[G.length-1].last_line,first_column:G[G.length-(le||1)].first_column,last_column:G[G.length-1].last_column},He&&(Ee._$.range=[G[G.length-(le||1)].range[0],G[G.length-1].range[1]]),xe=this.performAction.apply(Ee,[W,Z,oe,te.yy,ze[1],V,G].concat(ie)),typeof xe<"u")return xe;le&&($=$.slice(0,-1*le*2),V=V.slice(0,-1*le),G=G.slice(0,-1*le)),$.push(this.productions_[ze[1]][0]),V.push(Ee.$),G.push(Ee._$),pe=K[$[$.length-2]][$[$.length-1]],$.push(pe);break;case 3:return!0}}return!0},"parse")},D=(function(){var B={EOF:1,parseError:x(function(z,$){if(this.yy.parser)this.yy.parser.parseError(z,$);else throw new Error(z)},"parseError"),setInput:x(function(F,z){return this.yy=z||this.yy||{},this._input=F,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},"setInput"),input:x(function(){var F=this._input[0];this.yytext+=F,this.yyleng++,this.offset++,this.match+=F,this.matched+=F;var z=F.match(/(?:\r\n?|\n).*/g);return z?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),F},"input"),unput:x(function(F){var z=F.length,$=F.split(/(?:\r\n?|\n)/g);this._input=F+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-z),this.offset-=z;var H=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),$.length-1&&(this.yylineno-=$.length-1);var V=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:$?($.length===H.length?this.yylloc.first_column:0)+H[H.length-$.length].length-$[0].length:this.yylloc.first_column-z},this.options.ranges&&(this.yylloc.range=[V[0],V[0]+this.yyleng-z]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(F){this.unput(this.match.slice(F))},"less"),pastInput:x(function(){var F=this.matched.substr(0,this.matched.length-this.match.length);return(F.length>20?"...":"")+F.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var F=this.match;return F.length<20&&(F+=this._input.substr(0,20-F.length)),(F.substr(0,20)+(F.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var F=this.pastInput(),z=new Array(F.length+1).join("-");return F+this.upcomingInput()+`
`+z+"^"},"showPosition"),test_match:x(function(F,z){var $,H,V;if(this.options.backtrack_lexer&&(V={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&&(V.yylloc.range=this.yylloc.range.slice(0))),H=F[0].match(/(?:\r\n?|\n).*/g),H&&(this.yylineno+=H.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:H?H[H.length-1].length-H[H.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+F[0].length},this.yytext+=F[0],this.match+=F[0],this.matches=F,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(F[0].length),this.matched+=F[0],$=this.performAction.call(this,this.yy,this,z,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),$)return $;if(this._backtrack){for(var G in V)this[G]=V[G];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var F,z,$,H;this._more||(this.yytext="",this.match="");for(var V=this._currentRules(),G=0;G<V.length;G++)if($=this._input.match(this.rules[V[G]]),$&&(!z||$[0].length>z[0].length)){if(z=$,H=G,this.options.backtrack_lexer){if(F=this.test_match($,V[G]),F!==!1)return F;if(this._backtrack){z=!1;continue}else return!1}else if(!this.options.flex)break}return z?(F=this.test_match(z,V[H]),F!==!1?F:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var z=this.next();return z||this.lex()},"lex"),begin:x(function(z){this.conditionStack.push(z)},"begin"),popState:x(function(){var z=this.conditionStack.length-1;return z>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(z){return z=this.conditionStack.length-1-Math.abs(z||0),z>=0?this.conditionStack[z]:"INITIAL"},"topState"),pushState:x(function(z){this.begin(z)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(z,$,H,V){function G(){const K=$.yytext.indexOf("%%");if(K===0)return!1;if(K>0){const W=$.yytext.slice(0,K),oe=$.yytext.slice(K);oe&&z.lexer.unput(oe),$.yytext=W}return!0}switch(x(G,"processId"),H){case 0:return 38;case 1:return 40;case 2:return 39;case 3:return 44;case 4:return 51;case 5:return 52;case 6:return 53;case 7:return 54;case 8:return 5;case 9:break;case 10:break;case 11:break;case 12:break;case 13:return this.pushState("SCALE"),17;case 14:return 18;case 15:this.popState();break;case 16:return this.begin("acc_title"),33;case 17:return this.popState(),"acc_title_value";case 18:return this.begin("acc_descr"),35;case 19:return this.popState(),"acc_descr_value";case 20:this.begin("acc_descr_multiline");break;case 21:this.popState();break;case 22:return"acc_descr_multiline_value";case 23:return this.pushState("CLASSDEF"),41;case 24:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 25:return this.popState(),this.pushState("CLASSDEFID"),42;case 26:return this.popState(),43;case 27:return this.pushState("CLASS"),48;case 28:return this.popState(),this.pushState("CLASS_STYLE"),49;case 29:return this.popState(),50;case 30:return this.pushState("STYLE"),45;case 31:return this.popState(),this.pushState("STYLEDEF_STYLES"),46;case 32:return this.popState(),47;case 33:return this.pushState("SCALE"),17;case 34:return 18;case 35:this.popState();break;case 36:this.pushState("STATE");break;case 37:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;case 38:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;case 39:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;case 40:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),25;case 41:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),26;case 42:return this.popState(),$.yytext=$.yytext.slice(0,-10).trim(),27;case 43:return 51;case 44:return 52;case 45:return 53;case 46:return 54;case 47:this.pushState("STATE_STRING");break;case 48:return this.pushState("STATE_ID"),"AS";case 49:return G()?(this.popState(),"ID"):void 0;case 50:this.popState();break;case 51:return"STATE_DESCR";case 52:throw new Error('Error: State name must be a single word. Found: "'+$.yytext.trim()+'"');case 53:return 19;case 54:this.popState();break;case 55:return this.popState(),this.pushState("struct"),20;case 56:return this.popState(),21;case 57:break;case 58:return this.begin("NOTE"),29;case 59:return this.popState(),this.pushState("NOTE_ID"),59;case 60:return this.popState(),this.pushState("NOTE_ID"),60;case 61:this.popState(),this.pushState("FLOATING_NOTE");break;case 62:return this.popState(),this.pushState("FLOATING_NOTE_ID"),"AS";case 63:break;case 64:return"NOTE_TEXT";case 65:return G()?(this.popState(),"ID"):void 0;case 66:return G()?(this.popState(),this.pushState("NOTE_TEXT"),24):void 0;case 67:return this.popState(),$.yytext=$.yytext.substr(2).trim(),31;case 68:return this.popState(),$.yytext=$.yytext.slice(0,-8).trim(),31;case 69:return 6;case 70:return 6;case 71:return 16;case 72:return 57;case 73:return G()?24:void 0;case 74:return $.yytext=$.yytext.trim(),14;case 75:return 15;case 76:return 28;case 77:return 58;case 78:return 5;case 79:return"INVALID"}},"anonymous"),rules:[/^(?:click\b)/i,/^(?:href\b)/i,/^(?:"[^"]*")/i,/^(?: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,/^(?:[\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,/^(?:style\s+)/i,/^(?:[\w,]+\s+)/i,/^(?:[^\n]*)/i,/^(?:scale\s+)/i,/^(?:\d+)/i,/^(?:\s+width\b)/i,/^(?:state\s+)/i,/^(?:.*<<fork>>)/i,/^(?:.*<<join>>)/i,/^(?:.*<<choice>>)/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,/^(?:\w+\s+\w+.*?\{)/i,/^(?:[^\n\s\{]+)/i,/^(?:\n)/i,/^(?:\{)/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]*?\n\s*end note\b)/i,/^(?:stateDiagram\s+)/i,/^(?:stateDiagram-v2\s+)/i,/^(?:hide empty description\b)/i,/^(?:\[\*\])/i,/^(?:[^:\n\s\-\{]+)/i,/^(?:\s*:(?:[^:\n;]|:[^:\n;])+)/i,/^(?:-->)/i,/^(?:--)/i,/^(?::::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{LINE:{rules:[10,11,12],inclusive:!1},struct:{rules:[10,11,12,23,27,30,36,43,44,45,46,56,57,58,72,73,74,75,76,77],inclusive:!1},FLOATING_NOTE_ID:{rules:[65],inclusive:!1},FLOATING_NOTE:{rules:[62,63,64],inclusive:!1},NOTE_TEXT:{rules:[67,68],inclusive:!1},NOTE_ID:{rules:[66],inclusive:!1},NOTE:{rules:[59,60,61],inclusive:!1},STYLEDEF_STYLEOPTS:{rules:[],inclusive:!1},STYLEDEF_STYLES:{rules:[32],inclusive:!1},STYLE_IDS:{rules:[],inclusive:!1},STYLE:{rules:[31],inclusive:!1},CLASS_STYLE:{rules:[29],inclusive:!1},CLASS:{rules:[28],inclusive:!1},CLASSDEFID:{rules:[26],inclusive:!1},CLASSDEF:{rules:[24,25],inclusive:!1},acc_descr_multiline:{rules:[21,22],inclusive:!1},acc_descr:{rules:[19],inclusive:!1},acc_title:{rules:[17],inclusive:!1},SCALE:{rules:[14,15,34,35],inclusive:!1},ALIAS:{rules:[],inclusive:!1},STATE_ID:{rules:[49],inclusive:!1},STATE_STRING:{rules:[50,51],inclusive:!1},FORK_STATE:{rules:[],inclusive:!1},STATE:{rules:[10,11,12,37,38,39,40,41,42,47,48,52,53,54,55],inclusive:!1},ID:{rules:[10,11,12],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,12,13,16,18,20,23,27,30,33,36,55,58,69,70,71,72,73,74,75,77,78,79],inclusive:!0}}};return B})();_.lexer=D;function O(){this.yy={}}return x(O,"Parser"),O.prototype=_,_.Parser=O,new O})();OK.parser=OK;var oXe=OK,b2r="TB",lXe="TB",i2e="dir",C2="state",Hy="root",DK="relation",v2r="classDef",x2r="style",w2r="applyClass",Sw="default",cXe="divider",uXe="fill:none",dXe="fill: #333",hXe="c",fXe="markdown",pXe="normal",pV="rect",gV="rectWithTitle",T2r="stateStart",C2r="stateEnd",a2e="divider",s2e="roundedWithTitle",S2r="note",k2r="noteGroup",sk="statediagram",E2r="state",A2r=`${sk}-${E2r}`,gXe="transition",M2r="note",R2r="note-edge",I2r=`${gXe} ${R2r}`,L2r=`${sk}-${M2r}`,N2r="cluster",O2r=`${sk}-${N2r}`,D2r="cluster-alt",P2r=`${sk}-${D2r}`,mXe="parent",UXe="note",_2r="state",sse="----",B2r=`${sse}${UXe}`,o2e=`${sse}${mXe}`,yXe=x((t,e=lXe)=>{if(!t.doc)return e;let r=e;for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir"),$2r=x(function(t,e){return e.db.getClasses()},"getClasses"),F2r=x(async function(t,e,r,n){he.info("REF0:"),he.info("Drawing state diagram (v2)",e);const{securityLevel:i,state:a,layout:s}=Ve();n.db.extract(n.db.getRootDocV2());const o=n.db.getData(),l=y3(e,i);o.type=n.type,o.layoutAlgorithm=s,o.nodeSpacing=(a==null?void 0:a.nodeSpacing)||50,o.rankSpacing=(a==null?void 0:a.rankSpacing)||50,Ve().look==="neo"?o.markers=["barbNeo"]:o.markers=["barb"],o.diagramId=e,await J4(o,l);const d=8;try{(typeof n.db.getLinks=="function"?n.db.getLinks():new Map).forEach((f,p)=>{var T;const g=typeof p=="string"?p:typeof(p==null?void 0:p.id)=="string"?p.id:"",m=o.nodes.find(S=>S.id===g);if(!g){he.warn("⚠️ Invalid or missing stateId from key:",JSON.stringify(p));return}const U=(T=l.node())==null?void 0:T.querySelectorAll("g.node, g.rough-node");let y;if(U==null||U.forEach(S=>{var k;const C=(k=S.textContent)==null?void 0:k.trim();(S.id===(m==null?void 0:m.domId)||C===g)&&(y=S)}),!y){he.warn("⚠️ Could not find node matching text:",g);return}const b=y.parentNode;if(!b){he.warn("⚠️ Node has no parent, cannot wrap:",g);return}const v=document.createElementNS("http://www.w3.org/2000/svg","a"),w=f.url.replace(/^"+|"+$/g,"");if(v.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",w),v.setAttribute("target","_blank"),f.tooltip){const S=f.tooltip.replace(/^"+|"+$/g,"");v.setAttribute("title",S),y.setAttribute("title",S)}b.replaceChild(v,y),v.appendChild(y),he.info("🔗 Wrapped node in <a> tag for:",g,f.url)})}catch(h){he.error("❌ Error injecting clickable links:",h)}Kr.insertTitle(l,"statediagramTitleText",(a==null?void 0:a.titleTopMargin)??25,n.db.getDiagramTitle()),_5(l,d,sk,(a==null?void 0:a.useMaxWidth)??!0)},"draw"),z2r={getClasses:$2r,draw:F2r,getDir:yXe},iR=new Map,sg=0;function aR(t="",e=0,r="",n=sse){const i=r!==null&&r.length>0?`${n}${r}`:"";return`${_2r}-${t}${i}-${e}`}x(aR,"stateDomId");var H2r=x((t,e,r,n,i,a,s,o)=>{he.trace("items",e),e.forEach(l=>{switch(l.stmt){case C2:Tx(t,l,r,n,i,a,s,o);break;case Sw:Tx(t,l,r,n,i,a,s,o);break;case DK:{Tx(t,l.state1,r,n,i,a,s,o),Tx(t,l.state2,r,n,i,a,s,o);const u=s==="neo",d={id:"edge"+sg,start:l.state1.id,end:l.state2.id,arrowhead:"normal",arrowTypeEnd:u?"arrow_barb_neo":"arrow_barb",style:uXe,labelStyle:"",label:Vt.sanitizeText(l.description??"",Ve()),arrowheadStyle:dXe,labelpos:hXe,labelType:fXe,thickness:pXe,classes:gXe,look:s};i.push(d),sg++}break}})},"setupDoc"),l2e=x((t,e=lXe)=>{let r=e;if(t.doc)for(const n of t.doc)n.stmt==="dir"&&(r=n.value);return r},"getDir");function wx(t,e,r){if(!e.id||e.id==="</join></fork>"||e.id==="</choice>")return;e.cssClasses&&(Array.isArray(e.cssCompiledStyles)||(e.cssCompiledStyles=[]),e.cssClasses.split(" ").forEach(i=>{const a=r.get(i);a&&(e.cssCompiledStyles=[...e.cssCompiledStyles??[],...a.styles])}));const n=t.find(i=>i.id===e.id);n?Object.assign(n,e):t.push(e)}x(wx,"insertOrUpdateNode");function bXe(t){var e;return((e=t==null?void 0:t.classes)==null?void 0:e.join(" "))??""}x(bXe,"getClassesFromDbInfo");function vXe(t){return(t==null?void 0:t.styles)??[]}x(vXe,"getStylesFromDbInfo");var Tx=x((t,e,r,n,i,a,s,o)=>{var p,g,m;const l=e.id,u=r.get(l),d=bXe(u),h=vXe(u),f=Ve();if(he.info("dataFetcher parsedItem",e,u,h),l!=="root"){let U=pV;e.start===!0?U=T2r:e.start===!1&&(U=C2r),e.type!==Sw&&(U=e.type),iR.get(l)||iR.set(l,{id:l,shape:U,description:Vt.sanitizeText(l,f),cssClasses:`${d} ${A2r}`,cssStyles:h});const y=iR.get(l);e.description&&(Array.isArray(y.description)?(y.shape=gV,y.description.push(e.description)):(p=y.description)!=null&&p.length&&y.description.length>0?(y.shape=gV,y.description===l?y.description=[e.description]:y.description=[y.description,e.description]):(y.shape=pV,y.description=e.description),y.description=Vt.sanitizeTextOrArray(y.description,f)),((g=y.description)==null?void 0:g.length)===1&&y.shape===gV&&(y.type==="group"?y.shape=s2e:y.shape=pV),!y.type&&e.doc&&(he.info("Setting cluster for XCX",l,l2e(e)),y.type="group",y.isGroup=!0,y.dir=l2e(e),y.explicitDir=e.doc.some(v=>v.stmt==="dir"),y.shape=e.type===cXe?a2e:s2e,y.cssClasses=`${y.cssClasses} ${O2r} ${a?P2r:""}`);const b={labelStyle:"",shape:y.shape,label:y.description,cssClasses:y.cssClasses,cssCompiledStyles:[],cssStyles:y.cssStyles,id:l,dir:y.dir,domId:aR(l,sg),type:y.type,isGroup:y.type==="group",padding:8,rx:10,ry:10,look:s,labelType:"markdown"};if(b.shape===a2e&&(b.label=""),t&&t.id!=="root"&&(he.trace("Setting node ",l," to be child of its parent ",t.id),b.parentId=t.id),b.centerLabel=!0,e.note){const v={labelStyle:"",shape:S2r,label:e.note.text,labelType:"markdown",cssClasses:L2r,cssStyles:[],cssCompiledStyles:[],id:l+B2r+"-"+sg,domId:aR(l,sg,UXe),type:y.type,isGroup:y.type==="group",padding:(m=f.flowchart)==null?void 0:m.padding,look:s,position:e.note.position},w=l+o2e,T={labelStyle:"",shape:k2r,label:e.note.text,cssClasses:y.cssClasses,cssStyles:[],id:l+o2e,domId:aR(l,sg,mXe),type:"group",isGroup:!0,padding:16,look:s,position:e.note.position};sg++,T.id=w,v.parentId=w,wx(n,T,o),wx(n,v,o),wx(n,b,o);let S=l,C=v.id;e.note.position==="left of"&&(S=v.id,C=l),i.push({id:S+"-"+C,start:S,end:C,arrowhead:"none",arrowTypeEnd:"",style:uXe,labelStyle:"",classes:I2r,arrowheadStyle:dXe,labelpos:hXe,labelType:fXe,thickness:pXe,look:s})}else wx(n,b,o)}e.doc&&(he.trace("Adding nodes children "),H2r(e,e.doc,r,n,i,!a,s,o))},"dataFetcher"),V2r=x(()=>{iR.clear(),sg=0},"reset"),gl={START_NODE:"[*]",START_TYPE:"start",END_NODE:"[*]",END_TYPE:"end",COLOR_KEYWORD:"color",FILL_KEYWORD:"fill",BG_FILL:"bgFill",STYLECLASS_SEP:","},c2e=x(()=>new Map,"newClassesList"),u2e=x(()=>({relations:[],states:new Map,documents:{}}),"newDoc"),UA=x(t=>JSON.parse(JSON.stringify(t)),"clone"),BU,nU=(BU=class{constructor(e){this.version=e,this.nodes=[],this.edges=[],this.rootDoc=[],this.classes=c2e(),this.documents={root:u2e()},this.currentDocument=this.documents.root,this.startEndCount=0,this.dividerCnt=0,this.links=new Map,this.funs=[],this.getAccTitle=ia,this.setAccTitle=qi,this.getAccDescription=sa,this.setAccDescription=aa,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.clear(),this.setRootDoc=this.setRootDoc.bind(this),this.getDividerId=this.getDividerId.bind(this),this.setDirection=this.setDirection.bind(this),this.trimColon=this.trimColon.bind(this),this.bindFunctions=this.bindFunctions.bind(this)}extract(e){this.clear(!0);for(const i of Array.isArray(e)?e:e.doc)switch(i.stmt){case C2:this.addState(i.id.trim(),i.type,i.doc,i.description,i.note);break;case DK:this.addRelation(i.state1,i.state2,i.description);break;case v2r:this.addStyleClass(i.id.trim(),i.classes);break;case x2r:this.handleStyleDef(i);break;case w2r:this.setCssClass(i.id.trim(),i.styleClass);break;case"click":this.addLink(i.id,i.url,i.tooltip);break}const r=this.getStates(),n=Ve();V2r(),Tx(void 0,this.getRootDocV2(),r,this.nodes,this.edges,!0,n.look,this.classes);for(const i of this.nodes)if(Array.isArray(i.label)){if(i.description=i.label.slice(1),i.isGroup&&i.description.length>0)throw new Error(`Group nodes can only have label. Remove the additional description for node [${i.id}]`);i.label=i.label[0]}}handleStyleDef(e){const r=e.id.trim().split(","),n=e.styleClass.split(",");for(const i of r){let a=this.getState(i);if(!a){const s=i.trim();this.addState(s),a=this.getState(s)}a&&(a.styles=n.map(s=>{var o;return(o=s.replace(/;/g,""))==null?void 0:o.trim()}))}}setRootDoc(e){he.info("Setting root doc",e),this.rootDoc=e,this.version===1?this.extract(e):this.extract(this.getRootDocV2())}docTranslator(e,r,n){if(r.stmt===DK){this.docTranslator(e,r.state1,!0),this.docTranslator(e,r.state2,!1);return}if(r.stmt===C2&&(r.id===gl.START_NODE?(r.id=e.id+(n?"_start":"_end"),r.start=n):r.id=r.id.trim()),r.stmt!==Hy&&r.stmt!==C2||!r.doc)return;const i=[];let a=[];for(const s of r.doc)if(s.type===cXe){const o=UA(s);o.doc=UA(a),i.push(o),a=[]}else a.push(s);if(i.length>0&&a.length>0){const s={stmt:C2,id:oTe(),type:"divider",doc:UA(a)};i.push(UA(s)),r.doc=i}r.doc.forEach(s=>this.docTranslator(r,s,!0))}getRootDocV2(){return this.docTranslator({id:Hy,stmt:Hy},{id:Hy,stmt:Hy,doc:this.rootDoc},!0),{id:Hy,doc:this.rootDoc}}addState(e,r=Sw,n=void 0,i=void 0,a=void 0,s=void 0,o=void 0,l=void 0){const u=e==null?void 0:e.trim();if(!this.currentDocument.states.has(u))he.info("Adding state ",u,i),this.currentDocument.states.set(u,{stmt:C2,id:u,descriptions:[],type:r,doc:n,note:a,classes:[],styles:[],textStyles:[]});else{const d=this.currentDocument.states.get(u);if(!d)throw new Error(`State not found: ${u}`);d.doc||(d.doc=n),d.type||(d.type=r)}if(i&&(he.info("Setting state description",u,i),(Array.isArray(i)?i:[i]).forEach(h=>this.addDescription(u,h.trim()))),a){const d=this.currentDocument.states.get(u);if(!d)throw new Error(`State not found: ${u}`);d.note=a,d.note.text=Vt.sanitizeText(d.note.text,Ve())}s&&(he.info("Setting state classes",u,s),(Array.isArray(s)?s:[s]).forEach(h=>this.setCssClass(u,h.trim()))),o&&(he.info("Setting state styles",u,o),(Array.isArray(o)?o:[o]).forEach(h=>this.setStyle(u,h.trim()))),l&&(he.info("Setting state styles",u,o),(Array.isArray(l)?l:[l]).forEach(h=>this.setTextStyle(u,h.trim())))}clear(e){this.nodes=[],this.edges=[],this.funs=[this.setupToolTips.bind(this)],this.documents={root:u2e()},this.currentDocument=this.documents.root,this.startEndCount=0,this.classes=c2e(),e||(this.links=new Map,Di())}getState(e){return this.currentDocument.states.get(e)}getStates(){return this.currentDocument.states}logDocuments(){he.info("Documents = ",this.documents)}getRelations(){return this.currentDocument.relations}addLink(e,r,n){this.links.set(e,{url:r,tooltip:n}),he.warn("Adding link",e,r,n)}getLinks(){return this.links}startIdIfNeeded(e=""){return e===gl.START_NODE?(this.startEndCount++,`${gl.START_TYPE}${this.startEndCount}`):e}startTypeIfNeeded(e="",r=Sw){return e===gl.START_NODE?gl.START_TYPE:r}endIdIfNeeded(e=""){return e===gl.END_NODE?(this.startEndCount++,`${gl.END_TYPE}${this.startEndCount}`):e}endTypeIfNeeded(e="",r=Sw){return e===gl.END_NODE?gl.END_TYPE:r}addRelationObjs(e,r,n=""){const i=this.startIdIfNeeded(e.id.trim()),a=this.startTypeIfNeeded(e.id.trim(),e.type),s=this.startIdIfNeeded(r.id.trim()),o=this.startTypeIfNeeded(r.id.trim(),r.type);this.addState(i,a,e.doc,e.description,e.note,e.classes,e.styles,e.textStyles),this.addState(s,o,r.doc,r.description,r.note,r.classes,r.styles,r.textStyles),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:Vt.sanitizeText(n,Ve())})}addRelation(e,r,n){if(typeof e=="object"&&typeof r=="object")this.addRelationObjs(e,r,n);else if(typeof e=="string"&&typeof r=="string"){const i=this.startIdIfNeeded(e.trim()),a=this.startTypeIfNeeded(e),s=this.endIdIfNeeded(r.trim()),o=this.endTypeIfNeeded(r);this.addState(i,a),this.addState(s,o),this.currentDocument.relations.push({id1:i,id2:s,relationTitle:n?Vt.sanitizeText(n,Ve()):void 0})}}addDescription(e,r){var a;const n=this.currentDocument.states.get(e),i=r.startsWith(":")?r.replace(":","").trim():r;(a=n==null?void 0:n.descriptions)==null||a.push(Vt.sanitizeText(i,Ve()))}cleanupLabel(e){return e.startsWith(":")?e.slice(2).trim():e.trim()}getDividerId(){return this.dividerCnt++,`divider-id-${this.dividerCnt}`}addStyleClass(e,r=""){this.classes.has(e)||this.classes.set(e,{id:e,styles:[],textStyles:[]});const n=this.classes.get(e);r&&n&&r.split(gl.STYLECLASS_SEP).forEach(i=>{const a=i.replace(/([^;]*);/,"$1").trim();if(RegExp(gl.COLOR_KEYWORD).exec(i)){const o=a.replace(gl.FILL_KEYWORD,gl.BG_FILL).replace(gl.COLOR_KEYWORD,gl.FILL_KEYWORD);n.textStyles.push(o)}n.styles.push(a)})}getClasses(){return this.classes}setupToolTips(e){const r=zre();vt(e).select("svg").selectAll("g.node, g.rough-node").on("mouseover",a=>{var u;const s=vt(a.currentTarget),o=s.attr("title");if(o===null)return;const l=(u=a.currentTarget)==null?void 0:u.getBoundingClientRect();r.transition().duration(200).style("opacity",".9"),r.style("left",window.scrollX+l.left+(l.right-l.left)/2+"px").style("top",window.scrollY+l.bottom+"px"),r.html(R0.sanitize(o)),s.classed("hover",!0)}).on("mouseout",a=>{r.transition().duration(500).style("opacity",0),vt(a.currentTarget).classed("hover",!1)})}setCssClass(e,r){e.split(",").forEach(n=>{var a;let i=this.getState(n);if(!i){const s=n.trim();this.addState(s),i=this.getState(s)}(a=i==null?void 0:i.classes)==null||a.push(r)})}setStyle(e,r){var n,i;(i=(n=this.getState(e))==null?void 0:n.styles)==null||i.push(r)}setTextStyle(e,r){var n,i;(i=(n=this.getState(e))==null?void 0:n.textStyles)==null||i.push(r)}bindFunctions(e){this.funs.forEach(r=>{r(e)})}getDirectionStatement(){return this.rootDoc.find(e=>e.stmt===i2e)}getDirection(){var e;return((e=this.getDirectionStatement())==null?void 0:e.value)??b2r}setDirection(e){const r=this.getDirectionStatement();r?r.value=e:this.rootDoc.unshift({stmt:i2e,value:e})}trimColon(e){return e.startsWith(":")?e.slice(1).trim():e.trim()}getData(){const e=Ve();return{nodes:this.nodes,edges:this.edges,other:{},config:e,direction:yXe(this.getRootDocV2())}}getConfig(){return Ve().state}},x(BU,"StateDB"),BU.relationType={AGGREGATION:0,EXTENSION:1,COMPOSITION:2,DEPENDENCY:3},BU),G2r=x(t=>`
defs [id$="-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: ${t.strokeWidth||1};
}
.transition {
stroke: ${t.transitionColor};
stroke-width: ${t.strokeWidth||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 {
background-color: ${t.edgeLabelBackground};
p {
background-color: ${t.edgeLabelBackground};
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
.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: ${t.strokeWidth||1}px;
}
.node polygon {
fill: ${t.mainBkg};
stroke: ${t.stateBorder||t.nodeBorder};;
stroke-width: ${t.strokeWidth||1}px;
}
[id$="-barbEnd"] {
fill: ${t.lineColor};
}
.statediagram-cluster rect {
fill: ${t.compositeTitleBackground};
stroke: ${t.stateBorder||t.nodeBorder};
stroke-width: ${t.strokeWidth||1}px;
}
.cluster-label, .nodeLabel {
color: ${t.stateLabelColor};
// line-height: 1;
}
.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};
}
[id$="-dependencyStart"], [id$="-dependencyEnd"] {
fill: ${t.lineColor};
stroke: ${t.lineColor};
stroke-width: ${t.strokeWidth||1};
}
.statediagramTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
[data-look="neo"].statediagram-cluster rect {
fill: ${t.mainBkg};
stroke: ${t.useGradient?"url("+t.svgId+"-gradient)":t.stateBorder||t.nodeBorder};
stroke-width: ${t.strokeWidth??1};
}
[data-look="neo"].statediagram-cluster rect.outer {
rx: ${t.radius}px;
ry: ${t.radius}px;
filter: ${t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${t.svgId}-drop-shadow)`):"none"}
}
`,"getStyles"),xXe=G2r,W2r=x(t=>t.append("circle").attr("class","start-state").attr("r",Ve().state.sizeUnit).attr("cx",Ve().state.padding+Ve().state.sizeUnit).attr("cy",Ve().state.padding+Ve().state.sizeUnit),"drawStartState"),q2r=x(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",Ve().state.textHeight).attr("class","divider").attr("x2",Ve().state.textHeight*2).attr("y1",0).attr("y2",0),"drawDivider"),j2r=x((t,e)=>{const r=t.append("text").attr("x",2*Ve().state.padding).attr("y",Ve().state.textHeight+2*Ve().state.padding).attr("font-size",Ve().state.fontSize).attr("class","state-title").text(e.id),n=r.node().getBBox();return t.insert("rect",":first-child").attr("x",Ve().state.padding).attr("y",Ve().state.padding).attr("width",n.width+2*Ve().state.padding).attr("height",n.height+2*Ve().state.padding).attr("rx",Ve().state.radius),r},"drawSimpleState"),Y2r=x((t,e)=>{const r=x(function(f,p,g){const m=f.append("tspan").attr("x",2*Ve().state.padding).text(p);g||m.attr("dy",Ve().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*Ve().state.padding).attr("y",Ve().state.textHeight+1.3*Ve().state.padding).attr("font-size",Ve().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),a=i.height,s=t.append("text").attr("x",Ve().state.padding).attr("y",a+Ve().state.padding*.4+Ve().state.dividerMargin+Ve().state.textHeight).attr("class","state-description");let o=!0,l=!0;e.descriptions.forEach(function(f){o||(r(s,f,l),l=!1),o=!1});const u=t.append("line").attr("x1",Ve().state.padding).attr("y1",Ve().state.padding+a+Ve().state.dividerMargin/2).attr("y2",Ve().state.padding+a+Ve().state.dividerMargin/2).attr("class","descr-divider"),d=s.node().getBBox(),h=Math.max(d.width,i.width);return u.attr("x2",h+3*Ve().state.padding),t.insert("rect",":first-child").attr("x",Ve().state.padding).attr("y",Ve().state.padding).attr("width",h+2*Ve().state.padding).attr("height",d.height+a+2*Ve().state.padding).attr("rx",Ve().state.radius),t},"drawDescrState"),X2r=x((t,e,r)=>{const n=Ve().state.padding,i=2*Ve().state.padding,a=t.node().getBBox(),s=a.width,o=a.x,l=t.append("text").attr("x",0).attr("y",Ve().state.titleShift).attr("font-size",Ve().state.fontSize).attr("class","state-title").text(e.id),d=l.node().getBBox().width+i;let h=Math.max(d,s);h===s&&(h=h+i);let f;const p=t.node().getBBox();e.doc,f=o-n,d>s&&(f=(s-h)/2+n),Math.abs(o-p.x)<n&&d>s&&(f=o-(d-s)/2);const g=1-Ve().state.textHeight;return t.insert("rect",":first-child").attr("x",f).attr("y",g).attr("class",r?"alt-composit":"composit").attr("width",h).attr("height",p.height+Ve().state.textHeight+Ve().state.titleShift+1).attr("rx","0"),l.attr("x",f+n),d<=s&&l.attr("x",o+(h-i)/2-d/2+n),t.insert("rect",":first-child").attr("x",f).attr("y",Ve().state.titleShift-Ve().state.textHeight-Ve().state.padding).attr("width",h).attr("height",Ve().state.textHeight*3).attr("rx",Ve().state.radius),t.insert("rect",":first-child").attr("x",f).attr("y",Ve().state.titleShift-Ve().state.textHeight-Ve().state.padding).attr("width",h).attr("height",p.height+3+2*Ve().state.textHeight).attr("rx",Ve().state.radius),t},"addTitleAndBox"),K2r=x(t=>(t.append("circle").attr("class","end-state-outer").attr("r",Ve().state.sizeUnit+Ve().state.miniPadding).attr("cx",Ve().state.padding+Ve().state.sizeUnit+Ve().state.miniPadding).attr("cy",Ve().state.padding+Ve().state.sizeUnit+Ve().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",Ve().state.sizeUnit).attr("cx",Ve().state.padding+Ve().state.sizeUnit+2).attr("cy",Ve().state.padding+Ve().state.sizeUnit+2)),"drawEndState"),Z2r=x((t,e)=>{let r=Ve().state.forkWidth,n=Ve().state.forkHeight;if(e.parentId){let i=r;r=n,n=i}return t.append("rect").style("stroke","black").style("fill","black").attr("width",r).attr("height",n).attr("x",Ve().state.padding).attr("y",Ve().state.padding)},"drawForkJoinState"),J2r=x((t,e,r,n)=>{let i=0;const a=n.append("text");a.style("text-anchor","start"),a.attr("class","noteText");let s=t.replace(/\r\n/g,"<br/>");s=s.replace(/\n/g,"<br/>");const o=s.split(Vt.lineBreakRegex);let l=1.25*Ve().state.noteMargin;for(const u of o){const d=u.trim();if(d.length>0){const h=a.append("tspan");if(h.text(d),l===0){const f=h.node().getBBox();l+=f.height}i+=l,h.attr("x",e+Ve().state.noteMargin),h.attr("y",r+i+1.25*Ve().state.noteMargin)}}return{textWidth:a.node().getBBox().width,textHeight:i}},"_drawLongText"),Q2r=x((t,e)=>{e.attr("class","state-note");const r=e.append("rect").attr("x",0).attr("y",Ve().state.padding),n=e.append("g"),{textWidth:i,textHeight:a}=J2r(t,0,0,n);return r.attr("height",a+2*Ve().state.noteMargin),r.attr("width",i+Ve().state.noteMargin*2),r},"drawNote"),d2e=x(function(t,e){const r=e.id,n={id:r,label:e.id,width:0,height:0},i=t.append("g").attr("id",r).attr("class","stateGroup");e.type==="start"&&W2r(i),e.type==="end"&&K2r(i),(e.type==="fork"||e.type==="join")&&Z2r(i,e),e.type==="note"&&Q2r(e.note.text,i),e.type==="divider"&&q2r(i),e.type==="default"&&e.descriptions.length===0&&j2r(i,e),e.type==="default"&&e.descriptions.length>0&&Y2r(i,e);const a=i.node().getBBox();return n.width=a.width+2*Ve().state.padding,n.height=a.height+2*Ve().state.padding,n},"drawState"),h2e=0,ebr=x(function(t,e,r){const n=x(function(l){switch(l){case nU.relationType.AGGREGATION:return"aggregation";case nU.relationType.EXTENSION:return"extension";case nU.relationType.COMPOSITION:return"composition";case nU.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(l=>!Number.isNaN(l.y));const i=e.points,a=mT().x(function(l){return l.x}).y(function(l){return l.y}).curve(UT),s=t.append("path").attr("d",a(i)).attr("id","edge"+h2e).attr("class","transition");let o="";if(Ve().state.arrowMarkerAbsolute&&(o=cD(!0)),s.attr("marker-end","url("+o+"#"+n(nU.relationType.DEPENDENCY)+"End)"),r.title!==void 0){const l=t.append("g").attr("class","stateLabel"),{x:u,y:d}=Kr.calcLabelPosition(e.points),h=Vt.getRows(r.title);let f=0;const p=[];let g=0,m=0;for(let b=0;b<=h.length;b++){const v=l.append("text").attr("text-anchor","middle").text(h[b]).attr("x",u).attr("y",d+f),w=v.node().getBBox();g=Math.max(g,w.width),m=Math.min(m,w.x),he.info(w.x,u,d+f),f===0&&(f=v.node().getBBox().height,he.info("Title height",f,d)),p.push(v)}let U=f*h.length;if(h.length>1){const b=(h.length-1)*f*.5;p.forEach((v,w)=>v.attr("y",d+w*f-b)),U=f*h.length}const y=l.node().getBBox();l.insert("rect",":first-child").attr("class","box").attr("x",u-g/2-Ve().state.padding/2).attr("y",d-U/2-Ve().state.padding/2-3.5).attr("width",g+Ve().state.padding).attr("height",U+Ve().state.padding),he.info(y)}h2e++},"drawEdge"),$c,mV={},tbr=x(function(){},"setConf"),rbr=x(function(t){t.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")},"insertMarkers"),nbr=x(function(t,e,r,n){$c=Ve().state;const i=Ve().securityLevel;let a;i==="sandbox"&&(a=vt("#i"+e));const s=vt(i==="sandbox"?a.nodes()[0].contentDocument.body:"body"),o=i==="sandbox"?a.nodes()[0].contentDocument:document;he.debug("Rendering diagram "+t);const l=s.select(`[id='${e}']`);rbr(l);const u=n.db.getRootDoc(),d=l.append("g").attr("id",e+"-root");wXe(u,d,void 0,!1,s,o,n);const h=$c.padding,f=l.node().getBBox(),p=f.width+h*2,g=f.height+h*2,m=p*1.75;Wa(l,g,m,$c.useMaxWidth),l.attr("viewBox",`${f.x-$c.padding} ${f.y-$c.padding} `+p+" "+g)},"draw"),ibr=x(t=>t?t.length*$c.fontSizeFactor:1,"getLabelWidth"),wXe=x((t,e,r,n,i,a,s)=>{const o=new rl({compound:!0,multigraph:!0});let l,u=!0;for(l=0;l<t.length;l++)if(t[l].stmt==="relation"){u=!1;break}r?o.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:u?1:$c.edgeLengthFactor,nodeSep:u?1:50,isMultiGraph:!0}):o.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:u?1:$c.edgeLengthFactor,nodeSep:u?1:50,ranker:"tight-tree",isMultiGraph:!0}),o.setDefaultEdgeLabel(function(){return{}});const d=s.db.getStates(),h=s.db.getRelations(),f=Object.keys(d);for(const y of f){const b=d[y];r&&(b.parentId=r);let v;if(b.doc){let w=e.append("g").attr("id",b.id).attr("class","stateGroup");v=wXe(b.doc,w,b.id,!n,i,a,s);{w=X2r(w,b,n);let T=w.node().getBBox();v.width=T.width,v.height=T.height+$c.padding/2,mV[b.id]={y:$c.compositTitleSize}}}else v=d2e(e,b,o);if(b.note){const w={descriptions:[],id:b.id+"-note",note:b.note,type:"note"},T=d2e(e,w,o);b.note.position==="left of"?(o.setNode(v.id+"-note",T),o.setNode(v.id,v)):(o.setNode(v.id,v),o.setNode(v.id+"-note",T)),o.setParent(v.id,v.id+"-group"),o.setParent(v.id+"-note",v.id+"-group")}else o.setNode(v.id,v)}he.debug("Count=",o.nodeCount(),o);let p=0;h.forEach(function(y){p++,he.debug("Setting edge",y),o.setEdge(y.id1,y.id2,{relation:y,width:ibr(y.title),height:$c.labelHeight*Vt.getRows(y.title).length,labelpos:"c"},"id"+p)}),CLe(o),he.debug("Graph after layout",o.nodes());const g=e.node();o.nodes().forEach(function(y){y!==void 0&&o.node(y)!==void 0?(he.warn("Node "+y+": "+JSON.stringify(o.node(y))),i.select("#"+g.id+" #"+y).attr("transform","translate("+(o.node(y).x-o.node(y).width/2)+","+(o.node(y).y+(mV[y]?mV[y].y:0)-o.node(y).height/2)+" )"),i.select("#"+g.id+" #"+y).attr("data-x-shift",o.node(y).x-o.node(y).width/2),a.querySelectorAll("#"+g.id+" #"+y+" .divider").forEach(v=>{const w=v.parentElement;let T=0,S=0;w&&(w.parentElement&&(T=w.parentElement.getBBox().width),S=parseInt(w.getAttribute("data-x-shift"),10),Number.isNaN(S)&&(S=0)),v.setAttribute("x1",0-S+8),v.setAttribute("x2",T-S-8)})):he.debug("No Node "+y+": "+JSON.stringify(o.node(y)))});let m=g.getBBox();o.edges().forEach(function(y){y!==void 0&&o.edge(y)!==void 0&&(he.debug("Edge "+y.v+" -> "+y.w+": "+JSON.stringify(o.edge(y))),ebr(e,o.edge(y),o.edge(y).relation))}),m=g.getBBox();const U={id:r||"root",label:r||"root",width:0,height:0};return U.width=m.width+2*$c.padding,U.height=m.height+2*$c.padding,he.debug("Doc rendered",U,o),U},"renderDoc"),abr={setConf:tbr,draw:nbr},sbr={parser:oXe,get db(){return new nU(1)},renderer:abr,styles:xXe,init:x(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const obr=Object.freeze(Object.defineProperty({__proto__:null,diagram:sbr},Symbol.toStringTag,{value:"Module"}));var lbr={parser:oXe,get db(){return new nU(2)},renderer:z2r,styles:xXe,init:x(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};const cbr=Object.freeze(Object.defineProperty({__proto__:null,diagram:lbr},Symbol.toStringTag,{value:"Module"}));var PK=(function(){var t=x(function(h,f,p,g){for(p=p||{},g=h.length;g--;p[h[g]]=f);return p},"o"),e=[6,8,10,11,12,14,16,17,18],r=[1,9],n=[1,10],i=[1,11],a=[1,12],s=[1,13],o=[1,14],l={trace:x(function(){},"trace"),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:x(function(f,p,g,m,U,y,b){var v=y.length-1;switch(U){case 1:return y[v-1];case 2:this.$=[];break;case 3:y[v-1].push(y[v]),this.$=y[v-1];break;case 4:case 5:this.$=y[v];break;case 6:case 7:this.$=[];break;case 8:m.setDiagramTitle(y[v].substr(6)),this.$=y[v].substr(6);break;case 9:this.$=y[v].trim(),m.setAccTitle(this.$);break;case 10:case 11:this.$=y[v].trim(),m.setAccDescription(this.$);break;case 12:m.addSection(y[v].substr(8)),this.$=y[v].substr(8);break;case 13:m.addTask(y[v-1],y[v]),this.$="task";break}},"anonymous"),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:r,12:n,14:i,16:a,17:s,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:r,12:n,14:i,16:a,17:s,18:o},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:x(function(f,p){if(p.recoverable)this.trace(f);else{var g=new Error(f);throw g.hash=p,g}},"parseError"),parse:x(function(f){var p=this,g=[0],m=[],U=[null],y=[],b=this.table,v="",w=0,T=0,S=2,C=1,k=y.slice.call(arguments,1),E=Object.create(this.lexer),A={yy:{}};for(var M in this.yy)Object.prototype.hasOwnProperty.call(this.yy,M)&&(A.yy[M]=this.yy[M]);E.setInput(f,A.yy),A.yy.lexer=E,A.yy.parser=this,typeof E.yylloc>"u"&&(E.yylloc={});var P=E.yylloc;y.push(P);var N=E.options&&E.options.ranges;typeof A.yy.parseError=="function"?this.parseError=A.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function I(K){g.length=g.length-2*K,U.length=U.length-K,y.length=y.length-K}x(I,"popStack");function L(){var K;return K=m.pop()||E.lex()||C,typeof K!="number"&&(K instanceof Array&&(m=K,K=m.pop()),K=p.symbols_[K]||K),K}x(L,"lex");for(var _,D,O,B,F={},z,$,H,V;;){if(D=g[g.length-1],this.defaultActions[D]?O=this.defaultActions[D]:((_===null||typeof _>"u")&&(_=L()),O=b[D]&&b[D][_]),typeof O>"u"||!O.length||!O[0]){var G="";V=[];for(z in b[D])this.terminals_[z]&&z>S&&V.push("'"+this.terminals_[z]+"'");E.showPosition?G="Parse error on line "+(w+1)+`:
`+E.showPosition()+`
Expecting `+V.join(", ")+", got '"+(this.terminals_[_]||_)+"'":G="Parse error on line "+(w+1)+": Unexpected "+(_==C?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(G,{text:E.match,token:this.terminals_[_]||_,line:E.yylineno,loc:P,expected:V})}if(O[0]instanceof Array&&O.length>1)throw new Error("Parse Error: multiple actions possible at state: "+D+", token: "+_);switch(O[0]){case 1:g.push(_),U.push(E.yytext),y.push(E.yylloc),g.push(O[1]),_=null,T=E.yyleng,v=E.yytext,w=E.yylineno,P=E.yylloc;break;case 2:if($=this.productions_[O[1]][1],F.$=U[U.length-$],F._$={first_line:y[y.length-($||1)].first_line,last_line:y[y.length-1].last_line,first_column:y[y.length-($||1)].first_column,last_column:y[y.length-1].last_column},N&&(F._$.range=[y[y.length-($||1)].range[0],y[y.length-1].range[1]]),B=this.performAction.apply(F,[v,T,w,A.yy,O[1],U,y].concat(k)),typeof B<"u")return B;$&&(g=g.slice(0,-1*$*2),U=U.slice(0,-1*$),y=y.slice(0,-1*$)),g.push(this.productions_[O[1]][0]),U.push(F.$),y.push(F._$),H=b[g[g.length-2]][g[g.length-1]],g.push(H);break;case 3:return!0}}return!0},"parse")},u=(function(){var h={EOF:1,parseError:x(function(p,g){if(this.yy.parser)this.yy.parser.parseError(p,g);else throw new Error(p)},"parseError"),setInput:x(function(f,p){return this.yy=p||this.yy||{},this._input=f,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},"setInput"),input:x(function(){var f=this._input[0];this.yytext+=f,this.yyleng++,this.offset++,this.match+=f,this.matched+=f;var p=f.match(/(?:\r\n?|\n).*/g);return p?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),f},"input"),unput:x(function(f){var p=f.length,g=f.split(/(?:\r\n?|\n)/g);this._input=f+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-p),this.offset-=p;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),g.length-1&&(this.yylineno-=g.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:g?(g.length===m.length?this.yylloc.first_column:0)+m[m.length-g.length].length-g[0].length:this.yylloc.first_column-p},this.options.ranges&&(this.yylloc.range=[U[0],U[0]+this.yyleng-p]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(f){this.unput(this.match.slice(f))},"less"),pastInput:x(function(){var f=this.matched.substr(0,this.matched.length-this.match.length);return(f.length>20?"...":"")+f.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var f=this.match;return f.length<20&&(f+=this._input.substr(0,20-f.length)),(f.substr(0,20)+(f.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var f=this.pastInput(),p=new Array(f.length+1).join("-");return f+this.upcomingInput()+`
`+p+"^"},"showPosition"),test_match:x(function(f,p){var g,m,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))),m=f[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+f[0].length},this.yytext+=f[0],this.match+=f[0],this.matches=f,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(f[0].length),this.matched+=f[0],g=this.performAction.call(this,this.yy,this,p,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),g)return g;if(this._backtrack){for(var y in U)this[y]=U[y];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var f,p,g,m;this._more||(this.yytext="",this.match="");for(var U=this._currentRules(),y=0;y<U.length;y++)if(g=this._input.match(this.rules[U[y]]),g&&(!p||g[0].length>p[0].length)){if(p=g,m=y,this.options.backtrack_lexer){if(f=this.test_match(g,U[y]),f!==!1)return f;if(this._backtrack){p=!1;continue}else return!1}else if(!this.options.flex)break}return p?(f=this.test_match(p,U[m]),f!==!1?f:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var p=this.next();return p||this.lex()},"lex"),begin:x(function(p){this.conditionStack.push(p)},"begin"),popState:x(function(){var p=this.conditionStack.length-1;return p>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(p){return p=this.conditionStack.length-1-Math.abs(p||0),p>=0?this.conditionStack[p]:"INITIAL"},"topState"),pushState:x(function(p){this.begin(p)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(p,g,m,U){switch(m){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"}},"anonymous"),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 h})();l.lexer=u;function d(){this.yy={}}return x(d,"Parser"),d.prototype=l,l.Parser=d,new d})();PK.parser=PK;var ubr=PK,L4="",ose=[],CC=[],SC=[],dbr=x(function(){ose.length=0,CC.length=0,L4="",SC.length=0,Di()},"clear"),hbr=x(function(t){L4=t,ose.push(t)},"addSection"),fbr=x(function(){return ose},"getSections"),pbr=x(function(){let t=f2e();const e=100;let r=0;for(;!t&&r<e;)t=f2e(),r++;return CC.push(...SC),CC},"getTasks"),gbr=x(function(){const t=[];return CC.forEach(r=>{r.people&&t.push(...r.people)}),[...new Set(t)].sort()},"updateActors"),mbr=x(function(t,e){const r=e.substr(1).split(":");let n=0,i=[];r.length===1?(n=Number(r[0]),i=[]):(n=Number(r[0]),i=r[1].split(","));const a=i.map(o=>o.trim()),s={section:L4,type:L4,people:a,task:t,score:n};SC.push(s)},"addTask"),Ubr=x(function(t){const e={section:L4,type:L4,description:t,task:t,classes:[]};CC.push(e)},"addTaskOrg"),f2e=x(function(){const t=x(function(r){return SC[r].processed},"compileTask");let e=!0;for(const[r,n]of SC.entries())t(r),e=e&&n.processed;return e},"compileTasks"),ybr=x(function(){return gbr()},"getActors"),p2e={getConfig:x(()=>Ve().journey,"getConfig"),clear:dbr,setDiagramTitle:ra,getDiagramTitle:Yi,setAccTitle:qi,getAccTitle:ia,setAccDescription:aa,getAccDescription:sa,addSection:hbr,getSections:fbr,getTasks:pbr,addTask:mbr,addTaskOrg:Ubr,getActors:ybr},bbr=x(t=>`.label {
font-family: ${t.fontFamily};
color: ${t.textColor};
}
.mouth {
stroke: #666;
}
line {
stroke: ${t.textColor}
}
.legend {
fill: ${t.textColor};
font-family: ${t.fontFamily};
}
.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: ${t.fontFamily};
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}`:""};
}
${OS()}
`,"getStyles"),vbr=bbr,lse=x(function(t,e){return JP(t,e)},"drawRect"),xbr=x(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.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"),i.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 a(l){const u=Gv().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}x(a,"smile");function s(l){const u=Gv().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}x(s,"sad");function o(l){l.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 x(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),TXe=x(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),CXe=x(function(t,e){return _rr(t,e)},"drawText"),wbr=x(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}x(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,CXe(t,e)},"drawLabel"),Tbr=x(function(t,e,r){const n=t.append("g"),i=uu();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width*e.taskCount+r.diagramMarginX*(e.taskCount-1),i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,lse(n,i),SXe(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),_K=-1,Cbr=x(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");_K++,a.append("line").attr("id",n+"-task"+_K).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),xbr(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=uu();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,lse(a,o);let l=e.x+14;e.people.forEach(u=>{const d=e.actors[u].color,h={cx:l,cy:e.y,r:7,fill:d,stroke:"#000",title:u,pos:e.actors[u].position};TXe(a,h),l+=10}),SXe(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),Sbr=x(function(t,e){cPe(t,e)},"drawBackgroundRect"),SXe=(function(){function t(i,a,s,o,l,u,d,h){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",h).style("text-anchor","middle").text(i);n(f,d)}x(t,"byText");function e(i,a,s,o,l,u,d,h,f){const{taskFontSize:p,taskFontFamily:g}=h,m=i.split(/<br\s*\/?>/gi);for(let U=0;U<m.length;U++){const y=U*p-p*(m.length-1)/2,b=a.append("text").attr("x",s+l/2).attr("y",o).attr("fill",f).style("text-anchor","middle").style("font-size",p).style("font-family",g);b.append("tspan").attr("x",s+l/2).attr("dy",y).text(m[U]),b.attr("y",o+u/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(b,d)}}x(e,"byTspan");function r(i,a,s,o,l,u,d,h){const f=a.append("switch"),g=f.append("foreignObject").attr("x",s).attr("y",o).attr("width",l).attr("height",u).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),e(i,f,s,o,l,u,d,h),n(g,d)}x(r,"byFo");function n(i,a){for(const s in a)s in a&&i.attr(s,a[s])}return x(n,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?r:i.textPlacement==="old"?t:e}})(),kbr=x(function(t,e){_K=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),kC={drawRect:lse,drawCircle:TXe,drawSection:Tbr,drawText:CXe,drawLabel:wbr,drawTask:Cbr,drawBackgroundRect:Sbr,initGraphics:kbr},Ebr=x(function(t){Object.keys(t).forEach(function(r){od[r]=t[r]})},"setConf"),f0={},sR=0;function kXe(t){const e=Ve().journey,r=e.maxLabelWidth;sR=0;let n=60;Object.keys(f0).forEach(i=>{const a=f0[i].color,s={cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:f0[i].position};kC.drawCircle(t,s);let o=t.append("text").attr("visibility","hidden").text(i);const l=o.node().getBoundingClientRect().width;o.remove();let u=[];if(l<=r)u=[i];else{const d=i.split(" ");let h="";o=t.append("text").attr("visibility","hidden"),d.forEach(f=>{const p=h?`${h} ${f}`:f;if(o.text(p),o.node().getBoundingClientRect().width>r){if(h&&u.push(h),h=f,o.text(f),o.node().getBoundingClientRect().width>r){let m="";for(const U of f)m+=U,o.text(m+"-"),o.node().getBoundingClientRect().width>r&&(u.push(m.slice(0,-1)+"-"),m=U);h=m}}else h=p}),h&&u.push(h),o.remove()}u.forEach((d,h)=>{const f={x:40,y:n+7+h*20,fill:"#666",text:d,textMargin:e.boxTextMargin??5},g=kC.drawText(t,f).node().getBoundingClientRect().width;g>sR&&g>e.leftMargin-g&&(sR=g)}),n+=Math.max(20,u.length*20)})}x(kXe,"drawActorLegend");var od=Ve().journey,tg=0,Abr=x(function(t,e,r,n){const i=Ve(),a=i.journey.titleColor,s=i.journey.titleFontSize,o=i.journey.titleFontFamily,l=i.securityLevel;let u;l==="sandbox"&&(u=vt("#i"+e));const d=vt(l==="sandbox"?u.nodes()[0].contentDocument.body:"body");Cu.init();const h=d.select("#"+e);kC.initGraphics(h,e);const f=n.db.getTasks(),p=n.db.getDiagramTitle(),g=n.db.getActors();for(const w in f0)delete f0[w];let m=0;g.forEach(w=>{f0[w]={color:od.actorColours[m%od.actorColours.length],position:m},m++}),kXe(h),tg=od.leftMargin+sR,Cu.insert(0,0,tg,Object.keys(f0).length*50),Mbr(h,f,0,e);const U=Cu.getBounds();p&&h.append("text").text(p).attr("x",tg).attr("font-size",s).attr("font-weight","bold").attr("y",25).attr("fill",a).attr("font-family",o);const y=U.stopy-U.starty+2*od.diagramMarginY,b=tg+U.stopx+2*od.diagramMarginX;Wa(h,y,b,od.useMaxWidth),h.append("line").attr("x1",tg).attr("y1",od.height*4).attr("x2",b-tg-4).attr("y2",od.height*4).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const v=p?70:0;h.attr("viewBox",`${U.startx} -25 ${b} ${y+v}`),h.attr("preserveAspectRatio","xMinYMin meet"),h.attr("height",y+v+25)},"draw"),Cu={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:x(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:x(function(t,e,r,n){t[e]===void 0?t[e]=r:t[e]=n(r,t[e])},"updateVal"),updateBounds:x(function(t,e,r,n){const i=Ve().journey,a=this;let s=0;function o(l){return x(function(d){s++;const h=a.sequenceItems.length-s+1;a.updateVal(d,"starty",e-h*i.boxMargin,Math.min),a.updateVal(d,"stopy",n+h*i.boxMargin,Math.max),a.updateVal(Cu.data,"startx",t-h*i.boxMargin,Math.min),a.updateVal(Cu.data,"stopx",r+h*i.boxMargin,Math.max),l!=="activation"&&(a.updateVal(d,"startx",t-h*i.boxMargin,Math.min),a.updateVal(d,"stopx",r+h*i.boxMargin,Math.max),a.updateVal(Cu.data,"starty",e-h*i.boxMargin,Math.min),a.updateVal(Cu.data,"stopy",n+h*i.boxMargin,Math.max))},"updateItemBounds")}x(o,"updateFn"),this.sequenceItems.forEach(o())},"updateBounds"),insert:x(function(t,e,r,n){const i=Math.min(t,r),a=Math.max(t,r),s=Math.min(e,n),o=Math.max(e,n);this.updateVal(Cu.data,"startx",i,Math.min),this.updateVal(Cu.data,"starty",s,Math.min),this.updateVal(Cu.data,"stopx",a,Math.max),this.updateVal(Cu.data,"stopy",o,Math.max),this.updateBounds(i,s,a,o)},"insert"),bumpVerticalPos:x(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:x(function(){return this.verticalPos},"getVerticalPos"),getBounds:x(function(){return this.data},"getBounds")},UV=od.sectionFills,g2e=od.sectionColours,Mbr=x(function(t,e,r,n){const i=Ve().journey;let a="";const s=i.height*2+i.diagramMarginY,o=r+s;let l=0,u="#CCC",d="black",h=0;for(const[f,p]of e.entries()){if(a!==p.section){u=UV[l%UV.length],h=l%UV.length,d=g2e[l%g2e.length];let m=0;const U=p.section;for(let b=f;b<e.length&&e[b].section==U;b++)m=m+1;const y={x:f*i.taskMargin+f*i.width+tg,y:50,text:p.section,fill:u,num:h,colour:d,taskCount:m};kC.drawSection(t,y,i),a=p.section,l++}const g=p.people.reduce((m,U)=>(f0[U]&&(m[U]=f0[U]),m),{});p.x=f*i.taskMargin+f*i.width+tg,p.y=o,p.width=i.diagramMarginX,p.height=i.diagramMarginY,p.colour=d,p.fill=u,p.num=h,p.actors=g,kC.drawTask(t,p,i,n),Cu.insert(p.x,p.y,p.x+p.width+i.taskMargin,450)}},"drawTasks"),m2e={setConf:Ebr,draw:Abr},Rbr={parser:ubr,db:p2e,renderer:m2e,styles:vbr,init:x(t=>{m2e.setConf(t.journey),p2e.clear()},"init")};const Ibr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Rbr},Symbol.toStringTag,{value:"Module"}));var BK=(function(){var t=x(function(f,p,g,m){for(g=g||{},m=f.length;m--;g[f[m]]=p);return g},"o"),e=[6,11,13,14,15,17,19,20,23,24],r=[1,12],n=[1,13],i=[1,14],a=[1,15],s=[1,16],o=[1,19],l=[1,20],u={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:x(function(p,g,m,U,y,b,v){var w=b.length-1;switch(y){case 1:return b[w-1];case 3:U.setDirection("LR");break;case 4:U.setDirection("TD");break;case 5:this.$=[];break;case 6:b[w-1].push(b[w]),this.$=b[w-1];break;case 7:case 8:this.$=b[w];break;case 9:case 10:this.$=[];break;case 11:U.getCommonDb().setDiagramTitle(b[w].substr(6)),this.$=b[w].substr(6);break;case 12:this.$=b[w].trim(),U.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=b[w].trim(),U.getCommonDb().setAccDescription(this.$);break;case 15:U.addSection(b[w].substr(8)),this.$=b[w].substr(8);break;case 18:U.addTask(b[w],0,""),this.$=b[w];break;case 19:U.addEvent(b[w].substr(2)),this.$=b[w];break}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:r,15:n,17:i,19:a,20:s,21:17,22:18,23:o,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:x(function(p,g){if(g.recoverable)this.trace(p);else{var m=new Error(p);throw m.hash=g,m}},"parseError"),parse:x(function(p){var g=this,m=[0],U=[],y=[null],b=[],v=this.table,w="",T=0,S=0,C=2,k=1,E=b.slice.call(arguments,1),A=Object.create(this.lexer),M={yy:{}};for(var P in this.yy)Object.prototype.hasOwnProperty.call(this.yy,P)&&(M.yy[P]=this.yy[P]);A.setInput(p,M.yy),M.yy.lexer=A,M.yy.parser=this,typeof A.yylloc>"u"&&(A.yylloc={});var N=A.yylloc;b.push(N);var I=A.options&&A.options.ranges;typeof M.yy.parseError=="function"?this.parseError=M.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function L(W){m.length=m.length-2*W,y.length=y.length-W,b.length=b.length-W}x(L,"popStack");function _(){var W;return W=U.pop()||A.lex()||k,typeof W!="number"&&(W instanceof Array&&(U=W,W=U.pop()),W=g.symbols_[W]||W),W}x(_,"lex");for(var D,O,B,F,z={},$,H,V,G;;){if(O=m[m.length-1],this.defaultActions[O]?B=this.defaultActions[O]:((D===null||typeof D>"u")&&(D=_()),B=v[O]&&v[O][D]),typeof B>"u"||!B.length||!B[0]){var K="";G=[];for($ in v[O])this.terminals_[$]&&$>C&&G.push("'"+this.terminals_[$]+"'");A.showPosition?K="Parse error on line "+(T+1)+`:
`+A.showPosition()+`
Expecting `+G.join(", ")+", got '"+(this.terminals_[D]||D)+"'":K="Parse error on line "+(T+1)+": Unexpected "+(D==k?"end of input":"'"+(this.terminals_[D]||D)+"'"),this.parseError(K,{text:A.match,token:this.terminals_[D]||D,line:A.yylineno,loc:N,expected:G})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+O+", token: "+D);switch(B[0]){case 1:m.push(D),y.push(A.yytext),b.push(A.yylloc),m.push(B[1]),D=null,S=A.yyleng,w=A.yytext,T=A.yylineno,N=A.yylloc;break;case 2:if(H=this.productions_[B[1]][1],z.$=y[y.length-H],z._$={first_line:b[b.length-(H||1)].first_line,last_line:b[b.length-1].last_line,first_column:b[b.length-(H||1)].first_column,last_column:b[b.length-1].last_column},I&&(z._$.range=[b[b.length-(H||1)].range[0],b[b.length-1].range[1]]),F=this.performAction.apply(z,[w,S,T,M.yy,B[1],y,b].concat(E)),typeof F<"u")return F;H&&(m=m.slice(0,-1*H*2),y=y.slice(0,-1*H),b=b.slice(0,-1*H)),m.push(this.productions_[B[1]][0]),y.push(z.$),b.push(z._$),V=v[m[m.length-2]][m[m.length-1]],m.push(V);break;case 3:return!0}}return!0},"parse")},d=(function(){var f={EOF:1,parseError:x(function(g,m){if(this.yy.parser)this.yy.parser.parseError(g,m);else throw new Error(g)},"parseError"),setInput:x(function(p,g){return this.yy=g||this.yy||{},this._input=p,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},"setInput"),input:x(function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var g=p.match(/(?:\r\n?|\n).*/g);return g?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},"input"),unput:x(function(p){var g=p.length,m=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-g),this.offset-=g;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),m.length-1&&(this.yylineno-=m.length-1);var y=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===U.length?this.yylloc.first_column:0)+U[U.length-m.length].length-m[0].length:this.yylloc.first_column-g},this.options.ranges&&(this.yylloc.range=[y[0],y[0]+this.yyleng-g]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(p){this.unput(this.match.slice(p))},"less"),pastInput:x(function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var p=this.pastInput(),g=new Array(p.length+1).join("-");return p+this.upcomingInput()+`
`+g+"^"},"showPosition"),test_match:x(function(p,g){var m,U,y;if(this.options.backtrack_lexer&&(y={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&&(y.yylloc.range=this.yylloc.range.slice(0))),U=p[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+p[0].length},this.yytext+=p[0],this.match+=p[0],this.matches=p,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(p[0].length),this.matched+=p[0],m=this.performAction.call(this,this.yy,this,g,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),m)return m;if(this._backtrack){for(var b in y)this[b]=y[b];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,g,m,U;this._more||(this.yytext="",this.match="");for(var y=this._currentRules(),b=0;b<y.length;b++)if(m=this._input.match(this.rules[y[b]]),m&&(!g||m[0].length>g[0].length)){if(g=m,U=b,this.options.backtrack_lexer){if(p=this.test_match(m,y[b]),p!==!1)return p;if(this._backtrack){g=!1;continue}else return!1}else if(!this.options.flex)break}return g?(p=this.test_match(g,y[U]),p!==!1?p:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var g=this.next();return g||this.lex()},"lex"),begin:x(function(g){this.conditionStack.push(g)},"begin"),popState:x(function(){var g=this.conditionStack.length-1;return g>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(g){return g=this.conditionStack.length-1-Math.abs(g||0),g>=0?this.conditionStack[g]:"INITIAL"},"topState"),pushState:x(function(g){this.begin(g)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(g,m,U,y){switch(U){case 0:break;case 1:break;case 2:return 13;case 3:break;case 4:break;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/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]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}};return f})();u.lexer=d;function h(){this.yy={}}return x(h,"Parser"),h.prototype=u,u.Parser=h,new h})();BK.parser=BK;var Lbr=BK,EXe={};oD(EXe,{addEvent:()=>_Xe,addSection:()=>NXe,addTask:()=>PXe,addTaskOrg:()=>BXe,clear:()=>RXe,default:()=>Nbr,getCommonDb:()=>MXe,getDirection:()=>LXe,getSections:()=>OXe,getTasks:()=>DXe,setDirection:()=>IXe});var N4="",AXe=0,cse="LR",use=[],dO=[],O4=[],MXe=x(()=>WJ,"getCommonDb"),RXe=x(function(){use.length=0,dO.length=0,N4="",O4.length=0,cse="LR",Di()},"clear"),IXe=x(function(t){cse=t},"setDirection"),LXe=x(function(){return cse},"getDirection"),NXe=x(function(t){N4=t,use.push(t)},"addSection"),OXe=x(function(){return use},"getSections"),DXe=x(function(){let t=U2e();const e=100;let r=0;for(;!t&&r<e;)t=U2e(),r++;return dO.push(...O4),dO},"getTasks"),PXe=x(function(t,e,r){const n={id:AXe++,section:N4,type:N4,task:t,score:e||0,events:r?[r]:[]};O4.push(n)},"addTask"),_Xe=x(function(t){O4.find(r=>r.id===AXe-1).events.push(t)},"addEvent"),BXe=x(function(t){const e={section:N4,type:N4,description:t,task:t,classes:[]};dO.push(e)},"addTaskOrg"),U2e=x(function(){const t=x(function(r){return O4[r].processed},"compileTask");let e=!0;for(const[r,n]of O4.entries())t(r),e=e&&n.processed;return e},"compileTasks"),Nbr={clear:RXe,getCommonDb:MXe,getDirection:LXe,setDirection:IXe,addSection:NXe,getSections:OXe,getTasks:DXe,addTask:PXe,addTaskOrg:BXe,addEvent:_Xe},$Xe=0,mB=x(function(t,e){const r=t.append("rect");return r.attr("x",e.x),r.attr("y",e.y),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("width",e.width),r.attr("height",e.height),r.attr("rx",e.rx),r.attr("ry",e.ry),e.class!==void 0&&r.attr("class",e.class),r},"drawRect"),Obr=x(function(t,e){const n=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),i=t.append("g");i.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"),i.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 a(l){const u=Gv().startAngle(Math.PI/2).endAngle(3*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}x(a,"smile");function s(l){const u=Gv().startAngle(3*Math.PI/2).endAngle(5*(Math.PI/2)).innerRadius(7.5).outerRadius(6.8181818181818175);l.append("path").attr("class","mouth").attr("d",u).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}x(s,"sad");function o(l){l.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 x(o,"ambivalent"),e.score>3?a(i):e.score<3?s(i):o(i),n},"drawFace"),Dbr=x(function(t,e){const r=t.append("circle");return r.attr("cx",e.cx),r.attr("cy",e.cy),r.attr("class","actor-"+e.pos),r.attr("fill",e.fill),r.attr("stroke",e.stroke),r.attr("r",e.r),r.class!==void 0&&r.attr("class",r.class),e.title!==void 0&&r.append("title").text(e.title),r},"drawCircle"),FXe=x(function(t,e){const r=e.text.replace(/<br\s*\/?>/gi," "),n=t.append("text");n.attr("x",e.x),n.attr("y",e.y),n.attr("class","legend"),n.style("text-anchor",e.anchor),e.class!==void 0&&n.attr("class",e.class);const i=n.append("tspan");return i.attr("x",e.x+e.textMargin*2),i.text(r),n},"drawText"),Pbr=x(function(t,e){function r(i,a,s,o,l){return i+","+a+" "+(i+s)+","+a+" "+(i+s)+","+(a+o-l)+" "+(i+s-l*1.2)+","+(a+o)+" "+i+","+(a+o)}x(r,"genPoints");const n=t.append("polygon");n.attr("points",r(e.x,e.y,50,20,7)),n.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,FXe(t,e)},"drawLabel"),_br=x(function(t,e,r){const n=t.append("g"),i=dse();i.x=e.x,i.y=e.y,i.fill=e.fill,i.width=r.width,i.height=r.height,i.class="journey-section section-type-"+e.num,i.rx=3,i.ry=3,mB(n,i),zXe(r)(e.text,n,i.x,i.y,i.width,i.height,{class:"journey-section section-type-"+e.num},r,e.colour)},"drawSection"),$K=-1,Bbr=x(function(t,e,r,n){const i=e.x+r.width/2,a=t.append("g");$K++,a.append("line").attr("id",n+"-task"+$K).attr("x1",i).attr("y1",e.y).attr("x2",i).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),Obr(a,{cx:i,cy:300+(5-e.score)*30,score:e.score});const o=dse();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=r.width,o.height=r.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,mB(a,o),zXe(r)(e.task,a,o.x,o.y,o.width,o.height,{class:"task"},r,e.colour)},"drawTask"),$br=x(function(t,e){mB(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),Fbr=x(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),dse=x(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),zXe=(function(){function t(i,a,s,o,l,u,d,h){const f=a.append("text").attr("x",s+l/2).attr("y",o+u/2+5).style("font-color",h).style("text-anchor","middle").text(i);n(f,d)}x(t,"byText");function e(i,a,s,o,l,u,d,h,f){const{taskFontSize:p,taskFontFamily:g}=h,m=i.split(/<br\s*\/?>/gi);for(let U=0;U<m.length;U++){const y=U*p-p*(m.length-1)/2,b=a.append("text").attr("x",s+l/2).attr("y",o).attr("fill",f).style("text-anchor","middle").style("font-size",p).style("font-family",g);b.append("tspan").attr("x",s+l/2).attr("dy",y).text(m[U]),b.attr("y",o+u/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(b,d)}}x(e,"byTspan");function r(i,a,s,o,l,u,d,h){const f=a.append("switch"),g=f.append("foreignObject").attr("x",s).attr("y",o).attr("width",l).attr("height",u).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");g.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(i),e(i,f,s,o,l,u,d,h),n(g,d)}x(r,"byFo");function n(i,a){for(const s in a)s in a&&i.attr(s,a[s])}return x(n,"_setTextAttrs"),function(i){return i.textPlacement==="fo"?r:i.textPlacement==="old"?t:e}})(),zbr=x(function(t,e){$Xe=0,$K=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function hse(t,e){t.each(function(){var r=vt(this),n=r.text().split(/(\s+|<br>)/).reverse(),i,a=[],s=1.1,o=r.attr("y"),l=parseFloat(r.attr("dy")),u=r.text(null).append("tspan").attr("x",0).attr("y",o).attr("dy",l+"em");for(let d=0;d<n.length;d++)i=n[n.length-1-d],a.push(i),u.text(a.join(" ").trim()),(u.node().getComputedTextLength()>e||i==="<br>")&&(a.pop(),u.text(a.join(" ").trim()),i==="<br>"?a=[""]:a=[i],u=r.append("tspan").attr("x",0).attr("y",o).attr("dy",s+"em").text(i))})}x(hse,"wrap");var Hbr=x(function(t,e,r,n,i,a=!1){var y,b,v;const{theme:s,look:o}=n,l=s==null?void 0:s.includes("redux"),u=((y=n==null?void 0:n.themeVariables)==null?void 0:y.THEME_COLOR_LIMIT)??12,d=r%u-1,h=t.append("g");e.section=d,h.attr("class",(e.class?e.class+" ":"")+"timeline-node "+("section-"+d));const f=h.append("g"),p=h.append("g"),m=p.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(hse,e.width).node().getBBox(),U=(b=n.fontSize)!=null&&b.replace?n.fontSize.replace("px",""):n.fontSize;if(e.height=m.height+U*1.1*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,p.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),l&&p.attr("transform",`translate(${e.width/2}, ${a?e.padding/2+3:e.padding})`),Gbr(f,e,d,i,n),o==="neo"&&(h.attr("data-look","neo"),l)){const w=s.includes("dark"),T=((v=t.node())==null?void 0:v.ownerSVGElement)??t.node(),S=vt(T),C=S.attr("id")??"",k=C?`${C}-drop-shadow`:"drop-shadow";if(S.select(`#${k}`).empty()){const E=S.select("defs");(E.empty()?S.append("defs"):E).append("filter").attr("id",k).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",w?"0.2":"0.06").attr("flood-color",w?"#FFFFFF":"#000000")}}return e},"drawNode"),Vbr=x(function(t,e,r){var o;const n=t.append("g"),a=n.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(hse,e.width).node().getBBox(),s=(o=r.fontSize)!=null&&o.replace?r.fontSize.replace("px",""):r.fontSize;return n.remove(),a.height+s*1.1*.5+e.padding},"getVirtualNodeHeight"),Gbr=x(function(t,e,r,n,i){const{theme:a}=i,s=a!=null&&a.includes("redux")?0:5,o=5,l=s>0?`M0 ${e.height-o} v${-e.height+2*o} q0,-${s},${s},-${s} h${e.width-2*o} q${s},0,${s},${s} v${e.height-o} H0 Z`:`M0 ${e.height-o} v${-(e.height-o)} h${e.width} v${e.height} H0 Z`;t.append("path").attr("id",n+"-node-"+$Xe++).attr("class","node-bkg node-"+e.type).attr("d",l),a!=null&&a.includes("redux")||t.append("line").attr("class","node-line-"+r).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),bc={drawRect:mB,drawCircle:Dbr,drawSection:_br,drawText:FXe,drawLabel:Pbr,drawTask:Bbr,drawBackgroundRect:$br,getTextObj:Fbr,getNoteRect:dse,initGraphics:zbr,drawNode:Hbr,getVirtualNodeHeight:Vbr},Wbr=x(function(t,e,r,n){var L,_,D;const i=Ve(),{look:a,theme:s,themeVariables:o}=i,{useGradient:l,gradientStart:u,gradientStop:d}=o,h=((L=i.timeline)==null?void 0:L.leftMargin)??50;he.debug("timeline",n.db);const f=i.securityLevel;let p;f==="sandbox"&&(p=vt("#i"+e));const m=vt(f==="sandbox"?p.nodes()[0].contentDocument.body:"body").select("#"+e);m.append("g");const U=n.db.getTasks(),y=n.db.getCommonDb().getDiagramTitle();he.debug("task",U),bc.initGraphics(m,e);const b=n.db.getSections();he.debug("sections",b);let v=0,w=0,T=0,S=0,C=50+h,k=50;S=50;let E=0,A=!0;b.forEach(function(O){const B={number:E,descr:O,section:E,width:150,padding:20,maxHeight:v},F=bc.getVirtualNodeHeight(m,B,i);he.debug("sectionHeight before draw",F),v=Math.max(v,F+20)});let M=0,P=0;he.debug("tasks.length",U.length);for(const[O,B]of U.entries()){const F={number:O,descr:B,section:B.section,width:150,padding:20,maxHeight:w},z=bc.getVirtualNodeHeight(m,F,i);he.debug("taskHeight before draw",z),w=Math.max(w,z+20),M=Math.max(M,B.events.length);let $=0;for(const H of B.events){const V={descr:H,section:B.section,number:B.section,width:150,padding:20,maxHeight:50};$+=bc.getVirtualNodeHeight(m,V,i)}B.events.length>0&&($+=(B.events.length-1)*10),P=Math.max(P,$)}he.debug("maxSectionHeight before draw",v),he.debug("maxTaskHeight before draw",w),b&&b.length>0?b.forEach(O=>{const B=U.filter(H=>H.section===O),F={number:E,descr:O,section:E,width:200*Math.max(B.length,1)-50,padding:20,maxHeight:v};he.debug("sectionNode",F);const z=m.append("g"),$=bc.drawNode(z,F,E,i,e);he.debug("sectionNode output",$),z.attr("transform",`translate(${C}, ${S})`),k+=v+50,B.length>0&&y2e(m,B,E,C,k,w,i,M,P,v,!1,e),C+=200*Math.max(B.length,1),k=S,E++}):(A=!1,y2e(m,U,E,C,k,w,i,M,P,v,!0,e));const N=m.node().getBBox();if(he.debug("bounds",N),y&&m.append("text").text(y).attr("x",a==="neo"?N.x*2+h:N.width/2-h).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),T=A?v+w+150:w+100,m.append("g").attr("class","lineWrapper").append("line").attr("x1",h).attr("y1",T).attr("x2",N.width+3*h).attr("y2",T).attr("stroke-width",4).attr("stroke","black").attr("marker-end",`url(#${e}-arrowhead)`),a==="neo"&&l&&s!=="neutral"){const O=m.select("defs"),F=(O.empty()?m.append("defs"):O).append("linearGradient").attr("id",m.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");F.append("stop").attr("offset","0%").attr("stop-color",u).attr("stop-opacity",1),F.append("stop").attr("offset","100%").attr("stop-color",d).attr("stop-opacity",1)}Y4(void 0,m,((_=i.timeline)==null?void 0:_.padding)??50,((D=i.timeline)==null?void 0:D.useMaxWidth)??!1)},"draw"),y2e=x(function(t,e,r,n,i,a,s,o,l,u,d,h){var f;for(const p of e){const g={descr:p.task,section:r,number:r,width:150,padding:20,maxHeight:a};he.debug("taskNode",g);const m=t.append("g").attr("class","taskWrapper"),y=bc.drawNode(m,g,r,s,h).height;if(he.debug("taskHeight after draw",y),m.attr("transform",`translate(${n}, ${i})`),a=Math.max(a,y),p.events){const b=t.append("g").attr("class","lineWrapper");let v=a;i+=100,v=v+qbr(t,p.events,r,n,i,s,h),i-=100,b.append("line").attr("x1",n+190/2).attr("y1",i+a).attr("x2",n+190/2).attr("y2",i+a+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end",`url(#${h}-arrowhead)`).attr("stroke-dasharray","5,5")}n=n+200,d&&!((f=s.timeline)!=null&&f.disableMulticolor)&&r++}i=i-10},"drawTasks"),qbr=x(function(t,e,r,n,i,a,s){let o=0;const l=i;i=i+100;for(const u of e){const d={descr:u,section:r,number:r,width:150,padding:20,maxHeight:50};he.debug("eventNode",d);const h=t.append("g").attr("class","eventWrapper"),p=bc.drawNode(h,d,r,a,s,!0).height;o=o+p,h.attr("transform",`translate(${n}, ${i})`),i=i+10+p}return i=l,o},"drawEvents"),jbr={setConf:x(()=>{},"setConf"),draw:Wbr},UB=200,Qf=5,Ybr=UB+Qf*2,fse=UB+100,Xbr=fse+Qf*2,HXe=10,Kbr=0,b2e=20,VXe=20,v2e=30,GXe=50,Zbr=x(function(t,e,r,n){var L,_,D,O,B;const i=Ve(),a=((L=i.timeline)==null?void 0:L.leftMargin)??50;he.debug("timeline",n.db);const s=sl(e);s.append("g");const o=n.db.getTasks(),l=n.db.getCommonDb().getDiagramTitle();he.debug("task",o),bc.initGraphics(s);const u=n.db.getSections();he.debug("sections",u);let d=0,h=0;const f=50+a;let p=50;const g=p,m=f,U=Ybr+VXe,y=Xbr+GXe,b=m+U;let v=0;const w=u&&u.length>0,T=w?b:f+U,S=Math.max(50,U+y-Qf*2);u.forEach(function(F){const z={number:v,descr:F,section:v,width:S,padding:Qf,maxHeight:d},$=bc.getVirtualNodeHeight(s,z,i);he.debug("sectionHeight before draw",$),d=Math.max(d,$)});let C=0;he.debug("tasks.length",o.length);for(const[F,z]of o.entries()){const $={number:F,descr:z,section:z.section,width:UB,padding:Qf,maxHeight:h},H=bc.getVirtualNodeHeight(s,$,i);he.debug("taskHeight before draw",H),h=Math.max(h,H);let V=0;for(const G of z.events){const K={descr:G,section:z.section,number:z.section,width:fse,padding:Qf,maxHeight:50};V+=bc.getVirtualNodeHeight(s,K,i)}z.events.length>0&&(V+=(z.events.length-1)*HXe),C=Math.max(C,V)+Kbr}he.debug("maxSectionHeight before draw",d),he.debug("maxTaskHeight before draw",h);const E=Math.max(h,C)+v2e;w?u.forEach(F=>{const z=o.filter(Z=>Z.section===F),$={number:v,descr:F,section:v,width:S,padding:Qf,maxHeight:d};he.debug("sectionNode",$);const H=s.append("g"),V=bc.drawNode(H,$,v,i);he.debug("sectionNode output",V);const G=T-U;H.attr("transform",`translate(${G}, ${p})`);const K=p+V.height+b2e;z.length>0&&x2e(s,z,v,T,K,h,i,E,!1);const W=z.length,oe=V.height+b2e+E*Math.max(W,1)-(W>0?v2e*2:0);p+=oe,v++}):x2e(s,o,v,T,p,h,i,E,!0);let A=(_=s.node())==null?void 0:_.getBBox();if(!A)throw new Error("bbox not found");if(he.debug("bounds",A),l){if(s.append("text").text(l).attr("x",A.width/2-a).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),A=(D=s.node())==null?void 0:D.getBBox(),!A)throw new Error("bbox not found");he.debug("bounds after title",A)}const[M]=ap(i.fontSize),P=(M??16)*2,N=(M??16)*.5+20,I=s.append("g").attr("class","lineWrapper");I.append("line").attr("x1",T).attr("y1",g-P).attr("x2",T).attr("y2",A.y+A.height+N).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),I.lower(),Y4(void 0,s,((O=i.timeline)==null?void 0:O.padding)??50,((B=i.timeline)==null?void 0:B.useMaxWidth)??!1)},"draw"),x2e=x(function(t,e,r,n,i,a,s,o,l){var u;for(const d of e){const h={descr:d.task,section:r,number:r,width:UB,padding:Qf,maxHeight:a};he.debug("taskNode",h);const f=t.append("g").attr("class","taskWrapper"),p=bc.drawNode(f,h,r,s),g=p.height;he.debug("taskHeight after draw",g);const m=n-VXe-p.width;if(f.attr("transform",`translate(${m}, ${i})`),a=Math.max(a,g),d.events&&d.events.length>0){const U=i,y=n+GXe;Jbr(t,d.events,r,n,y,U,s)}i=i+o,l&&!((u=s.timeline)!=null&&u.disableMulticolor)&&r++}},"drawTasks"),Jbr=x(function(t,e,r,n,i,a,s){let o=a;for(const l of e){const u={descr:l,section:r,number:r,width:fse,padding:Qf,maxHeight:0};he.debug("eventNode",u);const d=t.append("g").attr("class","eventWrapper"),f=bc.drawNode(d,u,r,s).height;d.attr("transform",`translate(${i}, ${o})`);const p=t.append("g").attr("class","lineWrapper"),g=o+f/2;p.append("line").attr("x1",n).attr("y1",g).attr("x2",i).attr("y2",g).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),o=o+f+HXe}return o-a},"drawEvents"),Qbr={setConf:x(()=>{},"setConf"),draw:Zbr},e6r=x(t=>{var o;const{theme:e}=xr(),r=e==null?void 0:e.includes("dark"),n=e==null?void 0:e.includes("color"),i=((o=t.svgId)==null?void 0:o.replace(/^#/,""))??"",a=i?`url(#${i}-drop-shadow)`:t.dropShadow??"none";let s="";for(let l=0;l<t.THEME_COLOR_LIMIT;l++){const u=`${17-3*l}`,d=n?t.borderColorArray[l]:t.mainBkg,h=n?t.borderColorArray[l]:t.nodeBorder;s+=`
.section-${l-1} rect,
.section-${l-1} path,
.section-${l-1} circle {
fill: ${r&&n?t.mainBkg:d};
stroke: ${h};
stroke-width: ${t.strokeWidth};
filter: ${a};
}
.section-${l-1} text {
fill: ${t.nodeBorder};
font-weight: ${t.fontWeight}
}
.node-icon-${l-1} {
font-size: 40px;
color: ${t["cScaleLabel"+l]};
}
.section-edge-${l-1} {
stroke: ${t["cScale"+l]};
}
.edge-depth-${l-1} {
stroke-width: ${u};
}
.section-${l-1} line {
stroke: ${t["cScaleInv"+l]};
stroke-width: 3;
}
.lineWrapper line {
stroke: ${t.nodeBorder};
stroke-width:${t.strokeWidth}
}
.disabled,
.disabled circle,
.disabled text {
fill: ${t.tertiaryColor??"lightgray"};
}
.disabled text {
fill: ${t.clusterBorder??"#efefef"};
}
`}return s},"genReduxSections"),t6r=x(t=>{let e="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++)t["lineColor"+r]=t["lineColor"+r]||t["cScaleInv"+r],Kl(t["lineColor"+r])?t["lineColor"+r]=lt(t["lineColor"+r],20):t["lineColor"+r]=ct(t["lineColor"+r],20);for(let r=0;r<t.THEME_COLOR_LIMIT;r++){const n=""+(17-3*r);e+=`
.section-${r-1} rect, .section-${r-1} path, .section-${r-1} circle, .section-${r-1} path {
fill: ${t["cScale"+r]};
}
.section-${r-1} text {
fill: ${t["cScaleLabel"+r]};
}
.node-icon-${r-1} {
font-size: 40px;
color: ${t["cScaleLabel"+r]};
}
.section-edge-${r-1}{
stroke: ${t["cScale"+r]};
}
.edge-depth-${r-1}{
stroke-width: ${n};
}
.section-${r-1} line {
stroke: ${t["cScaleInv"+r]} ;
stroke-width: 3;
}
.lineWrapper line{
stroke: ${t["cScaleLabel"+r]} ;
}
.disabled, .disabled circle, .disabled text {
fill: ${t.tertiaryColor??"lightgray"};
}
.disabled text {
fill: ${t.clusterBorder??"#efefef"};
}
`}return e},"genSections"),r6r=x(t=>{var s;const{theme:e}=xr(),r=e==null?void 0:e.includes("redux"),n=e==="neutral",i=((s=t.svgId)==null?void 0:s.replace(/^#/,""))??"";let a="";if(t.useGradient&&i&&t.THEME_COLOR_LIMIT&&!n)for(let o=0;o<t.THEME_COLOR_LIMIT;o++)a+=`
.section-${o-1}[data-look="neo"] rect,
.section-${o-1}[data-look="neo"] path,
.section-${o-1}[data-look="neo"] circle {
fill: ${t.mainBkg};
stroke: url(#${i}-gradient);
stroke-width: 2;
}
.section-${o-1}[data-look="neo"] line {
stroke: url(#${i}-gradient);
stroke-width: 2;
}`;return`
.edge {
stroke-width: 3;
}
${r?e6r(t):t6r(t)}
${a}
.section-root rect, .section-root path, .section-root circle {
fill: ${t.git0};
}
.section-root text {
fill: ${t.gitBranchLabel0};
}
.icon-container {
height:100%;
display: flex;
justify-content: center;
align-items: center;
}
.edge {
fill: none;
}
.eventWrapper {
filter: brightness(120%);
}
`},"getStyles"),n6r=r6r,i6r={setConf:x(()=>{},"setConf"),draw:x((t,e,r,n)=>{var a,s;return(((s=(a=n==null?void 0:n.db)==null?void 0:a.getDirection)==null?void 0:s.call(a))??"LR")==="TD"?Qbr.draw(t,e,r,n):jbr.draw(t,e,r,n)},"draw")},a6r={db:EXe,renderer:i6r,parser:Lbr,styles:n6r};const s6r=Object.freeze(Object.defineProperty({__proto__:null,diagram:a6r},Symbol.toStringTag,{value:"Module"})),xo=[];for(let t=0;t<256;++t)xo.push((t+256).toString(16).slice(1));function o6r(t,e=0){return(xo[t[e+0]]+xo[t[e+1]]+xo[t[e+2]]+xo[t[e+3]]+"-"+xo[t[e+4]]+xo[t[e+5]]+"-"+xo[t[e+6]]+xo[t[e+7]]+"-"+xo[t[e+8]]+xo[t[e+9]]+"-"+xo[t[e+10]]+xo[t[e+11]]+xo[t[e+12]]+xo[t[e+13]]+xo[t[e+14]]+xo[t[e+15]]).toLowerCase()}const l6r=new Uint8Array(16);function c6r(){return crypto.getRandomValues(l6r)}function u6r(t,e,r){return crypto.randomUUID?crypto.randomUUID():d6r(t)}function d6r(t,e,r){var i;t=t||{};const n=t.random??((i=t.rng)==null?void 0:i.call(t))??c6r();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,o6r(n)}var FK=(function(){var t=x(function(w,T,S,C){for(S=S||{},C=w.length;C--;S[w[C]]=T);return S},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],d=[1,24],h=[1,25],f=[6,7,11],p=[1,6,13,15,16,19,22],g=[1,33],m=[1,34],U=[1,6,7,11,13,15,16,19,22],y={trace:x(function(){},"trace"),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:x(function(T,S,C,k,E,A,M){var P=A.length-1;switch(E){case 6:case 7:return k;case 8:k.getLogger().trace("Stop NL ");break;case 9:k.getLogger().trace("Stop EOF ");break;case 11:k.getLogger().trace("Stop NL2 ");break;case 12:k.getLogger().trace("Stop EOF2 ");break;case 15:k.getLogger().info("Node: ",A[P].id),k.addNode(A[P-1].length,A[P].id,A[P].descr,A[P].type);break;case 16:k.getLogger().trace("Icon: ",A[P]),k.decorateNode({icon:A[P]});break;case 17:case 21:k.decorateNode({class:A[P]});break;case 18:k.getLogger().trace("SPACELIST");break;case 19:k.getLogger().trace("Node: ",A[P].id),k.addNode(0,A[P].id,A[P].descr,A[P].type);break;case 20:k.decorateNode({icon:A[P]});break;case 25:k.getLogger().trace("node found ..",A[P-2]),this.$={id:A[P-1],descr:A[P-1],type:k.getType(A[P-2],A[P])};break;case 26:this.$={id:A[P],descr:A[P],type:k.nodeType.DEFAULT};break;case 27:k.getLogger().trace("node found ..",A[P-3]),this.$={id:A[P-3],descr:A[P-1],type:k.getType(A[P-2],A[P])};break}},"anonymous"),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:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:r,9:22,12:11,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},{6:u,7:d,10:23,11:h},t(f,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:s,22:o}),t(f,[2,18]),t(f,[2,19]),t(f,[2,20]),t(f,[2,21]),t(f,[2,23]),t(f,[2,24]),t(f,[2,26],{19:[1,30]}),{20:[1,31]},{6:u,7:d,10:32,11:h},{1:[2,7],6:r,12:21,13:n,14:14,15:i,16:a,17:17,18:18,19:s,22:o},t(p,[2,14],{7:g,11:m}),t(U,[2,8]),t(U,[2,9]),t(U,[2,10]),t(f,[2,15]),t(f,[2,16]),t(f,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:g,11:m}),t(U,[2,11]),t(U,[2,12]),{21:[1,37]},t(f,[2,25]),t(f,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:x(function(T,S){if(S.recoverable)this.trace(T);else{var C=new Error(T);throw C.hash=S,C}},"parseError"),parse:x(function(T){var S=this,C=[0],k=[],E=[null],A=[],M=this.table,P="",N=0,I=0,L=2,_=1,D=A.slice.call(arguments,1),O=Object.create(this.lexer),B={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(B.yy[F]=this.yy[F]);O.setInput(T,B.yy),B.yy.lexer=O,B.yy.parser=this,typeof O.yylloc>"u"&&(O.yylloc={});var z=O.yylloc;A.push(z);var $=O.options&&O.options.ranges;typeof B.yy.parseError=="function"?this.parseError=B.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function H(Re){C.length=C.length-2*Re,E.length=E.length-Re,A.length=A.length-Re}x(H,"popStack");function V(){var Re;return Re=k.pop()||O.lex()||_,typeof Re!="number"&&(Re instanceof Array&&(k=Re,Re=k.pop()),Re=S.symbols_[Re]||Re),Re}x(V,"lex");for(var G,K,W,oe,Z={},J,ne,ie,me;;){if(K=C[C.length-1],this.defaultActions[K]?W=this.defaultActions[K]:((G===null||typeof G>"u")&&(G=V()),W=M[K]&&M[K][G]),typeof W>"u"||!W.length||!W[0]){var te="";me=[];for(J in M[K])this.terminals_[J]&&J>L&&me.push("'"+this.terminals_[J]+"'");O.showPosition?te="Parse error on line "+(N+1)+`:
`+O.showPosition()+`
Expecting `+me.join(", ")+", got '"+(this.terminals_[G]||G)+"'":te="Parse error on line "+(N+1)+": Unexpected "+(G==_?"end of input":"'"+(this.terminals_[G]||G)+"'"),this.parseError(te,{text:O.match,token:this.terminals_[G]||G,line:O.yylineno,loc:z,expected:me})}if(W[0]instanceof Array&&W.length>1)throw new Error("Parse Error: multiple actions possible at state: "+K+", token: "+G);switch(W[0]){case 1:C.push(G),E.push(O.yytext),A.push(O.yylloc),C.push(W[1]),G=null,I=O.yyleng,P=O.yytext,N=O.yylineno,z=O.yylloc;break;case 2:if(ne=this.productions_[W[1]][1],Z.$=E[E.length-ne],Z._$={first_line:A[A.length-(ne||1)].first_line,last_line:A[A.length-1].last_line,first_column:A[A.length-(ne||1)].first_column,last_column:A[A.length-1].last_column},$&&(Z._$.range=[A[A.length-(ne||1)].range[0],A[A.length-1].range[1]]),oe=this.performAction.apply(Z,[P,I,N,B.yy,W[1],E,A].concat(D)),typeof oe<"u")return oe;ne&&(C=C.slice(0,-1*ne*2),E=E.slice(0,-1*ne),A=A.slice(0,-1*ne)),C.push(this.productions_[W[1]][0]),E.push(Z.$),A.push(Z._$),ie=M[C[C.length-2]][C[C.length-1]],C.push(ie);break;case 3:return!0}}return!0},"parse")},b=(function(){var w={EOF:1,parseError:x(function(S,C){if(this.yy.parser)this.yy.parser.parseError(S,C);else throw new Error(S)},"parseError"),setInput:x(function(T,S){return this.yy=S||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},"setInput"),input:x(function(){var T=this._input[0];this.yytext+=T,this.yyleng++,this.offset++,this.match+=T,this.matched+=T;var S=T.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),T},"input"),unput:x(function(T){var S=T.length,C=T.split(/(?:\r\n?|\n)/g);this._input=T+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-S),this.offset-=S;var k=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===k.length?this.yylloc.first_column:0)+k[k.length-C.length].length-C[0].length:this.yylloc.first_column-S},this.options.ranges&&(this.yylloc.range=[E[0],E[0]+this.yyleng-S]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(T){this.unput(this.match.slice(T))},"less"),pastInput:x(function(){var T=this.matched.substr(0,this.matched.length-this.match.length);return(T.length>20?"...":"")+T.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(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,"")},"upcomingInput"),showPosition:x(function(){var T=this.pastInput(),S=new Array(T.length+1).join("-");return T+this.upcomingInput()+`
`+S+"^"},"showPosition"),test_match:x(function(T,S){var C,k,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))),k=T[0].match(/(?:\r\n?|\n).*/g),k&&(this.yylineno+=k.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:k?k[k.length-1].length-k[k.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],C=this.performAction.call(this,this.yy,this,S,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),C)return C;if(this._backtrack){for(var A in E)this[A]=E[A];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var T,S,C,k;this._more||(this.yytext="",this.match="");for(var E=this._currentRules(),A=0;A<E.length;A++)if(C=this._input.match(this.rules[E[A]]),C&&(!S||C[0].length>S[0].length)){if(S=C,k=A,this.options.backtrack_lexer){if(T=this.test_match(C,E[A]),T!==!1)return T;if(this._backtrack){S=!1;continue}else return!1}else if(!this.options.flex)break}return S?(T=this.test_match(S,E[k]),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})},"next"),lex:x(function(){var S=this.next();return S||this.lex()},"lex"),begin:x(function(S){this.conditionStack.push(S)},"begin"),popState:x(function(){var S=this.conditionStack.length-1;return S>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(S){return S=this.conditionStack.length-1-Math.abs(S||0),S>=0?this.conditionStack[S]:"INITIAL"},"topState"),pushState:x(function(S){this.begin(S)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(S,C,k,E){switch(k){case 0:return S.getLogger().trace("Found comment",C.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:",C.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 ...",C.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:",C.yytext),20;case 36:return S.getLogger().trace("Long description:",C.yytext),20}},"anonymous"),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 w})();y.lexer=b;function v(){this.yy={}}return x(v,"Parser"),v.prototype=y,y.Parser=v,new v})();FK.parser=FK;var h6r=FK,f6r=12,Bf={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},av,p6r=(av=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=Bf,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(e){for(let r=this.nodes.length-1;r>=0;r--)if(this.nodes[r].level<e)return this.nodes[r];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(e,r,n,i){var d,h;he.info("addNode",e,r,n,i);let a=!1;this.nodes.length===0?(this.baseLevel=e,e=0,a=!0):this.baseLevel!==void 0&&(e=e-this.baseLevel,a=!1);const s=Ve();let o=((d=s.mindmap)==null?void 0:d.padding)??An.mindmap.padding;switch(i){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2;break}const l={id:this.count++,nodeId:On(r,s),level:e,descr:On(n,s),type:i,children:[],width:((h=s.mindmap)==null?void 0:h.maxNodeWidth)??An.mindmap.maxNodeWidth,padding:o,isRoot:a},u=this.getParent(e);if(u)u.children.push(l),this.nodes.push(l);else if(a)this.nodes.push(l);else throw new Error(`There can be only one root. No parent could be found for ("${l.descr}")`)}getType(e,r){switch(he.debug("In get type",e,r),e){case"[":return this.nodeType.RECT;case"(":return r===")"?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(e,r){this.elements[e]=r}getElementById(e){return this.elements[e]}decorateNode(e){if(!e)return;const r=Ve(),n=this.nodes[this.nodes.length-1];e.icon&&(n.icon=On(e.icon,r)),e.class&&(n.class=On(e.class,r))}type2Str(e){switch(e){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(e,r){if(e.level===0?e.section=void 0:e.section=r,e.children)for(const[n,i]of e.children.entries()){const a=e.level===0?n%(f6r-1):r;this.assignSections(i,a)}}flattenNodes(e,r){const n=Ve(),i=["mindmap-node"];e.isRoot===!0?i.push("section-root","section--1"):e.section!==void 0&&i.push(`section-${e.section}`),e.class&&i.push(e.class);const a=i.join(" "),s=x(l=>{var h;const d=(((h=n.theme)==null?void 0:h.toLowerCase())??"").includes("redux");switch(l){case Bf.CIRCLE:return"mindmapCircle";case Bf.RECT:return"rect";case Bf.ROUNDED_RECT:return"rounded";case Bf.CLOUD:return"cloud";case Bf.BANG:return"bang";case Bf.HEXAGON:return"hexagon";case Bf.DEFAULT:return d?"rounded":"defaultMindmapNode";case Bf.NO_BORDER:default:return"rect"}},"getShapeFromType"),o={id:e.id.toString(),domId:"node_"+e.id.toString(),label:e.descr,labelType:"markdown",isGroup:!1,shape:s(e.type),width:e.width,height:e.height??0,padding:e.padding,cssClasses:a,cssStyles:[],look:n.look,icon:e.icon,x:e.x,y:e.y,level:e.level,nodeId:e.nodeId,type:e.type,section:e.section};if(r.push(o),e.children)for(const l of e.children)this.flattenNodes(l,r)}generateEdges(e,r){if(!e.children)return;const n=Ve();for(const i of e.children){let a="edge";i.section!==void 0&&(a+=` section-edge-${i.section}`);const s=e.level+1;a+=` edge-depth-${s}`;const o={id:`edge_${e.id}_${i.id}`,start:e.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:n.look,classes:a,depth:e.level,section:i.section};r.push(o),this.generateEdges(i,r)}}getData(){const e=this.getMindmap(),r=Ve(),i=A3e().layout!==void 0,a=r;if(i||(a.layout="cose-bilkent"),!e)return{nodes:[],edges:[],config:a};he.debug("getData: mindmapRoot",e,r),this.assignSections(e);const s=[],o=[];this.flattenNodes(e,s),this.generateEdges(e,o),he.debug(`getData: processed ${s.length} nodes and ${o.length} edges`);const l=new Map;for(const u of s)l.set(u.id,{shape:u.shape,width:u.width,height:u.height,padding:u.padding});return{nodes:s,edges:o,config:a,rootNode:e,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(l),type:"mindmap",diagramId:"mindmap-"+u6r()}}getLogger(){return he}},x(av,"MindmapDB"),av),g6r=x(async(t,e,r,n)=>{var f,p;he.debug(`Rendering mindmap diagram
`+t);const i=n.db,a=i.getData(),s=y3(e,a.config.securityLevel);if(a.type=n.type,a.layoutAlgorithm=fS(a.config.layout,{fallback:"cose-bilkent"}),a.diagramId=e,!i.getMindmap())return;a.nodes.forEach(g=>{g.shape==="rounded"?(g.radius=15,g.taper=15,g.stroke="none",g.width=0,g.padding=15):g.shape==="circle"?g.padding=10:g.shape==="rect"?(g.width=0,g.padding=10):g.shape==="hexagon"&&(g.width=0,g.height=0)}),await J4(a,s);const{themeVariables:l}=xr(),{useGradient:u,gradientStart:d,gradientStop:h}=l;if(u&&d&&h){const g=s.attr("id"),m=s.append("defs").append("linearGradient").attr("id",`${g}-gradient`).attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");m.append("stop").attr("offset","0%").attr("stop-color",d).attr("stop-opacity",1),m.append("stop").attr("offset","100%").attr("stop-color",h).attr("stop-opacity",1)}_5(s,((f=a.config.mindmap)==null?void 0:f.padding)??An.mindmap.padding,"mindmapDiagram",((p=a.config.mindmap)==null?void 0:p.useMaxWidth)??An.mindmap.useMaxWidth)},"draw"),m6r={draw:g6r},U6r=x(t=>{const{theme:e,look:r}=t;let n="";for(let i=0;i<t.THEME_COLOR_LIMIT;i++)t["lineColor"+i]=t["lineColor"+i]||t["cScaleInv"+i],Kl(t["lineColor"+i])?t["lineColor"+i]=lt(t["lineColor"+i],20):t["lineColor"+i]=ct(t["lineColor"+i],20);for(let i=0;i<t.THEME_COLOR_LIMIT;i++){const a=""+(r==="neo"?Math.max(10-(i-1)*2,2):17-3*i);n+=`
.section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {
fill: ${t["cScale"+i]};
}
.section-${i-1} text {
fill: ${t["cScaleLabel"+i]};
}
.section-${i-1} span {
color: ${t["cScaleLabel"+i]};
}
.node-icon-${i-1} {
font-size: 40px;
color: ${t["cScaleLabel"+i]};
}
.section-edge-${i-1}{
stroke: ${t["cScale"+i]};
}
.edge-depth-${i-1}{
stroke-width: ${a};
}
.section-${i-1} line {
stroke: ${t["cScaleInv"+i]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
[data-look="neo"].mindmap-node.section-${i-1} rect, [data-look="neo"].mindmap-node.section-${i-1} path, [data-look="neo"].mindmap-node.section-${i-1} circle, [data-look="neo"].mindmap-node.section-${i-1} polygon {
fill: ${e==="redux"||e==="redux-dark"||e==="neutral"?t.mainBkg:t["cScale"+i]};
stroke: ${e==="redux"||e==="redux-dark"?t.nodeBorder:t["cScale"+i]};
stroke-width: ${t.strokeWidth??2}px;
}
[data-look="neo"].section-edge-${i-1}{
stroke: ${e!=null&&e.includes("redux")||e==="neo-dark"?t.nodeBorder:t["cScale"+i]};
}
[data-look="neo"].mindmap-node.section-${i-1} text {
fill: ${e==="redux"||e==="redux-dark"?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:i)]};
}
`}return n},"genSections"),y6r=x((t,e,r)=>{let n="";for(let i=0;i<t;i++)n+=`
[data-look="neo"].mindmap-node.section-${i-1} rect, [data-look="neo"].mindmap-node.section-${i-1} path, [data-look="neo"].mindmap-node.section-${i-1} circle, [data-look="neo"].mindmap-node.section-${i-1} polygon {
stroke: url(${e}-gradient);
fill: ${r};
}
.section-${i-1} line {
stroke-width: 0;
}`;return n},"genGradient"),b6r=x(t=>{const{theme:e}=t,r=t.svgId,n=t.dropShadow?t.dropShadow.replace("url(#drop-shadow)",`url(${r}-drop-shadow)`):"none";return`
.edge {
stroke-width: 3;
}
${U6r(t)}
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
fill: ${t.git0};
}
.section-root text {
fill: ${t.gitBranchLabel0};
}
.section-root span {
color: ${e!=null&&e.includes("redux")?t.nodeBorder: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;
}
[data-look="neo"].mindmap-node {
filter: ${n};
}
[data-look="neo"].mindmap-node.section-root rect, [data-look="neo"].mindmap-node.section-root path, [data-look="neo"].mindmap-node.section-root circle, [data-look="neo"].mindmap-node.section-root polygon {
fill: ${e!=null&&e.includes("redux")?t.mainBkg:t.git0};
}
[data-look="neo"].mindmap-node.section-root .text-inner-tspan {
fill: ${e!=null&&e.includes("redux")?t.nodeBorder:t["cScaleLabel"+(e==="neutral"?1:0)]};
}
${t.useGradient&&r&&t.mainBkg?y6r(t.THEME_COLOR_LIMIT,r,t.mainBkg):""}
`},"getStyles"),v6r=b6r,x6r={get db(){return new p6r},renderer:m6r,parser:h6r,styles:v6r};const w6r=Object.freeze(Object.defineProperty({__proto__:null,diagram:x6r},Symbol.toStringTag,{value:"Module"}));var zK=(function(){var t=x(function(C,k,E,A){for(E=E||{},A=C.length;A--;E[C[A]]=k);return E},"o"),e=[1,4],r=[1,13],n=[1,12],i=[1,15],a=[1,16],s=[1,20],o=[1,19],l=[6,7,8],u=[1,26],d=[1,24],h=[1,25],f=[6,7,11],p=[1,31],g=[6,7,11,24],m=[1,6,13,16,17,20,23],U=[1,35],y=[1,36],b=[1,6,7,11,13,16,17,20,23],v=[1,38],w={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},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,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:x(function(k,E,A,M,P,N,I){var L=N.length-1;switch(P){case 6:case 7:return M;case 8:M.getLogger().trace("Stop NL ");break;case 9:M.getLogger().trace("Stop EOF ");break;case 11:M.getLogger().trace("Stop NL2 ");break;case 12:M.getLogger().trace("Stop EOF2 ");break;case 15:M.getLogger().info("Node: ",N[L-1].id),M.addNode(N[L-2].length,N[L-1].id,N[L-1].descr,N[L-1].type,N[L]);break;case 16:M.getLogger().info("Node: ",N[L].id),M.addNode(N[L-1].length,N[L].id,N[L].descr,N[L].type);break;case 17:M.getLogger().trace("Icon: ",N[L]),M.decorateNode({icon:N[L]});break;case 18:case 23:M.decorateNode({class:N[L]});break;case 19:M.getLogger().trace("SPACELIST");break;case 20:M.getLogger().trace("Node: ",N[L-1].id),M.addNode(0,N[L-1].id,N[L-1].descr,N[L-1].type,N[L]);break;case 21:M.getLogger().trace("Node: ",N[L].id),M.addNode(0,N[L].id,N[L].descr,N[L].type);break;case 22:M.decorateNode({icon:N[L]});break;case 27:M.getLogger().trace("node found ..",N[L-2]),this.$={id:N[L-1],descr:N[L-1],type:M.getType(N[L-2],N[L])};break;case 28:this.$={id:N[L],descr:N[L],type:0};break;case 29:M.getLogger().trace("node found ..",N[L-3]),this.$={id:N[L-3],descr:N[L-1],type:M.getType(N[L-2],N[L])};break;case 30:this.$=N[L-1]+N[L];break;case 31:this.$=N[L];break}},"anonymous"),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:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:r,9:22,12:11,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},{6:u,7:d,10:23,11:h},t(f,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:s,23:o}),t(f,[2,19]),t(f,[2,21],{15:30,24:p}),t(f,[2,22]),t(f,[2,23]),t(g,[2,25]),t(g,[2,26]),t(g,[2,28],{20:[1,32]}),{21:[1,33]},{6:u,7:d,10:34,11:h},{1:[2,7],6:r,12:21,13:n,14:14,16:i,17:a,18:17,19:18,20:s,23:o},t(m,[2,14],{7:U,11:y}),t(b,[2,8]),t(b,[2,9]),t(b,[2,10]),t(f,[2,16],{15:37,24:p}),t(f,[2,17]),t(f,[2,18]),t(f,[2,20],{24:v}),t(g,[2,31]),{21:[1,39]},{22:[1,40]},t(m,[2,13],{7:U,11:y}),t(b,[2,11]),t(b,[2,12]),t(f,[2,15],{24:v}),t(g,[2,30]),{22:[1,41]},t(g,[2,27]),t(g,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:x(function(k,E){if(E.recoverable)this.trace(k);else{var A=new Error(k);throw A.hash=E,A}},"parseError"),parse:x(function(k){var E=this,A=[0],M=[],P=[null],N=[],I=this.table,L="",_=0,D=0,O=2,B=1,F=N.slice.call(arguments,1),z=Object.create(this.lexer),$={yy:{}};for(var H in this.yy)Object.prototype.hasOwnProperty.call(this.yy,H)&&($.yy[H]=this.yy[H]);z.setInput(k,$.yy),$.yy.lexer=z,$.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});var V=z.yylloc;N.push(V);var G=z.options&&z.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function K(ce){A.length=A.length-2*ce,P.length=P.length-ce,N.length=N.length-ce}x(K,"popStack");function W(){var ce;return ce=M.pop()||z.lex()||B,typeof ce!="number"&&(ce instanceof Array&&(M=ce,ce=M.pop()),ce=E.symbols_[ce]||ce),ce}x(W,"lex");for(var oe,Z,J,ne,ie={},me,te,Re,_e;;){if(Z=A[A.length-1],this.defaultActions[Z]?J=this.defaultActions[Z]:((oe===null||typeof oe>"u")&&(oe=W()),J=I[Z]&&I[Z][oe]),typeof J>"u"||!J.length||!J[0]){var He="";_e=[];for(me in I[Z])this.terminals_[me]&&me>O&&_e.push("'"+this.terminals_[me]+"'");z.showPosition?He="Parse error on line "+(_+1)+`:
`+z.showPosition()+`
Expecting `+_e.join(", ")+", got '"+(this.terminals_[oe]||oe)+"'":He="Parse error on line "+(_+1)+": Unexpected "+(oe==B?"end of input":"'"+(this.terminals_[oe]||oe)+"'"),this.parseError(He,{text:z.match,token:this.terminals_[oe]||oe,line:z.yylineno,loc:V,expected:_e})}if(J[0]instanceof Array&&J.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Z+", token: "+oe);switch(J[0]){case 1:A.push(oe),P.push(z.yytext),N.push(z.yylloc),A.push(J[1]),oe=null,D=z.yyleng,L=z.yytext,_=z.yylineno,V=z.yylloc;break;case 2:if(te=this.productions_[J[1]][1],ie.$=P[P.length-te],ie._$={first_line:N[N.length-(te||1)].first_line,last_line:N[N.length-1].last_line,first_column:N[N.length-(te||1)].first_column,last_column:N[N.length-1].last_column},G&&(ie._$.range=[N[N.length-(te||1)].range[0],N[N.length-1].range[1]]),ne=this.performAction.apply(ie,[L,D,_,$.yy,J[1],P,N].concat(F)),typeof ne<"u")return ne;te&&(A=A.slice(0,-1*te*2),P=P.slice(0,-1*te),N=N.slice(0,-1*te)),A.push(this.productions_[J[1]][0]),P.push(ie.$),N.push(ie._$),Re=I[A[A.length-2]][A[A.length-1]],A.push(Re);break;case 3:return!0}}return!0},"parse")},T=(function(){var C={EOF:1,parseError:x(function(E,A){if(this.yy.parser)this.yy.parser.parseError(E,A);else throw new Error(E)},"parseError"),setInput:x(function(k,E){return this.yy=E||this.yy||{},this._input=k,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},"setInput"),input:x(function(){var k=this._input[0];this.yytext+=k,this.yyleng++,this.offset++,this.match+=k,this.matched+=k;var E=k.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),k},"input"),unput:x(function(k){var E=k.length,A=k.split(/(?:\r\n?|\n)/g);this._input=k+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-E),this.offset-=E;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),A.length-1&&(this.yylineno-=A.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:A?(A.length===M.length?this.yylloc.first_column:0)+M[M.length-A.length].length-A[0].length:this.yylloc.first_column-E},this.options.ranges&&(this.yylloc.range=[P[0],P[0]+this.yyleng-E]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(k){this.unput(this.match.slice(k))},"less"),pastInput:x(function(){var k=this.matched.substr(0,this.matched.length-this.match.length);return(k.length>20?"...":"")+k.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var k=this.match;return k.length<20&&(k+=this._input.substr(0,20-k.length)),(k.substr(0,20)+(k.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var k=this.pastInput(),E=new Array(k.length+1).join("-");return k+this.upcomingInput()+`
`+E+"^"},"showPosition"),test_match:x(function(k,E){var A,M,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))),M=k[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+k[0].length},this.yytext+=k[0],this.match+=k[0],this.matches=k,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(k[0].length),this.matched+=k[0],A=this.performAction.call(this,this.yy,this,E,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),A)return A;if(this._backtrack){for(var N in P)this[N]=P[N];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var k,E,A,M;this._more||(this.yytext="",this.match="");for(var P=this._currentRules(),N=0;N<P.length;N++)if(A=this._input.match(this.rules[P[N]]),A&&(!E||A[0].length>E[0].length)){if(E=A,M=N,this.options.backtrack_lexer){if(k=this.test_match(A,P[N]),k!==!1)return k;if(this._backtrack){E=!1;continue}else return!1}else if(!this.options.flex)break}return E?(k=this.test_match(E,P[M]),k!==!1?k:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var E=this.next();return E||this.lex()},"lex"),begin:x(function(E){this.conditionStack.push(E)},"begin"),popState:x(function(){var E=this.conditionStack.length-1;return E>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(E){return E=this.conditionStack.length-1-Math.abs(E||0),E>=0?this.conditionStack[E]:"INITIAL"},"topState"),pushState:x(function(E){this.begin(E)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(E,A,M,P){switch(M){case 0:return this.pushState("shapeData"),A.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const N=/\n\s*/g;return A.yytext=A.yytext.replace(N,"<br/>"),24;case 4:return 24;case 5:this.popState();break;case 6:return E.getLogger().trace("Found comment",A.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 10:this.popState();break;case 11:E.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return E.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:E.getLogger().trace("end icon"),this.popState();break;case 16:return E.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return E.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return E.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return E.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:return this.begin("NODE"),20;case 21:return this.begin("NODE"),20;case 22:return this.begin("NODE"),20;case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 29:this.popState();break;case 30:E.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return E.getLogger().trace("description:",A.yytext),"NODE_DESCR";case 32:this.popState();break;case 33:return this.popState(),E.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),E.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),E.getLogger().trace("node end ...",A.yytext),"NODE_DEND";case 36:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";case 37:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";case 38:return this.popState(),E.getLogger().trace("node end (-"),"NODE_DEND";case 39:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";case 40:return this.popState(),E.getLogger().trace("node end (("),"NODE_DEND";case 41:return E.getLogger().trace("Long description:",A.yytext),21;case 42:return E.getLogger().trace("Long description:",A.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\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:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}};return C})();w.lexer=T;function S(){this.yy={}}return x(S,"Parser"),S.prototype=w,w.Parser=S,new S})();zK.parser=zK;var T6r=zK,Eu=[],pse=[],HK=0,gse={},C6r=x(()=>{Eu=[],pse=[],HK=0,gse={}},"clear"),S6r=x(t=>{if(Eu.length===0)return null;const e=Eu[0].level;let r=null;for(let n=Eu.length-1;n>=0;n--)if(Eu[n].level===e&&!r&&(r=Eu[n]),Eu[n].level<e)throw new Error('Items without section detected, found section ("'+Eu[n].label+'")');return t===(r==null?void 0:r.level)?null:r},"getSection"),WXe=x(function(){return pse},"getSections"),k6r=x(function(){const t=[],e=[],r=WXe(),n=Ve();for(const i of r){const a={id:i.id,label:On(i.label??"",n),labelType:"markdown",isGroup:!0,ticket:i.ticket,shape:"kanbanSection",level:i.level,look:n.look};e.push(a);const s=Eu.filter(o=>o.parentId===i.id);for(const o of s){const l={id:o.id,parentId:i.id,label:On(o.label??"",n),labelType:"markdown",isGroup:!1,ticket:o==null?void 0:o.ticket,priority:o==null?void 0:o.priority,assigned:o==null?void 0:o.assigned,icon:o==null?void 0:o.icon,shape:"kanbanItem",level:o.level,rx:5,ry:5,cssStyles:["text-align: left"]};e.push(l)}}return{nodes:e,edges:t,other:{},config:Ve()}},"getData"),E6r=x((t,e,r,n,i)=>{var u,d;const a=Ve();let s=((u=a.mindmap)==null?void 0:u.padding)??An.mindmap.padding;switch(n){case As.ROUNDED_RECT:case As.RECT:case As.HEXAGON:s*=2}const o={id:On(e,a)||"kbn"+HK++,level:t,label:On(r,a),width:((d=a.mindmap)==null?void 0:d.maxNodeWidth)??An.mindmap.maxNodeWidth,padding:s,isGroup:!1};if(i!==void 0){let h;i.includes(`
`)?h=i+`
`:h=`{
`+i+`
}`;const f=wD(h,{schema:xD});if(f.shape&&(f.shape!==f.shape.toLowerCase()||f.shape.includes("_")))throw new Error(`No such shape: ${f.shape}. Shape names should be lowercase.`);f!=null&&f.shape&&f.shape==="kanbanItem"&&(o.shape=f==null?void 0:f.shape),f!=null&&f.label&&(o.label=f==null?void 0:f.label),f!=null&&f.icon&&(o.icon=f==null?void 0:f.icon.toString()),f!=null&&f.assigned&&(o.assigned=f==null?void 0:f.assigned.toString()),f!=null&&f.ticket&&(o.ticket=f==null?void 0:f.ticket.toString()),f!=null&&f.priority&&(o.priority=f==null?void 0:f.priority)}const l=S6r(t);l?o.parentId=l.id||"kbn"+HK++:pse.push(o),Eu.push(o)},"addNode"),As={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},A6r=x((t,e)=>{switch(he.debug("In get type",t,e),t){case"[":return As.RECT;case"(":return e===")"?As.ROUNDED_RECT:As.CLOUD;case"((":return As.CIRCLE;case")":return As.CLOUD;case"))":return As.BANG;case"{{":return As.HEXAGON;default:return As.DEFAULT}},"getType"),M6r=x((t,e)=>{gse[t]=e},"setElementForId"),R6r=x(t=>{if(!t)return;const e=Ve(),r=Eu[Eu.length-1];t.icon&&(r.icon=On(t.icon,e)),t.class&&(r.cssClasses=On(t.class,e))},"decorateNode"),I6r=x(t=>{switch(t){case As.DEFAULT:return"no-border";case As.RECT:return"rect";case As.ROUNDED_RECT:return"rounded-rect";case As.CIRCLE:return"circle";case As.CLOUD:return"cloud";case As.BANG:return"bang";case As.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),L6r=x(()=>he,"getLogger"),N6r=x(t=>gse[t],"getElementById"),O6r={clear:C6r,addNode:E6r,getSections:WXe,getData:k6r,nodeType:As,getType:A6r,setElementForId:M6r,decorateNode:R6r,type2Str:I6r,getLogger:L6r,getElementById:N6r},D6r=O6r,P6r=x(async(t,e,r,n)=>{var U,y,b,v,w;he.debug(`Rendering kanban diagram
`+t);const a=n.db.getData(),s=Ve();s.htmlLabels=!1;const o=sl(e);for(const T of a.nodes)T.domId=`${e}-${T.id}`;const l=o.append("g");l.attr("class","sections");const u=o.append("g");u.attr("class","items");const d=a.nodes.filter(T=>T.isGroup);let h=0;const f=10,p=[];let g=25;for(const T of d){const S=((U=s==null?void 0:s.kanban)==null?void 0:U.sectionWidth)||200;h=h+1,T.x=S*h+(h-1)*f/2,T.width=S,T.y=0,T.height=S*3,T.rx=5,T.ry=5,T.cssClasses=T.cssClasses+" section-"+h;const C=await RD(l,T);g=Math.max(g,(y=C==null?void 0:C.labelBBox)==null?void 0:y.height),p.push(C)}let m=0;for(const T of d){const S=p[m];m=m+1;const C=((b=s==null?void 0:s.kanban)==null?void 0:b.sectionWidth)||200,k=-C*3/2+g;let E=k;const A=a.nodes.filter(N=>N.parentId===T.id);for(const N of A){if(N.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");N.x=T.x,N.width=C-1.5*f;const L=(await hS(u,N,{config:s})).node().getBBox();N.y=E+L.height/2,await RI(N),E=N.y+L.height/2+f/2}const M=S.cluster.select("rect"),P=Math.max(E-k+3*f,50)+(g-25);M.attr("height",P)}Y4(void 0,o,((v=s.mindmap)==null?void 0:v.padding)??An.kanban.padding,((w=s.mindmap)==null?void 0:w.useMaxWidth)??An.kanban.useMaxWidth)},"draw"),_6r={draw:P6r},B6r=x(t=>{let e="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++)t["lineColor"+n]=t["lineColor"+n]||t["cScaleInv"+n],Kl(t["lineColor"+n])?t["lineColor"+n]=lt(t["lineColor"+n],20):t["lineColor"+n]=ct(t["lineColor"+n],20);const r=x((n,i)=>t.darkMode?ct(n,i):lt(n,i),"adjuster");for(let n=0;n<t.THEME_COLOR_LIMIT;n++){const i=""+(17-3*n);e+=`
.section-${n-1} rect, .section-${n-1} path, .section-${n-1} circle, .section-${n-1} polygon, .section-${n-1} path {
fill: ${r(t["cScale"+n],10)};
stroke: ${r(t["cScale"+n],10)};
}
.section-${n-1} text {
fill: ${t["cScaleLabel"+n]};
}
.node-icon-${n-1} {
font-size: 40px;
color: ${t["cScaleLabel"+n]};
}
.section-edge-${n-1}{
stroke: ${t["cScale"+n]};
}
.edge-depth-${n-1}{
stroke-width: ${i};
}
.section-${n-1} line {
stroke: ${t["cScaleInv"+n]} ;
stroke-width: 3;
}
.disabled, .disabled circle, .disabled text {
fill: lightgray;
}
.disabled text {
fill: #efefef;
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.background};
stroke: ${t.nodeBorder};
stroke-width: 1px;
}
.kanban-ticket-link {
fill: ${t.background};
stroke: ${t.nodeBorder};
text-decoration: underline;
}
`}return e},"genSections"),$6r=x(t=>`
.edge {
stroke-width: 3;
}
${B6r(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;
}
.cluster-label, .label {
color: ${t.textColor};
fill: ${t.textColor};
}
.kanban-label {
dy: 1em;
alignment-baseline: middle;
text-anchor: middle;
dominant-baseline: middle;
text-align: center;
}
${OS()}
`,"getStyles"),F6r=$6r,z6r={db:D6r,renderer:_6r,parser:T6r,styles:F6r};const H6r=Object.freeze(Object.defineProperty({__proto__:null,diagram:z6r},Symbol.toStringTag,{value:"Module"}));function w2e(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r<i||r===void 0&&i>=i)&&(r=i)}return r}function qXe(t,e){let r;if(e===void 0)for(const n of t)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let i of t)(i=e(i,++n,t))!=null&&(r>i||r===void 0&&i>=i)&&(r=i)}return r}function yV(t,e){let r=0;if(e===void 0)for(let n of t)(n=+n)&&(r+=n);else{let n=-1;for(let i of t)(i=+e(i,++n,t))&&(r+=i)}return r}function V6r(t){return t.target.depth}function G6r(t){return t.depth}function W6r(t,e){return e-1-t.height}function jXe(t,e){return t.sourceLinks.length?t.depth:e-1}function q6r(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?qXe(t.sourceLinks,V6r)-1:0}function yA(t){return function(){return t}}function T2e(t,e){return hO(t.source,e.source)||t.index-e.index}function C2e(t,e){return hO(t.target,e.target)||t.index-e.index}function hO(t,e){return t.y0-e.y0}function bV(t){return t.value}function j6r(t){return t.index}function Y6r(t){return t.nodes}function X6r(t){return t.links}function S2e(t,e){const r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function k2e({nodes:t}){for(const e of t){let r=e.y0,n=r;for(const i of e.sourceLinks)i.y0=r+i.width/2,r+=i.width;for(const i of e.targetLinks)i.y1=n+i.width/2,n+=i.width}}function K6r(){let t=0,e=0,r=1,n=1,i=24,a=8,s,o=j6r,l=jXe,u,d,h=Y6r,f=X6r,p=6;function g(){const L={nodes:h.apply(null,arguments),links:f.apply(null,arguments)};return m(L),U(L),y(L),b(L),T(L),k2e(L),L}g.update=function(L){return k2e(L),L},g.nodeId=function(L){return arguments.length?(o=typeof L=="function"?L:yA(L),g):o},g.nodeAlign=function(L){return arguments.length?(l=typeof L=="function"?L:yA(L),g):l},g.nodeSort=function(L){return arguments.length?(u=L,g):u},g.nodeWidth=function(L){return arguments.length?(i=+L,g):i},g.nodePadding=function(L){return arguments.length?(a=s=+L,g):a},g.nodes=function(L){return arguments.length?(h=typeof L=="function"?L:yA(L),g):h},g.links=function(L){return arguments.length?(f=typeof L=="function"?L:yA(L),g):f},g.linkSort=function(L){return arguments.length?(d=L,g):d},g.size=function(L){return arguments.length?(t=e=0,r=+L[0],n=+L[1],g):[r-t,n-e]},g.extent=function(L){return arguments.length?(t=+L[0][0],r=+L[1][0],e=+L[0][1],n=+L[1][1],g):[[t,e],[r,n]]},g.iterations=function(L){return arguments.length?(p=+L,g):p};function m({nodes:L,links:_}){for(const[O,B]of L.entries())B.index=O,B.sourceLinks=[],B.targetLinks=[];const D=new Map(L.map((O,B)=>[o(O,B,L),O]));for(const[O,B]of _.entries()){B.index=O;let{source:F,target:z}=B;typeof F!="object"&&(F=B.source=S2e(D,F)),typeof z!="object"&&(z=B.target=S2e(D,z)),F.sourceLinks.push(B),z.targetLinks.push(B)}if(d!=null)for(const{sourceLinks:O,targetLinks:B}of L)O.sort(d),B.sort(d)}function U({nodes:L}){for(const _ of L)_.value=_.fixedValue===void 0?Math.max(yV(_.sourceLinks,bV),yV(_.targetLinks,bV)):_.fixedValue}function y({nodes:L}){const _=L.length;let D=new Set(L),O=new Set,B=0;for(;D.size;){for(const F of D){F.depth=B;for(const{target:z}of F.sourceLinks)O.add(z)}if(++B>_)throw new Error("circular link");D=O,O=new Set}}function b({nodes:L}){const _=L.length;let D=new Set(L),O=new Set,B=0;for(;D.size;){for(const F of D){F.height=B;for(const{source:z}of F.targetLinks)O.add(z)}if(++B>_)throw new Error("circular link");D=O,O=new Set}}function v({nodes:L}){const _=w2e(L,B=>B.depth)+1,D=(r-t-i)/(_-1),O=new Array(_);for(const B of L){const F=Math.max(0,Math.min(_-1,Math.floor(l.call(null,B,_))));B.layer=F,B.x0=t+F*D,B.x1=B.x0+i,O[F]?O[F].push(B):O[F]=[B]}if(u)for(const B of O)B.sort(u);return O}function w(L){const _=qXe(L,D=>(n-e-(D.length-1)*s)/yV(D,bV));for(const D of L){let O=e;for(const B of D){B.y0=O,B.y1=O+B.value*_,O=B.y1+s;for(const F of B.sourceLinks)F.width=F.value*_}O=(n-O+s)/(D.length+1);for(let B=0;B<D.length;++B){const F=D[B];F.y0+=O*(B+1),F.y1+=O*(B+1)}P(D)}}function T(L){const _=v(L);s=Math.min(a,(n-e)/(w2e(_,D=>D.length)-1)),w(_);for(let D=0;D<p;++D){const O=Math.pow(.99,D),B=Math.max(1-O,(D+1)/p);C(_,O,B),S(_,O,B)}}function S(L,_,D){for(let O=1,B=L.length;O<B;++O){const F=L[O];for(const z of F){let $=0,H=0;for(const{source:G,value:K}of z.targetLinks){let W=K*(z.layer-G.layer);$+=N(G,z)*W,H+=W}if(!(H>0))continue;let V=($/H-z.y0)*_;z.y0+=V,z.y1+=V,M(z)}u===void 0&&F.sort(hO),k(F,D)}}function C(L,_,D){for(let O=L.length,B=O-2;B>=0;--B){const F=L[B];for(const z of F){let $=0,H=0;for(const{target:G,value:K}of z.sourceLinks){let W=K*(G.layer-z.layer);$+=I(z,G)*W,H+=W}if(!(H>0))continue;let V=($/H-z.y0)*_;z.y0+=V,z.y1+=V,M(z)}u===void 0&&F.sort(hO),k(F,D)}}function k(L,_){const D=L.length>>1,O=L[D];A(L,O.y0-s,D-1,_),E(L,O.y1+s,D+1,_),A(L,n,L.length-1,_),E(L,e,0,_)}function E(L,_,D,O){for(;D<L.length;++D){const B=L[D],F=(_-B.y0)*O;F>1e-6&&(B.y0+=F,B.y1+=F),_=B.y1+s}}function A(L,_,D,O){for(;D>=0;--D){const B=L[D],F=(B.y1-_)*O;F>1e-6&&(B.y0-=F,B.y1-=F),_=B.y0-s}}function M({sourceLinks:L,targetLinks:_}){if(d===void 0){for(const{source:{sourceLinks:D}}of _)D.sort(C2e);for(const{target:{targetLinks:D}}of L)D.sort(T2e)}}function P(L){if(d===void 0)for(const{sourceLinks:_,targetLinks:D}of L)_.sort(C2e),D.sort(T2e)}function N(L,_){let D=L.y0-(L.sourceLinks.length-1)*s/2;for(const{target:O,width:B}of L.sourceLinks){if(O===_)break;D+=B+s}for(const{source:O,width:B}of _.targetLinks){if(O===L)break;D-=B}return D}function I(L,_){let D=_.y0-(_.targetLinks.length-1)*s/2;for(const{source:O,width:B}of _.targetLinks){if(O===L)break;D+=B+s}for(const{target:O,width:B}of L.sourceLinks){if(O===_)break;D-=B}return D}return g}var VK=Math.PI,GK=2*VK,Dm=1e-6,Z6r=GK-Dm;function WK(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function YXe(){return new WK}WK.prototype=YXe.prototype={constructor:WK,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,n,i){t=+t,e=+e,r=+r,n=+n,i=+i;var a=this._x1,s=this._y1,o=r-t,l=n-e,u=a-t,d=s-e,h=u*u+d*d;if(i<0)throw new Error("negative radius: "+i);if(this._x1===null)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(h>Dm)if(!(Math.abs(d*o-l*u)>Dm)||!i)this._+="L"+(this._x1=t)+","+(this._y1=e);else{var f=r-a,p=n-s,g=o*o+l*l,m=f*f+p*p,U=Math.sqrt(g),y=Math.sqrt(h),b=i*Math.tan((VK-Math.acos((g+h-m)/(2*U*y)))/2),v=b/y,w=b/U;Math.abs(v-1)>Dm&&(this._+="L"+(t+v*u)+","+(e+v*d)),this._+="A"+i+","+i+",0,0,"+ +(d*f>u*p)+","+(this._x1=t+w*o)+","+(this._y1=e+w*l)}},arc:function(t,e,r,n,i,a){t=+t,e=+e,r=+r,a=!!a;var s=r*Math.cos(n),o=r*Math.sin(n),l=t+s,u=e+o,d=1^a,h=a?n-i:i-n;if(r<0)throw new Error("negative radius: "+r);this._x1===null?this._+="M"+l+","+u:(Math.abs(this._x1-l)>Dm||Math.abs(this._y1-u)>Dm)&&(this._+="L"+l+","+u),r&&(h<0&&(h=h%GK+GK),h>Z6r?this._+="A"+r+","+r+",0,1,"+d+","+(t-s)+","+(e-o)+"A"+r+","+r+",0,1,"+d+","+(this._x1=l)+","+(this._y1=u):h>Dm&&(this._+="A"+r+","+r+",0,"+ +(h>=VK)+","+d+","+(this._x1=t+r*Math.cos(i))+","+(this._y1=e+r*Math.sin(i))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};function E2e(t){return function(){return t}}function J6r(t){return t[0]}function Q6r(t){return t[1]}var e7r=Array.prototype.slice;function t7r(t){return t.source}function r7r(t){return t.target}function n7r(t){var e=t7r,r=r7r,n=J6r,i=Q6r,a=null;function s(){var o,l=e7r.call(arguments),u=e.apply(this,l),d=r.apply(this,l);if(a||(a=o=YXe()),t(a,+n.apply(this,(l[0]=u,l)),+i.apply(this,l),+n.apply(this,(l[0]=d,l)),+i.apply(this,l)),o)return a=null,o+""||null}return s.source=function(o){return arguments.length?(e=o,s):e},s.target=function(o){return arguments.length?(r=o,s):r},s.x=function(o){return arguments.length?(n=typeof o=="function"?o:E2e(+o),s):n},s.y=function(o){return arguments.length?(i=typeof o=="function"?o:E2e(+o),s):i},s.context=function(o){return arguments.length?(a=o??null,s):a},s}function i7r(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function a7r(){return n7r(i7r)}function s7r(t){return[t.source.x1,t.y0]}function o7r(t){return[t.target.x0,t.y1]}function l7r(){return a7r().source(s7r).target(o7r)}var qK=(function(){var t=x(function(o,l,u,d){for(u=u||{},d=o.length;d--;u[o[d]]=l);return u},"o"),e=[1,9],r=[1,10],n=[1,5,10,12],i={trace:x(function(){},"trace"),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:x(function(l,u,d,h,f,p,g){var m=p.length-1;switch(f){case 7:const U=h.findOrCreateNode(p[m-4].trim().replaceAll('""','"')),y=h.findOrCreateNode(p[m-2].trim().replaceAll('""','"')),b=parseFloat(p[m].trim());h.addLink(U,y,b);break;case 8:case 9:case 11:this.$=p[m];break;case 10:this.$=p[m-1];break}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},{5:[1,3]},{6:4,8:5,15:6,16:7,17:8,18:e,20:r},{1:[2,6],7:11,10:[1,12]},t(r,[2,4],{9:13,5:[1,14]}),{12:[1,15]},t(n,[2,8]),t(n,[2,9]),{19:[1,16]},t(n,[2,11]),{1:[2,1]},{1:[2,5]},t(r,[2,2]),{6:17,8:5,15:6,16:7,17:8,18:e,20:r},{15:18,16:7,17:8,18:e,20:r},{18:[1,19]},t(r,[2,3]),{12:[1,20]},t(n,[2,10]),{15:21,16:7,17:8,18:e,20:r},t([1,5,10],[2,7])],defaultActions:{11:[2,1],12:[2,5]},parseError:x(function(l,u){if(u.recoverable)this.trace(l);else{var d=new Error(l);throw d.hash=u,d}},"parseError"),parse:x(function(l){var u=this,d=[0],h=[],f=[null],p=[],g=this.table,m="",U=0,y=0,b=2,v=1,w=p.slice.call(arguments,1),T=Object.create(this.lexer),S={yy:{}};for(var C in this.yy)Object.prototype.hasOwnProperty.call(this.yy,C)&&(S.yy[C]=this.yy[C]);T.setInput(l,S.yy),S.yy.lexer=T,S.yy.parser=this,typeof T.yylloc>"u"&&(T.yylloc={});var k=T.yylloc;p.push(k);var E=T.options&&T.options.ranges;typeof S.yy.parseError=="function"?this.parseError=S.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function A($){d.length=d.length-2*$,f.length=f.length-$,p.length=p.length-$}x(A,"popStack");function M(){var $;return $=h.pop()||T.lex()||v,typeof $!="number"&&($ instanceof Array&&(h=$,$=h.pop()),$=u.symbols_[$]||$),$}x(M,"lex");for(var P,N,I,L,_={},D,O,B,F;;){if(N=d[d.length-1],this.defaultActions[N]?I=this.defaultActions[N]:((P===null||typeof P>"u")&&(P=M()),I=g[N]&&g[N][P]),typeof I>"u"||!I.length||!I[0]){var z="";F=[];for(D in g[N])this.terminals_[D]&&D>b&&F.push("'"+this.terminals_[D]+"'");T.showPosition?z="Parse error on line "+(U+1)+`:
`+T.showPosition()+`
Expecting `+F.join(", ")+", got '"+(this.terminals_[P]||P)+"'":z="Parse error on line "+(U+1)+": Unexpected "+(P==v?"end of input":"'"+(this.terminals_[P]||P)+"'"),this.parseError(z,{text:T.match,token:this.terminals_[P]||P,line:T.yylineno,loc:k,expected:F})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+N+", token: "+P);switch(I[0]){case 1:d.push(P),f.push(T.yytext),p.push(T.yylloc),d.push(I[1]),P=null,y=T.yyleng,m=T.yytext,U=T.yylineno,k=T.yylloc;break;case 2:if(O=this.productions_[I[1]][1],_.$=f[f.length-O],_._$={first_line:p[p.length-(O||1)].first_line,last_line:p[p.length-1].last_line,first_column:p[p.length-(O||1)].first_column,last_column:p[p.length-1].last_column},E&&(_._$.range=[p[p.length-(O||1)].range[0],p[p.length-1].range[1]]),L=this.performAction.apply(_,[m,y,U,S.yy,I[1],f,p].concat(w)),typeof L<"u")return L;O&&(d=d.slice(0,-1*O*2),f=f.slice(0,-1*O),p=p.slice(0,-1*O)),d.push(this.productions_[I[1]][0]),f.push(_.$),p.push(_._$),B=g[d[d.length-2]][d[d.length-1]],d.push(B);break;case 3:return!0}}return!0},"parse")},a=(function(){var o={EOF:1,parseError:x(function(u,d){if(this.yy.parser)this.yy.parser.parseError(u,d);else throw new Error(u)},"parseError"),setInput:x(function(l,u){return this.yy=u||this.yy||{},this._input=l,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},"setInput"),input:x(function(){var l=this._input[0];this.yytext+=l,this.yyleng++,this.offset++,this.match+=l,this.matched+=l;var u=l.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),l},"input"),unput:x(function(l){var u=l.length,d=l.split(/(?:\r\n?|\n)/g);this._input=l+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-u),this.offset-=u;var h=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 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:d?(d.length===h.length?this.yylloc.first_column:0)+h[h.length-d.length].length-d[0].length:this.yylloc.first_column-u},this.options.ranges&&(this.yylloc.range=[f[0],f[0]+this.yyleng-u]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(l){this.unput(this.match.slice(l))},"less"),pastInput:x(function(){var l=this.matched.substr(0,this.matched.length-this.match.length);return(l.length>20?"...":"")+l.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var l=this.match;return l.length<20&&(l+=this._input.substr(0,20-l.length)),(l.substr(0,20)+(l.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var l=this.pastInput(),u=new Array(l.length+1).join("-");return l+this.upcomingInput()+`
`+u+"^"},"showPosition"),test_match:x(function(l,u){var d,h,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))),h=l[0].match(/(?:\r\n?|\n).*/g),h&&(this.yylineno+=h.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:h?h[h.length-1].length-h[h.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+l[0].length},this.yytext+=l[0],this.match+=l[0],this.matches=l,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(l[0].length),this.matched+=l[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 p in f)this[p]=f[p];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var l,u,d,h;this._more||(this.yytext="",this.match="");for(var f=this._currentRules(),p=0;p<f.length;p++)if(d=this._input.match(this.rules[f[p]]),d&&(!u||d[0].length>u[0].length)){if(u=d,h=p,this.options.backtrack_lexer){if(l=this.test_match(d,f[p]),l!==!1)return l;if(this._backtrack){u=!1;continue}else return!1}else if(!this.options.flex)break}return u?(l=this.test_match(u,f[h]),l!==!1?l:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var u=this.next();return u||this.lex()},"lex"),begin:x(function(u){this.conditionStack.push(u)},"begin"),popState:x(function(){var u=this.conditionStack.length-1;return u>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(u){return u=this.conditionStack.length-1-Math.abs(u||0),u>=0?this.conditionStack[u]:"INITIAL"},"topState"),pushState:x(function(u){this.begin(u)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(u,d,h,f){switch(h){case 0:return this.pushState("csv"),4;case 1:return this.pushState("csv"),4;case 2:return 10;case 3:return 5;case 4:return 12;case 5:return this.pushState("escaped_text"),18;case 6:return 20;case 7:return this.popState("escaped_text"),18;case 8:return 19}},"anonymous"),rules:[/^(?:sankey-beta\b)/i,/^(?:sankey\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:[2,3,4,5,6,7,8],inclusive:!1},escaped_text:{rules:[7,8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8],inclusive:!0}}};return o})();i.lexer=a;function s(){this.yy={}}return x(s,"Parser"),s.prototype=i,i.Parser=s,new s})();qK.parser=qK;var fO=qK,yB=[],bB=[],pO=new Map,c7r=x(()=>{yB=[],bB=[],pO=new Map,Di()},"clear"),sv,u7r=(sv=class{constructor(e,r,n=0){this.source=e,this.target=r,this.value=n}},x(sv,"SankeyLink"),sv),d7r=x((t,e,r)=>{yB.push(new u7r(t,e,r))},"addLink"),ov,h7r=(ov=class{constructor(e){this.ID=e}},x(ov,"SankeyNode"),ov),f7r=x(t=>{t=Vt.sanitizeText(t,Ve());let e=pO.get(t);return e===void 0&&(e=new h7r(t),pO.set(t,e),bB.push(e)),e},"findOrCreateNode"),p7r=x(()=>bB,"getNodes"),g7r=x(()=>yB,"getLinks"),m7r=x(()=>({nodes:bB.map(t=>({id:t.ID})),links:yB.map(t=>({source:t.source.ID,target:t.target.ID,value:t.value}))}),"getGraph"),U7r={nodesMap:pO,getConfig:x(()=>Ve().sankey,"getConfig"),getNodes:p7r,getLinks:g7r,getGraph:m7r,addLink:d7r,findOrCreateNode:f7r,getAccTitle:ia,setAccTitle:qi,getAccDescription:sa,setAccDescription:aa,getDiagramTitle:Yi,setDiagramTitle:ra,clear:c7r},p0,A2e=(p0=class{static next(e){return new p0(e+ ++p0.count)}constructor(e){this.id=e,this.href=`#${e}`}toString(){return"url("+this.href+")"}},x(p0,"Uid"),p0.count=0,p0),y7r={left:G6r,right:W6r,center:q6r,justify:jXe},b7r=x(t=>{let e=0,r=0;for(const n of t){const i=n.value??0;i>e&&(e=i,r=n.layer??0)}return r},"findCentralNodeLayer"),v7r=x(function(t,e,r,n){const{securityLevel:i,sankey:a}=Ve(),s=D3e.sankey;let o;i==="sandbox"&&(o=vt("#i"+e));const l=vt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):vt(`[id="${e}"]`),d=(a==null?void 0:a.width)??s.width,h=(a==null?void 0:a.height)??s.width,f=(a==null?void 0:a.useMaxWidth)??s.useMaxWidth,p=(a==null?void 0:a.nodeAlignment)??s.nodeAlignment,g=(a==null?void 0:a.prefix)??s.prefix,m=(a==null?void 0:a.suffix)??s.suffix,U=(a==null?void 0:a.showValues)??s.showValues,y=(a==null?void 0:a.nodeWidth)??s.nodeWidth??10,b=(a==null?void 0:a.nodePadding)??s.nodePadding??12,v=(a==null?void 0:a.labelStyle)??s.labelStyle??"legacy",w=(a==null?void 0:a.nodeColors)??{},T=n.db.getGraph(),S=y7r[p];K6r().nodeId(O=>O.id).nodeWidth(y).nodePadding(b+(U?15:0)).nodeAlign(S).extent([[0,0],[d,h]])(T);const k=b7r(T.nodes),E=MU(K4t),A=x(O=>w[O]??E(O),"getNodeColor");u.append("g").attr("class","nodes").selectAll(".node").data(T.nodes).join("g").attr("class","node").attr("id",O=>(O.uid=A2e.next("node-")).id).attr("transform",function(O){return"translate("+O.x0+","+O.y0+")"}).attr("x",O=>O.x0).attr("y",O=>O.y0).append("rect").attr("height",O=>O.y1-O.y0).attr("width",O=>O.x1-O.x0).attr("fill",O=>A(O.id));const M=x(({id:O,value:B})=>U?`${O}
${g}${Math.round(B*100)/100}${m}`:O,"getText"),P=x(O=>v==="outlined"?(O.layer??0)<k?{x:O.x0-6,anchor:"end"}:{x:O.x1+6,anchor:"start"}:O.x0<d/2?{x:O.x1+6,anchor:"start"}:{x:O.x0-6,anchor:"end"},"getLabelPosition"),N=u.append("g").attr("class","node-labels").attr("font-size",14),I=x(O=>N.selectAll(O?`.${O}`:"text").data(T.nodes).join("text").attr("class",O??null).attr("x",B=>P(B).x).attr("y",B=>(B.y1+B.y0)/2).attr("dy",`${U?"0":"0.35"}em`).attr("text-anchor",B=>P(B).anchor).text(M),"appendLabel");v==="outlined"?(I("sankey-label-bg"),I("sankey-label-fg")):I();const L=u.append("g").attr("class","links").attr("fill","none").attr("stroke-opacity",.5).selectAll(".link").data(T.links).join("g").attr("class","link").style("mix-blend-mode","multiply"),_=(a==null?void 0:a.linkColor)??"gradient";if(_==="gradient"){const O=L.append("linearGradient").attr("id",B=>(B.uid=A2e.next("linearGradient-")).id).attr("gradientUnits","userSpaceOnUse").attr("x1",B=>B.source.x1).attr("x2",B=>B.target.x0);O.append("stop").attr("offset","0%").attr("stop-color",B=>A(B.source.id)),O.append("stop").attr("offset","100%").attr("stop-color",B=>A(B.target.id))}let D;switch(_){case"gradient":D=x(O=>O.uid,"coloring");break;case"source":D=x(O=>A(O.source.id),"coloring");break;case"target":D=x(O=>A(O.target.id),"coloring");break;default:D=_}L.append("path").attr("d",l7r()).attr("stroke",D).attr("stroke-width",O=>Math.max(1,O.width)),Y4(void 0,u,0,f)},"draw"),x7r={draw:v7r},w7r=x(t=>t.replaceAll(/^[^\S\n\r]+|[^\S\n\r]+$/g,"").replaceAll(/([\n\r])+/g,`
`).trim(),"prepareTextForParsing"),T7r=x(t=>`.label {
font-family: ${t.fontFamily};
}
.node-labels {
font-family: ${t.fontFamily};
}
/* Outlined label style - background stroke for better readability */
.sankey-label-bg {
stroke: ${t.mainBkg||t.background||"#fff"};
stroke-width: 4px;
stroke-linejoin: round;
paint-order: stroke;
}
/* Foreground label text */
.sankey-label-fg {
fill: ${t.textColor};
}
/* Node styling */
.node rect {
shape-rendering: crispEdges;
}
/* Link styling */
.link {
fill: none;
stroke-opacity: 0.5;
mix-blend-mode: multiply;
}
`,"getStyles"),C7r=T7r,S7r=fO.parse.bind(fO);fO.parse=t=>S7r(w7r(t));var k7r={styles:C7r,parser:fO,db:U7r,renderer:x7r};const E7r=Object.freeze(Object.defineProperty({__proto__:null,diagram:k7r},Symbol.toStringTag,{value:"Module"}));var A7r=An.packet,lv,XXe=(lv=class{constructor(){this.packet=[],this.setAccTitle=qi,this.getAccTitle=ia,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.getAccDescription=sa,this.setAccDescription=aa}getConfig(){const e=na({...A7r,...xr().packet});return e.showBits&&(e.paddingY+=10),e}getPacket(){return this.packet}pushWord(e){e.length>0&&this.packet.push(e)}clear(){Di(),this.packet=[]}},x(lv,"PacketDB"),lv),M7r=1e4,R7r=x((t,e)=>{ec(t,e);let r=-1,n=[],i=1;const{bitsPerRow:a}=e.getConfig();for(let{start:s,end:o,bits:l,label:u}of t.blocks){if(s!==void 0&&o!==void 0&&o<s)throw new Error(`Packet block ${s} - ${o} is invalid. End must be greater than start.`);if(s??(s=r+1),s!==r+1)throw new Error(`Packet block ${s} - ${o??s} is not contiguous. It should start from ${r+1}.`);if(l===0)throw new Error(`Packet block ${s} is invalid. Cannot have a zero bit field.`);for(o??(o=s+(l??1)-1),l??(l=o-s+1),r=o,he.debug(`Packet block ${s} - ${r} with label ${u}`);n.length<=a+1&&e.getPacket().length<M7r;){const[d,h]=I7r({start:s,end:o,bits:l,label:u},i,a);if(n.push(d),d.end+1===i*a&&(e.pushWord(n),n=[],i++),!h)break;({start:s,end:o,bits:l,label:u}=h)}}e.pushWord(n)},"populate"),I7r=x((t,e,r)=>{if(t.start===void 0)throw new Error("start should have been set during first phase");if(t.end===void 0)throw new Error("end should have been set during first phase");if(t.start>t.end)throw new Error(`Block start ${t.start} is greater than block end ${t.end}.`);if(t.end+1<=e*r)return[t,void 0];const n=e*r-1,i=e*r;return[{start:t.start,end:n,label:t.label,bits:n-t.start},{start:i,end:t.end,label:t.label,bits:t.end-i}]},"getNextFittingBlock"),KXe={parser:{yy:void 0},parse:x(async t=>{var n;const e=await Qu("packet",t),r=(n=KXe.parser)==null?void 0:n.yy;if(!(r instanceof XXe))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");he.debug(e),R7r(e,r)},"parse")},L7r=x((t,e,r,n)=>{const i=n.db,a=i.getConfig(),{rowHeight:s,paddingY:o,bitWidth:l,bitsPerRow:u}=a,d=i.getPacket(),h=i.getDiagramTitle(),f=s+o,p=f*(d.length+1)-(h?0:s),g=l*u+2,m=sl(e);m.attr("viewBox",`0 0 ${g} ${p}`),Wa(m,p,g,a.useMaxWidth);for(const[U,y]of d.entries())N7r(m,y,U,a);m.append("text").text(h).attr("x",g/2).attr("y",p-f/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),N7r=x((t,e,r,{rowHeight:n,paddingX:i,paddingY:a,bitWidth:s,bitsPerRow:o,showBits:l})=>{const u=t.append("g"),d=r*(n+a)+a;for(const h of e){const f=h.start%o*s+1,p=(h.end-h.start+1)*s-i;if(u.append("rect").attr("x",f).attr("y",d).attr("width",p).attr("height",n).attr("class","packetBlock"),u.append("text").attr("x",f+p/2).attr("y",d+n/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(h.label),!l)continue;const g=h.end===h.start,m=d-2;u.append("text").attr("x",f+(g?p/2:0)).attr("y",m).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",g?"middle":"start").text(h.start),g||u.append("text").attr("x",f+p).attr("y",m).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(h.end)}},"drawWord"),O7r={draw:L7r},D7r={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},P7r=x(({packet:t}={})=>{const e=na(D7r,t);return`
.packetByte {
font-size: ${e.byteFontSize};
}
.packetByte.start {
fill: ${e.startByteColor};
}
.packetByte.end {
fill: ${e.endByteColor};
}
.packetLabel {
fill: ${e.labelColor};
font-size: ${e.labelFontSize};
}
.packetTitle {
fill: ${e.titleColor};
font-size: ${e.titleFontSize};
}
.packetBlock {
stroke: ${e.blockStrokeColor};
stroke-width: ${e.blockStrokeWidth};
fill: ${e.blockFillColor};
}
`},"styles"),_7r={parser:KXe,get db(){return new XXe},renderer:O7r,styles:P7r};const B7r=Object.freeze(Object.defineProperty({__proto__:null,diagram:_7r},Symbol.toStringTag,{value:"Module"}));var S2={showLegend:!0,ticks:5,max:null,min:0,graticule:"circle"},bA=32,ZXe={axes:[],curves:[],options:S2},_h=structuredClone(ZXe),$7r=An.radar,F7r=x(()=>na({...$7r,...xr().radar}),"getConfig"),JXe=x(()=>_h.axes,"getAxes"),z7r=x(()=>_h.curves,"getCurves"),H7r=x(()=>_h.options,"getOptions"),V7r=x(t=>{_h.axes=t.map(e=>({name:e.name,label:e.label??e.name}))},"setAxes"),G7r=x(t=>{_h.curves=t.map(e=>({name:e.name,label:e.label??e.name,entries:W7r(e.entries)}))},"setCurves"),W7r=x(t=>{if(t[0].axis==null)return t.map(r=>r.value);const e=JXe();if(e.length===0)throw new Error("Axes must be populated before curves for reference entries");return e.map(r=>{const n=t.find(i=>{var a;return((a=i.axis)==null?void 0:a.$refText)===r.name});if(n===void 0)throw new Error("Missing entry for axis "+r.label);return n.value})},"computeCurveEntries"),q7r=x(t=>{var r,n,i,a,s;const e=t.reduce((o,l)=>(o[l.name]=l,o),{});_h.options={showLegend:((r=e.showLegend)==null?void 0:r.value)??S2.showLegend,ticks:((n=e.ticks)==null?void 0:n.value)??S2.ticks,max:((i=e.max)==null?void 0:i.value)??S2.max,min:((a=e.min)==null?void 0:a.value)??S2.min,graticule:((s=e.graticule)==null?void 0:s.value)??S2.graticule},_h.options.ticks>bA&&(he.warn(`Radar diagram ticks (${_h.options.ticks}) exceeds maximum allowed (${bA}). Using ${bA} instead.`),_h.options.ticks=bA)},"setOptions"),j7r=x(()=>{Di(),_h=structuredClone(ZXe)},"clear"),Cx={getAxes:JXe,getCurves:z7r,getOptions:H7r,setAxes:V7r,setCurves:G7r,setOptions:q7r,getConfig:F7r,clear:j7r,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,getAccDescription:sa,setAccDescription:aa},Y7r=x(t=>{ec(t,Cx);const{axes:e,curves:r,options:n}=t;Cx.setAxes(e),Cx.setCurves(r),Cx.setOptions(n)},"populate"),X7r={parse:x(async t=>{const e=await Qu("radar",t);he.debug(e),Y7r(e)},"parse")},K7r=x((t,e,r,n)=>{const i=n.db,a=i.getAxes(),s=i.getCurves(),o=i.getOptions(),l=i.getConfig(),u=i.getDiagramTitle(),d=sl(e),h=Z7r(d,l),f=o.max??Math.max(...s.map(m=>Math.max(...m.entries))),p=o.min,g=Math.min(l.width,l.height)/2;J7r(h,a,g,o.ticks,o.graticule),Q7r(h,a,g,l),QXe(h,a,s,p,f,o.graticule,l),rKe(h,s,o.showLegend,l),h.append("text").attr("class","radarTitle").text(u).attr("x",0).attr("y",-l.height/2-l.marginTop)},"draw"),Z7r=x((t,e)=>{const r=e.width+e.marginLeft+e.marginRight,n=e.height+e.marginTop+e.marginBottom,i={x:e.marginLeft+e.width/2,y:e.marginTop+e.height/2};return Wa(t,n,r,e.useMaxWidth??!0),t.attr("viewBox",`0 0 ${r} ${n}`).attr("overflow","visible"),t.append("g").attr("transform",`translate(${i.x}, ${i.y})`)},"drawFrame"),J7r=x((t,e,r,n,i)=>{if(i==="circle")for(let a=0;a<n;a++){const s=r*(a+1)/n;t.append("circle").attr("r",s).attr("class","radarGraticule")}else if(i==="polygon"){const a=e.length;for(let s=0;s<n;s++){const o=r*(s+1)/n,l=e.map((u,d)=>{const h=2*d*Math.PI/a-Math.PI/2,f=o*Math.cos(h),p=o*Math.sin(h);return`${f},${p}`}).join(" ");t.append("polygon").attr("points",l).attr("class","radarGraticule")}}},"drawGraticule"),Q7r=x((t,e,r,n)=>{const i=e.length;for(let a=0;a<i;a++){const s=e[a].label,o=2*a*Math.PI/i-Math.PI/2,l=Math.cos(o),u=Math.sin(o);t.append("line").attr("x1",0).attr("y1",0).attr("x2",r*n.axisScaleFactor*l).attr("y2",r*n.axisScaleFactor*u).attr("class","radarAxisLine");const d=l>.01?"start":l<-.01?"end":"middle",h=u>.01?"hanging":u<-.01?"auto":"central",f=4;t.append("text").text(s).attr("x",r*n.axisLabelFactor*l+f*l).attr("y",r*n.axisLabelFactor*u+f*u).attr("text-anchor",d).attr("dominant-baseline",h).attr("class","radarAxisLabel")}},"drawAxes");function QXe(t,e,r,n,i,a,s){const o=e.length,l=Math.min(s.width,s.height)/2;r.forEach((u,d)=>{if(u.entries.length!==o)return;const h=u.entries.map((f,p)=>{const g=2*Math.PI*p/o-Math.PI/2,m=eKe(f,n,i,l),U=m*Math.cos(g),y=m*Math.sin(g);return{x:U,y}});a==="circle"?t.append("path").attr("d",tKe(h,s.curveTension)).attr("class",`radarCurve-${d}`):a==="polygon"&&t.append("polygon").attr("points",h.map(f=>`${f.x},${f.y}`).join(" ")).attr("class",`radarCurve-${d}`)})}x(QXe,"drawCurves");function eKe(t,e,r,n){const i=Math.min(Math.max(t,e),r);return n*(i-e)/(r-e)}x(eKe,"relativeRadius");function tKe(t,e){const r=t.length;let n=`M${t[0].x},${t[0].y}`;for(let i=0;i<r;i++){const a=t[(i-1+r)%r],s=t[i],o=t[(i+1)%r],l=t[(i+2)%r],u={x:s.x+(o.x-a.x)*e,y:s.y+(o.y-a.y)*e},d={x:o.x-(l.x-s.x)*e,y:o.y-(l.y-s.y)*e};n+=` C${u.x},${u.y} ${d.x},${d.y} ${o.x},${o.y}`}return`${n} Z`}x(tKe,"closedRoundCurve");function rKe(t,e,r,n){if(!r)return;const i=(n.width/2+n.marginRight)*3/4,a=-(n.height/2+n.marginTop)*3/4,s=20;e.forEach((o,l)=>{const u=t.append("g").attr("transform",`translate(${i}, ${a+l*s})`);u.append("rect").attr("width",12).attr("height",12).attr("class",`radarLegendBox-${l}`),u.append("text").attr("x",16).attr("y",0).attr("class","radarLegendText").text(o.label)})}x(rKe,"drawLegend");var e8r={draw:K7r},t8r=x((t,e)=>{let r="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++){const i=t[`cScale${n}`];r+=`
.radarCurve-${n} {
color: ${i};
fill: ${i};
fill-opacity: ${e.curveOpacity};
stroke: ${i};
stroke-width: ${e.curveStrokeWidth};
}
.radarLegendBox-${n} {
fill: ${i};
fill-opacity: ${e.curveOpacity};
stroke: ${i};
}
`}return r},"genIndexStyles"),r8r=x(t=>{const e=ip(),r=xr(),n=na(e,r.themeVariables),i=na(n.radar,t);return{themeVariables:n,radarOptions:i}},"buildRadarStyleOptions"),n8r=x(({radar:t}={})=>{const{themeVariables:e,radarOptions:r}=r8r(t);return`
.radarTitle {
font-size: ${e.fontSize};
color: ${e.titleColor};
dominant-baseline: hanging;
text-anchor: middle;
}
.radarAxisLine {
stroke: ${r.axisColor};
stroke-width: ${r.axisStrokeWidth};
}
.radarAxisLabel {
font-size: ${r.axisLabelFontSize}px;
color: ${r.axisColor};
}
.radarGraticule {
fill: ${r.graticuleColor};
fill-opacity: ${r.graticuleOpacity};
stroke: ${r.graticuleColor};
stroke-width: ${r.graticuleStrokeWidth};
}
.radarLegendText {
text-anchor: start;
font-size: ${r.legendFontSize}px;
dominant-baseline: hanging;
}
${t8r(e,r)}
`},"styles"),i8r={parser:X7r,db:Cx,renderer:e8r,styles:n8r};const a8r=Object.freeze(Object.defineProperty({__proto__:null,diagram:i8r},Symbol.toStringTag,{value:"Module"}));var jK=(function(){var t=x(function(v,w,T,S){for(T=T||{},S=v.length;S--;T[v[S]]=w);return T},"o"),e=[1,15],r=[1,7],n=[1,13],i=[1,14],a=[1,19],s=[1,16],o=[1,17],l=[1,18],u=[8,30],d=[8,10,21,28,29,30,31,39,43,46],h=[1,23],f=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],g=[8,10,15,16,21,27,28,29,30,31,39,43,46],m=[1,49],U={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:x(function(w,T,S,C,k,E,A){var M=E.length-1;switch(k){case 4:C.getLogger().debug("Rule: separator (NL) ");break;case 5:C.getLogger().debug("Rule: separator (Space) ");break;case 6:C.getLogger().debug("Rule: separator (EOF) ");break;case 7:C.getLogger().debug("Rule: hierarchy: ",E[M-1]),C.setHierarchy(E[M-1]);break;case 8:C.getLogger().debug("Stop NL ");break;case 9:C.getLogger().debug("Stop EOF ");break;case 10:C.getLogger().debug("Stop NL2 ");break;case 11:C.getLogger().debug("Stop EOF2 ");break;case 12:C.getLogger().debug("Rule: statement: ",E[M]),typeof E[M].length=="number"?this.$=E[M]:this.$=[E[M]];break;case 13:C.getLogger().debug("Rule: statement #2: ",E[M-1]),this.$=[E[M-1]].concat(E[M]);break;case 14:C.getLogger().debug("Rule: link: ",E[M],w),this.$={edgeTypeStr:E[M],label:""};break;case 15:C.getLogger().debug("Rule: LABEL link: ",E[M-3],E[M-1],E[M]),this.$={edgeTypeStr:E[M],label:E[M-1]};break;case 18:const P=parseInt(E[M]),N=C.generateId();this.$={id:N,type:"space",label:"",width:P,children:[]};break;case 23:C.getLogger().debug("Rule: (nodeStatement link node) ",E[M-2],E[M-1],E[M]," typestr: ",E[M-1].edgeTypeStr);const I=C.edgeStrToEdgeData(E[M-1].edgeTypeStr),L=C.edgeStrToEdgeStartData(E[M-1].edgeTypeStr),_=C.edgeStrToThickness(E[M-1].edgeTypeStr),D=C.edgeStrToPattern(E[M-1].edgeTypeStr);this.$=[{id:E[M-2].id,label:E[M-2].label,type:E[M-2].type,directions:E[M-2].directions},{id:E[M-2].id+"-"+E[M].id,start:E[M-2].id,end:E[M].id,label:E[M-1].label,type:"edge",thickness:_,pattern:D,directions:E[M].directions,arrowTypeEnd:I,arrowTypeStart:L},{id:E[M].id,label:E[M].label,type:C.typeStr2Type(E[M].typeStr),directions:E[M].directions}];break;case 24:C.getLogger().debug("Rule: nodeStatement (abc88 node size) ",E[M-1],E[M]),this.$={id:E[M-1].id,label:E[M-1].label,type:C.typeStr2Type(E[M-1].typeStr),directions:E[M-1].directions,widthInColumns:parseInt(E[M],10)};break;case 25:C.getLogger().debug("Rule: nodeStatement (node) ",E[M]),this.$={id:E[M].id,label:E[M].label,type:C.typeStr2Type(E[M].typeStr),directions:E[M].directions,widthInColumns:1};break;case 26:C.getLogger().debug("APA123",this?this:"na"),C.getLogger().debug("COLUMNS: ",E[M]),this.$={type:"column-setting",columns:E[M]==="auto"?-1:parseInt(E[M])};break;case 27:C.getLogger().debug("Rule: id-block statement : ",E[M-2],E[M-1]),C.generateId(),this.$={...E[M-2],type:"composite",children:E[M-1]};break;case 28:C.getLogger().debug("Rule: blockStatement : ",E[M-2],E[M-1],E[M]);const O=C.generateId();this.$={id:O,type:"composite",label:"",children:E[M-1]};break;case 29:C.getLogger().debug("Rule: node (NODE_ID separator): ",E[M]),this.$={id:E[M]};break;case 30:C.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",E[M-1],E[M]),this.$={id:E[M-1],label:E[M].label,typeStr:E[M].typeStr,directions:E[M].directions};break;case 31:C.getLogger().debug("Rule: dirList: ",E[M]),this.$=[E[M]];break;case 32:C.getLogger().debug("Rule: dirList: ",E[M-1],E[M]),this.$=[E[M-1]].concat(E[M]);break;case 33:C.getLogger().debug("Rule: nodeShapeNLabel: ",E[M-2],E[M-1],E[M]),this.$={typeStr:E[M-2]+E[M],label:E[M-1]};break;case 34:C.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",E[M-3],E[M-2]," #3:",E[M-1],E[M]),this.$={typeStr:E[M-3]+E[M],label:E[M-2],directions:E[M-1]};break;case 35:case 36:this.$={type:"classDef",id:E[M-1].trim(),css:E[M].trim()};break;case 37:this.$={type:"applyClass",id:E[M-1].trim(),styleClass:E[M].trim()};break;case 38:this.$={type:"applyStyles",id:E[M-1].trim(),stylesStr:E[M].trim()};break}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{8:[1,20]},t(u,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:n,29:i,31:a,39:s,43:o,46:l}),t(d,[2,16],{14:22,15:h,16:f}),t(d,[2,17]),t(d,[2,18]),t(d,[2,19]),t(d,[2,20]),t(d,[2,21]),t(d,[2,22]),t(p,[2,25],{27:[1,25]}),t(d,[2,26]),{19:26,26:12,31:a},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(g,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(u,[2,13]),{26:35,31:a},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:h,16:f,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:n,29:i,31:a,39:s,43:o,46:l},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(g,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(d,[2,28]),t(d,[2,35]),t(d,[2,36]),t(d,[2,37]),t(d,[2,38]),{36:[1,47]},{33:48,34:m},{15:[1,50]},t(d,[2,27]),t(g,[2,33]),{38:[1,51]},{33:52,34:m,38:[2,31]},{31:[2,15]},t(g,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:x(function(w,T){if(T.recoverable)this.trace(w);else{var S=new Error(w);throw S.hash=T,S}},"parseError"),parse:x(function(w){var T=this,S=[0],C=[],k=[null],E=[],A=this.table,M="",P=0,N=0,I=2,L=1,_=E.slice.call(arguments,1),D=Object.create(this.lexer),O={yy:{}};for(var B in this.yy)Object.prototype.hasOwnProperty.call(this.yy,B)&&(O.yy[B]=this.yy[B]);D.setInput(w,O.yy),O.yy.lexer=D,O.yy.parser=this,typeof D.yylloc>"u"&&(D.yylloc={});var F=D.yylloc;E.push(F);var z=D.options&&D.options.ranges;typeof O.yy.parseError=="function"?this.parseError=O.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function $(te){S.length=S.length-2*te,k.length=k.length-te,E.length=E.length-te}x($,"popStack");function H(){var te;return te=C.pop()||D.lex()||L,typeof te!="number"&&(te instanceof Array&&(C=te,te=C.pop()),te=T.symbols_[te]||te),te}x(H,"lex");for(var V,G,K,W,oe={},Z,J,ne,ie;;){if(G=S[S.length-1],this.defaultActions[G]?K=this.defaultActions[G]:((V===null||typeof V>"u")&&(V=H()),K=A[G]&&A[G][V]),typeof K>"u"||!K.length||!K[0]){var me="";ie=[];for(Z in A[G])this.terminals_[Z]&&Z>I&&ie.push("'"+this.terminals_[Z]+"'");D.showPosition?me="Parse error on line "+(P+1)+`:
`+D.showPosition()+`
Expecting `+ie.join(", ")+", got '"+(this.terminals_[V]||V)+"'":me="Parse error on line "+(P+1)+": Unexpected "+(V==L?"end of input":"'"+(this.terminals_[V]||V)+"'"),this.parseError(me,{text:D.match,token:this.terminals_[V]||V,line:D.yylineno,loc:F,expected:ie})}if(K[0]instanceof Array&&K.length>1)throw new Error("Parse Error: multiple actions possible at state: "+G+", token: "+V);switch(K[0]){case 1:S.push(V),k.push(D.yytext),E.push(D.yylloc),S.push(K[1]),V=null,N=D.yyleng,M=D.yytext,P=D.yylineno,F=D.yylloc;break;case 2:if(J=this.productions_[K[1]][1],oe.$=k[k.length-J],oe._$={first_line:E[E.length-(J||1)].first_line,last_line:E[E.length-1].last_line,first_column:E[E.length-(J||1)].first_column,last_column:E[E.length-1].last_column},z&&(oe._$.range=[E[E.length-(J||1)].range[0],E[E.length-1].range[1]]),W=this.performAction.apply(oe,[M,N,P,O.yy,K[1],k,E].concat(_)),typeof W<"u")return W;J&&(S=S.slice(0,-1*J*2),k=k.slice(0,-1*J),E=E.slice(0,-1*J)),S.push(this.productions_[K[1]][0]),k.push(oe.$),E.push(oe._$),ne=A[S[S.length-2]][S[S.length-1]],S.push(ne);break;case 3:return!0}}return!0},"parse")},y=(function(){var v={EOF:1,parseError:x(function(T,S){if(this.yy.parser)this.yy.parser.parseError(T,S);else throw new Error(T)},"parseError"),setInput:x(function(w,T){return this.yy=T||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},"setInput"),input:x(function(){var w=this._input[0];this.yytext+=w,this.yyleng++,this.offset++,this.match+=w,this.matched+=w;var T=w.match(/(?:\r\n?|\n).*/g);return T?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),w},"input"),unput:x(function(w){var T=w.length,S=w.split(/(?:\r\n?|\n)/g);this._input=w+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-T),this.offset-=T;var C=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),S.length-1&&(this.yylineno-=S.length-1);var k=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:S?(S.length===C.length?this.yylloc.first_column:0)+C[C.length-S.length].length-S[0].length:this.yylloc.first_column-T},this.options.ranges&&(this.yylloc.range=[k[0],k[0]+this.yyleng-T]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(w){this.unput(this.match.slice(w))},"less"),pastInput:x(function(){var w=this.matched.substr(0,this.matched.length-this.match.length);return(w.length>20?"...":"")+w.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(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,"")},"upcomingInput"),showPosition:x(function(){var w=this.pastInput(),T=new Array(w.length+1).join("-");return w+this.upcomingInput()+`
`+T+"^"},"showPosition"),test_match:x(function(w,T){var S,C,k;if(this.options.backtrack_lexer&&(k={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&&(k.yylloc.range=this.yylloc.range.slice(0))),C=w[0].match(/(?:\r\n?|\n).*/g),C&&(this.yylineno+=C.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:C?C[C.length-1].length-C[C.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],S=this.performAction.call(this,this.yy,this,T,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),S)return S;if(this._backtrack){for(var E in k)this[E]=k[E];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var w,T,S,C;this._more||(this.yytext="",this.match="");for(var k=this._currentRules(),E=0;E<k.length;E++)if(S=this._input.match(this.rules[k[E]]),S&&(!T||S[0].length>T[0].length)){if(T=S,C=E,this.options.backtrack_lexer){if(w=this.test_match(S,k[E]),w!==!1)return w;if(this._backtrack){T=!1;continue}else return!1}else if(!this.options.flex)break}return T?(w=this.test_match(T,k[C]),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})},"next"),lex:x(function(){var T=this.next();return T||this.lex()},"lex"),begin:x(function(T){this.conditionStack.push(T)},"begin"),popState:x(function(){var T=this.conditionStack.length-1;return T>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(T){return T=this.conditionStack.length-1-Math.abs(T||0),T>=0?this.conditionStack[T]:"INITIAL"},"topState"),pushState:x(function(T){this.begin(T)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:x(function(T,S,C,k){switch(C){case 0:return T.getLogger().debug("Found block-beta"),10;case 1:return T.getLogger().debug("Found id-block"),29;case 2:return T.getLogger().debug("Found block"),10;case 3:T.getLogger().debug(".",S.yytext);break;case 4:T.getLogger().debug("_",S.yytext);break;case 5:return 5;case 6:return S.yytext=-1,28;case 7:return S.yytext=S.yytext.replace(/columns\s+/,""),T.getLogger().debug("COLUMNS (LEX)",S.yytext),28;case 8:this.pushState("md_string");break;case 9:return"MD_STR";case 10:this.popState();break;case 11:this.pushState("string");break;case 12:T.getLogger().debug("LEX: POPPING STR:",S.yytext),this.popState();break;case 13:return T.getLogger().debug("LEX: STR end:",S.yytext),"STR";case 14:return S.yytext=S.yytext.replace(/space\:/,""),T.getLogger().debug("SPACE NUM (LEX)",S.yytext),21;case 15:return S.yytext="1",T.getLogger().debug("COLUMNS (LEX)",S.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 34:this.popState();break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";case 38:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),T.getLogger().debug("Lex: ))"),"NODE_DEND";case 40:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";case 41:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";case 42:return this.popState(),T.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),T.getLogger().debug("Lex: -)"),"NODE_DEND";case 44:return this.popState(),T.getLogger().debug("Lex: (("),"NODE_DEND";case 45:return this.popState(),T.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),T.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),T.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:return this.popState(),T.getLogger().debug("Lex: /]"),"NODE_DEND";case 49:return this.popState(),T.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),T.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),T.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),T.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),T.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return T.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return T.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return T.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return T.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 59:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 60:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 61:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 62:return T.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return T.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 64:return T.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 65:return this.pushState("NODE"),35;case 66:return this.pushState("NODE"),35;case 67:return this.pushState("NODE"),35;case 68:return this.pushState("NODE"),35;case 69:return this.pushState("NODE"),35;case 70:return this.pushState("NODE"),35;case 71:return this.pushState("NODE"),35;case 72:return T.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),T.getLogger().debug("LEX ARR START"),37;case 74:return T.getLogger().debug("Lex: NODE_ID",S.yytext),31;case 75:return T.getLogger().debug("Lex: EOF",S.yytext),8;case 76:this.pushState("md_string");break;case 77:this.pushState("md_string");break;case 78:return"NODE_DESCR";case 79:this.popState();break;case 80:T.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:T.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return T.getLogger().debug("LEX: NODE_DESCR:",S.yytext),"NODE_DESCR";case 83:T.getLogger().debug("LEX POPPING"),this.popState();break;case 84:T.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return S.yytext=S.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (right): dir:",S.yytext),"DIR";case 86:return S.yytext=S.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (left):",S.yytext),"DIR";case 87:return S.yytext=S.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (x):",S.yytext),"DIR";case 88:return S.yytext=S.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (y):",S.yytext),"DIR";case 89:return S.yytext=S.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (up):",S.yytext),"DIR";case 90:return S.yytext=S.yytext.replace(/^,\s*/,""),T.getLogger().debug("Lex (down):",S.yytext),"DIR";case 91:return S.yytext="]>",T.getLogger().debug("Lex (ARROW_DIR end):",S.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return T.getLogger().debug("Lex: LINK","#"+S.yytext+"#"),15;case 93:return T.getLogger().debug("Lex: LINK",S.yytext),15;case 94:return T.getLogger().debug("Lex: LINK",S.yytext),15;case 95:return T.getLogger().debug("Lex: LINK",S.yytext),15;case 96:return T.getLogger().debug("Lex: START_LINK",S.yytext),this.pushState("LLABEL"),16;case 97:return T.getLogger().debug("Lex: START_LINK",S.yytext),this.pushState("LLABEL"),16;case 98:return T.getLogger().debug("Lex: START_LINK",S.yytext),this.pushState("LLABEL"),16;case 99:this.pushState("md_string");break;case 100:return T.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),T.getLogger().debug("Lex: LINK","#"+S.yytext+"#"),15;case 102:return this.popState(),T.getLogger().debug("Lex: LINK",S.yytext),15;case 103:return this.popState(),T.getLogger().debug("Lex: LINK",S.yytext),15;case 104:return T.getLogger().debug("Lex: COLON",S.yytext),S.yytext=S.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\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:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}};return v})();U.lexer=y;function b(){this.yy={}}return x(b,"Parser"),b.prototype=U,U.Parser=b,new b})();jK.parser=jK;var s8r=jK,Fd=new Map,mse=[],YK=new Map,M2e="color",R2e="fill",o8r="bgFill",nKe=",",gO=new Map,Use="",l8r=x(t=>Vt.sanitizeText(t,Ve()),"sanitizeText"),c8r=x(function(t,e=""){let r=gO.get(t);r||(r={id:t,styles:[],textStyles:[]},gO.set(t,r)),e!=null&&e.split(nKe).forEach(n=>{const i=n.replace(/([^;]*);/,"$1").trim();if(RegExp(M2e).exec(n)){const s=i.replace(R2e,o8r).replace(M2e,R2e);r.textStyles.push(s)}r.styles.push(i)})},"addStyleClass"),u8r=x(function(t,e=""){const r=Fd.get(t);e!=null&&(r.styles=e.split(nKe))},"addStyle2Node"),d8r=x(function(t,e){t.split(",").forEach(function(r){let n=Fd.get(r);if(n===void 0){const i=r.trim();n={id:i,type:"na",children:[]},Fd.set(i,n)}n.classes||(n.classes=[]),n.classes.push(e)})},"setCssClass"),iKe=x((t,e)=>{const r=t.flat(),n=[],i=r.find(s=>(s==null?void 0:s.type)==="column-setting"),a=(i==null?void 0:i.columns)??-1;for(const s of r){if(typeof a=="number"&&a>0&&s.type!=="column-setting"&&typeof s.widthInColumns=="number"&&s.widthInColumns>a&&he.warn(`Block ${s.id} width ${s.widthInColumns} exceeds configured column width ${a}`),s.label&&(s.label=l8r(s.label)),s.type==="classDef"){c8r(s.id,s.css);continue}if(s.type==="applyClass"){d8r(s.id,(s==null?void 0:s.styleClass)??"");continue}if(s.type==="applyStyles"){s!=null&&s.stylesStr&&u8r(s.id,s==null?void 0:s.stylesStr);continue}if(s.type==="column-setting")e.columns=s.columns??-1;else if(s.type==="edge"){const o=(YK.get(s.id)??0)+1;YK.set(s.id,o),s.id=o+"-"+s.id,mse.push(s)}else{s.label||(s.type==="composite"?s.label="":s.label=s.id);const o=Fd.get(s.id);if(o===void 0?Fd.set(s.id,s):(s.type!=="na"&&(o.type=s.type),s.label!==s.id&&(o.label=s.label)),s.children&&iKe(s.children,s),s.type==="space"){const l=s.width??1;for(let u=0;u<l;u++){const d=_9t(s);d.id=d.id+"-"+u,Fd.set(d.id,d),n.push(d)}}else o===void 0&&n.push(s)}}e.children=n},"populateBlockDatabase"),yse=[],kw={id:"root",type:"composite",children:[],columns:-1},h8r=x(()=>{he.debug("Clear called"),Di(),kw={id:"root",type:"composite",children:[],columns:-1},Fd=new Map([["root",kw]]),yse=[],gO=new Map,mse=[],YK=new Map,Use=""},"clear");function aKe(t){switch(he.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return he.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"}}x(aKe,"typeStr2Type");function sKe(t){switch(he.debug("typeStr2Type",t),t){case"==":return"thick";default:return"normal"}}x(sKe,"edgeTypeStr2Type");function oKe(t){switch(t.trim().slice(-1)){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}x(oKe,"edgeStrToEdgeData");function lKe(t){switch(t.trim().charAt(0)){case"x":return"arrow_cross";case"o":return"arrow_circle";case"<":return"arrow_point";default:return"arrow_open"}}x(lKe,"edgeStrToEdgeStartData");function cKe(t){return t.includes("==")?"thick":"normal"}x(cKe,"edgeStrToThickness");function uKe(t){return t.includes(".-")?"dotted":"solid"}x(uKe,"edgeStrToPattern");var I2e=0,f8r=x(()=>(I2e++,"id-"+Math.random().toString(36).substr(2,12)+"-"+I2e),"generateId"),p8r=x(t=>{kw.children=t,iKe(t,kw),yse=kw.children},"setHierarchy"),g8r=x(t=>{const e=Fd.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),m8r=x(()=>[...Fd.values()],"getBlocksFlat"),U8r=x(()=>yse||[],"getBlocks"),y8r=x(()=>mse,"getEdges"),b8r=x(t=>Fd.get(t),"getBlock"),v8r=x(t=>{Fd.set(t.id,t)},"setBlock"),x8r=x(t=>{Use=t},"setDiagramId"),w8r=x(()=>Use,"getDiagramId"),T8r=x(()=>he,"getLogger"),C8r=x(function(){return gO},"getClasses"),S8r={getConfig:x(()=>xr().block,"getConfig"),typeStr2Type:aKe,edgeTypeStr2Type:sKe,edgeStrToEdgeData:oKe,edgeStrToEdgeStartData:lKe,edgeStrToThickness:cKe,edgeStrToPattern:uKe,getLogger:T8r,getBlocksFlat:m8r,getBlocks:U8r,getEdges:y8r,setHierarchy:p8r,getBlock:b8r,setBlock:v8r,getColumns:g8r,getClasses:C8r,clear:h8r,generateId:f8r,setDiagramId:x8r,getDiagramId:w8r},k8r=S8r,vV=x((t,e)=>{const r=HJ,n=r(t,"r"),i=r(t,"g"),a=r(t,"b");return Ad(n,i,a,e)},"fade"),E8r=x(t=>`.label {
font-family: ${t.fontFamily};
color: ${t.nodeTextColor||t.textColor};
}
.cluster-label text {
fill: ${t.titleColor};
}
.cluster-label span,p {
color: ${t.titleColor};
}
.label text,span,p {
fill: ${t.nodeTextColor||t.textColor};
color: ${t.nodeTextColor||t.textColor};
}
.node rect,
.node circle,
.node ellipse,
.node polygon,
.node path {
fill: ${t.mainBkg};
stroke: ${t.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: ${t.arrowheadColor};
}
.edgePath .path {
stroke: ${t.lineColor};
stroke-width: 2.0px;
}
.flowchart-link {
stroke: ${t.lineColor};
fill: none;
}
.edgeLabel {
background-color: ${t.edgeLabelBackground};
/*
* This is for backward compatibility with existing code that didn't
* add a \`<p>\` around edge labels.
*
* TODO: We should probably remove this in a future release.
*/
p {
margin: 0;
padding: 0;
display: inline;
}
rect {
opacity: 0.5;
background-color: ${t.edgeLabelBackground};
fill: ${t.edgeLabelBackground};
}
text-align: center;
}
/* For html labels only */
.labelBkg {
background-color: ${t.edgeLabelBackground};
}
.node .cluster {
// fill: ${vV(t.mainBkg,.5)};
fill: ${vV(t.clusterBkg,.5)};
stroke: ${vV(t.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: ${t.titleColor};
}
.cluster span,p {
color: ${t.titleColor};
}
/* .cluster div {
color: ${t.titleColor};
} */
div.mermaidTooltip {
position: absolute;
text-align: center;
max-width: 200px;
padding: 2px;
font-family: ${t.fontFamily};
font-size: 12px;
background: ${t.tertiaryColor};
border: 1px solid ${t.border2};
border-radius: 2px;
pointer-events: none;
z-index: 100;
}
.flowchartTitleText {
text-anchor: middle;
font-size: 18px;
fill: ${t.textColor};
}
${OS()}
`,"getStyles"),A8r=E8r,M8r=x((t,e,r,n)=>{e.forEach(i=>{$8r[i](t,r,n)})},"insertMarkers"),R8r=x((t,e,r)=>{he.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).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")},"extension"),I8r=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).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")},"composition"),L8r=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).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")},"aggregation"),N8r=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).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")},"dependency"),O8r=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).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),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).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)},"lollipop"),D8r=x((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).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")},"point"),P8r=x((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).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")},"circle"),_8r=x((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).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"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).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")},"cross"),B8r=x((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-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")},"barb"),$8r={extension:R8r,composition:I8r,aggregation:L8r,dependency:N8r,lollipop:O8r,point:D8r,circle:P8r,cross:_8r,barb:B8r},F8r=M8r;function XK(t,e){if(t===0||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(t===1)return{px:0,py:e};const r=e%t,n=Math.floor(e/t);return{px:r,py:n}}x(XK,"calculateBlockPosition");var z8r=x(t=>{let e=0,r=0;for(const n of t.children){const{width:i,height:a,x:s,y:o}=n.size??{width:0,height:0,x:0,y:0};if(he.debug("getMaxChildSize abc95 child:",n.id,"width:",i,"height:",a,"x:",s,"y:",o,n.type),n.type==="space")continue;const l=i/(n.widthInColumns??1);l>e&&(e=l),a>r&&(r=a)}return{width:e,height:r}},"getMaxChildSize");function mO(t,e,r=0,n=0,i=8){var o,l,u,d,h,f,p,g,m,U,y;he.debug("setBlockSizes abc95 (start)",t.id,(o=t==null?void 0:t.size)==null?void 0:o.x,"block width =",t==null?void 0:t.size,"siblingWidth",r),(l=t==null?void 0:t.size)!=null&&l.width||(t.size={width:r,height:n,x:0,y:0});let a=0,s=0;if(((u=t.children)==null?void 0:u.length)>0){for(const E of t.children)mO(E,e,0,0,i);const b=z8r(t);a=b.width,s=b.height,he.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",a,s);for(const E of t.children)E.size&&(he.debug(`abc95 Setting size of children of ${t.id} id=${E.id} ${a} ${s} ${JSON.stringify(E.size)}`),E.size.width=a*(E.widthInColumns??1)+i*((E.widthInColumns??1)-1),E.size.height=s,E.size.x=0,E.size.y=0,he.debug(`abc95 updating size of ${t.id} children child:${E.id} maxWidth:${a} maxHeight:${s}`));for(const E of t.children)mO(E,e,a,s,i);const v=t.columns??-1;let w=0;for(const E of t.children)w+=E.widthInColumns??1;let T=t.children.length;v>0&&v<w&&(T=v);const S=Math.ceil(w/T);let C=T*(a+i)+i,k=S*(s+i)+i;if(C<r){he.debug(`Detected to small sibling: abc95 ${t.id} siblingWidth ${r} siblingHeight ${n} width ${C}`),C=r,k=n;const E=(r-T*i-i)/T,A=(n-S*i-i)/S;he.debug("Size indata abc88",t.id,"childWidth",E,"maxWidth",a),he.debug("Size indata abc88",t.id,"childHeight",A,"maxHeight",s),he.debug("Size indata abc88 xSize",T,"padding",i);for(const M of t.children)M.size&&(M.size.width=E,M.size.height=A,M.size.x=0,M.size.y=0)}if(he.debug(`abc95 (finale calc) ${t.id} xSize ${T} ySize ${S} columns ${v}${t.children.length} width=${Math.max(C,((d=t.size)==null?void 0:d.width)||0)}`),C<(((h=t==null?void 0:t.size)==null?void 0:h.width)||0)){C=((f=t==null?void 0:t.size)==null?void 0:f.width)||0;const E=v>0?Math.min(t.children.length,v):t.children.length;if(E>0){const A=(C-E*i-i)/E;he.debug("abc95 (growing to fit) width",t.id,C,(p=t.size)==null?void 0:p.width,A);for(const M of t.children)M.size&&(M.size.width=A)}}t.size={width:C,height:k,x:0,y:0}}he.debug("setBlockSizes abc94 (done)",t.id,(g=t==null?void 0:t.size)==null?void 0:g.x,(m=t==null?void 0:t.size)==null?void 0:m.width,(U=t==null?void 0:t.size)==null?void 0:U.y,(y=t==null?void 0:t.size)==null?void 0:y.height)}x(mO,"setBlockSizes");function bse(t,e,r=8){var i,a,s,o,l,u,d,h,f,p,g,m,U,y,b,v,w;he.debug(`abc85 layout blocks (=>layoutBlocks) ${t.id} x: ${(i=t==null?void 0:t.size)==null?void 0:i.x} y: ${(a=t==null?void 0:t.size)==null?void 0:a.y} width: ${(s=t==null?void 0:t.size)==null?void 0:s.width}`);const n=t.columns??-1;if(he.debug("layoutBlocks columns abc95",t.id,"=>",n,t),t.children&&t.children.length>0){const T=((l=(o=t==null?void 0:t.children[0])==null?void 0:o.size)==null?void 0:l.width)??0,S=t.children.length*T+(t.children.length-1)*r;he.debug("widthOfChildren 88",S,"posX");const C=new Map;{let P=0;for(const N of t.children){if(!N.size)continue;const{py:I}=XK(n,P),L=C.get(I)??0;N.size.height>L&&C.set(I,N.size.height);let _=(N==null?void 0:N.widthInColumns)??1;n>0&&(_=Math.min(_,n-P%n)),P+=_}}const k=new Map;{let P=0;const N=[...C.keys()].sort((I,L)=>I-L);for(const I of N)k.set(I,P),P+=(C.get(I)??0)+r}let E=0;he.debug("abc91 block?.size?.x",t.id,(u=t==null?void 0:t.size)==null?void 0:u.x);let A=(d=t==null?void 0:t.size)!=null&&d.x?((h=t==null?void 0:t.size)==null?void 0:h.x)+(-((f=t==null?void 0:t.size)==null?void 0:f.width)/2||0):-r,M=0;for(const P of t.children){const N=t;if(!P.size)continue;const{width:I,height:L}=P.size,{px:_,py:D}=XK(n,E);if(D!=M&&(M=D,A=(p=t==null?void 0:t.size)!=null&&p.x?((g=t==null?void 0:t.size)==null?void 0:g.x)+(-((m=t==null?void 0:t.size)==null?void 0:m.width)/2||0):-r,he.debug("New row in layout for block",t.id," and child ",P.id,M)),he.debug(`abc89 layout blocks (child) id: ${P.id} Pos: ${E} (px, py) ${_},${D} (${(U=N==null?void 0:N.size)==null?void 0:U.x},${(y=N==null?void 0:N.size)==null?void 0:y.y}) parent: ${N.id} width: ${I}${r}`),N.size){const B=I/2;P.size.x=A+r+B,he.debug(`abc91 layout blocks (calc) px, pyid:${P.id} startingPos=X${A} new startingPosX${P.size.x} ${B} padding=${r} width=${I} halfWidth=${B} => x:${P.size.x} y:${P.size.y} ${P.widthInColumns} (width * (child?.w || 1)) / 2 ${I*((P==null?void 0:P.widthInColumns)??1)/2}`),A=P.size.x+B;const F=k.get(D)??0,z=C.get(D)??L;P.size.y=N.size.y-N.size.height/2+F+z/2+r,he.debug(`abc88 layout blocks (calc) px, pyid:${P.id}startingPosX${A}${r}${B}=>x:${P.size.x}y:${P.size.y}${P.widthInColumns}(width * (child?.w || 1)) / 2${I*((P==null?void 0:P.widthInColumns)??1)/2}`)}P.children&&bse(P,e,r);let O=(P==null?void 0:P.widthInColumns)??1;n>0&&(O=Math.min(O,n-E%n)),E+=O,he.debug("abc88 columnsPos",P,E)}}he.debug(`layout blocks (<==layoutBlocks) ${t.id} x: ${(b=t==null?void 0:t.size)==null?void 0:b.x} y: ${(v=t==null?void 0:t.size)==null?void 0:v.y} width: ${(w=t==null?void 0:t.size)==null?void 0:w.width}`)}x(bse,"layoutBlocks");function vse(t,{minX:e,minY:r,maxX:n,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(t.size&&t.id!=="root"){const{x:a,y:s,width:o,height:l}=t.size;a-o/2<e&&(e=a-o/2),s-l/2<r&&(r=s-l/2),a+o/2>n&&(n=a+o/2),s+l/2>i&&(i=s+l/2)}if(t.children)for(const a of t.children)({minX:e,minY:r,maxX:n,maxY:i}=vse(a,{minX:e,minY:r,maxX:n,maxY:i}));return{minX:e,minY:r,maxX:n,maxY:i}}x(vse,"findBounds");function dKe(t){var u,d;const e=t.getBlock("root");if(!e)return;const r=((d=(u=Ve())==null?void 0:u.block)==null?void 0:d.padding)??8;mO(e,t,0,0,r),bse(e,t,r),he.debug("getBlocks",JSON.stringify(e,null,2));const{minX:n,minY:i,maxX:a,maxY:s}=vse(e),o=s-i,l=a-n;return{x:n,y:i,width:l,height:o}}x(dKe,"layout");var H8r=x(async(t,e,r,n=!1,i=!1)=>{let a=e||"";typeof a=="object"&&(a=a[0]);const s=Ve(),o=yi(s);return await ll(t,a,{style:r,isTitle:n,useHtmlLabels:o,markdown:!1,isNode:i,width:Number.POSITIVE_INFINITY},s)},"createLabel"),wd=H8r,V8r=x((t,e,r,n,i)=>{e.arrowTypeStart&&L2e(t,"start",e.arrowTypeStart,r,n,i),e.arrowTypeEnd&&L2e(t,"end",e.arrowTypeEnd,r,n,i)},"addEdgeMarkers"),G8r={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},L2e=x((t,e,r,n,i,a)=>{const s=G8r[r];if(!s){he.warn(`Unknown arrow type: ${r}`);return}const o=e==="start"?"Start":"End";t.attr(`marker-${e}`,`url(${n}#${i}_${a}-${s}${o})`)},"addEdgeMarker"),KK={},Wo={},W8r=x(async(t,e)=>{const r=Ve(),n=yi(r),i=t.insert("g").attr("class","edgeLabel"),a=i.insert("g").attr("class","label"),s=e.labelType==="markdown",o=await ll(t,e.label,{style:e.labelStyle,useHtmlLabels:n,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);a.node().appendChild(o);let l=o.getBBox(),u=l;if(n){const h=o.children[0],f=vt(o);l=h.getBoundingClientRect(),u=l,f.attr("width",l.width),f.attr("height",l.height)}else{const h=vt(o).select("text").node();h&&typeof h.getBBox=="function"&&(u=h.getBBox())}a.attr("transform",Ah(u,n)),KK[e.id]=i,e.width=l.width,e.height=l.height;let d;if(e.startLabelLeft){const h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner"),p=await wd(f,e.startLabelLeft,e.labelStyle);d=p;let g=p.getBBox();if(n){const m=p.children[0],U=vt(p);g=m.getBoundingClientRect(),U.attr("width",g.width),U.attr("height",g.height)}f.attr("transform",Ah(g,n)),Wo[e.id]||(Wo[e.id]={}),Wo[e.id].startLeft=h,Sx(d,e.startLabelLeft)}if(e.startLabelRight){const h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner"),p=await wd(f,e.startLabelRight,e.labelStyle);d=p;let g=p.getBBox();if(n){const m=p.children[0],U=vt(p);g=m.getBoundingClientRect(),U.attr("width",g.width),U.attr("height",g.height)}f.attr("transform",Ah(g,n)),Wo[e.id]||(Wo[e.id]={}),Wo[e.id].startRight=h,Sx(d,e.startLabelRight)}if(e.endLabelLeft){const h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner"),p=await wd(h,e.endLabelLeft,e.labelStyle);d=p;let g=p.getBBox();if(n){const m=p.children[0],U=vt(p);g=m.getBoundingClientRect(),U.attr("width",g.width),U.attr("height",g.height)}f.attr("transform",Ah(g,n)),Wo[e.id]||(Wo[e.id]={}),Wo[e.id].endLeft=h,Sx(d,e.endLabelLeft)}if(e.endLabelRight){const h=t.insert("g").attr("class","edgeTerminals"),f=h.insert("g").attr("class","inner"),p=await wd(h,e.endLabelRight,e.labelStyle);d=p;let g=p.getBBox();if(n){const m=p.children[0],U=vt(p);g=m.getBoundingClientRect(),U.attr("width",g.width),U.attr("height",g.height)}f.attr("transform",Ah(g,n)),Wo[e.id]||(Wo[e.id]={}),Wo[e.id].endRight=h,Sx(d,e.endLabelRight)}return o},"insertEdgeLabel");function Sx(t,e){yi(Ve())&&t&&(t.style.width=e.length*9+"px",t.style.height="12px")}x(Sx,"setTerminalWidth");var q8r=x((t,e)=>{he.debug("Moving label abc88 ",t.id,t.label,KK[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const n=Ve(),{subGraphTitleTotalMargin:i}=K4(n);if(t.label){const a=KK[t.id];let s=t.x,o=t.y;if(r){const l=Kr.calcLabelPosition(r);he.debug("Moving label "+t.label+" from (",s,",",o,") to (",l.x,",",l.y,") abc88"),e.updatedPath&&(s=l.x,o=l.y)}a.attr("transform",`translate(${s}, ${o+i/2})`)}if(t.startLabelLeft){const a=Wo[t.id].startLeft;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.startLabelRight){const a=Wo[t.id].startRight;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelLeft){const a=Wo[t.id].endLeft;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}if(t.endLabelRight){const a=Wo[t.id].endRight;let s=t.x,o=t.y;if(r){const l=Kr.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);s=l.x,o=l.y}a.attr("transform",`translate(${s}, ${o})`)}},"positionEdgeLabel"),j8r=x((t,e)=>{const r=t.x,n=t.y,i=Math.abs(e.x-r),a=Math.abs(e.y-n),s=t.width/2,o=t.height/2;return i>=s||a>=o},"outsideNode"),Y8r=x((t,e,r)=>{he.debug(`intersection calc abc89:
outsidePoint: ${JSON.stringify(e)}
insidePoint : ${JSON.stringify(r)}
node : x:${t.x} y:${t.y} w:${t.width} h:${t.height}`);const n=t.x,i=t.y,a=Math.abs(n-r.x),s=t.width/2;let o=r.x<e.x?s-a:s+a;const l=t.height/2,u=Math.abs(e.y-r.y),d=Math.abs(e.x-r.x);if(Math.abs(i-e.y)*s>Math.abs(n-e.x)*l){let h=r.y<e.y?e.y-l-i:i-l-e.y;o=d*h/u;const f={x:r.x<e.x?r.x+o:r.x-d+o,y:r.y<e.y?r.y+u-h:r.y-u+h};return o===0&&(f.x=e.x,f.y=e.y),d===0&&(f.x=e.x),u===0&&(f.y=e.y),he.debug(`abc89 topp/bott calc, Q ${u}, q ${h}, R ${d}, r ${o}`,f),f}else{r.x<e.x?o=e.x-s-n:o=n-s-e.x;let h=u*o/d,f=r.x<e.x?r.x+d-o:r.x-d+o,p=r.y<e.y?r.y+h:r.y-h;return he.debug(`sides calc abc89, Q ${u}, q ${h}, R ${d}, r ${o}`,{_x:f,_y:p}),o===0&&(f=e.x,p=e.y),d===0&&(f=e.x),u===0&&(p=e.y),{x:f,y:p}}},"intersection"),N2e=x((t,e)=>{he.debug("abc88 cutPathAtIntersect",t,e);let r=[],n=t[0],i=!1;return t.forEach(a=>{if(!j8r(e,a)&&!i){const s=Y8r(e,n,a);let o=!1;r.forEach(l=>{o=o||l.x===s.x&&l.y===s.y}),r.some(l=>l.x===s.x&&l.y===s.y)||r.push(s),i=!0}else n=a,i||r.push(a)}),r},"cutPathAtIntersect"),X8r=x(function(t,e,r,n,i,a,s){let o=r.points;he.debug("abc88 InsertEdge: edge=",r,"e=",e);let l=!1;const u=a.node(e.v);var d=a.node(e.w);d!=null&&d.intersect&&(u!=null&&u.intersect)&&(o=o.slice(1,r.points.length-1),o.unshift(u.intersect(o[0])),o.push(d.intersect(o[o.length-1]))),r.toCluster&&(he.debug("to cluster abc88",n[r.toCluster]),o=N2e(r.points,n[r.toCluster].node),l=!0),r.fromCluster&&(he.debug("from cluster abc88",n[r.fromCluster]),o=N2e(o.reverse(),n[r.fromCluster].node).reverse(),l=!0);const h=o.filter(w=>!Number.isNaN(w.y));let f=UT;r.curve&&(i==="graph"||i==="flowchart")&&(f=r.curve);const{x:p,y:g}=mSe(r),m=mT().x(p).y(g).curve(f);let U;switch(r.thickness){case"normal":U="edge-thickness-normal";break;case"thick":U="edge-thickness-thick";break;case"invisible":U="edge-thickness-thick";break;default:U=""}switch(r.pattern){case"solid":U+=" edge-pattern-solid";break;case"dotted":U+=" edge-pattern-dotted";break;case"dashed":U+=" edge-pattern-dashed";break}const y=t.append("path").attr("d",m(h)).attr("id",r.id).attr("class"," "+U+(r.classes?" "+r.classes:"")).attr("style",r.style);let b="";(Ve().flowchart.arrowMarkerAbsolute||Ve().state.arrowMarkerAbsolute)&&(b=cD(!0)),V8r(y,r,b,s,i);let v={};return l&&(v.updatedPath=o),v.originalPath=r.points,v},"insertEdge"),K8r=x(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r);break}return e},"expandAndDeduplicateDirections"),Z8r=x((t,e,r,n)=>{const i=K8r(t),a=2,s=e.height+2*r.padding,o=s/a,l=n??e.width+2*o+r.padding,u=r.padding/2;return i.has("right")&&i.has("left")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:o,y:0},{x:l/2,y:2*u},{x:l-o,y:0},{x:l,y:0},{x:l,y:-s/3},{x:l+2*u,y:-s/2},{x:l,y:-2*s/3},{x:l,y:-s},{x:l-o,y:-s},{x:l/2,y:-s-2*u},{x:o,y:-s},{x:0,y:-s},{x:0,y:-2*s/3},{x:-2*u,y:-s/2},{x:0,y:-s/3}]:i.has("right")&&i.has("left")&&i.has("up")?[{x:o,y:0},{x:l-o,y:0},{x:l,y:-s/2},{x:l-o,y:-s},{x:o,y:-s},{x:0,y:-s/2}]:i.has("right")&&i.has("left")&&i.has("down")?[{x:0,y:0},{x:o,y:-s},{x:l-o,y:-s},{x:l,y:0}]:i.has("right")&&i.has("up")&&i.has("down")?[{x:0,y:0},{x:l,y:-o},{x:l,y:-s+o},{x:0,y:-s}]:i.has("left")&&i.has("up")&&i.has("down")?[{x:l,y:0},{x:0,y:-o},{x:0,y:-s+o},{x:l,y:-s}]:i.has("right")&&i.has("left")?[{x:o,y:0},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:0},{x:l,y:-s/2},{x:l-o,y:-s},{x:l-o,y:-s+u},{x:o,y:-s+u},{x:o,y:-s},{x:0,y:-s/2}]:i.has("up")&&i.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:o,y:-u},{x:o,y:-s+u},{x:0,y:-s+u},{x:l/2,y:-s},{x:l,y:-s+u},{x:l-o,y:-s+u},{x:l-o,y:-u},{x:l,y:-u}]:i.has("right")&&i.has("up")?[{x:0,y:0},{x:l,y:-o},{x:0,y:-s}]:i.has("right")&&i.has("down")?[{x:0,y:0},{x:l,y:0},{x:0,y:-s}]:i.has("left")&&i.has("up")?[{x:l,y:0},{x:0,y:-o},{x:l,y:-s}]:i.has("left")&&i.has("down")?[{x:l,y:0},{x:0,y:0},{x:l,y:-s}]:i.has("right")?[{x:o,y:-u},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:0},{x:l,y:-s/2},{x:l-o,y:-s},{x:l-o,y:-s+u},{x:o,y:-s+u},{x:o,y:-s+u}]:i.has("left")?[{x:o,y:0},{x:o,y:-u},{x:l-o,y:-u},{x:l-o,y:-s+u},{x:o,y:-s+u},{x:o,y:-s},{x:0,y:-s/2}]:i.has("up")?[{x:o,y:-u},{x:o,y:-s+u},{x:0,y:-s+u},{x:l/2,y:-s},{x:l,y:-s+u},{x:l-o,y:-s+u},{x:l-o,y:-u}]:i.has("down")?[{x:l/2,y:0},{x:0,y:-u},{x:o,y:-u},{x:o,y:-s+u},{x:l-o,y:-s+u},{x:l-o,y:-u},{x:l,y:-u}]:[{x:0,y:0}]},"getArrowPoints");function hKe(t,e){return t.intersect(e)}x(hKe,"intersectNode");var J8r=hKe;function fKe(t,e,r,n){var i=t.x,a=t.y,s=i-n.x,o=a-n.y,l=Math.sqrt(e*e*o*o+r*r*s*s),u=Math.abs(e*r*s/l);n.x<i&&(u=-u);var d=Math.abs(e*r*o/l);return n.y<a&&(d=-d),{x:i+u,y:a+d}}x(fKe,"intersectEllipse");var pKe=fKe;function gKe(t,e,r){return pKe(t,e,e,r)}x(gKe,"intersectCircle");var Q8r=gKe;function mKe(t,e,r,n){var i,a,s,o,l,u,d,h,f,p,g,m,U,y,b;if(i=e.y-t.y,s=t.x-e.x,l=e.x*t.y-t.x*e.y,f=i*r.x+s*r.y+l,p=i*n.x+s*n.y+l,!(f!==0&&p!==0&&ZK(f,p))&&(a=n.y-r.y,o=r.x-n.x,u=n.x*r.y-r.x*n.y,d=a*t.x+o*t.y+u,h=a*e.x+o*e.y+u,!(d!==0&&h!==0&&ZK(d,h))&&(g=i*o-a*s,g!==0)))return m=Math.abs(g/2),U=s*u-o*l,y=U<0?(U-m)/g:(U+m)/g,U=a*l-i*u,b=U<0?(U-m)/g:(U+m)/g,{x:y,y:b}}x(mKe,"intersectLine");function ZK(t,e){return t*e>0}x(ZK,"sameSign");var evr=mKe,tvr=UKe;function UKe(t,e,r){var n=t.x,i=t.y,a=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;typeof e.forEach=="function"?e.forEach(function(g){s=Math.min(s,g.x),o=Math.min(o,g.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=n-t.width/2-s,u=i-t.height/2-o,d=0;d<e.length;d++){var h=e[d],f=e[d<e.length-1?d+1:0],p=evr(t,r,{x:l+h.x,y:u+h.y},{x:l+f.x,y:u+f.y});p&&a.push(p)}return a.length?(a.length>1&&a.sort(function(g,m){var U=g.x-r.x,y=g.y-r.y,b=Math.sqrt(U*U+y*y),v=m.x-r.x,w=m.y-r.y,T=Math.sqrt(v*v+w*w);return b<T?-1:b===T?0:1}),a[0]):t}x(UKe,"intersectPolygon");var rvr=x((t,e)=>{var r=t.x,n=t.y,i=e.x-r,a=e.y-n,s=t.width/2,o=t.height/2,l,u;return Math.abs(a)*s>Math.abs(i)*o?(a<0&&(o=-o),l=a===0?0:o*i/a,u=o):(i<0&&(s=-s),l=s,u=i===0?0:s*a/i),{x:r+l,y:n+u}},"intersectRect"),nvr=rvr,ma={node:J8r,circle:Q8r,ellipse:pKe,polygon:tvr,rect:nvr},po=x(async(t,e,r,n)=>{const i=Ve();let a;const s=e.useHtmlLabels||yi(i);r?a=r:a="node default";const o=t.insert("g").attr("class",a).attr("id",e.domId||e.id),l=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u;e.labelText===void 0?u="":u=typeof e.labelText=="string"?e.labelText:e.labelText[0];let d;e.labelType==="markdown"?d=ll(l,On(O0(u),i),{useHtmlLabels:s,width:e.width||i.flowchart.wrappingWidth,classes:"markdown-node-label"},i):d=await wd(l,On(O0(u),i),e.labelStyle,!1,n);let h=d.getBBox();const f=e.padding/2;if(yi(i)){const p=d.children[0],g=vt(d);await NQ(p,u),h=p.getBoundingClientRect(),g.attr("width",h.width),g.attr("height",h.height)}return s?l.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"):l.attr("transform","translate(0, "+-h.height/2+")"),e.centerLabel&&l.attr("transform","translate("+-h.width/2+", "+-h.height/2+")"),l.insert("rect",":first-child"),{shapeSvg:o,bbox:h,halfPadding:f,label:l}},"labelHelper"),ja=x((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function th(t,e,r,n){return t.insert("polygon",":first-child").attr("points",n.map(function(i){return i.x+","+i.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}x(th,"insertPolygonShape");var ivr=x(async(t,e)=>{e.useHtmlLabels||yi(Ve())||(e.centerLabel=!0);const{shapeSvg:n,bbox:i,halfPadding:a}=await po(t,e,"node "+e.classes,!0);he.info("Classes = ",e.classes);const s=n.insert("rect",":first-child");return s.attr("rx",e.rx).attr("ry",e.ry).attr("x",-i.width/2-a).attr("y",-i.height/2-a).attr("width",i.width+e.padding).attr("height",i.height+e.padding),ja(e,s),e.intersect=function(o){return ma.rect(e,o)},n},"note"),avr=ivr,O2e=x(t=>t?" "+t:"","formatClass"),fu=x((t,e)=>`${e||"node default"}${O2e(t.classes)} ${O2e(t.class)}`,"getClassesFromNode"),D2e=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=i+a,o=[{x:s/2,y:0},{x:s,y:-s/2},{x:s/2,y:-s},{x:0,y:-s/2}];he.info("Question main (Circle)");const l=th(r,s,s,o);return l.attr("style",e.style),ja(e,l),e.intersect=function(u){return he.warn("Intersect called"),ma.polygon(e,o,u)},r},"question"),svr=x((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=28,i=[{x:0,y:n/2},{x:n/2,y:0},{x:0,y:-n/2},{x:-n/2,y:0}];return r.insert("polygon",":first-child").attr("points",i.map(function(s){return s.x+","+s.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(s){return ma.circle(e,14,s)},r},"choice"),ovr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=4,a=e.positioned?e.height:n.height+e.padding,s=a/i,o=e.positioned?e.width:n.width+2*s+e.padding,l=[{x:s,y:0},{x:o-s,y:0},{x:o,y:-a/2},{x:o-s,y:-a},{x:s,y:-a},{x:0,y:-a/2}],u=th(r,o,a,l);return u.attr("style",e.style),ja(e,u),e.intersect=function(d){return ma.polygon(e,l,d)},r},"hexagon"),lvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,void 0,!0),i=2,a=n.height+2*e.padding,s=a/i,o=n.width+2*s+e.padding,u=e.positioned&&(e.widthInColumns??1)>1&&e.width>o?e.width:o,d=Z8r(e.directions,n,e,u),h=th(r,u,a,d);return h.attr("style",e.style),ja(e,h),e.intersect=function(f){return ma.polygon(e,d,f)},r},"block_arrow"),cvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-a/2,y:0},{x:i,y:0},{x:i,y:-a},{x:-a/2,y:-a},{x:0,y:-a/2}];return th(r,i,a,s).attr("style",e.style),e.width=i+a,e.height=a,e.intersect=function(l){return ma.polygon(e,s,l)},r},"rect_left_inv_arrow"),uvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:a/6,y:-a}],o=th(r,i,a,s);return o.attr("style",e.style),ja(e,o),e.intersect=function(l){return ma.polygon(e,s,l)},r},"lean_right"),dvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:2*a/6,y:0},{x:i+a/6,y:0},{x:i-2*a/6,y:-a},{x:-a/6,y:-a}],o=th(r,i,a,s);return o.attr("style",e.style),ja(e,o),e.intersect=function(l){return ma.polygon(e,s,l)},r},"lean_left"),hvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:-2*a/6,y:0},{x:i+2*a/6,y:0},{x:i-a/6,y:-a},{x:a/6,y:-a}],o=th(r,i,a,s);return o.attr("style",e.style),ja(e,o),e.intersect=function(l){return ma.polygon(e,s,l)},r},"trapezoid"),fvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:a/6,y:0},{x:i-a/6,y:0},{x:i+2*a/6,y:-a},{x:-2*a/6,y:-a}],o=th(r,i,a,s);return o.attr("style",e.style),ja(e,o),e.intersect=function(l){return ma.polygon(e,s,l)},r},"inv_trapezoid"),pvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i+a/2,y:0},{x:i,y:-a/2},{x:i+a/2,y:-a},{x:0,y:-a}],o=th(r,i,a,s);return o.attr("style",e.style),ja(e,o),e.intersect=function(l){return ma.polygon(e,s,l)},r},"rect_right_inv_arrow"),gvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=i/2,s=a/(2.5+i/50),o=n.height+s+e.padding,l="M 0,"+s+" a "+a+","+s+" 0,0,0 "+i+" 0 a "+a+","+s+" 0,0,0 "+-i+" 0 l 0,"+o+" a "+a+","+s+" 0,0,0 "+i+" 0 l 0,"+-o,u=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-i/2+","+-(o/2+s)+")");return ja(e,u),e.intersect=function(d){const h=ma.rect(e,d),f=h.x-e.x;if(a!=0&&(Math.abs(f)<e.width/2||Math.abs(f)==e.width/2&&Math.abs(h.y-e.y)>e.height/2-s)){let p=s*s*(1-f*f/(a*a));p!=0&&(p=Math.sqrt(p)),p=s-p,d.y-e.y>0&&(p=-p),h.y+=p}return h},r},"cylinder"),mvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await po(t,e,"node "+e.classes+" "+e.class,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const d=new Set(Object.keys(e.props));e.props.borders&&(vB(a,e.props.borders,s,o),d.delete("borders")),d.forEach(h=>{he.warn(`Unknown node property ${h}`)})}return ja(e,a),e.intersect=function(d){return ma.rect(e,d)},r},"rect"),Uvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await po(t,e,"node "+e.classes,!0),a=r.insert("rect",":first-child"),s=e.positioned?e.width:n.width+e.padding,o=e.positioned?e.height:n.height+e.padding,l=e.positioned?-s/2:-n.width/2-i,u=e.positioned?-o/2:-n.height/2-i;if(a.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",u).attr("width",s).attr("height",o),e.props){const d=new Set(Object.keys(e.props));e.props.borders&&(vB(a,e.props.borders,s,o),d.delete("borders")),d.forEach(h=>{he.warn(`Unknown node property ${h}`)})}return ja(e,a),e.intersect=function(d){return ma.rect(e,d)},r},"composite"),yvr=x(async(t,e)=>{const{shapeSvg:r}=await po(t,e,"label",!0);he.trace("Classes = ",e.class);const n=r.insert("rect",":first-child"),i=0,a=0;if(n.attr("width",i).attr("height",a),r.attr("class","label edgeLabel"),e.props){const s=new Set(Object.keys(e.props));e.props.borders&&(vB(n,e.props.borders,i,a),s.delete("borders")),s.forEach(o=>{he.warn(`Unknown node property ${o}`)})}return ja(e,n),e.intersect=function(s){return ma.rect(e,s)},r},"labelRect");function vB(t,e,r,n){const i=[],a=x(o=>{i.push(o,0)},"addBorder"),s=x(o=>{i.push(0,o)},"skipBorder");e.includes("t")?(he.debug("add top border"),a(r)):s(r),e.includes("r")?(he.debug("add right border"),a(n)):s(n),e.includes("b")?(he.debug("add bottom border"),a(r)):s(r),e.includes("l")?(he.debug("add left border"),a(n)):s(n),t.attr("stroke-dasharray",i.join(" "))}x(vB,"applyNodePropertyBorders");var bvr=x(async(t,e)=>{let r;e.classes?r="node "+e.classes:r="node default";const n=t.insert("g").attr("class",r).attr("id",e.domId||e.id),i=n.insert("rect",":first-child"),a=n.insert("line"),s=n.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";typeof o=="object"?l=o[0]:l=o,he.info("Label text abc79",l,o,typeof o=="object");const u=await wd(s,l,e.labelStyle,!0,!0);let d={width:0,height:0};if(yi(Ve())){const m=u.children[0],U=vt(u);d=m.getBoundingClientRect(),U.attr("width",d.width),U.attr("height",d.height)}he.info("Text 2",o);const h=o.slice(1,o.length);let f=u.getBBox();const p=await wd(s,h.join?h.join("<br/>"):h,e.labelStyle,!0,!0);if(yi(Ve())){const m=p.children[0],U=vt(p);d=m.getBoundingClientRect(),U.attr("width",d.width),U.attr("height",d.height)}const g=e.padding/2;return vt(p).attr("transform","translate( "+(d.width>f.width?0:(f.width-d.width)/2)+", "+(f.height+g+5)+")"),vt(u).attr("transform","translate( "+(d.width<f.width?0:-(f.width-d.width)/2)+", 0)"),d=s.node().getBBox(),s.attr("transform","translate("+-d.width/2+", "+(-d.height/2-g+3)+")"),i.attr("class","outer title-state").attr("x",-d.width/2-g).attr("y",-d.height/2-g).attr("width",d.width+e.padding).attr("height",d.height+e.padding),a.attr("class","divider").attr("x1",-d.width/2-g).attr("x2",d.width/2+g).attr("y1",-d.height/2-g+f.height+g).attr("y2",-d.height/2-g+f.height+g),ja(e,i),e.intersect=function(m){return ma.rect(e,m)},n},"rectWithTitle"),vvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.height+e.padding,a=n.width+i/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",i/2).attr("ry",i/2).attr("x",-a/2).attr("y",-i/2).attr("width",a).attr("height",i);return ja(e,s),e.intersect=function(o){return ma.rect(e,o)},r},"stadium"),xvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await po(t,e,fu(e,void 0),!0),a=r.insert("circle",":first-child");return a.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),he.info("Circle main"),ja(e,a),e.intersect=function(s){return he.info("Circle intersect",e,n.width/2+i,s),ma.circle(e,n.width/2+i,s)},r},"circle"),wvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n,halfPadding:i}=await po(t,e,fu(e,void 0),!0),a=5,s=r.insert("g",":first-child"),o=s.insert("circle"),l=s.insert("circle");return s.attr("class",e.class),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i+a).attr("width",n.width+e.padding+a*2).attr("height",n.height+e.padding+a*2),l.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",n.width/2+i).attr("width",n.width+e.padding).attr("height",n.height+e.padding),he.info("DoubleCircle main"),ja(e,o),e.intersect=function(u){return he.info("DoubleCircle intersect",e,n.width/2+i+a,u),ma.circle(e,n.width/2+i+a,u)},r},"doublecircle"),Tvr=x(async(t,e)=>{const{shapeSvg:r,bbox:n}=await po(t,e,fu(e,void 0),!0),i=n.width+e.padding,a=n.height+e.padding,s=[{x:0,y:0},{x:i,y:0},{x:i,y:-a},{x:0,y:-a},{x:0,y:0},{x:-8,y:0},{x:i+8,y:0},{x:i+8,y:-a},{x:-8,y:-a},{x:-8,y:0}],o=th(r,i,a,s);return o.attr("style",e.style),ja(e,o),e.intersect=function(l){return ma.polygon(e,s,l)},r},"subroutine"),Cvr=x((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),ja(e,n),e.intersect=function(i){return ma.circle(e,7,i)},r},"start"),P2e=x((t,e,r)=>{const n=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let i=70,a=10;r==="LR"&&(i=10,a=70);const s=n.append("rect").attr("x",-1*i/2).attr("y",-1*a/2).attr("width",i).attr("height",a).attr("class","fork-join");return ja(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(o){return ma.rect(e,o)},n},"forkJoin"),Svr=x((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),n=r.insert("circle",":first-child"),i=r.insert("circle",":first-child");return i.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),n.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),ja(e,i),e.intersect=function(a){return ma.circle(e,7,a)},r},"end"),kvr=x(async(t,e)=>{var k;const r=e.padding/2,n=4,i=8;let a;e.classes?a="node "+e.classes:a="node default";const s=t.insert("g").attr("class",a).attr("id",e.domId||e.id),o=s.insert("rect",":first-child"),l=s.insert("line"),u=s.insert("line");let d=0,h=n;const f=s.insert("g").attr("class","label");let p=0;const g=(k=e.classData.annotations)==null?void 0:k[0],m=e.classData.annotations[0]?"«"+e.classData.annotations[0]+"»":"",U=await wd(f,m,e.labelStyle,!0,!0);let y=U.getBBox();if(yi(Ve())){const E=U.children[0],A=vt(U);y=E.getBoundingClientRect(),A.attr("width",y.width),A.attr("height",y.height)}e.classData.annotations[0]&&(h+=y.height+n,d+=y.width);let b=e.classData.label;e.classData.type!==void 0&&e.classData.type!==""&&(yi(Ve())?b+="&lt;"+e.classData.type+"&gt;":b+="<"+e.classData.type+">");const v=await wd(f,b,e.labelStyle,!0,!0);vt(v).attr("class","classTitle");let w=v.getBBox();if(yi(Ve())){const E=v.children[0],A=vt(v);w=E.getBoundingClientRect(),A.attr("width",w.width),A.attr("height",w.height)}h+=w.height+n,w.width>d&&(d=w.width);const T=[];e.classData.members.forEach(async E=>{const A=E.getDisplayDetails();let M=A.displayText;yi(Ve())&&(M=M.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const P=await wd(f,M,A.cssStyle?A.cssStyle:e.labelStyle,!0,!0);let N=P.getBBox();if(yi(Ve())){const I=P.children[0],L=vt(P);N=I.getBoundingClientRect(),L.attr("width",N.width),L.attr("height",N.height)}N.width>d&&(d=N.width),h+=N.height+n,T.push(P)}),h+=i;const S=[];if(e.classData.methods.forEach(async E=>{const A=E.getDisplayDetails();let M=A.displayText;yi(Ve())&&(M=M.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const P=await wd(f,M,A.cssStyle?A.cssStyle:e.labelStyle,!0,!0);let N=P.getBBox();if(yi(Ve())){const I=P.children[0],L=vt(P);N=I.getBoundingClientRect(),L.attr("width",N.width),L.attr("height",N.height)}N.width>d&&(d=N.width),h+=N.height+n,S.push(P)}),h+=i,g){let E=(d-y.width)/2;vt(U).attr("transform","translate( "+(-1*d/2+E)+", "+-1*h/2+")"),p=y.height+n}let C=(d-w.width)/2;return vt(v).attr("transform","translate( "+(-1*d/2+C)+", "+(-1*h/2+p)+")"),p+=w.height+n,l.attr("class","divider").attr("x1",-d/2-r).attr("x2",d/2+r).attr("y1",-h/2-r+i+p).attr("y2",-h/2-r+i+p),p+=i,T.forEach(E=>{vt(E).attr("transform","translate( "+-d/2+", "+(-1*h/2+p+i/2)+")");const A=E==null?void 0:E.getBBox();p+=((A==null?void 0:A.height)??0)+n}),p+=i,u.attr("class","divider").attr("x1",-d/2-r).attr("x2",d/2+r).attr("y1",-h/2-r+i+p).attr("y2",-h/2-r+i+p),p+=i,S.forEach(E=>{vt(E).attr("transform","translate( "+-d/2+", "+(-1*h/2+p)+")");const A=E==null?void 0:E.getBBox();p+=((A==null?void 0:A.height)??0)+n}),o.attr("style",e.style).attr("class","outer title-state").attr("x",-d/2-r).attr("y",-(h/2)-r).attr("width",d+e.padding).attr("height",h+e.padding),ja(e,o),e.intersect=function(E){return ma.rect(e,E)},s},"class_box"),_2e={rhombus:D2e,composite:Uvr,question:D2e,rect:mvr,labelRect:yvr,rectWithTitle:bvr,choice:svr,circle:xvr,doublecircle:wvr,stadium:vvr,hexagon:ovr,block_arrow:lvr,rect_left_inv_arrow:cvr,lean_right:uvr,lean_left:dvr,trapezoid:hvr,inv_trapezoid:fvr,rect_right_inv_arrow:pvr,cylinder:gvr,start:Cvr,end:Svr,note:avr,subroutine:Tvr,fork:P2e,join:P2e,class_box:kvr},oR={},yKe=x(async(t,e,r)=>{let n,i;if(e.link){let a;Ve().securityLevel==="sandbox"?a="_top":e.linkTarget&&(a=e.linkTarget||"_blank"),n=t.insert("svg:a").attr("xlink:href",e.link).attr("target",a),i=await _2e[e.shape](n,e,r)}else i=await _2e[e.shape](t,e,r),n=i;return e.tooltip&&i.attr("title",e.tooltip),e.class&&i.attr("class","node default "+e.class),oR[e.id]=n,e.haveCallback&&oR[e.id].attr("class",oR[e.id].attr("class")+" clickable"),n},"insertNode"),Evr=x(t=>{const e=oR[t.id];he.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=8,n=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+n-t.width/2)+", "+(t.y-t.height/2-r)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),n},"positionNode");function xse(t,e,r=!1){var p,g,m;const n=t;let i="default";(((p=n==null?void 0:n.classes)==null?void 0:p.length)||0)>0&&(i=((n==null?void 0:n.classes)??[]).join(" ")),i=i+" flowchart-label";let a=0,s="",o;switch(n.type){case"round":a=5,s="rect";break;case"composite":a=0,s="composite",o=0;break;case"square":s="rect";break;case"diamond":s="question";break;case"hexagon":s="hexagon";break;case"block_arrow":s="block_arrow";break;case"odd":s="rect_left_inv_arrow";break;case"lean_right":s="lean_right";break;case"lean_left":s="lean_left";break;case"trapezoid":s="trapezoid";break;case"inv_trapezoid":s="inv_trapezoid";break;case"rect_left_inv_arrow":s="rect_left_inv_arrow";break;case"circle":s="circle";break;case"ellipse":s="ellipse";break;case"stadium":s="stadium";break;case"subroutine":s="subroutine";break;case"cylinder":s="cylinder";break;case"group":s="rect";break;case"doublecircle":s="doublecircle";break;default:s="rect"}const l=IQ((n==null?void 0:n.styles)??[]),u=n.label,d=n.size??{width:0,height:0,x:0,y:0},h=e.getDiagramId();return{labelStyle:l.labelStyle,shape:s,labelText:u,rx:a,ry:a,class:i,style:l.style,id:n.id,domId:h?`${h}-${n.id}`:n.id,directions:n.directions,width:d.width,height:d.height,x:d.x,y:d.y,positioned:r,intersect:void 0,type:n.type,padding:o??((m=(g=xr())==null?void 0:g.block)==null?void 0:m.padding)??0,widthInColumns:n.widthInColumns??1}}x(xse,"getNodeFromBlock");async function bKe(t,e,r){const n=xse(e,r,!1);if(n.type==="group")return;const i=xr(),a=await yKe(t,n,{config:i}),s=a.node().getBBox(),o=r.getBlock(n.id);o.size={width:s.width,height:s.height,x:0,y:0,node:a},r.setBlock(o),a.remove()}x(bKe,"calculateBlockSize");async function vKe(t,e,r){const n=xse(e,r,!0);if(r.getBlock(n.id).type!=="space"){const a=xr();await yKe(t,n,{config:a}),e.intersect=n==null?void 0:n.intersect,Evr(n)}}x(vKe,"insertBlockPositioned");async function xB(t,e,r,n){for(const i of e)await n(t,i,r),i.children&&await xB(t,i.children,r,n)}x(xB,"performOperations");async function xKe(t,e,r){await xB(t,e,r,bKe)}x(xKe,"calculateBlockSizes");async function wKe(t,e,r){await xB(t,e,r,vKe)}x(wKe,"insertBlocks");async function TKe(t,e,r,n,i){const a=new rl({multigraph:!0,compound:!0});a.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const s of r)s.size&&a.setNode(s.id,{width:s.size.width,height:s.size.height,intersect:s.intersect});for(const s of e)if(s.start&&s.end){const o=n.getBlock(s.start),l=n.getBlock(s.end);if(o!=null&&o.size&&(l!=null&&l.size)){const u=o.size,d=l.size,h=[{x:u.x,y:u.y},{x:u.x+(d.x-u.x)/2,y:u.y+(d.y-u.y)/2},{x:d.x,y:d.y}],f=i?`${i}-${s.id}`:s.id,p=s.thickness==="thick"?"edge-thickness-thick":"edge-thickness-normal",g=s.pattern==="dotted"?"edge-pattern-dotted":"edge-pattern-solid",m=`${p} ${g} flowchart-link LS-a1 LE-b1`;X8r(t,{v:s.start,w:s.end,name:f},{...s,id:f,arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:h,classes:m},void 0,"block",a,i),s.label&&(await W8r(t,{...s,label:s.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:s.arrowTypeEnd,arrowTypeStart:s.arrowTypeStart,points:h,classes:m}),q8r({...s,x:h[1].x,y:h[1].y},{originalPath:h}))}}}x(TKe,"insertEdges");var Avr=x(function(t,e){return e.db.getClasses()},"getClasses"),Mvr=x(async function(t,e,r,n){const{securityLevel:i,block:a}=xr(),s=n.db;s.setDiagramId(e);let o;i==="sandbox"&&(o=vt("#i"+e));const l=vt(i==="sandbox"?o.nodes()[0].contentDocument.body:"body"),u=i==="sandbox"?l.select(`[id="${e}"]`):vt(`[id="${e}"]`);F8r(u,["point","circle","cross"],n.type,e);const h=s.getBlocks(),f=s.getBlocksFlat(),p=s.getEdges(),g=u.insert("g").attr("class","block");await xKe(g,h,s);const m=dKe(s);if(await wKe(g,h,s),await TKe(g,p,f,s,e),m){const U=m,y=Math.max(1,Math.round(.125*(U.width/U.height))),b=U.height+y+10,v=U.width+10,{useMaxWidth:w}=a;Wa(u,b,v,!!w),he.debug("Here Bounds",m,U),u.attr("viewBox",`${U.x-5} ${U.y-5} ${U.width+10} ${U.height+10}`)}},"draw"),Rvr={draw:Mvr,getClasses:Avr},Ivr={parser:s8r,db:k8r,renderer:Rvr,styles:A8r};const Lvr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Ivr},Symbol.toStringTag,{value:"Module"}));var CKe=/[─━│┃└┗├┣]/,SKe=/[└┗├┣]/,Nvr=/[─━]/,B2e=/^[\s│┃]+$/,$2e=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,F2e=/^\s*%%/,Ovr=" ";function kKe(t){return t.some(e=>CKe.test(e))}x(kKe,"isBoxDrawingFormat");function EKe(t){for(const e of t){const r=SKe.exec(e);if(r!=null&&r.index&&r.index>0)return r.index}return 4}x(EKe,"inferSegmentWidth");function AKe(t,e){return t.replace(/\bline\s+(\d+)\b/gi,(r,n)=>{const i=parseInt(n,10),a=e.get(i);return a?`line ${a}`:r})}x(AKe,"remapErrorLines");function MKe(t){const e=t.split(`
`),r=new Map;let n=-1;for(const[l,u]of e.entries())if(u.trim()==="treeView-beta"){n=l;break}if(n===-1)return{text:t,lineMap:r};const i=[];for(let l=n+1;l<e.length;l++){const u=e[l];u.trim()===""||F2e.test(u)||$2e.test(u)||B2e.test(u)||i.push(u.replace(/\t/g," "))}if(!kKe(i))return{text:t,lineMap:r};const a=EKe(i),s=[];let o=0;for(let l=0;l<=n;l++)s.push(e[l]),o++,r.set(o,l+1);for(let l=n+1;l<e.length;l++){const u=e[l],d=u.trim(),h=l+1;if(d===""){s.push(u),o++,r.set(o,h);continue}if(F2e.test(u)){s.push(u),o++,r.set(o,h);continue}if($2e.test(u)){s.push(u),o++,r.set(o,h);continue}if(B2e.test(u))continue;const f=u.replace(/\t/g," "),p=SKe.exec(f);if((p==null?void 0:p.index)!==void 0){const g=p.index,m=Math.round(g/a)+1;let U=g+1;for(;U<f.length&&Nvr.test(f[U]);)U++;for(;U<f.length&&f[U]===" ";)U++;const y=f.slice(U).trimEnd();if(!y)throw new Error(`Line ${h}: Empty node — expected a filename or directory name after the box-drawing prefix`);const b=Ovr.repeat(m);s.push(b+y),o++,r.set(o,h)}else{if(/^[\s─━│┃└┗├┣]+$/.test(f))continue;if(CKe.test(f))s.push(u),o++,r.set(o,h);else{if(/^\s+/.test(f))throw new Error(`Line ${h}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);s.push(u),o++,r.set(o,h)}}}return{text:s.join(`
`),lineMap:r}}x(MKe,"preprocessBoxDrawing");var Ch=new Yre(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),Dvr=x(()=>{Ch.reset(),Di()},"clear"),Pvr=x(()=>Ch.records.stack[0],"getRoot"),_vr=x(()=>Ch.records.cnt,"getCount"),Bvr=An.treeView,$vr=x(()=>na(Bvr,xr().treeView),"getConfig"),Fvr=x((t,e,r,n,i,a)=>{for(;t<=Ch.records.stack[Ch.records.stack.length-1].level;)Ch.records.stack.pop();const s={id:Ch.records.cnt++,level:t,name:e,nodeType:r,icon:i,cssClass:n,description:a,children:[]};Ch.records.stack[Ch.records.stack.length-1].children.push(s),Ch.records.stack.push(s)},"addNode"),zvr={clear:Dvr,addNode:Fvr,getRoot:Pvr,getCount:_vr,getConfig:$vr,getAccTitle:ia,getAccDescription:sa,getDiagramTitle:Yi,setAccDescription:aa,setAccTitle:qi,setDiagramTitle:ra},JK=zvr,Hvr=x(t=>{ec(t,JK);for(const e of t.nodes){const r=typeof e.indent=="number"?e.indent:0;let n=e.name;const i=n.endsWith("/");i&&(n=n.slice(0,-1));const a=i?"directory":"file",s=e.classAnnotation||void 0,o=e.iconAnnotation,l=o!==void 0?o||"none":void 0,u=e.descAnnotation||void 0,d=u?On(u,xr()):void 0;JK.addNode(r,n,a,s,l,d)}},"populate"),Vvr={parse:x(async t=>{const{text:e,lineMap:r}=MKe(t);try{const n=await Qu("treeView",e);he.debug(n),Hvr(n)}catch(n){throw r.size>0&&n instanceof Error&&(n.message=AKe(n.message,r)),n}},"parse")},EC={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function RKe(t,e){var i;const r=(i=e==null?void 0:e.filenameIcons)==null?void 0:i[t];if(r)return r;const n=t.lastIndexOf(".");if(n>0){const a=t.substring(n).toLowerCase(),s=e==null?void 0:e.extensionIcons;return(s==null?void 0:s[a])??(s==null?void 0:s[a.slice(1)])}}x(RKe,"detectIcon");function QK(t,e){return t.includes(":")?t:t in EC.icons||!e?`${EC.prefix}:${t}`:`${e}:${t}`}x(QK,"qualifyIcon");function wse(t,e){if(t.icon!=="none"){if(t.icon)return QK(t.icon,e.defaultIconPack);if(e.showIcons){if(t.nodeType==="file"){const r=RKe(t.name,e);if(r==="none")return;if(r)return QK(r,e.defaultIconPack)}return`${EC.prefix}:${t.nodeType==="directory"?"folder":"file"}`}}}x(wse,"getNodeIcon");OQ([{name:EC.prefix,icons:EC}]);var eZ=14,Gvr=4,Wvr=16,IKe=x((t,e)=>`tv-icon-${t}-${e.replace(/[^\w-]/g,"-")}`,"iconSymbolId"),qvr=x(async(t,e,r,n)=>{const i=new Set,a=x(l=>{const u=wse(l,r);u&&i.add(u),l.children.forEach(a)},"collect");if(a(e),i.size===0)return;const s=await Promise.all([...i].map(async l=>({icon:l,svg:await D0(l,{height:eZ,width:eZ})}))),o=t.append("defs");for(const{icon:l,svg:u}of s)o.append("g").attr("id",IKe(n,l)).html(u)},"injectIconDefs"),jvr=x((t,e,r,n,i,a)=>{var b;const s=n.append("g");let o="treeView-node-label";r.nodeType==="directory"&&(o+=" treeView-node-dir"),r.cssClass&&(o+=` ${r.cssClass}`);const l=eZ+Gvr,u=wse(r,i),d=u!==void 0;u&&s.append("use").attr("xlink:href",`#${IKe(a,u)}`).attr("x",t+i.paddingX).attr("y",e+i.paddingY).attr("class","treeView-node-icon");const h=s.append("text").text(r.name).attr("dominant-baseline","middle").attr("class",o),{height:f,width:p}=h.node().getBBox(),g=f+i.paddingY*2,m=t+i.paddingX+(d?l:0);h.attr("x",m),h.attr("y",e+g/2);const U=m+p,y=p+i.paddingX*2+(d?l:0);return r.BBox={x:t,y:e,width:y,height:g},(b=r.cssClass)!=null&&b.split(/\s+/).includes("highlight")&&s.insert("rect",":first-child").attr("x",t).attr("y",e+1).attr("width",0).attr("height",g-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:r,nodeGroup:s,labelRightEdge:U,centerY:e+g/2}},"positionLabel"),z2e=x((t,e,r,n,i,a)=>t.append("line").attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i).attr("stroke-width",a).attr("class","treeView-node-line"),"positionLine"),Yvr=x((t,e,r,n)=>{var d;let i=0,a=0;const s=[],o=x((h,f,p,g)=>{const m=g*(p.rowIndent+p.paddingX),U=jvr(m,i,f,h,p,n);s.push(U);const{height:y,width:b}=f.BBox;z2e(h,m-p.rowIndent,i+y/2,m,i+y/2,p.lineThickness),a=Math.max(a,m+b),i+=y},"drawNode"),l=x((h,f=0)=>{o(t,h,r,f),h.children.forEach(U=>{l(U,f+1)});const{x:p,y:g,height:m}=h.BBox;if(h.children.length){const{y:U,height:y}=h.children[h.children.length-1].BBox;z2e(t,p+r.paddingX,g+m,p+r.paddingX,U+y/2+r.lineThickness/2,r.lineThickness)}},"processNode");l(e);const u=s.filter(h=>h.node.description);if(u.length>0){const f=Math.max(...s.map(p=>p.labelRightEdge))+Wvr;for(const p of u){const m=p.nodeGroup.append("text").text(p.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",f).attr("y",p.centerY).node().getBBox();a=Math.max(a,f+m.width+r.paddingX)}}for(const h of s)if((d=h.node.cssClass)!=null&&d.split(/\s+/).includes("highlight")){const f=h.nodeGroup.select(".treeView-highlight-bg");if(!f.empty()){const p=a-h.node.BBox.x+8;f.attr("width",p),a=Math.max(a,h.node.BBox.x+p+2)}}return{totalHeight:i,totalWidth:a}},"drawTree"),Xvr=x(async(t,e,r,n)=>{he.debug(`Rendering treeView diagram
`+t);const i=n.db,a=i.getRoot(),s=i.getConfig(),o=sl(e);await qvr(o,a,s,e);const l=o.append("g");l.attr("class","tree-view");const{totalHeight:u,totalWidth:d}=Yvr(l,a,s,e);o.attr("viewBox",`-${s.lineThickness/2} 0 ${d} ${u}`),Wa(o,u,d,s.useMaxWidth)},"draw"),Kvr={draw:Xvr},Zvr=Kvr,Jvr={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},Qvr=x(({treeView:t})=>{const{labelFontSize:e,labelColor:r,lineColor:n,iconColor:i,descriptionColor:a,highlightBg:s,highlightStroke:o}=na(Jvr,t);return`
.treeView-node-label {
font-size: ${e};
fill: ${r};
white-space: pre;
}
.treeView-node-dir {
font-weight: bold;
}
.treeView-node-line {
stroke: ${n};
}
.treeView-node-icon {
color: ${i};
}
.treeView-node-description {
font-size: ${e};
fill: ${a};
font-style: italic;
white-space: pre;
}
.treeView-highlight-bg {
fill: ${s};
stroke: ${o};
stroke-width: 1;
}
`},"styles"),e4r=Qvr,t4r={db:JK,renderer:Zvr,parser:Vvr,styles:e4r};const r4r=Object.freeze(Object.defineProperty({__proto__:null,diagram:t4r},Symbol.toStringTag,{value:"Module"}));var lR={exports:{}},cR={exports:{}},uR={exports:{}},n4r=uR.exports,H2e;function i4r(){return H2e||(H2e=1,(function(t,e){(function(n,i){t.exports=i()})(n4r,function(){return(function(r){var n={};function i(a){if(n[a])return n[a].exports;var s=n[a]={i:a,l:!1,exports:{}};return r[a].call(s.exports,s,s.exports,i),s.l=!0,s.exports}return i.m=r,i.c=n,i.i=function(a){return a},i.d=function(a,s,o){i.o(a,s)||Object.defineProperty(a,s,{configurable:!1,enumerable:!0,get:o})},i.n=function(a){var s=a&&a.__esModule?function(){return a.default}:function(){return a};return i.d(s,"a",s),s},i.o=function(a,s){return Object.prototype.hasOwnProperty.call(a,s)},i.p="",i(i.s=28)})([(function(r,n,i){function a(){}a.QUALITY=1,a.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,a.DEFAULT_INCREMENTAL=!1,a.DEFAULT_ANIMATION_ON_LAYOUT=!0,a.DEFAULT_ANIMATION_DURING_LAYOUT=!1,a.DEFAULT_ANIMATION_PERIOD=50,a.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,a.DEFAULT_GRAPH_MARGIN=15,a.NODE_DIMENSIONS_INCLUDE_LABELS=!1,a.SIMPLE_NODE_SIZE=40,a.SIMPLE_NODE_HALF_SIZE=a.SIMPLE_NODE_SIZE/2,a.EMPTY_COMPOUND_NODE_SIZE=40,a.MIN_EDGE_LENGTH=1,a.WORLD_BOUNDARY=1e6,a.INITIAL_WORLD_BOUNDARY=a.WORLD_BOUNDARY/1e3,a.WORLD_CENTER_X=1200,a.WORLD_CENTER_Y=900,r.exports=a}),(function(r,n,i){var a=i(2),s=i(8),o=i(9);function l(d,h,f){a.call(this,f),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=f,this.bendpoints=[],this.source=d,this.target=h}l.prototype=Object.create(a.prototype);for(var u in a)l[u]=a[u];l.prototype.getSource=function(){return this.source},l.prototype.getTarget=function(){return this.target},l.prototype.isInterGraph=function(){return this.isInterGraph},l.prototype.getLength=function(){return this.length},l.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},l.prototype.getBendpoints=function(){return this.bendpoints},l.prototype.getLca=function(){return this.lca},l.prototype.getSourceInLca=function(){return this.sourceInLca},l.prototype.getTargetInLca=function(){return this.targetInLca},l.prototype.getOtherEnd=function(d){if(this.source===d)return this.target;if(this.target===d)return this.source;throw"Node is not incident with this edge"},l.prototype.getOtherEndInGraph=function(d,h){for(var f=this.getOtherEnd(d),p=h.getGraphManager().getRoot();;){if(f.getOwner()==h)return f;if(f.getOwner()==p)break;f=f.getOwner().getParent()}return null},l.prototype.updateLength=function(){var d=new Array(4);this.isOverlapingSourceAndTarget=s.getIntersection(this.target.getRect(),this.source.getRect(),d),this.isOverlapingSourceAndTarget||(this.lengthX=d[0]-d[2],this.lengthY=d[1]-d[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},l.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},r.exports=l}),(function(r,n,i){function a(s){this.vGraphObject=s}r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(13),l=i(0),u=i(16),d=i(5);function h(p,g,m,U){m==null&&U==null&&(U=g),a.call(this,U),p.graphManager!=null&&(p=p.graphManager),this.estimatedSize=s.MIN_VALUE,this.inclusionTreeDepth=s.MAX_VALUE,this.vGraphObject=U,this.edges=[],this.graphManager=p,m!=null&&g!=null?this.rect=new o(g.x,g.y,m.width,m.height):this.rect=new o}h.prototype=Object.create(a.prototype);for(var f in a)h[f]=a[f];h.prototype.getEdges=function(){return this.edges},h.prototype.getChild=function(){return this.child},h.prototype.getOwner=function(){return this.owner},h.prototype.getWidth=function(){return this.rect.width},h.prototype.setWidth=function(p){this.rect.width=p},h.prototype.getHeight=function(){return this.rect.height},h.prototype.setHeight=function(p){this.rect.height=p},h.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},h.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},h.prototype.getCenter=function(){return new d(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},h.prototype.getLocation=function(){return new d(this.rect.x,this.rect.y)},h.prototype.getRect=function(){return this.rect},h.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},h.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},h.prototype.setRect=function(p,g){this.rect.x=p.x,this.rect.y=p.y,this.rect.width=g.width,this.rect.height=g.height},h.prototype.setCenter=function(p,g){this.rect.x=p-this.rect.width/2,this.rect.y=g-this.rect.height/2},h.prototype.setLocation=function(p,g){this.rect.x=p,this.rect.y=g},h.prototype.moveBy=function(p,g){this.rect.x+=p,this.rect.y+=g},h.prototype.getEdgeListToNode=function(p){var g=[],m=this;return m.edges.forEach(function(U){if(U.target==p){if(U.source!=m)throw"Incorrect edge source!";g.push(U)}}),g},h.prototype.getEdgesBetween=function(p){var g=[],m=this;return m.edges.forEach(function(U){if(!(U.source==m||U.target==m))throw"Incorrect edge source and/or target";(U.target==p||U.source==p)&&g.push(U)}),g},h.prototype.getNeighborsList=function(){var p=new Set,g=this;return g.edges.forEach(function(m){if(m.source==g)p.add(m.target);else{if(m.target!=g)throw"Incorrect incidency!";p.add(m.source)}}),p},h.prototype.withChildren=function(){var p=new Set,g,m;if(p.add(this),this.child!=null)for(var U=this.child.getNodes(),y=0;y<U.length;y++)g=U[y],m=g.withChildren(),m.forEach(function(b){p.add(b)});return p},h.prototype.getNoOfChildren=function(){var p=0,g;if(this.child==null)p=1;else for(var m=this.child.getNodes(),U=0;U<m.length;U++)g=m[U],p+=g.getNoOfChildren();return p==0&&(p=1),p},h.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},h.prototype.calcEstimatedSize=function(){return this.child==null?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},h.prototype.scatter=function(){var p,g,m=-l.INITIAL_WORLD_BOUNDARY,U=l.INITIAL_WORLD_BOUNDARY;p=l.WORLD_CENTER_X+u.nextDouble()*(U-m)+m;var y=-l.INITIAL_WORLD_BOUNDARY,b=l.INITIAL_WORLD_BOUNDARY;g=l.WORLD_CENTER_Y+u.nextDouble()*(b-y)+y,this.rect.x=p,this.rect.y=g},h.prototype.updateBounds=function(){if(this.getChild()==null)throw"assert failed";if(this.getChild().getNodes().length!=0){var p=this.getChild();if(p.updateBounds(!0),this.rect.x=p.getLeft(),this.rect.y=p.getTop(),this.setWidth(p.getRight()-p.getLeft()),this.setHeight(p.getBottom()-p.getTop()),l.NODE_DIMENSIONS_INCLUDE_LABELS){var g=p.getRight()-p.getLeft(),m=p.getBottom()-p.getTop();this.labelWidth&&(this.labelPosHorizontal=="left"?(this.rect.x-=this.labelWidth,this.setWidth(g+this.labelWidth)):this.labelPosHorizontal=="center"&&this.labelWidth>g?(this.rect.x-=(this.labelWidth-g)/2,this.setWidth(this.labelWidth)):this.labelPosHorizontal=="right"&&this.setWidth(g+this.labelWidth)),this.labelHeight&&(this.labelPosVertical=="top"?(this.rect.y-=this.labelHeight,this.setHeight(m+this.labelHeight)):this.labelPosVertical=="center"&&this.labelHeight>m?(this.rect.y-=(this.labelHeight-m)/2,this.setHeight(this.labelHeight)):this.labelPosVertical=="bottom"&&this.setHeight(m+this.labelHeight))}}},h.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==s.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},h.prototype.transform=function(p){var g=this.rect.x;g>l.WORLD_BOUNDARY?g=l.WORLD_BOUNDARY:g<-l.WORLD_BOUNDARY&&(g=-l.WORLD_BOUNDARY);var m=this.rect.y;m>l.WORLD_BOUNDARY?m=l.WORLD_BOUNDARY:m<-l.WORLD_BOUNDARY&&(m=-l.WORLD_BOUNDARY);var U=new d(g,m),y=p.inverseTransformPoint(U);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,n,i){var a=i(0);function s(){}for(var o in a)s[o]=a[o];s.MAX_ITERATIONS=2500,s.DEFAULT_EDGE_LENGTH=50,s.DEFAULT_SPRING_STRENGTH=.45,s.DEFAULT_REPULSION_STRENGTH=4500,s.DEFAULT_GRAVITY_STRENGTH=.4,s.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,s.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,s.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,s.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,s.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,s.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,s.COOLING_ADAPTATION_FACTOR=.33,s.ADAPTATION_LOWER_NODE_LIMIT=1e3,s.ADAPTATION_UPPER_NODE_LIMIT=5e3,s.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,s.MAX_NODE_DISPLACEMENT=s.MAX_NODE_DISPLACEMENT_INCREMENTAL*3,s.MIN_REPULSION_DIST=s.DEFAULT_EDGE_LENGTH/10,s.CONVERGENCE_CHECK_PERIOD=100,s.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,s.MIN_EDGE_LENGTH=1,s.GRID_CALCULATION_CHECK_PERIOD=10,r.exports=s}),(function(r,n,i){function a(s,o){s==null&&o==null?(this.x=0,this.y=0):(this.x=s,this.y=o)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.setX=function(s){this.x=s},a.prototype.setY=function(s){this.y=s},a.prototype.getDifference=function(s){return new DimensionD(this.x-s.x,this.y-s.y)},a.prototype.getCopy=function(){return new a(this.x,this.y)},a.prototype.translate=function(s){return this.x+=s.width,this.y+=s.height,this},r.exports=a}),(function(r,n,i){var a=i(2),s=i(10),o=i(0),l=i(7),u=i(3),d=i(1),h=i(13),f=i(12),p=i(11);function g(U,y,b){a.call(this,b),this.estimatedSize=s.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=U,y!=null&&y instanceof l?this.graphManager=y:y!=null&&y instanceof Layout&&(this.graphManager=y.graphManager)}g.prototype=Object.create(a.prototype);for(var m in a)g[m]=a[m];g.prototype.getNodes=function(){return this.nodes},g.prototype.getEdges=function(){return this.edges},g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getParent=function(){return this.parent},g.prototype.getLeft=function(){return this.left},g.prototype.getRight=function(){return this.right},g.prototype.getTop=function(){return this.top},g.prototype.getBottom=function(){return this.bottom},g.prototype.isConnected=function(){return this.isConnected},g.prototype.add=function(U,y,b){if(y==null&&b==null){var v=U;if(this.graphManager==null)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(v)>-1)throw"Node already in graph!";return v.owner=this,this.getNodes().push(v),v}else{var w=U;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:(w.source=y,w.target=b,w.isInterGraph=!1,this.getEdges().push(w),y.edges.push(w),b!=y&&b.edges.push(w),w)}},g.prototype.remove=function(U){var y=U;if(U instanceof u){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(),v,w=b.length,T=0;T<w;T++)v=b[T],v.isInterGraph?this.graphManager.remove(v):v.source.owner.remove(v);var S=this.nodes.indexOf(y);if(S==-1)throw"Node not in owner node list!";this.nodes.splice(S,1)}else if(U instanceof d){var v=U;if(v==null)throw"Edge is null!";if(!(v.source!=null&&v.target!=null))throw"Source and/or target is null!";if(!(v.source.owner!=null&&v.target.owner!=null&&v.source.owner==this&&v.target.owner==this))throw"Source and/or target owner is invalid!";var C=v.source.edges.indexOf(v),k=v.target.edges.indexOf(v);if(!(C>-1&&k>-1))throw"Source and/or target doesn't know this edge!";v.source.edges.splice(C,1),v.target!=v.source&&v.target.edges.splice(k,1);var S=v.source.owner.getEdges().indexOf(v);if(S==-1)throw"Not in owner's edge list!";v.source.owner.getEdges().splice(S,1)}},g.prototype.updateLeftTop=function(){for(var U=s.MAX_VALUE,y=s.MAX_VALUE,b,v,w,T=this.getNodes(),S=T.length,C=0;C<S;C++){var k=T[C];b=k.getTop(),v=k.getLeft(),U>b&&(U=b),y>v&&(y=v)}return U==s.MAX_VALUE?null:(T[0].getParent().paddingLeft!=null?w=T[0].getParent().paddingLeft:w=this.margin,this.left=y-w,this.top=U-w,new f(this.left,this.top))},g.prototype.updateBounds=function(U){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,v=s.MAX_VALUE,w=-s.MAX_VALUE,T,S,C,k,E,A=this.nodes,M=A.length,P=0;P<M;P++){var N=A[P];U&&N.child!=null&&N.updateBounds(),T=N.getLeft(),S=N.getRight(),C=N.getTop(),k=N.getBottom(),y>T&&(y=T),b<S&&(b=S),v>C&&(v=C),w<k&&(w=k)}var I=new h(y,v,b-y,w-v);y==s.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),A[0].getParent().paddingLeft!=null?E=A[0].getParent().paddingLeft:E=this.margin,this.left=I.x-E,this.right=I.x+I.width+E,this.top=I.y-E,this.bottom=I.y+I.height+E},g.calculateBounds=function(U){for(var y=s.MAX_VALUE,b=-s.MAX_VALUE,v=s.MAX_VALUE,w=-s.MAX_VALUE,T,S,C,k,E=U.length,A=0;A<E;A++){var M=U[A];T=M.getLeft(),S=M.getRight(),C=M.getTop(),k=M.getBottom(),y>T&&(y=T),b<S&&(b=S),v>C&&(v=C),w<k&&(w=k)}var P=new h(y,v,b-y,w-v);return P},g.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},g.prototype.getEstimatedSize=function(){if(this.estimatedSize==s.MIN_VALUE)throw"assert failed";return this.estimatedSize},g.prototype.calcEstimatedSize=function(){for(var U=0,y=this.nodes,b=y.length,v=0;v<b;v++){var w=y[v];U+=w.calcEstimatedSize()}return U==0?this.estimatedSize=o.EMPTY_COMPOUND_NODE_SIZE:this.estimatedSize=U/Math.sqrt(this.nodes.length),this.estimatedSize},g.prototype.updateConnected=function(){var U=this;if(this.nodes.length==0){this.isConnected=!0;return}var y=new p,b=new Set,v=this.nodes[0],w,T,S=v.withChildren();for(S.forEach(function(P){y.push(P),b.add(P)});y.length!==0;){v=y.shift(),w=v.getEdges();for(var C=w.length,k=0;k<C;k++){var E=w[k];if(T=E.getOtherEndInGraph(v,this),T!=null&&!b.has(T)){var A=T.withChildren();A.forEach(function(P){y.push(P),b.add(P)})}}}if(this.isConnected=!1,b.size>=this.nodes.length){var M=0;b.forEach(function(P){P.owner==U&&M++}),M==this.nodes.length&&(this.isConnected=!0)}},r.exports=g}),(function(r,n,i){var a,s=i(1);function o(l){a=i(6),this.layout=l,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var l=this.layout.newGraph(),u=this.layout.newNode(null),d=this.add(l,u);return this.setRootGraph(d),this.rootGraph},o.prototype.add=function(l,u,d,h,f){if(d==null&&h==null&&f==null){if(l==null)throw"Graph is null!";if(u==null)throw"Parent node is null!";if(this.graphs.indexOf(l)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(l),l.parent!=null)throw"Already has a parent!";if(u.child!=null)throw"Already has a child!";return l.parent=u,u.child=l,l}else{f=d,h=u,d=l;var p=h.getOwner(),g=f.getOwner();if(!(p!=null&&p.getGraphManager()==this))throw"Source not in this graph mgr!";if(!(g!=null&&g.getGraphManager()==this))throw"Target not in this graph mgr!";if(p==g)return d.isInterGraph=!1,p.add(d,h,f);if(d.isInterGraph=!0,d.source=h,d.target=f,this.edges.indexOf(d)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(d),!(d.source!=null&&d.target!=null))throw"Edge source and/or target is null!";if(!(d.source.edges.indexOf(d)==-1&&d.target.edges.indexOf(d)==-1))throw"Edge already in source and/or target incidency list!";return d.source.edges.push(d),d.target.edges.push(d),d}},o.prototype.remove=function(l){if(l instanceof a){var u=l;if(u.getGraphManager()!=this)throw"Graph not in this graph mgr";if(!(u==this.rootGraph||u.parent!=null&&u.parent.graphManager==this))throw"Invalid parent node!";var d=[];d=d.concat(u.getEdges());for(var h,f=d.length,p=0;p<f;p++)h=d[p],u.remove(h);var g=[];g=g.concat(u.getNodes());var m;f=g.length;for(var p=0;p<f;p++)m=g[p],u.remove(m);u==this.rootGraph&&this.setRootGraph(null);var U=this.graphs.indexOf(u);this.graphs.splice(U,1),u.parent=null}else if(l instanceof s){if(h=l,h==null)throw"Edge is null!";if(!h.isInterGraph)throw"Not an inter-graph edge!";if(!(h.source!=null&&h.target!=null))throw"Source and/or target is null!";if(!(h.source.edges.indexOf(h)!=-1&&h.target.edges.indexOf(h)!=-1))throw"Source and/or target doesn't know this edge!";var U=h.source.edges.indexOf(h);if(h.source.edges.splice(U,1),U=h.target.edges.indexOf(h),h.target.edges.splice(U,1),!(h.source.owner!=null&&h.source.owner.getGraphManager()!=null))throw"Edge owner graph or owner graph manager is null!";if(h.source.owner.getGraphManager().edges.indexOf(h)==-1)throw"Not in owner graph manager's edge list!";var U=h.source.owner.getGraphManager().edges.indexOf(h);h.source.owner.getGraphManager().edges.splice(U,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(this.allNodes==null){for(var l=[],u=this.getGraphs(),d=u.length,h=0;h<d;h++)l=l.concat(u[h].getNodes());this.allNodes=l}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(this.allEdges==null){var l=[],u=this.getGraphs();u.length;for(var d=0;d<u.length;d++)l=l.concat(u[d].getEdges());l=l.concat(this.edges),this.allEdges=l}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(l){if(this.allNodesToApplyGravitation!=null)throw"assert failed";this.allNodesToApplyGravitation=l},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(l){if(l.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=l,l.parent==null&&(l.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(l,u){if(!(l!=null&&u!=null))throw"assert failed";if(l==u)return!0;var d=l.getOwner(),h;do{if(h=d.getParent(),h==null)break;if(h==u)return!0;if(d=h.getOwner(),d==null)break}while(!0);d=u.getOwner();do{if(h=d.getParent(),h==null)break;if(h==l)return!0;if(d=h.getOwner(),d==null)break}while(!0);return!1},o.prototype.calcLowestCommonAncestors=function(){for(var l,u,d,h,f,p=this.getAllEdges(),g=p.length,m=0;m<g;m++){if(l=p[m],u=l.source,d=l.target,l.lca=null,l.sourceInLca=u,l.targetInLca=d,u==d){l.lca=u.getOwner();continue}for(h=u.getOwner();l.lca==null;){for(l.targetInLca=d,f=d.getOwner();l.lca==null;){if(f==h){l.lca=f;break}if(f==this.rootGraph)break;if(l.lca!=null)throw"assert failed";l.targetInLca=f.getParent(),f=l.targetInLca.getOwner()}if(h==this.rootGraph)break;l.lca==null&&(l.sourceInLca=h.getParent(),h=l.sourceInLca.getOwner())}if(l.lca==null)throw"assert failed"}},o.prototype.calcLowestCommonAncestor=function(l,u){if(l==u)return l.getOwner();var d=l.getOwner();do{if(d==null)break;var h=u.getOwner();do{if(h==null)break;if(h==d)return h;h=h.getParent().getOwner()}while(!0);d=d.getParent().getOwner()}while(!0);return d},o.prototype.calcInclusionTreeDepths=function(l,u){l==null&&u==null&&(l=this.rootGraph,u=1);for(var d,h=l.getNodes(),f=h.length,p=0;p<f;p++)d=h[p],d.inclusionTreeDepth=u,d.child!=null&&this.calcInclusionTreeDepths(d.child,u+1)},o.prototype.includesInvalidEdge=function(){for(var l,u=[],d=this.edges.length,h=0;h<d;h++)l=this.edges[h],this.isOneAncestorOfOther(l.source,l.target)&&u.push(l);for(var h=0;h<u.length;h++)this.remove(u[h]);return!1},r.exports=o}),(function(r,n,i){var a=i(12);function s(){}s.calcSeparationAmount=function(o,l,u,d){if(!o.intersects(l))throw"assert failed";var h=new Array(2);this.decideDirectionsForOverlappingNodes(o,l,h),u[0]=Math.min(o.getRight(),l.getRight())-Math.max(o.x,l.x),u[1]=Math.min(o.getBottom(),l.getBottom())-Math.max(o.y,l.y),o.getX()<=l.getX()&&o.getRight()>=l.getRight()?u[0]+=Math.min(l.getX()-o.getX(),o.getRight()-l.getRight()):l.getX()<=o.getX()&&l.getRight()>=o.getRight()&&(u[0]+=Math.min(o.getX()-l.getX(),l.getRight()-o.getRight())),o.getY()<=l.getY()&&o.getBottom()>=l.getBottom()?u[1]+=Math.min(l.getY()-o.getY(),o.getBottom()-l.getBottom()):l.getY()<=o.getY()&&l.getBottom()>=o.getBottom()&&(u[1]+=Math.min(o.getY()-l.getY(),l.getBottom()-o.getBottom()));var f=Math.abs((l.getCenterY()-o.getCenterY())/(l.getCenterX()-o.getCenterX()));l.getCenterY()===o.getCenterY()&&l.getCenterX()===o.getCenterX()&&(f=1);var p=f*u[0],g=u[1]/f;u[0]<g?g=u[0]:p=u[1],u[0]=-1*h[0]*(g/2+d),u[1]=-1*h[1]*(p/2+d)},s.decideDirectionsForOverlappingNodes=function(o,l,u){o.getCenterX()<l.getCenterX()?u[0]=-1:u[0]=1,o.getCenterY()<l.getCenterY()?u[1]=-1:u[1]=1},s.getIntersection2=function(o,l,u){var d=o.getCenterX(),h=o.getCenterY(),f=l.getCenterX(),p=l.getCenterY();if(o.intersects(l))return u[0]=d,u[1]=h,u[2]=f,u[3]=p,!0;var g=o.getX(),m=o.getY(),U=o.getRight(),y=o.getX(),b=o.getBottom(),v=o.getRight(),w=o.getWidthHalf(),T=o.getHeightHalf(),S=l.getX(),C=l.getY(),k=l.getRight(),E=l.getX(),A=l.getBottom(),M=l.getRight(),P=l.getWidthHalf(),N=l.getHeightHalf(),I=!1,L=!1;if(d===f){if(h>p)return u[0]=d,u[1]=m,u[2]=f,u[3]=A,!1;if(h<p)return u[0]=d,u[1]=b,u[2]=f,u[3]=C,!1}else if(h===p){if(d>f)return u[0]=g,u[1]=h,u[2]=k,u[3]=p,!1;if(d<f)return u[0]=U,u[1]=h,u[2]=S,u[3]=p,!1}else{var _=o.height/o.width,D=l.height/l.width,O=(p-h)/(f-d),B=void 0,F=void 0,z=void 0,$=void 0,H=void 0,V=void 0;if(-_===O?d>f?(u[0]=y,u[1]=b,I=!0):(u[0]=U,u[1]=m,I=!0):_===O&&(d>f?(u[0]=g,u[1]=m,I=!0):(u[0]=v,u[1]=b,I=!0)),-D===O?f>d?(u[2]=E,u[3]=A,L=!0):(u[2]=k,u[3]=C,L=!0):D===O&&(f>d?(u[2]=S,u[3]=C,L=!0):(u[2]=M,u[3]=A,L=!0)),I&&L)return!1;if(d>f?h>p?(B=this.getCardinalDirection(_,O,4),F=this.getCardinalDirection(D,O,2)):(B=this.getCardinalDirection(-_,O,3),F=this.getCardinalDirection(-D,O,1)):h>p?(B=this.getCardinalDirection(-_,O,1),F=this.getCardinalDirection(-D,O,3)):(B=this.getCardinalDirection(_,O,2),F=this.getCardinalDirection(D,O,4)),!I)switch(B){case 1:$=m,z=d+-T/O,u[0]=z,u[1]=$;break;case 2:z=v,$=h+w*O,u[0]=z,u[1]=$;break;case 3:$=b,z=d+T/O,u[0]=z,u[1]=$;break;case 4:z=y,$=h+-w*O,u[0]=z,u[1]=$;break}if(!L)switch(F){case 1:V=C,H=f+-N/O,u[2]=H,u[3]=V;break;case 2:H=M,V=p+P*O,u[2]=H,u[3]=V;break;case 3:V=A,H=f+N/O,u[2]=H,u[3]=V;break;case 4:H=E,V=p+-P*O,u[2]=H,u[3]=V;break}}return!1},s.getCardinalDirection=function(o,l,u){return o>l?u:1+u%4},s.getIntersection=function(o,l,u,d){if(d==null)return this.getIntersection2(o,l,u);var h=o.x,f=o.y,p=l.x,g=l.y,m=u.x,U=u.y,y=d.x,b=d.y,v=void 0,w=void 0,T=void 0,S=void 0,C=void 0,k=void 0,E=void 0,A=void 0,M=void 0;return T=g-f,C=h-p,E=p*f-h*g,S=b-U,k=m-y,A=y*U-m*b,M=T*k-S*C,M===0?null:(v=(C*A-k*E)/M,w=(S*E-T*A)/M,new a(v,w))},s.angleOfVector=function(o,l,u,d){var h=void 0;return o!==u?(h=Math.atan((d-l)/(u-o)),u<o?h+=Math.PI:d<l&&(h+=this.TWO_PI)):d<l?h=this.ONE_AND_HALF_PI:h=this.HALF_PI,h},s.doIntersect=function(o,l,u,d){var h=o.x,f=o.y,p=l.x,g=l.y,m=u.x,U=u.y,y=d.x,b=d.y,v=(p-h)*(b-U)-(y-m)*(g-f);if(v===0)return!1;var w=((b-U)*(y-h)+(m-y)*(b-f))/v,T=((f-g)*(y-h)+(p-h)*(b-f))/v;return 0<w&&w<1&&0<T&&T<1},s.findCircleLineIntersections=function(o,l,u,d,h,f,p){var g=(u-o)*(u-o)+(d-l)*(d-l),m=2*((o-h)*(u-o)+(l-f)*(d-l)),U=(o-h)*(o-h)+(l-f)*(l-f)-p*p,y=m*m-4*g*U;if(y>=0){var b=(-m+Math.sqrt(m*m-4*g*U))/(2*g),v=(-m-Math.sqrt(m*m-4*g*U))/(2*g),w=null;return b>=0&&b<=1?[b]:v>=0&&v<=1?[v]:w}else return null},s.HALF_PI=.5*Math.PI,s.ONE_AND_HALF_PI=1.5*Math.PI,s.TWO_PI=2*Math.PI,s.THREE_PI=3*Math.PI,r.exports=s}),(function(r,n,i){function a(){}a.sign=function(s){return s>0?1:s<0?-1:0},a.floor=function(s){return s<0?Math.ceil(s):Math.floor(s)},a.ceil=function(s){return s<0?Math.floor(s):Math.ceil(s)},r.exports=a}),(function(r,n,i){function a(){}a.MAX_VALUE=2147483647,a.MIN_VALUE=-2147483648,r.exports=a}),(function(r,n,i){var a=(function(){function h(f,p){for(var g=0;g<p.length;g++){var m=p[g];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(f,m.key,m)}}return function(f,p,g){return p&&h(f.prototype,p),g&&h(f,g),f}})();function s(h,f){if(!(h instanceof f))throw new TypeError("Cannot call a class as a function")}var o=function(f){return{value:f,next:null,prev:null}},l=function(f,p,g,m){return f!==null?f.next=p:m.head=p,g!==null?g.prev=p:m.tail=p,p.prev=f,p.next=g,m.length++,p},u=function(f,p){var g=f.prev,m=f.next;return g!==null?g.next=m:p.head=m,m!==null?m.prev=g:p.tail=g,f.prev=f.next=null,p.length--,f},d=(function(){function h(f){var p=this;s(this,h),this.length=0,this.head=null,this.tail=null,f!=null&&f.forEach(function(g){return p.push(g)})}return a(h,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(p,g){return l(g.prev,o(p),g,this)}},{key:"insertAfter",value:function(p,g){return l(g,o(p),g.next,this)}},{key:"insertNodeBefore",value:function(p,g){return l(g.prev,p,g,this)}},{key:"insertNodeAfter",value:function(p,g){return l(g,p,g.next,this)}},{key:"push",value:function(p){return l(this.tail,o(p),null,this)}},{key:"unshift",value:function(p){return l(null,o(p),this.head,this)}},{key:"remove",value:function(p){return u(p,this)}},{key:"pop",value:function(){return u(this.tail,this).value}},{key:"popNode",value:function(){return u(this.tail,this)}},{key:"shift",value:function(){return u(this.head,this).value}},{key:"shiftNode",value:function(){return u(this.head,this)}},{key:"get_object_at",value:function(p){if(p<=this.length()){for(var g=1,m=this.head;g<p;)m=m.next,g++;return m.value}}},{key:"set_object_at",value:function(p,g){if(p<=this.length()){for(var m=1,U=this.head;m<p;)U=U.next,m++;U.value=g}}}]),h})();r.exports=d}),(function(r,n,i){function a(s,o,l){this.x=null,this.y=null,s==null&&o==null&&l==null?(this.x=0,this.y=0):typeof s=="number"&&typeof o=="number"&&l==null?(this.x=s,this.y=o):s.constructor.name=="Point"&&o==null&&l==null&&(l=s,this.x=l.x,this.y=l.y)}a.prototype.getX=function(){return this.x},a.prototype.getY=function(){return this.y},a.prototype.getLocation=function(){return new a(this.x,this.y)},a.prototype.setLocation=function(s,o,l){s.constructor.name=="Point"&&o==null&&l==null?(l=s,this.setLocation(l.x,l.y)):typeof s=="number"&&typeof o=="number"&&l==null&&(parseInt(s)==s&&parseInt(o)==o?this.move(s,o):(this.x=Math.floor(s+.5),this.y=Math.floor(o+.5)))},a.prototype.move=function(s,o){this.x=s,this.y=o},a.prototype.translate=function(s,o){this.x+=s,this.y+=o},a.prototype.equals=function(s){if(s.constructor.name=="Point"){var o=s;return this.x==o.x&&this.y==o.y}return this==s},a.prototype.toString=function(){return new a().constructor.name+"[x="+this.x+",y="+this.y+"]"},r.exports=a}),(function(r,n,i){function a(s,o,l,u){this.x=0,this.y=0,this.width=0,this.height=0,s!=null&&o!=null&&l!=null&&u!=null&&(this.x=s,this.y=o,this.width=l,this.height=u)}a.prototype.getX=function(){return this.x},a.prototype.setX=function(s){this.x=s},a.prototype.getY=function(){return this.y},a.prototype.setY=function(s){this.y=s},a.prototype.getWidth=function(){return this.width},a.prototype.setWidth=function(s){this.width=s},a.prototype.getHeight=function(){return this.height},a.prototype.setHeight=function(s){this.height=s},a.prototype.getRight=function(){return this.x+this.width},a.prototype.getBottom=function(){return this.y+this.height},a.prototype.intersects=function(s){return!(this.getRight()<s.x||this.getBottom()<s.y||s.getRight()<this.x||s.getBottom()<this.y)},a.prototype.getCenterX=function(){return this.x+this.width/2},a.prototype.getMinX=function(){return this.getX()},a.prototype.getMaxX=function(){return this.getX()+this.width},a.prototype.getCenterY=function(){return this.y+this.height/2},a.prototype.getMinY=function(){return this.getY()},a.prototype.getMaxY=function(){return this.getY()+this.height},a.prototype.getWidthHalf=function(){return this.width/2},a.prototype.getHeightHalf=function(){return this.height/2},r.exports=a}),(function(r,n,i){var a=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(o){return typeof o}:function(o){return o&&typeof Symbol=="function"&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o};function s(){}s.lastID=0,s.createID=function(o){return s.isPrimitive(o)?o:(o.uniqueID!=null||(o.uniqueID=s.getString(),s.lastID++),o.uniqueID)},s.getString=function(o){return o==null&&(o=s.lastID),"Object#"+o},s.isPrimitive=function(o){var l=typeof o>"u"?"undefined":a(o);return o==null||l!="object"&&l!="function"},r.exports=s}),(function(r,n,i){function a(m){if(Array.isArray(m)){for(var U=0,y=Array(m.length);U<m.length;U++)y[U]=m[U];return y}else return Array.from(m)}var s=i(0),o=i(7),l=i(3),u=i(1),d=i(6),h=i(5),f=i(17),p=i(29);function g(m){p.call(this),this.layoutQuality=s.QUALITY,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=s.DEFAULT_INCREMENTAL,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,m!=null&&(this.isRemoteUse=m)}g.RANDOM_SEED=1,g.prototype=Object.create(p.prototype),g.prototype.getGraphManager=function(){return this.graphManager},g.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},g.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},g.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},g.prototype.newGraphManager=function(){var m=new o(this);return this.graphManager=m,m},g.prototype.newGraph=function(m){return new d(null,this.graphManager,m)},g.prototype.newNode=function(m){return new l(this.graphManager,m)},g.prototype.newEdge=function(m){return new u(null,null,m)},g.prototype.checkLayoutSuccess=function(){return this.graphManager.getRoot()==null||this.graphManager.getRoot().getNodes().length==0||this.graphManager.includesInvalidEdge()},g.prototype.runLayout=function(){this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters();var m;return this.checkLayoutSuccess()?m=!1:m=this.layout(),s.ANIMATE==="during"?!1:(m&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,m)},g.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},g.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var m=this.graphManager.getAllEdges(),U=0;U<m.length;U++)m[U];for(var y=this.graphManager.getRoot().getNodes(),U=0;U<y.length;U++)y[U];this.update(this.graphManager.getRoot())}},g.prototype.update=function(m){if(m==null)this.update2();else if(m instanceof l){var U=m;if(U.getChild()!=null)for(var y=U.getChild().getNodes(),b=0;b<y.length;b++)update(y[b]);if(U.vGraphObject!=null){var v=U.vGraphObject;v.update(U)}}else if(m instanceof u){var w=m;if(w.vGraphObject!=null){var T=w.vGraphObject;T.update(w)}}else if(m instanceof d){var S=m;if(S.vGraphObject!=null){var C=S.vGraphObject;C.update(S)}}},g.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=s.QUALITY,this.animationDuringLayout=s.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=s.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=s.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=s.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=s.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=s.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},g.prototype.transform=function(m){if(m==null)this.transform(new h(0,0));else{var U=new f,y=this.graphManager.getRoot().updateLeftTop();if(y!=null){U.setWorldOrgX(m.x),U.setWorldOrgY(m.y),U.setDeviceOrgX(y.x),U.setDeviceOrgY(y.y);for(var b=this.getAllNodes(),v,w=0;w<b.length;w++)v=b[w],v.transform(U)}}},g.prototype.positionNodesRandomly=function(m){if(m==null)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var U,y,b=m.getNodes(),v=0;v<b.length;v++)U=b[v],y=U.getChild(),y==null||y.getNodes().length==0?U.scatter():(this.positionNodesRandomly(y),U.updateBounds())},g.prototype.getFlatForest=function(){for(var m=[],U=!0,y=this.graphManager.getRoot().getNodes(),b=!0,v=0;v<y.length;v++)y[v].getChild()!=null&&(b=!1);if(!b)return m;var w=new Set,T=[],S=new Map,C=[];for(C=C.concat(y);C.length>0&&U;){for(T.push(C[0]);T.length>0&&U;){var k=T[0];T.splice(0,1),w.add(k);for(var E=k.getEdges(),v=0;v<E.length;v++){var A=E[v].getOtherEnd(k);if(S.get(k)!=A)if(!w.has(A))T.push(A),S.set(A,k);else{U=!1;break}}}if(!U)m=[];else{var M=[].concat(a(w));m.push(M);for(var v=0;v<M.length;v++){var P=M[v],N=C.indexOf(P);N>-1&&C.splice(N,1)}w=new Set,S=new Map}}return m},g.prototype.createDummyNodesForBendpoints=function(m){for(var U=[],y=m.source,b=this.graphManager.calcLowestCommonAncestor(m.source,m.target),v=0;v<m.bendpoints.length;v++){var w=this.newNode(null);w.setRect(new Point(0,0),new Dimension(1,1)),b.add(w);var T=this.newEdge(null);this.graphManager.add(T,y,w),U.add(w),y=w}var T=this.newEdge(null);return this.graphManager.add(T,y,m.target),this.edgeToDummyNodes.set(m,U),m.isInterGraph()?this.graphManager.remove(m):b.remove(m),U},g.prototype.createBendpointsFromDummyNodes=function(){var m=[];m=m.concat(this.graphManager.getAllEdges()),m=[].concat(a(this.edgeToDummyNodes.keys())).concat(m);for(var U=0;U<m.length;U++){var y=m[U];if(y.bendpoints.length>0){for(var b=this.edgeToDummyNodes.get(y),v=0;v<b.length;v++){var w=b[v],T=new h(w.getCenterX(),w.getCenterY()),S=y.bendpoints.get(v);S.x=T.x,S.y=T.y,w.getOwner().remove(w)}this.graphManager.add(y,y.source,y.target)}}},g.transform=function(m,U,y,b){if(y!=null&&b!=null){var v=U;if(m<=50){var w=U/y;v-=(U-w)/50*(50-m)}else{var T=U*b;v+=(T-U)/50*(m-50)}return v}else{var S,C;return m<=50?(S=9*U/500,C=U/10):(S=9*U/50,C=-8*U),S*m+C}},g.findCenterOfTree=function(m){var U=[];U=U.concat(m);var y=[],b=new Map,v=!1,w=null;(U.length==1||U.length==2)&&(v=!0,w=U[0]);for(var T=0;T<U.length;T++){var S=U[T],C=S.getNeighborsList().size;b.set(S,S.getNeighborsList().size),C==1&&y.push(S)}var k=[];for(k=k.concat(y);!v;){var E=[];E=E.concat(k),k=[];for(var T=0;T<U.length;T++){var S=U[T],A=U.indexOf(S);A>=0&&U.splice(A,1);var M=S.getNeighborsList();M.forEach(function(I){if(y.indexOf(I)<0){var L=b.get(I),_=L-1;_==1&&k.push(I),b.set(I,_)}})}y=y.concat(k),(U.length==1||U.length==2)&&(v=!0,w=U[0])}return w},g.prototype.setGraphManager=function(m){this.graphManager=m},r.exports=g}),(function(r,n,i){function a(){}a.seed=1,a.x=0,a.nextDouble=function(){return a.x=Math.sin(a.seed++)*1e4,a.x-Math.floor(a.x)},r.exports=a}),(function(r,n,i){var a=i(5);function s(o,l){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 l=0,u=this.lworldExtX;return u!=0&&(l=this.ldeviceOrgX+(o-this.lworldOrgX)*this.ldeviceExtX/u),l},s.prototype.transformY=function(o){var l=0,u=this.lworldExtY;return u!=0&&(l=this.ldeviceOrgY+(o-this.lworldOrgY)*this.ldeviceExtY/u),l},s.prototype.inverseTransformX=function(o){var l=0,u=this.ldeviceExtX;return u!=0&&(l=this.lworldOrgX+(o-this.ldeviceOrgX)*this.lworldExtX/u),l},s.prototype.inverseTransformY=function(o){var l=0,u=this.ldeviceExtY;return u!=0&&(l=this.lworldOrgY+(o-this.ldeviceOrgY)*this.lworldExtY/u),l},s.prototype.inverseTransformPoint=function(o){var l=new a(this.inverseTransformX(o.x),this.inverseTransformY(o.y));return l},r.exports=s}),(function(r,n,i){function a(p){if(Array.isArray(p)){for(var g=0,m=Array(p.length);g<p.length;g++)m[g]=p[g];return m}else return Array.from(p)}var s=i(15),o=i(4),l=i(0),u=i(8),d=i(9);function h(){s.call(this),this.useSmartIdealEdgeLengthCalculation=o.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=o.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=o.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=o.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=o.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=o.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=o.MAX_ITERATIONS}h.prototype=Object.create(s.prototype);for(var f in s)h[f]=s[f];h.prototype.initParameters=function(){s.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=o.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var p,g,m,U,y,b,v,w=this.getGraphManager().getAllEdges(),T=0;T<w.length;T++)p=w[T],g=p.idealLength,p.isInterGraph&&(U=p.getSource(),y=p.getTarget(),b=p.getSourceInLca().getEstimatedSize(),v=p.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(p.idealLength+=b+v-2*l.SIMPLE_NODE_SIZE),m=p.getLca().getInclusionTreeDepth(),p.idealLength+=g*o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(U.getInclusionTreeDepth()+y.getInclusionTreeDepth()-2*m))},h.prototype.initSpringEmbedder=function(){var p=this.getAllNodes().length;this.incremental?(p>o.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*o.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(p-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):(p>o.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(o.COOLING_ADAPTATION_FACTOR,1-(p-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.displacementThresholdPerNode=3*o.DEFAULT_EDGE_LENGTH/100,this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var p=this.getAllEdges(),g,m=0;m<p.length;m++)g=p[m],this.calcSpringForce(g,g.idealLength)},h.prototype.calcRepulsionForces=function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,m,U,y,b,v=this.getAllNodes(),w;if(this.useFRGridVariant)for(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&p&&this.updateGrid(),w=new Set,m=0;m<v.length;m++)y=v[m],this.calculateRepulsionForceOfANode(y,w,p,g),w.add(y);else for(m=0;m<v.length;m++)for(y=v[m],U=m+1;U<v.length;U++)b=v[U],y.getOwner()==b.getOwner()&&this.calcRepulsionForce(y,b)},h.prototype.calcGravitationalForces=function(){for(var p,g=this.getAllNodesToApplyGravitation(),m=0;m<g.length;m++)p=g[m],this.calcGravitationalForce(p)},h.prototype.moveNodes=function(){for(var p=this.getAllNodes(),g,m=0;m<p.length;m++)g=p[m],g.move()},h.prototype.calcSpringForce=function(p,g){var m=p.getSource(),U=p.getTarget(),y,b,v,w;if(this.uniformLeafNodeSizes&&m.getChild()==null&&U.getChild()==null)p.updateLengthSimple();else if(p.updateLength(),p.isOverlapingSourceAndTarget)return;y=p.getLength(),y!=0&&(b=p.edgeElasticity*(y-g),v=b*(p.lengthX/y),w=b*(p.lengthY/y),m.springForceX+=v,m.springForceY+=w,U.springForceX-=v,U.springForceY-=w)},h.prototype.calcRepulsionForce=function(p,g){var m=p.getRect(),U=g.getRect(),y=new Array(2),b=new Array(4),v,w,T,S,C,k,E;if(m.intersects(U)){u.calcSeparationAmount(m,U,y,o.DEFAULT_EDGE_LENGTH/2),k=2*y[0],E=2*y[1];var A=p.noOfChildren*g.noOfChildren/(p.noOfChildren+g.noOfChildren);p.repulsionForceX-=A*k,p.repulsionForceY-=A*E,g.repulsionForceX+=A*k,g.repulsionForceY+=A*E}else this.uniformLeafNodeSizes&&p.getChild()==null&&g.getChild()==null?(v=U.getCenterX()-m.getCenterX(),w=U.getCenterY()-m.getCenterY()):(u.getIntersection(m,U,b),v=b[2]-b[0],w=b[3]-b[1]),Math.abs(v)<o.MIN_REPULSION_DIST&&(v=d.sign(v)*o.MIN_REPULSION_DIST),Math.abs(w)<o.MIN_REPULSION_DIST&&(w=d.sign(w)*o.MIN_REPULSION_DIST),T=v*v+w*w,S=Math.sqrt(T),C=(p.nodeRepulsion/2+g.nodeRepulsion/2)*p.noOfChildren*g.noOfChildren/T,k=C*v/S,E=C*w/S,p.repulsionForceX-=k,p.repulsionForceY-=E,g.repulsionForceX+=k,g.repulsionForceY+=E},h.prototype.calcGravitationalForce=function(p){var g,m,U,y,b,v,w,T;g=p.getOwner(),m=(g.getRight()+g.getLeft())/2,U=(g.getTop()+g.getBottom())/2,y=p.getCenterX()-m,b=p.getCenterY()-U,v=Math.abs(y)+p.getWidth()/2,w=Math.abs(b)+p.getHeight()/2,p.getOwner()==this.graphManager.getRoot()?(T=g.getEstimatedSize()*this.gravityRangeFactor,(v>T||w>T)&&(p.gravitationForceX=-this.gravityConstant*y,p.gravitationForceY=-this.gravityConstant*b)):(T=g.getEstimatedSize()*this.compoundGravityRangeFactor,(v>T||w>T)&&(p.gravitationForceX=-this.gravityConstant*y*this.compoundGravityConstant,p.gravitationForceY=-this.gravityConstant*b*this.compoundGravityConstant))},h.prototype.isConverged=function(){var p,g=!1;return this.totalIterations>this.maxIterations/3&&(g=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),p=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,p||g},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var p,g=this.graphManager.getAllNodes(),m=0;m<g.length;m++)p=g[m],p.noOfChildren=p.getNoOfChildren()},h.prototype.calcGrid=function(p){var g=0,m=0;g=parseInt(Math.ceil((p.getRight()-p.getLeft())/this.repulsionRange)),m=parseInt(Math.ceil((p.getBottom()-p.getTop())/this.repulsionRange));for(var U=new Array(g),y=0;y<g;y++)U[y]=new Array(m);for(var y=0;y<g;y++)for(var b=0;b<m;b++)U[y][b]=new Array;return U},h.prototype.addNodeToGrid=function(p,g,m){var U=0,y=0,b=0,v=0;U=parseInt(Math.floor((p.getRect().x-g)/this.repulsionRange)),y=parseInt(Math.floor((p.getRect().width+p.getRect().x-g)/this.repulsionRange)),b=parseInt(Math.floor((p.getRect().y-m)/this.repulsionRange)),v=parseInt(Math.floor((p.getRect().height+p.getRect().y-m)/this.repulsionRange));for(var w=U;w<=y;w++)for(var T=b;T<=v;T++)this.grid[w][T].push(p),p.setGridCoordinates(U,y,b,v)},h.prototype.updateGrid=function(){var p,g,m=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),p=0;p<m.length;p++)g=m[p],this.addNodeToGrid(g,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(p,g,m,U){if(this.totalIterations%o.GRID_CALCULATION_CHECK_PERIOD==1&&m||U){var y=new Set;p.surrounding=new Array;for(var b,v=this.grid,w=p.startX-1;w<p.finishX+2;w++)for(var T=p.startY-1;T<p.finishY+2;T++)if(!(w<0||T<0||w>=v.length||T>=v[0].length)){for(var S=0;S<v[w][T].length;S++)if(b=v[w][T][S],!(p.getOwner()!=b.getOwner()||p==b)&&!g.has(b)&&!y.has(b)){var C=Math.abs(p.getCenterX()-b.getCenterX())-(p.getWidth()/2+b.getWidth()/2),k=Math.abs(p.getCenterY()-b.getCenterY())-(p.getHeight()/2+b.getHeight()/2);C<=this.repulsionRange&&k<=this.repulsionRange&&y.add(b)}}p.surrounding=[].concat(a(y))}for(w=0;w<p.surrounding.length;w++)this.calcRepulsionForce(p,p.surrounding[w])},h.prototype.calcRepulsionRange=function(){return 0},r.exports=h}),(function(r,n,i){var a=i(1),s=i(4);function o(u,d,h){a.call(this,u,d,h),this.idealLength=s.DEFAULT_EDGE_LENGTH,this.edgeElasticity=s.DEFAULT_SPRING_STRENGTH}o.prototype=Object.create(a.prototype);for(var l in a)o[l]=a[l];r.exports=o}),(function(r,n,i){var a=i(3),s=i(4);function o(u,d,h,f){a.call(this,u,d,h,f),this.nodeRepulsion=s.DEFAULT_REPULSION_STRENGTH,this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}o.prototype=Object.create(a.prototype);for(var l in a)o[l]=a[l];o.prototype.setGridCoordinates=function(u,d,h,f){this.startX=u,this.finishX=d,this.startY=h,this.finishY=f},r.exports=o}),(function(r,n,i){function a(s,o){this.width=0,this.height=0,s!==null&&o!==null&&(this.height=o,this.width=s)}a.prototype.getWidth=function(){return this.width},a.prototype.setWidth=function(s){this.width=s},a.prototype.getHeight=function(){return this.height},a.prototype.setHeight=function(s){this.height=s},r.exports=a}),(function(r,n,i){var a=i(14);function s(){this.map={},this.keys=[]}s.prototype.put=function(o,l){var u=a.createID(o);this.contains(u)||(this.map[u]=l,this.keys.push(o))},s.prototype.contains=function(o){return a.createID(o),this.map[o]!=null},s.prototype.get=function(o){var l=a.createID(o);return this.map[l]},s.prototype.keySet=function(){return this.keys},r.exports=s}),(function(r,n,i){var a=i(14);function s(){this.set={}}s.prototype.add=function(o){var l=a.createID(o);this.contains(l)||(this.set[l]=o)},s.prototype.remove=function(o){delete this.set[a.createID(o)]},s.prototype.clear=function(){this.set={}},s.prototype.contains=function(o){return this.set[a.createID(o)]==o},s.prototype.isEmpty=function(){return this.size()===0},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAllTo=function(o){for(var l=Object.keys(this.set),u=l.length,d=0;d<u;d++)o.push(this.set[l[d]])},s.prototype.size=function(){return Object.keys(this.set).length},s.prototype.addAll=function(o){for(var l=o.length,u=0;u<l;u++){var d=o[u];this.add(d)}},r.exports=s}),(function(r,n,i){function a(){}a.multMat=function(s,o){for(var l=[],u=0;u<s.length;u++){l[u]=[];for(var d=0;d<o[0].length;d++){l[u][d]=0;for(var h=0;h<s[0].length;h++)l[u][d]+=s[u][h]*o[h][d]}}return l},a.transpose=function(s){for(var o=[],l=0;l<s[0].length;l++){o[l]=[];for(var u=0;u<s.length;u++)o[l][u]=s[u][l]}return o},a.multCons=function(s,o){for(var l=[],u=0;u<s.length;u++)l[u]=s[u]*o;return l},a.minusOp=function(s,o){for(var l=[],u=0;u<s.length;u++)l[u]=s[u]-o[u];return l},a.dotProduct=function(s,o){for(var l=0,u=0;u<s.length;u++)l+=s[u]*o[u];return l},a.mag=function(s){return Math.sqrt(this.dotProduct(s,s))},a.normalize=function(s){for(var o=[],l=this.mag(s),u=0;u<s.length;u++)o[u]=s[u]/l;return o},a.multGamma=function(s){for(var o=[],l=0,u=0;u<s.length;u++)l+=s[u];l*=-1/s.length;for(var d=0;d<s.length;d++)o[d]=l+s[d];return o},a.multL=function(s,o,l){for(var u=[],d=[],h=[],f=0;f<o[0].length;f++){for(var p=0,g=0;g<o.length;g++)p+=-.5*o[g][f]*s[g];d[f]=p}for(var m=0;m<l.length;m++){for(var U=0,y=0;y<l.length;y++)U+=l[m][y]*d[y];h[m]=U}for(var b=0;b<o.length;b++){for(var v=0,w=0;w<o[0].length;w++)v+=o[b][w]*h[w];u[b]=v}return u},r.exports=a}),(function(r,n,i){var a=(function(){function u(d,h){for(var f=0;f<h.length;f++){var p=h[f];p.enumerable=p.enumerable||!1,p.configurable=!0,"value"in p&&(p.writable=!0),Object.defineProperty(d,p.key,p)}}return function(d,h,f){return h&&u(d.prototype,h),f&&u(d,f),d}})();function s(u,d){if(!(u instanceof d))throw new TypeError("Cannot call a class as a function")}var o=i(11),l=(function(){function u(d,h){s(this,u),(h!==null||h!==void 0)&&(this.compareFunction=this._defaultCompareFunction);var f=void 0;d instanceof o?f=d.size():f=d.length,this._quicksort(d,0,f-1)}return a(u,[{key:"_quicksort",value:function(h,f,p){if(f<p){var g=this._partition(h,f,p);this._quicksort(h,f,g),this._quicksort(h,g+1,p)}}},{key:"_partition",value:function(h,f,p){for(var g=this._get(h,f),m=f,U=p;;){for(;this.compareFunction(g,this._get(h,U));)U--;for(;this.compareFunction(this._get(h,m),g);)m++;if(m<U)this._swap(h,m,U),m++,U--;else return U}}},{key:"_get",value:function(h,f){return h instanceof o?h.get_object_at(f):h[f]}},{key:"_set",value:function(h,f,p){h instanceof o?h.set_object_at(f,p):h[f]=p}},{key:"_swap",value:function(h,f,p){var g=this._get(h,f);this._set(h,f,this._get(h,p)),this._set(h,p,g)}},{key:"_defaultCompareFunction",value:function(h,f){return f>h}}]),u})();r.exports=l}),(function(r,n,i){function a(){}a.svd=function(s){this.U=null,this.V=null,this.s=null,this.m=0,this.n=0,this.m=s.length,this.n=s[0].length;var o=Math.min(this.m,this.n);this.s=(function(It){for(var ht=[];It-- >0;)ht.push(0);return ht})(Math.min(this.m+1,this.n)),this.U=(function(It){var ht=function ve(Lt){if(Lt.length==0)return 0;for(var xt=[],mt=0;mt<Lt[0];mt++)xt.push(ve(Lt.slice(1)));return xt};return ht(It)})([this.m,o]),this.V=(function(It){var ht=function ve(Lt){if(Lt.length==0)return 0;for(var xt=[],mt=0;mt<Lt[0];mt++)xt.push(ve(Lt.slice(1)));return xt};return ht(It)})([this.n,this.n]);for(var l=(function(It){for(var ht=[];It-- >0;)ht.push(0);return ht})(this.n),u=(function(It){for(var ht=[];It-- >0;)ht.push(0);return ht})(this.m),d=!0,h=Math.min(this.m-1,this.n),f=Math.max(0,Math.min(this.n-2,this.m)),p=0;p<Math.max(h,f);p++){if(p<h){this.s[p]=0;for(var g=p;g<this.m;g++)this.s[p]=a.hypot(this.s[p],s[g][p]);if(this.s[p]!==0){s[p][p]<0&&(this.s[p]=-this.s[p]);for(var m=p;m<this.m;m++)s[m][p]/=this.s[p];s[p][p]+=1}this.s[p]=-this.s[p]}for(var U=p+1;U<this.n;U++){if((function(It,ht){return It&&ht})(p<h,this.s[p]!==0)){for(var y=0,b=p;b<this.m;b++)y+=s[b][p]*s[b][U];y=-y/s[p][p];for(var v=p;v<this.m;v++)s[v][U]+=y*s[v][p]}l[U]=s[p][U]}if((function(It,ht){return ht})(d,p<h))for(var w=p;w<this.m;w++)this.U[w][p]=s[w][p];if(p<f){l[p]=0;for(var T=p+1;T<this.n;T++)l[p]=a.hypot(l[p],l[T]);if(l[p]!==0){l[p+1]<0&&(l[p]=-l[p]);for(var S=p+1;S<this.n;S++)l[S]/=l[p];l[p+1]+=1}if(l[p]=-l[p],(function(It,ht){return It&&ht})(p+1<this.m,l[p]!==0)){for(var C=p+1;C<this.m;C++)u[C]=0;for(var k=p+1;k<this.n;k++)for(var E=p+1;E<this.m;E++)u[E]+=l[k]*s[E][k];for(var A=p+1;A<this.n;A++)for(var M=-l[A]/l[p+1],P=p+1;P<this.m;P++)s[P][A]+=M*u[P]}for(var N=p+1;N<this.n;N++)this.V[N][p]=l[N]}}var I=Math.min(this.n,this.m+1);h<this.n&&(this.s[h]=s[h][h]),this.m<I&&(this.s[I-1]=0),f+1<I&&(l[f]=s[f][I-1]),l[I-1]=0;{for(var L=h;L<o;L++){for(var _=0;_<this.m;_++)this.U[_][L]=0;this.U[L][L]=1}for(var D=h-1;D>=0;D--)if(this.s[D]!==0){for(var O=D+1;O<o;O++){for(var B=0,F=D;F<this.m;F++)B+=this.U[F][D]*this.U[F][O];B=-B/this.U[D][D];for(var z=D;z<this.m;z++)this.U[z][O]+=B*this.U[z][D]}for(var $=D;$<this.m;$++)this.U[$][D]=-this.U[$][D];this.U[D][D]=1+this.U[D][D];for(var H=0;H<D-1;H++)this.U[H][D]=0}else{for(var V=0;V<this.m;V++)this.U[V][D]=0;this.U[D][D]=1}}for(var G=this.n-1;G>=0;G--){if((function(It,ht){return It&&ht})(G<f,l[G]!==0))for(var K=G+1;K<o;K++){for(var W=0,oe=G+1;oe<this.n;oe++)W+=this.V[oe][G]*this.V[oe][K];W=-W/this.V[G+1][G];for(var Z=G+1;Z<this.n;Z++)this.V[Z][K]+=W*this.V[Z][G]}for(var J=0;J<this.n;J++)this.V[J][G]=0;this.V[G][G]=1}for(var ne=I-1,ie=Math.pow(2,-52),me=Math.pow(2,-966);I>0;){var te=void 0,Re=void 0;for(te=I-2;te>=-1&&te!==-1;te--)if(Math.abs(l[te])<=me+ie*(Math.abs(this.s[te])+Math.abs(this.s[te+1]))){l[te]=0;break}if(te===I-2)Re=4;else{var _e=void 0;for(_e=I-1;_e>=te&&_e!==te;_e--){var He=(_e!==I?Math.abs(l[_e]):0)+(_e!==te+1?Math.abs(l[_e-1]):0);if(Math.abs(this.s[_e])<=me+ie*He){this.s[_e]=0;break}}_e===te?Re=3:_e===I-1?Re=1:(Re=2,te=_e)}switch(te++,Re){case 1:{var ce=l[I-2];l[I-2]=0;for(var de=I-2;de>=te;de--){var we=a.hypot(this.s[de],ce),ge=this.s[de]/we,ze=ce/we;this.s[de]=we,de!==te&&(ce=-ze*l[de-1],l[de-1]=ge*l[de-1]);for(var xe=0;xe<this.n;xe++)we=ge*this.V[xe][de]+ze*this.V[xe][I-1],this.V[xe][I-1]=-ze*this.V[xe][de]+ge*this.V[xe][I-1],this.V[xe][de]=we}}break;case 2:{var Ee=l[te-1];l[te-1]=0;for(var qe=te;qe<I;qe++){var le=a.hypot(this.s[qe],Ee),pe=this.s[qe]/le,Te=Ee/le;this.s[qe]=le,Ee=-Te*l[qe],l[qe]=pe*l[qe];for(var re=0;re<this.m;re++)le=pe*this.U[re][qe]+Te*this.U[re][te-1],this.U[re][te-1]=-Te*this.U[re][qe]+pe*this.U[re][te-1],this.U[re][qe]=le}}break;case 3:{var Y=Math.max(Math.max(Math.max(Math.max(Math.abs(this.s[I-1]),Math.abs(this.s[I-2])),Math.abs(l[I-2])),Math.abs(this.s[te])),Math.abs(l[te])),Q=this.s[I-1]/Y,ue=this.s[I-2]/Y,X=l[I-2]/Y,fe=this.s[te]/Y,ee=l[te]/Y,Ae=((ue+Q)*(ue-Q)+X*X)/2,Me=Q*X*(Q*X),Ke=0;(function(It,ht){return It||ht})(Ae!==0,Me!==0)&&(Ke=Math.sqrt(Ae*Ae+Me),Ae<0&&(Ke=-Ke),Ke=Me/(Ae+Ke));for(var Ne=(fe+Q)*(fe-Q)+Ke,je=fe*ee,Oe=te;Oe<I-1;Oe++){var Ze=a.hypot(Ne,je),Fe=Ne/Ze,at=je/Ze;Oe!==te&&(l[Oe-1]=Ze),Ne=Fe*this.s[Oe]+at*l[Oe],l[Oe]=Fe*l[Oe]-at*this.s[Oe],je=at*this.s[Oe+1],this.s[Oe+1]=Fe*this.s[Oe+1];for(var Pe=0;Pe<this.n;Pe++)Ze=Fe*this.V[Pe][Oe]+at*this.V[Pe][Oe+1],this.V[Pe][Oe+1]=-at*this.V[Pe][Oe]+Fe*this.V[Pe][Oe+1],this.V[Pe][Oe]=Ze;if(Ze=a.hypot(Ne,je),Fe=Ne/Ze,at=je/Ze,this.s[Oe]=Ze,Ne=Fe*l[Oe]+at*this.s[Oe+1],this.s[Oe+1]=-at*l[Oe]+Fe*this.s[Oe+1],je=at*l[Oe+1],l[Oe+1]=Fe*l[Oe+1],Oe<this.m-1)for(var gt=0;gt<this.m;gt++)Ze=Fe*this.U[gt][Oe]+at*this.U[gt][Oe+1],this.U[gt][Oe+1]=-at*this.U[gt][Oe]+Fe*this.U[gt][Oe+1],this.U[gt][Oe]=Ze}l[I-2]=Ne}break;case 4:{if(this.s[te]<=0){this.s[te]=this.s[te]<0?-this.s[te]:0;for(var Ie=0;Ie<=ne;Ie++)this.V[Ie][te]=-this.V[Ie][te]}for(;te<ne&&!(this.s[te]>=this.s[te+1]);){var St=this.s[te];if(this.s[te]=this.s[te+1],this.s[te+1]=St,te<this.n-1)for(var Et=0;Et<this.n;Et++)St=this.V[Et][te+1],this.V[Et][te+1]=this.V[Et][te],this.V[Et][te]=St;if(te<this.m-1)for(var ot=0;ot<this.m;ot++)St=this.U[ot][te+1],this.U[ot][te+1]=this.U[ot][te],this.U[ot][te]=St;te++}I--}break}}var Ht={U:this.U,V:this.V,S:this.s};return Ht},a.hypot=function(s,o){var l=void 0;return Math.abs(s)>Math.abs(o)?(l=o/s,l=Math.abs(s)*Math.sqrt(1+l*l)):o!=0?(l=s/o,l=Math.abs(o)*Math.sqrt(1+l*l)):l=0,l},r.exports=a}),(function(r,n,i){var a=(function(){function l(u,d){for(var h=0;h<d.length;h++){var f=d[h];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(u,f.key,f)}}return function(u,d,h){return d&&l(u.prototype,d),h&&l(u,h),u}})();function s(l,u){if(!(l instanceof u))throw new TypeError("Cannot call a class as a function")}var o=(function(){function l(u,d){var h=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,f=arguments.length>3&&arguments[3]!==void 0?arguments[3]:-1,p=arguments.length>4&&arguments[4]!==void 0?arguments[4]:-1;s(this,l),this.sequence1=u,this.sequence2=d,this.match_score=h,this.mismatch_penalty=f,this.gap_penalty=p,this.iMax=u.length+1,this.jMax=d.length+1,this.grid=new Array(this.iMax);for(var g=0;g<this.iMax;g++){this.grid[g]=new Array(this.jMax);for(var m=0;m<this.jMax;m++)this.grid[g][m]=0}this.tracebackGrid=new Array(this.iMax);for(var U=0;U<this.iMax;U++){this.tracebackGrid[U]=new Array(this.jMax);for(var y=0;y<this.jMax;y++)this.tracebackGrid[U][y]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return a(l,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var d=1;d<this.jMax;d++)this.grid[0][d]=this.grid[0][d-1]+this.gap_penalty,this.tracebackGrid[0][d]=[!1,!1,!0];for(var h=1;h<this.iMax;h++)this.grid[h][0]=this.grid[h-1][0]+this.gap_penalty,this.tracebackGrid[h][0]=[!1,!0,!1];for(var f=1;f<this.iMax;f++)for(var p=1;p<this.jMax;p++){var g=void 0;this.sequence1[f-1]===this.sequence2[p-1]?g=this.grid[f-1][p-1]+this.match_score:g=this.grid[f-1][p-1]+this.mismatch_penalty;var m=this.grid[f-1][p]+this.gap_penalty,U=this.grid[f][p-1]+this.gap_penalty,y=[g,m,U],b=this.arrayAllMaxIndexes(y);this.grid[f][p]=y[b[0]],this.tracebackGrid[f][p]=[b.includes(0),b.includes(1),b.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var d=[];for(d.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});d[0];){var h=d[0],f=this.tracebackGrid[h.pos[0]][h.pos[1]];f[0]&&d.push({pos:[h.pos[0]-1,h.pos[1]-1],seq1:this.sequence1[h.pos[0]-1]+h.seq1,seq2:this.sequence2[h.pos[1]-1]+h.seq2}),f[1]&&d.push({pos:[h.pos[0]-1,h.pos[1]],seq1:this.sequence1[h.pos[0]-1]+h.seq1,seq2:"-"+h.seq2}),f[2]&&d.push({pos:[h.pos[0],h.pos[1]-1],seq1:"-"+h.seq1,seq2:this.sequence2[h.pos[1]-1]+h.seq2}),h.pos[0]===0&&h.pos[1]===0&&this.alignments.push({sequence1:h.seq1,sequence2:h.seq2}),d.shift()}return this.alignments}},{key:"getAllIndexes",value:function(d,h){for(var f=[],p=-1;(p=d.indexOf(h,p+1))!==-1;)f.push(p);return f}},{key:"arrayAllMaxIndexes",value:function(d){return this.getAllIndexes(d,Math.max.apply(null,d))}}]),l})();r.exports=o}),(function(r,n,i){var a=function(){};a.FDLayout=i(18),a.FDLayoutConstants=i(4),a.FDLayoutEdge=i(19),a.FDLayoutNode=i(20),a.DimensionD=i(21),a.HashMap=i(22),a.HashSet=i(23),a.IGeometry=i(8),a.IMath=i(9),a.Integer=i(10),a.Point=i(12),a.PointD=i(5),a.RandomSeed=i(16),a.RectangleD=i(13),a.Transform=i(17),a.UniqueIDGeneretor=i(14),a.Quicksort=i(25),a.LinkedList=i(11),a.LGraphObject=i(2),a.LGraph=i(6),a.LEdge=i(1),a.LGraphManager=i(7),a.LNode=i(3),a.Layout=i(15),a.LayoutConstants=i(0),a.NeedlemanWunsch=i(27),a.Matrix=i(24),a.SVD=i(26),r.exports=a}),(function(r,n,i){function a(){this.listeners=[]}var s=a.prototype;s.addListener=function(o,l){this.listeners.push({event:o,callback:l})},s.removeListener=function(o,l){for(var u=this.listeners.length;u>=0;u--){var d=this.listeners[u];d.event===o&&d.callback===l&&this.listeners.splice(u,1)}},s.emit=function(o,l){for(var u=0;u<this.listeners.length;u++){var d=this.listeners[u];o===d.event&&d.callback(l)}},r.exports=a})])})})(uR)),uR.exports}var a4r=cR.exports,V2e;function s4r(){return V2e||(V2e=1,(function(t,e){(function(n,i){t.exports=i(i4r())})(a4r,function(r){return(()=>{var n={45:((o,l,u)=>{var d={};d.layoutBase=u(551),d.CoSEConstants=u(806),d.CoSEEdge=u(767),d.CoSEGraph=u(880),d.CoSEGraphManager=u(578),d.CoSELayout=u(765),d.CoSENode=u(991),d.ConstraintHandler=u(902),o.exports=d}),806:((o,l,u)=>{var d=u(551).FDLayoutConstants;function h(){}for(var f in d)h[f]=d[f];h.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,h.DEFAULT_RADIAL_SEPARATION=d.DEFAULT_EDGE_LENGTH,h.DEFAULT_COMPONENT_SEPERATION=60,h.TILE=!0,h.TILING_PADDING_VERTICAL=10,h.TILING_PADDING_HORIZONTAL=10,h.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,h.ENFORCE_CONSTRAINTS=!0,h.APPLY_LAYOUT=!0,h.RELAX_MOVEMENT_ON_CONSTRAINTS=!0,h.TREE_REDUCTION_ON_INCREMENTAL=!0,h.PURE_INCREMENTAL=h.DEFAULT_INCREMENTAL,o.exports=h}),767:((o,l,u)=>{var d=u(551).FDLayoutEdge;function h(p,g,m){d.call(this,p,g,m)}h.prototype=Object.create(d.prototype);for(var f in d)h[f]=d[f];o.exports=h}),880:((o,l,u)=>{var d=u(551).LGraph;function h(p,g,m){d.call(this,p,g,m)}h.prototype=Object.create(d.prototype);for(var f in d)h[f]=d[f];o.exports=h}),578:((o,l,u)=>{var d=u(551).LGraphManager;function h(p){d.call(this,p)}h.prototype=Object.create(d.prototype);for(var f in d)h[f]=d[f];o.exports=h}),765:((o,l,u)=>{var d=u(551).FDLayout,h=u(578),f=u(880),p=u(991),g=u(767),m=u(806),U=u(902),y=u(551).FDLayoutConstants,b=u(551).LayoutConstants,v=u(551).Point,w=u(551).PointD,T=u(551).DimensionD,S=u(551).Layout,C=u(551).Integer,k=u(551).IGeometry,E=u(551).LGraph,A=u(551).Transform,M=u(551).LinkedList;function P(){d.call(this),this.toBeTiled={},this.constraints={}}P.prototype=Object.create(d.prototype);for(var N in d)P[N]=d[N];P.prototype.newGraphManager=function(){var I=new h(this);return this.graphManager=I,I},P.prototype.newGraph=function(I){return new f(null,this.graphManager,I)},P.prototype.newNode=function(I){return new p(this.graphManager,I)},P.prototype.newEdge=function(I){return new g(null,null,I)},P.prototype.initParameters=function(){d.prototype.initParameters.call(this,arguments),this.isSubLayout||(m.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=m.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=m.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.gravityConstant=y.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=y.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=y.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1)},P.prototype.initSpringEmbedder=function(){d.prototype.initSpringEmbedder.call(this),this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/y.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=.04,this.coolingAdjuster=1},P.prototype.layout=function(){var I=b.DEFAULT_CREATE_BENDS_AS_NEEDED;return I&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},P.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental){if(m.TREE_REDUCTION_ON_INCREMENTAL){this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(B){return L.has(B)});this.graphManager.setAllNodesToApplyGravitation(_)}}else{var I=this.getFlatForest();if(I.length>0)this.positionNodesRadially(I);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var L=new Set(this.getAllNodes()),_=this.nodesWithGravity.filter(function(D){return L.has(D)});this.graphManager.setAllNodesToApplyGravitation(_),this.positionNodesRandomly()}}return Object.keys(this.constraints).length>0&&(U.handleConstraints(this),this.initConstraintVariables()),this.initSpringEmbedder(),m.APPLY_LAYOUT&&this.runSpringEmbedder(),!0},P.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%y.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 I=new Set(this.getAllNodes()),L=this.nodesWithGravity.filter(function(O){return I.has(O)});this.graphManager.setAllNodesToApplyGravitation(L),this.graphManager.updateBounds(),this.updateGrid(),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2:this.coolingFactor=y.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()),m.PURE_INCREMENTAL?this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL/2*((100-this.afterGrowthIterations)/100):this.coolingFactor=y.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var _=!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(_,D),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},P.prototype.getPositionsData=function(){for(var I=this.graphManager.getAllNodes(),L={},_=0;_<I.length;_++){var D=I[_].rect,O=I[_].id;L[O]={id:O,x:D.getCenterX(),y:D.getCenterY(),w:D.width,h:D.height}}return L},P.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var I=!1;if(y.ANIMATE==="during")this.emit("layoutstarted");else{for(;!I;)I=this.tick();this.graphManager.updateBounds()}},P.prototype.moveNodes=function(){for(var I=this.getAllNodes(),L,_=0;_<I.length;_++)L=I[_],L.calculateDisplacement();Object.keys(this.constraints).length>0&&this.updateDisplacements();for(var _=0;_<I.length;_++)L=I[_],L.move()},P.prototype.initConstraintVariables=function(){var I=this;this.idToNodeMap=new Map,this.fixedNodeSet=new Set;for(var L=this.graphManager.getAllNodes(),_=0;_<L.length;_++){var D=L[_];this.idToNodeMap.set(D.id,D)}var O=function Z(J){for(var ne=J.getChild().getNodes(),ie,me=0,te=0;te<ne.length;te++)ie=ne[te],ie.getChild()==null?I.fixedNodeSet.has(ie.id)&&(me+=100):me+=Z(ie);return me};if(this.constraints.fixedNodeConstraint){this.constraints.fixedNodeConstraint.forEach(function(ne){I.fixedNodeSet.add(ne.nodeId)});for(var L=this.graphManager.getAllNodes(),D,_=0;_<L.length;_++)if(D=L[_],D.getChild()!=null){var B=O(D);B>0&&(D.fixedNodeWeight=B)}}if(this.constraints.relativePlacementConstraint){var F=new Map,z=new Map;if(this.dummyToNodeForVerticalAlignment=new Map,this.dummyToNodeForHorizontalAlignment=new Map,this.fixedNodesOnHorizontal=new Set,this.fixedNodesOnVertical=new Set,this.fixedNodeSet.forEach(function(Z){I.fixedNodesOnHorizontal.add(Z),I.fixedNodesOnVertical.add(Z)}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var $=this.constraints.alignmentConstraint.vertical,_=0;_<$.length;_++)this.dummyToNodeForVerticalAlignment.set("dummy"+_,[]),$[_].forEach(function(J){F.set(J,"dummy"+_),I.dummyToNodeForVerticalAlignment.get("dummy"+_).push(J),I.fixedNodeSet.has(J)&&I.fixedNodesOnHorizontal.add("dummy"+_)});if(this.constraints.alignmentConstraint.horizontal)for(var H=this.constraints.alignmentConstraint.horizontal,_=0;_<H.length;_++)this.dummyToNodeForHorizontalAlignment.set("dummy"+_,[]),H[_].forEach(function(J){z.set(J,"dummy"+_),I.dummyToNodeForHorizontalAlignment.get("dummy"+_).push(J),I.fixedNodeSet.has(J)&&I.fixedNodesOnVertical.add("dummy"+_)})}if(m.RELAX_MOVEMENT_ON_CONSTRAINTS)this.shuffle=function(Z){var J,ne,ie;for(ie=Z.length-1;ie>=2*Z.length/3;ie--)J=Math.floor(Math.random()*(ie+1)),ne=Z[ie],Z[ie]=Z[J],Z[J]=ne;return Z},this.nodesInRelativeHorizontal=[],this.nodesInRelativeVertical=[],this.nodeToRelativeConstraintMapHorizontal=new Map,this.nodeToRelativeConstraintMapVertical=new Map,this.nodeToTempPositionMapHorizontal=new Map,this.nodeToTempPositionMapVertical=new Map,this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var J=F.has(Z.left)?F.get(Z.left):Z.left,ne=F.has(Z.right)?F.get(Z.right):Z.right;I.nodesInRelativeHorizontal.includes(J)||(I.nodesInRelativeHorizontal.push(J),I.nodeToRelativeConstraintMapHorizontal.set(J,[]),I.dummyToNodeForVerticalAlignment.has(J)?I.nodeToTempPositionMapHorizontal.set(J,I.idToNodeMap.get(I.dummyToNodeForVerticalAlignment.get(J)[0]).getCenterX()):I.nodeToTempPositionMapHorizontal.set(J,I.idToNodeMap.get(J).getCenterX())),I.nodesInRelativeHorizontal.includes(ne)||(I.nodesInRelativeHorizontal.push(ne),I.nodeToRelativeConstraintMapHorizontal.set(ne,[]),I.dummyToNodeForVerticalAlignment.has(ne)?I.nodeToTempPositionMapHorizontal.set(ne,I.idToNodeMap.get(I.dummyToNodeForVerticalAlignment.get(ne)[0]).getCenterX()):I.nodeToTempPositionMapHorizontal.set(ne,I.idToNodeMap.get(ne).getCenterX())),I.nodeToRelativeConstraintMapHorizontal.get(J).push({right:ne,gap:Z.gap}),I.nodeToRelativeConstraintMapHorizontal.get(ne).push({left:J,gap:Z.gap})}else{var ie=z.has(Z.top)?z.get(Z.top):Z.top,me=z.has(Z.bottom)?z.get(Z.bottom):Z.bottom;I.nodesInRelativeVertical.includes(ie)||(I.nodesInRelativeVertical.push(ie),I.nodeToRelativeConstraintMapVertical.set(ie,[]),I.dummyToNodeForHorizontalAlignment.has(ie)?I.nodeToTempPositionMapVertical.set(ie,I.idToNodeMap.get(I.dummyToNodeForHorizontalAlignment.get(ie)[0]).getCenterY()):I.nodeToTempPositionMapVertical.set(ie,I.idToNodeMap.get(ie).getCenterY())),I.nodesInRelativeVertical.includes(me)||(I.nodesInRelativeVertical.push(me),I.nodeToRelativeConstraintMapVertical.set(me,[]),I.dummyToNodeForHorizontalAlignment.has(me)?I.nodeToTempPositionMapVertical.set(me,I.idToNodeMap.get(I.dummyToNodeForHorizontalAlignment.get(me)[0]).getCenterY()):I.nodeToTempPositionMapVertical.set(me,I.idToNodeMap.get(me).getCenterY())),I.nodeToRelativeConstraintMapVertical.get(ie).push({bottom:me,gap:Z.gap}),I.nodeToRelativeConstraintMapVertical.get(me).push({top:ie,gap:Z.gap})}});else{var V=new Map,G=new Map;this.constraints.relativePlacementConstraint.forEach(function(Z){if(Z.left){var J=F.has(Z.left)?F.get(Z.left):Z.left,ne=F.has(Z.right)?F.get(Z.right):Z.right;V.has(J)?V.get(J).push(ne):V.set(J,[ne]),V.has(ne)?V.get(ne).push(J):V.set(ne,[J])}else{var ie=z.has(Z.top)?z.get(Z.top):Z.top,me=z.has(Z.bottom)?z.get(Z.bottom):Z.bottom;G.has(ie)?G.get(ie).push(me):G.set(ie,[me]),G.has(me)?G.get(me).push(ie):G.set(me,[ie])}});var K=function(J,ne){var ie=[],me=[],te=new M,Re=new Set,_e=0;return J.forEach(function(He,ce){if(!Re.has(ce)){ie[_e]=[],me[_e]=!1;var de=ce;for(te.push(de),Re.add(de),ie[_e].push(de);te.length!=0;){de=te.shift(),ne.has(de)&&(me[_e]=!0);var we=J.get(de);we.forEach(function(ge){Re.has(ge)||(te.push(ge),Re.add(ge),ie[_e].push(ge))})}_e++}}),{components:ie,isFixed:me}},W=K(V,I.fixedNodesOnHorizontal);this.componentsOnHorizontal=W.components,this.fixedComponentsOnHorizontal=W.isFixed;var oe=K(G,I.fixedNodesOnVertical);this.componentsOnVertical=oe.components,this.fixedComponentsOnVertical=oe.isFixed}}},P.prototype.updateDisplacements=function(){var I=this;if(this.constraints.fixedNodeConstraint&&this.constraints.fixedNodeConstraint.forEach(function(oe){var Z=I.idToNodeMap.get(oe.nodeId);Z.displacementX=0,Z.displacementY=0}),this.constraints.alignmentConstraint){if(this.constraints.alignmentConstraint.vertical)for(var L=this.constraints.alignmentConstraint.vertical,_=0;_<L.length;_++){for(var D=0,O=0;O<L[_].length;O++){if(this.fixedNodeSet.has(L[_][O])){D=0;break}D+=this.idToNodeMap.get(L[_][O]).displacementX}for(var B=D/L[_].length,O=0;O<L[_].length;O++)this.idToNodeMap.get(L[_][O]).displacementX=B}if(this.constraints.alignmentConstraint.horizontal)for(var F=this.constraints.alignmentConstraint.horizontal,_=0;_<F.length;_++){for(var z=0,O=0;O<F[_].length;O++){if(this.fixedNodeSet.has(F[_][O])){z=0;break}z+=this.idToNodeMap.get(F[_][O]).displacementY}for(var $=z/F[_].length,O=0;O<F[_].length;O++)this.idToNodeMap.get(F[_][O]).displacementY=$}}if(this.constraints.relativePlacementConstraint)if(m.RELAX_MOVEMENT_ON_CONSTRAINTS)this.totalIterations%10==0&&(this.shuffle(this.nodesInRelativeHorizontal),this.shuffle(this.nodesInRelativeVertical)),this.nodesInRelativeHorizontal.forEach(function(oe){if(!I.fixedNodesOnHorizontal.has(oe)){var Z=0;I.dummyToNodeForVerticalAlignment.has(oe)?Z=I.idToNodeMap.get(I.dummyToNodeForVerticalAlignment.get(oe)[0]).displacementX:Z=I.idToNodeMap.get(oe).displacementX,I.nodeToRelativeConstraintMapHorizontal.get(oe).forEach(function(J){if(J.right){var ne=I.nodeToTempPositionMapHorizontal.get(J.right)-I.nodeToTempPositionMapHorizontal.get(oe)-Z;ne<J.gap&&(Z-=J.gap-ne)}else{var ne=I.nodeToTempPositionMapHorizontal.get(oe)-I.nodeToTempPositionMapHorizontal.get(J.left)+Z;ne<J.gap&&(Z+=J.gap-ne)}}),I.nodeToTempPositionMapHorizontal.set(oe,I.nodeToTempPositionMapHorizontal.get(oe)+Z),I.dummyToNodeForVerticalAlignment.has(oe)?I.dummyToNodeForVerticalAlignment.get(oe).forEach(function(J){I.idToNodeMap.get(J).displacementX=Z}):I.idToNodeMap.get(oe).displacementX=Z}}),this.nodesInRelativeVertical.forEach(function(oe){if(!I.fixedNodesOnHorizontal.has(oe)){var Z=0;I.dummyToNodeForHorizontalAlignment.has(oe)?Z=I.idToNodeMap.get(I.dummyToNodeForHorizontalAlignment.get(oe)[0]).displacementY:Z=I.idToNodeMap.get(oe).displacementY,I.nodeToRelativeConstraintMapVertical.get(oe).forEach(function(J){if(J.bottom){var ne=I.nodeToTempPositionMapVertical.get(J.bottom)-I.nodeToTempPositionMapVertical.get(oe)-Z;ne<J.gap&&(Z-=J.gap-ne)}else{var ne=I.nodeToTempPositionMapVertical.get(oe)-I.nodeToTempPositionMapVertical.get(J.top)+Z;ne<J.gap&&(Z+=J.gap-ne)}}),I.nodeToTempPositionMapVertical.set(oe,I.nodeToTempPositionMapVertical.get(oe)+Z),I.dummyToNodeForHorizontalAlignment.has(oe)?I.dummyToNodeForHorizontalAlignment.get(oe).forEach(function(J){I.idToNodeMap.get(J).displacementY=Z}):I.idToNodeMap.get(oe).displacementY=Z}});else{for(var _=0;_<this.componentsOnHorizontal.length;_++){var H=this.componentsOnHorizontal[_];if(this.fixedComponentsOnHorizontal[_])for(var O=0;O<H.length;O++)this.dummyToNodeForVerticalAlignment.has(H[O])?this.dummyToNodeForVerticalAlignment.get(H[O]).forEach(function(J){I.idToNodeMap.get(J).displacementX=0}):this.idToNodeMap.get(H[O]).displacementX=0;else{for(var V=0,G=0,O=0;O<H.length;O++)if(this.dummyToNodeForVerticalAlignment.has(H[O])){var K=this.dummyToNodeForVerticalAlignment.get(H[O]);V+=K.length*this.idToNodeMap.get(K[0]).displacementX,G+=K.length}else V+=this.idToNodeMap.get(H[O]).displacementX,G++;for(var W=V/G,O=0;O<H.length;O++)this.dummyToNodeForVerticalAlignment.has(H[O])?this.dummyToNodeForVerticalAlignment.get(H[O]).forEach(function(J){I.idToNodeMap.get(J).displacementX=W}):this.idToNodeMap.get(H[O]).displacementX=W}}for(var _=0;_<this.componentsOnVertical.length;_++){var H=this.componentsOnVertical[_];if(this.fixedComponentsOnVertical[_])for(var O=0;O<H.length;O++)this.dummyToNodeForHorizontalAlignment.has(H[O])?this.dummyToNodeForHorizontalAlignment.get(H[O]).forEach(function(ne){I.idToNodeMap.get(ne).displacementY=0}):this.idToNodeMap.get(H[O]).displacementY=0;else{for(var V=0,G=0,O=0;O<H.length;O++)if(this.dummyToNodeForHorizontalAlignment.has(H[O])){var K=this.dummyToNodeForHorizontalAlignment.get(H[O]);V+=K.length*this.idToNodeMap.get(K[0]).displacementY,G+=K.length}else V+=this.idToNodeMap.get(H[O]).displacementY,G++;for(var W=V/G,O=0;O<H.length;O++)this.dummyToNodeForHorizontalAlignment.has(H[O])?this.dummyToNodeForHorizontalAlignment.get(H[O]).forEach(function(te){I.idToNodeMap.get(te).displacementY=W}):this.idToNodeMap.get(H[O]).displacementY=W}}}},P.prototype.calculateNodesToApplyGravitationTo=function(){var I=[],L,_=this.graphManager.getGraphs(),D=_.length,O;for(O=0;O<D;O++)L=_[O],L.updateConnected(),L.isConnected||(I=I.concat(L.getNodes()));return I},P.prototype.createBendpoints=function(){var I=[];I=I.concat(this.graphManager.getAllEdges());var L=new Set,_;for(_=0;_<I.length;_++){var D=I[_];if(!L.has(D)){var O=D.getSource(),B=D.getTarget();if(O==B)D.getBendpoints().push(new w),D.getBendpoints().push(new w),this.createDummyNodesForBendpoints(D),L.add(D);else{var F=[];if(F=F.concat(O.getEdgeListToNode(B)),F=F.concat(B.getEdgeListToNode(O)),!L.has(F[0])){if(F.length>1){var z;for(z=0;z<F.length;z++){var $=F[z];$.getBendpoints().push(new w),this.createDummyNodesForBendpoints($)}}F.forEach(function(H){L.add(H)})}}}if(L.size==I.length)break}},P.prototype.positionNodesRadially=function(I){for(var L=new v(0,0),_=Math.ceil(Math.sqrt(I.length)),D=0,O=0,B=0,F=new w(0,0),z=0;z<I.length;z++){z%_==0&&(B=0,O=D,z!=0&&(O+=m.DEFAULT_COMPONENT_SEPERATION),D=0);var $=I[z],H=S.findCenterOfTree($);L.x=B,L.y=O,F=P.radialLayout($,H,L),F.y>D&&(D=Math.floor(F.y)),B=Math.floor(F.x+m.DEFAULT_COMPONENT_SEPERATION)}this.transform(new w(b.WORLD_CENTER_X-F.x/2,b.WORLD_CENTER_Y-F.y/2))},P.radialLayout=function(I,L,_){var D=Math.max(this.maxDiagonalInTree(I),m.DEFAULT_RADIAL_SEPARATION);P.branchRadialLayout(L,null,0,359,0,D);var O=E.calculateBounds(I),B=new A;B.setDeviceOrgX(O.getMinX()),B.setDeviceOrgY(O.getMinY()),B.setWorldOrgX(_.x),B.setWorldOrgY(_.y);for(var F=0;F<I.length;F++){var z=I[F];z.transform(B)}var $=new w(O.getMaxX(),O.getMaxY());return B.inverseTransformPoint($)},P.branchRadialLayout=function(I,L,_,D,O,B){var F=(D-_+1)/2;F<0&&(F+=180);var z=(F+_)%360,$=z*k.TWO_PI/360,H=O*Math.cos($),V=O*Math.sin($);I.setCenter(H,V);var G=[];G=G.concat(I.getEdges());var K=G.length;L!=null&&K--;for(var W=0,oe=G.length,Z,J=I.getEdgesBetween(L);J.length>1;){var ne=J[0];J.splice(0,1);var ie=G.indexOf(ne);ie>=0&&G.splice(ie,1),oe--,K--}L!=null?Z=(G.indexOf(J[0])+1)%oe:Z=0;for(var me=Math.abs(D-_)/K,te=Z;W!=K;te=++te%oe){var Re=G[te].getOtherEnd(I);if(Re!=L){var _e=(_+W*me)%360,He=(_e+me)%360;P.branchRadialLayout(Re,I,_e,He,O+B,B),W++}}},P.maxDiagonalInTree=function(I){for(var L=C.MIN_VALUE,_=0;_<I.length;_++){var D=I[_],O=D.getDiagonal();O>L&&(L=O)}return L},P.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},P.prototype.groupZeroDegreeMembers=function(){var I=this,L={};this.memberGroups={},this.idToDummyNode={};for(var _=[],D=this.graphManager.getAllNodes(),O=0;O<D.length;O++){var B=D[O],F=B.getParent();this.getNodeDegreeWithChildren(B)===0&&(F.id==null||!this.getToBeTiled(F))&&_.push(B)}for(var O=0;O<_.length;O++){var B=_[O],z=B.getParent().id;typeof L[z]>"u"&&(L[z]=[]),L[z]=L[z].concat(B)}Object.keys(L).forEach(function($){if(L[$].length>1){var H="DummyCompound_"+$;I.memberGroups[H]=L[$];var V=L[$][0].getParent(),G=new p(I.graphManager);G.id=H,G.paddingLeft=V.paddingLeft||0,G.paddingRight=V.paddingRight||0,G.paddingBottom=V.paddingBottom||0,G.paddingTop=V.paddingTop||0,I.idToDummyNode[H]=G;var K=I.getGraphManager().add(I.newGraph(),G),W=V.getChild();W.add(G);for(var oe=0;oe<L[$].length;oe++){var Z=L[$][oe];W.remove(Z),K.add(Z)}}})},P.prototype.clearCompounds=function(){var I={},L={};this.performDFSOnCompounds();for(var _=0;_<this.compoundOrder.length;_++)L[this.compoundOrder[_].id]=this.compoundOrder[_],I[this.compoundOrder[_].id]=[].concat(this.compoundOrder[_].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[_].getChild()),this.compoundOrder[_].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(I,L)},P.prototype.clearZeroDegreeMembers=function(){var I=this,L=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(_){var D=I.idToDummyNode[_];if(L[_]=I.tileNodes(I.memberGroups[_],D.paddingLeft+D.paddingRight),D.rect.width=L[_].width,D.rect.height=L[_].height,D.setCenter(L[_].centerX,L[_].centerY),D.labelMarginLeft=0,D.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var O=D.rect.width,B=D.rect.height;D.labelWidth&&(D.labelPosHorizontal=="left"?(D.rect.x-=D.labelWidth,D.setWidth(O+D.labelWidth),D.labelMarginLeft=D.labelWidth):D.labelPosHorizontal=="center"&&D.labelWidth>O?(D.rect.x-=(D.labelWidth-O)/2,D.setWidth(D.labelWidth),D.labelMarginLeft=(D.labelWidth-O)/2):D.labelPosHorizontal=="right"&&D.setWidth(O+D.labelWidth)),D.labelHeight&&(D.labelPosVertical=="top"?(D.rect.y-=D.labelHeight,D.setHeight(B+D.labelHeight),D.labelMarginTop=D.labelHeight):D.labelPosVertical=="center"&&D.labelHeight>B?(D.rect.y-=(D.labelHeight-B)/2,D.setHeight(D.labelHeight),D.labelMarginTop=(D.labelHeight-B)/2):D.labelPosVertical=="bottom"&&D.setHeight(B+D.labelHeight))}})},P.prototype.repopulateCompounds=function(){for(var I=this.compoundOrder.length-1;I>=0;I--){var L=this.compoundOrder[I],_=L.id,D=L.paddingLeft,O=L.paddingTop,B=L.labelMarginLeft,F=L.labelMarginTop;this.adjustLocations(this.tiledMemberPack[_],L.rect.x,L.rect.y,D,O,B,F)}},P.prototype.repopulateZeroDegreeMembers=function(){var I=this,L=this.tiledZeroDegreePack;Object.keys(L).forEach(function(_){var D=I.idToDummyNode[_],O=D.paddingLeft,B=D.paddingTop,F=D.labelMarginLeft,z=D.labelMarginTop;I.adjustLocations(L[_],D.rect.x,D.rect.y,O,B,F,z)})},P.prototype.getToBeTiled=function(I){var L=I.id;if(this.toBeTiled[L]!=null)return this.toBeTiled[L];var _=I.getChild();if(_==null)return this.toBeTiled[L]=!1,!1;for(var D=_.getNodes(),O=0;O<D.length;O++){var B=D[O];if(this.getNodeDegree(B)>0)return this.toBeTiled[L]=!1,!1;if(B.getChild()==null){this.toBeTiled[B.id]=!1;continue}if(!this.getToBeTiled(B))return this.toBeTiled[L]=!1,!1}return this.toBeTiled[L]=!0,!0},P.prototype.getNodeDegree=function(I){I.id;for(var L=I.getEdges(),_=0,D=0;D<L.length;D++){var O=L[D];O.getSource().id!==O.getTarget().id&&(_=_+1)}return _},P.prototype.getNodeDegreeWithChildren=function(I){var L=this.getNodeDegree(I);if(I.getChild()==null)return L;for(var _=I.getChild().getNodes(),D=0;D<_.length;D++){var O=_[D];L+=this.getNodeDegreeWithChildren(O)}return L},P.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},P.prototype.fillCompexOrderByDFS=function(I){for(var L=0;L<I.length;L++){var _=I[L];_.getChild()!=null&&this.fillCompexOrderByDFS(_.getChild().getNodes()),this.getToBeTiled(_)&&this.compoundOrder.push(_)}},P.prototype.adjustLocations=function(I,L,_,D,O,B,F){L+=D+B,_+=O+F;for(var z=L,$=0;$<I.rows.length;$++){var H=I.rows[$];L=z;for(var V=0,G=0;G<H.length;G++){var K=H[G];K.rect.x=L,K.rect.y=_,L+=K.rect.width+I.horizontalPadding,K.rect.height>V&&(V=K.rect.height)}_+=V+I.verticalPadding}},P.prototype.tileCompoundMembers=function(I,L){var _=this;this.tiledMemberPack=[],Object.keys(I).forEach(function(D){var O=L[D];if(_.tiledMemberPack[D]=_.tileNodes(I[D],O.paddingLeft+O.paddingRight),O.rect.width=_.tiledMemberPack[D].width,O.rect.height=_.tiledMemberPack[D].height,O.setCenter(_.tiledMemberPack[D].centerX,_.tiledMemberPack[D].centerY),O.labelMarginLeft=0,O.labelMarginTop=0,m.NODE_DIMENSIONS_INCLUDE_LABELS){var B=O.rect.width,F=O.rect.height;O.labelWidth&&(O.labelPosHorizontal=="left"?(O.rect.x-=O.labelWidth,O.setWidth(B+O.labelWidth),O.labelMarginLeft=O.labelWidth):O.labelPosHorizontal=="center"&&O.labelWidth>B?(O.rect.x-=(O.labelWidth-B)/2,O.setWidth(O.labelWidth),O.labelMarginLeft=(O.labelWidth-B)/2):O.labelPosHorizontal=="right"&&O.setWidth(B+O.labelWidth)),O.labelHeight&&(O.labelPosVertical=="top"?(O.rect.y-=O.labelHeight,O.setHeight(F+O.labelHeight),O.labelMarginTop=O.labelHeight):O.labelPosVertical=="center"&&O.labelHeight>F?(O.rect.y-=(O.labelHeight-F)/2,O.setHeight(O.labelHeight),O.labelMarginTop=(O.labelHeight-F)/2):O.labelPosVertical=="bottom"&&O.setHeight(F+O.labelHeight))}})},P.prototype.tileNodes=function(I,L){var _=this.tileNodesByFavoringDim(I,L,!0),D=this.tileNodesByFavoringDim(I,L,!1),O=this.getOrgRatio(_),B=this.getOrgRatio(D),F;return B<O?F=D:F=_,F},P.prototype.getOrgRatio=function(I){var L=I.width,_=I.height,D=L/_;return D<1&&(D=1/D),D},P.prototype.calcIdealRowWidth=function(I,L){var _=m.TILING_PADDING_VERTICAL,D=m.TILING_PADDING_HORIZONTAL,O=I.length,B=0,F=0,z=0;I.forEach(function(oe){B+=oe.getWidth(),F+=oe.getHeight(),oe.getWidth()>z&&(z=oe.getWidth())});var $=B/O,H=F/O,V=Math.pow(_-D,2)+4*($+D)*(H+_)*O,G=(D-_+Math.sqrt(V))/(2*($+D)),K;L?(K=Math.ceil(G),K==G&&K++):K=Math.floor(G);var W=K*($+D)-D;return z>W&&(W=z),W+=D*2,W},P.prototype.tileNodesByFavoringDim=function(I,L,_){var D=m.TILING_PADDING_VERTICAL,O=m.TILING_PADDING_HORIZONTAL,B=m.TILING_COMPARE_BY,F={rows:[],rowWidth:[],rowHeight:[],width:0,height:L,verticalPadding:D,horizontalPadding:O,centerX:0,centerY:0};B&&(F.idealRowWidth=this.calcIdealRowWidth(I,_));var z=function(Z){return Z.rect.width*Z.rect.height},$=function(Z,J){return z(J)-z(Z)};I.sort(function(oe,Z){var J=$;return F.idealRowWidth?(J=B,J(oe.id,Z.id)):J(oe,Z)});for(var H=0,V=0,G=0;G<I.length;G++){var K=I[G];H+=K.getCenterX(),V+=K.getCenterY()}F.centerX=H/I.length,F.centerY=V/I.length;for(var G=0;G<I.length;G++){var K=I[G];if(F.rows.length==0)this.insertNodeToRow(F,K,0,L);else if(this.canAddHorizontal(F,K.rect.width,K.rect.height)){var W=F.rows.length-1;F.idealRowWidth||(W=this.getShortestRowIndex(F)),this.insertNodeToRow(F,K,W,L)}else this.insertNodeToRow(F,K,F.rows.length,L);this.shiftToLastRow(F)}return F},P.prototype.insertNodeToRow=function(I,L,_,D){var O=D;if(_==I.rows.length){var B=[];I.rows.push(B),I.rowWidth.push(O),I.rowHeight.push(0)}var F=I.rowWidth[_]+L.rect.width;I.rows[_].length>0&&(F+=I.horizontalPadding),I.rowWidth[_]=F,I.width<F&&(I.width=F);var z=L.rect.height;_>0&&(z+=I.verticalPadding);var $=0;z>I.rowHeight[_]&&($=I.rowHeight[_],I.rowHeight[_]=z,$=I.rowHeight[_]-$),I.height+=$,I.rows[_].push(L)},P.prototype.getShortestRowIndex=function(I){for(var L=-1,_=Number.MAX_VALUE,D=0;D<I.rows.length;D++)I.rowWidth[D]<_&&(L=D,_=I.rowWidth[D]);return L},P.prototype.getLongestRowIndex=function(I){for(var L=-1,_=Number.MIN_VALUE,D=0;D<I.rows.length;D++)I.rowWidth[D]>_&&(L=D,_=I.rowWidth[D]);return L},P.prototype.canAddHorizontal=function(I,L,_){if(I.idealRowWidth){var D=I.rows.length-1,O=I.rowWidth[D];return O+L+I.horizontalPadding<=I.idealRowWidth}var B=this.getShortestRowIndex(I);if(B<0)return!0;var F=I.rowWidth[B];if(F+I.horizontalPadding+L<=I.width)return!0;var z=0;I.rowHeight[B]<_&&B>0&&(z=_+I.verticalPadding-I.rowHeight[B]);var $;I.width-F>=L+I.horizontalPadding?$=(I.height+z)/(F+L+I.horizontalPadding):$=(I.height+z)/I.width,z=_+I.verticalPadding;var H;return I.width<L?H=(I.height+z)/L:H=(I.height+z)/I.width,H<1&&(H=1/H),$<1&&($=1/$),$<H},P.prototype.shiftToLastRow=function(I){var L=this.getLongestRowIndex(I),_=I.rowWidth.length-1,D=I.rows[L],O=D[D.length-1],B=O.width+I.horizontalPadding;if(I.width-I.rowWidth[_]>B&&L!=_){D.splice(-1,1),I.rows[_].push(O),I.rowWidth[L]=I.rowWidth[L]-B,I.rowWidth[_]=I.rowWidth[_]+B,I.width=I.rowWidth[instance.getLongestRowIndex(I)];for(var F=Number.MIN_VALUE,z=0;z<D.length;z++)D[z].height>F&&(F=D[z].height);L>0&&(F+=I.verticalPadding);var $=I.rowHeight[L]+I.rowHeight[_];I.rowHeight[L]=F,I.rowHeight[_]<O.height+I.verticalPadding&&(I.rowHeight[_]=O.height+I.verticalPadding);var H=I.rowHeight[L]+I.rowHeight[_];I.height+=H-$,this.shiftToLastRow(I)}},P.prototype.tilingPreLayout=function(){m.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},P.prototype.tilingPostLayout=function(){m.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},P.prototype.reduceTrees=function(){for(var I=[],L=!0,_;L;){var D=this.graphManager.getAllNodes(),O=[];L=!1;for(var B=0;B<D.length;B++)if(_=D[B],_.getEdges().length==1&&!_.getEdges()[0].isInterGraph&&_.getChild()==null){if(m.PURE_INCREMENTAL){var F=_.getEdges()[0].getOtherEnd(_),z=new T(_.getCenterX()-F.getCenterX(),_.getCenterY()-F.getCenterY());O.push([_,_.getEdges()[0],_.getOwner(),z])}else O.push([_,_.getEdges()[0],_.getOwner()]);L=!0}if(L==!0){for(var $=[],H=0;H<O.length;H++)O[H][0].getEdges().length==1&&($.push(O[H]),O[H][0].getOwner().remove(O[H][0]));I.push($),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=I},P.prototype.growTree=function(I){for(var L=I.length,_=I[L-1],D,O=0;O<_.length;O++)D=_[O],this.findPlaceforPrunedNode(D),D[2].add(D[0]),D[2].add(D[1],D[1].source,D[1].target);I.splice(I.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},P.prototype.findPlaceforPrunedNode=function(I){var L,_,D=I[0];if(D==I[1].source?_=I[1].target:_=I[1].source,m.PURE_INCREMENTAL)D.setCenter(_.getCenterX()+I[3].getWidth(),_.getCenterY()+I[3].getHeight());else{var O=_.startX,B=_.finishX,F=_.startY,z=_.finishY,$=0,H=0,V=0,G=0,K=[$,V,H,G];if(F>0)for(var W=O;W<=B;W++)K[0]+=this.grid[W][F-1].length+this.grid[W][F].length-1;if(B<this.grid.length-1)for(var W=F;W<=z;W++)K[1]+=this.grid[B+1][W].length+this.grid[B][W].length-1;if(z<this.grid[0].length-1)for(var W=O;W<=B;W++)K[2]+=this.grid[W][z+1].length+this.grid[W][z].length-1;if(O>0)for(var W=F;W<=z;W++)K[3]+=this.grid[O-1][W].length+this.grid[O][W].length-1;for(var oe=C.MAX_VALUE,Z,J,ne=0;ne<K.length;ne++)K[ne]<oe?(oe=K[ne],Z=1,J=ne):K[ne]==oe&&Z++;if(Z==3&&oe==0)K[0]==0&&K[1]==0&&K[2]==0?L=1:K[0]==0&&K[1]==0&&K[3]==0?L=0:K[0]==0&&K[2]==0&&K[3]==0?L=3:K[1]==0&&K[2]==0&&K[3]==0&&(L=2);else if(Z==2&&oe==0){var ie=Math.floor(Math.random()*2);K[0]==0&&K[1]==0?ie==0?L=0:L=1:K[0]==0&&K[2]==0?ie==0?L=0:L=2:K[0]==0&&K[3]==0?ie==0?L=0:L=3:K[1]==0&&K[2]==0?ie==0?L=1:L=2:K[1]==0&&K[3]==0?ie==0?L=1:L=3:ie==0?L=2:L=3}else if(Z==4&&oe==0){var ie=Math.floor(Math.random()*4);L=ie}else L=J;L==0?D.setCenter(_.getCenterX(),_.getCenterY()-_.getHeight()/2-y.DEFAULT_EDGE_LENGTH-D.getHeight()/2):L==1?D.setCenter(_.getCenterX()+_.getWidth()/2+y.DEFAULT_EDGE_LENGTH+D.getWidth()/2,_.getCenterY()):L==2?D.setCenter(_.getCenterX(),_.getCenterY()+_.getHeight()/2+y.DEFAULT_EDGE_LENGTH+D.getHeight()/2):D.setCenter(_.getCenterX()-_.getWidth()/2-y.DEFAULT_EDGE_LENGTH-D.getWidth()/2,_.getCenterY())}},o.exports=P}),991:((o,l,u)=>{var d=u(551).FDLayoutNode,h=u(551).IMath;function f(g,m,U,y){d.call(this,g,m,U,y)}f.prototype=Object.create(d.prototype);for(var p in d)f[p]=d[p];f.prototype.calculateDisplacement=function(){var g=this.graphManager.getLayout();this.getChild()!=null&&this.fixedNodeWeight?(this.displacementX+=g.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.fixedNodeWeight,this.displacementY+=g.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.fixedNodeWeight):(this.displacementX+=g.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY+=g.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren),Math.abs(this.displacementX)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementX=g.coolingFactor*g.maxNodeDisplacement*h.sign(this.displacementX)),Math.abs(this.displacementY)>g.coolingFactor*g.maxNodeDisplacement&&(this.displacementY=g.coolingFactor*g.maxNodeDisplacement*h.sign(this.displacementY)),this.child&&this.child.getNodes().length>0&&this.propogateDisplacementToChildren(this.displacementX,this.displacementY)},f.prototype.propogateDisplacementToChildren=function(g,m){for(var U=this.getChild().getNodes(),y,b=0;b<U.length;b++)y=U[b],y.getChild()==null?(y.displacementX+=g,y.displacementY+=m):y.propogateDisplacementToChildren(g,m)},f.prototype.move=function(){var g=this.graphManager.getLayout();(this.child==null||this.child.getNodes().length==0)&&(this.moveBy(this.displacementX,this.displacementY),g.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},f.prototype.setPred1=function(g){this.pred1=g},f.prototype.getPred1=function(){return pred1},f.prototype.getPred2=function(){return pred2},f.prototype.setNext=function(g){this.next=g},f.prototype.getNext=function(){return next},f.prototype.setProcessed=function(g){this.processed=g},f.prototype.isProcessed=function(){return processed},o.exports=f}),902:((o,l,u)=>{function d(U){if(Array.isArray(U)){for(var y=0,b=Array(U.length);y<U.length;y++)b[y]=U[y];return b}else return Array.from(U)}var h=u(806),f=u(551).LinkedList,p=u(551).Matrix,g=u(551).SVD;function m(){}m.handleConstraints=function(U){var y={};y.fixedNodeConstraint=U.constraints.fixedNodeConstraint,y.alignmentConstraint=U.constraints.alignmentConstraint,y.relativePlacementConstraint=U.constraints.relativePlacementConstraint;for(var b=new Map,v=new Map,w=[],T=[],S=U.getAllNodes(),C=0,k=0;k<S.length;k++){var E=S[k];E.getChild()==null&&(v.set(E.id,C++),w.push(E.getCenterX()),T.push(E.getCenterY()),b.set(E.id,E))}y.relativePlacementConstraint&&y.relativePlacementConstraint.forEach(function(ue){!ue.gap&&ue.gap!=0&&(ue.left?ue.gap=h.DEFAULT_EDGE_LENGTH+b.get(ue.left).getWidth()/2+b.get(ue.right).getWidth()/2:ue.gap=h.DEFAULT_EDGE_LENGTH+b.get(ue.top).getHeight()/2+b.get(ue.bottom).getHeight()/2)});var A=function(X,fe){return{x:X.x-fe.x,y:X.y-fe.y}},M=function(X){var fe=0,ee=0;return X.forEach(function(Ae){fe+=w[v.get(Ae)],ee+=T[v.get(Ae)]}),{x:fe/X.size,y:ee/X.size}},P=function(X,fe,ee,Ae,Me){function Ke(gt,Ie){var St=new Set(gt),Et=!0,ot=!1,Ht=void 0;try{for(var It=Ie[Symbol.iterator](),ht;!(Et=(ht=It.next()).done);Et=!0){var ve=ht.value;St.add(ve)}}catch(Lt){ot=!0,Ht=Lt}finally{try{!Et&&It.return&&It.return()}finally{if(ot)throw Ht}}return St}var Ne=new Map;X.forEach(function(gt,Ie){Ne.set(Ie,0)}),X.forEach(function(gt,Ie){gt.forEach(function(St){Ne.set(St.id,Ne.get(St.id)+1)})});var je=new Map,Oe=new Map,Ze=new f;Ne.forEach(function(gt,Ie){gt==0?(Ze.push(Ie),ee||(fe=="horizontal"?je.set(Ie,v.has(Ie)?w[v.get(Ie)]:Ae.get(Ie)):je.set(Ie,v.has(Ie)?T[v.get(Ie)]:Ae.get(Ie)))):je.set(Ie,Number.NEGATIVE_INFINITY),ee&&Oe.set(Ie,new Set([Ie]))}),ee&&Me.forEach(function(gt){var Ie=[];if(gt.forEach(function(ot){ee.has(ot)&&Ie.push(ot)}),Ie.length>0){var St=0;Ie.forEach(function(ot){fe=="horizontal"?(je.set(ot,v.has(ot)?w[v.get(ot)]:Ae.get(ot)),St+=je.get(ot)):(je.set(ot,v.has(ot)?T[v.get(ot)]:Ae.get(ot)),St+=je.get(ot))}),St=St/Ie.length,gt.forEach(function(ot){ee.has(ot)||je.set(ot,St)})}else{var Et=0;gt.forEach(function(ot){fe=="horizontal"?Et+=v.has(ot)?w[v.get(ot)]:Ae.get(ot):Et+=v.has(ot)?T[v.get(ot)]:Ae.get(ot)}),Et=Et/gt.length,gt.forEach(function(ot){je.set(ot,Et)})}});for(var Fe=function(){var Ie=Ze.shift(),St=X.get(Ie);St.forEach(function(Et){if(je.get(Et.id)<je.get(Ie)+Et.gap)if(ee&&ee.has(Et.id)){var ot=void 0;if(fe=="horizontal"?ot=v.has(Et.id)?w[v.get(Et.id)]:Ae.get(Et.id):ot=v.has(Et.id)?T[v.get(Et.id)]:Ae.get(Et.id),je.set(Et.id,ot),ot<je.get(Ie)+Et.gap){var Ht=je.get(Ie)+Et.gap-ot;Oe.get(Ie).forEach(function(It){je.set(It,je.get(It)-Ht)})}}else je.set(Et.id,je.get(Ie)+Et.gap);Ne.set(Et.id,Ne.get(Et.id)-1),Ne.get(Et.id)==0&&Ze.push(Et.id),ee&&Oe.set(Et.id,Ke(Oe.get(Ie),Oe.get(Et.id)))})};Ze.length!=0;)Fe();if(ee){var at=new Set;X.forEach(function(gt,Ie){gt.length==0&&at.add(Ie)});var Pe=[];Oe.forEach(function(gt,Ie){if(at.has(Ie)){var St=!1,Et=!0,ot=!1,Ht=void 0;try{for(var It=gt[Symbol.iterator](),ht;!(Et=(ht=It.next()).done);Et=!0){var ve=ht.value;ee.has(ve)&&(St=!0)}}catch(mt){ot=!0,Ht=mt}finally{try{!Et&&It.return&&It.return()}finally{if(ot)throw Ht}}if(!St){var Lt=!1,xt=void 0;Pe.forEach(function(mt,Mt){mt.has([].concat(d(gt))[0])&&(Lt=!0,xt=Mt)}),Lt?gt.forEach(function(mt){Pe[xt].add(mt)}):Pe.push(new Set(gt))}}}),Pe.forEach(function(gt,Ie){var St=Number.POSITIVE_INFINITY,Et=Number.POSITIVE_INFINITY,ot=Number.NEGATIVE_INFINITY,Ht=Number.NEGATIVE_INFINITY,It=!0,ht=!1,ve=void 0;try{for(var Lt=gt[Symbol.iterator](),xt;!(It=(xt=Lt.next()).done);It=!0){var mt=xt.value,Mt=void 0;fe=="horizontal"?Mt=v.has(mt)?w[v.get(mt)]:Ae.get(mt):Mt=v.has(mt)?T[v.get(mt)]:Ae.get(mt);var Dr=je.get(mt);Mt<St&&(St=Mt),Mt>ot&&(ot=Mt),Dr<Et&&(Et=Dr),Dr>Ht&&(Ht=Dr)}}catch(jr){ht=!0,ve=jr}finally{try{!It&&Lt.return&&Lt.return()}finally{if(ht)throw ve}}var ke=(St+ot)/2-(Et+Ht)/2,it=!0,pt=!1,bt=void 0;try{for(var ir=gt[Symbol.iterator](),Br;!(it=(Br=ir.next()).done);it=!0){var Sr=Br.value;je.set(Sr,je.get(Sr)+ke)}}catch(jr){pt=!0,bt=jr}finally{try{!it&&ir.return&&ir.return()}finally{if(pt)throw bt}}})}return je},N=function(X){var fe=0,ee=0,Ae=0,Me=0;if(X.forEach(function(Oe){Oe.left?w[v.get(Oe.left)]-w[v.get(Oe.right)]>=0?fe++:ee++:T[v.get(Oe.top)]-T[v.get(Oe.bottom)]>=0?Ae++:Me++}),fe>ee&&Ae>Me)for(var Ke=0;Ke<v.size;Ke++)w[Ke]=-1*w[Ke],T[Ke]=-1*T[Ke];else if(fe>ee)for(var Ne=0;Ne<v.size;Ne++)w[Ne]=-1*w[Ne];else if(Ae>Me)for(var je=0;je<v.size;je++)T[je]=-1*T[je]},I=function(X){var fe=[],ee=new f,Ae=new Set,Me=0;return X.forEach(function(Ke,Ne){if(!Ae.has(Ne)){fe[Me]=[];var je=Ne;for(ee.push(je),Ae.add(je),fe[Me].push(je);ee.length!=0;){je=ee.shift();var Oe=X.get(je);Oe.forEach(function(Ze){Ae.has(Ze.id)||(ee.push(Ze.id),Ae.add(Ze.id),fe[Me].push(Ze.id))})}Me++}}),fe},L=function(X){var fe=new Map;return X.forEach(function(ee,Ae){fe.set(Ae,[])}),X.forEach(function(ee,Ae){ee.forEach(function(Me){fe.get(Ae).push(Me),fe.get(Me.id).push({id:Ae,gap:Me.gap,direction:Me.direction})})}),fe},_=function(X){var fe=new Map;return X.forEach(function(ee,Ae){fe.set(Ae,[])}),X.forEach(function(ee,Ae){ee.forEach(function(Me){fe.get(Me.id).push({id:Ae,gap:Me.gap,direction:Me.direction})})}),fe},D=[],O=[],B=!1,F=!1,z=new Set,$=new Map,H=new Map,V=[];if(y.fixedNodeConstraint&&y.fixedNodeConstraint.forEach(function(ue){z.add(ue.nodeId)}),y.relativePlacementConstraint&&(y.relativePlacementConstraint.forEach(function(ue){ue.left?($.has(ue.left)?$.get(ue.left).push({id:ue.right,gap:ue.gap,direction:"horizontal"}):$.set(ue.left,[{id:ue.right,gap:ue.gap,direction:"horizontal"}]),$.has(ue.right)||$.set(ue.right,[])):($.has(ue.top)?$.get(ue.top).push({id:ue.bottom,gap:ue.gap,direction:"vertical"}):$.set(ue.top,[{id:ue.bottom,gap:ue.gap,direction:"vertical"}]),$.has(ue.bottom)||$.set(ue.bottom,[]))}),H=L($),V=I(H)),h.TRANSFORM_ON_CONSTRAINT_HANDLING){if(y.fixedNodeConstraint&&y.fixedNodeConstraint.length>1)y.fixedNodeConstraint.forEach(function(ue,X){D[X]=[ue.position.x,ue.position.y],O[X]=[w[v.get(ue.nodeId)],T[v.get(ue.nodeId)]]}),B=!0;else if(y.alignmentConstraint)(function(){var ue=0;if(y.alignmentConstraint.vertical){for(var X=y.alignmentConstraint.vertical,fe=function(je){var Oe=new Set;X[je].forEach(function(at){Oe.add(at)});var Ze=new Set([].concat(d(Oe)).filter(function(at){return z.has(at)})),Fe=void 0;Ze.size>0?Fe=w[v.get(Ze.values().next().value)]:Fe=M(Oe).x,X[je].forEach(function(at){D[ue]=[Fe,T[v.get(at)]],O[ue]=[w[v.get(at)],T[v.get(at)]],ue++})},ee=0;ee<X.length;ee++)fe(ee);B=!0}if(y.alignmentConstraint.horizontal){for(var Ae=y.alignmentConstraint.horizontal,Me=function(je){var Oe=new Set;Ae[je].forEach(function(at){Oe.add(at)});var Ze=new Set([].concat(d(Oe)).filter(function(at){return z.has(at)})),Fe=void 0;Ze.size>0?Fe=w[v.get(Ze.values().next().value)]:Fe=M(Oe).y,Ae[je].forEach(function(at){D[ue]=[w[v.get(at)],Fe],O[ue]=[w[v.get(at)],T[v.get(at)]],ue++})},Ke=0;Ke<Ae.length;Ke++)Me(Ke);B=!0}y.relativePlacementConstraint&&(F=!0)})();else if(y.relativePlacementConstraint){for(var G=0,K=0,W=0;W<V.length;W++)V[W].length>G&&(G=V[W].length,K=W);if(G<H.size/2)N(y.relativePlacementConstraint),B=!1,F=!1;else{var oe=new Map,Z=new Map,J=[];V[K].forEach(function(ue){$.get(ue).forEach(function(X){X.direction=="horizontal"?(oe.has(ue)?oe.get(ue).push(X):oe.set(ue,[X]),oe.has(X.id)||oe.set(X.id,[]),J.push({left:ue,right:X.id})):(Z.has(ue)?Z.get(ue).push(X):Z.set(ue,[X]),Z.has(X.id)||Z.set(X.id,[]),J.push({top:ue,bottom:X.id}))})}),N(J),F=!1;var ne=P(oe,"horizontal"),ie=P(Z,"vertical");V[K].forEach(function(ue,X){O[X]=[w[v.get(ue)],T[v.get(ue)]],D[X]=[],ne.has(ue)?D[X][0]=ne.get(ue):D[X][0]=w[v.get(ue)],ie.has(ue)?D[X][1]=ie.get(ue):D[X][1]=T[v.get(ue)]}),B=!0}}if(B){for(var me=void 0,te=p.transpose(D),Re=p.transpose(O),_e=0;_e<te.length;_e++)te[_e]=p.multGamma(te[_e]),Re[_e]=p.multGamma(Re[_e]);var He=p.multMat(te,p.transpose(Re)),ce=g.svd(He);me=p.multMat(ce.V,p.transpose(ce.U));for(var de=0;de<v.size;de++){var we=[w[de],T[de]],ge=[me[0][0],me[1][0]],ze=[me[0][1],me[1][1]];w[de]=p.dotProduct(we,ge),T[de]=p.dotProduct(we,ze)}F&&N(y.relativePlacementConstraint)}}if(h.ENFORCE_CONSTRAINTS){if(y.fixedNodeConstraint&&y.fixedNodeConstraint.length>0){var xe={x:0,y:0};y.fixedNodeConstraint.forEach(function(ue,X){var fe={x:w[v.get(ue.nodeId)],y:T[v.get(ue.nodeId)]},ee=ue.position,Ae=A(ee,fe);xe.x+=Ae.x,xe.y+=Ae.y}),xe.x/=y.fixedNodeConstraint.length,xe.y/=y.fixedNodeConstraint.length,w.forEach(function(ue,X){w[X]+=xe.x}),T.forEach(function(ue,X){T[X]+=xe.y}),y.fixedNodeConstraint.forEach(function(ue){w[v.get(ue.nodeId)]=ue.position.x,T[v.get(ue.nodeId)]=ue.position.y})}if(y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var Ee=y.alignmentConstraint.vertical,qe=function(X){var fe=new Set;Ee[X].forEach(function(Me){fe.add(Me)});var ee=new Set([].concat(d(fe)).filter(function(Me){return z.has(Me)})),Ae=void 0;ee.size>0?Ae=w[v.get(ee.values().next().value)]:Ae=M(fe).x,fe.forEach(function(Me){z.has(Me)||(w[v.get(Me)]=Ae)})},le=0;le<Ee.length;le++)qe(le);if(y.alignmentConstraint.horizontal)for(var pe=y.alignmentConstraint.horizontal,Te=function(X){var fe=new Set;pe[X].forEach(function(Me){fe.add(Me)});var ee=new Set([].concat(d(fe)).filter(function(Me){return z.has(Me)})),Ae=void 0;ee.size>0?Ae=T[v.get(ee.values().next().value)]:Ae=M(fe).y,fe.forEach(function(Me){z.has(Me)||(T[v.get(Me)]=Ae)})},re=0;re<pe.length;re++)Te(re)}y.relativePlacementConstraint&&(function(){var ue=new Map,X=new Map,fe=new Map,ee=new Map,Ae=new Map,Me=new Map,Ke=new Set,Ne=new Set;if(z.forEach(function(Tt){Ke.add(Tt),Ne.add(Tt)}),y.alignmentConstraint){if(y.alignmentConstraint.vertical)for(var je=y.alignmentConstraint.vertical,Oe=function(yt){fe.set("dummy"+yt,[]),je[yt].forEach(function(Pt){ue.set(Pt,"dummy"+yt),fe.get("dummy"+yt).push(Pt),z.has(Pt)&&Ke.add("dummy"+yt)}),Ae.set("dummy"+yt,w[v.get(je[yt][0])])},Ze=0;Ze<je.length;Ze++)Oe(Ze);if(y.alignmentConstraint.horizontal)for(var Fe=y.alignmentConstraint.horizontal,at=function(yt){ee.set("dummy"+yt,[]),Fe[yt].forEach(function(Pt){X.set(Pt,"dummy"+yt),ee.get("dummy"+yt).push(Pt),z.has(Pt)&&Ne.add("dummy"+yt)}),Me.set("dummy"+yt,T[v.get(Fe[yt][0])])},Pe=0;Pe<Fe.length;Pe++)at(Pe)}var gt=new Map,Ie=new Map,St=function(yt){$.get(yt).forEach(function(Pt){var ft=void 0,or=void 0;Pt.direction=="horizontal"?(ft=ue.get(yt)?ue.get(yt):yt,ue.get(Pt.id)?or={id:ue.get(Pt.id),gap:Pt.gap,direction:Pt.direction}:or=Pt,gt.has(ft)?gt.get(ft).push(or):gt.set(ft,[or]),gt.has(or.id)||gt.set(or.id,[])):(ft=X.get(yt)?X.get(yt):yt,X.get(Pt.id)?or={id:X.get(Pt.id),gap:Pt.gap,direction:Pt.direction}:or=Pt,Ie.has(ft)?Ie.get(ft).push(or):Ie.set(ft,[or]),Ie.has(or.id)||Ie.set(or.id,[]))})},Et=!0,ot=!1,Ht=void 0;try{for(var It=$.keys()[Symbol.iterator](),ht;!(Et=(ht=It.next()).done);Et=!0){var ve=ht.value;St(ve)}}catch(Tt){ot=!0,Ht=Tt}finally{try{!Et&&It.return&&It.return()}finally{if(ot)throw Ht}}var Lt=L(gt),xt=L(Ie),mt=I(Lt),Mt=I(xt),Dr=_(gt),ke=_(Ie),it=[],pt=[];mt.forEach(function(Tt,yt){it[yt]=[],Tt.forEach(function(Pt){Dr.get(Pt).length==0&&it[yt].push(Pt)})}),Mt.forEach(function(Tt,yt){pt[yt]=[],Tt.forEach(function(Pt){ke.get(Pt).length==0&&pt[yt].push(Pt)})});var bt=P(gt,"horizontal",Ke,Ae,it),ir=P(Ie,"vertical",Ne,Me,pt),Br=function(yt){fe.get(yt)?fe.get(yt).forEach(function(Pt){w[v.get(Pt)]=bt.get(yt)}):w[v.get(yt)]=bt.get(yt)},Sr=!0,jr=!1,Er=void 0;try{for(var an=bt.keys()[Symbol.iterator](),Cr;!(Sr=(Cr=an.next()).done);Sr=!0){var Yr=Cr.value;Br(Yr)}}catch(Tt){jr=!0,Er=Tt}finally{try{!Sr&&an.return&&an.return()}finally{if(jr)throw Er}}var Cn=function(yt){ee.get(yt)?ee.get(yt).forEach(function(Pt){T[v.get(Pt)]=ir.get(yt)}):T[v.get(yt)]=ir.get(yt)},ut=!0,Ut=!1,Zt=void 0;try{for(var $r=ir.keys()[Symbol.iterator](),un;!(ut=(un=$r.next()).done);ut=!0){var Yr=un.value;Cn(Yr)}}catch(Tt){Ut=!0,Zt=Tt}finally{try{!ut&&$r.return&&$r.return()}finally{if(Ut)throw Zt}}})()}for(var Y=0;Y<S.length;Y++){var Q=S[Y];Q.getChild()==null&&Q.setCenter(w[v.get(Q.id)],T[v.get(Q.id)])}},o.exports=m}),551:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(45);return s})()})})(cR)),cR.exports}var o4r=lR.exports,G2e;function l4r(){return G2e||(G2e=1,(function(t,e){(function(n,i){t.exports=i(s4r())})(o4r,function(r){return(()=>{var n={658:(o=>{o.exports=Object.assign!=null?Object.assign.bind(Object):function(l){for(var u=arguments.length,d=Array(u>1?u-1:0),h=1;h<u;h++)d[h-1]=arguments[h];return d.forEach(function(f){Object.keys(f).forEach(function(p){return l[p]=f[p]})}),l}}),548:((o,l,u)=>{var d=(function(){function p(g,m){var U=[],y=!0,b=!1,v=void 0;try{for(var w=g[Symbol.iterator](),T;!(y=(T=w.next()).done)&&(U.push(T.value),!(m&&U.length===m));y=!0);}catch(S){b=!0,v=S}finally{try{!y&&w.return&&w.return()}finally{if(b)throw v}}return U}return function(g,m){if(Array.isArray(g))return g;if(Symbol.iterator in Object(g))return p(g,m);throw new TypeError("Invalid attempt to destructure non-iterable instance")}})(),h=u(140).layoutBase.LinkedList,f={};f.getTopMostNodes=function(p){for(var g={},m=0;m<p.length;m++)g[p[m].id()]=!0;var U=p.filter(function(y,b){typeof y=="number"&&(y=b);for(var v=y.parent()[0];v!=null;){if(g[v.id()])return!1;v=v.parent()[0]}return!0});return U},f.connectComponents=function(p,g,m,U){var y=new h,b=new Set,v=[],w=void 0,T=void 0,S=void 0,C=!1,k=1,E=[],A=[],M=function(){var N=p.collection();A.push(N);var I=m[0],L=p.collection();L.merge(I).merge(I.descendants().intersection(g)),v.push(I),L.forEach(function(O){y.push(O),b.add(O),N.merge(O)});for(var _=function(){I=y.shift();var B=p.collection();I.neighborhood().nodes().forEach(function(H){g.intersection(I.edgesWith(H)).length>0&&B.merge(H)});for(var F=0;F<B.length;F++){var z=B[F];if(w=m.intersection(z.union(z.ancestors())),w!=null&&!b.has(w[0])){var $=w.union(w.descendants());$.forEach(function(H){y.push(H),b.add(H),N.merge(H),m.has(H)&&v.push(H)})}}};y.length!=0;)_();if(N.forEach(function(O){g.intersection(O.connectedEdges()).forEach(function(B){N.has(B.source())&&N.has(B.target())&&N.merge(B)})}),v.length==m.length&&(C=!0),!C||C&&k>1){T=v[0],S=T.connectedEdges().length,v.forEach(function(O){O.connectedEdges().length<S&&(S=O.connectedEdges().length,T=O)}),E.push(T.id());var D=p.collection();D.merge(v[0]),v.forEach(function(O){D.merge(O)}),v=[],m=m.difference(D),k++}};do M();while(!C);return U&&E.length>0&&U.set("dummy"+(U.size+1),E),A},f.relocateComponent=function(p,g,m){if(!m.fixedNodeConstraint){var U=Number.POSITIVE_INFINITY,y=Number.NEGATIVE_INFINITY,b=Number.POSITIVE_INFINITY,v=Number.NEGATIVE_INFINITY;if(m.quality=="draft"){var w=!0,T=!1,S=void 0;try{for(var C=g.nodeIndexes[Symbol.iterator](),k;!(w=(k=C.next()).done);w=!0){var E=k.value,A=d(E,2),M=A[0],P=A[1],N=m.cy.getElementById(M);if(N){var I=N.boundingBox(),L=g.xCoords[P]-I.w/2,_=g.xCoords[P]+I.w/2,D=g.yCoords[P]-I.h/2,O=g.yCoords[P]+I.h/2;L<U&&(U=L),_>y&&(y=_),D<b&&(b=D),O>v&&(v=O)}}}catch(H){T=!0,S=H}finally{try{!w&&C.return&&C.return()}finally{if(T)throw S}}var B=p.x-(y+U)/2,F=p.y-(v+b)/2;g.xCoords=g.xCoords.map(function(H){return H+B}),g.yCoords=g.yCoords.map(function(H){return H+F})}else{Object.keys(g).forEach(function(H){var V=g[H],G=V.getRect().x,K=V.getRect().x+V.getRect().width,W=V.getRect().y,oe=V.getRect().y+V.getRect().height;G<U&&(U=G),K>y&&(y=K),W<b&&(b=W),oe>v&&(v=oe)});var z=p.x-(y+U)/2,$=p.y-(v+b)/2;Object.keys(g).forEach(function(H){var V=g[H];V.setCenter(V.getCenterX()+z,V.getCenterY()+$)})}}},f.calcBoundingBox=function(p,g,m,U){for(var y=Number.MAX_SAFE_INTEGER,b=Number.MIN_SAFE_INTEGER,v=Number.MAX_SAFE_INTEGER,w=Number.MIN_SAFE_INTEGER,T=void 0,S=void 0,C=void 0,k=void 0,E=p.descendants().not(":parent"),A=E.length,M=0;M<A;M++){var P=E[M];T=g[U.get(P.id())]-P.width()/2,S=g[U.get(P.id())]+P.width()/2,C=m[U.get(P.id())]-P.height()/2,k=m[U.get(P.id())]+P.height()/2,y>T&&(y=T),b<S&&(b=S),v>C&&(v=C),w<k&&(w=k)}var N={};return N.topLeftX=y,N.topLeftY=v,N.width=b-y,N.height=w-v,N},f.calcParentsWithoutChildren=function(p,g){var m=p.collection();return g.nodes(":parent").forEach(function(U){var y=!1;U.children().forEach(function(b){b.css("display")!="none"&&(y=!0)}),y||m.merge(U)}),m},o.exports=f}),816:((o,l,u)=>{var d=u(548),h=u(140).CoSELayout,f=u(140).CoSENode,p=u(140).layoutBase.PointD,g=u(140).layoutBase.DimensionD,m=u(140).layoutBase.LayoutConstants,U=u(140).layoutBase.FDLayoutConstants,y=u(140).CoSEConstants,b=function(w,T){var S=w.cy,C=w.eles,k=C.nodes(),E=C.edges(),A=void 0,M=void 0,P=void 0,N={};w.randomize&&(A=T.nodeIndexes,M=T.xCoords,P=T.yCoords);var I=function(H){return typeof H=="function"},L=function(H,V){return I(H)?H(V):H},_=d.calcParentsWithoutChildren(S,C),D=function $(H,V,G,K){for(var W=V.length,oe=0;oe<W;oe++){var Z=V[oe],J=null;Z.intersection(_).length==0&&(J=Z.children());var ne=void 0,ie=Z.layoutDimensions({nodeDimensionsIncludeLabels:K.nodeDimensionsIncludeLabels});if(Z.outerWidth()!=null&&Z.outerHeight()!=null)if(K.randomize)if(!Z.isParent())ne=H.add(new f(G.graphManager,new p(M[A.get(Z.id())]-ie.w/2,P[A.get(Z.id())]-ie.h/2),new g(parseFloat(ie.w),parseFloat(ie.h))));else{var me=d.calcBoundingBox(Z,M,P,A);Z.intersection(_).length==0?ne=H.add(new f(G.graphManager,new p(me.topLeftX,me.topLeftY),new g(me.width,me.height))):ne=H.add(new f(G.graphManager,new p(me.topLeftX,me.topLeftY),new g(parseFloat(ie.w),parseFloat(ie.h))))}else ne=H.add(new f(G.graphManager,new p(Z.position("x")-ie.w/2,Z.position("y")-ie.h/2),new g(parseFloat(ie.w),parseFloat(ie.h))));else ne=H.add(new f(this.graphManager));if(ne.id=Z.data("id"),ne.nodeRepulsion=L(K.nodeRepulsion,Z),ne.paddingLeft=parseInt(Z.css("padding")),ne.paddingTop=parseInt(Z.css("padding")),ne.paddingRight=parseInt(Z.css("padding")),ne.paddingBottom=parseInt(Z.css("padding")),K.nodeDimensionsIncludeLabels&&(ne.labelWidth=Z.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).w,ne.labelHeight=Z.boundingBox({includeLabels:!0,includeNodes:!1,includeOverlays:!1}).h,ne.labelPosVertical=Z.css("text-valign"),ne.labelPosHorizontal=Z.css("text-halign")),N[Z.data("id")]=ne,isNaN(ne.rect.x)&&(ne.rect.x=0),isNaN(ne.rect.y)&&(ne.rect.y=0),J!=null&&J.length>0){var te=void 0;te=G.getGraphManager().add(G.newGraph(),ne),$(te,J,G,K)}}},O=function(H,V,G){for(var K=0,W=0,oe=0;oe<G.length;oe++){var Z=G[oe],J=N[Z.data("source")],ne=N[Z.data("target")];if(J&&ne&&J!==ne&&J.getEdgesBetween(ne).length==0){var ie=V.add(H.newEdge(),J,ne);ie.id=Z.id(),ie.idealLength=L(w.idealEdgeLength,Z),ie.edgeElasticity=L(w.edgeElasticity,Z),K+=ie.idealLength,W++}}w.idealEdgeLength!=null&&(W>0?y.DEFAULT_EDGE_LENGTH=U.DEFAULT_EDGE_LENGTH=K/W:I(w.idealEdgeLength)?y.DEFAULT_EDGE_LENGTH=U.DEFAULT_EDGE_LENGTH=50:y.DEFAULT_EDGE_LENGTH=U.DEFAULT_EDGE_LENGTH=w.idealEdgeLength,y.MIN_REPULSION_DIST=U.MIN_REPULSION_DIST=U.DEFAULT_EDGE_LENGTH/10,y.DEFAULT_RADIAL_SEPARATION=U.DEFAULT_EDGE_LENGTH)},B=function(H,V){V.fixedNodeConstraint&&(H.constraints.fixedNodeConstraint=V.fixedNodeConstraint),V.alignmentConstraint&&(H.constraints.alignmentConstraint=V.alignmentConstraint),V.relativePlacementConstraint&&(H.constraints.relativePlacementConstraint=V.relativePlacementConstraint)};w.nestingFactor!=null&&(y.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=U.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=w.nestingFactor),w.gravity!=null&&(y.DEFAULT_GRAVITY_STRENGTH=U.DEFAULT_GRAVITY_STRENGTH=w.gravity),w.numIter!=null&&(y.MAX_ITERATIONS=U.MAX_ITERATIONS=w.numIter),w.gravityRange!=null&&(y.DEFAULT_GRAVITY_RANGE_FACTOR=U.DEFAULT_GRAVITY_RANGE_FACTOR=w.gravityRange),w.gravityCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_STRENGTH=U.DEFAULT_COMPOUND_GRAVITY_STRENGTH=w.gravityCompound),w.gravityRangeCompound!=null&&(y.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=U.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=w.gravityRangeCompound),w.initialEnergyOnIncremental!=null&&(y.DEFAULT_COOLING_FACTOR_INCREMENTAL=U.DEFAULT_COOLING_FACTOR_INCREMENTAL=w.initialEnergyOnIncremental),w.tilingCompareBy!=null&&(y.TILING_COMPARE_BY=w.tilingCompareBy),w.quality=="proof"?m.QUALITY=2:m.QUALITY=0,y.NODE_DIMENSIONS_INCLUDE_LABELS=U.NODE_DIMENSIONS_INCLUDE_LABELS=m.NODE_DIMENSIONS_INCLUDE_LABELS=w.nodeDimensionsIncludeLabels,y.DEFAULT_INCREMENTAL=U.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!w.randomize,y.ANIMATE=U.ANIMATE=m.ANIMATE=w.animate,y.TILE=w.tile,y.TILING_PADDING_VERTICAL=typeof w.tilingPaddingVertical=="function"?w.tilingPaddingVertical.call():w.tilingPaddingVertical,y.TILING_PADDING_HORIZONTAL=typeof w.tilingPaddingHorizontal=="function"?w.tilingPaddingHorizontal.call():w.tilingPaddingHorizontal,y.DEFAULT_INCREMENTAL=U.DEFAULT_INCREMENTAL=m.DEFAULT_INCREMENTAL=!0,y.PURE_INCREMENTAL=!w.randomize,m.DEFAULT_UNIFORM_LEAF_NODE_SIZES=w.uniformNodeDimensions,w.step=="transformed"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!1),w.step=="enforced"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!1),w.step=="cose"&&(y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!1,y.APPLY_LAYOUT=!0),w.step=="all"&&(w.randomize?y.TRANSFORM_ON_CONSTRAINT_HANDLING=!0:y.TRANSFORM_ON_CONSTRAINT_HANDLING=!1,y.ENFORCE_CONSTRAINTS=!0,y.APPLY_LAYOUT=!0),w.fixedNodeConstraint||w.alignmentConstraint||w.relativePlacementConstraint?y.TREE_REDUCTION_ON_INCREMENTAL=!1:y.TREE_REDUCTION_ON_INCREMENTAL=!0;var F=new h,z=F.newGraphManager();return D(z.addRoot(),d.getTopMostNodes(k),F,w),O(F,z,E),B(F,w),F.runLayout(),N};o.exports={coseLayout:b}}),212:((o,l,u)=>{var d=(function(){function w(T,S){for(var C=0;C<S.length;C++){var k=S[C];k.enumerable=k.enumerable||!1,k.configurable=!0,"value"in k&&(k.writable=!0),Object.defineProperty(T,k.key,k)}}return function(T,S,C){return S&&w(T.prototype,S),C&&w(T,C),T}})();function h(w,T){if(!(w instanceof T))throw new TypeError("Cannot call a class as a function")}var f=u(658),p=u(548),g=u(657),m=g.spectralLayout,U=u(816),y=U.coseLayout,b=Object.freeze({quality:"default",randomize:!0,animate:!0,animationDuration:1e3,animationEasing:void 0,fit:!0,padding:30,nodeDimensionsIncludeLabels:!1,uniformNodeDimensions:!1,packComponents:!0,step:"all",samplingType:!0,sampleSize:25,nodeSeparation:75,piTol:1e-7,nodeRepulsion:function(T){return 4500},idealEdgeLength:function(T){return 50},edgeElasticity:function(T){return .45},nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,tilingCompareBy:void 0,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.3,fixedNodeConstraint:void 0,alignmentConstraint:void 0,relativePlacementConstraint:void 0,ready:function(){},stop:function(){}}),v=(function(){function w(T){h(this,w),this.options=f({},b,T)}return d(w,[{key:"run",value:function(){var S=this,C=this.options,k=C.cy,E=C.eles,A=[],M=[],P=void 0,N=[];C.fixedNodeConstraint&&(!Array.isArray(C.fixedNodeConstraint)||C.fixedNodeConstraint.length==0)&&(C.fixedNodeConstraint=void 0),C.alignmentConstraint&&(C.alignmentConstraint.vertical&&(!Array.isArray(C.alignmentConstraint.vertical)||C.alignmentConstraint.vertical.length==0)&&(C.alignmentConstraint.vertical=void 0),C.alignmentConstraint.horizontal&&(!Array.isArray(C.alignmentConstraint.horizontal)||C.alignmentConstraint.horizontal.length==0)&&(C.alignmentConstraint.horizontal=void 0)),C.relativePlacementConstraint&&(!Array.isArray(C.relativePlacementConstraint)||C.relativePlacementConstraint.length==0)&&(C.relativePlacementConstraint=void 0);var I=C.fixedNodeConstraint||C.alignmentConstraint||C.relativePlacementConstraint;I&&(C.tile=!1,C.packComponents=!1);var L=void 0,_=!1;if(k.layoutUtilities&&C.packComponents&&(L=k.layoutUtilities("get"),L||(L=k.layoutUtilities()),_=!0),E.nodes().length>0)if(_){var B=p.getTopMostNodes(C.eles.nodes());if(P=p.connectComponents(k,C.eles,B),P.forEach(function(He){var ce=He.boundingBox();N.push({x:ce.x1+ce.w/2,y:ce.y1+ce.h/2})}),C.randomize&&P.forEach(function(He){C.eles=He,A.push(m(C))}),C.quality=="default"||C.quality=="proof"){var F=k.collection();if(C.tile){var z=new Map,$=[],H=[],V=0,G={nodeIndexes:z,xCoords:$,yCoords:H},K=[];if(P.forEach(function(He,ce){He.edges().length==0&&(He.nodes().forEach(function(de,we){F.merge(He.nodes()[we]),de.isParent()||(G.nodeIndexes.set(He.nodes()[we].id(),V++),G.xCoords.push(He.nodes()[0].position().x),G.yCoords.push(He.nodes()[0].position().y))}),K.push(ce))}),F.length>1){var W=F.boundingBox();N.push({x:W.x1+W.w/2,y:W.y1+W.h/2}),P.push(F),A.push(G);for(var oe=K.length-1;oe>=0;oe--)P.splice(K[oe],1),A.splice(K[oe],1),N.splice(K[oe],1)}}P.forEach(function(He,ce){C.eles=He,M.push(y(C,A[ce])),p.relocateComponent(N[ce],M[ce],C)})}else P.forEach(function(He,ce){p.relocateComponent(N[ce],A[ce],C)});var Z=new Set;if(P.length>1){var J=[],ne=E.filter(function(He){return He.css("display")=="none"});P.forEach(function(He,ce){var de=void 0;if(C.quality=="draft"&&(de=A[ce].nodeIndexes),He.nodes().not(ne).length>0){var we={};we.edges=[],we.nodes=[];var ge=void 0;He.nodes().not(ne).forEach(function(ze){if(C.quality=="draft")if(!ze.isParent())ge=de.get(ze.id()),we.nodes.push({x:A[ce].xCoords[ge]-ze.boundingbox().w/2,y:A[ce].yCoords[ge]-ze.boundingbox().h/2,width:ze.boundingbox().w,height:ze.boundingbox().h});else{var xe=p.calcBoundingBox(ze,A[ce].xCoords,A[ce].yCoords,de);we.nodes.push({x:xe.topLeftX,y:xe.topLeftY,width:xe.width,height:xe.height})}else M[ce][ze.id()]&&we.nodes.push({x:M[ce][ze.id()].getLeft(),y:M[ce][ze.id()].getTop(),width:M[ce][ze.id()].getWidth(),height:M[ce][ze.id()].getHeight()})}),He.edges().forEach(function(ze){var xe=ze.source(),Ee=ze.target();if(xe.css("display")!="none"&&Ee.css("display")!="none")if(C.quality=="draft"){var qe=de.get(xe.id()),le=de.get(Ee.id()),pe=[],Te=[];if(xe.isParent()){var re=p.calcBoundingBox(xe,A[ce].xCoords,A[ce].yCoords,de);pe.push(re.topLeftX+re.width/2),pe.push(re.topLeftY+re.height/2)}else pe.push(A[ce].xCoords[qe]),pe.push(A[ce].yCoords[qe]);if(Ee.isParent()){var Y=p.calcBoundingBox(Ee,A[ce].xCoords,A[ce].yCoords,de);Te.push(Y.topLeftX+Y.width/2),Te.push(Y.topLeftY+Y.height/2)}else Te.push(A[ce].xCoords[le]),Te.push(A[ce].yCoords[le]);we.edges.push({startX:pe[0],startY:pe[1],endX:Te[0],endY:Te[1]})}else M[ce][xe.id()]&&M[ce][Ee.id()]&&we.edges.push({startX:M[ce][xe.id()].getCenterX(),startY:M[ce][xe.id()].getCenterY(),endX:M[ce][Ee.id()].getCenterX(),endY:M[ce][Ee.id()].getCenterY()})}),we.nodes.length>0&&(J.push(we),Z.add(ce))}});var ie=L.packComponents(J,C.randomize).shifts;if(C.quality=="draft")A.forEach(function(He,ce){var de=He.xCoords.map(function(ge){return ge+ie[ce].dx}),we=He.yCoords.map(function(ge){return ge+ie[ce].dy});He.xCoords=de,He.yCoords=we});else{var me=0;Z.forEach(function(He){Object.keys(M[He]).forEach(function(ce){var de=M[He][ce];de.setCenter(de.getCenterX()+ie[me].dx,de.getCenterY()+ie[me].dy)}),me++})}}}else{var D=C.eles.boundingBox();if(N.push({x:D.x1+D.w/2,y:D.y1+D.h/2}),C.randomize){var O=m(C);A.push(O)}C.quality=="default"||C.quality=="proof"?(M.push(y(C,A[0])),p.relocateComponent(N[0],M[0],C)):p.relocateComponent(N[0],A[0],C)}var te=function(ce,de){if(C.quality=="default"||C.quality=="proof"){typeof ce=="number"&&(ce=de);var we=void 0,ge=void 0,ze=ce.data("id");return M.forEach(function(Ee){ze in Ee&&(we={x:Ee[ze].getRect().getCenterX(),y:Ee[ze].getRect().getCenterY()},ge=Ee[ze])}),C.nodeDimensionsIncludeLabels&&(ge.labelWidth&&(ge.labelPosHorizontal=="left"?we.x+=ge.labelWidth/2:ge.labelPosHorizontal=="right"&&(we.x-=ge.labelWidth/2)),ge.labelHeight&&(ge.labelPosVertical=="top"?we.y+=ge.labelHeight/2:ge.labelPosVertical=="bottom"&&(we.y-=ge.labelHeight/2))),we==null&&(we={x:ce.position("x"),y:ce.position("y")}),{x:we.x,y:we.y}}else{var xe=void 0;return A.forEach(function(Ee){var qe=Ee.nodeIndexes.get(ce.id());qe!=null&&(xe={x:Ee.xCoords[qe],y:Ee.yCoords[qe]})}),xe==null&&(xe={x:ce.position("x"),y:ce.position("y")}),{x:xe.x,y:xe.y}}};if(C.quality=="default"||C.quality=="proof"||C.randomize){var Re=p.calcParentsWithoutChildren(k,E),_e=E.filter(function(He){return He.css("display")=="none"});C.eles=E.not(_e),E.nodes().not(":parent").not(_e).layoutPositions(S,C,te),Re.length>0&&Re.forEach(function(He){He.position(te(He))})}else console.log("If randomize option is set to false, then quality option must be 'default' or 'proof'.")}}]),w})();o.exports=v}),657:((o,l,u)=>{var d=u(548),h=u(140).layoutBase.Matrix,f=u(140).layoutBase.SVD,p=function(m){var U=m.cy,y=m.eles,b=y.nodes(),v=y.nodes(":parent"),w=new Map,T=new Map,S=new Map,C=[],k=[],E=[],A=[],M=[],P=[],N=[],I=[],L=void 0,_=1e8,D=1e-9,O=m.piTol,B=m.samplingType,F=m.nodeSeparation,z=void 0,$=function(){for(var X=0,fe=0,ee=!1;fe<z;){X=Math.floor(Math.random()*L),ee=!1;for(var Ae=0;Ae<fe;Ae++)if(A[Ae]==X){ee=!0;break}if(!ee)A[fe]=X,fe++;else continue}},H=function(X,fe,ee){for(var Ae=[],Me=0,Ke=0,Ne=0,je=void 0,Oe=[],Ze=0,Fe=1,at=0;at<L;at++)Oe[at]=_;for(Ae[Ke]=X,Oe[X]=0;Ke>=Me;){Ne=Ae[Me++];for(var Pe=C[Ne],gt=0;gt<Pe.length;gt++)je=T.get(Pe[gt]),Oe[je]==_&&(Oe[je]=Oe[Ne]+1,Ae[++Ke]=je);P[Ne][fe]=Oe[Ne]*F}if(ee){for(var Ie=0;Ie<L;Ie++)P[Ie][fe]<M[Ie]&&(M[Ie]=P[Ie][fe]);for(var St=0;St<L;St++)M[St]>Ze&&(Ze=M[St],Fe=St)}return Fe},V=function(X){var fe=void 0;if(X){fe=Math.floor(Math.random()*L);for(var Ae=0;Ae<L;Ae++)M[Ae]=_;for(var Me=0;Me<z;Me++)A[Me]=fe,fe=H(fe,Me,X)}else{$();for(var ee=0;ee<z;ee++)H(A[ee],ee,X)}for(var Ke=0;Ke<L;Ke++)for(var Ne=0;Ne<z;Ne++)P[Ke][Ne]*=P[Ke][Ne];for(var je=0;je<z;je++)N[je]=[];for(var Oe=0;Oe<z;Oe++)for(var Ze=0;Ze<z;Ze++)N[Oe][Ze]=P[A[Ze]][Oe]},G=function(){for(var X=f.svd(N),fe=X.S,ee=X.U,Ae=X.V,Me=fe[0]*fe[0]*fe[0],Ke=[],Ne=0;Ne<z;Ne++){Ke[Ne]=[];for(var je=0;je<z;je++)Ke[Ne][je]=0,Ne==je&&(Ke[Ne][je]=fe[Ne]/(fe[Ne]*fe[Ne]+Me/(fe[Ne]*fe[Ne])))}I=h.multMat(h.multMat(Ae,Ke),h.transpose(ee))},K=function(){for(var X=void 0,fe=void 0,ee=[],Ae=[],Me=[],Ke=[],Ne=0;Ne<L;Ne++)ee[Ne]=Math.random(),Ae[Ne]=Math.random();ee=h.normalize(ee),Ae=h.normalize(Ae);for(var je=D,Oe=D,Ze=void 0;;){for(var Fe=0;Fe<L;Fe++)Me[Fe]=ee[Fe];if(ee=h.multGamma(h.multL(h.multGamma(Me),P,I)),X=h.dotProduct(Me,ee),ee=h.normalize(ee),je=h.dotProduct(Me,ee),Ze=Math.abs(je/Oe),Ze<=1+O&&Ze>=1)break;Oe=je}for(var at=0;at<L;at++)Me[at]=ee[at];for(Oe=D;;){for(var Pe=0;Pe<L;Pe++)Ke[Pe]=Ae[Pe];if(Ke=h.minusOp(Ke,h.multCons(Me,h.dotProduct(Me,Ke))),Ae=h.multGamma(h.multL(h.multGamma(Ke),P,I)),fe=h.dotProduct(Ke,Ae),Ae=h.normalize(Ae),je=h.dotProduct(Ke,Ae),Ze=Math.abs(je/Oe),Ze<=1+O&&Ze>=1)break;Oe=je}for(var gt=0;gt<L;gt++)Ke[gt]=Ae[gt];k=h.multCons(Me,Math.sqrt(Math.abs(X))),E=h.multCons(Ke,Math.sqrt(Math.abs(fe)))};d.connectComponents(U,y,d.getTopMostNodes(b),w),v.forEach(function(ue){d.connectComponents(U,y,d.getTopMostNodes(ue.descendants().intersection(y)),w)});for(var W=0,oe=0;oe<b.length;oe++)b[oe].isParent()||T.set(b[oe].id(),W++);var Z=!0,J=!1,ne=void 0;try{for(var ie=w.keys()[Symbol.iterator](),me;!(Z=(me=ie.next()).done);Z=!0){var te=me.value;T.set(te,W++)}}catch(ue){J=!0,ne=ue}finally{try{!Z&&ie.return&&ie.return()}finally{if(J)throw ne}}for(var Re=0;Re<T.size;Re++)C[Re]=[];v.forEach(function(ue){for(var X=ue.children().intersection(y);X.nodes(":childless").length==0;)X=X.nodes()[0].children().intersection(y);var fe=0,ee=X.nodes(":childless")[0].connectedEdges().length;X.nodes(":childless").forEach(function(Ae,Me){Ae.connectedEdges().length<ee&&(ee=Ae.connectedEdges().length,fe=Me)}),S.set(ue.id(),X.nodes(":childless")[fe].id())}),b.forEach(function(ue){var X=void 0;ue.isParent()?X=T.get(S.get(ue.id())):X=T.get(ue.id()),ue.neighborhood().nodes().forEach(function(fe){y.intersection(ue.edgesWith(fe)).length>0&&(fe.isParent()?C[X].push(S.get(fe.id())):C[X].push(fe.id()))})});var _e=function(X){var fe=T.get(X),ee=void 0;w.get(X).forEach(function(Ae){U.getElementById(Ae).isParent()?ee=S.get(Ae):ee=Ae,C[fe].push(ee),C[T.get(ee)].push(X)})},He=!0,ce=!1,de=void 0;try{for(var we=w.keys()[Symbol.iterator](),ge;!(He=(ge=we.next()).done);He=!0){var ze=ge.value;_e(ze)}}catch(ue){ce=!0,de=ue}finally{try{!He&&we.return&&we.return()}finally{if(ce)throw de}}L=T.size;var xe=void 0;if(L>2){z=L<m.sampleSize?L:m.sampleSize;for(var Ee=0;Ee<L;Ee++)P[Ee]=[];for(var qe=0;qe<z;qe++)I[qe]=[];return m.quality=="draft"||m.step=="all"?(V(B),G(),K(),xe={nodeIndexes:T,xCoords:k,yCoords:E}):(T.forEach(function(ue,X){k.push(U.getElementById(X).position("x")),E.push(U.getElementById(X).position("y"))}),xe={nodeIndexes:T,xCoords:k,yCoords:E}),xe}else{var le=T.keys(),pe=U.getElementById(le.next().value),Te=pe.position(),re=pe.outerWidth();if(k.push(Te.x),E.push(Te.y),L==2){var Y=U.getElementById(le.next().value),Q=Y.outerWidth();k.push(Te.x+re/2+Q/2+m.idealEdgeLength),E.push(Te.y)}return xe={nodeIndexes:T,xCoords:k,yCoords:E},xe}};o.exports={spectralLayout:p}}),579:((o,l,u)=>{var d=u(212),h=function(p){p&&p("layout","fcose",d)};typeof cytoscape<"u"&&h(cytoscape),o.exports=h}),140:(o=>{o.exports=r})},i={};function a(o){var l=i[o];if(l!==void 0)return l.exports;var u=i[o]={exports:{}};return n[o](u,u.exports,a),u.exports}var s=a(579);return s})()})})(lR)),lR.exports}var c4r=l4r();const u4r=T1(c4r);var W2e={L:"left",R:"right",T:"top",B:"bottom"},q2e={L:x(t=>`${t},${t/2} 0,${t} 0,0`,"L"),R:x(t=>`0,${t/2} ${t},0 ${t},${t}`,"R"),T:x(t=>`0,0 ${t},0 ${t/2},${t}`,"T"),B:x(t=>`${t/2},0 ${t},${t} 0,${t}`,"B")},vA={L:x((t,e)=>t-e+2,"L"),R:x((t,e)=>t-2,"R"),T:x((t,e)=>t-e+2,"T"),B:x((t,e)=>t-2,"B")},d4r=x(function(t){return kl(t)?t==="L"?"R":"L":t==="T"?"B":"T"},"getOppositeArchitectureDirection"),j2e=x(function(t){const e=t;return e==="L"||e==="R"||e==="T"||e==="B"},"isArchitectureDirection"),kl=x(function(t){const e=t;return e==="L"||e==="R"},"isArchitectureDirectionX"),p1=x(function(t){const e=t;return e==="T"||e==="B"},"isArchitectureDirectionY"),Tse=x(function(t,e){const r=kl(t)&&p1(e),n=p1(t)&&kl(e);return r||n},"isArchitectureDirectionXY"),h4r=x(function(t){const e=t[0],r=t[1],n=kl(e)&&p1(r),i=p1(e)&&kl(r);return n||i},"isArchitecturePairXY"),f4r=x(function(t){return t!=="LL"&&t!=="RR"&&t!=="TT"&&t!=="BB"},"isValidArchitectureDirectionPair"),tZ=x(function(t,e){const r=`${t}${e}`;return f4r(r)?r:void 0},"getArchitectureDirectionPair"),p4r=x(function([t,e],r){const n=r[0],i=r[1];return kl(n)?p1(i)?[t+(n==="L"?-1:1),e+(i==="T"?1:-1)]:[t+(n==="L"?-1:1),e]:kl(i)?[t+(i==="L"?1:-1),e+(n==="T"?1:-1)]:[t,e+(n==="T"?1:-1)]},"shiftPositionByArchitectureDirectionPair"),g4r=x(function(t){return t==="LT"||t==="TL"?[1,1]:t==="BL"||t==="LB"?[1,-1]:t==="BR"||t==="RB"?[-1,-1]:[-1,1]},"getArchitectureDirectionXYFactors"),m4r=x(function(t,e){return Tse(t,e)?"bend":kl(t)?"horizontal":"vertical"},"getArchitectureDirectionAlignment"),U4r=x(function(t){return t.type==="service"},"isArchitectureService"),y4r=x(function(t){return t.type==="junction"},"isArchitectureJunction"),LKe=x((t,e)=>{const[r,n]=[t,e].sort();return`${JSON.stringify(r)}-${JSON.stringify(n)}`},"architectureGroupAlignmentKey"),NKe=x(t=>t.data(),"edgeData"),J2=x(t=>t.data(),"nodeData"),b4r=An.architecture,cv,OKe=(cv=class{constructor(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.elements=new Map,this.diagramId="",this.setAccTitle=qi,this.getAccTitle=ia,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.getAccDescription=sa,this.setAccDescription=aa,this.clear()}setDiagramId(e){this.diagramId=e}getDiagramId(){return this.diagramId}clear(){this.nodes=new Map,this.groups=new Map,this.edges=[],this.layoutHints=[],this.registeredIds=new Map,this.dataStructures=void 0,this.elements=new Map,this.diagramId="",Di()}addService({id:e,icon:r,in:n,title:i,iconText:a}){if(this.registeredIds.has(e))throw new Error(`The service id [${e}] is already in use by another ${this.registeredIds.get(e)}`);if(n!==void 0){if(e===n)throw new Error(`The service [${e}] cannot be placed within itself`);if(!this.registeredIds.has(n))throw new Error(`The service [${e}]'s parent does not exist. Please make sure the parent is created before this service`);if(this.registeredIds.get(n)==="node")throw new Error(`The service [${e}]'s parent is not a group`)}this.registeredIds.set(e,"node"),this.nodes.set(e,{id:e,type:"service",icon:r,iconText:a,title:i,edges:[],in:n})}getServices(){return[...this.nodes.values()].filter(U4r)}addJunction({id:e,in:r}){if(this.registeredIds.has(e))throw new Error(`The junction id [${e}] is already in use by another ${this.registeredIds.get(e)}`);if(r!==void 0){if(e===r)throw new Error(`The junction [${e}] cannot be placed within itself`);if(!this.registeredIds.has(r))throw new Error(`The junction [${e}]'s parent does not exist. Please make sure the parent is created before this junction`);if(this.registeredIds.get(r)==="node")throw new Error(`The junction [${e}]'s parent is not a group`)}this.registeredIds.set(e,"node"),this.nodes.set(e,{id:e,type:"junction",edges:[],in:r})}getJunctions(){return[...this.nodes.values()].filter(y4r)}getNodes(){return[...this.nodes.values()]}getNode(e){return this.nodes.get(e)??null}addGroup({id:e,icon:r,in:n,title:i}){if(this.registeredIds.has(e))throw new Error(`The group id [${e}] is already in use by another ${this.registeredIds.get(e)}`);if(n!==void 0){if(e===n)throw new Error(`The group [${e}] cannot be placed within itself`);if(!this.registeredIds.has(n))throw new Error(`The group [${e}]'s parent does not exist. Please make sure the parent is created before this group`);if(this.registeredIds.get(n)==="node")throw new Error(`The group [${e}]'s parent is not a group`)}this.registeredIds.set(e,"group"),this.groups.set(e,{id:e,icon:r,title:i,in:n})}getGroups(){return[...this.groups.values()]}addEdge({lhsId:e,rhsId:r,lhsDir:n,rhsDir:i,lhsInto:a,rhsInto:s,lhsGroup:o,rhsGroup:l,title:u}){if(!j2e(n))throw new Error(`Invalid direction given for left hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(n)}`);if(!j2e(i))throw new Error(`Invalid direction given for right hand side of edge ${e}--${r}. Expected (L,R,T,B) got ${String(i)}`);if(!this.nodes.has(e)&&!this.groups.has(e))throw new Error(`The left-hand id [${e}] does not yet exist. Please create the service/group before declaring an edge to it.`);if(!this.nodes.has(r)&&!this.groups.has(r))throw new Error(`The right-hand id [${r}] does not yet exist. Please create the service/group before declaring an edge to it.`);const d=this.nodes.get(e).in,h=this.nodes.get(r).in;if(o&&d&&h&&d==h)throw new Error(`The left-hand id [${e}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);if(l&&d&&h&&d==h)throw new Error(`The right-hand id [${r}] is modified to traverse the group boundary, but the edge does not pass through two groups.`);const f={lhsId:e,lhsDir:n,lhsInto:a,lhsGroup:o,rhsId:r,rhsDir:i,rhsInto:s,rhsGroup:l,title:u};this.edges.push(f);const p=this.nodes.get(e),g=this.nodes.get(r);p&&g&&(p.edges.push(this.edges[this.edges.length-1]),g.edges.push(this.edges[this.edges.length-1]))}getEdges(){return this.edges}addLayoutHint(e){if(e.members.length<2)throw new Error(`An align directive requires at least two members; got ${e.members.length}`);const r=new Set;e.members.forEach(n=>{if(this.registeredIds.get(n)!=="node")throw new Error(`align ${e.direction} references [${n}], which is not a service or junction`);if(r.has(n))throw new Error(`align ${e.direction} lists [${n}] more than once`);r.add(n)}),this.layoutHints.push(e)}getLayoutHints(){return this.layoutHints}getDataStructures(){var e,r;if(this.dataStructures===void 0){const n=new Map,i=new Map;for(const[u,d]of this.nodes.entries()){const h=new Map;for(const f of d.edges){const p=(e=this.getNode(f.lhsId))==null?void 0:e.in,g=(r=this.getNode(f.rhsId))==null?void 0:r.in;if(p&&g&&p!==g){const m=m4r(f.lhsDir,f.rhsDir);m!=="bend"&&n.set(LKe(p,g),m)}if(f.lhsId===u){const m=tZ(f.lhsDir,f.rhsDir);m&&h.set(m,f.rhsId)}else{const m=tZ(f.rhsDir,f.lhsDir);m&&h.set(m,f.lhsId)}}i.set(u,h)}const a=new Set,s=new Set(i.keys()),o=x(u=>{const d=new Map([[u,[0,0]]]),h=[u];for(;h.length>0;){const f=h.shift();if(f){a.add(f),s.delete(f);const p=i.get(f);if(!p)throw new Error(`BFS error: adjacency list for id ${f} not found. Please report this as a bug.`);const g=d.get(f);if(!g)throw new Error(`BFS error: position for id ${f} not found in spatial map. Please report this as a bug.`);const[m,U]=g;p.forEach((y,b)=>{a.has(y)||(d.set(y,p4r([m,U],b)),h.push(y))})}}return d},"BFS"),l=[];for(;s.size>0;){const u=s.values().next().value;l.push(o(u))}this.dataStructures={adjList:i,spatialMaps:l,groupAlignments:n}}return this.dataStructures}setElementForId(e,r){this.elements.set(e,r)}getElementById(e){return this.elements.get(e)}getConfig(){return na({...b4r,...xr().architecture})}getConfigField(e){return this.getConfig()[e]}},x(cv,"ArchitectureDB"),cv),v4r=x((t,e)=>{var r;ec(t,e),t.groups.map(n=>e.addGroup(n)),t.services.map(n=>e.addService({...n,type:"service"})),t.junctions.map(n=>e.addJunction({...n,type:"junction"})),t.edges.map(n=>e.addEdge(n)),(r=t.alignments)==null||r.map(n=>e.addLayoutHint({direction:n.direction,members:[...n.members]}))},"populateDb"),DKe={parser:{yy:void 0},parse:x(async t=>{var n;const e=await Qu("architecture",t);he.debug(e);const r=(n=DKe.parser)==null?void 0:n.yy;if(!(r instanceof OKe))throw new Error("parser.parser?.yy was not a ArchitectureDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");v4r(e,r)},"parse")},x4r=x(t=>`
.edge {
stroke-width: ${t.archEdgeWidth};
stroke: ${t.archEdgeColor};
fill: none;
}
.arrow {
fill: ${t.archEdgeArrowColor};
}
.node-bkg {
fill: none;
stroke: ${t.archGroupBorderColor};
stroke-width: ${t.archGroupBorderWidth};
stroke-dasharray: 8;
}
.node-icon-text {
display: flex;
align-items: center;
}
.node-icon-text > div {
color: #fff;
margin: 1px;
height: fit-content;
text-align: center;
overflow: hidden;
display: -webkit-box;
-webkit-box-orient: vertical;
}
`,"getStyles"),w4r=x4r;function rZ(t,e){if(t===0)return e();const r=Math.random;let n=t>>>0;Math.random=function(){n=n+1831565813>>>0;let i=n;return i=Math.imul(i^i>>>15,i|1),i^=i+Math.imul(i^i>>>7,i|61),((i^i>>>14)>>>0)/4294967296};try{return e()}finally{Math.random=r}}x(rZ,"withSeededRandom");var Vy=x(t=>`<g><rect width="80" height="80" style="fill: #087ebf; stroke-width: 0px;"/>${t}</g>`,"wrapIcon"),AC={prefix:"mermaid-architecture",height:80,width:80,icons:{database:{body:Vy('<path id="b" data-name="4" d="m20,57.86c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="c" data-name="3" d="m20,45.95c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path id="d" data-name="2" d="m20,34.05c0,3.94,8.95,7.14,20,7.14s20-3.2,20-7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse id="e" data-name="1" cx="40" cy="22.14" rx="20" ry="7.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="20" y1="57.86" x2="20" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="60" y1="57.86" x2="60" y2="22.14" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},server:{body:Vy('<rect x="17.5" y="17.5" width="45" height="45" rx="2" ry="2" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="32.5" x2="62.5" y2="32.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="47.5" x2="62.5" y2="47.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><g><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,25c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,40c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: #fff; stroke-width: 0px;"/><path d="m56.25,55c0,.27-.45.5-1,.5h-10.5c-.55,0-1-.23-1-.5s.45-.5,1-.5h10.5c.55,0,1,.23,1,.5Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="25" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="40" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g><g><circle cx="32.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="27.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/><circle cx="22.5" cy="55" r=".75" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10;"/></g>')},disk:{body:Vy('<rect x="20" y="15" width="40" height="50" rx="1" ry="1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="19.17" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="24" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="56" cy="60.83" rx=".8" ry=".83" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="14" ry="14.58" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><ellipse cx="40" cy="33.75" rx="4" ry="4.17" style="fill: #fff; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m37.51,42.52l-4.83,13.22c-.26.71-1.1,1.02-1.76.64l-4.18-2.42c-.66-.38-.81-1.26-.33-1.84l9.01-10.8c.88-1.05,2.56-.08,2.09,1.2Z" style="fill: #fff; stroke-width: 0px;"/>')},internet:{body:Vy('<circle cx="40" cy="40" r="22.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="40" y1="17.5" x2="40" y2="62.5" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="17.5" y1="40" x2="62.5" y2="40" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m39.99,17.51c-15.28,11.1-15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><path d="m40.01,17.51c15.28,11.1,15.28,33.88,0,44.98" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="30.1" x2="60.25" y2="30.1" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/><line x1="19.75" y1="49.9" x2="60.25" y2="49.9" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},cloud:{body:Vy('<path d="m65,47.5c0,2.76-2.24,5-5,5H20c-2.76,0-5-2.24-5-5,0-1.87,1.03-3.51,2.56-4.36-.04-.21-.06-.42-.06-.64,0-2.6,2.48-4.74,5.65-4.97,1.65-4.51,6.34-7.76,11.85-7.76.86,0,1.69.08,2.5.23,2.09-1.57,4.69-2.5,7.5-2.5,6.1,0,11.19,4.38,12.28,10.17,2.14.56,3.72,2.51,3.72,4.83,0,.03,0,.07-.01.1,2.29.46,4.01,2.48,4.01,4.9Z" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 2px;"/>')},unknown:hTe,blank:{body:Vy("")}}},T4r=x(async function(t,e,r,n){const i=r.getConfigField("padding"),a=r.getConfigField("iconSize"),s=a/2,o=a/6,l=o/2;await Promise.all(e.edges().map(async u=>{var A,M;const{source:d,sourceDir:h,sourceArrow:f,sourceGroup:p,target:g,targetDir:m,targetArrow:U,targetGroup:y,label:b}=NKe(u);let{x:v,y:w}=u[0].sourceEndpoint();const{x:T,y:S}=u[0].midpoint();let{x:C,y:k}=u[0].targetEndpoint();const E=i+4;if(p&&(kl(h)?v+=h==="L"?-E:E:w+=h==="T"?-E:E+18),y&&(kl(m)?C+=m==="L"?-E:E:k+=m==="T"?-E:E+18),!p&&((A=r.getNode(d))==null?void 0:A.type)==="junction"&&(kl(h)?v+=h==="L"?s:-s:w+=h==="T"?s:-s),!y&&((M=r.getNode(g))==null?void 0:M.type)==="junction"&&(kl(m)?C+=m==="L"?s:-s:k+=m==="T"?s:-s),u[0]._private.rscratch){const P=t.insert("g");if(P.insert("path").attr("d",`M ${v},${w} L ${T},${S} L${C},${k} `).attr("class","edge").attr("id",`${n}-${fb(d,g,{prefix:"L"})}`),f){const N=kl(h)?vA[h](v,o):v-l,I=p1(h)?vA[h](w,o):w-l;P.insert("polygon").attr("points",q2e[h](o)).attr("transform",`translate(${N},${I})`).attr("class","arrow")}if(U){const N=kl(m)?vA[m](C,o):C-l,I=p1(m)?vA[m](k,o):k-l;P.insert("polygon").attr("points",q2e[m](o)).attr("transform",`translate(${N},${I})`).attr("class","arrow")}if(b){const N=Tse(h,m)?"XY":kl(h)?"X":"Y";let I=0;N==="X"?I=Math.abs(v-C):N==="Y"?I=Math.abs(w-k)/1.5:I=Math.abs(v-C)/2;const L=P.append("g");if(await ll(L,b,{useHtmlLabels:!1,width:I,classes:"architecture-service-label"},Ve()),L.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),N==="X")L.attr("transform","translate("+T+", "+S+")");else if(N==="Y")L.attr("transform","translate("+T+", "+S+") rotate(-90)");else if(N==="XY"){const _=tZ(h,m);if(_&&h4r(_)){const D=L.node().getBoundingClientRect(),[O,B]=g4r(_);L.attr("dominant-baseline","auto").attr("transform",`rotate(${-1*O*B*45})`);const F=L.node().getBoundingClientRect();L.attr("transform",`
translate(${T}, ${S-D.height/2})
translate(${O*F.width/2}, ${B*F.height/2})
rotate(${-1*O*B*45}, 0, ${D.height/2})
`)}}}}}))},"drawEdges"),C4r=x(async function(t,e,r,n){const a=r.getConfigField("padding")*.75,s=r.getConfigField("fontSize"),l=r.getConfigField("iconSize")/2;await Promise.all(e.nodes().map(async u=>{const d=J2(u);if(d.type==="group"){const{h,w:f,x1:p,y1:g}=u.boundingBox(),m=t.append("rect");m.attr("id",`${n}-group-${d.id}`).attr("x",p+l).attr("y",g+l).attr("width",f).attr("height",h).attr("class","node-bkg");const U=t.append("g");let y=p,b=g;if(d.icon){const v=U.append("g");v.html(`<g>${await D0(d.icon,{height:a,width:a,fallbackPrefix:AC.prefix})}</g>`),v.attr("transform","translate("+(y+l+1)+", "+(b+l+1)+")"),y+=a,b+=s/2-1-2}if(d.label){const v=U.append("g");await ll(v,d.label,{useHtmlLabels:!1,width:f,classes:"architecture-service-label"},Ve()),v.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","start").attr("text-anchor","start"),v.attr("transform","translate("+(y+l+4)+", "+(b+l+2)+")")}r.setElementForId(d.id,m)}}))},"drawGroups"),S4r=x(async function(t,e,r,n){const i=Ve();for(const a of r){const s=e.append("g"),o=t.getConfigField("iconSize");if(a.title){const h=s.append("g");await ll(h,a.title,{useHtmlLabels:!1,width:o*1.5,classes:"architecture-service-label"},i),h.attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle"),h.attr("transform","translate("+o/2+", "+o+")")}const l=s.append("g");if(a.icon)l.html(`<g>${await D0(a.icon,{height:o,width:o,fallbackPrefix:AC.prefix})}</g>`);else if(a.iconText){l.html(`<g>${await D0("blank",{height:o,width:o,fallbackPrefix:AC.prefix})}</g>`);const p=l.append("g").append("foreignObject").attr("width",o).attr("height",o).append("div").attr("class","node-icon-text").attr("style",`height: ${o}px;`).append("div").html(On(a.iconText,i)),g=parseInt(window.getComputedStyle(p.node(),null).getPropertyValue("font-size").replace(/\D/g,""))??16;p.attr("style",`-webkit-line-clamp: ${Math.floor((o-2)/g)};`)}else l.append("path").attr("class","node-bkg").attr("id",`${n}-node-${a.id}`).attr("d",`M0,${o} V5 Q0,0 5,0 H${o-5} Q${o},0 ${o},5 V${o} Z`);s.attr("id",`${n}-service-${a.id}`).attr("class","architecture-service");const{width:u,height:d}=s.node().getBBox();a.width=u,a.height=d,t.setElementForId(a.id,s)}return 0},"drawServices"),k4r=x(function(t,e,r,n){r.forEach(i=>{const a=e.append("g"),s=t.getConfigField("iconSize");a.append("g").append("rect").attr("id",`${n}-node-${i.id}`).attr("fill-opacity","0").attr("width",s).attr("height",s),a.attr("class","architecture-junction");const{width:l,height:u}=a._groups[0][0].getBBox();a.width=l,a.height=u,t.setElementForId(i.id,a)})},"drawJunctions");OQ([{name:AC.prefix,icons:AC}]);ef.use(u4r);function PKe(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"service",id:n.id,icon:n.icon,label:n.title,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-service"})})}x(PKe,"addServices");function _Ke(t,e,r){t.forEach(n=>{e.add({group:"nodes",data:{type:"junction",id:n.id,parent:n.in,width:r.getConfigField("iconSize"),height:r.getConfigField("iconSize")},classes:"node-junction"})})}x(_Ke,"addJunctions");function BKe(t,e){e.nodes().map(r=>{const n=J2(r);if(n.type==="group")return;n.x=r.position().x,n.y=r.position().y,t.getElementById(n.id).attr("transform","translate("+(n.x||0)+","+(n.y||0)+")")})}x(BKe,"positionNodes");function $Ke(t,e){t.forEach(r=>{e.add({group:"nodes",data:{type:"group",id:r.id,icon:r.icon,label:r.title,parent:r.in},classes:"node-group"})})}x($Ke,"addGroups");function FKe(t,e){t.forEach(r=>{const{lhsId:n,rhsId:i,lhsInto:a,lhsGroup:s,rhsInto:o,lhsDir:l,rhsDir:u,rhsGroup:d,title:h}=r,f=Tse(r.lhsDir,r.rhsDir)?"segments":"straight",p={id:`${n}-${i}`,label:h,source:n,sourceDir:l,sourceArrow:a,sourceGroup:s,sourceEndpoint:l==="L"?"0 50%":l==="R"?"100% 50%":l==="T"?"50% 0":"50% 100%",target:i,targetDir:u,targetArrow:o,targetGroup:d,targetEndpoint:u==="L"?"0 50%":u==="R"?"100% 50%":u==="T"?"50% 0":"50% 100%"};e.add({group:"edges",data:p,classes:f})})}x(FKe,"addEdges");function zKe(t,e,r,n=[]){const i=x((f,p)=>{const g=new Map;for(const[m,U]of f.entries()){const y=`${m}`;let b=0;const v=[...U.entries()];if(v.length===1){g.set(y,v[0][1]);continue}for(let w=0;w<v.length-1;w++)for(let T=w+1;T<v.length;T++){const[S,C]=v[w],[k,E]=v[T];if(r.get(LKe(S,k))===p)g.set(y,[...g.get(y)??[],...C,...E]);else if(S==="default"||k==="default")g.set(y,[...g.get(y)??[],...C,...E]);else{const M=`${y}-${b++}`;g.set(M,C);const P=`${y}-${b++}`;g.set(P,E)}}}return g},"flattenAlignments"),a=e.map(f=>{const p=new Map,g=new Map;return f.forEach(([m,U],y)=>{var T;const b=((T=t.getNode(y))==null?void 0:T.in)??"default",v=p.get(U)??new Map;p.has(U)||p.set(U,v);const w=g.get(m)??new Map;g.has(m)||g.set(m,w);for(const S of[v,w]){const C=S.get(b)??[];S.has(b)||S.set(b,C),C.push(y)}}),{horiz:[...i(p,"horizontal").values()].filter(m=>m.length>1),vert:[...i(g,"vertical").values()].filter(m=>m.length>1)}}),[s,o]=a.reduce(([f,p],{horiz:g,vert:m})=>[[...f,...g],[...p,...m]],[[],[]]),l=new Set;n.forEach(f=>f.members.forEach(p=>l.add(p)));const u=x(f=>f.filter(p=>!p.some(g=>l.has(g))),"dropOverlapping"),d=u(s),h=u(o);return n.forEach(f=>{f.members.length<2||(f.direction==="row"?d.push([...f.members]):h.push([...f.members]))}),{horizontal:d,vertical:h}}x(zKe,"getAlignments");function HKe(t,e,r=[]){const n=[],i=e.getConfigField("iconSize"),a=e.getConfigField("idealEdgeLengthMultiplier"),s=a*i,o=new Set;r.forEach(d=>{for(let h=0;h<d.members.length-1;h++){const f=d.members[h],p=d.members[h+1];o.add(`${f}|${p}`),o.add(`${p}|${f}`),d.direction==="row"?n.push({left:f,right:p,gap:s}):n.push({top:f,bottom:p,gap:s})}});const l=x(d=>`${d[0]},${d[1]}`,"posToStr"),u=x(d=>d.split(",").map(h=>parseInt(h)),"strToPos");return t.forEach(d=>{const h=new Map([...d.entries()].map(([m,U])=>[l(U),m])),f=[l([0,0])],p={},g={L:[-1,0],R:[1,0],T:[0,1],B:[0,-1]};for(;f.length>0;){const m=f.shift();if(m){p[m]=1;const U=h.get(m);if(U){const y=u(m);Object.entries(g).forEach(([b,v])=>{const w=l([y[0]+v[0],y[1]+v[1]]),T=h.get(w);if(T&&!p[w]){if(f.push(w),o.has(`${U}|${T}`))return;n.push({[W2e[b]]:T,[W2e[d4r(b)]]:U,gap:a*i})}})}}}}),n}x(HKe,"getRelativeConstraints");function VKe(t,e,r,n,i,{spatialMaps:a,groupAlignments:s}){return new Promise(o=>{const l=vt("body").append("div").attr("id","cy").attr("style","display:none"),u=ef({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"straight","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"edge[label]",style:{label:"data(label)"}},{selector:"edge.segments",style:{"curve-style":"segments","segment-weights":"0","segment-distances":[.5],"edge-distances":"endpoints","source-endpoint":"data(sourceEndpoint)","target-endpoint":"data(targetEndpoint)"}},{selector:"node",style:{"compound-sizing-wrt-labels":"include"}},{selector:"node[label]",style:{"text-valign":"bottom","text-halign":"center","font-size":`${i.getConfigField("fontSize")}px`}},{selector:".node-service",style:{label:"data(label)",width:"data(width)",height:"data(height)"}},{selector:".node-junction",style:{width:"data(width)",height:"data(height)"}},{selector:".node-group",style:{padding:`${i.getConfigField("padding")}px`}}],layout:{name:"grid",boundingBox:{x1:0,x2:100,y1:0,y2:100}}});l.remove(),$Ke(r,u),PKe(t,u,i),_Ke(e,u,i),FKe(n,u);const d=i.getLayoutHints(),h=zKe(i,a,s,d),f=HKe(a,i,d),p=i.getConfigField("iconSize"),g=i.getConfigField("idealEdgeLengthMultiplier")*p,m=.5*p,U=i.getConfigField("edgeElasticity"),y=i.getConfigField("seed"),b=u.layout({name:"fcose",quality:"proof",randomize:i.getConfigField("randomize"),nodeSeparation:i.getConfigField("nodeSeparation"),numIter:i.getConfigField("numIter"),styleEnabled:!1,animate:!1,nodeDimensionsIncludeLabels:!1,idealEdgeLength(v){const[w,T]=v.connectedNodes(),{parent:S}=J2(w),{parent:C}=J2(T);return S===C?g:m},edgeElasticity(v){const[w,T]=v.connectedNodes(),{parent:S}=J2(w),{parent:C}=J2(T);return S===C?U:.001},alignmentConstraint:h,relativePlacementConstraint:f});b.one("layoutstop",()=>{var w;function v(T,S,C,k){let E,A;const{x:M,y:P}=T,{x:N,y:I}=S;A=(k-P+(M-C)*(P-I)/(M-N))/Math.sqrt(1+Math.pow((P-I)/(M-N),2)),E=Math.sqrt(Math.pow(k-P,2)+Math.pow(C-M,2)-Math.pow(A,2));const L=Math.sqrt(Math.pow(N-M,2)+Math.pow(I-P,2));E=E/L;let _=(N-M)*(k-P)-(I-P)*(C-M);switch(!0){case _>=0:_=1;break;case _<0:_=-1;break}let D=(N-M)*(C-M)+(I-P)*(k-P);switch(!0){case D>=0:D=1;break;case D<0:D=-1;break}return A=Math.abs(A)*_,E=E*D,{distances:A,weights:E}}x(v,"getSegmentWeights"),u.startBatch();for(const T of Object.values(u.edges()))if((w=T.data)!=null&&w.call(T)){const{x:S,y:C}=T.source().position(),{x:k,y:E}=T.target().position();if(S!==k&&C!==E){const A=T.sourceEndpoint(),M=T.targetEndpoint(),{sourceDir:P}=NKe(T),[N,I]=p1(P)?[A.x,M.y]:[M.x,A.y],{weights:L,distances:_}=v(A,M,N,I);T.style("segment-distances",_),T.style("segment-weights",L)}}u.endBatch(),rZ(y,()=>b.run())});try{rZ(y,()=>b.run())}catch(v){throw v instanceof RangeError&&v.message.includes("Invalid array length")?new Error("Architecture layout failed: a declared `align row|column` directive likely contradicts the edge directions, or two declared alignments overlap on a shared node. Check that the order of members in each `align` chain is consistent with the edges between them, and that no node appears in two `align` directives along the same axis."):v}u.ready(v=>{he.info("Ready",v),o(u)})})}x(VKe,"layoutArchitecture");var E4r=x(async(t,e,r,n)=>{const i=n.db;i.setDiagramId(e);const a=i.getServices(),s=i.getJunctions(),o=i.getGroups(),l=i.getEdges(),u=i.getDataStructures(),d=sl(e),h=d.append("g");h.attr("class","architecture-edges");const f=d.append("g");f.attr("class","architecture-services");const p=d.append("g");p.attr("class","architecture-groups"),await S4r(i,f,a,e),k4r(i,f,s,e);const g=await VKe(a,s,o,l,i,u);await T4r(h,g,i,e),await C4r(p,g,i,e),BKe(i,g),Y4(void 0,d,i.getConfigField("padding"),i.getConfigField("useMaxWidth"))},"draw"),A4r={draw:E4r},M4r={parser:DKe,get db(){return new OKe},renderer:A4r,styles:w4r};const R4r=Object.freeze(Object.defineProperty({__proto__:null,diagram:M4r},Symbol.toStringTag,{value:"Module"}));var GKe="position frame",WKe="frame positioned",nZ="position relation",qKe="relation positioned",I4r=x(function(t){he.debug("options str",t)},"setOptions"),L4r=x(function(){return{}},"getOptions"),N4r=x(function(){jKe(),Di()},"clear");function jKe(){Cse={}}x(jKe,"reset");var O4r=An.eventmodeling,D4r=x(()=>na({...O4r,...xr().eventmodeling}),"getConfig"),Cse={};function YKe(){let t=P4r;const{ast:e}=Cse,r=Sse();if(!e)throw new Error("No data for EventModel");return e.frames.forEach((n,i)=>{const a=tZe(n,e.dataEntities,r);t=hR(t,{$kind:GKe,index:i,frame:n,textProps:a});let s;oZe(n)?(he.debug("source frame",n.sourceFrames),s=e.frames.filter(o=>n.sourceFrames.some(l=>l.$refText===o.name)),s.forEach(o=>{t=hR(t,{$kind:nZ,index:i,frame:n,sourceFrame:o})})):t=hR(t,{$kind:nZ,index:i,frame:n})}),t={...t,sortedSwimlanesArray:kse(t.swimlanes)},t}x(YKe,"getState");function XKe(t){Cse.ast=t}x(XKe,"setAst");var ii={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function Sse(){return ii}x(Sse,"getDiagramProps");var P4r={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function KKe(t){const e=t.split(".");if(e.length===2)return e[0]}x(KKe,"extractNamespace");function ZKe(t){const e=t.split(".");return e.length===2?e[1]:t}x(ZKe,"extractName");function JKe(t,e){if(!(!e||e.length===0))return Object.values(t).find(r=>r.namespace===e)}x(JKe,"findSwimlaneByNamespace");function dR(t,e,r){return Math.max(e,...Object.keys(t).filter(n=>{const i=Number.parseInt(n);return i>e&&i<r}).map(n=>Number.parseInt(n)))+1}x(dR,"findNextAvailableIndex");function QKe(t,e){const r=KKe(t.entityIdentifier),n=JKe(e,r);switch(t.modelEntityType){case"ui":case"pcr":case"processor":return n?{index:n.index,label:n.namespace||ii.labelUiAutomation}:r?{index:dR(e,0,100),label:ii.labelUiAutomationPrefix+r}:{index:0,label:ii.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return n?{index:n.index,label:n.namespace||ii.labelCommandReadModel}:r?{index:dR(e,100,200),label:ii.labelCommandReadModelPrefix+r}:{index:100,label:ii.labelCommandReadModel};case"evt":case"event":default:return n?{index:n.index,label:n.namespace||ii.labelEvents}:r?{index:dR(e,200,300),label:ii.labelEventsPrefix+r}:{index:200,label:ii.labelEvents}}}x(QKe,"calculateSwimlaneProps");function eZe(t){const{themeVariables:e}=xr();switch(t.modelEntityType){case"ui":return{fill:e.emUiFill??"white",stroke:e.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:e.emProcessorFill??"#edb3f6",stroke:e.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:e.emReadModelFill??"#d3f1a2",stroke:e.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:e.emCommandFill??"#bcd6fe",stroke:e.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:e.emEventFill??"#ffb778",stroke:e.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}x(eZe,"calculateEntityVisualProps");function tZe(t,e,r){const n=xr(),i=On(ZKe(t.entityIdentifier)??"",n);let a;const s={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let l=`<b>${qx(i,r.textMaxWidth,s)}</b>`;if(t.dataInlineValue&&(a=t.dataInlineValue,a=a.substring(a.indexOf("{")+1),a=a.substring(0,a.lastIndexOf("}")-1),a=On(a,n),a=qx(a,r.textMaxWidth,s),a=a.replaceAll(" ","&nbsp;")),t.dataReference){const g=e.find(m=>{var U;return m.name===((U=t.dataReference)==null?void 0:U.$refText)});g&&(a=g.dataBlockValue,a=a.substring(a.indexOf(`{
`)+2),a=a.substring(0,a.lastIndexOf("}")-1),a=On(a,n),a=qx(a,r.textMaxWidth,s),a=a.replaceAll(" ","&nbsp;"),a+="<br/>")}const u=a!==void 0;u&&(l+=`<br/><br/><code style="text-align: left; display: block;max-width:${r.textMaxWidth}px">${a}</code>`);const d={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},h=CD(l,d),f=u?h.width/3:h.width,p={content:l,width:f,height:h.height};return he.debug(`[${t.name}] ${t.entityIdentifier} text`,p),p}x(tZe,"calculateTextProps");function rZe(t,e){const r=e,n=eZe(r.frame),i={width:r.textProps.width+2*ii.boxTextPadding,height:r.textProps.height+2*ii.boxTextPadding};return[{$kind:WKe,frame:r.frame,index:r.index,visual:n,dimension:i,textProps:r.textProps}]}x(rZe,"decidePositionFrame");function nZe(t,e,r){return e===void 0?ii.contentStartX:e.index===t.index&&t.r?t.r+ii.boxPadding:r===void 0?ii.contentStartX:r.r-ii.boxOverlap+ii.boxPadding}x(nZe,"calculateX");function iZe(t,e){const r=[...t.map(n=>n.r),e];return Math.max(...r)}x(iZe,"calculateMaxRight");function kse(t){return Object.values(t).sort((e,r)=>e.index-r.index)}x(kse,"sortedSwimlanesArray");function aZe(t,e){const r=e,n=QKe(r.frame,t.swimlanes);let i;n.index in t.swimlanes?i=t.swimlanes[n.index]:i={index:n.index,label:n.label,r:0,y:n.index*ii.swimlaneMinHeight+ii.swimlaneGap,height:ii.swimlaneMinHeight,maxHeight:ii.swimlaneMinHeight};const a=t.boxes.length>0?t.boxes[t.boxes.length-1]:void 0,s=t.previousSwimlaneNumber!==void 0?t.swimlanes[t.previousSwimlaneNumber]:void 0,o={width:Math.max(ii.boxMinWidth,Math.min(ii.boxMaxWidth,r.dimension.width))+2*ii.boxPadding,height:Math.max(ii.boxMinHeight,Math.min(ii.boxMaxHeight,r.dimension.height))+2*ii.boxPadding},l=nZe(i,s,a),u=l+o.width+ii.boxPadding,d=iZe(Object.values(t.swimlanes),u);i.r=l+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(ii.swimlaneMinHeight,i.maxHeight)+2*ii.swimlanePadding;const h={x:l,y:ii.swimlanePadding+i.y,r:u,dimension:o,leftSibling:!1,swimlane:i,visual:r.visual,text:r.textProps.content,frame:r.frame,index:r.index},f={...t,boxes:[...t.boxes,h],swimlanes:{...t.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:n.index,previousFrame:r.frame,maxR:d},p=kse(f.swimlanes);p.length>0&&(p[0].y=0);for(let g=1;g<p.length;g++){const m=p[g],U=p[g-1];m.y=U.y+U.height+ii.swimlaneGap}return f}x(aZe,"evolveFramePositioned");function sZe(t,e){return t===0&&e.sourceFrames.length===0}x(sZe,"isFirstFrame");function oZe(t){return t.sourceFrames!==void 0&&t.sourceFrames!==null&&t.sourceFrames.length>0}x(oZe,"hasSourceFrame");function iZ(t,e){if(e!=null)return t.find(r=>r.frame.name===e.name)}x(iZ,"findBoxByFrame");function lZe(t,e,r){if(!(r<0))for(let n=r;n>=0;n--){const i=t[n];if(i.swimlane.index!==e)return i}}x(lZe,"findBoxByLineIndex");function cZe(t,e){const r=e;if(yje(r.frame)||sZe(r.index,r.frame))return[];const n=iZ(t.boxes,r.frame);if(n===void 0)throw new Error(`Target box not found for frame ${r.frame.name}`);let i;return r.sourceFrame?i=iZ(t.boxes,r.sourceFrame):i=lZe(t.boxes,n.swimlane.index,r.index-1),i===void 0?[]:[{$kind:qKe,frame:r.frame,index:r.index,sourceBox:i,targetBox:n}]}x(cZe,"decidePositionRelation");function uZe(t,e){const r=e,n={visual:{fill:"none",stroke:"#000"},source:{x:r.sourceBox.x,y:r.sourceBox.y},target:{x:r.targetBox.x,y:r.targetBox.y},sourceBox:r.sourceBox,targetBox:r.targetBox};return{...t,relations:[...t.relations,n]}}x(uZe,"evolveRelationPositioned");var _4r={[GKe]:rZe,[nZ]:cZe},B4r={[WKe]:aZe,[qKe]:uZe};function dZe(t,e){const r=_4r[e.$kind];if(r==null)return[];const n=r(t,e);return he.debug("decided events",n),n}x(dZe,"decide");function hZe(t,e){const r=e.reduce((n,i)=>{const a=B4r[i.$kind];return a==null?n:a(n,i)},t);return he.debug("evolve events",{state:t,newState:r,events:e}),r}x(hZe,"evolve");function hR(t,e){const r=dZe(t,e);return hZe(t,r)}x(hR,"dispatch");var aZ={getConfig:D4r,setOptions:I4r,getOptions:L4r,clear:N4r,setAccTitle:qi,getAccTitle:ia,getAccDescription:sa,setAccDescription:aa,setDiagramTitle:ra,getDiagramTitle:Yi,setAst:XKe,getDiagramProps:Sse,getState:YKe},$4r={parse:x(async t=>{const e=await Qu("eventmodeling",t);he.debug(e),aZ.setAst(e),ec(e,aZ)},"parse")},xV=Ve(),F4r=xV==null?void 0:xV.eventmodeling;function fZe(t,e){return r=>{const n=r.swimlane.y+e.swimlanePadding,i=t.append("g").attr("class","em-box");i.append("rect").attr("x",r.x).attr("y",n).attr("rx","3").attr("width",r.dimension.width).attr("height",r.dimension.height).attr("stroke",r.visual.stroke).attr("fill",r.visual.fill),i.append("foreignObject").attr("x",r.x+e.boxPadding).attr("y",n+10).attr("width",r.dimension.width-2*e.boxPadding).attr("height",r.dimension.height-2*e.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(r.text)}}x(fZe,"renderD3Box");function pZe(t,e){return t>e}x(pZe,"dirUpwards");function gZe(t,e,r,n){return i=>{const a=i.sourceBox.swimlane.y+e.swimlanePadding,s=i.targetBox.swimlane.y+e.swimlanePadding,o=pZe(a,s),l=i.sourceBox.x+i.sourceBox.dimension.width*2/3,u=i.targetBox.x+i.targetBox.dimension.width/3;let d,h;he.debug(`rendering relation up=${o} for `,{sourceBox:i.sourceBox,targetBox:i.targetBox}),o?(d=a,h=s+i.targetBox.dimension.height):(d=a+i.sourceBox.dimension.height,h=s);const f=n.emRelationStroke??i.visual.stroke;t.append("path").attr("class","em-relation").attr("fill",i.visual.fill).attr("stroke",f).attr("stroke-width","1").attr("marker-end",`url(#${r})`).attr("d",`M${l} ${d} L${u} ${h}`)}}x(gZe,"renderD3Relation");function mZe(t,e,r,n){return i=>{const a=t.append("g").attr("class","em-swimlane"),s=n.emSwimlaneBackgroundOdd??"rgb(250,250,250)",o=n.emSwimlaneBackgroundStroke??"rgb(240,240,240)";a.append("rect").attr("x",0).attr("y",i.y).attr("rx","3").attr("width",e+r.swimlanePadding).attr("height",i.height).attr("fill",s).attr("stroke",o),a.append("text").attr("font-weight",r.swimlaneTextFontWeight).attr("x",30).attr("y",i.y+30).text(i.label)}}x(mZe,"renderD3Swimlane");var z4r=x(function(t,e,r,n){if(he.debug("in eventmodeling renderer",t+`
`,"id:",e,r),!F4r)throw new Error("EventModeling config not found");const i=n.db,{themeVariables:a,eventmodeling:s}=Ve(),o=vt(`[id="${e}"]`),l=i.getDiagramProps(),u=i.getState(),d=`em-arrowhead-${e}`,h=a.emArrowhead??"#000000";u.sortedSwimlanesArray.forEach(mZe(o,u.maxR,l,a)),u.boxes.forEach(fZe(o,l)),u.relations.forEach(gZe(o,l,d,a)),o.append("defs").append("marker").attr("id",d).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",h),ZJ(void 0,o,(s==null?void 0:s.padding)??30,s==null?void 0:s.useMaxWidth)},"draw"),H4r={draw:z4r},V4r=x(t=>"","getStyles"),G4r=V4r,W4r={parser:$4r,db:aZ,renderer:H4r,styles:G4r};const q4r=Object.freeze(Object.defineProperty({__proto__:null,diagram:W4r},Symbol.toStringTag,{value:"Module"}));var sZ=(function(){var t=x(function(y,b,v,w){for(v=v||{},w=y.length;w--;v[y[w]]=b);return v},"o"),e=[1,4],r=[1,14],n=[1,12],i=[1,13],a=[6,7,8],s=[1,20],o=[1,18],l=[1,19],u=[6,7,11],d=[1,6,13,14],h=[1,23],f=[1,24],p=[1,6,7,11,13,14],g={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},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,1],[12,1],[12,1]],performAction:x(function(b,v,w,T,S,C,k){var E=C.length-1;switch(S){case 6:case 7:return T;case 15:T.addNode(C[E-1].length,C[E].trim());break;case 16:T.addNode(0,C[E].trim());break}},"anonymous"),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:n,14:i},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:r,12:15,13:n,14:i},{6:r,9:16,12:11,13:n,14:i},{6:s,7:o,10:17,11:l},t(u,[2,18],{14:[1,21]}),t(u,[2,16]),t(u,[2,17]),{6:s,7:o,10:22,11:l},{1:[2,7],6:r,12:15,13:n,14:i},t(d,[2,14],{7:h,11:f}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(u,[2,15]),t(d,[2,13],{7:h,11:f}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:x(function(b,v){if(v.recoverable)this.trace(b);else{var w=new Error(b);throw w.hash=v,w}},"parseError"),parse:x(function(b){var v=this,w=[0],T=[],S=[null],C=[],k=this.table,E="",A=0,M=0,P=2,N=1,I=C.slice.call(arguments,1),L=Object.create(this.lexer),_={yy:{}};for(var D in this.yy)Object.prototype.hasOwnProperty.call(this.yy,D)&&(_.yy[D]=this.yy[D]);L.setInput(b,_.yy),_.yy.lexer=L,_.yy.parser=this,typeof L.yylloc>"u"&&(L.yylloc={});var O=L.yylloc;C.push(O);var B=L.options&&L.options.ranges;typeof _.yy.parseError=="function"?this.parseError=_.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function F(ie){w.length=w.length-2*ie,S.length=S.length-ie,C.length=C.length-ie}x(F,"popStack");function z(){var ie;return ie=T.pop()||L.lex()||N,typeof ie!="number"&&(ie instanceof Array&&(T=ie,ie=T.pop()),ie=v.symbols_[ie]||ie),ie}x(z,"lex");for(var $,H,V,G,K={},W,oe,Z,J;;){if(H=w[w.length-1],this.defaultActions[H]?V=this.defaultActions[H]:(($===null||typeof $>"u")&&($=z()),V=k[H]&&k[H][$]),typeof V>"u"||!V.length||!V[0]){var ne="";J=[];for(W in k[H])this.terminals_[W]&&W>P&&J.push("'"+this.terminals_[W]+"'");L.showPosition?ne="Parse error on line "+(A+1)+`:
`+L.showPosition()+`
Expecting `+J.join(", ")+", got '"+(this.terminals_[$]||$)+"'":ne="Parse error on line "+(A+1)+": Unexpected "+($==N?"end of input":"'"+(this.terminals_[$]||$)+"'"),this.parseError(ne,{text:L.match,token:this.terminals_[$]||$,line:L.yylineno,loc:O,expected:J})}if(V[0]instanceof Array&&V.length>1)throw new Error("Parse Error: multiple actions possible at state: "+H+", token: "+$);switch(V[0]){case 1:w.push($),S.push(L.yytext),C.push(L.yylloc),w.push(V[1]),$=null,M=L.yyleng,E=L.yytext,A=L.yylineno,O=L.yylloc;break;case 2:if(oe=this.productions_[V[1]][1],K.$=S[S.length-oe],K._$={first_line:C[C.length-(oe||1)].first_line,last_line:C[C.length-1].last_line,first_column:C[C.length-(oe||1)].first_column,last_column:C[C.length-1].last_column},B&&(K._$.range=[C[C.length-(oe||1)].range[0],C[C.length-1].range[1]]),G=this.performAction.apply(K,[E,M,A,_.yy,V[1],S,C].concat(I)),typeof G<"u")return G;oe&&(w=w.slice(0,-1*oe*2),S=S.slice(0,-1*oe),C=C.slice(0,-1*oe)),w.push(this.productions_[V[1]][0]),S.push(K.$),C.push(K._$),Z=k[w[w.length-2]][w[w.length-1]],w.push(Z);break;case 3:return!0}}return!0},"parse")},m=(function(){var y={EOF:1,parseError:x(function(v,w){if(this.yy.parser)this.yy.parser.parseError(v,w);else throw new Error(v)},"parseError"),setInput:x(function(b,v){return this.yy=v||this.yy||{},this._input=b,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},"setInput"),input:x(function(){var b=this._input[0];this.yytext+=b,this.yyleng++,this.offset++,this.match+=b,this.matched+=b;var v=b.match(/(?:\r\n?|\n).*/g);return v?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),b},"input"),unput:x(function(b){var v=b.length,w=b.split(/(?:\r\n?|\n)/g);this._input=b+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-v),this.offset-=v;var T=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),w.length-1&&(this.yylineno-=w.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:w?(w.length===T.length?this.yylloc.first_column:0)+T[T.length-w.length].length-w[0].length:this.yylloc.first_column-v},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-v]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(b){this.unput(this.match.slice(b))},"less"),pastInput:x(function(){var b=this.matched.substr(0,this.matched.length-this.match.length);return(b.length>20?"...":"")+b.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var b=this.match;return b.length<20&&(b+=this._input.substr(0,20-b.length)),(b.substr(0,20)+(b.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var b=this.pastInput(),v=new Array(b.length+1).join("-");return b+this.upcomingInput()+`
`+v+"^"},"showPosition"),test_match:x(function(b,v){var w,T,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))),T=b[0].match(/(?:\r\n?|\n).*/g),T&&(this.yylineno+=T.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:T?T[T.length-1].length-T[T.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,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(b[0].length),this.matched+=b[0],w=this.performAction.call(this,this.yy,this,v,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),w)return w;if(this._backtrack){for(var C in S)this[C]=S[C];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var b,v,w,T;this._more||(this.yytext="",this.match="");for(var S=this._currentRules(),C=0;C<S.length;C++)if(w=this._input.match(this.rules[S[C]]),w&&(!v||w[0].length>v[0].length)){if(v=w,T=C,this.options.backtrack_lexer){if(b=this.test_match(w,S[C]),b!==!1)return b;if(this._backtrack){v=!1;continue}else return!1}else if(!this.options.flex)break}return v?(b=this.test_match(v,S[T]),b!==!1?b:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var v=this.next();return v||this.lex()},"lex"),begin:x(function(v){this.conditionStack.push(v)},"begin"),popState:x(function(){var v=this.conditionStack.length-1;return v>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(v){return v=this.conditionStack.length-1-Math.abs(v||0),v>=0?this.conditionStack[v]:"INITIAL"},"topState"),pushState:x(function(v){this.begin(v)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(v,w,T,S){switch(T){case 0:return 6;case 1:return 8;case 2:return 8;case 3:return 6;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}};return y})();g.lexer=m;function U(){this.yy={}}return x(U,"Parser"),U.prototype=g,g.Parser=U,new U})();sZ.parser=sZ;var j4r=sZ,uv,Y4r=(uv=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,Di()}getRoot(){return this.root}addNode(e,r){const n=Vt.sanitizeText(r,Ve());if(!this.root){this.root={text:n,children:[]},this.stack=[{level:0,node:this.root}],ra(n);return}this.baseLevel??(this.baseLevel=e);let i=e-this.baseLevel+1;for(i<=0&&(i=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=i;)this.stack.pop();const a=this.stack[this.stack.length-1].node,s={text:n,children:[]};a.children.push(s),this.stack.push({level:i,node:s})}getAccTitle(){return ia()}setAccTitle(e){qi(e)}getAccDescription(){return sa()}setAccDescription(e){aa(e)}getDiagramTitle(){return Yi()}setDiagramTitle(e){ra(e)}},x(uv,"IshikawaDB"),uv),X4r=14,Gy=250,K4r=30,Z4r=60,J4r=5,UZe=82*Math.PI/180,Y2e=Math.cos(UZe),X2e=Math.sin(UZe),K2e=x((t,e,r)=>{const n=t.node().getBBox(),i=n.width+e*2,a=n.height+e*2;Wa(t,a,i,r),t.attr("viewBox",`${n.x-e} ${n.y-e} ${i} ${a}`)},"applyPaddedViewBox"),Q4r=x((t,e,r,n)=>{var _,D;const a=n.db.getRoot();if(!a)return;const s=Ve(),{look:o,handDrawnSeed:l,themeVariables:u}=s,d=ap(s.fontSize)[0]??X4r,h=o==="handDrawn",f=a.children??[],p=((_=s.ishikawa)==null?void 0:_.diagramPadding)??20,g=((D=s.ishikawa)==null?void 0:D.useMaxWidth)??!1,m=sl(e),U=m.append("g").attr("class","ishikawa"),y=h?fr.svg(m.node()):void 0,b=y?{roughSvg:y,seed:l??0,lineColor:(u==null?void 0:u.lineColor)??"#333",fillColor:(u==null?void 0:u.mainBkg)??"#fff"}:void 0,v=`ishikawa-arrow-${e}`;h||U.append("defs").append("marker").attr("id",v).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let w=0,T=Gy;const S=h?void 0:Rb(U,w,T,w,T,"ishikawa-spine");if(e3r(U,w,T,a.text,d,b),!f.length){h&&Rb(U,w,T,w,T,"ishikawa-spine",b),K2e(m,p,g);return}w-=20;const C=f.filter((O,B)=>B%2===0),k=f.filter((O,B)=>B%2===1),E=Z2e(C),A=Z2e(k),M=E.total+A.total;let P=Gy,N=Gy;if(M>0){const O=Gy*2,B=Gy*.3;P=Math.max(B,O*(E.total/M)),N=Math.max(B,O*(A.total/M))}const I=d*2;P=Math.max(P,E.max*I),N=Math.max(N,A.max*I),T=Math.max(P,Gy),S&&S.attr("y1",T).attr("y2",T),U.select(".ishikawa-head-group").attr("transform",`translate(0,${T})`);const L=Math.ceil(f.length/2);for(let O=0;O<L;O++){const B=U.append("g").attr("class","ishikawa-pair");for(const[F,z,$]of[[f[O*2],-1,P],[f[O*2+1],1,N]])F&&n3r(B,F,w,T,z,$,d,b);w=B.selectAll("text").nodes().reduce((F,z)=>Math.min(F,z.getBBox().x),1/0)}if(h)Rb(U,w,T,0,T,"ishikawa-spine",b);else{S.attr("x1",w);const O=`url(#${v})`;U.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",O)}K2e(m,p,g)},"draw"),Z2e=x(t=>{const e=x(r=>r.children.reduce((n,i)=>n+1+e(i),0),"countDescendants");return t.reduce((r,n)=>{const i=e(n);return r.total+=i,r.max=Math.max(r.max,i),r},{total:0,max:0})},"sideStats"),e3r=x((t,e,r,n,i,a)=>{const s=Math.max(6,Math.floor(110/(i*.6))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform",`translate(${e},${r})`),l=UO(o,yZe(n,s),0,0,"ishikawa-head-label","start",i),u=l.node().getBBox(),d=Math.max(60,u.width+6),h=Math.max(40,u.height*2+40),f=`M 0 ${-h/2} L 0 ${h/2} Q ${d*2.4} 0 0 ${-h/2} Z`;if(a){const p=a.roughSvg.path(f,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>p,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",f);l.attr("transform",`translate(${(d-u.width)/2-u.x+3},${-u.y-u.height/2})`)},"drawHead"),t3r=x((t,e)=>{const r=[],n=[],i=x((a,s,o)=>{const l=e===-1?[...a].reverse():a;for(const u of l){const d=r.length,h=u.children??[];r.push({depth:o,text:yZe(u.text,15),parentIndex:s,childCount:h.length}),o%2===0?(n.push(d),h.length&&i(h,d,o+1)):(h.length&&i(h,d,o+1),n.push(d))}},"walk");return i(t,-1,2),{entries:r,yOrder:n}},"flattenTree"),r3r=x((t,e,r,n,i,a,s)=>{const o=t.append("g").attr("class","ishikawa-label-group"),u=UO(o,e,r,n+11*i,"ishikawa-label cause","middle",a).node().getBBox();if(s){const d=s.roughSvg.rectangle(u.x-20,u.y-2,u.width+40,u.height+4,{roughness:1.5,seed:s.seed,fill:s.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:s.lineColor,strokeWidth:2});o.insert(()=>d,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",u.x-20).attr("y",u.y-2).attr("width",u.width+40).attr("height",u.height+4)},"drawCauseLabel"),wV=x((t,e,r,n,i,a)=>{const s=Math.sqrt(n*n+i*i);if(s===0)return;const o=n/s,l=i/s,u=6,d=-l*u,h=o*u,f=e,p=r,g=`M ${f} ${p} L ${f-o*u*2+d} ${p-l*u*2+h} L ${f-o*u*2-d} ${p-l*u*2-h} Z`,m=a.roughSvg.path(g,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>m)},"drawArrowMarker"),n3r=x((t,e,r,n,i,a,s,o)=>{const l=e.children??[],u=a*(l.length?1:.2),d=-Y2e*u,h=X2e*u*i,f=r+d,p=n+h;if(Rb(t,r,n,f,p,"ishikawa-branch",o),o&&wV(t,r,n,r-f,n-p,o),r3r(t,e.text,f,p,i,s,o),!l.length)return;const{entries:g,yOrder:m}=t3r(l,i),U=g.length,y=new Array(U);for(const[S,C]of m.entries())y[C]=n+h*((S+1)/(U+1));const b=new Map;b.set(-1,{x0:r,y0:n,x1:f,y1:p,childCount:l.length,childrenDrawn:0});const v=-Y2e,w=X2e*i,T=i<0?"ishikawa-label up":"ishikawa-label down";for(const[S,C]of g.entries()){const k=y[S],E=b.get(C.parentIndex),A=t.append("g").attr("class","ishikawa-sub-group");let M=0,P=0,N=0;if(C.depth%2===0){const I=E.y1-E.y0;M=J2e(E.x0,E.x1,I?(k-E.y0)/I:.5),P=k,N=M-(C.childCount>0?Z4r+C.childCount*J4r:K4r),Rb(A,M,k,N,k,"ishikawa-sub-branch",o),o&&wV(A,M,k,1,0,o),UO(A,C.text,N,k,"ishikawa-label align","end",s)}else{const I=E.childrenDrawn++;M=J2e(E.x0,E.x1,(E.childCount-I)/(E.childCount+1)),P=E.y0,N=M+v*((k-P)/w),Rb(A,M,P,N,k,"ishikawa-sub-branch",o),o&&wV(A,M,P,M-N,P-k,o),UO(A,C.text,N,k,T,"end",s)}C.childCount>0&&b.set(S,{x0:M,y0:P,x1:N,y1:k,childCount:C.childCount,childrenDrawn:0})}},"drawBranch"),i3r=x(t=>t.split(/<br\s*\/?>|\n/),"splitLines"),yZe=x((t,e)=>{if(t.length<=e)return t;const r=[];for(const n of t.split(/\s+/)){const i=r.length-1;i>=0&&r[i].length+1+n.length<=e?r[i]+=" "+n:r.push(n)}return r.join(`
`)},"wrapText"),UO=x((t,e,r,n,i,a,s)=>{const o=i3r(e),l=s*1.05,u=t.append("text").attr("class",i).attr("text-anchor",a).attr("x",r).attr("y",n-(o.length-1)*l/2);for(const[d,h]of o.entries())u.append("tspan").attr("x",r).attr("dy",d===0?0:l).text(h);return u},"drawMultilineText"),J2e=x((t,e,r)=>t+(e-t)*r,"lerp"),Rb=x((t,e,r,n,i,a,s)=>{if(s){const o=s.roughSvg.line(e,r,n,i,{roughness:1.5,seed:s.seed,stroke:s.lineColor,strokeWidth:2});t.append(()=>o).attr("class",a);return}return t.append("line").attr("class",a).attr("x1",e).attr("y1",r).attr("x2",n).attr("y2",i)},"drawLine"),a3r={draw:Q4r},s3r=x(t=>`
.ishikawa .ishikawa-spine,
.ishikawa .ishikawa-branch,
.ishikawa .ishikawa-sub-branch {
stroke: ${t.lineColor};
stroke-width: 2;
fill: none;
}
.ishikawa .ishikawa-sub-branch {
stroke-width: 1;
}
.ishikawa .ishikawa-arrow {
fill: ${t.lineColor};
}
.ishikawa .ishikawa-head {
fill: ${t.mainBkg};
stroke: ${t.lineColor};
stroke-width: 2;
}
.ishikawa .ishikawa-label-box {
fill: ${t.mainBkg};
stroke: ${t.lineColor};
stroke-width: 2;
}
.ishikawa text {
font-family: ${t.fontFamily};
font-size: ${t.fontSize};
fill: ${t.textColor};
}
.ishikawa .ishikawa-head-label {
font-weight: 600;
text-anchor: middle;
dominant-baseline: middle;
font-size: 14px;
}
.ishikawa .ishikawa-label {
text-anchor: end;
}
.ishikawa .ishikawa-label.cause {
text-anchor: middle;
dominant-baseline: middle;
}
.ishikawa .ishikawa-label.align {
text-anchor: end;
dominant-baseline: middle;
}
.ishikawa .ishikawa-label.up {
dominant-baseline: baseline;
}
.ishikawa .ishikawa-label.down {
dominant-baseline: hanging;
}
`,"getStyles"),o3r=s3r,l3r={parser:j4r,get db(){return new Y4r},renderer:a3r,styles:o3r};const c3r=Object.freeze(Object.defineProperty({__proto__:null,diagram:l3r},Symbol.toStringTag,{value:"Module"})),bZe=1e-10;function wB(t,e){const r=d3r(t),n=r.filter(o=>u3r(o,t));let i=0,a=0;const s=[];if(n.length>1){const o=xZe(n);for(let u=0;u<n.length;++u){const d=n[u];d.angle=Math.atan2(d.x-o.x,d.y-o.y)}n.sort((u,d)=>d.angle-u.angle);let l=n[n.length-1];for(let u=0;u<n.length;++u){const d=n[u];a+=(l.x+d.x)*(d.y-l.y);const h={x:(d.x+l.x)/2,y:(d.y+l.y)/2};let f=null;for(let p=0;p<d.parentIndex.length;++p)if(l.parentIndex.includes(d.parentIndex[p])){const g=t[d.parentIndex[p]],m=Math.atan2(d.x-g.x,d.y-g.y),U=Math.atan2(l.x-g.x,l.y-g.y);let y=U-m;y<0&&(y+=2*Math.PI);const b=U-y/2;let v=Cc(h,{x:g.x+g.radius*Math.sin(b),y:g.y+g.radius*Math.cos(b)});v>g.radius*2&&(v=g.radius*2),(f==null||f.width>v)&&(f={circle:g,width:v,p1:d,p2:l,large:v>g.radius,sweep:!0})}f!=null&&(s.push(f),i+=oZ(f.circle.radius,f.width),l=d)}}else{let o=t[0];for(let u=1;u<t.length;++u)t[u].radius<o.radius&&(o=t[u]);let l=!1;for(let u=0;u<t.length;++u)if(Cc(t[u],o)>Math.abs(o.radius-t[u].radius)){l=!0;break}l?i=a=0:(i=o.radius*o.radius*Math.PI,s.push({circle:o,p1:{x:o.x,y:o.y+o.radius},p2:{x:o.x-bZe,y:o.y+o.radius},width:o.radius*2,large:!0,sweep:!0}))}return a/=2,e&&(e.area=i+a,e.arcArea=i,e.polygonArea=a,e.arcs=s,e.innerPoints=n,e.intersectionPoints=r),i+a}function u3r(t,e){return e.every(r=>Cc(t,r)<r.radius+bZe)}function d3r(t){const e=[];for(let r=0;r<t.length;++r)for(let n=r+1;n<t.length;++n){const i=vZe(t[r],t[n]);for(const a of i)a.parentIndex=[r,n],e.push(a)}return e}function oZ(t,e){return t*t*Math.acos(1-e/t)-(t-e)*Math.sqrt(e*(2*t-e))}function Cc(t,e){return Math.sqrt((t.x-e.x)*(t.x-e.x)+(t.y-e.y)*(t.y-e.y))}function Ese(t,e,r){if(r>=t+e)return 0;if(r<=Math.abs(t-e))return Math.PI*Math.min(t,e)*Math.min(t,e);const n=t-(r*r-e*e+t*t)/(2*r),i=e-(r*r-t*t+e*e)/(2*r);return oZ(t,n)+oZ(e,i)}function vZe(t,e){const r=Cc(t,e),n=t.radius,i=e.radius;if(r>=n+i||r<=Math.abs(n-i))return[];const a=(n*n-i*i+r*r)/(2*r),s=Math.sqrt(n*n-a*a),o=t.x+a*(e.x-t.x)/r,l=t.y+a*(e.y-t.y)/r,u=-(e.y-t.y)*(s/r),d=-(e.x-t.x)*(s/r);return[{x:o+u,y:l-d},{x:o-u,y:l+d}]}function xZe(t){const e={x:0,y:0};for(const r of t)e.x+=r.x,e.y+=r.y;return e.x/=t.length,e.y/=t.length,e}function h3r(t,e,r,n){n=n||{};const i=n.maxIterations||100,a=n.tolerance||1e-10,s=t(e),o=t(r);let l=r-e;if(s*o>0)throw"Initial bisect points must have opposite signs";if(s===0)return e;if(o===0)return r;for(let u=0;u<i;++u){l/=2;const d=e+l,h=t(d);if(h*s>=0&&(e=d),Math.abs(l)<a||h===0)return d}return e+l}function lZ(t){const e=new Array(t);for(let r=0;r<t;++r)e[r]=0;return e}function Q2e(t,e){return lZ(t).map(()=>lZ(e))}function Ib(t,e){let r=0;for(let n=0;n<t.length;++n)r+=t[n]*e[n];return r}function cZ(t){return Math.sqrt(Ib(t,t))}function uZ(t,e,r){for(let n=0;n<e.length;++n)t[n]=e[n]*r}function e0(t,e,r,n,i){for(let a=0;a<t.length;++a)t[a]=e*r[a]+n*i[a]}function wZe(t,e,r){r=r||{};const n=r.maxIterations||e.length*200,i=r.nonZeroDelta||1.05,a=r.zeroDelta||.001,s=r.minErrorDelta||1e-6,o=r.minErrorDelta||1e-5,l=r.rho!==void 0?r.rho:1,u=r.chi!==void 0?r.chi:2,d=r.psi!==void 0?r.psi:-.5,h=r.sigma!==void 0?r.sigma:.5;let f;const p=e.length,g=new Array(p+1);g[0]=e,g[0].fx=t(e),g[0].id=0;for(let T=0;T<p;++T){const S=e.slice();S[T]=S[T]?S[T]*i:a,g[T+1]=S,g[T+1].fx=t(S),g[T+1].id=T+1}function m(T){for(let S=0;S<T.length;S++)g[p][S]=T[S];g[p].fx=T.fx}const U=(T,S)=>T.fx-S.fx,y=e.slice(),b=e.slice(),v=e.slice(),w=e.slice();for(let T=0;T<n;++T){if(g.sort(U),r.history){const C=g.map(k=>{const E=k.slice();return E.fx=k.fx,E.id=k.id,E});C.sort((k,E)=>k.id-E.id),r.history.push({x:g[0].slice(),fx:g[0].fx,simplex:C})}f=0;for(let C=0;C<p;++C)f=Math.max(f,Math.abs(g[0][C]-g[1][C]));if(Math.abs(g[0].fx-g[p].fx)<s&&f<o)break;for(let C=0;C<p;++C){y[C]=0;for(let k=0;k<p;++k)y[C]+=g[k][C];y[C]/=p}const S=g[p];if(e0(b,1+l,y,-l,S),b.fx=t(b),b.fx<g[0].fx)e0(w,1+u,y,-u,S),w.fx=t(w),w.fx<b.fx?m(w):m(b);else if(b.fx>=g[p-1].fx){let C=!1;if(b.fx>S.fx?(e0(v,1+d,y,-d,S),v.fx=t(v),v.fx<S.fx?m(v):C=!0):(e0(v,1-d*l,y,d*l,S),v.fx=t(v),v.fx<b.fx?m(v):C=!0),C){if(h>=1)break;for(let k=1;k<g.length;++k)e0(g[k],1-h,g[0],h,g[k]),g[k].fx=t(g[k])}}else m(b)}return g.sort(U),{fx:g[0].fx,x:g[0]}}function f3r(t,e,r,n,i,a,s){const o=r.fx,l=Ib(r.fxprime,e);let u=o,d=o,h=l,f=0;i=i||1,a=a||1e-6,s=s||.1;function p(g,m,U){for(let y=0;y<16;++y)if(i=(g+m)/2,e0(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),h=Ib(n.fxprime,e),u>o+a*i*l||u>=U)m=i;else{if(Math.abs(h)<=-s*l)return i;h*(m-g)>=0&&(m=g),g=i,U=u}return 0}for(let g=0;g<10;++g){if(e0(n.x,1,r.x,i,e),u=n.fx=t(n.x,n.fxprime),h=Ib(n.fxprime,e),u>o+a*i*l||g&&u>=d)return p(f,i,d);if(Math.abs(h)<=-s*l)return i;if(h>=0)return p(i,f,u);d=u,f=i,i*=2}return i}function p3r(t,e,r){let n={x:e.slice(),fx:0,fxprime:e.slice()},i={x:e.slice(),fx:0,fxprime:e.slice()};const a=e.slice();let s,o,l=1,u;r=r||{},u=r.maxIterations||e.length*20,n.fx=t(n.x,n.fxprime),s=n.fxprime.slice(),uZ(s,n.fxprime,-1);for(let d=0;d<u;++d){if(l=f3r(t,s,n,i,l),r.history&&r.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:l}),!l)uZ(s,n.fxprime,-1);else{e0(a,1,i.fxprime,-1,n.fxprime);const h=Ib(n.fxprime,n.fxprime),f=Math.max(0,Ib(a,i.fxprime)/h);e0(s,f,s,-1,i.fxprime),o=n,n=i,i=o}if(cZ(n.fxprime)<=1e-5)break}return r.history&&r.history.push({x:n.x.slice(),fx:n.fx,fxprime:n.fxprime.slice(),alpha:l}),n}function TZe(t,e={}){e.maxIterations=e.maxIterations||500;const r=e.initialLayout||y3r,n=e.lossFunction||D4,i=g3r(t,e),a=r(i,e),s=Object.keys(a),o=[];for(const d of s)o.push(a[d].x),o.push(a[d].y);const u=wZe(d=>{const h={};for(let f=0;f<s.length;++f){const p=s[f];h[p]={x:d[2*f],y:d[2*f+1],radius:a[p].radius}}return n(h,i)},o,e).x;for(let d=0;d<s.length;++d){const h=s[d];a[h].x=u[2*d],a[h].y=u[2*d+1]}return a}const CZe=1e-10;function dZ(t,e,r){return Math.min(t,e)*Math.min(t,e)*Math.PI<=r+CZe?Math.abs(t-e):h3r(n=>Ese(t,e,n)-r,0,t+e)}function g3r(t,e={}){const r=e.distinct,n=t.map(o=>Object.assign({},o));function i(o){return o.join(";")}if(r){const o=new Map;for(const l of n)for(let u=0;u<l.sets.length;u++){const d=String(l.sets[u]);o.set(d,l.size+(o.get(d)||0));for(let h=u+1;h<l.sets.length;h++){const f=String(l.sets[h]),p=`${d};${f}`,g=`${f};${d}`;o.set(p,l.size+(o.get(p)||0)),o.set(g,l.size+(o.get(g)||0))}}for(const l of n)l.sets.length<3&&(l.size=o.get(i(l.sets)))}const a=[],s=new Set;for(const o of n)if(o.sets.length===1)a.push(o.sets[0]);else if(o.sets.length===2){const l=o.sets[0],u=o.sets[1];s.add(i(o.sets)),s.add(i([u,l]))}a.sort((o,l)=>o===l?0:o<l?-1:1);for(let o=0;o<a.length;++o){const l=a[o];for(let u=o+1;u<a.length;++u){const d=a[u];s.has(i([l,d]))||n.push({sets:[l,d],size:0})}}return n}function m3r(t,e,r){const n=Q2e(e.length,e.length),i=Q2e(e.length,e.length);return t.filter(a=>a.sets.length===2).forEach(a=>{const s=r[a.sets[0]],o=r[a.sets[1]],l=Math.sqrt(e[s].size/Math.PI),u=Math.sqrt(e[o].size/Math.PI),d=dZ(l,u,a.size);n[s][o]=n[o][s]=d;let h=0;a.size+1e-10>=Math.min(e[s].size,e[o].size)?h=1:a.size<=1e-10&&(h=-1),i[s][o]=i[o][s]=h}),{distances:n,constraints:i}}function U3r(t,e,r,n){for(let a=0;a<e.length;++a)e[a]=0;let i=0;for(let a=0;a<r.length;++a){const s=t[2*a],o=t[2*a+1];for(let l=a+1;l<r.length;++l){const u=t[2*l],d=t[2*l+1],h=r[a][l],f=n[a][l],p=(u-s)*(u-s)+(d-o)*(d-o),g=Math.sqrt(p),m=p-h*h;f>0&&g<=h||f<0&&g>=h||(i+=2*m*m,e[2*a]+=4*m*(s-u),e[2*a+1]+=4*m*(o-d),e[2*l]+=4*m*(u-s),e[2*l+1]+=4*m*(d-o))}}return i}function y3r(t,e={}){let r=v3r(t,e);const n=e.lossFunction||D4;if(t.length>=8){const i=b3r(t,e),a=n(i,t),s=n(r,t);a+1e-8<s&&(r=i)}return r}function b3r(t,e={}){const r=e.restarts||10,n=[],i={};for(const f of t)f.sets.length===1&&(i[f.sets[0]]=n.length,n.push(f));let{distances:a,constraints:s}=m3r(t,n,i);const o=cZ(a.map(cZ))/a.length;a=a.map(f=>f.map(p=>p/o));const l=(f,p)=>U3r(f,p,a,s);let u=null;for(let f=0;f<r;++f){const p=lZ(a.length*2).map(Math.random),g=p3r(l,p,e);(!u||g.fx<u.fx)&&(u=g)}const d=u.x,h={};for(let f=0;f<n.length;++f){const p=n[f];h[p.sets[0]]={x:d[2*f]*o,y:d[2*f+1]*o,radius:Math.sqrt(p.size/Math.PI)}}if(e.history)for(const f of e.history)uZ(f.x,o);return h}function v3r(t,e){const r=e&&e.lossFunction?e.lossFunction:D4,n={},i={};for(const h of t)if(h.sets.length===1){const f=h.sets[0];n[f]={x:1e10,y:1e10,rowid:n.length,size:h.size,radius:Math.sqrt(h.size/Math.PI)},i[f]=[]}t=t.filter(h=>h.sets.length===2);for(const h of t){let f=h.weight!=null?h.weight:1;const p=h.sets[0],g=h.sets[1];h.size+CZe>=Math.min(n[p].size,n[g].size)&&(f=0),i[p].push({set:g,size:h.size,weight:f}),i[g].push({set:p,size:h.size,weight:f})}const a=[];Object.keys(i).forEach(h=>{let f=0;for(let p=0;p<i[h].length;++p)f+=i[h][p].size*i[h][p].weight;a.push({set:h,size:f})});function s(h,f){return f.size-h.size}a.sort(s);const o={};function l(h){return h.set in o}function u(h,f){n[f].x=h.x,n[f].y=h.y,o[f]=!0}u({x:0,y:0},a[0].set);for(let h=1;h<a.length;++h){const f=a[h].set,p=i[f].filter(l),g=n[f];if(p.sort(s),p.length===0)throw"ERROR: missing pairwise overlap information";const m=[];for(var d=0;d<p.length;++d){const b=n[p[d].set],v=dZ(g.radius,b.radius,p[d].size);m.push({x:b.x+v,y:b.y}),m.push({x:b.x-v,y:b.y}),m.push({y:b.y+v,x:b.x}),m.push({y:b.y-v,x:b.x});for(let w=d+1;w<p.length;++w){const T=n[p[w].set],S=dZ(g.radius,T.radius,p[w].size),C=vZe({x:b.x,y:b.y,radius:v},{x:T.x,y:T.y,radius:S});m.push(...C)}}let U=1e50,y=m[0];for(const b of m){n[f].x=b.x,n[f].y=b.y;const v=r(n,t);v<U&&(U=v,y=b)}u(y,f)}return n}function D4(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const s=t[n.sets[0]],o=t[n.sets[1]];i=Ese(s.radius,o.radius,Cc(s,o))}else i=wB(n.sets.map(s=>t[s]));const a=n.weight!=null?n.weight:1;r+=a*(i-n.size)*(i-n.size)}return r}function SZe(t,e){let r=0;for(const n of e){if(n.sets.length===1)continue;let i;if(n.sets.length===2){const o=t[n.sets[0]],l=t[n.sets[1]];i=Ese(o.radius,l.radius,Cc(o,l))}else i=wB(n.sets.map(o=>t[o]));const a=n.weight!=null?n.weight:1,s=Math.log((i+1)/(n.size+1));r+=a*s*s}return r}function x3r(t,e,r){if(r==null?t.sort((i,a)=>a.radius-i.radius):t.sort(r),t.length>0){const i=t[0].x,a=t[0].y;for(const s of t)s.x-=i,s.y-=a}if(t.length===2&&Cc(t[0],t[1])<Math.abs(t[1].radius-t[0].radius)&&(t[1].x=t[0].x+t[0].radius-t[1].radius-1e-10,t[1].y=t[0].y),t.length>1){const i=Math.atan2(t[1].x,t[1].y)-e,a=Math.cos(i),s=Math.sin(i);for(const o of t){const l=o.x,u=o.y;o.x=a*l-s*u,o.y=s*l+a*u}}if(t.length>2){let i=Math.atan2(t[2].x,t[2].y)-e;for(;i<0;)i+=2*Math.PI;for(;i>2*Math.PI;)i-=2*Math.PI;if(i>Math.PI){const a=t[1].y/(1e-10+t[1].x);for(const s of t){var n=(s.x+a*s.y)/(1+a*a);s.x=2*n-s.x,s.y=2*n*a-s.y}}}}function w3r(t){t.forEach(i=>{i.parent=i});function e(i){return i.parent!==i&&(i.parent=e(i.parent)),i.parent}function r(i,a){const s=e(i),o=e(a);s.parent=o}for(let i=0;i<t.length;++i)for(let a=i+1;a<t.length;++a){const s=t[i].radius+t[a].radius;Cc(t[i],t[a])+1e-10<s&&r(t[a],t[i])}const n=new Map;for(let i=0;i<t.length;++i){const a=e(t[i]).parent.setid;n.has(a)||n.set(a,[]),n.get(a).push(t[i])}return t.forEach(i=>{delete i.parent}),Array.from(n.values())}function hZ(t){const e=r=>{const n=t.reduce((a,s)=>Math.max(a,s[r]+s.radius),Number.NEGATIVE_INFINITY),i=t.reduce((a,s)=>Math.min(a,s[r]-s.radius),Number.POSITIVE_INFINITY);return{max:n,min:i}};return{xRange:e("x"),yRange:e("y")}}function kZe(t,e,r){e==null&&(e=Math.PI/2);let n=MZe(t).map(u=>Object.assign({},u));const i=w3r(n);for(const u of i){x3r(u,e,r);const d=hZ(u);u.size=(d.xRange.max-d.xRange.min)*(d.yRange.max-d.yRange.min),u.bounds=d}i.sort((u,d)=>d.size-u.size),n=i[0];let a=n.bounds;const s=(a.xRange.max-a.xRange.min)/50;function o(u,d,h){if(!u)return;const f=u.bounds;let p,g;if(d)p=a.xRange.max-f.xRange.min+s;else{p=a.xRange.max-f.xRange.max;const m=(f.xRange.max-f.xRange.min)/2-(a.xRange.max-a.xRange.min)/2;m<0&&(p+=m)}if(h)g=a.yRange.max-f.yRange.min+s;else{g=a.yRange.max-f.yRange.max;const m=(f.yRange.max-f.yRange.min)/2-(a.yRange.max-a.yRange.min)/2;m<0&&(g+=m)}for(const m of u)m.x+=p,m.y+=g,n.push(m)}let l=1;for(;l<i.length;)o(i[l],!0,!1),o(i[l+1],!1,!0),o(i[l+2],!0,!0),l+=3,a=hZ(n);return AZe(n)}function EZe(t,e,r,n,i){const a=MZe(t);e-=2*n,r-=2*n;const{xRange:s,yRange:o}=hZ(a);if(s.max===s.min||o.max===o.min)return console.log("not scaling solution: zero size detected"),t;let l,u;if(i){const p=Math.sqrt(i/Math.PI)*2;l=e/p,u=r/p}else l=e/(s.max-s.min),u=r/(o.max-o.min);const d=Math.min(u,l),h=(e-(s.max-s.min)*d)/2,f=(r-(o.max-o.min)*d)/2;return AZe(a.map(p=>({radius:d*p.radius,x:n+h+(p.x-s.min)*d,y:n+f+(p.y-o.min)*d,setid:p.setid})))}function AZe(t){const e={};for(const r of t)e[r.setid]=r;return e}function MZe(t){return Object.keys(t).map(r=>Object.assign(t[r],{setid:r}))}function T3r(t={}){let e=!1,r=600,n=350,i=15,a=1e3,s=Math.PI/2,o=!0,l=null,u=!0,d=!0,h=null,f=null,p=!1,g=null,m=t&&t.symmetricalTextCentre?t.symmetricalTextCentre:!1,U={},y=t&&t.colourScheme?t.colourScheme:t&&t.colorScheme?t.colorScheme:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],b=0,v=function(C){if(C in U)return U[C];var k=U[C]=y[b];return b+=1,b>=y.length&&(b=0),k},w=TZe,T=D4;function S(C){let k=C.datum();const E=new Set;k.forEach(W=>{W.size==0&&W.sets.length==1&&E.add(W.sets[0])}),k=k.filter(W=>!W.sets.some(oe=>E.has(oe)));let A={},M={};if(k.length>0){let W=w(k,{lossFunction:T,distinct:p});o&&(W=kZe(W,s,f)),A=EZe(W,r,n,i,l),M=IZe(A,k,m)}const P={};k.forEach(W=>{W.label&&(P[W.sets]=W.label)});function N(W){if(W.sets in P)return P[W.sets];if(W.sets.length==1)return""+W.sets[0]}C.selectAll("svg").data([A]).enter().append("svg");const I=C.select("svg");e?I.attr("viewBox",`0 0 ${r} ${n}`):I.attr("width",r).attr("height",n);const L={};let _=!1;I.selectAll(".venn-area path").each(function(W){const oe=this.getAttribute("d");W.sets.length==1&&oe&&!p&&(_=!0,L[W.sets[0]]=k3r(oe))});function D(W){return oe=>{const Z=W.sets.map(J=>{let ne=L[J],ie=A[J];return ne||(ne={x:r/2,y:n/2,radius:1}),ie||(ie={x:r/2,y:n/2,radius:1}),{x:ne.x*(1-oe)+ie.x*oe,y:ne.y*(1-oe)+ie.y*oe,radius:ne.radius*(1-oe)+ie.radius*oe}});return ebe(Z,g)}}const O=I.selectAll(".venn-area").data(k,W=>W.sets),B=O.enter().append("g").attr("class",W=>`venn-area venn-${W.sets.length==1?"circle":"intersection"}${W.colour||W.color?" venn-coloured":""}`).attr("data-venn-sets",W=>W.sets.join("_")),F=B.append("path"),z=B.append("text").attr("class","label").text(W=>N(W)).attr("text-anchor","middle").attr("dy",".35em").attr("x",r/2).attr("y",n/2);d&&(F.style("fill-opacity","0").filter(W=>W.sets.length==1).style("fill",W=>W.colour?W.colour:W.color?W.color:v(W.sets)).style("fill-opacity",".25"),z.style("fill",W=>W.colour||W.color?"#FFF":t.textFill?t.textFill:W.sets.length==1?v(W.sets):"#444"));function $(W){return typeof W.transition=="function"?W.transition("venn").duration(a):W}let H=C;_&&typeof H.transition=="function"?(H=$(C),H.selectAll("path").attrTween("d",D)):H.selectAll("path").attr("d",W=>ebe(W.sets.map(oe=>A[oe])),g);const V=H.selectAll("text").filter(W=>W.sets in M).text(W=>N(W)).attr("x",W=>Math.floor(M[W.sets].x)).attr("y",W=>Math.floor(M[W.sets].y));u&&(_?"on"in V?V.on("end",TV(A,N)):V.each("end",TV(A,N)):V.each(TV(A,N)));const G=$(O.exit()).remove();typeof O.transition=="function"&&G.selectAll("path").attrTween("d",D);const K=G.selectAll("text").attr("x",r/2).attr("y",n/2);return h!==null&&(z.style("font-size","0px"),V.style("font-size",h),K.style("font-size","0px")),{circles:A,textCentres:M,nodes:O,enter:B,update:H,exit:G}}return S.wrap=function(C){return arguments.length?(u=C,S):u},S.useViewBox=function(){return e=!0,S},S.width=function(C){return arguments.length?(r=C,S):r},S.height=function(C){return arguments.length?(n=C,S):n},S.padding=function(C){return arguments.length?(i=C,S):i},S.distinct=function(C){return arguments.length?(p=C,S):p},S.colours=function(C){return arguments.length?(v=C,S):v},S.colors=function(C){return arguments.length?(v=C,S):v},S.fontSize=function(C){return arguments.length?(h=C,S):h},S.round=function(C){return arguments.length?(g=C,S):g},S.duration=function(C){return arguments.length?(a=C,S):a},S.layoutFunction=function(C){return arguments.length?(w=C,S):w},S.normalize=function(C){return arguments.length?(o=C,S):o},S.scaleToFit=function(C){return arguments.length?(l=C,S):l},S.styled=function(C){return arguments.length?(d=C,S):d},S.orientation=function(C){return arguments.length?(s=C,S):s},S.orientationOrder=function(C){return arguments.length?(f=C,S):f},S.lossFunction=function(C){return arguments.length?(T=C==="default"?D4:C==="logRatio"?SZe:C,S):T},S}function TV(t,e){return function(r){const n=this,i=t[r.sets[0]].radius||50,a=e(r)||"",s=a.split(/\s+/).reverse(),l=(a.length+s.length)/3;let u=s.pop(),d=[u],h=0;const f=1.1;n.textContent=null;const p=[];function g(v){const w=n.ownerDocument.createElementNS(n.namespaceURI,"tspan");return w.textContent=v,p.push(w),n.append(w),w}let m=g(u);for(;u=s.pop(),!!u;){d.push(u);const v=d.join(" ");m.textContent=v,v.length>l&&m.getComputedTextLength()>i&&(d.pop(),m.textContent=d.join(" "),d=[u],m=g(u),h++)}const U=.35-h*f/2,y=n.getAttribute("x"),b=n.getAttribute("y");p.forEach((v,w)=>{v.setAttribute("x",y),v.setAttribute("y",b),v.setAttribute("dy",`${U+w*f}em`)})}}function CV(t,e,r){let n=e[0].radius-Cc(e[0],t);for(let i=1;i<e.length;++i){const a=e[i].radius-Cc(e[i],t);a<=n&&(n=a)}for(let i=0;i<r.length;++i){const a=Cc(r[i],t)-r[i].radius;a<=n&&(n=a)}return n}function RZe(t,e,r){const n=[];for(const d of t)n.push({x:d.x,y:d.y}),n.push({x:d.x+d.radius/2,y:d.y}),n.push({x:d.x-d.radius/2,y:d.y}),n.push({x:d.x,y:d.y+d.radius/2}),n.push({x:d.x,y:d.y-d.radius/2});let i=n[0],a=CV(n[0],t,e);for(let d=1;d<n.length;++d){const h=CV(n[d],t,e);h>=a&&(i=n[d],a=h)}const s=wZe(d=>-1*CV({x:d[0],y:d[1]},t,e),[i.x,i.y],{maxIterations:500,minErrorDelta:1e-10}).x,o={x:r?0:s[0],y:s[1]};let l=!0;for(const d of t)if(Cc(o,d)>d.radius){l=!1;break}for(const d of e)if(Cc(o,d)<d.radius){l=!1;break}if(l)return o;if(t.length==1)return{x:t[0].x,y:t[0].y};const u={};return wB(t,u),u.arcs.length===0?{x:0,y:-1e3,disjoint:!0}:u.arcs.length==1?{x:u.arcs[0].circle.x,y:u.arcs[0].circle.y}:e.length?RZe(t,[]):xZe(u.arcs.map(d=>d.p1))}function C3r(t){const e={},r=Object.keys(t);for(const n of r)e[n]=[];for(let n=0;n<r.length;n++){const i=r[n],a=t[i];for(let s=n+1;s<r.length;++s){const o=r[s],l=t[o],u=Cc(a,l);u+l.radius<=a.radius+1e-10?e[o].push(i):u+a.radius<=l.radius+1e-10&&e[i].push(o)}}return e}function IZe(t,e,r){const n={},i=C3r(t);for(let a=0;a<e.length;++a){const s=e[a].sets,o={},l={};for(let f=0;f<s.length;++f){o[s[f]]=!0;const p=i[s[f]];for(let g=0;g<p.length;++g)l[p[g]]=!0}const u=[],d=[];for(let f in t)f in o?u.push(t[f]):f in l||d.push(t[f]);const h=RZe(u,d,r);n[s]=h,h.disjoint&&e[a].size>0&&console.log("WARNING: area "+s+" not represented on screen")}return n}function S3r(t,e,r){const n=[];return n.push(`
M`,t,e),n.push(`
m`,-r,0),n.push(`
a`,r,r,0,1,0,r*2,0),n.push(`
a`,r,r,0,1,0,-r*2,0),n.join(" ")}function k3r(t){const e=t.split(" ");return{x:Number.parseFloat(e[1]),y:Number.parseFloat(e[2]),radius:-Number.parseFloat(e[4])}}function LZe(t){if(t.length===0)return[];const e={};return wB(t,e),e.arcs}function NZe(t,e){if(t.length===0)return"M 0 0";const r=Math.pow(10,e||0),n=e!=null?a=>Math.round(a*r)/r:a=>a;if(t.length==1){const a=t[0].circle;return S3r(n(a.x),n(a.y),n(a.radius))}const i=[`
M`,n(t[0].p2.x),n(t[0].p2.y)];for(const a of t){const s=n(a.circle.radius);i.push(`
A`,s,s,0,a.large?1:0,a.sweep?1:0,n(a.p1.x),n(a.p1.y))}return i.join(" ")}function ebe(t,e){return NZe(LZe(t),e)}function E3r(t,e={}){const{lossFunction:r,layoutFunction:n=TZe,normalize:i=!0,orientation:a=Math.PI/2,orientationOrder:s,width:o=600,height:l=350,padding:u=15,scaleToFit:d=!1,symmetricalTextCentre:h=!1,distinct:f,round:p=2}=e;let g=n(t,{lossFunction:r==="default"||!r?D4:r==="logRatio"?SZe:r,distinct:f});i&&(g=kZe(g,a,s));const m=EZe(g,o,l,u,d),U=IZe(m,t,h),y=new Map(Object.keys(m).map(w=>[w,{set:w,x:m[w].x,y:m[w].y,radius:m[w].radius}])),b=t.map(w=>{const T=w.sets.map(k=>y.get(k)),S=LZe(T),C=NZe(S,p);return{circles:T,arcs:S,path:C,area:w,has:new Set(w.sets)}});function v(w){let T="";for(const S of b)S.has.size>w.length&&w.every(C=>S.has.has(C))&&(T+=" "+S.path);return T}return b.map(({circles:w,arcs:T,path:S,area:C})=>({data:C,text:U[C.sets],circles:w,arcs:T,path:S,distinctPath:S+v(C.sets)}))}var fZ=(function(){var t=x(function(b,v,w,T){for(w=w||{},T=b.length;T--;w[b[T]]=v);return w},"o"),e=[5,8],r=[7,8,11,12,17,19,22,24],n=[1,17],i=[1,18],a=[7,8,11,12,14,15,16,17,19,20,21,22,24,27],s=[1,31],o=[1,39],l=[7,8,11,12,17,19,22,24,27],u=[1,57],d=[1,56],h=[1,58],f=[1,59],p=[1,60],g=[7,8,11,12,16,17,19,20,22,24,27,31,32,33],m={trace:x(function(){},"trace"),yy:{},symbols_:{error:2,start:3,optNewlines:4,VENN:5,document:6,EOF:7,NEWLINE:8,line:9,statement:10,TITLE:11,SET:12,identifier:13,BRACKET_LABEL:14,COLON:15,NUMERIC:16,UNION:17,identifierList:18,TEXT:19,IDENTIFIER:20,STRING:21,INDENT_TEXT:22,indentedTextTail:23,STYLE:24,stylesOpt:25,styleField:26,COMMA:27,styleValue:28,valueTokens:29,valueToken:30,HEXCOLOR:31,RGBCOLOR:32,RGBACOLOR:33,$accept:0,$end:1},terminals_:{2:"error",5:"VENN",7:"EOF",8:"NEWLINE",11:"TITLE",12:"SET",14:"BRACKET_LABEL",15:"COLON",16:"NUMERIC",17:"UNION",19:"TEXT",20:"IDENTIFIER",21:"STRING",22:"INDENT_TEXT",24:"STYLE",27:"COMMA",31:"HEXCOLOR",32:"RGBCOLOR",33:"RGBACOLOR"},productions_:[0,[3,4],[4,0],[4,2],[6,0],[6,2],[9,1],[9,1],[10,1],[10,2],[10,3],[10,4],[10,5],[10,2],[10,3],[10,4],[10,5],[10,3],[10,3],[10,3],[10,4],[10,4],[10,2],[10,3],[23,1],[23,1],[23,1],[23,2],[23,2],[25,1],[25,3],[26,3],[28,1],[28,1],[29,1],[29,2],[30,1],[30,1],[30,1],[30,1],[30,1],[18,1],[18,3],[13,1],[13,1]],performAction:x(function(v,w,T,S,C,k,E){var A=k.length-1;switch(C){case 1:return k[A-1];case 2:case 3:case 4:this.$=[];break;case 5:k[A-1].push(k[A]),this.$=k[A-1];break;case 6:this.$=[];break;case 7:case 22:case 32:case 36:case 37:case 38:case 39:case 40:this.$=k[A];break;case 8:S.setDiagramTitle(k[A].substr(6)),this.$=k[A].substr(6);break;case 9:S.addSubsetData([k[A]],void 0,void 0),S.setIndentMode&&S.setIndentMode(!0);break;case 10:S.addSubsetData([k[A-1]],k[A],void 0),S.setIndentMode&&S.setIndentMode(!0);break;case 11:S.addSubsetData([k[A-2]],void 0,parseFloat(k[A])),S.setIndentMode&&S.setIndentMode(!0);break;case 12:S.addSubsetData([k[A-3]],k[A-2],parseFloat(k[A])),S.setIndentMode&&S.setIndentMode(!0);break;case 13:if(k[A].length<2)throw new Error("union requires multiple identifiers");S.validateUnionIdentifiers&&S.validateUnionIdentifiers(k[A]),S.addSubsetData(k[A],void 0,void 0),S.setIndentMode&&S.setIndentMode(!0);break;case 14:if(k[A-1].length<2)throw new Error("union requires multiple identifiers");S.validateUnionIdentifiers&&S.validateUnionIdentifiers(k[A-1]),S.addSubsetData(k[A-1],k[A],void 0),S.setIndentMode&&S.setIndentMode(!0);break;case 15:if(k[A-2].length<2)throw new Error("union requires multiple identifiers");S.validateUnionIdentifiers&&S.validateUnionIdentifiers(k[A-2]),S.addSubsetData(k[A-2],void 0,parseFloat(k[A])),S.setIndentMode&&S.setIndentMode(!0);break;case 16:if(k[A-3].length<2)throw new Error("union requires multiple identifiers");S.validateUnionIdentifiers&&S.validateUnionIdentifiers(k[A-3]),S.addSubsetData(k[A-3],k[A-2],parseFloat(k[A])),S.setIndentMode&&S.setIndentMode(!0);break;case 17:case 18:case 19:S.addTextData(k[A-1],k[A],void 0);break;case 20:case 21:S.addTextData(k[A-2],k[A-1],k[A]);break;case 23:S.addStyleData(k[A-1],k[A]);break;case 24:case 25:case 26:var M=S.getCurrentSets();if(!M)throw new Error("text requires set");S.addTextData(M,k[A],void 0);break;case 27:case 28:var M=S.getCurrentSets();if(!M)throw new Error("text requires set");S.addTextData(M,k[A-1],k[A]);break;case 29:case 41:this.$=[k[A]];break;case 30:case 42:this.$=[...k[A-2],k[A]];break;case 31:this.$=[k[A-2],k[A]];break;case 33:this.$=k[A].join(" ");break;case 34:this.$=[k[A]];break;case 35:k[A-1].push(k[A]),this.$=k[A-1];break;case 43:case 44:this.$=k[A];break}},"anonymous"),table:[t(e,[2,2],{3:1,4:2}),{1:[3]},{5:[1,3],8:[1,4]},t(r,[2,4],{6:5}),t(e,[2,3]),{7:[1,6],8:[1,8],9:7,10:9,11:[1,10],12:[1,11],17:[1,12],19:[1,13],22:[1,14],24:[1,15]},{1:[2,1]},t(r,[2,5]),t(r,[2,6]),t(r,[2,7]),t(r,[2,8]),{13:16,20:n,21:i},{13:20,18:19,20:n,21:i},{13:20,18:21,20:n,21:i},{16:[1,25],20:[1,23],21:[1,24],23:22},{13:20,18:26,20:n,21:i},t(r,[2,9],{14:[1,27],15:[1,28]}),t(a,[2,43]),t(a,[2,44]),t(r,[2,13],{14:[1,29],15:[1,30],27:s}),t(a,[2,41]),{16:[1,34],20:[1,32],21:[1,33],27:s},t(r,[2,22]),t(r,[2,24],{14:[1,35]}),t(r,[2,25],{14:[1,36]}),t(r,[2,26]),{20:o,25:37,26:38,27:s},t(r,[2,10],{15:[1,40]}),{16:[1,41]},t(r,[2,14],{15:[1,42]}),{16:[1,43]},{13:44,20:n,21:i},t(r,[2,17],{14:[1,45]}),t(r,[2,18],{14:[1,46]}),t(r,[2,19]),t(r,[2,27]),t(r,[2,28]),t(r,[2,23],{27:[1,47]}),t(l,[2,29]),{15:[1,48]},{16:[1,49]},t(r,[2,11]),{16:[1,50]},t(r,[2,15]),t(a,[2,42]),t(r,[2,20]),t(r,[2,21]),{20:o,26:51},{16:u,20:d,21:[1,53],28:52,29:54,30:55,31:h,32:f,33:p},t(r,[2,12]),t(r,[2,16]),t(l,[2,30]),t(l,[2,31]),t(l,[2,32]),t(l,[2,33],{30:61,16:u,20:d,31:h,32:f,33:p}),t(g,[2,34]),t(g,[2,36]),t(g,[2,37]),t(g,[2,38]),t(g,[2,39]),t(g,[2,40]),t(g,[2,35])],defaultActions:{6:[2,1]},parseError:x(function(v,w){if(w.recoverable)this.trace(v);else{var T=new Error(v);throw T.hash=w,T}},"parseError"),parse:x(function(v){var w=this,T=[0],S=[],C=[null],k=[],E=this.table,A="",M=0,P=0,N=2,I=1,L=k.slice.call(arguments,1),_=Object.create(this.lexer),D={yy:{}};for(var O in this.yy)Object.prototype.hasOwnProperty.call(this.yy,O)&&(D.yy[O]=this.yy[O]);_.setInput(v,D.yy),D.yy.lexer=_,D.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var B=_.yylloc;k.push(B);var F=_.options&&_.options.ranges;typeof D.yy.parseError=="function"?this.parseError=D.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function z(me){T.length=T.length-2*me,C.length=C.length-me,k.length=k.length-me}x(z,"popStack");function $(){var me;return me=S.pop()||_.lex()||I,typeof me!="number"&&(me instanceof Array&&(S=me,me=S.pop()),me=w.symbols_[me]||me),me}x($,"lex");for(var H,V,G,K,W={},oe,Z,J,ne;;){if(V=T[T.length-1],this.defaultActions[V]?G=this.defaultActions[V]:((H===null||typeof H>"u")&&(H=$()),G=E[V]&&E[V][H]),typeof G>"u"||!G.length||!G[0]){var ie="";ne=[];for(oe in E[V])this.terminals_[oe]&&oe>N&&ne.push("'"+this.terminals_[oe]+"'");_.showPosition?ie="Parse error on line "+(M+1)+`:
`+_.showPosition()+`
Expecting `+ne.join(", ")+", got '"+(this.terminals_[H]||H)+"'":ie="Parse error on line "+(M+1)+": Unexpected "+(H==I?"end of input":"'"+(this.terminals_[H]||H)+"'"),this.parseError(ie,{text:_.match,token:this.terminals_[H]||H,line:_.yylineno,loc:B,expected:ne})}if(G[0]instanceof Array&&G.length>1)throw new Error("Parse Error: multiple actions possible at state: "+V+", token: "+H);switch(G[0]){case 1:T.push(H),C.push(_.yytext),k.push(_.yylloc),T.push(G[1]),H=null,P=_.yyleng,A=_.yytext,M=_.yylineno,B=_.yylloc;break;case 2:if(Z=this.productions_[G[1]][1],W.$=C[C.length-Z],W._$={first_line:k[k.length-(Z||1)].first_line,last_line:k[k.length-1].last_line,first_column:k[k.length-(Z||1)].first_column,last_column:k[k.length-1].last_column},F&&(W._$.range=[k[k.length-(Z||1)].range[0],k[k.length-1].range[1]]),K=this.performAction.apply(W,[A,P,M,D.yy,G[1],C,k].concat(L)),typeof K<"u")return K;Z&&(T=T.slice(0,-1*Z*2),C=C.slice(0,-1*Z),k=k.slice(0,-1*Z)),T.push(this.productions_[G[1]][0]),C.push(W.$),k.push(W._$),J=E[T[T.length-2]][T[T.length-1]],T.push(J);break;case 3:return!0}}return!0},"parse")},U=(function(){var b={EOF:1,parseError:x(function(w,T){if(this.yy.parser)this.yy.parser.parseError(w,T);else throw new Error(w)},"parseError"),setInput:x(function(v,w){return this.yy=w||this.yy||{},this._input=v,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},"setInput"),input:x(function(){var v=this._input[0];this.yytext+=v,this.yyleng++,this.offset++,this.match+=v,this.matched+=v;var w=v.match(/(?:\r\n?|\n).*/g);return w?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),v},"input"),unput:x(function(v){var w=v.length,T=v.split(/(?:\r\n?|\n)/g);this._input=v+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-w),this.offset-=w;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),T.length-1&&(this.yylineno-=T.length-1);var C=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:T?(T.length===S.length?this.yylloc.first_column:0)+S[S.length-T.length].length-T[0].length:this.yylloc.first_column-w},this.options.ranges&&(this.yylloc.range=[C[0],C[0]+this.yyleng-w]),this.yyleng=this.yytext.length,this},"unput"),more:x(function(){return this._more=!0,this},"more"),reject:x(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},"reject"),less:x(function(v){this.unput(this.match.slice(v))},"less"),pastInput:x(function(){var v=this.matched.substr(0,this.matched.length-this.match.length);return(v.length>20?"...":"")+v.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:x(function(){var v=this.match;return v.length<20&&(v+=this._input.substr(0,20-v.length)),(v.substr(0,20)+(v.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:x(function(){var v=this.pastInput(),w=new Array(v.length+1).join("-");return v+this.upcomingInput()+`
`+w+"^"},"showPosition"),test_match:x(function(v,w){var T,S,C;if(this.options.backtrack_lexer&&(C={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&&(C.yylloc.range=this.yylloc.range.slice(0))),S=v[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+v[0].length},this.yytext+=v[0],this.match+=v[0],this.matches=v,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(v[0].length),this.matched+=v[0],T=this.performAction.call(this,this.yy,this,w,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),T)return T;if(this._backtrack){for(var k in C)this[k]=C[k];return!1}return!1},"test_match"),next:x(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var v,w,T,S;this._more||(this.yytext="",this.match="");for(var C=this._currentRules(),k=0;k<C.length;k++)if(T=this._input.match(this.rules[C[k]]),T&&(!w||T[0].length>w[0].length)){if(w=T,S=k,this.options.backtrack_lexer){if(v=this.test_match(T,C[k]),v!==!1)return v;if(this._backtrack){w=!1;continue}else return!1}else if(!this.options.flex)break}return w?(v=this.test_match(w,C[S]),v!==!1?v:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:x(function(){var w=this.next();return w||this.lex()},"lex"),begin:x(function(w){this.conditionStack.push(w)},"begin"),popState:x(function(){var w=this.conditionStack.length-1;return w>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:x(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:x(function(w){return w=this.conditionStack.length-1-Math.abs(w||0),w>=0?this.conditionStack[w]:"INITIAL"},"topState"),pushState:x(function(w){this.begin(w)},"pushState"),stateStackSize:x(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:x(function(w,T,S,C){switch(S){case 0:break;case 1:break;case 2:break;case 3:if(w.getIndentMode&&w.getIndentMode())return w.consumeIndentText=!0,this.begin("INITIAL"),22;break;case 4:break;case 5:w.setIndentMode&&w.setIndentMode(!1),this.begin("INITIAL"),this.unput(T.yytext);break;case 6:return this.begin("bol"),8;case 7:break;case 8:break;case 9:return 7;case 10:return 11;case 11:return 5;case 12:return 12;case 13:return 17;case 14:if(w.consumeIndentText)w.consumeIndentText=!1;else return 19;break;case 15:return 24;case 16:return T.yytext=T.yytext.slice(2,-2),14;case 17:return T.yytext=T.yytext.slice(1,-1).trim(),14;case 18:return 16;case 19:return 31;case 20:return 33;case 21:return 32;case 22:return 20;case 23:return 21;case 24:return 27;case 25:return 15}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[ \t]+(?=[\n\r]))/i,/^(?:[ \t]+(?=text\b))/i,/^(?:[ \t]+)/i,/^(?:[^ \t\n\r])/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:[ \t]+)/i,/^(?:$)/i,/^(?:title\s[^#\n;]+)/i,/^(?:venn-beta\b)/i,/^(?:set\b)/i,/^(?:union\b)/i,/^(?:text\b)/i,/^(?:style\b)/i,/^(?:\["[^\"]*"\])/i,/^(?:\[[^\]\"]+\])/i,/^(?:[+-]?(\d+(\.\d+)?|\.\d+))/i,/^(?:#[0-9a-fA-F]{3,8})/i,/^(?:rgba\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:rgb\(\s*[0-9.]+\s*[,]\s*[0-9.]+\s*[,]\s*[0-9.]+\s*\))/i,/^(?:[A-Za-z_][A-Za-z0-9\-_]*)/i,/^(?:"[^\"]*")/i,/^(?:,)/i,/^(?::)/i],conditions:{bol:{rules:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0},INITIAL:{rules:[0,1,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],inclusive:!0}}};return b})();m.lexer=U;function y(){this.yy={}}return x(y,"Parser"),y.prototype=m,m.Parser=y,new y})();fZ.parser=fZ;var A3r=fZ,Ase=[],Mse=[],Rse=[],Ise=new Set,Lse,Nse=!1,M3r=x((t,e,r)=>{const n=TB(t).sort(),i=r??10/Math.pow(t.length,2);Lse=n,n.length===1&&Ise.add(n[0]),Ase.push({sets:n,size:i,label:e?MC(e):void 0})},"addSubsetData"),R3r=x(()=>Ase,"getSubsetData"),MC=x(t=>{const e=t.trim();return e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e},"normalizeText"),I3r=x(t=>t&&MC(t),"normalizeStyleValue"),L3r=x((t,e,r)=>{const n=MC(e);Mse.push({sets:TB(t).sort(),id:n,label:r?MC(r):void 0})},"addTextData"),N3r=x((t,e)=>{const r=TB(t).sort(),n={};for(const[i,a]of e)n[i]=I3r(a)??a;Rse.push({targets:r,styles:n})},"addStyleData"),O3r=x(()=>Rse,"getStyleData"),TB=x(t=>t.map(e=>MC(e)),"normalizeIdentifierList"),D3r=x(t=>{const r=TB(t).filter(n=>!Ise.has(n));if(r.length>0)throw new Error(`unknown set identifier: ${r.join(", ")}`)},"validateUnionIdentifiers"),P3r=x(()=>Mse,"getTextData"),_3r=x(()=>Lse,"getCurrentSets"),B3r=x(()=>Nse,"getIndentMode"),$3r=x(t=>{Nse=t},"setIndentMode"),F3r=An.venn;function OZe(){return na(F3r,xr().venn)}x(OZe,"getConfig");var z3r=x(()=>{Di(),Ase.length=0,Mse.length=0,Rse.length=0,Ise.clear(),Lse=void 0,Nse=!1},"customClear"),H3r={getConfig:OZe,clear:z3r,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,getAccDescription:sa,setAccDescription:aa,addSubsetData:M3r,getSubsetData:R3r,addTextData:L3r,addStyleData:N3r,validateUnionIdentifiers:D3r,getTextData:P3r,getStyleData:O3r,getCurrentSets:_3r,getIndentMode:B3r,setIndentMode:$3r},V3r=x(t=>`
.venn-title {
font-size: 32px;
fill: ${t.vennTitleTextColor};
font-family: ${t.fontFamily};
}
.venn-circle text {
font-size: 48px;
font-family: ${t.fontFamily};
}
.venn-intersection text {
font-size: 48px;
fill: ${t.vennSetTextColor};
font-family: ${t.fontFamily};
}
.venn-text-node {
font-family: ${t.fontFamily};
color: ${t.vennSetTextColor};
}
`,"getStyles"),G3r=V3r;function DZe(t){const e=new Map;for(const r of t){const n=r.targets.join("|"),i=e.get(n);i?Object.assign(i,r.styles):e.set(n,{...r.styles})}return e}x(DZe,"buildStyleByKey");var W3r=x((t,e,r,n)=>{var L,_,D;const i=n.db,a=(L=i.getConfig)==null?void 0:L.call(i),{themeVariables:s,look:o,handDrawnSeed:l}=xr(),u=o==="handDrawn",d=[s.venn1,s.venn2,s.venn3,s.venn4,s.venn5,s.venn6,s.venn7,s.venn8].filter(Boolean),h=(_=i.getDiagramTitle)==null?void 0:_.call(i),f=i.getSubsetData(),p=i.getTextData(),g=DZe(i.getStyleData()),m=_Ze(f),U=(a==null?void 0:a.width)??800,y=(a==null?void 0:a.height)??450,v=U/1600,w=h?48*v:0,T=s.primaryTextColor??s.textColor,S=sl(e);S.attr("viewBox",`0 0 ${U} ${y}`),h&&S.append("text").text(h).attr("class","venn-title").attr("font-size",`${32*v}px`).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("x","50%").attr("y",32*v).style("fill",s.vennTitleTextColor||s.titleColor);const C=vt(document.createElement("div")),k=T3r().width(U).height(y-w);C.datum(m).call(k);const E=u?fr.svg(C.select("svg").node()):void 0,A=E3r(m,{width:U,height:y-w,padding:(a==null?void 0:a.padding)??15}),M=new Map;for(const O of A){const B=rg([...O.data.sets].sort());M.set(B,O)}p.length>0&&PZe(a,M,C,p,v,g);const P=Kl(s.background||"#f4f4f4");C.selectAll(".venn-circle").each(function(O,B){var Z;const F=vt(this),$=rg([...O.sets].sort()),H=g.get($),V=(H==null?void 0:H.fill)||d[B%d.length]||s.primaryColor;F.classed(`venn-set-${B%8}`,!0);const G=(H==null?void 0:H["fill-opacity"])??.1,K=(H==null?void 0:H.stroke)||V,W=(H==null?void 0:H["stroke-width"])||`${5*v}`;if(u&&E){const J=M.get($);if(J&&J.circles.length>0){const ne=J.circles[0],ie=E.circle(ne.x,ne.y,ne.radius*2,{roughness:.7,seed:l,fill:Cue(V,.7),fillStyle:"hachure",fillWeight:2,hachureGap:8,hachureAngle:-41+B*60,stroke:K,strokeWidth:parseFloat(String(W))});F.select("path").remove(),(Z=F.node())==null||Z.insertBefore(ie,F.select("text").node())}}else F.select("path").style("fill",V).style("fill-opacity",G).style("stroke",K).style("stroke-width",W).style("stroke-opacity",.95);const oe=(H==null?void 0:H.color)||(P?lt(V,30):ct(V,30));F.select("text").style("font-size",`${48*v}px`).style("fill",oe)}),u&&E?C.selectAll(".venn-intersection").each(function(O){var V;const B=vt(this),z=rg([...O.sets].sort()),$=g.get(z),H=$==null?void 0:$.fill;if(H){const G=B.select("path"),K=G.attr("d");if(K){const W=E.path(K,{roughness:.7,seed:l,fill:Cue(H,.3),fillStyle:"cross-hatch",fillWeight:2,hachureGap:6,hachureAngle:60,stroke:"none"}),oe=G.node();(V=oe==null?void 0:oe.parentNode)==null||V.insertBefore(W,oe),G.remove()}}else B.select("path").style("fill-opacity",0);B.select("text").style("font-size",`${48*v}px`).style("fill",($==null?void 0:$.color)??s.vennSetTextColor??T)}):(C.selectAll(".venn-intersection text").style("font-size",`${48*v}px`).style("fill",O=>{var z;const F=rg([...O.sets].sort());return((z=g.get(F))==null?void 0:z.color)??s.vennSetTextColor??T}),C.selectAll(".venn-intersection path").style("fill-opacity",O=>{var z;const F=rg([...O.sets].sort());return(z=g.get(F))!=null&&z.fill?1:0}).style("fill",O=>{var z;const F=rg([...O.sets].sort());return((z=g.get(F))==null?void 0:z.fill)??"transparent"}));const N=S.append("g").attr("transform",`translate(0, ${w})`),I=C.select("svg").node();if(I&&"childNodes"in I)for(const O of[...I.childNodes])(D=N.node())==null||D.appendChild(O);Wa(S,y,U,(a==null?void 0:a.useMaxWidth)??!0)},"draw");function rg(t){return t.join("|")}x(rg,"stableSetsKey");function PZe(t,e,r,n,i,a){var d;const s=(t==null?void 0:t.useDebugLayout)??!1,l=r.select("svg").append("g").attr("class","venn-text-nodes"),u=new Map;for(const h of n){const f=rg(h.sets),p=u.get(f);p?p.push(h):u.set(f,[h])}for(const[h,f]of u.entries()){const p=e.get(h);if(!(p!=null&&p.text))continue;const g=p.text.x,m=p.text.y,U=Math.min(...p.circles.map(L=>L.radius)),y=Math.min(...p.circles.map(L=>L.radius-Math.hypot(g-L.x,m-L.y)));let b=Number.isFinite(y)?Math.max(0,y):0;b===0&&Number.isFinite(U)&&(b=U*.6);const v=l.append("g").attr("class","venn-text-area").attr("font-size",`${40*i}px`);s&&v.append("circle").attr("class","venn-text-debug-circle").attr("cx",g).attr("cy",m).attr("r",b).attr("fill","none").attr("stroke","purple").attr("stroke-width",1.5*i).attr("stroke-dasharray",`${6*i} ${4*i}`);const w=Math.max(80*i,b*2*.95),T=Math.max(60*i,b*2*.95),k=(p.data.label&&p.data.label.length>0?Math.min(32*i,b*.25):0)+(f.length<=2?30*i:0),E=g-w/2,A=m-T/2+k,M=Math.max(1,Math.ceil(Math.sqrt(f.length))),P=Math.max(1,Math.ceil(f.length/M)),N=w/M,I=T/P;for(const[L,_]of f.entries()){const D=L%M,O=Math.floor(L/M),B=E+N*(D+.5),F=A+I*(O+.5);s&&v.append("rect").attr("class","venn-text-debug-cell").attr("x",E+N*D).attr("y",A+I*O).attr("width",N).attr("height",I).attr("fill","none").attr("stroke","teal").attr("stroke-width",1*i).attr("stroke-dasharray",`${4*i} ${3*i}`);const z=N*.9,$=I*.9,H=v.append("foreignObject").attr("class","venn-text-node-fo").attr("width",z).attr("height",$).attr("x",B-z/2).attr("y",F-$/2).attr("overflow","visible"),V=(d=a.get(_.id))==null?void 0:d.color,G=H.append("xhtml:span").attr("class","venn-text-node").style("display","flex").style("width","100%").style("height","100%").style("white-space","normal").style("align-items","center").style("justify-content","center").style("text-align","center").style("overflow-wrap","normal").style("word-break","normal").text(_.label??_.id);V&&G.style("color",V)}}}x(PZe,"renderTextNodes");function _Ze(t){const e=new Set(t.map(i=>[...i.sets].sort().join("|"))),r=new Map(t.filter(i=>i.sets.length===1&&i.size!==void 0).map(i=>[i.sets[0],i.size])),n=[];for(const i of t){if(i.sets.length<3)continue;const a=[...i.sets].sort();for(let s=0;s<a.length-1;s++)for(let o=s+1;o<a.length;o++){const l=[a[s],a[o]],u=l.join("|");if(!e.has(u)){e.add(u);const d=r.get(l[0]),h=r.get(l[1]),f=d!==void 0&&h!==void 0?Math.min(d,h)/4:2.5;n.push({sets:l,size:f,label:""})}}}return n.length>0?[...t,...n]:t}x(_Ze,"ensurePairwiseSubsets");var q3r={draw:W3r},j3r={parser:A3r,db:H3r,renderer:q3r,styles:G3r};const Y3r=Object.freeze(Object.defineProperty({__proto__:null,diagram:j3r},Symbol.toStringTag,{value:"Module"}));var dv,BZe=(dv=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=qi,this.getAccTitle=ia,this.setDiagramTitle=ra,this.getDiagramTitle=Yi,this.getAccDescription=sa,this.setAccDescription=aa}getNodes(){return this.nodes}getConfig(){const e=An,r=xr();return na({...e.treemap,...r.treemap??{}})}addNode(e,r){this.nodes.push(e),this.levels.set(e,r),r===0&&(this.outerNodes.push(e),this.root??(this.root=e))}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,r){const n=this.classes.get(e)??{id:e,styles:[],textStyles:[]},i=r.replace(/\\,/g,"§§§").replace(/,/g,";").replace(/§§§/g,",").split(";");i&&i.forEach(a=>{xQ(a)&&(n!=null&&n.textStyles?n.textStyles.push(a):n.textStyles=[a]),n!=null&&n.styles?n.styles.push(a):n.styles=[a]}),this.classes.set(e,n)}getClasses(){return this.classes}getStylesForClass(e){var r;return((r=this.classes.get(e))==null?void 0:r.styles)??[]}clear(){Di(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},x(dv,"TreeMapDB"),dv);function $Ze(t){if(!t.length)return[];const e=[],r=[];return t.forEach(n=>{const i={name:n.name,children:n.type==="Leaf"?void 0:[]};for(i.classSelector=n==null?void 0:n.classSelector,n!=null&&n.cssCompiledStyles&&(i.cssCompiledStyles=n.cssCompiledStyles),n.type==="Leaf"&&n.value!==void 0&&(i.value=n.value);r.length>0&&r[r.length-1].level>=n.level;)r.pop();if(r.length===0)e.push(i);else{const a=r[r.length-1].node;a.children?a.children.push(i):a.children=[i]}n.type!=="Leaf"&&r.push({node:i,level:n.level})}),e}x($Ze,"buildHierarchy");var X3r=x((t,e)=>{ec(t,e);const r=[];for(const a of t.TreemapRows??[])a.$type==="ClassDefStatement"&&e.addClass(a.className??"",a.styleText??"");for(const a of t.TreemapRows??[]){const s=a.item;if(!s)continue;const o=a.indent?parseInt(a.indent):0,l=K3r(s),u=s.classSelector?e.getStylesForClass(s.classSelector):[],d=u.length>0?u:void 0,h={level:o,name:l,type:s.$type,value:s.value,classSelector:s.classSelector,cssCompiledStyles:d};r.push(h)}const n=$Ze(r),i=x((a,s)=>{for(const o of a)e.addNode(o,s),o.children&&o.children.length>0&&i(o.children,s+1)},"addNodesRecursively");i(n,0)},"populate"),K3r=x(t=>t.name?String(t.name):"","getItemName"),FZe={parser:{yy:void 0},parse:x(async t=>{var e;try{const n=await Qu("treemap",t);he.debug("Treemap AST:",n);const i=(e=FZe.parser)==null?void 0:e.yy;if(!(i instanceof BZe))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");X3r(n,i)}catch(r){throw he.error("Error parsing treemap:",r),r}},"parse")},Z3r=10,Wy=10,C9=25,J3r=x((t,e,r,n)=>{const i=n.db,a=i.getConfig(),s=a.padding??Z3r,o=i.getDiagramTitle(),l=i.getRoot(),{themeVariables:u}=xr();if(!l)return;const d=o?30:0,h=sl(e),f=a.nodeWidth?a.nodeWidth*Wy:960,p=a.nodeHeight?a.nodeHeight*Wy:500,g=f,m=p+d;h.attr("viewBox",`0 0 ${g} ${m}`),Wa(h,m,g,a.useMaxWidth);let U;try{const $=a.valueFormat||",";if($==="$0,0")U=x(H=>"$"+_m(",")(H),"valueFormat");else if($.startsWith("$")&&$.includes(",")){const H=/\.\d+/.exec($),V=H?H[0]:"";U=x(G=>"$"+_m(","+V)(G),"valueFormat")}else if($.startsWith("$")){const H=$.substring(1);U=x(V=>"$"+_m(H||"")(V),"valueFormat")}else U=_m($)}catch($){he.error("Error creating format function:",$),U=_m(",")}const y=MU().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),b=MU().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),v=MU().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);o&&h.append("text").attr("x",g/2).attr("y",d/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(o);const w=h.append("g").attr("transform",`translate(0, ${d})`).attr("class","treemapContainer"),T=sQ(l).sum($=>$.value??0).sort(($,H)=>(H.value??0)-($.value??0)),C=Cvt().size([f,p]).paddingTop($=>$.children&&$.children.length>0?C9+Wy:0).paddingInner(s).paddingLeft($=>$.children&&$.children.length>0?Wy:0).paddingRight($=>$.children&&$.children.length>0?Wy:0).paddingBottom($=>$.children&&$.children.length>0?Wy:0).round(!0)(T),k=C.descendants().filter($=>$.children&&$.children.length>0),E=w.selectAll(".treemapSection").data(k).enter().append("g").attr("class","treemapSection").attr("transform",$=>`translate(${$.x0},${$.y0})`);E.append("rect").attr("width",$=>$.x1-$.x0).attr("height",C9).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",$=>$.depth===0?"display: none;":""),E.append("clipPath").attr("id",($,H)=>`clip-section-${e}-${H}`).append("rect").attr("width",$=>Math.max(0,$.x1-$.x0-12)).attr("height",C9),E.append("rect").attr("width",$=>$.x1-$.x0).attr("height",$=>$.y1-$.y0).attr("class",($,H)=>`treemapSection section${H}`).attr("fill",$=>y($.data.name)).attr("fill-opacity",.6).attr("stroke",$=>b($.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",$=>{if($.depth===0)return"display: none;";const H=ur({cssCompiledStyles:$.data.cssCompiledStyles});return H.nodeStyles+";"+H.borderStyles.join(";")}),E.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",C9/2).attr("dominant-baseline","middle").text($=>$.depth===0?"":$.data.name).attr("font-weight","bold").attr("clip-path",($,H)=>`url(#clip-section-${e}-${H})`).attr("style",$=>{if($.depth===0)return"display: none;";const H="dominant-baseline: middle; font-size: 12px; fill:"+v($.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",V=ur({cssCompiledStyles:$.data.cssCompiledStyles});return H+V.labelStyles.replace("color:","fill:")}).each(function($){if($.depth===0)return;const H=vt(this),V=$.data.name;H.text(V);const G=$.x1-$.x0,K=6;let W;a.showValues!==!1&&$.value?W=G-10-30-10-K:W=G-K-6;const Z=Math.max(15,W),J=H.node();if(J.getComputedTextLength()>Z){let me=V;for(;me.length>0;){if(me=V.substring(0,me.length-1),me.length===0){H.text("..."),J.getComputedTextLength()>Z&&H.text("");break}if(H.text(me+"..."),J.getComputedTextLength()<=Z)break}}}),a.showValues!==!1&&E.append("text").attr("class","treemapSectionValue").attr("x",$=>$.x1-$.x0-10).attr("y",C9/2).attr("text-anchor","end").attr("dominant-baseline","middle").text($=>$.value?U($.value):"").attr("font-style","italic").attr("style",$=>{if($.depth===0)return"display: none;";const H="text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+v($.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;",V=ur({cssCompiledStyles:$.data.cssCompiledStyles});return H+V.labelStyles.replace("color:","fill:")});const A=C.leaves(),M=A.length>20,P=M?16:38,N=M?14:28,I=M?4:8,L=M?4:6,_=M?2:4,D=M?8:10,O=M?1:2,B=w.selectAll(".treemapLeafGroup").data(A).enter().append("g").attr("class",($,H)=>`treemapNode treemapLeafGroup leaf${H}${$.data.classSelector?` ${$.data.classSelector}`:""}x`).attr("transform",$=>`translate(${$.x0},${$.y0})`);B.append("rect").attr("width",$=>$.x1-$.x0).attr("height",$=>$.y1-$.y0).attr("class","treemapLeaf").attr("fill",$=>$.parent?y($.parent.data.name):y($.data.name)).attr("style",$=>ur({cssCompiledStyles:$.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",$=>$.parent?y($.parent.data.name):y($.data.name)).attr("stroke-width",3),B.append("clipPath").attr("id",($,H)=>`clip-${e}-${H}`).append("rect").attr("width",$=>Math.max(0,$.x1-$.x0-4)).attr("height",$=>Math.max(0,$.y1-$.y0-4)),B.append("text").attr("class","treemapLabel").attr("x",$=>($.x1-$.x0)/2).attr("y",$=>($.y1-$.y0)/2).attr("style",$=>{const H=`text-anchor: middle; dominant-baseline: middle; font-size: ${P}px;fill:`+v($.data.name)+";",V=ur({cssCompiledStyles:$.data.cssCompiledStyles});return H+V.labelStyles.replace("color:","fill:")}).attr("clip-path",($,H)=>`url(#clip-${e}-${H})`).text($=>$.data.name).each(function($){const H=vt(this),V=$.x1-$.x0,G=$.y1-$.y0,K=H.node(),W=V-2*_,oe=G-2*_;if(W<D||oe<D){H.style("display","none");return}let Z=parseInt(H.style("font-size"),10);const J=.6;for(;K.getComputedTextLength()>W&&Z>I;)Z--,H.style("font-size",`${Z}px`);let ne=Math.max(L,Math.min(N,Math.round(Z*J))),ie=Z+O+ne;for(;ie>oe&&Z>I&&(Z--,ne=Math.max(L,Math.min(N,Math.round(Z*J))),!(ne<L&&Z===I));)H.style("font-size",`${Z}px`),ie=Z+O+ne;H.style("font-size",`${Z}px`),M?(Z<I||oe<I)&&H.style("display","none"):(K.getComputedTextLength()>W||Z<I||oe<Z)&&H.style("display","none")}),a.showValues!==!1&&B.append("text").attr("class","treemapValue").attr("x",H=>(H.x1-H.x0)/2).attr("y",function(H){return(H.y1-H.y0)/2}).attr("style",H=>{const V=`text-anchor: middle; dominant-baseline: hanging; font-size: ${N}px;fill:`+v(H.data.name)+";",G=ur({cssCompiledStyles:H.data.cssCompiledStyles});return V+G.labelStyles.replace("color:","fill:")}).attr("clip-path",(H,V)=>`url(#clip-${e}-${V})`).text(H=>H.value?U(H.value):"").each(function(H){const V=vt(this),G=this.parentNode;if(!G){V.style("display","none");return}const K=vt(G).select(".treemapLabel");if(K.empty()||K.style("display")==="none"){V.style("display","none");return}const W=parseFloat(K.style("font-size")),Z=Math.max(L,Math.min(N,Math.round(W*.6)));V.style("font-size",`${Z}px`);const ne=(H.y1-H.y0)/2+W/2+O;V.attr("y",ne);const ie=H.x1-H.x0,Re=H.y1-H.y0-4,_e=ie-2*_;V.node().getComputedTextLength()>_e||ne+Z>Re||Z<L?V.style("display","none"):V.style("display",null)});const z=a.diagramPadding??8;_5(h,z,"flowchart",(a==null?void 0:a.useMaxWidth)||!1)},"draw"),Q3r=x(function(t,e){return e.db.getClasses()},"getClasses"),e9r={draw:J3r,getClasses:Q3r},t9r={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},r9r=x(({treemap:t}={})=>{const e=ip(),r=xr(),n=na(e,r.themeVariables),i=na(t9r,t),a=i.titleColor??n.titleColor,s=i.labelColor??n.textColor,o=i.valueColor??n.textColor;return`
.treemapNode.section {
stroke: ${i.sectionStrokeColor};
stroke-width: ${i.sectionStrokeWidth};
fill: ${i.sectionFillColor};
}
.treemapNode.leaf {
stroke: ${i.leafStrokeColor};
stroke-width: ${i.leafStrokeWidth};
fill: ${i.leafFillColor};
}
.treemapLabel {
fill: ${s};
font-size: ${i.labelFontSize};
}
.treemapValue {
fill: ${o};
font-size: ${i.valueFontSize};
}
.treemapTitle {
fill: ${a};
font-size: ${i.titleFontSize};
}
`},"getStyles"),n9r=r9r,i9r={parser:FZe,get db(){return new BZe},renderer:e9r,styles:n9r};const a9r=Object.freeze(Object.defineProperty({__proto__:null,diagram:i9r},Symbol.toStringTag,{value:"Module"}));var yO=x((t,e)=>{const r=t<=1?t*100:t;if(r<0||r>100)throw new Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${t}`);return r},"toPercent"),mm=x((t,e,r)=>({x:yO(e,`${r} evolution`),y:yO(t,`${r} visibility`)}),"toCoordinates"),tbe=x(t=>{if(t){if(t==="+<>")return"bidirectional";if(t==="+<")return"backward";if(t==="+>")return"forward"}},"getFlowFromPort"),s9r=x(t=>{if(!(t!=null&&t.startsWith("+")))return{};const e=/^\+'([^']*)'/.exec(t),r=e==null?void 0:e[1];return t.includes("<>")?{flow:"bidirectional",label:r}:t.includes("<")?{flow:"backward",label:r}:t.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),o9r=x((t,e)=>{if(ec(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const r=t.evolution.stages.map(i=>i.secondName?`${i.name.trim()} / ${i.secondName.trim()}`:i.name.trim()),n=t.evolution.stages.filter(i=>i.boundary!==void 0).map(i=>i.boundary);e.updateAxes({stages:r,stageBoundaries:n})}if(t.anchors.forEach(r=>{const n=mm(r.visibility,r.evolution,`Anchor "${r.name}"`);e.addNode(r.name,r.name,n.x,n.y,"anchor")}),t.components.forEach(r=>{var o;const n=mm(r.visibility,r.evolution,`Component "${r.name}"`),i=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,a=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,s=(o=r.decorator)==null?void 0:o.strategy;e.addNode(r.name,r.name,n.x,n.y,"component",i,a,r.inertia,s)}),t.notes.forEach(r=>{const n=mm(r.visibility,r.evolution,`Note "${r.text}"`);e.addNote(r.text,n.x,n.y)}),t.pipelines.forEach(r=>{const n=e.getNode(r.parent);if(!n||typeof n.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const i=n.y;e.startPipeline(r.parent),r.components.forEach(a=>{const s=`${r.parent}_${a.name}`,o=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,l=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,u=yO(a.evolution,`Pipeline component "${a.name}" evolution`);e.addNode(s,a.name,u,i,"pipeline-component",o,l),e.addPipelineComponent(r.parent,s)})}),t.links.forEach(r=>{const n=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let i=tbe(r.fromPort)??tbe(r.toPort);const{flow:a,label:s}=s9r(r.arrow);!i&&a&&(i=a);const o=r.linkLabel,l=s??o;e.addLink(e.resolveNodeId(r.from),e.resolveNodeId(r.to),n,l,i)}),t.evolves.forEach(r=>{const n=e.getNode(r.component);if((n==null?void 0:n.y)!==void 0){const i=yO(r.target,`Evolve target for "${r.component}"`);e.addTrend(r.component,i,n.y)}}),t.annotations.length>0){const r=t.annotations[0],n=mm(r.x,r.y,"Annotations box");e.setAnnotationsBox(n.x,n.y)}t.annotation.forEach(r=>{const n=mm(r.x,r.y,`Annotation ${r.number}`);e.addAnnotation(r.number,[{x:n.x,y:n.y}],r.text)}),t.accelerators.forEach(r=>{const n=mm(r.x,r.y,`Accelerator "${r.name}"`);e.addAccelerator(r.name,n.x,n.y)}),t.deaccelerators.forEach(r=>{const n=mm(r.x,r.y,`Deaccelerator "${r.name}"`);e.addDeaccelerator(r.name,n.x,n.y)})},"populateDb"),zZe={parser:{yy:void 0},parse:x(async t=>{var n;const e=await Qu("wardley",t);he.debug(e);const r=(n=zZe.parser)==null?void 0:n.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");o9r(e,r)},"parse")},hv,l9r=(hv=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(e){const r=this.nodes.get(e.id)??{id:e.id,label:e.label},n={...r,...e,className:e.className??r.className,labelOffsetX:e.labelOffsetX??r.labelOffsetX,labelOffsetY:e.labelOffsetY??r.labelOffsetY};this.nodes.set(e.id,n)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const r=this.nodes.get(e);r&&(r.isPipelineParent=!0)}addPipelineComponent(e,r){const n=this.pipelines.get(e);n&&n.componentIds.push(r);const i=this.nodes.get(r);i&&(i.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,r){this.annotationsBox={x:e,y:r}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,r){this.size={width:e,height:r}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(const[r,n]of this.nodes)if(n.label===e)return r;return e}build(){const e=[];for(const r of this.nodes.values()){if(typeof r.x!="number"||typeof r.y!="number")throw new Error(`Node "${r.label}" is missing coordinates`);e.push(r)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},x(hv,"WardleyBuilder"),hv),ul=new l9r;function HZe(){return Ve()["wardley-beta"]}x(HZe,"getConfig");function VZe(t,e,r,n,i,a,s,o,l){ul.addNode({id:t,label:e,x:r,y:n,className:i,labelOffsetX:a,labelOffsetY:s,inertia:o,sourceStrategy:l})}x(VZe,"addNode");function GZe(t,e,r=!1,n,i){ul.addLink({source:t,target:e,dashed:r,label:n,flow:i})}x(GZe,"addLink");function WZe(t,e,r){ul.addTrend({nodeId:t,targetX:e,targetY:r})}x(WZe,"addTrend");function qZe(t,e,r){ul.addAnnotation({number:t,coordinates:e,text:r})}x(qZe,"addAnnotation");function jZe(t,e,r){ul.addNote({text:t,x:e,y:r})}x(jZe,"addNote");function YZe(t,e,r){ul.addAccelerator({name:t,x:e,y:r})}x(YZe,"addAccelerator");function XZe(t,e,r){ul.addDeaccelerator({name:t,x:e,y:r})}x(XZe,"addDeaccelerator");function KZe(t,e){ul.setAnnotationsBox(t,e)}x(KZe,"setAnnotationsBox");function ZZe(t,e){ul.setSize(t,e)}x(ZZe,"setSize");function JZe(t){ul.startPipeline(t)}x(JZe,"startPipeline");function QZe(t,e){ul.addPipelineComponent(t,e)}x(QZe,"addPipelineComponent");function eJe(t){ul.setAxes(t)}x(eJe,"updateAxes");function tJe(t){return ul.getNode(t)}x(tJe,"getNode");function rJe(t){return ul.resolveNodeId(t)}x(rJe,"resolveNodeId");function nJe(){return ul.build()}x(nJe,"getWardleyData");function iJe(){ul.clear(),Di()}x(iJe,"clear");var c9r={getConfig:HZe,addNode:VZe,addLink:GZe,addTrend:WZe,addAnnotation:qZe,addNote:jZe,addAccelerator:YZe,addDeaccelerator:XZe,setAnnotationsBox:KZe,setSize:ZZe,startPipeline:JZe,addPipelineComponent:QZe,updateAxes:eJe,getNode:tJe,resolveNodeId:rJe,getWardleyData:nJe,clear:iJe,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,getAccDescription:sa,setAccDescription:aa},u9r=["Genesis","Custom Built","Product","Commodity"],d9r=x(()=>{var e,r,n,i,a,s,o,l,u,d,h,f;const{themeVariables:t}=Ve();return{backgroundColor:((e=t.wardley)==null?void 0:e.backgroundColor)??t.background??"#fff",axisColor:((r=t.wardley)==null?void 0:r.axisColor)??"#000",axisTextColor:((n=t.wardley)==null?void 0:n.axisTextColor)??t.primaryTextColor??"#222",gridColor:((i=t.wardley)==null?void 0:i.gridColor)??"rgba(100, 100, 100, 0.2)",componentFill:((a=t.wardley)==null?void 0:a.componentFill)??"#fff",componentStroke:((s=t.wardley)==null?void 0:s.componentStroke)??"#000",componentLabelColor:((o=t.wardley)==null?void 0:o.componentLabelColor)??t.primaryTextColor??"#222",linkStroke:((l=t.wardley)==null?void 0:l.linkStroke)??"#000",evolutionStroke:((u=t.wardley)==null?void 0:u.evolutionStroke)??"#dc3545",annotationStroke:((d=t.wardley)==null?void 0:d.annotationStroke)??"#000",annotationTextColor:((h=t.wardley)==null?void 0:h.annotationTextColor)??t.primaryTextColor??"#222",annotationFill:((f=t.wardley)==null?void 0:f.annotationFill)??t.background??"#fff"}},"getTheme"),h9r=x(()=>{const t=Ve()["wardley-beta"];return{width:(t==null?void 0:t.width)??900,height:(t==null?void 0:t.height)??600,padding:(t==null?void 0:t.padding)??48,nodeRadius:(t==null?void 0:t.nodeRadius)??6,nodeLabelOffset:(t==null?void 0:t.nodeLabelOffset)??8,axisFontSize:(t==null?void 0:t.axisFontSize)??12,labelFontSize:(t==null?void 0:t.labelFontSize)??10,showGrid:(t==null?void 0:t.showGrid)??!1,useMaxWidth:(t==null?void 0:t.useMaxWidth)??!0}},"getConfigValues"),f9r=x((t,e,r,n)=>{var O,B;he.debug(`Rendering Wardley map
`+t);const i=h9r(),a=d9r(),s=i.nodeRadius*1.6,o=n.db,l=o.getWardleyData(),u=o.getDiagramTitle(),d=((O=l.size)==null?void 0:O.width)??i.width,h=((B=l.size)==null?void 0:B.height)??i.height,f=sl(e);f.selectAll("*").remove(),Wa(f,h,d,i.useMaxWidth),f.attr("viewBox",`0 0 ${d} ${h}`);const p=f.append("g").attr("class","wardley-map"),g=f.append("defs");g.append("marker").attr("id",`arrow-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.evolutionStroke).attr("stroke","none"),g.append("marker").attr("id",`link-arrow-end-${e}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",a.linkStroke).attr("stroke","none"),g.append("marker").attr("id",`link-arrow-start-${e}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",a.linkStroke).attr("stroke","none"),p.append("rect").attr("class","wardley-background").attr("width",d).attr("height",h).attr("fill",a.backgroundColor);const m=d-i.padding*2,U=h-i.padding*2;u&&p.append("text").attr("class","wardley-title").attr("x",d/2).attr("y",i.padding/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(u);const y=x(F=>i.padding+F/100*m,"projectX"),b=x(F=>h-i.padding-F/100*U,"projectY"),v=p.append("g").attr("class","wardley-axes");v.append("line").attr("x1",i.padding).attr("x2",d-i.padding).attr("y1",h-i.padding).attr("y2",h-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1),v.append("line").attr("x1",i.padding).attr("x2",i.padding).attr("y1",i.padding).attr("y2",h-i.padding).attr("stroke",a.axisColor).attr("stroke-width",1);const w=l.axes.xLabel??"Evolution",T=l.axes.yLabel??"Visibility";v.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",i.padding+m/2).attr("y",h-i.padding/4).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(w),v.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",i.padding/3).attr("y",i.padding+U/2).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${i.padding/3} ${i.padding+U/2})`).text(T);const S=l.axes.stages&&l.axes.stages.length>0?l.axes.stages:u9r;if(S.length>0){const F=p.append("g").attr("class","wardley-stages"),z=l.axes.stageBoundaries,$=[];if(z&&z.length===S.length){let H=0;z.forEach(V=>{$.push({start:H,end:V}),H=V})}else{const H=1/S.length;S.forEach((V,G)=>{$.push({start:G*H,end:(G+1)*H})})}S.forEach((H,V)=>{const G=$[V],K=i.padding+G.start*m,W=i.padding+G.end*m,oe=(K+W)/2;V>0&&F.append("line").attr("x1",K).attr("x2",K).attr("y1",i.padding).attr("y2",h-i.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),F.append("text").attr("class","wardley-stage-label").attr("x",oe).attr("y",h-i.padding/1.5).attr("fill",a.axisTextColor).attr("font-size",i.axisFontSize-2).attr("text-anchor","middle").text(H)})}if(i.showGrid){const F=p.append("g").attr("class","wardley-grid");for(let z=1;z<4;z++){const $=z/4,H=i.padding+m*$;F.append("line").attr("x1",H).attr("x2",H).attr("y1",i.padding).attr("y2",h-i.padding).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6"),F.append("line").attr("x1",i.padding).attr("x2",d-i.padding).attr("y1",h-i.padding-U*$).attr("y2",h-i.padding-U*$).attr("stroke",a.gridColor).attr("stroke-dasharray","2 6")}}const C=new Map;if(l.nodes.forEach(F=>{C.set(F.id,{x:y(F.x),y:b(F.y),node:F})}),l.pipelines.length>0){const F=p.append("g").attr("class","wardley-pipelines"),z=p.append("g").attr("class","wardley-pipeline-links");l.pipelines.forEach($=>{if($.componentIds.length===0)return;const H=$.componentIds.map(W=>({id:W,pos:C.get(W),node:l.nodes.find(oe=>oe.id===W)})).filter(W=>W.pos&&W.node).sort((W,oe)=>W.node.x-oe.node.x);for(let W=0;W<H.length-1;W++){const oe=H[W],Z=H[W+1];z.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",oe.pos.x).attr("y1",oe.pos.y).attr("x2",Z.pos.x).attr("y2",Z.pos.y).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let V=1/0,G=-1/0,K=0;if($.componentIds.forEach(W=>{const oe=C.get(W);oe&&(V=Math.min(V,oe.x),G=Math.max(G,oe.x),K=oe.y)}),V!==1/0&&G!==-1/0){const oe=i.nodeRadius*4,Z=K-oe/2,J=C.get($.nodeId);if(J){const ne=(V+G)/2;J.x=ne,J.y=Z-s/6}F.append("rect").attr("class","wardley-pipeline-box").attr("x",V-15).attr("y",Z).attr("width",G-V+30).attr("height",oe).attr("fill","none").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const k=p.append("g").attr("class","wardley-links"),E=new Map;l.pipelines.forEach(F=>{E.set(F.nodeId,new Set(F.componentIds))});const A=l.links.filter(F=>{if(!C.has(F.source)||!C.has(F.target))return!1;const z=E.get(F.target);return!(z!=null&&z.has(F.source))});k.selectAll("line").data(A).enter().append("line").attr("class",F=>`wardley-link${F.dashed?" wardley-link--dashed":""}`).attr("x1",F=>{const z=C.get(F.source),$=C.get(F.target),V=l.nodes.find(oe=>oe.id===F.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,G=$.x-z.x,K=$.y-z.y,W=Math.sqrt(G*G+K*K);return z.x+G/W*V}).attr("y1",F=>{const z=C.get(F.source),$=C.get(F.target),V=l.nodes.find(oe=>oe.id===F.source).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,G=$.x-z.x,K=$.y-z.y,W=Math.sqrt(G*G+K*K);return z.y+K/W*V}).attr("x2",F=>{const z=C.get(F.source),$=C.get(F.target),V=l.nodes.find(oe=>oe.id===F.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,G=z.x-$.x,K=z.y-$.y,W=Math.sqrt(G*G+K*K);return $.x+G/W*V}).attr("y2",F=>{const z=C.get(F.source),$=C.get(F.target),V=l.nodes.find(oe=>oe.id===F.target).isPipelineParent?s/Math.sqrt(2):i.nodeRadius,G=z.x-$.x,K=z.y-$.y,W=Math.sqrt(G*G+K*K);return $.y+K/W*V}).attr("stroke",a.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",F=>F.dashed?"6 6":null).attr("marker-end",F=>F.flow==="forward"||F.flow==="bidirectional"?`url(#link-arrow-end-${e})`:null).attr("marker-start",F=>F.flow==="backward"||F.flow==="bidirectional"?`url(#link-arrow-start-${e})`:null),k.selectAll("text").data(A.filter(F=>F.label)).enter().append("text").attr("class","wardley-link-label").attr("x",F=>{const z=C.get(F.source),$=C.get(F.target),H=(z.x+$.x)/2,V=$.y-z.y,G=$.x-z.x,K=Math.sqrt(G*G+V*V),W=8,oe=V/K;return H+oe*W}).attr("y",F=>{const z=C.get(F.source),$=C.get(F.target),H=(z.y+$.y)/2,V=$.x-z.x,G=$.y-z.y,K=Math.sqrt(V*V+G*G),W=8,oe=-V/K;return H+oe*W}).attr("fill",a.axisTextColor).attr("font-size",i.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",F=>{const z=C.get(F.source),$=C.get(F.target),H=(z.x+$.x)/2,V=(z.y+$.y)/2,G=$.x-z.x,K=$.y-z.y,W=Math.sqrt(G*G+K*K),oe=8,Z=K/W,J=-G/W,ne=H+Z*oe,ie=V+J*oe;let me=Math.atan2(K,G)*180/Math.PI;return(me>90||me<-90)&&(me+=180),`rotate(${me} ${ne} ${ie})`}).text(F=>F.label);const M=p.append("g").attr("class","wardley-trends"),P=l.trends.map(F=>{const z=C.get(F.nodeId);if(!z)return null;const $=y(F.targetX),H=b(F.targetY),V=$-z.x,G=H-z.y,K=Math.sqrt(V*V+G*G),W=i.nodeRadius+2,oe=K>W?$-V/K*W:$,Z=K>W?H-G/K*W:H;return{origin:z,targetX:$,targetY:H,adjustedX2:oe,adjustedY2:Z}}).filter(F=>F!==null);M.selectAll("line").data(P).enter().append("line").attr("class","wardley-trend").attr("x1",F=>F.origin.x).attr("y1",F=>F.origin.y).attr("x2",F=>F.adjustedX2).attr("y2",F=>F.adjustedY2).attr("stroke",a.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${e})`);const I=p.append("g").attr("class","wardley-nodes").selectAll("g").data(l.nodes).enter().append("g").attr("class",F=>["wardley-node",F.className?`wardley-node--${F.className}`:""].filter(Boolean).join(" "));I.filter(F=>F.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",F=>C.get(F.id).x).attr("cy",F=>C.get(F.id).y).attr("r",i.nodeRadius*2).attr("fill","#666").attr("stroke",a.componentStroke).attr("stroke-width",1),I.filter(F=>F.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",F=>C.get(F.id).x).attr("cy",F=>C.get(F.id).y).attr("r",i.nodeRadius*2).attr("fill","#ccc").attr("stroke",a.componentStroke).attr("stroke-width",1),I.filter(F=>F.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",F=>C.get(F.id).x).attr("cy",F=>C.get(F.id).y).attr("r",i.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const L=I.filter(F=>F.sourceStrategy==="market");L.append("circle").attr("class","wardley-market-overlay").attr("cx",F=>C.get(F.id).x).attr("cy",F=>C.get(F.id).y).attr("r",i.nodeRadius*2).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),I.filter(F=>!F.isPipelineParent&&F.sourceStrategy!=="market"&&F.className!=="anchor").append("circle").attr("cx",F=>C.get(F.id).x).attr("cy",F=>C.get(F.id).y).attr("r",i.nodeRadius).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1);const _=i.nodeRadius*.7,D=i.nodeRadius*1.2;if(L.append("line").attr("class","wardley-market-line").attr("x1",F=>C.get(F.id).x).attr("y1",F=>C.get(F.id).y-D).attr("x2",F=>C.get(F.id).x-D*Math.cos(Math.PI/6)).attr("y2",F=>C.get(F.id).y+D*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),L.append("line").attr("class","wardley-market-line").attr("x1",F=>C.get(F.id).x-D*Math.cos(Math.PI/6)).attr("y1",F=>C.get(F.id).y+D*Math.sin(Math.PI/6)).attr("x2",F=>C.get(F.id).x+D*Math.cos(Math.PI/6)).attr("y2",F=>C.get(F.id).y+D*Math.sin(Math.PI/6)).attr("stroke",a.componentStroke).attr("stroke-width",1),L.append("line").attr("class","wardley-market-line").attr("x1",F=>C.get(F.id).x+D*Math.cos(Math.PI/6)).attr("y1",F=>C.get(F.id).y+D*Math.sin(Math.PI/6)).attr("x2",F=>C.get(F.id).x).attr("y2",F=>C.get(F.id).y-D).attr("stroke",a.componentStroke).attr("stroke-width",1),L.append("circle").attr("class","wardley-market-dot").attr("cx",F=>C.get(F.id).x).attr("cy",F=>C.get(F.id).y-D).attr("r",_).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),L.append("circle").attr("class","wardley-market-dot").attr("cx",F=>C.get(F.id).x-D*Math.cos(Math.PI/6)).attr("cy",F=>C.get(F.id).y+D*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),L.append("circle").attr("class","wardley-market-dot").attr("cx",F=>C.get(F.id).x+D*Math.cos(Math.PI/6)).attr("cy",F=>C.get(F.id).y+D*Math.sin(Math.PI/6)).attr("r",_).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",2),I.filter(F=>F.isPipelineParent===!0).append("rect").attr("x",F=>C.get(F.id).x-s/2).attr("y",F=>C.get(F.id).y-s/2).attr("width",s).attr("height",s).attr("fill",a.componentFill).attr("stroke",a.componentStroke).attr("stroke-width",1),I.filter(F=>F.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",F=>{const z=C.get(F.id);let $=F.isPipelineParent?s/2+15:i.nodeRadius+15;return F.sourceStrategy&&($+=i.nodeRadius+10),z.x+$}).attr("y1",F=>{const z=C.get(F.id),$=F.isPipelineParent?s:i.nodeRadius*2;return z.y-$/2}).attr("x2",F=>{const z=C.get(F.id);let $=F.isPipelineParent?s/2+15:i.nodeRadius+15;return F.sourceStrategy&&($+=i.nodeRadius+10),z.x+$}).attr("y2",F=>{const z=C.get(F.id),$=F.isPipelineParent?s:i.nodeRadius*2;return z.y+$/2}).attr("stroke",a.componentStroke).attr("stroke-width",6),I.append("text").attr("x",F=>{const z=C.get(F.id);if(F.className==="anchor")return F.labelOffsetX!==void 0?z.x+F.labelOffsetX:z.x;let $=i.nodeLabelOffset;F.sourceStrategy&&F.labelOffsetX===void 0&&($+=10);const H=F.labelOffsetX??$;return z.x+H}).attr("y",F=>{const z=C.get(F.id);if(F.className==="anchor")return F.labelOffsetY!==void 0?z.y+F.labelOffsetY:z.y-3;let $=-i.nodeLabelOffset;F.sourceStrategy&&F.labelOffsetY===void 0&&($-=10);const H=F.labelOffsetY??$;return z.y+H}).attr("class","wardley-node-label").attr("fill",F=>F.className==="evolved"?a.evolutionStroke:F.className==="anchor"?"#000":a.componentLabelColor).attr("font-size",i.labelFontSize).attr("font-weight",F=>F.className==="anchor"?"bold":"normal").attr("text-anchor",F=>F.className==="anchor"?"middle":"start").attr("dominant-baseline",F=>F.className==="anchor"?"middle":"auto").text(F=>F.label),l.annotations.length>0){const F=p.append("g").attr("class","wardley-annotations");if(l.annotations.forEach(z=>{const $=z.coordinates.map(H=>({x:y(H.x),y:b(H.y)}));if($.length>1)for(let H=0;H<$.length-1;H++)F.append("line").attr("class","wardley-annotation-line").attr("x1",$[H].x).attr("y1",$[H].y).attr("x2",$[H+1].x).attr("y2",$[H+1].y).attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");$.forEach(H=>{const V=F.append("g").attr("class","wardley-annotation");V.append("circle").attr("cx",H.x).attr("cy",H.y).attr("r",10).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5),V.append("text").attr("x",H.x).attr("y",H.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(z.number)})}),l.annotationsBox){let z=y(l.annotationsBox.x),$=b(l.annotationsBox.y);const H=10,V=16,G=11,K=F.append("g").attr("class","wardley-annotations-box"),W=[...l.annotations].filter(Z=>Z.text).sort((Z,J)=>Z.number-J.number),oe=[];if(W.forEach((Z,J)=>{const ne=K.append("text").attr("x",z+H).attr("y",$+H+(J+1)*V).attr("font-size",G).attr("fill",a.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${Z.number}. ${Z.text}`);oe.push(ne)}),oe.length>0){let Z=0,J=0;oe.forEach(He=>{const ce=He.node(),de=ce.getComputedTextLength();Z=Math.max(Z,de);const we=ce.getBBox();J=Math.max(J,we.height)});const ne=Z+H*2+105,ie=W.length*V+H*2+J/2,me=i.padding,te=d-i.padding-ne,Re=i.padding,_e=h-i.padding-ie;z=Math.max(me,Math.min(z,te)),$=Math.max(Re,Math.min($,_e)),oe.forEach((He,ce)=>{He.attr("x",z+H).attr("y",$+H+(ce+1)*V)}),K.insert("rect","text").attr("x",z).attr("y",$).attr("width",ne).attr("height",ie).attr("fill","white").attr("stroke",a.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(l.notes.length>0){const F=p.append("g").attr("class","wardley-notes");l.notes.forEach(z=>{const $=y(z.x),H=b(z.y);F.append("text").attr("x",$).attr("y",H).attr("text-anchor","start").attr("font-size",11).attr("fill",a.axisTextColor).attr("font-weight","bold").text(z.text)})}if(l.accelerators.length>0){const F=p.append("g").attr("class","wardley-accelerators");l.accelerators.forEach(z=>{const $=y(z.x),H=b(z.y),V=60,G=30,K=20,W=`
M ${$} ${H-G/2}
L ${$+V-K} ${H-G/2}
L ${$+V-K} ${H-G/2-8}
L ${$+V} ${H}
L ${$+V-K} ${H+G/2+8}
L ${$+V-K} ${H+G/2}
L ${$} ${H+G/2}
Z
`;F.append("path").attr("d",W).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),F.append("text").attr("x",$+V/2).attr("y",H+G/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(z.name)})}if(l.deaccelerators.length>0){const F=p.append("g").attr("class","wardley-deaccelerators");l.deaccelerators.forEach(z=>{const $=y(z.x),H=b(z.y),V=60,G=30,K=20,W=`
M ${$+V} ${H-G/2}
L ${$+K} ${H-G/2}
L ${$+K} ${H-G/2-8}
L ${$} ${H}
L ${$+K} ${H+G/2+8}
L ${$+K} ${H+G/2}
L ${$+V} ${H+G/2}
Z
`;F.append("path").attr("d",W).attr("fill","white").attr("stroke",a.componentStroke).attr("stroke-width",1),F.append("text").attr("x",$+V/2).attr("y",H+G/2+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",a.axisTextColor).attr("font-weight","bold").text(z.name)})}},"draw"),p9r={draw:f9r},g9r=x(({wardley:t}={})=>{const e=ip(),r=xr(),n=na(e,r.themeVariables),i=na(n.wardley,t);return`
.wardley-background {
fill: ${i.backgroundColor};
}
.wardley-axes line, .wardley-axes path {
stroke: ${i.axisColor};
}
.wardley-axis-label {
fill: ${i.axisTextColor};
}
.wardley-stage-label {
fill: ${i.axisTextColor};
}
.wardley-grid line {
stroke: ${i.gridColor};
}
.wardley-node circle {
fill: ${i.componentFill};
stroke: ${i.componentStroke};
}
.wardley-node-label {
fill: ${i.componentLabelColor};
}
.wardley-link {
stroke: ${i.linkStroke};
}
.wardley-link--dashed {
stroke-dasharray: 4 4;
}
.wardley-link-label {
fill: ${i.axisTextColor};
}
.wardley-trend line {
stroke: ${i.evolutionStroke};
}
.wardley-annotation-line {
stroke: ${i.annotationStroke};
}
.wardley-annotation circle {
fill: ${i.annotationFill};
stroke: ${i.annotationStroke};
}
.wardley-annotation text {
fill: ${i.annotationTextColor};
}
.wardley-annotations-box rect {
fill: ${i.annotationFill};
stroke: ${i.annotationStroke};
}
.wardley-annotations-box text {
fill: ${i.annotationTextColor};
}
.wardley-pipeline-box {
stroke: ${i.componentStroke};
}
.wardley-notes text {
fill: ${i.axisTextColor};
}
`},"styles"),m9r={parser:zZe,db:c9r,renderer:p9r,styles:g9r};const U9r=Object.freeze(Object.defineProperty({__proto__:null,diagram:m9r},Symbol.toStringTag,{value:"Module"}));var aJe=x(()=>({domains:new Map,transitions:[]}),"createDefaultData"),ok=aJe(),y9r=x(()=>ok.domains,"getDomains"),b9r=x(()=>ok.transitions,"getTransitions"),v9r=x(t=>{if(t)for(const e of t){const r=e.domain,n=(e.items??[]).map(i=>({label:i.label}));ok.domains.set(r,{name:r,items:n})}},"setDomains"),x9r=x(t=>{t&&(ok.transitions=t.filter(e=>e.from===e.to?(he.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),w9r=x(()=>na({...An.cynefin,...xr().cynefin}),"getConfig"),T9r=x(()=>{Di(),ok=aJe()},"clear"),fR={getDomains:y9r,getTransitions:b9r,setDomains:v9r,setTransitions:x9r,getConfig:w9r,clear:T9r,setAccTitle:qi,getAccTitle:ia,setDiagramTitle:ra,getDiagramTitle:Yi,getAccDescription:sa,setAccDescription:aa},C9r=x(t=>{ec(t,fR),fR.setDomains(t.domains),fR.setTransitions(t.transitions)},"populate"),S9r={parse:x(async t=>{const e=await Qu("cynefin",t);he.debug(e),C9r(e)},"parse")};function RC(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}x(RC,"seededRandom");function sJe(t){let e=0;for(let r=0;r<t.length;r++){const n=t.charCodeAt(r);e=(e<<5)-e+n,e|=0}return e}x(sJe,"hashString");function oJe(t,e){return typeof t=="number"&&Number.isFinite(t)&&t!==0?t:sJe(e)}x(oJe,"resolveSeed");function lJe(t,e,r,n){const i=t/2,a=n??t*.015,s=7,o=e/s,l=[];for(let d=0;d<=s;d++){const h=RC(r+d*17)*a*2-a;l.push({x:i+h,y:d*o})}let u=`M${l[0].x},${l[0].y}`;for(let d=0;d<l.length-1;d++){const h=l[d],f=l[d+1],p=(h.y+f.y)/2,g=d%2===0?1:-1,m=a*1.5*g*RC(r+d*31+7),U=h.x+m,y=p,b=f.x-m;u+=` C${U},${y} ${b},${p} ${f.x},${f.y}`}return u}x(lJe,"generateFoldPath");function cJe(t,e,r,n){const i=e/2,a=n??e*.015,s=7,o=t/s,l=[];for(let d=0;d<=s;d++){const h=RC(r+d*23)*a*2-a;l.push({x:d*o,y:i+h})}let u=`M${l[0].x},${l[0].y}`;for(let d=0;d<l.length-1;d++){const h=l[d],f=l[d+1],p=(h.x+f.x)/2,g=d%2===0?1:-1,m=a*1.5*g*RC(r+d*37+11),U=p,y=h.y+m,b=p,v=f.y-m;u+=` C${U},${y} ${b},${v} ${f.x},${f.y}`}return u}x(cJe,"generateHorizontalBoundary");function uJe(t,e){const r=t/2,n=e*.5,i=e,a=t*.03;return[`M${r},${n}`,`C${r+a},${n+(i-n)*.2}`,`${r-a*1.5},${n+(i-n)*.55}`,`${r+a*.5},${n+(i-n)*.75}`,`C${r-a},${n+(i-n)*.85}`,`${r+a*.3},${n+(i-n)*.95}`,`${r},${i}`].join(" ")}x(uJe,"generateCliffPath");function dJe(t,e,r,n){return[`M${t-r},${e}`,`A${r},${n} 0 1,1 ${t+r},${e}`,`A${r},${n} 0 1,1 ${t-r},${e}`,"Z"].join(" ")}x(dJe,"generateConfusionPath");var rbe={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},k9r=x((t,e)=>{const r=t/2,n=e/2;return{complex:{cx:r/2,cy:n/2,x:0,y:0,w:r,h:n},complicated:{cx:r+r/2,cy:n/2,x:r,y:0,w:r,h:n},chaotic:{cx:r/2,cy:n+n/2,x:0,y:n,w:r,h:n},clear:{cx:r+r/2,cy:n+n/2,x:r,y:n,w:r,h:n},confusion:{cx:r,cy:n,x:r*.7,y:n*.7,w:r*.6,h:n*.6}}},"getDomainLayouts"),E9r=x(()=>{const t=ip(),e=xr();return na(t,e.themeVariables).cynefin},"getCynefinDomainColors"),SV=3,A9r=x((t,e,r,n)=>{const i=n.db,a=i.getDomains(),s=i.getTransitions(),o=i.getDiagramTitle(),l=i.getAccTitle(),u=i.getAccDescription(),d=i.getConfig(),h=E9r();he.debug("Rendering Cynefin diagram");const f=d.width,p=d.height,g=d.padding,m=d.showDomainDescriptions,U=d.boundaryAmplitude,y=f+g*2,b=p+g*2,v={complex:h.complexBg,complicated:h.complicatedBg,clear:h.clearBg,chaotic:h.chaoticBg,confusion:h.confusionBg},w=sl(e);Wa(w,b,y,d.useMaxWidth??!0),w.attr("viewBox",`0 0 ${y} ${b}`),l&&w.append("title").text(l),u&&w.append("desc").text(u);const T=w.append("g").attr("transform",`translate(${g}, ${g})`),S=k9r(f,p),C=oJe(d.seed,e),k=T.append("g").attr("class","cynefin-backgrounds"),E=["complex","complicated","chaotic","clear"];for(const O of E){const B=S[O];k.append("rect").attr("class","cynefinDomain").attr("x",B.x).attr("y",B.y).attr("width",B.w).attr("height",B.h).attr("fill",v[O]).attr("fill-opacity",.4).attr("stroke","none")}const A=T.append("g").attr("class","cynefin-boundaries");A.append("path").attr("class","cynefinBoundary").attr("d",lJe(f,p,C,U)).attr("fill","none"),A.append("path").attr("class","cynefinBoundary").attr("d",cJe(f,p,C+100,U)).attr("fill","none"),A.append("path").attr("class","cynefinCliff").attr("d",uJe(f,p)).attr("fill","none");const M=f*.15,P=p*.15;T.append("path").attr("class","cynefinConfusion").attr("d",dJe(f/2,p/2,M,P)).attr("fill",v.confusion).attr("fill-opacity",.5);const N=T.append("g").attr("class","cynefin-labels");for(const O of E){const B=S[O];N.append("text").attr("class","cynefinDomainLabel").attr("x",B.cx).attr("y",m?B.cy-30:B.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(O.charAt(0).toUpperCase()+O.slice(1))}if(N.append("text").attr("class","cynefinDomainLabel").attr("x",f/2).attr("y",m?p/2-10:p/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),m){const O=T.append("g").attr("class","cynefin-subtitles");for(const B of E){const F=S[B],z=rbe[B];O.append("text").attr("class","cynefinSubtitle").attr("x",F.cx).attr("y",F.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(z.model),O.append("text").attr("class","cynefinSubtitle").attr("x",F.cx).attr("y",F.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(z.practice)}O.append("text").attr("class","cynefinSubtitle").attr("x",f/2).attr("y",p/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(rbe.confusion.practice)}const I=T.append("g").attr("class","cynefin-items"),L=26,_=10,D=["complex","complicated","chaotic","clear","confusion"];for(const O of D){const B=a.get(O);if(!B||B.items.length===0)continue;const F=S[O],z=O==="confusion";let $=B.items,H=0;z&&B.items.length>SV&&(H=B.items.length-SV,$=B.items.slice(0,SV));let V;if(z){const G=m?22:14;V=F.cy+G}else V=F.cy+(m?25:15);if([...$].forEach((G,K)=>{const W=V+K*(L+4),oe=I.append("g"),Z=oe.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",L/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(G.label);let J=G.label.length*7;const ne=Z.node();if(ne&&typeof ne.getBBox=="function"){const te=ne.getBBox();te.width>0&&(J=te.width)}const ie=J+_*2,me=F.cx-ie/2;oe.attr("transform",`translate(${me}, ${W})`),oe.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",ie).attr("height",L).attr("rx",4).attr("ry",4).attr("fill",v[O]).attr("fill-opacity",.95),Z.attr("x",ie/2).attr("y",L/2)}),H>0){const G=V+$.length*(L+4),K=`+${H} more`,W=I.append("g"),oe=W.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",L/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(K);let Z=K.length*7;const J=oe.node();if(J&&typeof J.getBBox=="function"){const me=J.getBBox();me.width>0&&(Z=me.width)}const ne=Z+_*2,ie=F.cx-ne/2;W.attr("transform",`translate(${ie}, ${G})`),W.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",ne).attr("height",L).attr("rx",4).attr("ry",4).attr("fill",v[O]).attr("fill-opacity",.6),oe.attr("x",ne/2).attr("y",L/2)}}if(s.length>0){const O=w.select("defs").empty()?w.append("defs"):w.select("defs"),B=`cynefin-arrow-${e}`;O.append("marker").attr("id",B).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const F=T.append("g").attr("class","cynefin-arrows");s.forEach(z=>{const $=S[z.from],H=S[z.to];if(!$||!H)return;if(z.from===z.to){he.warn(`Cynefin renderer: skipping self-loop on domain "${z.from}"`);return}const V=$.cx,G=$.cy,K=H.cx,W=H.cy,oe=(V+K)/2,Z=(G+W)/2,J=K-V,ne=W-G,ie=Math.sqrt(J*J+ne*ne),me=ie*.15,te=-ne/ie,Re=J/ie,_e=oe+te*me,He=Z+Re*me;F.append("path").attr("class","cynefinArrowLine").attr("d",`M${V},${G} Q${_e},${He} ${K},${W}`).attr("fill","none").attr("marker-end",`url(#${B})`),z.label&&F.append("text").attr("class","cynefinArrowLabel").attr("x",_e).attr("y",He-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(z.label)})}o&&T.append("text").attr("class","cynefinTitle").attr("x",f/2).attr("y",-g/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(o)},"draw"),M9r={draw:A9r},R9r=x(()=>{const t=ip(),e=xr();return na(t,e.themeVariables).cynefin},"getCynefinTheme"),I9r=x(()=>{const t=R9r();return`
.cynefinDomain {
stroke: none;
}
.cynefinDomainLabel {
font-size: ${t.domainFontSize}px;
font-weight: bold;
fill: ${t.labelColor};
}
.cynefinSubtitle {
font-size: ${t.itemFontSize-1}px;
fill: ${t.textColor};
font-style: italic;
}
.cynefinItem {
fill-opacity: 0.95;
stroke: ${t.boundaryColor};
stroke-width: 1;
}
.cynefinItemText {
font-size: ${t.itemFontSize}px;
fill: ${t.textColor};
}
.cynefinItemOverflow {
fill-opacity: 0.6;
stroke: ${t.boundaryColor};
stroke-width: 1;
stroke-dasharray: 3 2;
}
.cynefinBoundary {
stroke: ${t.boundaryColor};
stroke-width: ${t.boundaryWidth};
stroke-dasharray: 6 3;
}
.cynefinCliff {
stroke: ${t.cliffColor};
stroke-width: ${t.cliffWidth};
}
.cynefinConfusion {
stroke: ${t.boundaryColor};
stroke-width: 1.5;
stroke-dasharray: 4 2;
}
.cynefinArrowLine {
stroke: ${t.arrowColor};
stroke-width: ${t.arrowWidth};
fill: none;
}
.cynefinArrowHead {
fill: ${t.arrowColor};
stroke: none;
}
.cynefinArrowLabel {
font-size: ${t.itemFontSize-1}px;
fill: ${t.textColor};
}
.cynefinTitle {
font-size: ${t.domainFontSize+2}px;
font-weight: bold;
fill: ${t.labelColor};
}
`},"styles"),L9r=I9r,N9r={parser:S9r,db:fR,renderer:M9r,styles:L9r};const O9r=Object.freeze(Object.defineProperty({__proto__:null,diagram:N9r},Symbol.toStringTag,{value:"Module"}));var Ose="",Dse="",Pse="",_se=[],bO=new Map,Ig=x(t=>On(t,Ve()),"sanitizeText"),k2=x(t=>{switch(t.type){case"terminal":return{...t,value:Ig(t.value)};case"nonterminal":return{...t,name:Ig(t.name)};case"sequence":return{...t,elements:t.elements.map(k2)};case"choice":return{...t,alternatives:t.alternatives.map(k2)};case"optional":return{...t,element:k2(t.element)};case"repetition":return{...t,element:k2(t.element),separator:t.separator?k2(t.separator):void 0};case"special":return{...t,text:Ig(t.text)}}},"sanitizeAstNode"),D9r=x(()=>{Ose="",Dse="",Pse="",_se.length=0,bO.clear(),Di(),he.debug("[Railroad] Database cleared")},"clear"),hJe=x(t=>{Ose=Ig(t),he.debug("[Railroad] Title set:",t)},"setTitle"),fJe=x(()=>Ose,"getTitle"),P9r=x(t=>{const e={...t,name:Ig(t.name),definition:k2(t.definition),comment:t.comment?Ig(t.comment):void 0};he.debug("[Railroad] Adding rule:",e.name),bO.has(e.name)&&he.warn(`[Railroad] Rule '${e.name}' is already defined. Overwriting.`),_se.push(e),bO.set(e.name,e)},"addRule"),_9r=x(()=>_se,"getRules"),B9r=x(t=>bO.get(t),"getRule"),$9r=x(t=>{Dse=Ig(t).replace(/^\s+/g,""),he.debug("[Railroad] Accessibility title set:",t)},"setAccTitle"),F9r=x(()=>Dse,"getAccTitle"),z9r=x(t=>{Pse=Ig(t).replace(/\n\s+/g,`
`),he.debug("[Railroad] Accessibility description set:",t)},"setAccDescription"),H9r=x(()=>Pse,"getAccDescription"),V9r=hJe,G9r=fJe,ta={clear:D9r,setTitle:hJe,getTitle:fJe,addRule:P9r,getRules:_9r,getRule:B9r,setAccTitle:$9r,getAccTitle:F9r,setAccDescription:z9r,getAccDescription:H9r,setDiagramTitle:V9r,getDiagramTitle:G9r},Uo={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},W9r=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,q9r=/^[\w "',.-]+$/,j9r=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),pJe=x(t=>t?Object.keys(t).every(e=>e==="railroad"||j9r.has(e)):!1,"isRailroadStyleOptions"),Y9r=x(t=>t?"railroad"in t&&t.railroad?t.railroad:pJe(t)?t:{}:{},"extractRailroadOverrides"),X9r=x(t=>{if(!t||pJe(t))return{};const{railroad:e,svgId:r,theme:n,look:i,...a}=t;return a},"extractThemeOverrides"),ki=x((t,e)=>{if(typeof t!="string")return e;const r=t.trim();return W9r.test(r)?r:e},"sanitizeColorValue"),gJe=x((t,e)=>{if(typeof t!="string")return e;const r=t.trim();return q9r.test(r)?r:e},"sanitizeFontFamilyValue"),Um=x((t,e)=>{const r=typeof t=="number"?t:typeof t=="string"?Number.parseFloat(t):Number.NaN;return Number.isFinite(r)&&r>=0?r:e},"sanitizeNumberValue"),K9r=x(t=>{const e=typeof t=="number"?t:typeof t=="string"?Number.parseFloat(t):Number.NaN;return Number.isFinite(e)&&e>0?e:void 0},"parseThemeFontSize"),Z9r=x(t=>{const e=gJe(t.fontFamily,Uo.fontFamily),r=K9r(t.fontSize)??Uo.fontSize;return{...Uo,fontFamily:e,fontSize:r,terminalFill:ki(t.secondBkg??t.secondaryColor,Uo.terminalFill),terminalStroke:ki(t.secondaryBorderColor??t.lineColor,Uo.terminalStroke),terminalTextColor:ki(t.secondaryTextColor??t.textColor,Uo.terminalTextColor),nonTerminalFill:ki(t.mainBkg??t.background,Uo.nonTerminalFill),nonTerminalStroke:ki(t.primaryBorderColor??t.lineColor,Uo.nonTerminalStroke),nonTerminalTextColor:ki(t.primaryTextColor??t.textColor,Uo.nonTerminalTextColor),lineColor:ki(t.lineColor,Uo.lineColor),markerFill:ki(t.lineColor,Uo.markerFill),commentFill:ki(t.labelBackground??t.tertiaryColor,Uo.commentFill),commentStroke:ki(t.tertiaryBorderColor??t.lineColor,Uo.commentStroke),commentTextColor:ki(t.tertiaryTextColor??t.textColor,Uo.commentTextColor),specialFill:ki(t.tertiaryColor??t.secondaryColor,Uo.specialFill),specialStroke:ki(t.tertiaryBorderColor??t.secondaryBorderColor,Uo.specialStroke),ruleNameColor:ki(t.titleColor??t.textColor,Uo.ruleNameColor)}},"buildThemeDefaults"),Bse=x(t=>{const e=xr(),r={...ip(),...e.themeVariables??{},...X9r(t)},n=Z9r(r),i={...e.railroad??{},...Y9r(t)};return{compactMode:i.compactMode??n.compactMode,padding:Um(i.padding,n.padding),verticalSeparation:Um(i.verticalSeparation,n.verticalSeparation),horizontalSeparation:Um(i.horizontalSeparation,n.horizontalSeparation),arcRadius:Um(i.arcRadius,n.arcRadius),fontSize:Um(i.fontSize,n.fontSize),fontFamily:gJe(i.fontFamily,n.fontFamily),terminalFill:ki(i.terminalFill,n.terminalFill),terminalStroke:ki(i.terminalStroke,n.terminalStroke),terminalTextColor:ki(i.terminalTextColor,n.terminalTextColor),nonTerminalFill:ki(i.nonTerminalFill,n.nonTerminalFill),nonTerminalStroke:ki(i.nonTerminalStroke,n.nonTerminalStroke),nonTerminalTextColor:ki(i.nonTerminalTextColor,n.nonTerminalTextColor),lineColor:ki(i.lineColor,n.lineColor),strokeWidth:Um(i.strokeWidth,n.strokeWidth),markerFill:ki(i.markerFill,n.markerFill),commentFill:ki(i.commentFill,n.commentFill),commentStroke:ki(i.commentStroke,n.commentStroke),commentTextColor:ki(i.commentTextColor,n.commentTextColor),specialFill:ki(i.specialFill,n.specialFill),specialStroke:ki(i.specialStroke,n.specialStroke),ruleNameColor:ki(i.ruleNameColor,n.ruleNameColor),showMarkers:i.showMarkers??n.showMarkers,markerRadius:Um(i.markerRadius,n.markerRadius)}},"buildRailroadStyleOptions"),CB=x(t=>{const{fontFamily:e,fontSize:r,terminalFill:n,terminalStroke:i,terminalTextColor:a,nonTerminalFill:s,nonTerminalStroke:o,nonTerminalTextColor:l,lineColor:u,strokeWidth:d,markerFill:h,commentFill:f,commentStroke:p,commentTextColor:g,specialFill:m,specialStroke:U,ruleNameColor:y}=Bse(t);return`
.railroad-diagram {
font-family: ${e};
font-size: ${r}px;
}
.railroad-terminal rect {
fill: ${n};
stroke: ${i};
stroke-width: ${d}px;
}
.railroad-terminal text {
fill: ${a};
font-family: ${e};
font-size: ${r}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-nonterminal rect {
fill: ${s};
stroke: ${o};
stroke-width: ${d}px;
}
.railroad-nonterminal text {
fill: ${l};
font-family: ${e};
font-size: ${r}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-line {
stroke: ${u};
stroke-width: ${d}px;
fill: none;
}
.railroad-start circle,
.railroad-end circle {
fill: ${h};
}
.railroad-comment ellipse {
fill: ${f};
stroke: ${p};
stroke-width: ${d}px;
}
.railroad-comment text {
fill: ${g};
font-style: italic;
font-family: ${e};
font-size: ${r}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-special rect {
fill: ${m};
stroke: ${U};
stroke-width: ${d}px;
stroke-dasharray: 5,3;
}
.railroad-special text {
fill: ${l};
font-family: ${e};
font-size: ${r}px;
text-anchor: middle;
dominant-baseline: middle;
}
.railroad-rule-name {
font-weight: bold;
fill: ${y};
font-family: ${e};
font-size: ${r}px;
}
.railroad-group {
/* Grouping container, no specific styles */
}
`},"getStyles"),fv,vu=(fv=class{constructor(){this.d=""}moveTo(e,r){return this.d+=`M ${e} ${r} `,this}lineTo(e,r){return this.d+=`L ${e} ${r} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,r,n,i,a,s,o){return this.d+=`A ${e} ${r} ${n} ${i?1:0} ${a?1:0} ${s} ${o} `,this}build(){return this.d.trim()}},x(fv,"PathBuilder"),fv),pv,J9r=(pv=class{constructor(e,r=Bse()){this.textCache=new Map,this.svg=e,this.config=r}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);const r=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),n=r.node().getBBox(),i={width:n.width,height:n.height};return r.remove(),this.textCache.set(e,i),i}renderTerminal(e,r){const n=this.measureText(r),i=n.width+this.config.padding*2,a=n.height+this.config.padding*2,s=e.append("g").attr("class","railroad-terminal");return s.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),s.append("text").attr("x",i/2).attr("y",a/2).text(r),{element:s.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,r){const n=this.measureText(r),i=n.width+this.config.padding*2,a=n.height+this.config.padding*2,s=e.append("g").attr("class","railroad-nonterminal");return s.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),s.append("text").attr("x",i/2).attr("y",a/2).text(r),{element:s.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,r){const n=r.map(u=>this.renderExpression(e,u));let i=0,a=0,s=0;for(const u of n)i+=u.dimensions.width,a=Math.max(a,u.dimensions.up),s=Math.max(s,u.dimensions.down);i+=(n.length-1)*this.config.horizontalSeparation;const o=e.append("g").attr("class","railroad-sequence");let l=0;for(let u=0;u<n.length;u++){const d=n[u],h=a-d.dimensions.up;if(o.node().appendChild(d.element).setAttribute("transform",`translate(${l}, ${h})`),u<n.length-1){const p=l+d.dimensions.width,g=p+this.config.horizontalSeparation,m=a;o.append("path").attr("class","railroad-line").attr("d",new vu().moveTo(p,m).lineTo(g,m).build())}l+=d.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+s,up:a,down:s}}}renderChoice(e,r){const n=r.map(f=>this.renderExpression(e,f));let i=0,a=0;for(const f of n)i=Math.max(i,f.dimensions.width),a+=f.dimensions.height;a+=(n.length-1)*this.config.verticalSeparation;const s=this.config.arcRadius,o=s*4,l=i+o,u=e.append("g").attr("class","railroad-choice");let d=0;const h=a/2;for(const f of n){const p=d,g=p+f.dimensions.up,m=s*2+(i-f.dimensions.width)/2;u.node().appendChild(f.element).setAttribute("transform",`translate(${m}, ${p})`);const y=new vu,b=g>h;g===h?y.moveTo(0,h).lineTo(m,g):y.moveTo(0,h).arcTo(s,s,0,!1,b,s,h+(b?s:-s)).lineTo(s,g-(b?s:-s)).arcTo(s,s,0,!1,!b,s*2,g).lineTo(m,g),u.append("path").attr("class","railroad-line").attr("d",y.build());const v=new vu,w=m+f.dimensions.width,T=l-s*2;g===h?v.moveTo(w,g).lineTo(l,h):v.moveTo(w,g).lineTo(T,g).arcTo(s,s,0,!1,!b,l-s,g+(b?-s:s)).lineTo(l-s,h+(b?s:-s)).arcTo(s,s,0,!1,b,l,h),u.append("path").attr("class","railroad-line").attr("d",v.build()),d+=f.dimensions.height+this.config.verticalSeparation}return{element:u.node(),dimensions:{width:l,height:a,up:h,down:a-h}}}renderOptional(e,r){const n=this.renderExpression(e,r),i=this.config.arcRadius,a=i*2,s=n.dimensions.width+i*4,o=n.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),u=i*2,d=a;l.node().appendChild(n.element).setAttribute("transform",`translate(${u}, ${d})`);const f=d+n.dimensions.up,p=new vu().moveTo(0,f).lineTo(i*2,f);l.append("path").attr("class","railroad-line").attr("d",p.build());const g=new vu().moveTo(u+n.dimensions.width,f).lineTo(s,f);l.append("path").attr("class","railroad-line").attr("d",g.build());const m=new vu().moveTo(0,f).arcTo(i,i,0,!1,!1,i,f-i).lineTo(i,i).arcTo(i,i,0,!1,!0,i*2,0).lineTo(s-i*2,0).arcTo(i,i,0,!1,!0,s-i,i).lineTo(s-i,f-i).arcTo(i,i,0,!1,!1,s,f);return l.append("path").attr("class","railroad-line").attr("d",m.build()),{element:l.node(),dimensions:{width:s,height:o,up:f,down:o-f}}}renderRepetition(e,r,n){const i=this.renderExpression(e,r),a=this.config.arcRadius,s=a*2,o=i.dimensions.width+a*4,l=n===0,u=i.dimensions.height+s+(l?s:0),d=e.append("g").attr("class","railroad-repetition"),h=a*2,f=l?s:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${h}, ${f})`);const g=f+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new vu().moveTo(0,g).lineTo(a*2,g).build()),d.append("path").attr("class","railroad-line").attr("d",new vu().moveTo(h+i.dimensions.width,g).lineTo(o,g).build());const m=f+i.dimensions.height+a,U=new vu().moveTo(h+i.dimensions.width,g).arcTo(a,a,0,!1,!0,h+i.dimensions.width+a,g+a).lineTo(h+i.dimensions.width+a,m).arcTo(a,a,0,!1,!0,h+i.dimensions.width,m+a).lineTo(a*2,m+a).arcTo(a,a,0,!1,!0,a,m).lineTo(a,g+a).arcTo(a,a,0,!1,!0,a*2,g);if(d.append("path").attr("class","railroad-line").attr("d",U.build()),l){const y=new vu().moveTo(0,g).arcTo(a,a,0,!1,!1,a,g-a).lineTo(a,a).arcTo(a,a,0,!1,!0,a*2,0).lineTo(o-a*2,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,g-a).arcTo(a,a,0,!1,!1,o,g);d.append("path").attr("class","railroad-line").attr("d",y.build())}return{element:d.node(),dimensions:{width:o,height:u,up:g,down:u-g}}}renderSpecial(e,r){const n=this.measureText("? "+r+" ?"),i=n.width+this.config.padding*2,a=n.height+this.config.padding*2,s=e.append("g").attr("class","railroad-special");return s.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),s.append("text").attr("x",i/2).attr("y",a/2).text("? "+r+" ?"),{element:s.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,r){switch(r.type){case"terminal":return this.renderTerminal(e,r.value);case"nonterminal":return this.renderNonTerminal(e,r.name);case"sequence":return this.renderSequence(e,r.elements);case"choice":return this.renderChoice(e,r.alternatives);case"optional":return this.renderOptional(e,r.element);case"repetition":return this.renderRepetition(e,r.element,r.min);case"special":return this.renderSpecial(e,r.text);default:throw new Error(`Unknown node type: ${r.type}`)}}renderRule(e,r){const n=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${r})`),i=e.name+" =",a=this.measureText(i).width+20,s=a+20,o=n.append("g"),l=this.renderExpression(o,e.definition),u=Math.max(20,l.dimensions.up),d=u-l.dimensions.up;return o.attr("transform",`translate(${s}, ${d})`),n.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",u).text(i),n.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",u).attr("r",this.config.markerRadius),n.append("g").attr("class","railroad-end").append("circle").attr("cx",s+l.dimensions.width+10).attr("cy",u).attr("r",this.config.markerRadius),n.append("path").attr("class","railroad-line").attr("d",new vu().moveTo(a+this.config.markerRadius,u).lineTo(s,u).build()),n.append("path").attr("class","railroad-line").attr("d",new vu().moveTo(s+l.dimensions.width,u).lineTo(s+l.dimensions.width+10-this.config.markerRadius,u).build()),{height:Math.max(40,d+l.dimensions.height+this.config.padding*2),width:s+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let r=this.config.padding,n=0;for(const i of e){const a=this.renderRule(i,r);r+=a.height+this.config.verticalSeparation,n=Math.max(n,a.width)}return{width:n+this.config.padding*2,height:r+this.config.padding}}},x(pv,"RailroadRenderer"),pv),nbe=x((t,e,r)=>{Wa(t,e.height,e.width,r),t.attr("viewBox",`0 0 ${e.width} ${e.height}`)},"configureRailroadSvgSize"),Q9r=x((t,e,r)=>{he.debug(`[Railroad] Rendering diagram
`+t);try{const n=sl(e);n.attr("class","railroad-diagram");const i=xr().railroad,a=(i==null?void 0:i.useMaxWidth)??!0,s=ta.getRules();if(he.debug(`[Railroad] Rendering ${s.length} rules`),s.length===0){he.warn("[Railroad] No rules to render"),nbe(n,{height:100,width:200},a);return}const l=new J9r(n,Bse()).renderDiagram(s);nbe(n,l,a),he.debug("[Railroad] Render complete")}catch(n){throw he.error("[Railroad] Render error:",n),n}},"draw"),SB={draw:Q9r},exr=Dae().Railroad.parser.LangiumParser,E2=x(t=>{switch(t.$type){case"RailroadTerminalExpr":return{type:"terminal",value:t.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:t.name};case"RailroadSpecialExpr":return{type:"special",text:t.text};case"RailroadSequenceExpr":{const e=t.elements.map(E2);return e.length===1?e[0]:{type:"sequence",elements:e}}case"RailroadChoiceExpr":{const e=t.alternatives.map(E2);return e.length===1?e[0]:{type:"choice",alternatives:e}}case"RailroadOptionalExpr":return{type:"optional",element:E2(t.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:E2(t.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:E2(t.element),min:0,max:1/0};default:throw new Error(`Unsupported railroad expression: ${t.$type}`)}},"transformExpression"),txr=x(t=>({name:t.name,definition:E2(t.definition)}),"transformRule"),rxr=x(t=>{ec(t,ta),t.title&&ta.setTitle(t.title),t.rules.map(e=>ta.addRule(txr(e)))},"populateDb"),nxr={parse:x(t=>{ta.clear(),he.debug("[Railroad Parser] Starting Langium parse");const e=exr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new nk(e);const r=e.value;he.debug("[Railroad Parser] Parsed rules:",r.rules.length),rxr(r),he.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:ta}},ixr={parser:nxr,db:ta,renderer:SB,styles:CB};const axr=Object.freeze(Object.defineProperty({__proto__:null,diagram:ixr},Symbol.toStringTag,{value:"Module"}));var sxr=Pae().RailroadEbnf.parser.LangiumParser,pR=x(t=>{const e=t.alternatives.map(oxr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformChoice"),oxr=x(t=>{const e=t.elements.map(cxr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformSequence"),mJe=x(t=>{switch(t.$type){case"EbnfTerminal":return{type:"terminal",value:t.value};case"EbnfNonTerminal":return{type:"nonterminal",name:t.name};case"EbnfSpecial":return{type:"special",text:t.text};case"EbnfGroup":return pR(t.element);case"EbnfOptional":return{type:"optional",element:pR(t.element)};case"EbnfRepetition":return{type:"repetition",element:pR(t.element),min:0,max:1/0};default:throw new Error(`Unsupported EBNF primary node: ${t.$type}`)}},"transformPrimary"),lxr=x((t,e)=>{switch(e.$type){case"EbnfOptionalPostfix":return{type:"optional",element:t};case"EbnfZeroOrMorePostfix":return{type:"repetition",element:t,min:0,max:1/0};case"EbnfOneOrMorePostfix":return{type:"repetition",element:t,min:1,max:1/0};case"EbnfExceptionPostfix":return{type:"sequence",elements:[t,{type:"terminal",value:"-"},mJe(e.except)]};default:throw new Error(`Unsupported EBNF postfix node: ${e.$type}`)}},"transformPostfix"),cxr=x(t=>t.postfixes.reduce((e,r)=>lxr(e,r),mJe(t.base)),"transformTerm"),uxr=x(t=>({name:t.name,definition:pR(t.definition)}),"transformRule"),dxr=x(t=>{ec(t,ta),t.title&&ta.setTitle(t.title),t.rules.map(e=>ta.addRule(uxr(e)))},"populateDb"),hxr={parse:x(t=>{ta.clear(),he.debug("[EBNF Parser] Starting Langium parse");const e=sxr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new nk(e);const r=e.value;he.debug("[EBNF Parser] Parsed rules:",r.rules.length),dxr(r),he.debug("[EBNF Parser] Parse complete")},"parse"),parser:{yy:ta}},fxr={parser:hxr,db:ta,renderer:SB,styles:CB};const pxr=Object.freeze(Object.defineProperty({__proto__:null,diagram:fxr},Symbol.toStringTag,{value:"Module"}));var gxr=_ae().RailroadAbnf.parser.LangiumParser,pZ=x(t=>{const e=t.alternatives.map(mxr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformAlternation"),mxr=x(t=>{const e=t.elements.map(yxr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformConcatenation"),Uxr=x(t=>{if(t.includes("*")){const[r,n]=t.split("*"),i=r?parseInt(r,10):0,a=n?parseInt(n,10):1/0;return{min:i,max:a}}const e=parseInt(t,10);return{min:e,max:e}},"parseRepeat"),yxr=x(t=>{const e=bxr(t.primary);if(!t.repeat)return e;const{min:r,max:n}=Uxr(t.repeat);return r===0&&n===1?{type:"optional",element:e}:{type:"repetition",element:e,min:r,max:n}},"transformElement"),bxr=x(t=>{switch(t.$type){case"AbnfStringLiteral":return{type:"terminal",value:t.value};case"AbnfNumVal":return{type:"terminal",value:t.value};case"AbnfRuleName":return{type:"nonterminal",name:t.name};case"AbnfGroup":return pZ(t.element);case"AbnfOptionalGroup":return{type:"optional",element:pZ(t.element)};default:throw new Error(`Unsupported ABNF primary node: ${t.$type}`)}},"transformPrimary"),vxr=x(t=>({name:t.name,definition:pZ(t.definition)}),"transformRule"),xxr=x(t=>{ec(t,ta),t.title&&ta.setTitle(t.title),t.rules.map(e=>ta.addRule(vxr(e)))},"populateDb"),wxr={parse:x(t=>{ta.clear(),he.debug("[ABNF Parser] Starting Langium parse");const e=gxr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new nk(e);const r=e.value;he.debug("[ABNF Parser] Parsed rules:",r.rules.length),xxr(r),he.debug("[ABNF Parser] Parse complete")},"parse"),parser:{yy:ta}},Txr={parser:wxr,db:ta,renderer:SB,styles:CB};const Cxr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Txr},Symbol.toStringTag,{value:"Module"}));var Sxr=Bae().RailroadPeg.parser.LangiumParser,UJe=x(t=>{const e=t.alternatives.map(kxr);return e.length===1?e[0]:{type:"choice",alternatives:e}},"transformOrderedChoice"),kxr=x(t=>{const e=t.elements.map(Exr);return e.length===1?e[0]:{type:"sequence",elements:e}},"transformSequence"),Exr=x(t=>{const e=Axr(t.suffix);return t.operator?{type:"special",text:t.operator==="&"?`&${ibe(e)}`:`!${ibe(e)}`}:e},"transformPrefix"),ibe=x(t=>{switch(t.type){case"terminal":return`"${t.value}"`;case"nonterminal":return t.name;case"special":return t.text;default:return"(...)"}},"nodeToLabel"),Axr=x(t=>{const e=Mxr(t.primary);if(!t.operator)return e;switch(t.operator){case"?":return{type:"optional",element:e};case"*":return{type:"repetition",element:e,min:0,max:1/0};case"+":return{type:"repetition",element:e,min:1,max:1/0};default:throw new Error(`Unsupported PEG suffix operator: ${t.operator}`)}},"transformSuffix"),Mxr=x(t=>{switch(t.$type){case"PegLiteral":return{type:"terminal",value:t.value};case"PegIdentifier":return{type:"nonterminal",name:t.name};case"PegGroup":return UJe(t.element);case"PegAny":return{type:"special",text:t.dot};default:throw new Error(`Unsupported PEG primary node: ${t.$type}`)}},"transformPrimary"),Rxr=x(t=>({name:t.name,definition:UJe(t.definition)}),"transformRule"),Ixr=x(t=>{ec(t,ta),t.title&&ta.setTitle(t.title),t.rules.map(e=>ta.addRule(Rxr(e)))},"populateDb"),Lxr={parse:x(t=>{ta.clear(),he.debug("[PEG Parser] Starting Langium parse");const e=Sxr.parse(t);if(e.lexerErrors.length>0||e.parserErrors.length>0)throw new nk(e);const r=e.value;he.debug("[PEG Parser] Parsed rules:",r.rules.length),Ixr(r),he.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:ta}},Nxr={parser:Lxr,db:ta,renderer:SB,styles:CB};const Oxr=Object.freeze(Object.defineProperty({__proto__:null,diagram:Nxr},Symbol.toStringTag,{value:"Module"}));var Dxr=1;function $se(){if(!(typeof globalThis>"u"))return globalThis}x($se,"getCaptureGlobal");function yJe(){var t;return!!((t=$se())!=null&&t.mermaidCaptureSizes)}x(yJe,"shouldCaptureSizes");function bJe(){return typeof location>"u"?"browser-dev":`${location.pathname}${location.search}`}x(bJe,"capturedFromLocation");function vJe(t,e){const r=$se();if(!r)return;const n=e.node(),i=(n&&"ownerSVGElement"in n?n.ownerSVGElement:null)??n,a=(i==null?void 0:i.id)??"(unknown)";r.mermaidCapturedSizes??(r.mermaidCapturedSizes=[]);const s={svgId:a,sizes:t};r.mermaidCapturedSizes.push(s),r.mermaidLastCapturedSizes=s}x(vJe,"emitCapturedSizes");function xJe(t,e){const r=[];for(const n of e.nodes)n.isGroup||r.push({id:n.id,width:n.width??0,height:n.height??0});r.length!==0&&vJe({metadata:{captureVersion:Dxr,capturedAt:new Date().toISOString(),capturedFrom:bJe()},nodes:r},t)}x(xJe,"captureNodeSizes");const Pxr=Object.freeze(Object.defineProperty({__proto__:null,captureNodeSizes:xJe,shouldCaptureSizes:yJe},Symbol.toStringTag,{value:"Module"})),_xr=Object.freeze(Object.defineProperty({__proto__:null,InfoModule:Dje,createInfoServices:Pje},Symbol.toStringTag,{value:"Module"})),Bxr=Object.freeze(Object.defineProperty({__proto__:null,PacketModule:_je,createPacketServices:Bje},Symbol.toStringTag,{value:"Module"})),$xr=Object.freeze(Object.defineProperty({__proto__:null,PieModule:$je,createPieServices:Fje},Symbol.toStringTag,{value:"Module"})),Fxr=Object.freeze(Object.defineProperty({__proto__:null,TreeViewModule:zje,createTreeViewServices:Hje},Symbol.toStringTag,{value:"Module"})),zxr=Object.freeze(Object.defineProperty({__proto__:null,ArchitectureModule:Vje,createArchitectureServices:Gje},Symbol.toStringTag,{value:"Module"})),Hxr=Object.freeze(Object.defineProperty({__proto__:null,GitGraphModule:Nje,createGitGraphServices:Oje},Symbol.toStringTag,{value:"Module"})),Vxr=Object.freeze(Object.defineProperty({__proto__:null,EventModelingModule:qje,createEventModelingServices:jje},Symbol.toStringTag,{value:"Module"})),Gxr=Object.freeze(Object.defineProperty({__proto__:null,RadarModule:vje,createRadarServices:xje},Symbol.toStringTag,{value:"Module"})),Wxr=Object.freeze(Object.defineProperty({__proto__:null,RailroadModule:wje,createRailroadServices:Dae},Symbol.toStringTag,{value:"Module"})),qxr=Object.freeze(Object.defineProperty({__proto__:null,RailroadEbnfModule:Tje,createRailroadEbnfServices:Pae},Symbol.toStringTag,{value:"Module"})),jxr=Object.freeze(Object.defineProperty({__proto__:null,RailroadAbnfModule:Cje,createRailroadAbnfServices:_ae},Symbol.toStringTag,{value:"Module"})),Yxr=Object.freeze(Object.defineProperty({__proto__:null,RailroadPegModule:Sje,createRailroadPegServices:Bae},Symbol.toStringTag,{value:"Module"})),Xxr=Object.freeze(Object.defineProperty({__proto__:null,TreemapModule:Eje,createTreemapServices:Aje},Symbol.toStringTag,{value:"Module"})),Kxr=Object.freeze(Object.defineProperty({__proto__:null,WardleyModule:Mje,createWardleyServices:Rje},Symbol.toStringTag,{value:"Module"})),Zxr=Object.freeze(Object.defineProperty({__proto__:null,CynefinModule:Ije,createCynefinServices:Lje},Symbol.toStringTag,{value:"Module"}));</script>
<style rel="stylesheet" crossorigin>:root{color-scheme:light dark;--text: #0f172a;--muted: #64748b;--border: #f1f5f9;--toolbar-bg: #ffffff;--toolbar-fg: #64748b;--toolbar-active-bg: #ecfdf5;--toolbar-active-border: #bbf7d0;--toolbar-active-fg: #047857;--code-bg: color-mix(in srgb, CanvasText 7%, transparent);--placeholder: #94a3b8}.tiptap-mathematics-render[data-type=block-math]{max-width:100%;margin:1rem 0;overflow-x:auto;overflow-y:hidden;padding:.25rem 0;text-align:center;-webkit-overflow-scrolling:touch}.inline-math-error,.block-math-error{color:#be123c;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}html[data-theme=dark] .inline-math-error,html[data-theme=dark] .block-math-error{color:#fda4af}html[data-theme=dark]{--text: #f8fafc;--muted: #cbd5e1;--border: #334155;--toolbar-bg: #0f172a;--toolbar-fg: #cbd5e1;--toolbar-active-bg: #14532d;--toolbar-active-border: #166534;--toolbar-active-fg: #86efac;--placeholder: #64748b}html,body{width:100%;max-width:100%;min-width:0;height:100%;margin:0;padding:0;overflow:hidden;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:"chws" 1;color:var(--text);-webkit-text-size-adjust:100%}html[data-theme=dark],html[data-theme=dark] body{background:#0f172a}#shell{display:flex;flex-direction:column;width:100%;max-width:100%;min-width:0;height:100%;min-height:100%;overflow:hidden;background:inherit}#toolbar{display:none;flex:0 0 auto;flex-direction:row;align-items:center;gap:4px;width:100%;max-width:100%;min-height:38px;box-sizing:border-box;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--toolbar-bg);overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:relative;z-index:5}#toolbar::-webkit-scrollbar{display:none}#toolbar.editor-mode{display:flex}#toolbar button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:36px;min-height:32px;margin:0;padding:0;border:1px solid transparent;border-radius:999px;background:transparent;font-size:14px;font-weight:600;line-height:1;color:var(--toolbar-fg)}#toolbar button:active,#toolbar button.is-active{border-color:var(--toolbar-active-border);background:var(--toolbar-active-bg);color:var(--toolbar-active-fg)}#toolbar button:disabled{opacity:.38}#toolbar button:disabled:active{border-color:transparent;background:transparent;color:var(--toolbar-fg)}#editor{flex:1 1 auto;min-height:0;min-width:0;width:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.edgeever-prose,.tiptap,.ProseMirror{outline:none;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:100%;padding:12px 16px 48px;line-height:1.5;word-break:break-word;overflow-wrap:break-word;font-feature-settings:"chws" 1;caret-color:#0f766e}.edgeever-prose>p,.ProseMirror>p{margin:0 0 10px}.edgeever-prose p.is-editor-empty:first-child:before,.ProseMirror p.is-editor-empty:first-child:before{color:var(--placeholder);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.ProseMirror ul[data-type=taskList]{margin:0 0 1rem;padding-left:0;list-style:none}.ProseMirror ul[data-type=taskList] li[data-checked]{display:flex;align-items:flex-start;gap:9px;margin:4px 0}.ProseMirror ul[data-type=taskList] li[data-checked]>label{display:inline-flex;flex:0 0 auto;align-items:center;margin-top:3px;-webkit-user-select:none;user-select:none}.ProseMirror ul[data-type=taskList] li[data-checked]>label input{width:18px;height:18px;margin:0;accent-color:#1a1d21}.ProseMirror ul[data-type=taskList] li[data-checked]>div{min-width:0;flex:1 1 auto}.ProseMirror ul[data-type=taskList] li[data-checked]>div>p{margin-bottom:0}.ProseMirror ul[data-type=taskList] li[data-checked=true]>div>p{color:var(--placeholder);text-decoration:line-through;transition:color .15s ease,text-decoration .15s ease}.ProseMirror ul[data-type=taskList] ul[data-type=taskList]{margin:4px 0 0;padding-left:24px}.edgeever-prose img,.ProseMirror img{max-width:100%;height:auto;border-radius:8px;display:block;margin:12px 0}.edgeever-image-node{position:relative;display:block;box-sizing:border-box;width:var(--ee-image-width, 100%);max-width:100%;margin:14px auto;line-height:0;-webkit-user-select:none;user-select:none;background:transparent}.edgeever-image-node.has-width{max-width:min(100%,var(--ee-image-width, 100%))}.edgeever-image-node.is-loading,.edgeever-image-node.is-failed{min-height:120px;overflow:hidden;border-radius:10px;background:#f1f5f9}.edgeever-image-loading{display:flex;min-height:120px;align-items:center;justify-content:center;gap:10px;padding:16px;color:#64748b;font-size:13px;font-weight:600;line-height:1.3}.edgeever-image-loading[hidden]{display:none}.edgeever-image-loading-label{text-align:center}.edgeever-image-node>img{display:block;width:100%;max-width:100%;height:auto;margin:0!important;border-radius:10px;vertical-align:top}.edgeever-image-node>img[hidden]{display:none}[data-edgeever-image-gallery]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin:14px 0}[data-edgeever-image-gallery][data-image-gallery-layout="3"]{grid-template-columns:repeat(2,minmax(0,1fr))}[data-edgeever-image-gallery][data-image-gallery-layout="1"]{grid-template-columns:minmax(0,1fr)}[data-edgeever-image-gallery]>.edgeever-image-node,[data-edgeever-image-gallery]>img{width:100%!important;min-width:0;height:100%;min-height:112px;max-height:220px;margin:0!important;overflow:hidden;border-radius:10px;background:#f1f5f9}[data-edgeever-image-gallery]>.edgeever-image-node>img,[data-edgeever-image-gallery]>img{width:100%;height:100%;min-height:112px;max-height:220px;object-fit:cover}.edgeever-image-node.is-selected,.edgeever-image-node.ProseMirror-selectednode{outline:2px solid #0f766e;outline-offset:3px;background:transparent!important;box-shadow:none!important}.edgeever-image-node.is-selected>img,.edgeever-image-node.ProseMirror-selectednode>img{outline:none}.ProseMirror-selectednode{background:transparent!important}.edgeever-image-node::selection,.edgeever-image-node *::selection{background:transparent}.edgeever-image-actions{position:absolute;right:8px;bottom:8px;z-index:5;display:inline-flex;width:42px;height:42px;-moz-appearance:none;appearance:none;-webkit-appearance:none;align-items:center;justify-content:center;border:1px solid #cbd5e1;border-radius:999px;background:#ffffffeb;color:#334155;font-size:24px;font-weight:700;line-height:1;box-shadow:0 3px 12px #0f172a33;padding:0;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.edgeever-image-actions[hidden]{display:none}.edgeever-image-size-controls{position:absolute;top:8px;left:50%;z-index:5;display:flex;width:max-content;max-width:calc(100% - 16px);align-items:center;gap:3px;transform:translate(-50%);border:1px solid #bbf7d0;border-radius:9px;padding:4px;background:#fffffff5;box-shadow:0 8px 24px #0f172a33;line-height:1.15;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none}.edgeever-image-size-controls[hidden]{display:none!important}.edgeever-image-size-button{display:inline-flex;min-width:52px;min-height:38px;-moz-appearance:none;appearance:none;-webkit-appearance:none;align-items:center;justify-content:center;border:0;border-radius:7px;padding:4px 7px;background:transparent;color:#475569;font:inherit;font-size:12px;font-weight:700;pointer-events:auto;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:pointer}.edgeever-image-size-button.is-active{background:#ccfbf1;color:#0f766e}.edgeever-image-upload-spinner{width:18px;height:18px;border:2px solid #cbd5e1;border-top-color:#0f766e;border-radius:999px;animation:edgeever-image-upload-spin .8s linear infinite}@keyframes edgeever-image-upload-spin{to{transform:rotate(360deg)}}html[data-theme=dark] .edgeever-image-node.is-loading,html[data-theme=dark] .edgeever-image-node.is-failed{background:#1e293b}html[data-theme=dark] .edgeever-image-actions{border-color:#475569;background:#0f172ae6;color:#e2e8f0}html[data-theme=dark] .edgeever-image-size-controls{border-color:#475569;background:#0f172af5}html[data-theme=dark] .edgeever-image-size-button{color:#cbd5e1}html[data-theme=dark] .edgeever-image-size-button.is-active{background:#134e4a;color:#99f6e4}.edgeever-prose code,.ProseMirror code{border:1px solid #e1e5ea;border-radius:4px;background:#f3f5f7;color:#3d4450;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em;font-weight:550}.edgeever-prose pre code,.ProseMirror pre code{border:0;background:transparent;padding:0;color:inherit;font-weight:400}.edgeever-prose pre,.ProseMirror pre{background:var(--code-bg);border:1px solid var(--border);padding:10px 12px;border-radius:8px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.edgeever-prose a,.ProseMirror a{color:#404040;font-weight:500;text-decoration:underline;text-decoration-color:#40404073;text-underline-offset:2px;cursor:pointer}.edgeever-prose a:active,.ProseMirror a:active{color:#0a0a0a;text-decoration-color:#0a0a0a}html[data-theme=dark] .edgeever-prose a,html[data-theme=dark] .ProseMirror a{color:#cad4ce;text-decoration-color:#cad4ce73}html[data-theme=dark] .edgeever-prose a:active,html[data-theme=dark] .ProseMirror a:active{color:#eef3f0;text-decoration-color:#eef3f0}.edgeever-prose a.edgeever-attachment-link,.ProseMirror a.edgeever-attachment-link,.edgeever-prose a[href*="/api/v1/resources/"],.ProseMirror a[href*="/api/v1/resources/"]{display:flex;min-width:0;max-width:100%;min-height:48px;align-items:center;gap:8px;margin:6px 0;overflow:hidden;border:1px solid #cbd5e1;border-radius:10px;padding:7px 10px;background:#f8fafc;color:#1e293b;font-size:.93rem;font-weight:700;line-height:1.3;text-decoration:none}.edgeever-prose a.edgeever-attachment-link:before,.ProseMirror a.edgeever-attachment-link:before,.edgeever-prose a[href*="/api/v1/resources/"]:before,.ProseMirror a[href*="/api/v1/resources/"]:before{display:inline-flex;width:30px;height:30px;flex:0 0 30px;align-items:center;justify-content:center;border-radius:8px;background:#f1f5f9;color:#64748b;content:"FILE";font-size:8px;font-weight:800;letter-spacing:-.2px}.edgeever-prose a.edgeever-attachment-link:after,.ProseMirror a.edgeever-attachment-link:after,.edgeever-prose a[href*="/api/v1/resources/"]:after,.ProseMirror a[href*="/api/v1/resources/"]:after{margin-left:auto;flex:0 0 auto;color:#64748b;content:attr(data-attachment-meta) " ⋯";font-size:11px;font-weight:600;white-space:nowrap}.edgeever-prose a.edgeever-attachment-kind-image:before,.ProseMirror a.edgeever-attachment-kind-image:before{background:#ecfdf5;color:#10b981;content:"▧";font-size:20px}.edgeever-prose a.edgeever-attachment-kind-audio:before,.ProseMirror a.edgeever-attachment-kind-audio:before{background:#f0f9ff;color:#0ea5e9;content:"♪";font-size:21px}.edgeever-prose a.edgeever-attachment-kind-video:before,.ProseMirror a.edgeever-attachment-kind-video:before{background:#fff1f2;color:#f43f5e;content:"▶";font-size:15px}.edgeever-prose a.edgeever-attachment-kind-pdf:before,.ProseMirror a.edgeever-attachment-kind-pdf:before{background:#fff1f2;color:#e11d48;content:"PDF"}.edgeever-prose a.edgeever-attachment-kind-spreadsheet:before,.ProseMirror a.edgeever-attachment-kind-spreadsheet:before{background:#f0fdf4;color:#16a34a;content:"XLS"}.edgeever-prose a.edgeever-attachment-kind-document:before,.ProseMirror a.edgeever-attachment-kind-document:before{background:#eff6ff;color:#2563eb;content:"DOC"}.edgeever-prose a.edgeever-attachment-kind-presentation:before,.ProseMirror a.edgeever-attachment-kind-presentation:before{background:#fff7ed;color:#f97316;content:"PPT"}.edgeever-prose a.edgeever-attachment-kind-archive:before,.ProseMirror a.edgeever-attachment-kind-archive:before{background:#fffbeb;color:#d97706;content:"ZIP"}.edgeever-prose a.edgeever-attachment-kind-code:before,.ProseMirror a.edgeever-attachment-kind-code:before{background:#faf5ff;color:#8b5cf6;content:"</>"}.edgeever-prose a.edgeever-attachment-kind-text:before,.ProseMirror a.edgeever-attachment-kind-text:before{background:#f1f5f9;color:#64748b;content:"TXT"}.edgeever-prose a.edgeever-attachment-kind-apk:before,.ProseMirror a.edgeever-attachment-kind-apk:before{background:#ecfdf5;color:#059669;content:"APK"}.edgeever-prose a.edgeever-attachment-kind-exe:before,.ProseMirror a.edgeever-attachment-kind-exe:before{background:#f0f9ff;color:#0284c7;content:"EXE"}.edgeever-prose a.edgeever-attachment-kind-dmg:before,.ProseMirror a.edgeever-attachment-kind-dmg:before{background:#f5f3ff;color:#7c3aed;content:"DMG"}.edgeever-prose a.edgeever-attachment-kind-linux:before,.ProseMirror a.edgeever-attachment-kind-linux:before{background:#fff7ed;color:#ea580c;content:"LINUX"}.edgeever-prose a.edgeever-attachment-kind-executable:before,.ProseMirror a.edgeever-attachment-kind-executable:before{background:#ccfbf1;color:#0d9488;content:"BIN"}.edgeever-prose a.edgeever-attachment-kind-book:before,.ProseMirror a.edgeever-attachment-kind-book:before{background:#fef3c7;color:#b45309;content:"BOOK"}.edgeever-prose a.edgeever-attachment-kind-font:before,.ProseMirror a.edgeever-attachment-kind-font:before{background:#e0e7ff;color:#4f46e5;content:"FONT"}.edgeever-prose a.edgeever-attachment-kind-diskimage:before,.ProseMirror a.edgeever-attachment-kind-diskimage:before{background:#cffafe;color:#0891b2;content:"ISO"}.edgeever-prose a.edgeever-attachment-kind-database:before,.ProseMirror a.edgeever-attachment-kind-database:before{background:#fae8ff;color:#c026d3;content:"DB"}.edgeever-prose a.edgeever-attachment-kind-design:before,.ProseMirror a.edgeever-attachment-kind-design:before{background:#fdf2f8;color:#db2777;content:"DESIGN"}.edgeever-prose a.edgeever-attachment-kind-model3d:before,.ProseMirror a.edgeever-attachment-kind-model3d:before{background:#eff6ff;color:#2563eb;content:"3D"}.edgeever-prose a.edgeever-attachment-kind-script:before,.ProseMirror a.edgeever-attachment-kind-script:before{background:#ecfdf5;color:#059669;content:"SHELL"}.edgeever-prose a.edgeever-attachment-kind-log:before,.ProseMirror a.edgeever-attachment-kind-log:before{background:#f4f4f5;color:#71717a;content:"LOG"}.edgeever-prose a.edgeever-attachment-kind-certificate:before,.ProseMirror a.edgeever-attachment-kind-certificate:before{background:#fefce8;color:#ca8a04;content:"KEY"}.edgeever-prose a.edgeever-attachment-kind-diagram:before,.ProseMirror a.edgeever-attachment-kind-diagram:before{background:#f0fdfa;color:#0d9488;content:"DIAG"}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-link,html[data-theme=dark] .ProseMirror a.edgeever-attachment-link,html[data-theme=dark] .edgeever-prose a[href*="/api/v1/resources/"],html[data-theme=dark] .ProseMirror a[href*="/api/v1/resources/"]{border-color:#334155;background:#172033;color:#f1f5f9}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-link:after,html[data-theme=dark] .ProseMirror a.edgeever-attachment-link:after{color:#94a3b8}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-image:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-image:before{background:#064e3b;color:#6ee7b7}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-audio:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-audio:before{background:#0c4a6e;color:#7dd3fc}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-video:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-video:before,html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-pdf:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-pdf:before{background:#881337;color:#fda4af}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-spreadsheet:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-spreadsheet:before{background:#14532d;color:#86efac}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-document:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-document:before{background:#1e3a8a;color:#93c5fd}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-presentation:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-presentation:before{background:#7c2d12;color:#fdba74}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-archive:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-archive:before{background:#713f12;color:#fde68a}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-code:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-code:before{background:#581c87;color:#d8b4fe}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-text:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-text:before{background:#334155;color:#cbd5e1}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-apk:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-apk:before{background:#064e3b;color:#6ee7b7}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-exe:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-exe:before{background:#0c4a6e;color:#7dd3fc}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-dmg:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-dmg:before{background:#4c1d95;color:#c4b5fd}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-linux:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-linux:before{background:#7c2d12;color:#fdba74}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-executable:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-executable:before{background:#134e4a;color:#5eead4}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-book:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-book:before{background:#78350f;color:#fcd34d}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-font:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-font:before{background:#312e81;color:#a5b4fc}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-diskimage:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-diskimage:before{background:#164e63;color:#67e8f9}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-database:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-database:before{background:#701a75;color:#f0abfc}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-design:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-design:before{background:#831843;color:#f472b6}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-model3d:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-model3d:before{background:#1e3a8a;color:#93c5fd}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-script:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-script:before{background:#064e3b;color:#6ee7b7}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-log:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-log:before{background:#27272a;color:#a1a1aa}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-certificate:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-certificate:before{background:#713f12;color:#fde047}html[data-theme=dark] .edgeever-prose a.edgeever-attachment-kind-diagram:before,html[data-theme=dark] .ProseMirror a.edgeever-attachment-kind-diagram:before{background:#134e4a;color:#5eead4}.edgeever-prose .edgeever-unsupported-content,.ProseMirror .edgeever-unsupported-content{border:1px dashed #94a3b8;border-radius:8px;background:#f8fafc;color:#475569;font-size:12px;font-weight:600}.edgeever-prose .edgeever-unsupported-content--block,.ProseMirror .edgeever-unsupported-content--block{display:block;margin:8px 0;padding:12px}.edgeever-prose .edgeever-unsupported-content--inline,.ProseMirror .edgeever-unsupported-content--inline{display:inline-block;margin:0 2px;padding:2px 6px}.edgeever-prose .edgeever-unsupported-mark,.ProseMirror .edgeever-unsupported-mark{border-bottom:1px dashed #64748b}html[data-theme=dark] .edgeever-prose .edgeever-unsupported-content,html[data-theme=dark] .ProseMirror .edgeever-unsupported-content{border-color:#64748b;background:#1e293b;color:#cbd5e1}html[data-theme=dark] .edgeever-prose .edgeever-unsupported-mark,html[data-theme=dark] .ProseMirror .edgeever-unsupported-mark{border-bottom-color:#94a3b8}.ProseMirror hr{margin:1.5rem 0;border:0;border-top:1px solid #cbd5e1}.ProseMirror hr.edgeever-merge-divider,.ProseMirror hr[data-edgeever-merge-divider]{margin:1.5rem 0;height:0;border:0;border-top:2px solid #cbd5e1;background:transparent}html[data-theme=dark] .ProseMirror hr,html[data-theme=dark] .ProseMirror hr.edgeever-merge-divider,html[data-theme=dark] .ProseMirror hr[data-edgeever-merge-divider]{border-top-color:#475569}.edgeever-prose blockquote,.ProseMirror blockquote{margin:.5em 0;padding:6px 12px;border-left:3px solid #cbd5e1;border-radius:1px 4px 4px 1px;background:#f3f5f7;color:#3d4450}html[data-theme=dark] .edgeever-prose blockquote,html[data-theme=dark] .ProseMirror blockquote{border-left-color:#475569;background:#ffffff0d;color:#f8fafc}html[data-theme=dark] .edgeever-prose code,html[data-theme=dark] .ProseMirror code{border-color:#ffffff1f;background:#ffffff0f;color:#f8fafc}html[data-theme=dark] .edgeever-prose pre code,html[data-theme=dark] .ProseMirror pre code{border:0;background:transparent;color:inherit}.edgeever-prose .tableWrapper,.ProseMirror .tableWrapper{--mobile-table-column-width: clamp(4.5rem, 24cqi, 12rem);container-type:inline-size;display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;margin:10px 0;border:1px solid var(--border);border-radius:6px;background:var(--toolbar-bg);box-shadow:0 1px 3px #0000000a}.edgeever-prose table,.ProseMirror table{border-collapse:separate;border-spacing:0;width:100%;min-width:100%;max-width:none;table-layout:fixed}.edgeever-prose table:has(>colgroup>col:first-child:last-child),.ProseMirror table:has(>colgroup>col:first-child:last-child){--mobile-table-column-width: 100cqi}.edgeever-prose table:has(>colgroup>col:first-child:nth-last-child(2)),.ProseMirror table:has(>colgroup>col:first-child:nth-last-child(2)){--mobile-table-column-width: 50cqi}.edgeever-prose table:has(>colgroup>col:first-child:nth-last-child(3)),.ProseMirror table:has(>colgroup>col:first-child:nth-last-child(3)){--mobile-table-column-width: calc(100cqi / 3)}.edgeever-prose table:has(>colgroup>col:first-child:nth-last-child(4)),.ProseMirror table:has(>colgroup>col:first-child:nth-last-child(4)){--mobile-table-column-width: 25cqi}.edgeever-prose table:has(>colgroup>col:first-child:nth-last-child(n+5)),.ProseMirror table:has(>colgroup>col:first-child:nth-last-child(n+5)){width:max-content;--mobile-table-column-width: clamp(4.5rem, 24cqi, 10rem)}.edgeever-prose table:not(:has(colgroup)),.ProseMirror table:not(:has(colgroup)){table-layout:auto;width:100%;min-width:100%}.edgeever-prose table col,.ProseMirror table col{width:var(--mobile-table-column-width)!important;min-width:var(--mobile-table-column-width)!important}.edgeever-prose th,.ProseMirror th{background:var(--code-bg);font-weight:600}.edgeever-prose th,.edgeever-prose td,.ProseMirror th,.ProseMirror td{position:relative;width:var(--mobile-table-column-width, auto);min-width:var(--mobile-table-column-width, 3.5rem);border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:6px 8px;text-align:left;vertical-align:top;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.4}.edgeever-prose th:last-child,.edgeever-prose td:last-child,.ProseMirror th:last-child,.ProseMirror td:last-child{border-right:0}.edgeever-prose tr:last-child td,.ProseMirror tr:last-child td{border-bottom:0}.edgeever-prose h1,.edgeever-prose h2,.edgeever-prose h3,.edgeever-prose h4,.edgeever-prose h5,.edgeever-prose h6,.ProseMirror h1,.ProseMirror h2,.ProseMirror h3,.ProseMirror h4,.ProseMirror h5,.ProseMirror h6{line-height:1.25}.edgeever-prose h4,.ProseMirror h4{font-size:1.05rem;font-weight:650}.edgeever-prose h5,.ProseMirror h5{font-size:1rem;font-weight:650}.edgeever-prose h6,.ProseMirror h6{font-size:.95rem;font-weight:650}.edgeever-mermaid{overflow-x:auto;margin:10px 0;padding:4px;border-radius:8px;background:var(--code-bg)}.edgeever-mermaid svg{display:block;max-width:none;max-height:none;margin:0 auto}#editor.edgeever-diagram-reader-host{display:flex;flex-direction:column;overflow:hidden}.edgeever-diagram-reader-controls{flex:0 0 auto;padding-left:16px;padding-right:16px}.edgeever-x6-diagram{flex:1 1 auto;width:auto;height:auto;min-height:240px;margin:0 16px 16px;overflow:hidden;border:1px solid #e3ece7;border-radius:14px;background:#f8fafb;touch-action:none}.edgeever-x6-diagram .x6-node{cursor:pointer}html[data-theme=dark] .edgeever-x6-diagram{border-color:#26382f;background:#191e1b}body.viewer-mode #toolbar{display:none!important}.edgeever-image-document{width:768px;padding:40px 28px 32px;background:#f8fafc;color:#172033;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.edgeever-image-card{min-height:1px;padding:40px 36px 32px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#172033}.edgeever-image-title{margin:0 0 14px;color:#0f172a;font-size:36px;font-weight:760;letter-spacing:-.02em;line-height:1.24;overflow-wrap:anywhere}.edgeever-image-meta{margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.edgeever-image-content{font-size:17px;line-height:1.82}.edgeever-image-content,.edgeever-image-content .tiptap{min-height:0!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#172033!important}.edgeever-image-content h1,.edgeever-image-content h2,.edgeever-image-content h3,.edgeever-image-content h4,.edgeever-image-content h5,.edgeever-image-content h6{color:#0f172a!important}.edgeever-image-content pre{background:#f1f5f9!important;color:#172033!important}.edgeever-image-content code{color:inherit!important}.edgeever-image-content blockquote{color:#475569!important;border-color:#94a3b8!important}.edgeever-image-content table,.edgeever-image-content th,.edgeever-image-content td{border-color:#cbd5e1!important;color:#172033!important}.edgeever-image-content th{background:#f8fafc!important}.edgeever-image-brand{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:40px;border-top:1px solid #e2e8f0;padding-top:20px;color:#64748b;font-size:13px;font-weight:650;letter-spacing:.01em}.edgeever-image-brand-mark{width:9px;height:9px;border-radius:3px;background:#16a06e}.edgeever-image-brand-name{color:#07130b;font-weight:760}@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBBAE0AUwBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8AQQBNAFMALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAEEATQBTAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AQQBNAFMALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAEAAgADACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQBOAQIAlgCKAOoBAwDYANkBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaARsBHAEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsAS0BLgEvATABMQEyATMBNAE1ATYBNwE4ATkA7wE6ATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoApwFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswC5AbQBtQG2AbcBuAG5AboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3AHdAd4HdW5pMDBBMARoYmFyB3VuaTAzMDIJdGlsZGVjb21iB3VuaTAzREQHdW5pMDNGMAd1bmkyMDM1B3VuaTIxMEYHdW5pMjEyNwd1bmkyMTMyB3VuaTIxMzYHdW5pMjEzNwd1bmkyMTM4B3VuaTIxNDEJYXJyb3dsZWZ0CmFycm93cmlnaHQHdW5pMjE5QQd1bmkyMTlCB3VuaTIxOUUHdW5pMjFBMAd1bmkyMUEyB3VuaTIxQTMHdW5pMjFBQgd1bmkyMUFDB3VuaTIxQUQHdW5pMjFBRQd1bmkyMUIwB3VuaTIxQjEHdW5pMjFCNgd1bmkyMUI3B3VuaTIxQkEHdW5pMjFCQgd1bmkyMUJFB3VuaTIxQkYHdW5pMjFDMgd1bmkyMUMzB3VuaTIxQzQHdW5pMjFDNgd1bmkyMUM3B3VuaTIxQzgHdW5pMjFDOQd1bmkyMUNBB3VuaTIxQ0IHdW5pMjFDQwd1bmkyMUNEB3VuaTIxQ0UHdW5pMjFDRgd1bmkyMURBB3VuaTIxREIHdW5pMjFERAd1bmkyMUUwB3VuaTIxRTIHdW5pMjIwMQd1bmkyMjA0CGVtcHR5c2V0B3VuaTIyMEQHdW5pMjIxNAd1bmkyMjE2DHByb3BvcnRpb25hbAVhbmdsZQd1bmkyMjIxB3VuaTIyMjIHdW5pMjIyMwd1bmkyMjI0B3VuaTIyMjUHdW5pMjIyNgl0aGVyZWZvcmUHdW5pMjIzNQdzaW1pbGFyB3VuaTIyM0QHdW5pMjI0MQd1bmkyMjQyB3VuaTIyNDYHdW5pMjI0QQd1bmkyMjRFB3VuaTIyNEYHdW5pMjI1MQd1bmkyMjUyB3VuaTIyNTMHdW5pMjI1Ngd1bmkyMjU3B3VuaTIyNUMHdW5pMjI2Ngd1bmkyMjY3B3VuaTIyNjgHdW5pMjI2OQd1bmkyMjZDB3VuaTIyNkUHdW5pMjI2Rgd1bmkyMjcwB3VuaTIyNzEHdW5pMjI3Mgd1bmkyMjczB3VuaTIyNzYHdW5pMjI3Nwd1bmkyMjdDB3VuaTIyN0QHdW5pMjI3RQd1bmkyMjdGB3VuaTIyODAHdW5pMjI4MQd1bmkyMjg4B3VuaTIyODkHdW5pMjI4QQd1bmkyMjhCB3VuaTIyOEYHdW5pMjI5MAd1bmkyMjlBB3VuaTIyOUIHdW5pMjI5RAd1bmkyMjlFB3VuaTIyOUYHdW5pMjJBMAd1bmkyMkExB3VuaTIyQTgHdW5pMjJBOQd1bmkyMkFBB3VuaTIyQUMHdW5pMjJBRAd1bmkyMkFFB3VuaTIyQUYHdW5pMjJCMgd1bmkyMkIzB3VuaTIyQjQHdW5pMjJCNQd1bmkyMkI4B3VuaTIyQkEHdW5pMjJCQgd1bmkyMkJDB2RvdG1hdGgHdW5pMjJDNwd1bmkyMkM5B3VuaTIyQ0EHdW5pMjJDQgd1bmkyMkNDB3VuaTIyQ0QHdW5pMjJDRQd1bmkyMkNGB3VuaTIyRDAHdW5pMjJEMQd1bmkyMkQyB3VuaTIyRDMHdW5pMjJENAd1bmkyMkQ2B3VuaTIyRDcHdW5pMjJEOAd1bmkyMkQ5B3VuaTIyREEHdW5pMjJEQgd1bmkyMkRFB3VuaTIyREYHdW5pMjJFMAd1bmkyMkUxB3VuaTIyRTYHdW5pMjJFNwd1bmkyMkU4B3VuaTIyRTkHdW5pMjJFQQd1bmkyMkVCB3VuaTIyRUMHdW5pMjJFRAd1bmkyMzIyB3VuaTIzMjMHdW5pMjRDOAhTRjAxMDAwMAhTRjAzMDAwMAhTRjAyMDAwMAhTRjA0MDAwMAd1bmkyNTcxB3VuaTI1NzIJZmlsbGVkYm94BkgyMjA3Mwd0cmlhZ3VwB3VuaTI1QjMHdW5pMjVCNgd0cmlhZ2RuB3VuaTI1QkQHdW5pMjVDMAd1bmkyNjA1B3VuaTI3MTMHdW5pMjcyMAd1bmkyOUVCB3VuaTJBNUUHdW5pMkE3RAd1bmkyQTdFB3VuaTJBODUHdW5pMkE4Ngd1bmkyQTg3B3VuaTJBODgHdW5pMkE4OQd1bmkyQThBB3VuaTJBOEIHdW5pMkE4Qwd1bmkyQTk1B3VuaTJBOTYHdW5pMkFCNQd1bmkyQUI2B3VuaTJBQjcHdW5pMkFCOAd1bmkyQUI5B3VuaTJBQkEHdW5pMkFDNQd1bmkyQUM2B3VuaTJBQ0IHdW5pMkFDQwd1bmlFMDA2B3VuaUUwMDcHdW5pRTAwOAd1bmlFMDA5B3VuaUUwMEMHdW5pRTAwRAd1bmlFMDBFB3VuaUUwMEYHdW5pRTAxMAd1bmlFMDExB3VuaUUwMTYHdW5pRTAxNwd1bmlFMDE4B3VuaUUwMTkHdW5pRTAxQQd1bmlFMDFCAAAAAAEAAf//AA8=) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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I0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrIAAQAqsQAHQrMMBAEKKrEAB0KzEgIBCiqxAAhCugNAAAEACyqxAAlCugBAAAEACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmzDgQBDiq4Af+FsASNsQIARLMFZAYAREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAGUAZQK//+8CFQAAAr//7wIVAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAiAKIAAwABBAkAAgAIAMQAAwABBAkAAwBMAMwAAwABBAkABAAsARgAAwABBAkABQBCAUQAAwABBAkABgAsARgAAwABBAkADQJyAYYAAwABBAkADgA0A/gAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8AQwBhAGwAaQBnAHIAYQBwAGgAaQBjAEIAbwBsAGQARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBDAGEAbABpAGcAcgBhAHAAaABpAGMALQBCAG8AbABkAEsAYQBUAGUAWABfAEMAYQBsAGkAZwByAGEAcABoAGkAYwAtAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAEMAYQBsAGkAZwByAGEAcABoAGkAYwAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAABAAIAAwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0BAgd1bmkwMEEwAAEAAf//AA8=) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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sAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwBENgZCOwBUNhZFBYsARDYRuwBUNgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxMAEUKy2wRyyxADorLrEwARQrLbBILLEAOyshIyAgPLAGI0IjOLEwARQrsAZDLrAwKy2wSSywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSiywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSyyxAAEUE7A3Ki2wTCywOSotsE0ssAAWRSMgLiBGiiNhOLEwARQrLbBOLLAKI0KwTSstsE8ssgAARistsFAssgABRistsFEssgEARistsFIssgEBRistsFMssgAARystsFQssgABRystsFUssgEARystsFYssgEBRystsFcsswAAAEMrLbBYLLMAAQBDKy2wWSyzAQAAQystsFosswEBAEMrLbBbLLMAAAFDKy2wXCyzAAEBQystsF0sswEAAUMrLbBeLLMBAQFDKy2wXyyyAABFKy2wYCyyAAFFKy2wYSyyAQBFKy2wYiyyAQFFKy2wYyyyAABIKy2wZCyyAAFIKy2wZSyyAQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsgABACqxAAdCswwEAQoqsQAHQrMSAgEKKrEACEK6A0AAAQALKrEACUK6AEAAAQALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbMOBAEOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAGQARQBFAsH/6gIVAAACwf/qAhUAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABACIAogADAAEECQACAA4AxAADAAEECQADAFIA0gADAAEECQAEADIBJAADAAEECQAFAEIBVgADAAEECQAGADIBJAADAAEECQANAnIBmAADAAEECQAOADQECgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBDAGEAbABpAGcAcgBhAHAAaABpAGMAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAEMAYQBsAGkAZwByAGEAcABoAGkAYwAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AQwBhAGwAaQBnAHIAYQBwAGgAaQBjAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AQwBhAGwAaQBnAHIAYQBwAGgAaQBjAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAABAAIAAwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0BAgd1bmkwMEEwAAEAAf//AA8=) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8ARgByAGEAawB0AHUAcgAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAF8AAAABAAIAAwAEAAUACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAgACIAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQECALYAtwEDAQQBBQEGAQcBCAEJB3VuaTAwQTAHdW5pRTMwMQd1bmlFMzAyB3VuaUUzMDMHdW5pRTMwNAd1bmlFMzA1B3VuaUUzMDgHdW5pRTMwOQABAAH//wAP) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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IEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrIZAQAqsQAHQrMMCAEKKrEAB0KzFgYBCiqxAAhCugNAAAEACyqxAAlCugBAAAEACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RY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) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAGLsAA4AAAAAybQAAGKQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAhjwIWgmcDBEICoLGeIH6TQE2AiQDiFwLhDIABCAFiGYHjhkMgTIbXaAnxF175HI78Kb8Z553wo1x9jiQOhKMomZRVlmy//8/JekYww39AE2j6j8ky0WRjpFwiFyY86CAwykDjjUChwYd8q3z9AHJlLpPmSGzVKKJ2XoZM+GVtChwW0pH7YMyyekx8ooFtWZfsbo8QxDfEGQ4icXiQsDt6HHDedmvlS1hvd1v+yAZai/1/rqsL/8Q8CYJsv9QS6jxmu/WSU9GimNPFEdGXEbulZTI9mlKtZ2DhqHPqYY3Uc7PWsM5Pu4IjX2SOzw/t97/2/6i/18SSzaithH9WSQ5xqgc9ERoA6VEsUHCSE4sTu+MM+70Qk7PuDLqPL02L70qBt38PgnBQkIgQKCG1mn9mVVOXMcvNow6zXe+Hg89R+3PzB64dyVWwPvSE2/LAw4DTuS4OIJeFoUb7gzltJyRkwPJTgqCwpMQLSvwcAFBs/ubuf4GZCu0iSVj4oCztgNAO9L0Vf5d+4Rn5/2mltTdL2l9KDAkPPY4zMWUSBqlnb11Oe+el2F8x/YdGwILGCxSmjIMNJsDBN9vLX+SmQUS5vS9syVhq8QCkHUFdqr/p1f5V1XTHl8fL4gJgPXBfq+uDBYVkAJfmVS3zw7QgUPjhYR9G9IEpVvfFvUWZZ666svHyQ/eD9tgcX/CwzFvnjKiESah9ZspUzkp8ESkO1UO6JftCwR24PZ2GbtNmN/g9fFP/LsthGJIzVBMie3z5HA4ZhSFDW0A5ewSVatVIKcB9SuFMr9C2Yyzp/keZc44Vh303+918yLvpbjuERojS/MgJEJt4s4B9wu16VZsG58Ei2fQXfnenAD/ac2082YKyRyCKh2rkgd0snJ3NvRnLjnAzRwmpdyVkhLmNkdgi7qywkYVXGWFqTMVwlS6/p+qZTvkalOnvWrdrV2FXHR37tzZTefS5eAPQA7+gAEDUjcYUDII8s4SuLtPBKRnCtQGUSk4xaSlNlIXtU65u+emibFrXXRuW1/Tt/b7ls7u5ObTF7qKlxiz18pc6l5oRZg0ZaAbxUPIWhTKYZRk/tdqdSG5JfFMSKYt//U58zkX76jOmY9gMreIiPdg1sgQWuKxrFU1gcTojUXbeIAQAeu112//30/9dzGj3Xbycow1iIQScsHL6Nqf2nHst77SfVH3F7XrGYWBID0wGGUBHE/zJBIAP7hGANblQz+0BANTSXF6P/Dj1Hd/xJ9xZhWJ0EP2j5J1KJbTkZUBG28UAKCv3A0AGe5TQgTEGw1kdcQK+tX39EOcRgWWY4+9DjrsmDPS//uezz32J9RGbsblpbyWH+cPK11BhTVVMzVXcSlxSIbIaDKeTCzzl8llaplOdlfOlnPlmFwk95PHyLfK98tn5W/Kz8s/kN9WAAVBQVJQFHQFpvBRSBQyhVKhUoQqkhV6hUlhUdgVmQqnokpRq2hWLFUMKVYpNii2KvYpDireU1xW/Kh4oaQrlaoTqtdVb6reVf2o9qgXBj4L/Dvw35DUkKNfyObnATJQ5YM4Ku7iD7iu/h58Bb4HPyCM/619hIMyWEaVYTKRzE8m+4fRw4fk5+Tv4BpgkDtQBV/hf+7A42sUTYolikHFyroxxUu4gB/MfnGKUvGslWqIBfrTzvn2/wua+a9/dmb67JmTr760ad3KbjveJn3kw+95t+c+22t5TFrZinpbXE9dtVVn7vO11lht2KAmHBgDeeG3LZfTTjnphCMOm3XIAfvtM2mTURutt9oqPbq08ShTIk+udA4RwlGQx4uRHLHFnNTw+kzfXsoSlbDdbnEo+AOQ0hFNu/ggAK9Yf/Y/d8FGRaLhlncWfo8Nb16Z+uiNTcRh/923O6P+JEMDJbgVJga8Pwb25Xtq1z8DN9bYfYxL5FsPRJ5ODDHkxUJ2nPcE9whWMh4AlFXUihBMy7IignjxFRWg31PmL53Slh4RoxY032ppNVdE/LoCqRGxTT3xxWpAjQajMhve8ILuwV44vbyBs0t08JIn08p+cDXs2iAT2hjBXUowYEBaT6TVOtuhB390eLv8c+gmxsliQm03+MoZt/mvgMrlu1n36sXdPtGSO4vzO4+GAs3Us6utGs3lJzhRIj9mYYn8dz0JsWOEqRjJIr9FtlQ0KxtB5KRcEFwPBBfmtg+50/k4GR+nY0cW0vBYlee1s/pkhOEs9MQeAyVFraIKTEDsqR9DnV3A0JQG+s77cl4ehdbXFEnERe8pWsBVx207XCii0jWpdv3DD07k9OtDijIZbRHn7RA7l+YWxLyBJ9cB0VFibcf1KuqgydEAUIiJMds0FRCML5CIekvCvqLe7bQJIO22uTjG8vzZmPRJMfDiuLgVwWDOyWqiaz5piLU0iRxqwIchUkjsMbiQi4q+pyWoBYNe9Ldy0luKimed8fXvhK3rsvlFDiw7ITY4c7s9NiPKbhe8E29rnno4Cmrs8mVNs6KDjgM057u1jV2ZmgC13HXhxIq49GA9clscY3mRi0qXEfmpOmUq+tsXeP81FDwY212yoawqeni/Hd5/WeE63x3znt5HAYLfuNgyhFXphrkTI9fC93JOD+GigIqPWPquSnzX+W/dZNPpenlTqBwnI8iw7GDayDlrqTKEAYFaSfgOLQBcsDEhCY5+YUr7v7QApwq0+zVQmGJC25TMiIoiHkXLp4ErF0RVvSf+/oS1+BMl/4m1O6Z7JQoIomLo8pBEeUQqeYVU85jU8iqp5zXSyOskzhskyZtTJYT6odTK+69BUBO+3lJou3HQclKOfdx7eLI99vl5S3GKk/CxTVgPdgEUFPmGDClyKAoomlC0oGhD0YGiC0UPij40OwKaZGXj/MiooBVfO2zDCTdAHOVrdYIMj453j8/LFMAMkYwkrcud+sql6DwnM3MnKvbYbrYdxGm3qGlhEu6bh868b1Yub20AT1BPbuIUbLNrLyAMHMuKIiD/QZkZv5D1spECPz8vW0CDGXZFsOI/oIrbqK80FXe6UUdFo7R3FwWJdNSNJihuKdNv89/7tsYJYcfd4/aaDjsJLlxc0917IJDf4exi/7AuqlDx97U42s0jA5q8Ay9kv4baVJVaVFCkHj69P+k9uQx7WM+nbovz+arpvWyHELlQVjKNvCVvqhjv6cxHpH0wYy9UmXo2PDc5xHgvN1DdT4LKWVmmad11mnD6aOURWnidERMUsEXEGAhf9WQHdtDEeQvybiubdS96lR1uc/mABhtCXc2gpFlPnzz0SGR8CrBBiGD5SMwcMUmm0fPdDDUa8a64i8BUwq2u5sGmt89bzAAum+lWpNDSvXx8DMQXDjA+uRnobiG86gRSAwRSe/uQoXNzC2isLpPkjzL3Xbzk3HXbL/VWrPxxr8C92Fh2De5HTrXJr9cz73TrosaaE01OeUDmppNJV4m0N92Gw/mCBrWsmw5Po5A61O5rnc7/FbMMBn/gPgz1l42sO58rY94wsjMzYC8IobOBM4x5mTovlnAf5/qDm/zwAG7diQtSaKt7IedvXUAB0BviNiYu5mn3V18i8PVdQY1pLipRw5eRzM6De+ZdwQDAtMFVjgc2kBCGnB7Jsc/HCthEQphy+TPsESckzAVsUQFhKeiVCk987YHegAfYCnpnD7t8r/YYlhAETotyHHBJAZMlBIUzKibscM3b1zp4AEMwJiiAJdA2eABHuOeiEB8849WGyLf7fBR00OMeQzFOEiYF5CoCODFAJT1iBinlUcbLcgiO6BAeqSNAnQDpeZ6ULixdWbqx9BqCegOod0D6AZPRJ0dfHH1z9BOC+gWoP8Dx/5jwaz2r7aO2NuDG8XMQ77yZjmgMqWx3qwfqe6oEAQjsxmYg1UF7huADxR4fjnkC9DcApwQAEL7BDDz1FZg3hrAWcSCtKMZqcT0PAg+VJDYrTRq7GMCLeFG6XgrM4+iEYhQOFOjJABLvVyKsuFwa23oFT/A80NKSGkFEAMWNB0mUsgKPB1ETa1iVcraxYhZKTBSoF78oDZePhaD9q4vCvlWvP3euEDJxzP/2y7bdqOfLIsPClVH1+GyqXhz7kzbnw8AWdpYw2tig19hYjyk5CpzN8sYkKNe1eVmVDWczsU74rXbZvrYcbhiuwfGG3XDKgeiQ4QXV8Xat0GoehDe2pdeyE16e6R4Obyx2Nq5b1/KXBrUC1+nWL+rToWtfWZiCMprZNDwl+o7Z5BwLp+q4Ts555hMZ0F5Io/hkp8+saw8wjht1c/bamaV4TDJ7vL6ypNf4f+Sv9mQyPHv+YI+eYX9zkefZE784Xly9bJ8XDWNLNve5L8zdfVa67llhiM5m0JNBy2Iirg77B73BsddjdDBu54wKh3l5UAli+LmXndFw5A9pP4m9OpVepBNdi4gRWYSTiPGI0qqT+vXA5NtGSoQhnIiFobB5UfOZV/DEekZNHJTNfuVc1Wlb72lUHc0vXThzNVme7rIO8y3Vws5cCkZGL6Jb2FMBBtwnlFAkxj/+XPx4HqeAk8lTP06cw3aAPClo+u8Uwq+VGEaQCpI3/U4knoCYCK3FEN1whOfxpTM5J9xHYI+Di/Bx8n3Ur21FgJbXTd+2ybLMS1ymObOG8f+mAjP9pGCSKWCnhgnOZGi9KcKG5cWpsQfxlndxQgPg1XAiS8BJNBfvhuzRHTHBGs06cBzJANFrBA3qHA1dyLQpATq/yIJoJnG3GRTRqxW/OEAybMvPgCcgKkjdd5D129htiYywVehBhNB/4HxcEF5cRooGQKCOXdGGbC97tXm7622lZK6ZvvjPMOctJqP4KrzqANEdYVqJtJxH6jU6NBg2NwB65c7J252mX3aJfS0kYDGARSZsJOPFpkRySzikJlTXCu1HIp08CtQ5qs93sJfbqcGzzGyFFMJNgaggx+E0NJWn6FqUEUp2aiX4kYdCkb47ZAoSM0guhTNx5OSut9HqZW+zQj3QMxqMr+l+fByi4GFgFdmtdYWXHPc0lpIwhUzOkCfAgnfvAjSJVhF3kvBwBuiAsXiIHWAgw4VfDCwSJIMcFu55eicHkULTdtWXk7VyBfFZwbcbxHAO6WnmrII5UODqgmG5ba2X5Y1WDx8n9P79ygBpgov/xzGh40BBu3AZ4hm9WEiW/KA1WwD5pRvYNaFCHqRg1nf9DU2HBkToBzlNlDOhX/qcjgFM/yRSNYeE2h720tOqXWBNTdTEJzHhohAND8MEaZuAAUScqkL7DZHEJbQLHGndRF9Ip5gDM1bStQn45VDsrQVWdLLV9MMRdvHW/vK4V85G5XSSy+FnD7IbqfX0IaVTn7xGGlw2Cz3FHYekEsqnQGxkE0ZGClc1Fy6htI+HVYh33oGwqSHWQJpLqejC8tW4CCenldCI5NUwgkGEIMfXeQZ47FR9eb/peIxkR4OiCZBWTb3Krpwn2boxcJI2PUVysVMa2OOFiAbSh/4gLwBdYAm7MITDt2USeO/xhsrRJaE2aFDMJnACi7JF5NBbYhhSlkgRiBkyE6PuwTTpmi/2/TMrTKvvzJU1mBGhFeXYKWTzNcTgS9gDlDE5mvJCv527RDZu66gIu6PK2wpiUtMqgt1e7qlrTsg9IBcg/wLP/MJxYF8T4ceKf+1g+XgEa5QEs4l7q2prscoG5KEtapJGVHM7KcxA4CSiru2asFCgLv2SP4biy39XoBfEz3+OWy2S2fTFj376U8rMt5rwCUPlu39QNP6PhYdOh9qaGjXnTOL6r5Q9i1mqJuY87LX1Ec2rbOXRvEDBj87Ck5BSTcjQEONIWmcNBkCf2jdZ5T1B+DO2xQTAC85LFAJqdEZjkKaOMDXnPvZCitTNs0x/PN7zFihqolHniAAtbdxDqm0B8+rYC3IciUhQEvJjLrgoMP+HAE6AVnCWwP3g6/XXLpIb/cozXNQHB9ibU8yV5xk97LrVYLYoPsrgl9DZZo4CYMWVREYBaT99U3l6FgszvC5ePsViAYAmC47AZt32NSQhvyATbK5Um/ZsoEJMkJQfiEEj4Yn7g2gnRksGqroqJ9NHr0/7j6dLoaHpcGp3JG7WNYN4PW01J/Dkvj3q70qHwyDjUNAgZ6lrxCiAb4pLsmNUMHu3OSnjtvzZU72BBk/cCBOQwtXCFX62GeyVEbWmcjw4b8O2nK7ENHCdkxH2pdSRUbrSMjLw7qhxWc+Qh3r2q/ngHxsGFkFlshpYim/zYG6k/KillSaE18f9R3CK75qi8fkN+L5upW6AvtqaUF7KR1fMVfgN8pLgzC5Huk088NtrPka30XeCAs+MgFH3jGFzlWPkeJK0fOOcxfbJUU+pA9zJTUF8IwnG6G84X/8ZSWFfVVwZJMP6lzRjX1nS0O4RTdhfzjeOPWiAmOK5MWlLsZQyYmJzKh5hIJGrKFuUjlgy0hpxXI64UoqKWEgvxrnS17uhqhHvRxqvkAz42NeRjLJlfjcbkU7jS+QrKaQw62EmLir3yNawsLVXKwFnpXVTPLw28bUkc9xM/cZpX3kCyU9pCXsYvAmdTbGhFCfFLP+BDm5MhsSKDx+3Gyn583mQZHBWjLKaAWJrKHTA6QiVn95K7qlV6TIXKSpc8ZSiaq20XtGsLgZ5C8QKaJK9DUyFmUNPSbccjcjgaGGd4pCYyZz+dBedY3pwGDggDabVC71xL8OKQ158oB1UtgRov1gYGDoYl3ffK+GQW1vAoYnFslUi94sc5yNVL4OYus1dY2y264ZCr8HT+d8wvmMPng0UI89STzDd+CcREGpEciSvidzKnxmDvaf2F/wTk1kYkM45oj7iqeJNhd4mVQKBN8bjnwYsSk6Ve+FvKcW861sB5ntjWpVbhbxsMdOx6AApQAFTqdwfVf20/xswIaYfJ/E6qqF9aDw79wkYPGVP1NOYaq5xloKsHzcAemwF/gomsQPzMzOUjSEF0f9i0HhMh8bjRS/jWKeRVn16xXWks6A3DHz48OGJoHljEjP3OpQyIDo7RMuq0y+ZgekLsLdAjk3E9ugt/pTusYdpWi7pxbxsIzUFHLB1nf9wtegL9cx9VkYBv7aMtMIEk13sW4UhpB/ztF4UYUY6OcuhyKKNT7cqhaxXzC8ZAQnpPE6Uh7V7tDTV66BL+zwSLOaFI0cKUXGmB1EX3uidS0dRv/feMQkKFjjj5h4dUrtQAMuRgrwV6s5oJmeWXNiwm2xOkY76gyJQBgu0xC3hC5w5T5FR/FlWJ6aFb+dRoEU0W0V+jWNvP0nPI+w2axub9oExpIlgmQuCSYWwb0OAzhukdgoItxgQFLfKbxhrUv2DTOvfQAyD1WyyiIII17FLBWTDizGiu61YbafYPU1IJI4RDyeQzr4SziRKMqzhGv8BoBDe3c6jIsOa/w1Ffw8FNZdWea18JBexZn/zwC8hkvYbzP8JYOFFrcUWqzm+qNujT9IVydsY/1hOoRB9KSGwoFsP3MLxaWW4wq4rAd9XOLrVZxSa25t8ShWqlL/hM0zZorMiuYL8An8X/fcC8xh/AHnfpIAHUoRKa83q3cZuKf5SA6mT9zEFPRZv7V1GWncHUfrvMc9q19AhWyAK2lM3kd6CJvZreNcSUESwB7ebMjwD5CsQulgRSDPvTSPBYWcfu+0l7lw9Y8HBg+D+TSRgKXPoW4zUXtFuNoYSw87ZXDp5IwYNoGnRtyzlUu9T3240rRfTxgtJRdMzPYXBc5ShDEvUPEeUIghJXtXLZgLryU5AsagSu5DL8fI3/NwOtSvlTljzaXYbCy57tf6M3ASDKLx5wJ9wV2vRrqXfeJJEUo0/w27XWLT3Gt6bL7v1lZPungaPD7GrggZvHR18D0csCn6a17R73pMaueG7NrGjq+q3PitJAlPGuEIua06990WXS38cfy8QNa+pmeMvBYP1SoNH8lou6ZlDJkCXHguANo48WLRdhoo8Pta759QhYt/RA2EQfC1QHjogByLo2/EdMlo6kdZkLX1TbZ0SvUPAhLT1p/LZF2jJWRQ1tgBp1VqBXUBm9FACFs6m3OY4m8jpXa8w8HcTw+IQuK5kkAxm7vMQHIvKs9nPd33zeActkCOddJqijJXWOnYeJYA1oCOwMic0uhmU/vJVjXgHwqenO9ax4QRuT0v4F1nZ7Y2z8MAUNCrrY/c4L2MZaknSQ3JYdaf5csdnuOJNiWGZ9hYTasAY1l7mHS5wOsjzN/rIlbLNYr+1ggUNndYdMcRmkWoDgQMxGuCbqtzw069ki1axpz9OUcbCk+e7ONL8YvOinl/40MLtj4PSznKBr2SgbdwOvj5lCt9oRNkXSICiDqezXx4WW8GuY8D1RkouVVmJRpCySGNhajvFhcQmKpkYxVZeFMPRfhzFhQY7hBNQKwFEZ6FuQgfqIoQ1eq3Le/uImlXhAmKX8UxXr7KwoIl642b6MqTluGZbhdzTqEEdRnhm5odcxfwC3hPM49PrgjLpKuqciMOkdGYspVHGjUKMDRwVrfK74N1RYRPFOMPQa96GTXiyFATB29CY4cpXfmcNhRQtVfTvqSLKy45sQG71P4kf7mOraU/ZygCFpl1oSIZUtlpNFk6kbwfKAeSEtxtEjW5MpNreYLbGp3UFOXU1BZ3TieJscsREpDzIr7Et9qs7DkBgJLXtC9ERKFwNUuQUi4EV3kY+gQUoiKoXtvlT2B3r2EcGkiWylvaH6/wOfsRtpLubgu2NX7x5w37S9IEPHANq32slur+/2X7ve49DGj5gA5REFxFrQ4FkCa+rvghD5c9D0Eb23HGjir9hWNDwQm8Tp+Y7p97sECfb692NgLDBu+fuwcu9p1fX0Asxb/TjqZvJ1hMbkLcOFG42y1jDOG7lVzxXSm5MEbSIrFoy3lOlSM3P7k0bvxQo7h97g6Dux5arXJ3l23/iGMyBeI0RUSry5Q0u1u9PchFrRoXdBEdFX1pIWSNOvEJoAMsP76qRI4I/ZjIZ8HSqUI8eHWPvUHU5Ln67i2mWhBm3I4/HIj+LUyD6WffPZcLxAKIs9XO9IwYMEBc4GWW/pYzA6n24+D0XGxZcVqALLvaKnpdYmhQQ3BYgfALl60gbyI8RCx0xwE021IY8BXXgM1REFMTgjTQwUIVCmn7UJgOYXuLboMv3UUDEZln8Da0C0rCEBvC1E2eBSJldPeABZWH2TV7lwjq/uiSTes1ngtBKZgeCavATNIbFDLWVl3IVRZsL3+gcOFj/6IcoVIUkdCzT+Bf/9lTGDsJZxJiyjrRgGFKqCqS6fKJzCJYPQEkhcpphqdvLkUBu0dfhNuGVrG5ygjmKQ+WltUIKExT4WSJCde3TwJmmCG+iu73Yml+je662ni3nUS0Wv0muSpbvd9VR042wvetqDuHrnprmqkUYTE5WVSuSs9vY4WEpoLjLoAEy8wf4ow+pjkAPyvWWEZaXYgDZHdEC8DcX9C1xdNe0f0/lSqnC1DeA/ElZGCQvC+EwgPDZ4F9aZCRub6LJI6xff5oGY59XsZH5t+z3r1c7Z2k1O8+m7et7ZnP2umzioGkZcY8A9rdFuA3yIbasBez8obeWDpCAEn3dxynZnNMeo2qfEznj/oEHS1Ze+/5wImcyw3yFYa1n1uQZqH5E6d0ZpLqpTgvgIrEBQCoZV0nQbraAQxraEIItUnqUUzOJ6VRbRFkCNsHl2lMB8VMDWPJKFjgGlsBDI+Qo3UZbA7vdeoUxI6BJcB8U4FU6pWf5dIt4pLGpEQUm26LVJHudHt4pSI07jkCrCA3HelGrUQNdaTmq1ITri1lLwJphOL3mjJjwUwDfVDQLOzPVlS1b2cnIWThLFYQK6V4ltUlwdDtMejGM/SEyeCD7K/vUehHRqzyak7AGSE3g8CSKy7dYKCOLqGIIHMn4sYjSRkpseKS1ZF3plomAQFmX9FBHS/tea7SitrCjmzPGVSSO8CwMB/jqQ/LKeFs/3MeGNFmKhhhvPzPm1bggiNASP+Xgpc+ZUebeddzwUOYZjGiJUHMxun3NuEEV4xOMc1TR5K+wfryBs+sSIVW2RH5fQG4l5kPSSXfCV3NQPEj0OltgXQf8M3SJ2JmBYmUtZwES8LMpSNLZwhNOvHTSyS/tEmTvQvrIAQjTb4mqaAJQjPOpP/jTS8Yp06z5RVGPH8S6bKgOnkLaCWTK6oE6+MY6zFgZXmNtmRDOlqv3IGa23WxRCogLaWxDm7zQp7ukk2WvaKaOAenWT+qYHbkl3IUlhqXW1I7yA92NoOnUj4YFwa0CwpqstJYkKLWIiSPwLib2IJRHSNrYTzGlCsLWCiAKhZNypCibQhleRe/G/cHYdHaI2eC4nk2spNgC/HQsGqfa+c9Y+ieCrrllmwFmkQnlAmOBPaoYUt1gGyi5ObB4nRIbolfATyKbyFJaK1dJ4/7A+suvMn4pNsiXxqGa8FiLOdUDNlBE6lUhNX+h7RENSKuxjFmd6Sik574Sd8c3TTo6gYIU2Tf6TCkO0ug6uz+Rrsh+OVYoh1wKyyehRYssbdRRqovjTKgVrSFF1V/OeHxIgZvzOqDDat63HZraVSMCJ37wVN7OvOb2X4bE4uBYMQ5sjT3U3boT04/b9a56xpCU8V8EMgBOO0QC4gTfh9DEG6UwrfMKCuFnt1IZnab71a8rvEsvi292ADqelWDczqXOzGMWoWOETiKIoWE+jP+DGYKCgeGSuOP0We8ATrz8kMG+ooV5ZKPQcF0jdbvfzZWf9wvF96ButE3+Ipp/EVka3aA6o1DJhqgh8zdfjb8GzDCaHs+eAcbGJkYB1oX8zeFGHpnYXXDbeK5765vtZvNDiOnfaOrpvI7dgrInwh+h0di5vrrFU+wyOZd1w8LFMJgr10zW+u9Yt3I3sBHu42xwYd9MgMTWctK+M/aCnGtsA1zJjLDm6vxDG7EporRe2iIHEqB4iocL1HrHt9yVWX13Lw1A/BMMTjTvhFrOSkOzt+SFiWfKZOhpl8XqN3bnlS6EnT/rjRnn8YVfSgYH7a35lPS+JskzvZ3lD/SQ7q3ocRSIglflytWhMwwZi9qvuvGcLgnIf9pWfZmLoriAZLTFzVw63SC0v+ACF+1sL5/tGefFZ+12XI+LbxAyN+d0cZsT624Mq15r+eM6MNqAlauFDBP/a7WdriRagRmVA0Hf2pwn+EqP8x3h9SeFmbMb5QuzSps6fa4IC8IXmqaTE+c1kHCyVr1sfqCmBBdmtbAeDm8/ddVtD5kbwurL4Ucd3xEQBkJZSyCCa7dcIVxsdpzrpHWKmDxxYar26+Irp8waNGutJxq+AjoqudVddONWpzlg1ecJvl3hDErt3EHp+jwVOrHg/AahO7NxbDPtD3dVf+pGlfiAT8NzF6mTLjuAv40T27Jsw4iyQ/FEXkha9flIsSxcCQ/VMhx5Na9GAiHNCZZyBywuFzgjOhBoWTyD9lEcJx8ZklSamD699HzJiYzg7d6Q0IG0Yd0mQs+3efnWxj827NJjE/zRQjSi4nxGZeQD/Ku8h8ejgUcMVZhgU0GUTcAJKYpZ/kxG8vIIkqtzDA1v0DExI7PcO0RQT106CWS0oiLPE8DVzTAQWHKWRuFIXmHkrIqMCUBlQW+TBiYu0zIUr2qTOuQKsJdMcNldFkdi436T8v5F8UcRvymeSOGIKoV7kfkx+HjJ4D2Wi/0iNX3r4EsKX9ZemNCXc8FHuj8dXsaSExUPKnzy+umZFLmmvyRlL+eSfdT1qXyr+0XYYS8u7O9Arc8k3KRtOalM8YoKD/z/EHVKcRLN95xTVNIxqyqRT6u2F/QTacx0GJyC1aqoEZEQqewiIOMKat1GucQ294NyIrS30lm9QnGwWQOF2HmC0Fgwu7omn2saSytpD0hDe637eSZibjqdwf5LyBPkjYkWpbe0o45XGD7OcfcWIPuhclawO5Y+4ZMhebH5KsW/qdfKgDEQMWJ/+hHpYyBH3FK4yJ3pLLxGwNApjGnCHX21/fsONIb8PLvRZHyHNPEAoTFkWdMp+i016/EqAWn9BoXucpJBiGACoUtpUCh9yqwGyQkliCWhaxfxAmTvS/5nAwBfYkqbANmmNoAFkdZgwGalf10q7pj4JxJc4yoP9YFSao7PeS1d7DP5DLWC8EbC/SgNvivO8d7ojcC7n5A1qfAQ4I2W9tfexj7SHjzAHgTHdLqWra27K19rInCJobCc+Rjji/6g5YQZ1oMRkjElrlIVAkDY9cCRBmF5Iajo+pSsjY2v9kcIzKlMty1a0evZ7fx4diI7ooFlyh9IDzN2QjeIso90Eo/KyxtlaJzEHYmzLvI3pBiEH0Ha/JA/nIElY67304cP5aXTxJI965DhDcQIrrak71UISr9Cxi1CWzmTNIs1YMW0O3syYzaZ5rN4IsFFxwhkG4Z2uk+ZE8fLqzEG7K+fqJ3T2frbYWShGGt/6ZfhbfMv2pV/c0IIikz8nb+i/S2jvfFLf6PsyTisHFTH9bDwmbnY+pW/MX44aFtRUvwbknqFtIuT3NZq3//NP6V/ywFxYr3wLTkRz12Z9sT/0u3cl4MvtMECRf1CtjTCDL10FaTz0y1HS8EJT3gL2qXTP64X5T+o2gUW4UdAIzb+KiYsT1WpNf0SvixdlRomA8Z19UdOIxMADkvMThzL5tLSIGrHXu9dsc74MDeUWYa9M5t9zQ0xG9ntteuq9BJXQLJG2qT1VaQbmbmrespkFS8fXfFgZnzp358vZgeGeY979/cyPJj98kgYQHjzoVgOTng+Ht6Hf8KXBx5fnP1FmAoUa3A2pprlQG5xrj5TYx4NMcDfmtG9pPkNznQthwrqhzPZEp+nb/CsZvyjhnhC5RqTGv7nN7OnnKEVlcJnkiEV8LfWVZuMMX/EnMKwr2TRx5q8lKkG5XvFfQXbCqc7dlqgHlTseGpE/rOk7ynVv35BPrwcMsqhmNixncBOU1xsMXBwcJ/IUgQeRe6FfCJIq9m4ga0kis5XwueaXpBblsB9wSXBp2eV/baHlJvL0cZxezipVX05EnxSIamh7whtorngxKPrBv+ZHncLJ9fkHamUlzinrfDsziRvcY7vgGXXC3nnYhscnapXBcQxK9Tsky4LycJOnVPwgftfQeiP+D9NrVW86mdGb4LZYONNU+I4S9XPzWvmlxhI/RwitgP15G4fuBo00J1v/dz6laq73f4I8ygfFzTH0cvxLH+JIUXY3P5LKvBYTlOPg48r97HgYNJdy4xr40CtVviArnfV76MPkYLoulSjYytM1+MVgcS3c6RcR+VDHOQ1lCqvzc76p/jb14fTxvbc6ldzQvtGpM/71LzW2C81K/lFxbxvjGPFKcVgAn/3eNjwSyKJRqz5Gelas+p7THJ+pXLFrxemNLKAmZj6prx0ZAlH81ZIMGjCwLZqvpSKA8VSIgf8sXQAdRBRRK0fEZ/O7YP6hL8lMNvqIjzcV9cVljlm9FVrZTIvOUrqxR457t1Wu+Iae2kMzmgiuiE2TldSenrhbHfaPTMXEpU8HYVOOs6drssqy2mvVj0K4jYDkWxRkAxOub083nRqSSaynqGjFrK2ifqy4eWVE0G/l5MH8FjYhqbZP2tB0UDjIO1PgyqK5km8Rf4u3PJmC3GnPp65O6KCxtoCb9oLN7UuxVsssLvGz496g6oCMF7/Mt+OC/cowml4pZn3sUNKiZg4khV/Abee5+XCoUShpWECVfaBDNoeIrYj9LIkL8Cv8mRyJM4w8iwyxczfDSj09nl0cIJ7CHSNV4+Gs5ssVH11U/tdBzqqwrIER0k+g1cAnvqoidBl60e1hphfGPT5Mwb72kFuFKC34h3goUoN4Fi06Q+UpAtW0h/Y6Ddw9pXozhSxsCNkBWJ7NY7xrLLxPXpmS4NQlQJJWw9FVlgmJCvDVwrjGIR7lIZurQl2snQwa1NjhSRt+TViBozLRPQ+eWURfMOAySGcjuvNL6IcfsQ2GYYQDOQG+cqYXsQOO4+EIGUnF0VBTZwsOAggEmbg1Gz1HuJaannf9KIbvQQq8lUc/1CTbmtfwMn4NXymHjYtLm+5sV9e4B+ADf2J0j170fGn+B6t7pgOFHbK6HLFtSUwhR3TjsEGLSaOxWLbAKZiq+U/BKh+TPufokqyX1fpYrLipUOi8vSkA7TZD8jIwX/5eaIoCBoSCQPua1pnO+XBeQaXQcshwGWloJHH9X6UDHgOvpUL9/eBJpTTwgtZG7JG1oSu5TA5LF3mH3BlVUhtQE/gYJSXy0SZjRzLynUCHlZcD+qTIX4a3/Id4oBOyEOL14A1ycGrVsuggs/gMig5pIF5RbiWXjG60g7oG1zUKMMkaZ1E/FotmQvZ1pjNoZcoUEc7oQTT2LnJZlvNihQRIRqPIg0L6mVYpQaTF8m4tRfEovH8AaA1//oYuZrNqPOS04mssfZYp6cMgqcNLoteWeOUW7d2lWMO3oKW72Tl5bv+dS4euQuTC7bxaAOV/jpXunQGgkhwW+BYUchhqXk+r8aTN28JbnYnV7K0wiX2vK84TMAk8nn65+ZuhkRC4a2ZdIYI4u/W1t0li6V9B7L00QnzVsu6mPxN2kF9B7W/9JjvZ6oKC339Hhbk3IM5yCiFHWyKUGXz8m26tFBnY8vslq1pbf9bcerPTfnHEbzi/3UMJjyPvymIklAGSqgEnEgUtxSl4tUVkc2T+TEep9fyny8zZOyoITr+xmPl777MofJXhD6Z2/8rcn7mSAqxhZmzDxRYkhtimlDrTZojUYgISuyJ3yKkLQ9Zm/UR/FxSOJE0n85Is5szuPhOGc7myE8WY2e/Pp658X78/v0lJ+UcdlnK4rucQWt0FGL/DoY1CKHxzCwq2ir+oHf45Ua2D4v02eeh9RMQt2vz0pfPYT6ITMOnoXxeA9SSq22nCG7wJY1LQqGloc3+/C/51GptSy7Ea+Cjf/H4T7EuaXM/RaY9nTx+B29mb1q+WZkB+/bO8IaCGDgMggYeX2B0wN9fiMOt/lEd0v+zMSnHx7DhDAkZechapX04lSjIj4QIOiFf/SXC2NeqbUUcbumCuxpq9KJ3xX6MMwNsWfUTZO6TIYyppFMObrv0tf8AypQz/USEfQh1PUvdetSH93Fa3AaFJb5r6nj4XnGDA10YXuKKOanvaFyVGvhBNMUEenVbllTQAmJ3/gV5KcAhXsgNpHzpStMx8aGff4Zb7Vycuyo97gBLkIjJ5cM4cuc/1axSU7/cR/V1vidCb3We/uYlo2lkVh9+PC2xWb/hwuA2OFYJ4UTM9zOIeETsA6NV1W0dP//O2yFJsqclY87HRIXxVyT7d3N7bra7M+lPMdo6pP06m5dN0wjyUdtwZl2bXl8XF/B5xucqTXcn8fT9IENQd0K8+hqZE5jjxtCpL8kv9sBJAY6YsN9DA08rYwLOyBWzCAYPT6JMvLVMjB++d/iezKUhMhGx1qjCbt0qwovKivBP7vHHT9tLFgDK4DfyrfJYmczUkhD98NwhXpCKJlh2NlfunGoYYgnT0NkSkKvjGFVWH3d2pu9vudV8ztqMsm6Owt+3GkpI4AAX5zle29da4Zlo7TDV6rlrhLJZZFP6A0GoOYT9eWmwSKFMOLxO2ZtQ9n9mrK+ZrXX6py5OKo5zb50Ye3WYDv1E8kpye4Rym8x/UhYKbpgDxEeu/9a/LAWkd3TG6f+u7QF2E2WeyBqUbAptl3fsfGaR3DMK8mo5BhQnwnICLJUSqCumCBQuCZqAVohEKG/PyXXhNkpvODAT+T8hlSHeshh96J4c6sOvlWL9xddW7P8kpSQWs7Mcy9wVBT3JsZuVstUtDnXnlC3GHU5rXxOfkY+1ylO3AoHvWJdVzVyPO0IjVA4wXQIjeZ8mJ2ak0I4lzsrDhBG7hoiLMMjq2LE20DBbmzDcU5XsyQxt3SBU7/rWeX+D+7dsW4kpVVokk3TLQgCrLTJl7wvUuZ5dLQ/NymlYeD6w/K+y/RSH2QwrdZkcdVD4udR2un12fm7/QsUafKY0R6XqOl6/StvykAwRIMhcr8hjvG6E4VpGAEV7LZ4BmBTzNst2xQiDORJl3m7YArm+1AMxPGKqtQFrxco12KB5BMnPaMT4cYb6+hun4Y8/b+DzCmXDeiJUF1OWu5kcJieJu+lCmWt6UcK4Vb9VWc9gclj9K2OiRpiMEYVlu2kbsvfn5DoZl/9uY6xjDf/HcL0hsPXxnmGYRPcxajGe1ugrZ1q4zhTToggRNnfhG7nCLEAA54tgqezCA+PvQJX6B8o7r+IzG1/eN9m1s9G/7Me49cd3T60aDF8VEKDdX8w7+7Lplf1XZ9jj/j5iKXvNqekxqjDmndWsI7tZK8kBhYndsxp22jGgA1BeyWu68s4appvsl/t6snOZYCCPHWbzY3FtaP8QXLZK2Y/rDmWYqt+ZkiaMUoLmempvUPHoaBj6o9kUkGMQ+i8y/dEMwdHROB1dvx1l4uFh0NY3C+bz8wEcFo7nflcLopZrl8E1/0IU9UL8y8f9bmJH+udCAZfEqxiWguvPf7pr8n8ppHGKo/kf/IV7dbtbIkeiq8pLf3a5wEAF5nOrM5/fABqZ1dVgoJhHMwyim269NJttUF7qM8PpuBbVAgNbvsaQA7QR2hpqXlJFT338OoszRq+I0Vuc6/1aS9mRts+0dI88RO5hFZhMRUVrD92ZQccwoQhRL8SffAs0P/rH3j2uHbQV3bjkSGhl7XkGnuBeXSRoTbfqsovAxTRORjkxD1MMXAoromT3nT8pxvAgHBM5zhArZUSbpxzlf83JmIJxAhQi5BCW494wL76AiPr+DBFxIuRPzU52mign8qzPkUO6YzuMjNY6ZUTY7/ZJXbot4vkfVfo//KenAnl4EM4LnJr2/2MVjqwK7+nbXedoyxFsxYQNUbkpnh61wyeTcI2Y+9uuEa3r2bmUI3jJqerwQYsN9aub+UDoXuzDQd8XwzG6UZw9d5gB/Pr1BDrurHULjXLStMHvKTKq27ZDwcC9Oi/OUOzYpmPJ75TfMVvEZjBFSYGCkPUKvY6Jt+vacaZuz2640iJH2lQPp1/jmSNTgP7ir+tx9kuHGD8xWf16Ag3P+e0CHQ/pfmvoX4eaIvcx+sgtznWJdu+G6XUWnI6upP6Ejl6DyXhTh6epZCtk26czRxqGjl2LxGno0slNTDxACUHnEUjjGp/z4sign0RETLkmNMYdR40sfJVOE+PMpwQZHtA8pEftxBs/3KBOEGnGzkOFHy4Euo7kdU7lUKeLso4CHAIz9CEQAh4gFpt7+IKeP3PoMJPj1bO4YrhDgS54Haw6eakrctRqMPU4xtPKCMpnvg/ppFKyX6zPCa7UHl3J2ruHM0wNUFJZvRlZdZ7ZwD0r2TPb2YOYOMfHGNb+dJzurqpz51qITkiG2FTOy91qqq8PlcBhMzXWQBnVbduuo+YRceeUFbq9xlfZvNs35juNrQW7VQMqvvTiEQtaM0G6OM0Nau8/uJwcMxGZQ9FqUPoCLhrg3h5kUZivoFZCGAEGX/Aj1JvukbJ4R3MbVYBw2XD52yObvLqZkuInKocP5dATx6/p2oP/jssMQ56gXkUNhDAXHkhR4JIj4MHWRNuUNone1/7d1b/9gk+VlMwEhdPWKLZuCeUH7917hAGmKS0kBiNhhcvDgItrVPyYnL3ciWl463kMa0xYjIUpsNVp+DM/7qrW6/Gcnz6/ZU4EXrypQJirTp43ZwKzi1kg0DhXUQp1cSej02xi7W6FzMAtbnLI9yZWWyxESiup+v+azQc5WlRrFB8XGeV8ntbDpKZ58ly6oxFS73PDdrnsRV45zeDPC/ohpHk5r1/RYQ2rgZ3KFkRFC1BeG4dPc4VLSO/JRIIO8n5B9iK8nyEER6i1Bo0fsTUscCvOaX/n7XYOvjUwrJXopzFQaxEcSTgS95364BqZ4hlvb3/b2Vhdinz8fhKT9yl4QKXo0+PTj4o2UMCN614cyT5iXOg5TsE9K6Kb//Q3dBqicjr9DSfwXxs8OF2xagfKxAvLH1R88sZZbYe+/H4hjiToXlF0Uzjo0S9gMl7SEeljTdopyYIdnQaBcKgXdYYtWqhYqAhb5ERt2ASVJdCucMCSrKSdPtb2yFKcjg6ODzLx8HBo1+6U6ZTpvPeaYwPt3A3V4oiterDzKxpu+Kl6uHpVuCEuu2Z0QU2ldXtQC46E3MScRTNQLUac/tXqzp+p+ICrNacV+uZmSuG+jv1eKLkWj0pjqc5cmNGQ0QiFR+BImWLL1iwwcNs7veSN5rmWYt20zkr6q3vCLSkFQyc4IJUap6EdNXMUvLl5b+/rtxZQswaQGkmTNJp2QsgBUF8CJIPZDCbHmU4TLP+jqQaSSikwRwBRUFQ7I+JivYlEyJQJJpeKGGMkCoz0/fV0X0pDS0MKkvohU8bEWv0vfX1wG4WBMnlDkAg7gIiOpuxr/8FAliXsWcrZtRjmQIRTjx6dIkAcJCUKj0JeyBSL4xSHckvT6s2JStp0lqyfhPISfo1V6EiPBVKrXGryS6iOKB1407okE67seajhjQhEM/Kli6SH8TW3sHZoAaEMYS2jSI8UE4oJEOJvCSqoXdTbYIyr+nZTToEpMb3gC2l4OE+vZeK78uuykmjdv+SvMIR9WF9sd1LU640RLneGyiVR+1GT/PTpHTy+vJoKJygrE+3FlyuS+urvG83dx2vkJr1bJj5PeoGUH4GsSCFarbnxl0qhn0rhLymQQDD1q30irrsSF1SzLdV56bR+37zXKio2+iOLZwNb6KcehkEfqvlJvN+JWW83ULonvy8OaXXRCxuLuZParVuoWSlpZpKTrtr3dtoEV8ohQb/ixxzelQ2sYinWVW6gLSv1fbr3LyXzY0r03NIFN6i4RW/CTUk08V8L8EwS3Ips6itUSLsSO6W+1wjBWisxIbYd9+rzcaSGFRoZ0d7YXZeQOFXjdfxx8kYcdlsXzD8nwMY1hi6ODNav5KLro73qDF8JJWWis8N4p5nBKwvIKagErbnUEmtmWIUpLsIUVx7GItZE1a0eBjICNJUwuWYYUdNjpcYgy6S/TApXfCETRsr423GEll4xqeQLm9YxA49Ar5EhZBrsWdSWyzkmstoiD/iAkRELTp1rbXEhhxUjSOQC3yhbyi4RWLBAqnKjZaEIi0VcBMRW9d6EgnigiLBaRlbgOOV4/YK5ik0cnySEDosZOKV+OqPeJCP/X2GnmH5LSutKzI2KkDRI/Yel2D+EMXoCK537we0GU7RAgCfNzXC6PjdRilO/aiKPsvR7IATPf/XM7jjrwo12nHK8pAml4uwv4qzxtkp9iwWnzDU33aCg4wtJCO5FDkVc4J3bcsKBrx8lQ0geF3ctrH+6B4G3xVqbrI7Ize7T3XQGXNkvgSYmDHezUGp5NUYqa925Q3mXFVS5kxu24ooqr6Qlgxevqx72JPYV4QnmZpqz2z1tDL7gfJ5mOnLtWPexa0dM+i0U6etUHYRguNOodNd0Lbs636le88Dw/usu+9tvF9Fyx6zSerX7Rf7QcqUp3eShbAseORVR/d/fjXVtnZVUtvSFlf7FiLMn3or2ol56LEfjfCXtq41qPKEqwxJWulZDGQ/Arf7chQqYMq7HqMvIpQUFOG2ud4EXU5dwmEwKICitE89+8fVDHoXX4OrPLxYa6eesijeJ9JCcZUujrokCqTS5UVosfcjCzorQhtfG+Cj1NVxDjVBcJOZNnMlIf6WUVrBkclsho47H1+oqHpxBpr0s/O21+NqNYCIIwu77BXYTA2S4QiVwBxTPiZcK3Ybx1WlRRPnvj1UFSODrZYRyAnLsJAKax28HsAOKd0NJbALJh7NgK01V7kcop0/fbWhgm0kY5Bav2ZecGa6gd33AUL9wQSQTR0bPzuXY2hHcKoxLXJGsaw/oNERoVwTo2pMTV8QJrTjluKd1joprort07QSo7hsIEolwZOHZuTykP3E5Q8L1y6p/Xw+iuAqOlmAgkYm8C8VcetSAr7lBt3wpKL4QNLNYqmXAyccrUxXWhHrXmU6WKQv5Z/mpOHmwsBql4GIxTCh7Brl9DJGLEnDk67ky9yAZrzz2TnCCwWkpyMUpx6saUCruFyKG4KQgVSh8o7TIqiI52aZIdbpr+4On+KHsahCzdFqG4khuLf+QoDpqaTIxvq/jP09K1yzMUCSEG77p+CiqQ4OTXV8U6x81fwsrjec4ARlifRlfovAXZwdRzEgkCaYfJFDeeUe7l8eAsMGXBw+HtualaRamo5BUigDOFRi5dEk+w2eiAQOH9XkGd4j+17foZqsIflr1Dn0HX6P4aj0YWgeqia1p3Pp+0mG9nMOAIMDgcBNcJMArMwXkgDoU82hFg3cLzojBSrbURwyxiEQgPGYOvg4KFAXgujn4mBAQiSxI7CNjg5WCOuTNL7aEjHz6KdbJ429BMr+ViweerNn1svVlJaR5ic/Yngz4xyhZaD2nitSHqLorgVtJLz9cil96ag2cehRGPsk/dl35YpVQoTgr021RcFMsdRKZT36xf35FriCnyDk6JN+pGZT9TAwJ3sqC4rUeMmESigmQEUjqiUCBdWlZDiFUnq8Mz16cKRQ/F/pkTTqBBXsRh3972a8VcwE4JAwMUElDWHRUOJbBcwqD8175IVhyZ0nIuNA/Oib064qMJ06m37YD655PfhOZI6bEI/R3KP+PmL+XKR4oE0+0sV54MxXfGx8qAr4N+PIDSm6rISiQoeYReR4B38NrbeXzQCOPj+xfubKgdr+XIw2xTPsl8GLVnLfZfr0ByE+wKEfoc3mfa99lSr4iDiegjMj1bB+YmcR4Q7gdr/LnHEMeJkWJK7+gBRHhl3IF+qytrHFZ4hdRRI50WyR7FjUiwXOL6o9T8GiZunRLt6pUj/cSub4/wz7jIk/Lj093UCAHZCQHXCPVXrwUwcCDcEYeg/9OwPcpRZSMaYTbgGEEnACFCgFBh+d8fzCyK7ILCgvDX20gK6MHYwYhG+WCr7+Ewotpa+to7+jo7IZUZEGd6xttR0eYbntnp+zkRQGfIOR1fFPo5AkJDF88KRNpZde4ttYVHAIyK9dmQRD8+x6JQWrJb4zMDc8+lN9TafXlaCBo7vHWh0Rd+umebP62eNmAo+zXv+uydrlsAiKXsPWQ7cQeI6eDHuk2M0pc+dyK1+Dtv+78hfNxt6QIbZxLeAQRDu8zb9UuukG20bbAta4EZLGfJNzunG+Iy4jaswb1KRWh4e2uOxOd4noLcUNpW01p9MfNcjFbLJoXCwnkr7Hu2Czf/IxvFLRiFmrWcvORxsjeCDdiQWR+RKj/J5oeSa3yvNOi13Dd35dVN3hruZPaLVuYxKy0jCyH0Jw+weVbjFROeXR6e4MtJiqkjHZTslZeHsrSyRy6wyS+gpyZlqH+GQSSKsvHsprJvfSPiIkHW+9IZDPKGFWdjBp3W0zg9E9Sl/NpBT+EnA0N2xAY9qxPYyd41sjjxxrq69ZC9h/eCVofHnw5POhIaOAzmvyCtiyD4M0Q/Dsy7EntM3tGtPYTISEHblw9eY3LinBrzkUDEsQq2HE9J3u3m1Aw5l4/bHwzMHW+peSHeEjnzqCFvw5Dph5igyTcYCGH8Nl3NS6SeOrKetGy1SGl6kz3gc84wohMovubO0TI92d0reVUoppd9KTK+H1Uq7NbrqG19xg0jbzb2RpFzsoFlelUSwY7cz8JD0A3Qq37Pjeurjrqdi3OS9C1tLz1JkVJ6tqwaEF8ecqylxdaE7u7TYmN8yy01GxGE0SzqhbmiRw7TcXYs/RatNxGSPp1GW3jgpb5uvPkrFtvcbAkJwbohX/8YQ2ZHRC8LR/flSLZvqZdJmTleb/1Pv5jU/aA9MDAeGD2v5d3awxpW+y33ZcfGW+KM0MgPjA90B4wNYpIDPH25ExqFMn/SEiFNYlPeDO/1kKKosIkIbzPokMcVfLmOzKqGdXzWap5VUxLP5KgQ0L9yWuK83B6/f8EEqTs5ZEDiddXhvgA7caQfzxS4kkCKYjTEiWgE2iF6A/WIWNM2CocOX9a6+Oju6Rs26S2n965S96lgjs2K+2jR/NyNm0MSe++23imFXzZCigLOWEZB4radHv6mPvXiNq3aAYdxcIsBZWel3uUKe7Y9lHxL+X8nMl+8zq/seXSKaViagNHWuvMXQN3P8AVFxX4/bjS/NG2iuNkvAT+vFyVeQuIBa4V6YGfl8IlOB1dsTNSiP9a+vvpV7mOq+lXroXjSMw1yjWoH0L2iyGk2iLFfjz6ajSWRvCsNX78Ni43yvFHzDPz5Bs0nECjBB9UHhs9vmdaeTCYQiPgAj8NVaKE8cQ88DP+4VLy1ED+Y0loRHumEgJQLhXRtnrGBiBnhT5902EI5Ypm5A67JHBKKoVICCMv25WLmLqK21cuGKyLt4GNvasWE6HhjRChnFx7lpHvb+AXm9TQrKJMQ0ZXm7haDTcf1PRW+B+SmwpcCZwDEfupQidPP2xqJ2aSt06swlmu6moWvmpiK5mYaWof1vOcQur+iANIle6VI5hVTk3XVtLSkzPaM9KTV9KuNRW76OYkie7/CTN63uRGR0E779GQpXjuFehPiHZvJ0Qb+DpZo9/6UW+QoLrR6cUsdEa+pOp9ioWENcxzkWIidOlSy++zDRzCxM+hBZADQyiW96uWaCdQ1uLp0ToIIY72JI93T5GgmJhVOFIAA/mHXAJOANJNxTzXRRAIkQftxtI3TTXZrQ3mxW8YeO78Tp+W0iRaDZEliKAZYjLbQg2DZCgQXHTxijdJAQEncOUfAoLXK9/LY1GI+oA+39L6ZaqzLWdVy+p9SwP6iHoKi7dX7vUif0XhUT+UZSP463n7TwH8oA/lxpBul6vn5IoPHpApU1t75UhEV2//GQ/aqZIq+aI2jhG5ueanQz++wWBeCLWtCqGDHQL1VzRFnrtvSK9efcskXD9+K7+K7TP+OQl44bXCVLkU9g9/JuDKU4VrYS8gfT7u64/Gov6+4x8jEA0zIFKFl9LGOj9ho7LZVNsE6zylzcuAmP7kLEEtP5uHfDyOpD7w1flSrn/THmRYmqOFEbpOJoVaRObIdHQE1uYsvSD007YAZBH03VxevEs+6Sv8LopAfuBioix24pyGA8G+HxXi1YuWFn7kC0MczbkZH19ZotzP54FPQja/5C25CR8/yqZjqJ8E/fuHN+1HXaBWTguterePP0ohHtApYMbQ0dgvt2mQiZFElMFl8Kd+qUxEWWd/v2bWMZgQg/VGFPfDwy+DBh7qBdm+pgacCLW+Q2O0QsdZpF402qWH7QQWGoFwDKdNl+WrIMKqJRkqZTWvCJUeCu/6W04k05lO3cMfsms5CF/uoXC5anOC5RhV9ZlDh32dtCPOJ04cOxOhDUj5nT/cGPY3j2H1070P/joHvUMifkGwkzPD35gXdY7LUvPNIWKjNkLr4Z1xb3cSSBrakr8Wvjx/wJXrLPYxXzbTd9JjNRG+yOdiuQpG6Zoqpl3omwRF2MvYmrm4vKbIUQ/t+gUBgvHGeMIVvqyzs3bUwEkUzUuwG89Wh+PqS/4N1QVmerne9P63c1/Uo3C1PCMNHHsv+E/fzHI1HeLGPtTxLvxz+WiXYiogFFSe09BS/vURyRo4lqjsUIM7f6tsRQCJQYEdaYLEHDOok7uc8qi15wV9t37RR4a8zU3/DTJUcRIwQQA89ex7FyWcZWSngdiZPLOPOSuAJwpO86lQrJn1tPrULgdrd6mUvGoOv11lD7C9YOvv++nt3d7yitRppLwpPABruZVkXf0SF2u7Rs8hkBC9f1ZFd2St57iFfozAYZFCki0DMTHDUSTfpdkNLbHukCJ9UfT/DTJlgbB4XVdD5GSE6QAufOpHV1udqAw0tDnFNpC4FPmRQsqHhyAiIFjg0vwAdSDs6dwsCQ4SuRcdHH7sL37mz9ql+Og+S0ucKvBPlrDc2hCtm4PJtet9okNZZ+duhMempSfmx5l6WuySlSTSNUSgNcZUF+wikmty2/GJeQjxktuI7vn9o6xoGunTJkgiHaAZTKMExmUysUEbT0aWfdb9TUDaUE2ihrLlIZk+Z4BIEOy/NWUhCb3jZjxLSwLpoVX14DjQvFQBHweOVZmVNEoiC9bjUeHPIPglrJgK6ysnfSPXOjOopPxiRYzMJF/c0teooK5zllDJLdFKFNa6hUOilVnJd0IkurXZ5TRSPsqG9bhb/Q0EZ9VHikIH/mlfyvfBPjOT9Zlp8mqYVyNnx+xAqfzNEYmDApb1pCZjN5fbpUhPuBjqrwPGNnE6KrTuBLuaivitrp1OVOsyYLndPQWCmyzmzQJBdw+Wq8+VY86dLtSVYIn9aycAsrX0pWy+JRrL5vZ28LIgIazUynKHcrNF2YvbnCgh2sJnL6WzvFWKFPt2UFZ+EhV0gbLy7an2SoUX6P9GS3buBGGEWAPfrYXoM5wAucuA5nQudvP4ZAgholyjzMBx8zoXozmGGn6v1g+v2LUDFABmRrOVKhWpFstL+e0C+UJlBStsT7FXIS9rSAed4EQXt4myVRxaYxIvq7cjm4tFW0ASYQJpHQTuQyCMkGxnZ4/Y9Z37+AB95IDsFkW2MLqkTZjdTaMuTp4NwVcrP84NlVW60ZK2LBRjTJHvHar9M3H4FvUNCvWTEnMXLFpQPjncceGQNTndML1ufLCewQJMxKX5cq5HChMIBJ0qX2E/4xpyaXJRjLaAlVGps4+RqEH7rDKTJzP+b5Bc9U1EPvRO5bZhTTWZ+ROTvrguglCSFUW5vKRRbP777Ik4PkwqzLn4XWZCvcUgcyEoF9mlSyvPYC2gYWiuxjXkOqOwA/0U8wWDXC37eq5bCsNEgk6dr7D1uYUMNdkJZ8iU7++jgz+IQ5vqwSmOoOKiZ2zZlJbChBjElG/oH3LU+99TyAdzEmpSiq3fPzTM59we61ld52NewIEh0ug+TNAFjOf/+jo/HRflXM5OjEG2Scf+f9dggUpdPID6SUBvo7K5bQcho7YFkCKyNL+ckQlzruYkxMF+vuhAsbROh+fge867GBHhQUa5S77B4RhvNWtRvqU+sFEQav968ywolf0seHnzbyE2QWNgvYVPYnW1ESil1ls3QjyEyJ2Rfy+NBmdnweavQ+0VdcJPyVASbGObMuRDXB2RROK9y/nuOSgAuQLDt8+1ezESiajjDslzYFRp62KROtz2Q2y/bX75EKjnC4B+rq04wCsnhob+tKSDK7DFQcjo4w3b7CBNJ+CjxU2g6X5Nqus5HK1LtvbYs0bQfNhidXUAx6I99FFHoYDE7NqYvmqNfd0rtwPVgUGmJuGJkehS8NE72P6l25upyoCb8dufgO1RnEYOv13oJ4MUuoprHWPvlkEBmPIH+6X9VYbXyhjMzLT33y75QYkFQGXvjnUcfQTJ/ITtILWR0+Kwg20bHu8RijxabkeWoktPjDQJTUGE4vZaRUMDF9/YxSQJCh2j9D2LCunnDCe0qQl8MreG49JyOOsdG+43NYImcHQXUHED5DqDk0BEczrTcZ/JYyjRgB82WXPWW7bBGSqri+ayqjLgbZYbSEA/yLTB1Dk2WUq22yE8vyiKyF35ZFKcBc0yuUL7XvKLKOMrn79SwtIvSn5Pqxju+7Ro+hU8loeRaO/JQIV8ckVQUctwobSyd0WmLf58cVrkruxUoyWocHL48ZEGXDIdSiQQeZhLNsh5BS+aLm1XTJ88mGOaNKpPmfUxOWNnQMG/WgLRwy0C5Ufftmp1uQIur4BuqNJtugxWccCqy7e0b8npBTyuIFenPW+rPNWINlaeOm+7j3RPdq/Ex/ttS/mxUvdxkyQq5rRsduXsG/vzCkO7Z1cCsJn5E5PU3nEvIDe8rjCoXJm5ZQZjKOkixUZzD5PVE7XJMeb46MXYKCRzqAtt0/aXwIIPY043ghPU9SHh1lR96shZEuXs90K5RCr8V0BN4po9+RkIO7i1jtWxbIGOYwp8yVnsKumjOXkLJ402+X5RQ4EhO8lUYSnR/9D9pLfG5F/4OzRgygN9/2Mungs4i0lCLI87AbbO35YgomPt6RNR6goD6ToG+PGcBR9+qBWCnf8xcCayS5BFxGBPedDmxSOJ+9MUSGLQM0IOBw5JxjyqJeNkuoaB7NrF9ShelYy0eHhdX++ojNYHPkjOyMhYGLHMExo0bJ1cU0GosMLq9vA1ufN9llOqgLTd2wh50FO2byxMJECQui18HYjf4TOZNOlTcqD0wDm31TweO+62nnOXHNgU9TyyoPaMsQeGvtyqBpV/j7xxdgUNCuj3bYlCwW2gK5F2x0vpaEsdZu1lwL/+9lTgr+BXmNHrX1L5x33jUCdol77Zt8RTz9o+5Ft5EHTYDd5uTyvLnZ3nZnZIeQJ/Zqc7t7RokNK/sBE08HkCY3snqOw4noa21GOWVnl/efD4671UB2ijnjTofkBDEZutY5rOCVxfj5+yz0DW4mFTgJaK8nnIK72yC84y+gBsAl/TgJxXeIPQ+ZcvD5L5czz/Yujx8+c9wa5iP95xPtLve341zyvg3FXf5VB5i4uQwr7Mx34H1HvyqpquxTXl1QvzWS/41Vf/bhxrj3E9Vm3Jy9uS+6G4XfT5NQFJN2NYMJMEQ/Lx1xQ9gGsGjVcaLkP2IhI5j0zNrdtS+xfNBJSmfs+5GMnIr6bYrYAzN1u2Mq26VEwNUpIS2oU+A2VscxlCQmLMKW47c47HdUGBgWNKNrurIP278IKEzBzpdU1GSxXXXmT0cgylhSaahly+CNHThEZnUmpigWRAIBxrYPrMgAenvCEH6hf9XJ9f4xWqJfb/7LGccrJQImK5+7wldTnh93dnl057OPsqEKHzweY48A6eWVL4ghbS4vTXu+qhzA+tGRbmV5yojOg/hr/cO4DFuwy7BPyqzHBVBFdXz3E3PVxyjmywF2M+zvqdSYB4PF5gY9waF4dEvUqB4H00JBpYskd26h3/yn4A9Mt0eDPY0Fj8wQdfTPGwTcRP7xM7BJx9M5AVM+vaiNhe8e074k0ofwqUs1mAiUBeFpM7wj5fNyKJUiflCmmbzch/sY2e89G1Qc5/uT1AHw2RIBbwGaFB0bXruJaVUZtpwtwkdZ353uPXMwLaOEFbrkg0YDAFgsTl3WEmXxva+6pb6IIgHDST2VlXtgQN8c5fIJVn6Zt99EtsEZ11pAvneWBtSZoFzM86XPjdywWC7PJahBmU3/Fki2Iet9YsckQmV4j3gxML/UnQACva39beTinB3or6/CT/ljVnniYO6eqL4MvqpZJF+WkxjRvne+xw+ERbeMIZkOelXsVKq1ZYKC+okenYN3PXn4cb3R5HD4N6kEkva1ibH+WbUep+xH/qahx1IFVDPcy1pldlcYjGyKJvd++UBkvTSlwU/dkooiCsJKjkTlgA3/hPWEEWkRFj7V9JZW8DeX9Rr6KiBUx9TYGNdA0atoUbj+huTU5fXEesy2HEZCdescE9DMppJi01ufqxKdSaE129Uxc49dXtc+a9zJjshCsEtUS/yPeXkHoEEUqDr8XFG2T1FSy05BrI8ww9ZLRdxzLHHuiqGcLw7CaP22e4uTg6IySjRB7lDL+O+RDqmcSoq5L0FSpbMllSGj1n9AmoZFofM31Zh2l0vsZ/G7HcaPIbTiyJTgteVqqoUS24InYMwrNVrD46ehlov+KzYNHI7LI2d5foUnjEpQ0cKJfNjjAZEJOo15i0q+QDzQPYLT//WwBApuq16KI5rK1bx3TStNNhI52C9jzWEsEsWlWxuh1KRYdPweHToM8xIymgtN65Rp4gxjCYUuQLSWhHU7WsusE9vkNzSOtJMKCTsKZQ8cn2UM3ldsY1yhp0SxN7k+oi51mMfnyzpX4fpYFPfWcTCeH5q0Z10Un+thIUKwbLRSw2kzES7dgJlth4dSM+R2CDZ39eJZeHDhHEpLqmXJtzdbO553CJDlflaGREJpfBI59kTvK3ireLt5nryEWgzezEfYcMuUVQ3sHkMBk95guEIAZSqicpGANiIuPGfMdBMqCDLrbG6oJ8DoJ/HUw5g1bCr883ZyQtlQRcm/skTXm4hEZHGb56iu1idYdE6G6AKnuKo+ipXANd8TmW8eqDRj2okIogJsCND169gcRBXQtpwjiSygtwm5iSIHxd78tA6U1qvBhz+314gVALVPw9ctZUG+Mrj8b7vvI0PsfACdBqwizcpiq+4WK4tITrGukuZPSfAMcNdGo++Y9yOEPVcrvUfGfxxDHwZRNj5yqfBY6QkPoW89yuzHZOx5lDpo6dAK1GXkPtRUh4jprUcKto6DvP6CcFYfkkBPMNaNVoE3zj68Yj6DhFkDTU0bNy+/n4+HSMb1OtxXGZy2kZtVl5HqEhh2ezjqZhfLsN2EcvcgVdwGa320DDON6/eBJAfOtNEiLwD9wTHZsicZWi/AI90Af2l3EEtosiI8iXyFoxsbgk/98iXwWGWLS5L1CfCgrC8hFSpVxFqQsNpAMF/CcFAr5Nk58vXxwCg6LLKDYF+AIs612DQi5KDTmjngIE4p9giXFLyEiIgWT5reJ/9J17IDxrT/3r4LnLuxn8qD2j6MGDnI00tYrG2XD48Bj7hX+dO+iAS3SdX5Egg3tpk5toS0mdfl9ySDIZiTFWn/HRbLtcjlCXbBrtZVaLEZmcBMnaOqefS6UPHZha+3JeW5SZ4iH1XangHdpCG0D6EFp/ZbKs0qzExc2ZkRvhH7c21F+/XjfR2IDcV1iKlxgKrZa1ayOvWqH/VzcYqJ4NkFsVxrJygvcdTPe29WvXiLuzIhoWZSdOdSIUHVqpUzeWF+Bo2PrTJ0+eZumTPvqoCcXaiXxFsq8fV9j23bS2NUXe8h07cmR8cvbw5OjhV8anZl+2wNH/RGkfVKfoI4IXrATl2NTqnf7sNo09B/fQNDJPqP3tt02bIimwTLSIFjaNP1sctObp+K4zqT4DHix0Khrtvr2gnk//ok3blumPYINcGMyerOKtdHU39Vohn9JrHHZogdbZkcl8By8rNTczp+tJmwNCqusb45+/ByYlBv7xW+6jfYY//1R5m3l//altO+ip/qC22jM0ZDSsYDMHHH/Lf1GYBeTAL8GTCILqBKlYUEwaXu8Jtx6VU4nkNQh9ApouheDA/JBgiEC+TCFyNgx2GZM/yeMQKZfJBAhKP6B6qWyCjqwhE0D8nn8+hKrfB1D1B/DVVXyqUZN3ISP8/s3FeRq3hoMIugUnUZIMOlh5bZFfZkTBxSoZSbAodjQJ+vAjuOoDiHG0rjAMOGINltfvXrX8daenEoonivekAQXjthDqt+AvAuC/z8+op95YfptIYHKEIglruaYz5gVekPz5sqpcvupt9gVL9S03Dt7/Xn1m7JMChuaJ+jcALVQ+aSDNh4cz+95VcAWUNzPZbMbbsbbX9y29m/zHYb+B5rveDTYClc1msr/q2PK1X63RVNvKfLU0Nu0rYCwJRJgyny/G9mg1dhm4xmYoGKTA4m2nTytdesZl9fKhraAYFPIpKuhy8kfWmF6U2RO9cy2BT8SKf3J5yyddLhCzdh/pmPA4qDkGwGOmKGkuEM2Wqufmt6EhjuiHz1yLf4avgnt7dUIekU/YuTY61Ean2DpsV5Hp17QgCSx7UotteV1pXbhaIxwTFq4D/kzmi7wNm3elvLegQUZLJJNXB3pwJ2d15xtrO5dnjNKzkwqT6M70jRvWd376UDB0JzGzgrusAT9gR5kYxTkVtPjTNXsPPBgJWco3r+Obgxc/8OvNPFwdsuTbAExxlhMoaRQdGzaUe8ioUBsUrBWiZE85bGDr5D/95IbF/UVMSfeRCC5CSUuwXMhNRXY9llgqzrH4h/wM5oK1dc6RKFuu29p7uR/0TujNvtoKts7UsOm39+wJqc7EAbmY7kxOD5wfWa0fvRS6AuN3hlwayE7dOh+YnE53iuXe09rk1CIrG3EEOu0Zr/3W+/76nd81Z+J1Xm9dQoizXC1JLTD0Z0RnrLGmBLWCEx+4EM57f8bY69cPN1YloJgqx4G5Voz9z9e4XpPeDjWsW+nlXlbmC2nCfOVl7vltvbdPLFK2BezEFHAAgBafm1m7Ndq9f13PWSt05MWCHRNLze49K4GhMyehku1LMy+syHEtLKdZiIJKZwK0BpIrVtUT5CRztdelr5kycmoUiwhkan3yKXa9clrp/jyv3mpJq1vwCy9+Ciy7+HpYckbqSZGwKCEbLxjJXQF8E7CvsMBNHFEatq6DFJ8ppyfDKjC6AYbeyWuie/wBfpMrgRkJGBECXbG9iYZjJVhfPyqIe0JiJKJvQIqvG4XHSrB9MxhEOz8FPVpSpwGTU1Cdpl4DctaQqmMFTDqBHI/yn1wM60AYCWh8kpl76uJknOhPhG7nGQwdQ5w7emlaEiGK+2fwUI4KMxo8FHo8VsZj2KOSycdOrlANU6vgCJ0ZNeLbXSo0smm6MDIFfaSZD7s9c0D59/RUOvXtj+C3r9CYHAZvKKjyUcVTTsWTOu2iHdAQmP87l6efDCjwT9tKYEYysNa3Cq8zxHkGvwbfGkAZcib1VbcDxtaHO+PFOhAEXUuIdrDRD//4Zo/EbXv2+6ROnI7KynJ+yvdAnMFmpcFPBf6I7z6Oz4rme4MXr69HSnmveTk8R3HXrjItcHKIfjle11WDjZrpuU2mU6Nn7Un0JyQAQUelLJXrh2RbE9NHvYG/mj/QIWmERFyvAJvURkbqgnWRkfK9fIGXy6uFsmohXia1QdB6gtmcII923fqsMZRMRvfKX6lelODfMyGMvSdO8ZsEitzfP+Fe8x6BIWm9RFbf7EfogqjY4M8cLpUSTpjmLuzrwEsfNFaK+B0CLntRZVoSGcKSG7B47joDZlB4qEyxa19GvSgDMKkBXulNt2IElGme9BOwYFgXejJQQucbsK3ZEwmeOl1Wmp9tlhK4nJ5WlOMwJGhDBMRUj/ryImf7PzDnP1sMN+kpwh1JQYNDSVlAyVSYUMHXPCSAlTmo6FoaCRuylA+v+rX2/UkehQPwzPeDzbItkTK2HUxTOfW1JrZ1pOrwkc+O/oxgqmGlVr8V6e33rxeRnY25WwXjYSuvQPxmS6O9Ih04XDQOBQGLVdLEnoQ1xgwWRS5U39XXbdiQJcTBzGIr0dBmTi1GxLBcC+khaUFQ4a3ljVRGW5xgqdCESqLs18Ot3C/bim3fZSwzu0NHEbSPuwn0zH7rhLx/du/apQsLB/e0dZnRdw0+NXh95LMeQhlC5ipXZGhlvw7bgWp7K5FCZo6cclHd00cuQMYq2acyxv09C5zOLBvevYprPdtU/cnJNiRxACKmVH/pIkt/7oQp0eP0Ymc0CNOfU7uef+fiepFC5eiV1VxqoIKdSVlILDea121Xzgij8Pvh3rzUgGit2bN7qNXva43el0RNWApTHE1DwLVhApapRQQa7jUo85Ajw5L3UKuIQj2ePCIayVFiZ/fKvo9CtoE8rF8BUclYGX+nF7PbavrzbiDI/H5rw7PZa9pNJMPcdKyMjkD5ffczVjFJ3lhswlPmRu915w/+wl9tf7VYhNPj6xGIQU7oCHMotrIyod6uGkVlAbTjb6CDMHSEv390o4hLqOUtek6ld+UNspyGUqXR2+ot4RI5YqFP92EWLlCqpnAFJxKgWSurknrwzKizNlmuUutZlqUM1XO1gkQnUOwm2tUQ/2rpVogRtqIMvUbMLpQalthr7coscEgqc0mUs/Iw9+VkgqUL8muJ1T4iILm1GL+NW/fjZQQxlucAvE/2jfWned1n1cwGKVUIUiQJSQWJICjoPhf5Vxl5i0rE2NNxYVJN912Y3rNv44szFXzEvAPEt1ZI83SErIQBWHUl5RnCrbpqhOfB7KHWUYf7FCpYH6jf4jz+ooyMuU7Zn1djckMjwxTxITlEP75Du6mj2a+NKEClHqYsK2+JpZqpszxPQx9SVfEW/1oU/QoQfnNjDBw4Y7mKrgSxJgQgkxj/dImWvAnRvDr7qWaD81RICfDfz/JN4Safofv9f37DfumQGPQrP4jl9hsO6KNnKQOENOzCZguxgoVUfpsEohyRKmY5KDslgzL5bIS8JY7nVdlUZe55eRthcMRyHlnGgGn6hthY6bHYFJ+xhMjtQPHSGK+M4VRVIFOmogxGbWVBTPlGBhWrW4N8hCtJvw0uiOQpeTWk2bZnqIH4v7kUl8com5f/WWpJrrhZibi8BbUyetu1SEAq+ur0JjMXrNLKgrYMqaZ7UWqsDTmk8Lur3nNP0wfaM43UEwaACOuvSQIGKJ+l+gkEcEC9ml4COiAfL3Ughm8diiO81YHF+LdDtSSftZqog2VNlP6ubUM+6TvI5ckFdCpNBAnice98Hc1qE4QvSMsPypjJQjVyGuQ6CjKJGz1FxsE+7QXNaItWNOIpPW+wQRh8TGLflks+Nr4Oz+10SM/nilxWQ1XX4IgWAyrZrIlASYk2UC/1PF+OhKaiCfwUrq8VYSnpoM6RlFqKlXVpOhHPTLcCxdvPGSWY1p0KmysTNlnPSe7FAlj5GsNNZ15o+EdYwRFYylqyWWEdnhVbpTC2v9MxWcTlk6KSkm1WgqLWE8mC2cGR8rLIEjcJXh/qUO4BhdIRQRJJyauNSFgytENdYCTLBmExsqbf0FY2m6dWZHR9hjaeSsiD/ghUwTYXkSoJfrI2CKr5FhmmypotGFSOtiRaZBwmT1PkajuIESOvcbR5sZyy6HVztdx8tqq2eke1O+V63aNTxd545aKBy/05FFQ0dAxMLGwcAIRgBMVwBpPF5nB5fIFQJJZIZXKFUqXWaHWZ9h85mswWq83ucLrcHq/Pr6CorKKqpq6hqaWto6unb2BoZGxiamZuYWllbWNrZw8HG7bBjCHjPjPqJ2NW2+OMaXcddSzEPV+aimKYpbtRNemW7bjcHq/PD4AQjKAY3vFWeli3Tqvda6+TmMlic7g8vkAoEkukMrlCqVJrtDq9wWgyW6w2u6MtEl1uj7cffX4FRSXl9rG0iVVNXUNTS7sdMnX19Dsgx9CoiRi3iamZuYWllbWNrZ09TCCSyBQqjc5gstgcLo8vEIrEEqlM7uDo5Ozi6mbAoCErDFtplRGrrbHWOuttsNHoCzLuainvoICvErseiRptXatq27B2F6dc3Q3pEhrt+P4oCXneyP1GPWrMH++atM5l03fSbyitOYPOeV2XNxK9kIMhUBiyW7eR0AXLnenwJMJ+NOqmsF7W6fBb5HdPbZlO8zKF82wNW+7U2JsOhY3bp34/VrLF3F4Hp/DH+BYwb5xvAfOGCSd2l27SGbZpHI7g1GVILt2Dpx4A7A7PcjtqkJXOkllK/8A/jhW843jJOw5M7E99jsuu4f7REs2lvHJrgHbHc7pYP+AmLRNijo0uswZZ5w3Jzl/bkDCHbtqnavGGm+eNbS9cIcFO5GcAeWMat+RNutoSg9XXAAzNZBP72BSX3rczD4dwl2oym5gD0gt0rACv+Pnd0bN1e4NGMdk1hfe3xZHYorUCbu2V91b20umnyZfBkndu/Ib3W0TKIQ6KCALdbiyuE0FgK69fEsAbeV54dc5+0Q/ekXOVBOPUReAz5TuY7XAv1LhlyL1m4RIEO6zg0Gvxnt24xhBIFLcmcnheG8lThmh8bR22hgnhu2bI2nQZrF+4JBOwnL3mKzj1VhgcgUQ5Y7V4o2b67hfPdwSH9E9weR5eIfT/OeHglh66ewXk9YkuYP3F+MmaxcaIzOstg68NUtdndYAVpBYl9KAO9PgP+4AAzKcmjZyFl5P/d+fqZa2782OA6RCY55e/Pu/7M/pBg5rqxdeVXvn2Z8PiDsB2vwfnh6nWP3E//KLWIMT6EAAAAA==) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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WWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPyywABawFyNCILAKQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbBALCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBBLCMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBCLCMgLkawAiVGsBdDWFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrMoAAIAKrEAB0K1GwgPBAIKKrEAB0K1JQYVAgIKKrEACUK7BwAEAAACAAsqsQALQrsAQABAAAIACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVm1HQgRBAIOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAKoAAACFQAAArj/9gIVAAAAjwCPADQANAKuAAACtgG8AAD/PgIVAAACt//1ArcBxf/6/zgCFQAAAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAUAKIAAwABBAkAAgAIALYAAwABBAkAAwA+AL4AAwABBAkABAAeAPwAAwABBAkABQBCARoAAwABBAkABgAeAPwAAwABBAkADQJkAVwAAwABBAkADgA0A8AAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAGkAbgBCAG8AbABkAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8ATQBhAGkAbgAtAEIAbwBsAGQASwBhAFQAZQBYAF8ATQBhAGkAbgAtAEIAbwBsAGQAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAEYAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEBAgCFAI4ApACDAJMA3gCQAPAAkQCJAKAAuAChANcAsACxAQMA2ADhAQQBBQEGANsA3ADdANkA3wEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGACyALMAtgC3ALQAtQCCAMIAqwEZARoBGwEcAR0BHgEfASABIQEiASMBJAElASYBJwEoASkBKgErASwBLQEuAS8BMAExATIBMwE0ATUBNgE3ATgBOQCYAToBOwE8AT0BPgDvAT8BQAFBAUIBQwFEAKUBRQCSAUYBRwFIAUkBSgFLAUwAnAFNAU4BTwFQAKcBUQFSAVMAlACVAVQBVQFWAVcBWAFZAVoBWwFcAV0BXgFfAWABYQFiAWMBZAFlAWYBZwFoAWkBagFrAWwBbQFuAW8BcAFxAXIBcwF0AXUBdgF3AXgBeQF6AXsBfAF9AX4BfwGAAYEBggGDAYQBhQGGAYcBiAGJAYoBiwGMAY0BjgGPAZAHdW5pMDBBMAd1bmkwMjM3B3VuaTAyQzkHdW5pMDJDQQd1bmkwMkNCBUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5B3VuaTIwMDIHdW5pMjAwMwd1bmkyMDA0B3VuaTIwMDUHdW5pMjAwNgd1bmkyMDA5B3VuaTIwMEEGbWludXRlB3VuaTIwRDcHdW5pMjEwRghJZnJha3R1cgd1bmkyMTEzC3dlaWVyc3RyYXNzCFJmcmFrdHVyBWFsZXBoCWFycm93bGVmdAdhcnJvd3VwCmFycm93cmlnaHQJYXJyb3dkb3duCWFycm93Ym90aAlhcnJvd3VwZG4HdW5pMjE5Ngd1bmkyMTk3B3VuaTIxOTgHdW5pMjE5OQd1bmkyMUE2B3VuaTIxQTkHdW5pMjFBQQd1bmkyMUJDB3VuaTIxQkQHdW5pMjFDMAd1bmkyMUMxB3VuaTIxQ0MMYXJyb3dkYmxsZWZ0CmFycm93ZGJsdXANYXJyb3dkYmxyaWdodAxhcnJvd2RibGRvd24MYXJyb3dkYmxib3RoB3VuaTIxRDUJdW5pdmVyc2FsC2V4aXN0ZW50aWFsCGVtcHR5c2V0CGdyYWRpZW50B2VsZW1lbnQIc3VjaHRoYXQHdW5pMjIxMwd1bmkyMjE1B3VuaTIyMTYMYXN0ZXJpc2ttYXRoB3VuaTIyMTgHdW5pMjIxOQxwcm9wb3J0aW9uYWwFYW5nbGUHdW5pMjIyMwd1bmkyMjI1CmxvZ2ljYWxhbmQJbG9naWNhbG9yDGludGVyc2VjdGlvbgV1bmlvbgdzaW1pbGFyB3VuaTIyNDAHdW5pMjI0Mwljb25ncnVlbnQHdW5pMjI0RAd1bmkyMjUwC2VxdWl2YWxlbmNlB3VuaTIyNkEHdW5pMjI2Qgd1bmkyMjdBB3VuaTIyN0IMcHJvcGVyc3Vic2V0DnByb3BlcnN1cGVyc2V0DHJlZmxleHN1YnNldA5yZWZsZXhzdXBlcnNldAd1bmkyMjhFB3VuaTIyOTEHdW5pMjI5Mgd1bmkyMjkzB3VuaTIyOTQKY2lyY2xlcGx1cwd1bmkyMjk2DmNpcmNsZW11bHRpcGx5B3VuaTIyOTgHdW5pMjI5OQd1bmkyMkEyB3VuaTIyQTMHdW5pMjJBNA1wZXJwZW5kaWN1bGFyB3VuaTIyQTgHdW5pMjJDNAdkb3RtYXRoB3VuaTIyQzYHdW5pMjJDOAd1bmkyMkVFB3VuaTIyRUYHdW5pMjJGMQd1bmkyMzA4B3VuaTIzMDkHdW5pMjMwQQd1bmkyMzBCB3VuaTIzMjIHdW5pMjMyMwd1bmkyNUIzB3VuaTI1QjkHdW5pMjVCRAd1bmkyNUMzB3VuaTI1RUYFc3BhZGUHdW5pMjY2MQd1bmkyNjYyBGNsdWIHdW5pMjY2RAd1bmkyNjZFB3VuaTI2NkYHdW5pMjdFOAd1bmkyN0U5B3VuaTI3RjUHdW5pMjdGNgd1bmkyN0Y3B3VuaTI3RjgHdW5pMjdGOQd1bmkyN0ZBB3VuaTI3RkMHdW5pMkEzRgd1bmkyQUFGB3VuaTJBQjAHdW5pRTAyMAAAAAABAAH//wAP) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AAEECQAOADQD5gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBNAGEAaQBuAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALQBCAG8AbABkAEkAdABhAGwAaQBjAEsAYQBUAGUAWABfAE0AYQBpAG4ALQBCAG8AbABkAEkAdABhAGwAaQBjAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBNAGEAaQBuAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAIIAAAABAAIAAwAEAAUABgAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AIAAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAGEBAgCOAIMA3gCQAJEAiQCgAKEA1wCwALEBAwDYAOEBBAEFAQYA2wDcAN0A2QDfAQcBCAEJAQoBCwEMAQ0BDgEPARABEQCyALMAtgC3ALQAtQd1bmkwMEEwB3VuaTAyMzcHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkAAAAAAQAB//8ADw==) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAEJcAA4AAAAAg7QAAEIBAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgkQIWgmcDBEICoHQZIGgdAE2AiQDhAwLgggABCAFiHIHgxcMgTIbxmlFB2LYOADg423SKEoWa2UUJZS0W/H/7YCDMQRzoOb7BEQo9UW0o+Nvq6XQ9C69R8s62L8g/NwIr+M4XlUdd07swxd2sLCFh4CH1W1dz7uGbB5epsGsW1R9zn9YC0+ijGJMO0Jjn+QOz6/N/37dv/59lRxHX1BxTRxxcHfQkp6gYhRGgeIQE124xqilMafTBYt2m7EKXQULFw38/3PU7rtvxldb9gyzOKoRDiQg6oRpn+fT83vjlQrMbKaPx3dJl6y4n2rqO3Od98sDK69sOQatbOlHBmqsxA7yrMatPrHKIF2llhdMCRu4BIYwjHadKiU+XMhUWdoPBZqILFlOwbdsp0xlSr7/2ttlbP6PC/yfunKvlbzdgJxDlVPpUqycw+uvnWk17Z/5AxLBh0AC5EMbWZu4KfOOgXGunfzg/Ujp1tumwWAcxi18PDiMQ1uCwf/Ulb5AUQEp8JR/QHaIHNLSIegHpVvfFvUWZUZd9eTjn9/fe8/AUm4b1L7gB2hkbfP51pr4zF3TkMgkUlrB5XXyr/8fbWYX85BWEuKhnJXA/2/T3va90Qd5QtoNeRXAjxX3IajSJl1SNCln3h3Be09jW28WpJHtrGb8QaMFaeT9sUdLggUt6iOUAQCt7IUjL39CroIlAZYpynR1fhmqUjR9inLLhNvAf3Oi/e/fHYVESJcQaBMmpmbk6LZmTboFKycRAuvvtjGrwW2NH4fnNLIxIoSA5XvZH1O+G3pz2uUAGQZJICnBvn8MIBgczm4wCILHfRwI2m68bnANZ2BI73oj0I8r9P0vdN5EnnUqHoxXOWKcfFqd5u8LBO16LwSB894PBBlZXfwIRNnEQTUKBQ5a8cXVCYMIyEIRJbTRyWrWM8kxTnCOF3iXT/iSP+NM1Dxf9FXf96Pe3H29s/d0sgd7pMcvrFFl1JnkM0P6rkmihDI66MbDDS/+BV/2XT/s3p0e7rELY1QatX873D513TWf+NgHzjvtAYftc5Nha8zlGvo/67/9n975+37nb38yFrSZWw1cS1zr+2QpBCAdU+7ynAKCOTOfnm+NOBRDlDTA++d3H835ZEwpCD0K1tG/jfv3jMKkdBCK+54Cq5eQ7Fwlfv/TM3uP9tcwQoq/EI54RQihdyhHxlpCLYT80m0hwB9cSQAa26gkDLFiSyJAc4Ks3ylchwwRgsvwesflpKGfMPfGoMQJsxMbojfjFh4MGBxNs0e2Kb+VbUz4HqGQJ65llAkoI8VQxB9ryyvcL0LzkCRHz8og4kPtcg0acOqGV1V+tnaVsjfsEa/ejmRCd355zjep2Ri5eaEeFMw3J+W/KrJKx4Z2CtmUkORgDjiaysEIaTwWkIgGnxkBTGRKuSg3EVQ7WhAOSjgk1OAJhQ/UulFDkt6tP4+XpAxhDS8x6VFtohJkCoWB9MwgT3FaEgN6IBqxAQXc8hS4I+HOWNtpt5J41BVG6WTBxKENGXXMjILUE4TbnCZ2ZltOPJGM/ycmMjvGSUTLtg9bJu6oF7UKeu49M8NOaEDDlRSAQi60EJxsROQK3QkIpR1FwpMRwU+CgrPZFAI+e2QcXqLSAxyLnqYtjdCtViZCK1wTf8/N2/xB4tJ8ikmwkiCl6iUaAb1k6amFmAtIk5apNO7RE7cEkYjFuj0tivQpcVpHMVRxi2RkXKs6ka4IUlveGrE6b2WAHBkeVPaF0yVJzFGAKefKc9S/jjslacMNnBQNUQbJ2KwKl6j0JksnxYDUZVGqDckqaazu+YxOuzpJ6UzGe5Tx+7b96u4pbuzsY7bNIkN0Zz9K5x6C7kiljsyBw2X5GZMDCDYFRCKxHEU30XBpHL2nyTMr3WFLzIAQrGZwzVXKOSAJaq1MyqpJ5IgZgm5Jl4CESlugejnLOBQZXHuetDv0KHNHqRNuDuFCuT0BUcWtwjnHA2IbE/TMLqRx28LeM6UcHhniFh5IIQGklGCkkhCkllCkkTCklXCkkwRILxHIIAl70yAiNCXeVve8oCL4nDMHLZneZkt+s98nzdjSttnfm8yIgmsG20fQz05ElQSJTdiIzdiwBRu2YsNJ2LANG07Ghu3YcAo2nIrNzgTqvEVZ+YHKho4UWSexZCqyzMId4ACzklln+jgngEFlSS2JH2R5rx7GDAfIpR2tLJurZTcUnWcZ042ef6GhcneU5gBoZwNv/e/JQaEWUolNgvSocqMF8aeQ9nS/yoecrVzAb5JcoMYgiAQhv92LSuahuleXzO+QJuCwa2ABMiz8FCo1CVnmzJ7LaXzglxPhj8zaO9Bdm69g4/Y85ReCEE/FHkfjBq0TWSLFhmIuHKdMB+qUD0+haCwq1N2Ju3Mxwa6VZaDn1p+gdtNocqfcVKtbb7MiIlncEtIPtkBOWhbWPO1tUwOUoRFijI2ppXg0zMJ6V9YxGQUjOUX68YOZTRH7b7cMEan2NWDLRFGps5CSJBYxK9vWJFqGIgVF8tB6Ohvh7lqymBGK2jisqITUHxq2LDEoAkX7QPomUnaUAmBMGt+Kv4OYr1CLNZETg3c62i6Oh1ez/B6MlsqKJR+SjHnmd5Q9QILQlYV3c8qOPJxoxwNBxaWSrVpBv2V21KPWKjuUXYg8ufd5d8zWwn0IVbu9yn6wMPvNDYBFmYwrKbT9mPI7KKE0KzrGUNCA+CKNFf4TkZJFiwC5TSuoUckHEncIWTQK13FuZ/ZvxaCUSWBkNXvZWj4YWzTjrHqLKJd7UeHODa14yjrOyo6EVBIJXI1xk1+00DyP3qr6Q6lPS21wfTEjsDEMO+nGIqN/UHMi4ksogH4KcyZai3kdZ02h8movtggKKR0DdRtAz9l9IOUeDKVhAxg57/HiCYIgvzAJoGkHmEX2HGzgheOlgVcGe01M0JuxEdEASGdTQCpMDyWmAbDO4bwjYH5eJHQAMXIkNRRyACkdQI38tcWMitN4dNuXmSkNstuM/azI3db7B4CyC8IpkPtDJdh4WYKfJSdQ887tuuuuQPcFz8N+lfKYpTxlKc9ZystSei3QW8HzDlcZH1nGZ5bxlWV8L6WfAv0WuCT7D6eO37897ifw/akdkWCzxRqr6kvjwecJ5BEZv8luUrKGAJSZGeSQbtsEBQAODXMBgsxPQJC9BdK7YCEImQ3BEId3L3wBCWVBWg5eSBVrYyUFEG1f3S1S18ySTTXunexxeevIit6XgnFQKvjx7+BRlJPo9QuIQgXFrJPr9cZomoGSUJzKNX9WZU0OH0hm2QJaIpEYpJJySbeiWpzHM8F0zbx5rTtLS8bK+vt4TZnaaRB3azrqmoND431FWq2eyVMl8bleZYY8WqKolhRKCgYylzRSiiouV1kUDNWVdHTVNtnEUkqSvFvmYPhFAYrKlNKFg8oyhirSKyie1kooiY3jvCzBs7kNKWlZiUDHXIlkQydLqvQajV5vs/vJHrdjkT1qjvgMiqspEBarIrDQ9yF9LlgDzSDLhLN5fxZjDbSAQqmWSQK4xBBGBdhRAEixYsKODTZ8ac0INvYQ5FIqlZ6nt782jlgDt2D7ArUCjSQ+wQoJOE/mhJofPoVDfSQ4bxxTQbgk7mrMelYkX8VYozL5GDQRmYOEUShoeuEvf3FpgH//O64dE+7LU1JqqSbfCoY+MLRZXNIolYAXhTIhuO8jrfp1XkH0gYQwW8IIB2ZhP+Fjl6Oqvoaaj1VPmU/TZVKs4puBzuH+47TDSHxY7f7okApiaE0YbLyJETPbnZOkJAqowue7bNSchWCHz1dLy0YqYZiSnojjm3ShCz+nbfJlDamA9htVx6iTs4SZQVTBBWjmFf5jDMJEgiJcdBL3FNKAPQriylxKzO+6KKFARiGV9lKahL43gJLk0BBBR54Jh4N9qeySTH7O5rqPLfjNr1dj9TGBgvvwFKE6evdTnfsxP9pNz210PUf3njCBaprQC0hQG6ZAkiBCwXtjnAqc2u81W0+5zD8pG81qSkHyK9xTo+uS1SuvhFJG8bCaq+XSaFHEyXEnYrYnQXss7r8qkPHygY49ZiCyFAq64/PlEP0PK6xoz//zCkwdOkuyrNEoc/hq9yd0BWT10l1lMBbjkvCOkUpdr3L+UJQ6s6RTTRSeZoqx036yEk0HhDrGxiKRa6H4mNHtMbGIJbePj62+2F6jdmQgt5sGg+GynXnaHl+OYVPrXaoPDAh/tul3Wi+FKKAiJskU02zfk2PDLhHSDd0WIi78KcTgUuCOTgykNd31PRvDKbAya0lGTNekB1UBNAeGrf2AcLEURjSgSm0RiYa6j1wgEyEQ1EmStd7pplx5BTTQzbaT1SN7/POEthEsfkrYFHE5ijE1J0yuyu1IDvqklo+D9jYAykSBTVwEpWwwN709dKMrD9qYm7YqkJ2U90uyqkR3RYRxSWowbrhXq1nZIAZGemfBGRYjYYZu3eJoIDkNCSU45Ijt555HOyTMTGWG5sywf51uwx2YEm4ZYZims9jz2eYKkkgWJjGAT6FRwhsm+2q9sZqH0mRNW0zdBoOlGMyw81l5NgItFP3dCJqpLTMBUqiNMojfQg+FNCGsY6bJBflEt5AJJUM2RJtqvWcjuqw0mItEOXzUwMx6uBtrfY1ExGYxw3JCnG3vYqy+Rh+CwkbEqJGzm97wE1oqFf72ppsIZY2Rt+8p9IUDdLADCONbQXlNNopPwQRVaoGNEs+49iYjzCQ/kEEedaaC3FyYf8hSsZGw2ErCMgUuBRPjzi5OPotsJ/2/QG5rZ2Phu6r/RbF8kq/GM5WFikQ97O/3IoP6oCwD8pwmiO0kmhiulKHupOBHcADnfm1dzYkuBr9B+JPEQBLWiNDlobpT9HFwQaKv/HKSgqwk3KM1UtnbAFlGOSCXCUq0DHIsS2/F46RR3AfZp83QqZAUFAkcep5M0VCsu7W5R5y0pPtRG8WHfJDSyAcFyOpvTy3zXbyWgTEvl/1/6ZHYvwUKLDPxoT8ZA39eJwK1nsXQBBXgD2XfIUbDijU7QUW7R44uBScng4BQuhTsGgo7zFVska/2DsIOQrW+WkY/kRY5w4kIhMPLUE4J/L0ui19LiEm8l9kuqU6JOAo55Y6d62EjSpRg1CtdNu/yn4XmpU+z7di0npnIVjgxZZnNhKERzuGLIFuBIvhKfffMtwqI0UVEqwgyZoovTEXSAHXo5xLsux9uuJ+nYHW9P7+GqGIEu/zSZOm8tcZTSBPy0kTPVIts9vh8IQIFVhAazDyUF2Cs9jT/ceIeQkK3izWx283cMFqjBMWpGY16LMzA3axltncVwUC5oKjfeGYLeckTYVMja6uLkp5FLKd9H98g2xVnUTpvb5d0wRbxUuxMc3/UniH3F8clMYEusE2kerUMeNkPgtiJY4FCWuGiNMaqGLxpBbFffdOtJDJIuUd3u0YHrTTI4EDc7h6d4qlmMCzVaUoo2H6SVH60Kzsv6aeIe5rlMqSirqpTXZO1FaoSB+Hh51R26c+BcNzsHGQVZ/IIyyIGVa/Mc5oxMccJ9YtnocdDvmc7DqpfnXWa6R1Pa7SDIk4TAdaqhOixUVURrZx0ld1dwRBX5r5AjHjpZZUfoSQ3KtH9A0B96eYqZxK93d3Y6HgGjZa303zYPzKlNBzh/F60Ii6aW5pXNv8mqESYZjiFeh5JjA+AIqXzAMitT2lVoXkkvvqGd8OWLrgAtvj8f5/PxP8ryT+QnTvS3xUFw8Tt+IuJj0wQ0MM+YdT3x06FjQbDJtgF+nnvlA+BpE1irK9LDXe2NPqjmo/8TTQMe+mC4zgl5/O4AHTLjlGppYzNtu/YF45ipyhR7Dgh1GIAS8F6j2Rzu4WkMr0jkik4XmZRj5Anqflvo6OqJuOVl43QlWmYZggrLzSvSjMz6QHKF5FzZizIkj5a6XCIiiCqkFpGO5uLICUE2PIhLup+y2MCr51U7xFMKsWRH1hmEEMh2h0+aII0baTDtk/ucm3idbba06SRZOvbldan0Q+6bnUux6rqFybIe8Wu2Sa5bxFvB8X0esg5XFtxzhdxak0mFksedTLCINwLzYWTDUVUrUFmJLYR53RoQol/4DFFaBmqcpKX3GJZbInR+cj5oPxtslkvzsYpGBLwyWzIKQItc0p8TBgsERTdUlEk3M9Yxaq8cVnTp+mOHprHZ+qZMAjRT61Iv1Y0G0zp+Y4oL54gYZjPpGIQINc80Y/JwR9OgZC/2xrOMOD2QcuQGzD9l32jMGc0DOern4yPOor0aIq0b5r8BrdSmekLqFDLYL8rVVUQXxPkCbrX1VN1leTQ5oZ7mb15FpRFOqXISsxxVF7eCwKej1retf18yjTAmbeP0UrZzBh3hxW/1+jLF+eT7z54IMk6TnSn0vxx9BpacF/EGAF/a6Kp4BDIT0/yu1c2ds70VhZ704aYvQZ//IUYoo8djyZh9KveAoRLZECeKXV6GPNDflaSIga93qw3HfqgwHvNQFcFPsAdSmGIHw5VrQrH6lCdGcgIEn7mEgxSCK3VGjPxf0GHsLS7Rv9DKazdDcupRXIvpBdttjuMHNPp/3ZteeN9mKaydIRRzgSGApmoMGHb0U5RDwsatUwWvsknrIIGnnd4gyaGiPyfZWMJG+fQKYduGO7vg1pEBKeOVCCVSnTrz1p4odVJB2Pf2y9y5clGm4oxsPzU5MDx6XeJjxmX8YibwfM0l3lneyJ4BdubDhKp32zHfaplxs3Y3oX3PNuO5Rkw6HTgh7JCkX49sLKF+F0JRu/3/JctGIoNGJhxgBSec+ugCu0dGaxYY+MmLoaqGQPKCHwNhGluuYXfTaz9scXnN+5GVAEXifsYs40kQfom0M+z/iahAdSspYXnPSvQ9bot1SfsVYwlBr/OPjoBMvFUKIzAMCyWPw9u4pgw6XV8i63smNnPJRIAVMSteM3Ec+d2hAaY6327Rs5bcojTKfATBa0pGClJGWvK7+Z2FPuL19xYR0WJVGbEVsNSg/CQZvnnwRxpHc0r0EMkWpOpAWU82uFwYJl0iQSztxFffDuCttHxyGMiaQ9hZ5Y5HFv7YVucMzXXU0kSC+sv8j+zIV0CdB9XexHFDekSeJG0Cl5hYjmzEatIQdCXR7eFRCwuDIlkPDBL9nWhSNeoBZdNUVMymCYANZujP0NW9c0tjZmAUQyUniZtug8IH2GcKlldHncqBWoRX0w4WGCqCMJQvTLfp0OepapUw2x/e7xE2LQtYXxKUT9NyJYgmFmszDXpbsg5s3K7iOyFRbePhdNxtu/udyBhPogOsRHf3JbjNR5uqPpGiK0nO6B2wZZsLhy3kTPnGyYgMxM2vcgieZXT/tb2zA7JHqQyCbktzKeVyHfAj+BEm83WPAfQu7lkCUM2favHvMv44vWFc9DjdIAaqXFtm6ARU9ezDvNf60yRueHnEhH7phGoPLKcy/mOXLBnVrvT6Y1Bd2nGshAnG9dJEkqwcfPI2mP9TFkxUkqcrnhzonmI6MQ5YYfMd971hGCt6iWWcNtVuMVPMdJ766H5aD7KWScoXEf6B2p8fHgYJVh7fDmNUOW6jazv515lBG6Qo4J+Ent5emKs3rkuNcxCY6AzpFI6OihFhvvXY8uRArDzZi4w1sUQBP5DFq2S+3TwJlsrLxwdS9MaRGXZFXoVwiiFQvTU0N2vW+Wn52hv03uigk1NLsn7XFUPPmXGnY60Gj4IRQCKUK3rAXVozLGqrqG/eepB+bPq4W4ev4OiGA+je528GaWg/oNEnqCC+rnieZr1RYQd+QnhPVIx+ohqtWRCf9prSc8MbEix7r1XJ5cLdJGWGBivm3bodm7UyxotLSYEphVRZvv3a06MiZxmSK7RvQm6b6KvMRvZnp5symttk3UWqGUSLbIfntsi/AXASR/J+6rvFf3kzMINLNBh7CHbiaQpkV/KT6DbxwFZee3Q3/br2JKFNMvy9cU2sh3QCxuD5LjCjd2lpkTB0kYuJQdIYkAMT8SFxJCz4M/qCdBujHNdoJ7I46lImhDzY2tGIKaWPWvzgJE3Mav4mjd/RgzZNFEUnqsstZ+cEa3pJoy5Qi8DHgV0SgrP23TaR0KGYol/F72TbFOwjsZuz4Mt1JFxB4UUmoZq9LjsrSj3mPBQPvNazieLkMjvYlhHRx9aU60JlTdZ18gM+63c3+V36qTHC/X7dYnYrKq/cekmOOJPG1CvhtRyQIEVn22NnEAJoiibAzRvOtcE6GRO/yj/8N3EWEqiP2YajFXCRBQNn0qdSZrkgvVqDTlmyBcQJAHVp+1teRo6YIxh7c6dLdUwUU832TzoLDNawtHdl81sa+mJFJeuX18zvzkZuWcKwxCjqopQI69FezqpJWcg9XuPi8yl1WvCVkkfTxKPA28K3P79rEjnMq48RuBwV3996+m/UuuNmGMC5pcFQyeC3iFVyBO41Oa9R2kmXZIOs3R+0rVBGF9Ee0VpM+8WEy7UC3YKxrnUPYcxO3kNQsrbIF1/P4U/KDdbrLBf7UbrB/Id2+ygatZLDI9JqxmRcVv4ohNKPkseS+vNrebioaQgMdWpPIdZoEniPPfWLDJpiIiYJSayVw/BohsPUlRp9cMYFskZOrv3exHyFZYzKtNdE1rbo5TbLNY5SkdzIvWdz/MRxNvkTn4r+bo2vx5pfxHB6lT+q6KEpZk+Gf1iOlwwE88nqyMqyPTy0WDmeQnPUdEBLBZhjLCgQzv/i1r0In8eV5bAz9/yTbsMTS7hLLU3Jyiz4tQcq6fCrH6U6m5m/W6fYJumR3oNAKjEbxEQz7QDgP79Ln1+ZYH5l8I3uznqJNVQI6rUqksmajEp26AosDFkSwnHUUNBhQSEcBAJwzgVp6S9x4PfZhgQTvw62QyOQ2GW2Uw8F9aWStgMDorNlQW/RqkN8jNc+DFFP2fdC+2EKCkCf49JSIdCvfqcyPiYfVm4zL2LnzKfXAGSweSesRd54TiXzdZdY+Kbl4h1MLpdI6QU6teZAnSrM9bUcl2YqjoW413Vhpp0Ig+nq9dV11jVumr0WfH9X/wgzuDnJSedyE9y+cGQokfKzA4KPLR6ybECS40rG1/3M5VEsL+/px+rOcRz8pKuCjvOM7PE89IkdBHJSDfB6KYznj9MIrWfEDa5SjP+QNg3mxbYm2eT7lfog0q6uHluFxEjzEAMpsrMVEus1AJeOEZAGD+8IosLI65YVbKS0zQr6r3b/TW71+Ovsyuf6LrDqn2n/ZTsMsb6wCn7osLdj1Ng5Q730oSq14NakmhokquKE/Icx0no/zNzWrBG+zAdYgsl2O2KyAzDCIKaCsYlsF4pj5PUoE6lRT6OaS0RAcQ4I20uCNJ0P6OVoA18eYOWknWw1Mmwlxzpj/1z+F0mUB8z+V+SkSseJ5EJh05lyrgQPtVf9ne++XTUncsMiwh3zLMv+WAviwPdvIZWm+BNAwq7siV5gzxcVmy9eF/14844kuYcDrRLI4qFVENUKAfGKaHvWhA0r8xQu6DHjTnw/WyBhjoRdeQk+/rpjtWOpb1n7IjbPQ2Er1deN3MsR1c8Ydv3oHFJPbz43X3pK3WKV3j1RzruPCEoVhzj9RcMimfUQl7NtnjKty+69YG5AHs5kKetehx3mM6ceexZB+CzjViyT/TXw0nVSWEwO2F6RCo5Y1q8qOaeyP64kHiSQLybZkzBQTB8ZCJACN5fEUCqbqm8uQaqfY99/ljVb/TH6bj/RMvC2nuG2R++P7zByj4TWabm8B2RxXZ2S2019OWHjx2Gv/8Dnmj5ZFClXP9rTnCWsqtH6q143VEPC14RIoCr3VS1lvLjxOMEzFnVIc4L9kIO931f0XXJNZmzAly3nKxXJfuzSQyvqt28oyHw+qFnXl5RxkSogJ6wfjQ2JfpixZi3lFpjkOKpKaHcKs82/k9ToSa0zeRxL0uYG9c2p+LG7LapJ9+dMWW2nfltlsWfXCNdnKZ0akC/pThnbPSJRG4rgCWYTEEqLCZxqranJuDKDAU1FLft3MHbqhblTn+Yr3+P853Z1qNQqqWNC8f8ogmhM9/jss0YqD6KfZCtR2BBKp37338wGUhtJZR642NKzW8a2z/ESTy5EOUapowVbaFaX8Oq9LRd1zLSb1RpYcGNT7s57CUT1WCWKycNLKv/KI4BwMA/E2lgaErV5of+uHLL9mYEe+yrtseEn2H4T3995NrXWks1OX8ZPVbR6M+QEF0WDI0uGwgdrb1ATSnMtZq5P2djBIub//p2e3UXyKcVJnce7vOgmGSpP3xqqGbnjdEj/liFA5+eI7+PBA7g2Xc80n9XMDH0LFgE1zOYsvr0I1evfm1swEUzYt5qkMv1cGaGOyCVHZER0boaRFJ5RzBxgYLFH4pA1l5mbX2DQK1VMxXtW4OG9VNl7hD+mwVFGx6RwKX/2+HNo87DysPO8a0I7BchLWLivBA3DhtHRkdNZ6TiM6bxcdOY6Sb89MpsP61hOkpD16KiT4lj2nt2pRUB2PS5RHGU1+aNgt14zd8JBH2KZic7FrvcCNbUnMDv4s4rdI/puVd43St44Is8MUS9sPnZp3Ka6NeV//w/z/jd+25+2KOZZz/oj7k9FfRy1Rh6KO+8ejS5MaVlbeFXb+cm3W2QYQ9Nv+q+Yj+UbnhvhYfVuX9/1/WaYd0yG/HHt6xYtgE1wuMBbU7FKuBEZeSeMCLoOgiZm2FyMCCmW4DZFAdmMdwPOHUB29W//BJY9hj+Tp3qZzWhmFQ3jEE/NCQHG2dVKVuP507PKz1W8pN3FcBNbSGpgfGcvTxZFBArAnC6IpZ1zqnoRB/sOyWUDn2/vwjmOHKoky3vW1ue2pD1z1Fx9SylfcQqPnWuLj7rb7V8rrhBNwcRygcrGFiPic/QcsWXJbVXcaYMmQeQk7ouRzuv2KXgKis1530K+QfZDH0nLV0795VjmPALmTlkUd/Qk5zY48v2ZIVyQlnvDfGK3e97Kg+/9XVD2/b1TUSXLNeX+xDGNpZYfOoflyC+92w57/3E1D6jdu6oh3ASluH/HjLdEYBXHrEX1Gb1mH5DCMNk4PK5lnnvW2W0FKBgtjocv3H8+BxZ2rs8grG1pH/l0EeMNEtCcK1cMwQLdWMjvlV3YoJf15OU3P/21jkfsTr82aw+DIlF4fw/Cjb/9QgKx2Hm9ovtGY86JZpD3Wha6p1+Lt5fmOf13aJTJrbv7yARL1YQLC/t8jNxSmVVIALXq0n4ZZHmba6FClgNRzXlOYE5Xgl+SZ9KAkuA+l7lePu6dQGMDeWVViYFw6nKdqkvv1Uw5StMerBbywgrDBn3Lp4VKqgQiLUeBWq1myklHbQ/o7+sE5xMKg4VnmQHVEaB3v6Shg/rH1tKTIufM876TM0UzGl6cR5EUTTACDRv2dljJEXGkc9Nrl15EbFGE/UfMYkyvR10romK4AIyjqB3H77R2rn4IqVMZkRe18tH8En83ttLwmX5s+b495yGulY2+YW8zNPW94XIml/tfL9PaX08qX0w74VX/lSry/+Z0/mN5yV3rCJL2l399k31sYAxmoEU6JLXGP9Oi6cUtoZPYaRiUSvV+Sc6UelUVY2Ljm2lAiS7E3ViXxFq2amaDz26BJaKwP7sSnU3ZSqQZEWd2vvZ+P0VoUoCJvF1+LG4YW76geU94cJgeMMCmdBE1N1dVeRsYddQQa5NZ4B0tul3DSdMxNc53AVW96qOe4XTfTCQk6Vl7zj7+GO8/n59ZjHfxkSLylfRzs1rViPI/zNxsxRaGbu6CMdwgv/aYnaWt7TFsvma993K4jykPuS0WIhvH6L6SLTs39CcJ/6JOn/OKQnkK5v0L47FPZ8keK1Czse/v4vjyDgimvj/rEXzrqH4Tqh7vu6TF3ccSSI1Nwq0Wd1v6bxh7y1FapdjTYH+a2j/OWk+IXkRVTUqG0I40x5bUS7+hXI29qbd9uFIfWDhoZeTdZ+1i9pte1X8BEJs9s51DclnZ3auWinpIowmIbWza3mStzs6Vwxfw1b4YtmhThXnsw97U33F7txKFAC/a2dBWVVrYMEdD7Uk33Wy0kEwQsy0yTjqyAvohMa3L7ZZK6vqVtxKKd5gjvHtfBtG2ghE+rOieOqn/TjaCnHUZ++3QHCkhaS9JnOcovx0pRMCyzOpGF9aHJdeb2BrIJokEA2shK2OLsyjwNPRirf/1MK5hHpCkkRnZTR+iwDBHsEugET2RG8BHR3E+7cVxx89A53sp5m4gtV2XuusefjA/vxgeQ4X0/TP8slnLzoAJToxKHSmx+dBZQLj7ApmPA0FAI7n0TH+7t6qByJVtEcBJvOYol8puLoampBU1OxRrn3K0doEweYd5m0AjUH+k796KmaXpcwRTX0fLmwtm9PeDBsrU3qECQHfOkVVRdZvVjakR+Uch85RNwxvbmBHzZpIjai/m6m+ycYpyK2dS+1nEvElYtK8KCTNS4LD1b7PMMKL8WyDnIwLOEkO/t5txfGHT3c1CBKbZy8tGSya05p/NijeeBrqbN3Jsziw+8HgJCXHsVJjjoDsc2aN6jtF1W5pMFD/DuCvaa9xrm0q7sgnShIoOZitd8yuMG81jwUVEsdIxMjRWR4nNTPzJLTvAJ6TL0exzDqzw/471ZvruWSji39GgKGxWu5NS7LQVC6ALpuG73wrAJGkOerfQFOv/1GUHhBK0TDU+lmduOGqrXOfySmTOuMo0jkNqt0mHI9DTCtkMkYguYxzIWLKTF3aOJqVlrjx3ZnbJ4BRIVauzDnSAO9m5aYImLJZDRsMGx27f0vcch+sgll8kUDehyGlM8zQpwgJbNKkmf1bvsOw3rBG9gxsZvbj4j4W38rNG9u7wve65khPwuPGdnVYWOFTRtv7Ihm1aUj7A48LiBPRdN6Hpykg5joB1+AVxtGs4rg0rSPnkhVBp6nnqqrwEJdGB6Bd6AdeZ8Fi0Yut6dxHG3YougZmSkvhkZHir0ggVrj/9JcEdI6+POt4GoZYvJFJQoYZODrL6zQK2ThQdQyL1mwMfAQMRkaMW0ybCfh4fl2ijVI3nrZIkqpQxLuZi5QPt1VcmzTVCyr/STLvPl3fTI+noYL9z6TwuUi632HE2Hag7jwpttmhXbrI6K6uAPiFJaIoO4zSmQ4fST3dqQxAMnF5KszxgB+hF7UlrfrcntRV900XWxjKd9k6TOwtsMa+xGOeidvk3nP5b9na3ib+BFDUQrQUCJXD1VO4WOiH1rFyS9gBDmxd01+bqwCyBpKvXJ2sUrIcKNzOa0sEXHMSG3mnJe4EnZFZdXZzV8kxdTl4fpIJwcbiuOTpCjoMMVKOTi8LiTPVWA+JHLyKgPSHxIjv5EYO08ZlP8qdx+eVmbpUbRBHCejrKzF58vDSfHibA0Y9gT4/7W82tJT0m5phpOlfiFFPncfvA4wHkkuFygTL/ALnbqKwGY9GV5fJDFxWZD9dPx7ZCt0MnZ90aNVGuCXaH07cMbJIG4KNaQmZqZmvhmgJR1hHazxlTifUSDNcbhz2zHgIYDxIPnN1kF7HGbIcsNVe4Zi3pE/+C5y3RWe8boojxuJ4c0WEpU5OQ4ApGXiK9J7Iviw2eEkRllYcF4/kihyE6MQ1mPD5zyKko6igM6nKVm4EPE8l3LvGn6q6c8AM1v6BGPYyHJ0FeIQBJsSBa56S6C43Sfq391eoKs2Ju491G37M6pguL1+7bvOHHcW17q8v1VX0+MnYur5ZpmBWj3wDpwsXdBZGaH7xf0OhUPIyfbugRkCU+v6BAF7Pkyeg/XGZySu3JhWM9NS8PjoLatStuA6VgM0p/hn6yeqIB5JDO7C7HJi3U0EqCHuDXb8FLpKhxwU0dj9xFX89vdPKX4zFBBLd5WbJnG3zOJxYf8/12VmHsILcgFGURjWuKSSESsHdGRONYocoDDfqaiz7CuzF/nRb6oD61kZv1qimVhjJocNlPSsjkmh1bVtn0pnTud0fX0PBXQLLhEFVoTaZTTkiF7+K7z0KfUoO/1BZ6zLNVLUFTrmiS30Syc2w+m2Of/PGZnW6iMh/B33eIykL5+ax3/0vLSK7r5UaRowbg7BBTq8DZxqBsm1CnWFdNBRZJJmk7eY4fx4TpmveAru1xbnTl+g3lhDH9qSFSsro7q2hyB61omSz71IFlzah91RLdg60PPqzKLb94+2vUXGJIP9zs5kkBPUMKkDzdSOD+S3dJZq7Qlvs83/wUDJzI+lr6r9NYp09vZXa+oTbShpRWEIgBV8xlosHzSrHTz4SYDDfK3WJh9egABLg1ncgxEkZzSQjdG8tTh7icjI8Xgu1LQOFzYkgZM9VDz2xQt8PKemT9gU4ctLYdfhCgA/SAgSpz+hJazF03O7GV3H1ifkRpRvv24uux/WN1GNPq+d/AHvY7FZn6OoedRTpXCXTp/1RJ9wNE5A/yZWzVvJ1h3/5p7JoBb4hAadcR8HYl2PfWm0CxVKxxe3CkWzAbSQpxDzlSUKPqaclwbE5TM4qSGeXsRydBSsBC3tR7NPshb8Y00DiwR096/ImiW+vkSHgbAkOB0dcHTCCy7dtksxdIP25PJu8RGBnj6jwYp7bG41zVByi30e/XNN67Gvfah1IsOQyAapcDvK71DztTiOlwqWXdmP3mau49CBEKKmj5LKr3+T0ygGDaM1yuTnqL46Le/IXwMKxuky3Cb8V2FK7Ba9HryR6LQybqf7VPUuLbBk3pW8wj11Sk8TNTbynULxbJDEaYdGYNy0+OSGw83DZeXj0HstcgbhkSmyj02ElwpImFJFXwKqck8YRgTJhpfYM/G3fcGt23v7cSffWS7pcON3vNJ6AqjU1kFzK0lmlsRPI08Z3cVD7OXRqf1M/nStQUrJo9Eku4z9nyMnyzK4Ca95uVCbcD2Y/yKy6pLfBGY5s2ZX8xbCo4p5WZmLvBA7H9fBL/2SD/ThrlIoEKQo4N4JLf+GzFvPKdZ/qm1l718pbVYn+5weBcPhUCkhw2UnAz98XQCSD8B+pf6R4oC6BV65+W9+ZKBfjx3vhohHcaXqEInF+CHxGz2RD4xXVUFe5cFVcUdNncsoUIgSUvONGUepN/InLpJi6UFBgcsMiufsNv7nwARXPKIrHEFjm3wXByfjPzz/2F7M8BT+EoW6oM/319/8cXRGNkp8D3EzdsQHqCVDxoXIG71WRH68YRAGgXRSziHz5oy2lavziYUkdH1JmKnjd088+bqGrog6jEKMov1MRn07oHBsvCQH0RvXk0twOZ12B/g7S17CgZYk2afGWX1N2PfBPsuFao9ZL+uk6DZHVfYxiiqYOPt3DNSt7cSlx930ghAYxiVBsusm8BY5fSSsKtvpjjvqazdLM7EAsoDYMPCyJHpzi4ojRpylpyJd27zzp4lupimSevz9Z+PmugWbSp55H3L1+yQj3m48zNayStQiYSmM3bf2+d+OdhJuxfjyrid5sUA6v9sR9mnJZVc9Kv1KnFLVRHlauw9RUD5VkwCPndAjLui5iq36AEyCIhjAJubcOYwzPBODtM/UL1/iki4N1uz9lugWvGaTP5/n3Wp0vYVLi4scz5jqvQ84N10uzvXb+Xbk4NFu2UVWaoJqSNnzSMvvPfy+DEwiS3LvTJjWUZgXP3Vr4VYbyBxXN+XhdzXkRULXBxKxOfaMNI1/Il3rU4yDbHeNLS/yRHPW45bF3FN0/Tc/zkpa3jJrftFSMNgRhFpN9ufBWaWUm0ypI1exQboLT02N8aVoiIxNGuRwlv2bOs/MmBJbfjDpUQ8XwgVpyKamEGuElXj029sQDyNdvAQBdyY0O+sB37gYPHGvfOfP/CHwJu7GgHwJ5T0gmM9mC7wo+gUvfvq3TWTjqU/lmP12TIxnZHrgbgh3PIsK+X9IIx4tP/q6eSwWI7e35dsLjIxyxg/eqB9SD9674iJEaJXticQCI/HxAh5TwcpEn+wWn9om/tREpqUFpis66k/akBcQ4RUU9psVVisWk7YKN+yt93XIl/k0jZ1FQsymFl6fikucl/WIjtU1c5oJoMoCWKGLZNS7a+qCNRuHmX+EoyZKMccn0ExZpRigXxAhhE4usaMv1ooulg+ey4ohgxtlbLZ0gSmNdMrXj+eOaBc+CmWhItZizTBrULgXVQ5qeqcc0fd/+VNQzLsyQGhU2acGXHSQpFCT+9+5k383mUckadLfNpP3CYP5bR/aQioezNzaWN0RnbZyaOteLeCMLVXXy0gUKQsvKI/jsgZjHSGAwLMC8CEI5tJ7FX5ApyWnCfiLzTe+zHhQoetjoeDBj+MoA6BekkRqu3KEUU6oc8+tWFv1sHHlZfypSp9YZP3Cvaq5hffL7xVoiqMLUnDr8Jq9Z+7zFc+9GVf/0xV+bL9CJTZx0B8o2AMBKUZiKY6pHtS3FHpkX/bXg/qHdJ6Gx8xWyn0VziW5c+8S/ujo5A+OAIXO0g2kByRG87xX12EFT0kcWkYYbK0zfuERpywrx2hI0Q2Liqemj/2/4QQkR/wsn+vVlfRyLXkxUuJPmrH53Y3l+TaChvap9+HgHc4Mvj7RVacq5efnPpPqs+s+Xqps17a7MIbce2Q3b3k+jmW4iwq07w0rz9an+od5c/Dr52c1NhpCKXvxeC8M2sFGUIAWoKoRkpTWKyHJAB0xsYB1RB1nFrHgXzxSZOPGDQbszq4+IYznaBvwCE8a50zps2kp8JioItvlU2ZLKpvUPLNHmzYyNaEhERG5zIit9gi1zOgSyAFCrfJBUZKWzymJU1pEoF2fqtpxYupSWiEOfOZjmjLa52CEMplx4QMgrUu5L0vBqsoe0/9cDTxuEjj/tdetN46ab8mPQjyX8C5Q949UVrwoaTdjL/+pcc0co/oMhvnyrnMqwJZUva63o+GCdwvClluqjrHLS6ATY2GqXac28H1X8x9P7KjbbPI7p1xoyPkzRXFHocPViKSkm6DBTC8EZmQ36d5Buy+74w5sGPQBjjE+f/n3Fe6LCXjlFxRYee/fa2DW93WKXWveYt0NwRkYcySyB2KnkLLpO7h0f+giXCAt/yLde/LVyfrqcMxPBxtOBLdOW1PdTMImle227IujMEOM4UmmzwfmrvCoFz6R1pDjxwwtiEsQpioomlL1//8H3zHk9Bdx3FB8ZZq2Zq3U2uk63LNW/ae8XyWU+T5GJDuijs1I3O+X6hdXKbpIw70zCJLrIvlFtdRFx8s7shVxsngp78iJeu9wn0CS2UTP/ZnOFh+MdfEabFQSKfMHSUrdjdNGz0dq33kQ2eIX1386uJBEeNRZ8mfSKQa/F6Wrj8KSOl+hQlf5ekWHtrSteCeleZ2qy8u6LSidFDdV8VtPAwRuR0NlVdzrtVrVFh2vIHjK1pGHFrZS450GdPedKVqbcmS5anKnzvIGDOMXC0JLQ7rx2+EdD6eWcOdlJqb2kwgwwQ3t3auy8Lx1B72iUYd+RYU9Z0m3WvYWt4IGj6pq1iYB9xSJUqBfM/U/+KXeZEvo0tp/1HJcCl8uCv3zkgIFYHLtr2y/Dy/et6EBIXEzG0QWZV44Nzjueu2qSbCvmTdvusjfIRV1+lJG8Nv8NnWTk4Pf3uynp1yVlFxxiMo7PT6kcXr90sfB7Ea/0lXGkWa4kMPsNXPgGOi1q9JFfXbmCDK0gFen3HzuOI/GZ6kUsKqn/EnJtdgo1Rz/EkWbVHbrUsG6rjn3suiq1Wn1j+QTKHuMMzxMPv2p908gMH5yOkMUZvDxpenljzJGa9ehVozpNM76LeAvPFaqNMb6s5MEMy+i5ET2OYySAaaAqcjlNu8ceMOs/o0TwMzgiva4omYK6rXA6jKb6ZVclum2/3ibSnRiqczb8bs7Bde+BbFrUFcQRps0k/M/wdboV96CqgiTTqGksqSTfFj+mVn0sxPCyBRz/5Tsem2Gtfh2Mm035P8dFgUet7cf7ZuLDD0lqY2Mykb3GsEa3cmtRf9EAmydQT4gsAS8Pvi9LnY+7PcOwACTdRYGSE6YtxKWc4orBdaMfdpSUZ1aLF2lqW0Yhd1ltvOHoXxVVbQBkW7JD8zhcuPno54NZY57aO6PF7YigSAAYcyD+qvtMFXoCjhDBwCeWOYZucbPQmH21svmN/30NTRlff0duPiCHly/P6/oj4cpelz4gX8Mo0icBCkSReeabUY8z/PBb6k2eagSkp1NGbmYGoOZTzYX/6bN3yxA7C5GwaaS3vFE4q73Y/wz25aNKrGJuX2ly2Kp8mNcU6db6AHL7q5xw7w9cg1fOjj5lBosyktLumv7kuz5lyGxMNmTcED/3UjdGeTRd993/Urfc4DLof9dSMfzpjy/oCx7o1VKRoMzpHxDAQYDQe0WenHDxKWvJ7WapTII4gStAZHTZQosxuXL3vzUL346QwbMqqUECp90SLc74ISWDkrXSUfjCRuX3WpKt4E0N53EgTbn5DUvhDYmjVLaHTKnKMazRLgVwVcS+bB1V1yTaq95QNWvRgahJpEn+ZaR+AYgdOSPAYwtRaaZOwCsF4o6S6h3RnHz7p0uhcDhcFb2FaE5anrN/yKqsrks1bSU9NmUNvPjOsTobCoojOZVL7sTeFfGWlJCqpnO7QPThBtl0PuEF+38MMAIPRLE2ns5cQqp+J2qdpnHzDtQDtSrv+fpdU+OTS8F3di6gnGcPQeS+xwyaZXVk99aetZve6yirctYKPYSTUm/1MAeQpx+CTphtWAZctRmOpjs0coW0U2G0SqdYcCIP1q/+9zs492mw4u03MhJ/DZq1yVS2nywLDaxkT+tSuhqR0oKPtimb6+vK3EeIz5jCYIffcBdVHl+6ZvsN6nqVvh4yxi+22ZLtzPvYhAKGwhWwUf2kJaPVKjvll7gCh3xRt5njVdJFPBf53hJyB7n6tQvakp/UJNd9q57LNlqrXXRRpzauDIprDAq76h+tyNP4ZsoVHOjCoEV3nBVxh+XJPluWUuGhFv+YSjPIYaDXwN/DTGYCUo5Hz/CIR64MjP1v792ZjlH0Rqn6lY8D45y+y20CCtdiL2GAAXs6nSjZMO3AsSEC2b97ZGEZ/mOYvCdWgzGKODMFjd4d40syceSczC2Tb80NF+h2Laa2oNjKj+zUxG2ml3DjOP0dTU1WeHcBZInPFXX2bmCT8E1wdkkoL/U2s5gWYUkC2xNJjmr/d4UxESOEFf8M9OI3Gi+H9g9eR40HgDADfz+BjJ5DdMLcvDxvgR/EvvpdgKVWFhGblwLy0M2qrx0e+P33PzTrwzFTLW/f/AcbhkoW25htGajgGdisEykTVinfA9Q9E3j2Sz6KCzJbHhLjCBWpo8wMfP2UhalY5Pzf9T8Avf/DrxD6ZIPv3qkvnxvobB6orn+he+c5Z7m7XZ7ENYTDbW3Jpz7YtAdWqcHAQEZJXK4QIjJvWjw9lUUAZZbLRgTfX2yiPy6nlk7g5oDL4yFR69xasD/93lSI8fpIOtvCDSili65qeSGsAQqEhcyIA5EGgUZddSVyMtIdcWnepOBb/FsawMs/GLx4OAXjMXg3jHd1zir8lzvhxJZFKIBKaEYRygp3EaQpmtsjEaC/vPIY1LPshrdRgvYzrr7APrb4GhSEbHdxDMvTiyF48yiCTEAsQ+UCaFPNVNOQ2ZhAYFSBeEc3QX5f4uczCRTR3wpDmB0S0uQSOAcIMSCRLmT3uReuGJvD78WaRPga79L022BgNv0vius+FRQ8sFj454tcNqQJKiDYXgUE3pGLvrIGfK1jRxzA/QBFKQwrv4BBZ0mQzRnbV4+cWDgbJleYIATYdm3ZPT4fWliOvPD94wl9Y2pU7sDRpin7kpok0oRht+bBaXpcregH+sHL0q7dVVPhfWsiORCysBGfCZ8920Yv7jIXL3GoSDesUtR705X2UEFLjOKEACTThKNiVZ/II86Q9jzqksmXKlWYJqJzDU2nHK6wIMRUNFOVi6TDCt1sOgy/spDYuzH56mXH5P6Euh1wlFj7mHASGSqMAkT8R6fK5Htfz/e9aPb4BzUvETAFszF4wQeqbXtFEX4O0M0z3O97/gdj5tu9zQAg0nfSKwufr+cpTFp1cFGXaP/9d+jXAaS7q422hc8WpKf8JbqcofoLVDshPB5njcGzopGn4LnHcQBAfNLELw4HjpKgnlyUkvawclbFWZ/VIK7Q1BGq9D8u00Fr+eAG5vID9yOWbqrccRyQCOgfSF6Z/PBNrHXkJ39KPNkxujpd9/DV9A6vqgufuN9lEaiMwFZiEWq4qL7Ld79t5dTJIXGEMEo6VjaQ4Uw1iRF1FV2/fV1SsWwpBmhz2pqd1bcYKVLeh6HBO0hTLBoTlPLhqk2OxpqU1qoSX0Wx/OT4I4vantMJRkzZEt961uOP9gkk+DaI5/BeTZetADAByLSO5NBinYbcYnTDtLLUYXr2Wfsn5z9XZwfjlR0pX2zZvkqw4pq5UkMB5wuU4hyn+wj/HqgO23PekF4n+RRA9x0W+Uib34RvtbuU7hYm65PIOzNXSvyZiiInvdgnddXPN20xDIdfMUgWSmRLXgDgVyFFk8xQfO2mhyS3UmIU+eTP192dIiARCrRLYDDX1G9ABBcIySHTcusSs9xbOqJQwonD5XnenGxF5kjGOpKXrhJrJVdSo1JWln/eEfrJDunmZ3QKAtKVdibLQmHGmCULKplleUSLepvrK0pUAH0bM7wu15I+TWEgyULIx8iFtKyAZQLyCXxYUgzAF0GrQgjJWqmcJZZL0+UQK9JwaNCXZ9e0FfGDzlaWuJNpCIExgUKH3T5DSbDhjtVSRpCXi+BgXaVdHBzsKUgZE6tTQIPONtUGCzUwsopcHUmwNIOEucI/bqz7WJ9CThX5LHXd+sYJpSqLfcamlHgwrtpL5DTU+FPFvlpLE0UKCtlvrHPgPMkWSrbzshbxqXzqOilaN5QyiwAg9NH5WSrLZWMRdJGsaQrW+lKZYIHTxPgqrXBpntUmG6SpIgPBTsrMEEHL5YisRsxiCUCUJEEdIwRWYzhFYNj+PKOQjgvgksJIh6SSVHUSuC4HKdmlkh2AkywFKbEADihpIhJQ6o6b1Zy5wv4yZzIli0hohN5OV2NtyMW6zwZK87Ps0maRxbgF1ywsytheR6zSK4bqeIInrdhkEUCSiG8GDkEwrPkR8c7Qc2UYktJSK0SA4olet0UpQRChDGamyGFZAcklBLcDtrd21fJ5XpFcLR+XzwsW8QcLYJ4QAfamEUwtCwIQtWWP1vmjvdwpL/4j5MjXnLuvfTkTY7WuwdFep4EgAoIhyE1xlVoaau3/EbQY0Ep0dhN/4+qQrAFylg0BN/OEoRN1sTTLTDjDhkrmrdzObshQmeFZwNudYBLEnFTw09EXbHAV7sKZeC5eicdwL59XtbsJqi9DPHH7/Ioip8j3Ird6Q55HyHUHOcWhWwMblpsRnEqh2gIox6XkdpiiKs3+gN4ywPMM/F6+iyovcn+APpP5X6v/otixwxecTX3cVG5rfs5M0DZaHjc7F5mvz7HQeSH6zYMEQINDOEyvkeIMgqCmugibGZnZYDw5O0fcwbdTnWqaVAG9GMT7spcozJcAmov8D4aBPJ78YKa9SynE6ObBwExH48gKSNN9jwPu5L5UzzUnyiD6PJ4IYhOlw86vLcu76CpyATMpF0E2HvcIBe5LfkUu+WukbyG998EuViR4T/+3NG6eF9cShm6IXuBje4AcQFmMvgcKhRRQ2jEJ0i8SSO8ptMT21jaE+IBm2QpgHdgKJvHoVgif/61Q5qBbYXyxzY83biVtfaD/xMpk94v8NLqAScDh2TC7XmePpIvjShXIuFGnFRoFMCwHqiqKqogZSuX00ueV1eG7JsJ/uFM2zqfhICewsTdJoC2jCNQdPHjcxFqTCpSsspXKmKGUaD63jayJw5DwTJ8PvZARpebqMKcwOkJuBu/Tkk6ZGS160mWJsmHqYErDI2jh8hVQmp8dkW4pbC+h9AOgpYoNvcpcG0Rgkic+qO9qzPyOpKTIUo5WnwetIfal9Ml0ojgXvDOxhuCAVermL6FhGbeP1SIoFYWB0kqJxLiutZxp9IlZ6iVs6hgGEgJ3ukVIlwOnfeDYK85gJKsaaNbRHUrxa6tx0GU1BRHL9K8yeRbr5gZC5RyR0DAbL7yb1szqWlQyY0QSqUZ1ollXailKOqqrQvzah06Z6bf8G3VKGo7GFv0iZzYVLh2b/khX+L91uzoRhETEJKRk5EgUGoPF4SkoqahpaOnoGZlZWCWxSWaXIlWadBkyZRXbfa2LW7YcufLkK1CoSLESpTyycgqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWiMDQTpt8bLcJW03a7x0nnEyhd10PCjCAQx/40Efe80kEgABCIAJiIAFSIANyQAIKOuW0R531iDPZCJYvGHC8+PHCeMir1+8f0Pm4+Y9Ch5V3Dw52207E649vbsb6Zy/rxqu7B3v6uuHmATgygEUH5rQ1ji9aOjB/4QIk0j+ARHatG//x1GPgevmiX9R/6KXLnwTZqQS/R77ZcxISzNN2CJZq9j+jIeQoLDo8IgnnYEs4LwjexiRh4g2JHwF5ZFo+hhBQ4LWCsW1/wvO/+YD6JHv3OYKdCwrcmnxyyDlPfBVghMf37r1M9KrP6AgKhWWp52A+OPrOg8X9YR84FDgAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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WFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrMoAAIAKrEAB0K1GwgPBAIKKrEAB0K1JQYVAgIKKrEACUK7BwAEAAACAAsqsQALQrsAQABAAAIACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVm1HQgRBAIOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGALAAAACFQAAAsH/6gIVAAAAVABUACUAJQKr//YCtgG6//b/PgIVAAACtv/qArYBuv/1/zMCFQAAAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAUAKIAAwABBAkAAgAMALYAAwABBAkAAwBCAMIAAwABBAkABAAiAQQAAwABBAkABQBCASYAAwABBAkABgAiAQQAAwABBAkADQJkAWgAAwABBAkADgA0A8wAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAGkAbgBJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALQBJAHQAYQBsAGkAYwBLAGEAVABlAFgAXwBNAGEAaQBuAC0ASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAACDAAAAAQACAAMABAAFAAYACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeACAAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AEAAQQBCAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBhAQIAjgCDAN4AkACRAIkAoAChANcAsACxAQMA2ADhAQQBBQEGANsA3ADdANkA3wEHAQgBCQEKAQsBDAENAQ4BDwEQAREAsgCzALYAtwC0ALUBEgd1bmkwMEEwB3VuaTAyMzcHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkHdW5pMjEwRgAAAQAB//8ADw==) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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BiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrMoAAIAKrEAB0K1GwgPBAIKKrEAB0K1JQYVAgIKKrEACUK7BwAEAAACAAsqsQALQrsAQABAAAIACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVm1HQgRBAIOKrgB/4WwBI2xAgBEswVkBgBERAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAYABgAGAKoAAACFQAAAsH/6gIVAAAAYgBiACYAJgKrAAACtgGvAAD/PgIVAAACtv/qArYBwP/1/zMCFQAAAAAAAAAJAHIAAwABBAkAAACiAAAAAwABBAkAAQAUAKIAAwABBAkAAgAOALYAAwABBAkAAwBEAMQAAwABBAkABAAkAQgAAwABBAkABQBCASwAAwABBAkABgAkAQgAAwABBAkADQJkAW4AAwABBAkADgA0A9IAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAGkAbgBSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8ATQBhAGkAbgAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8ATQBhAGkAbgAtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQBpAG4ALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAAAABHgAAAAEAAgADAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwAHQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAhQCGAI4ApACDAJMAiADeAJAA8ACRAIkAoAC4AKEA1wCwALEBAwDYAOEBBAEFAQYA2wDcAN0A2QDfAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYALIAswC2ALcAtAC1AIIAwgCrARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AJgBOgE7ATwBPQE+AO8BPwFAAUEBQgFDAUQApQFFAJIBRgFHAUgBSQFKAUsBTACcAU0BTgFPAVAApwFRAVIBUwCUAJUBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUB3VuaTAwQTAHdW5pMDIzNwd1bmkwMkM5B3VuaTAyQ0EHdW5pMDJDQgVHYW1tYQd1bmkwMzk0BVRoZXRhBkxhbWJkYQJYaQJQaQVTaWdtYQdVcHNpbG9uA1BoaQNQc2kHdW5pMDNBOQd1bmkyMDAyB3VuaTIwMDMHdW5pMjAwNAd1bmkyMDA1B3VuaTIwMDYHdW5pMjAwOQd1bmkyMDBBBm1pbnV0ZQd1bmkyMEQ3B3VuaTIxMEYISWZyYWt0dXIHdW5pMjExMwt3ZWllcnN0cmFzcwhSZnJha3R1cgVhbGVwaAlhcnJvd2xlZnQHYXJyb3d1cAphcnJvd3JpZ2h0CWFycm93ZG93bglhcnJvd2JvdGgJYXJyb3d1cGRuB3VuaTIxOTYHdW5pMjE5Nwd1bmkyMTk4B3VuaTIxOTkHdW5pMjFBNgd1bmkyMUE5B3VuaTIxQUEHdW5pMjFCQwd1bmkyMUJEB3VuaTIxQzAHdW5pMjFDMQd1bmkyMUNDDGFycm93ZGJsbGVmdAphcnJvd2RibHVwDWFycm93ZGJscmlnaHQMYXJyb3dkYmxkb3duDGFycm93ZGJsYm90aAd1bmkyMUQ1CXVuaXZlcnNhbAtleGlzdGVudGlhbAhlbXB0eXNldAhncmFkaWVudAdlbGVtZW50CHN1Y2h0aGF0B3VuaTIyMTMHdW5pMjIxNQd1bmkyMjE2DGFzdGVyaXNrbWF0aAd1bmkyMjE4B3VuaTIyMTkMcHJvcG9ydGlvbmFsBWFuZ2xlB3VuaTIyMjMHdW5pMjIyNQpsb2dpY2FsYW5kCWxvZ2ljYWxvcgxpbnRlcnNlY3Rpb24FdW5pb24Hc2ltaWxhcgd1bmkyMjQwB3VuaTIyNDMJY29uZ3J1ZW50B3VuaTIyNEQHdW5pMjI1MAtlcXVpdmFsZW5jZQd1bmkyMjZBB3VuaTIyNkIHdW5pMjI3QQd1bmkyMjdCDHByb3BlcnN1YnNldA5wcm9wZXJzdXBlcnNldAxyZWZsZXhzdWJzZXQOcmVmbGV4c3VwZXJzZXQHdW5pMjI4RQd1bmkyMjkxB3VuaTIyOTIHdW5pMjI5Mwd1bmkyMjk0CmNpcmNsZXBsdXMHdW5pMjI5Ng5jaXJjbGVtdWx0aXBseQd1bmkyMjk4B3VuaTIyOTkHdW5pMjJBMgd1bmkyMkEzB3VuaTIyQTQNcGVycGVuZGljdWxhcgd1bmkyMkE4B3VuaTIyQzQHZG90bWF0aAd1bmkyMkM2B3VuaTIyQzgHdW5pMjJFRQd1bmkyMkVGB3VuaTIyRjEHdW5pMjMwOAd1bmkyMzA5B3VuaTIzMEEHdW5pMjMwQgd1bmkyMzIyB3VuaTIzMjMHdW5pMjNCMAd1bmkyM0IxB3VuaTI1QjMHdW5pMjVCOQd1bmkyNUJEB3VuaTI1QzMHdW5pMjVFRgVzcGFkZQd1bmkyNjYxB3VuaTI2NjIEY2x1Ygd1bmkyNjZEB3VuaTI2NkUHdW5pMjY2Rgd1bmkyN0U4B3VuaTI3RTkHdW5pMjdFRQd1bmkyN0VGB3VuaTI3RjUHdW5pMjdGNgd1bmkyN0Y3B3VuaTI3RjgHdW5pMjdGOQd1bmkyN0ZBB3VuaTI3RkMHdW5pMkEzRgd1bmkyQUFGB3VuaTJBQjAHdW5pRTAyMAAAAAABAAH//wAP) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBNAGEAdABoAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQB0AGgALQBCAG8AbABkAEkAdABhAGwAaQBjAEsAYQBUAGUAWABfAE0AYQB0AGgALQBCAG8AbABkAEkAdABhAGwAaQBjAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBNAGEAdABoAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAG4AAAABAAIAAwATABQAFQAWABcAGAAZABoAGwAcACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0BAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwAmwEdAR4BHwEgASEBIgEjASQBJQEmAScBKAEpASoBKwEsB3VuaTAwQTAFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkFYWxwaGEEYmV0YQVnYW1tYQVkZWx0YQdlcHNpbG9uBHpldGEDZXRhBXRoZXRhBGlvdGEFa2FwcGEGbGFtYmRhB3VuaTAzQkMCbnUCeGkHb21pY3JvbgNyaG8Gc2lnbWExBXNpZ21hA3RhdQd1cHNpbG9uA3BoaQNjaGkDcHNpBW9tZWdhBnRoZXRhMQRwaGkxBm9tZWdhMQd1bmkwM0YxB3VuaTAzRjUHdW5pRTEzMQd1bmlFMjM3AAAAAAEAAf//AA8=) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AMIAAwABBAkABAAiAQQAAwABBAkABQBCASYAAwABBAkABgAiAQQAAwABBAkADQJkAWgAAwABBAkADgA0A8wAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8ATQBhAHQAaABJAHQAYQBsAGkAYwBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAE0AYQB0AGgALQBJAHQAYQBsAGkAYwBLAGEAVABlAFgAXwBNAGEAdABoAC0ASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAE0AYQB0AGgALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAABuAAAAAQACAAMAEwAUABUAFgAXABgAGQAaABsAHAAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0ARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAQIBAwEEAQUBBgEHAQgBCQEKAQsBDAENAQ4BDwEQAREBEgETARQBFQEWARcBGAEZARoBGwEcAJsBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAd1bmkwMEEwBUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5BWFscGhhBGJldGEFZ2FtbWEFZGVsdGEHZXBzaWxvbgR6ZXRhA2V0YQV0aGV0YQRpb3RhBWthcHBhBmxhbWJkYQd1bmkwM0JDAm51AnhpB29taWNyb24DcmhvBnNpZ21hMQVzaWdtYQN0YXUHdXBzaWxvbgNwaGkDY2hpA3BzaQVvbWVnYQZ0aGV0YTEEcGhpMQZvbWVnYTEHdW5pMDNGMQd1bmkwM0Y1B3VuaUUxMzEHdW5pRTIzNwAAAAABAAH//wAP) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMkbfkbwAAEkoAAAAYGNtYXB7wyGGAABJiAAAAQxjdnQgAwsZ2AAAWVQAAABaZnBnbWIu/XwAAEqUAAAODGdhc3AAAAAQAABfsAAAAAhnbHlmOPPo9wAAAOwAAETcaGVhZGMnQtkAAEbgAAAANmhoZWEHTwOgAABJBAAAACRobXR4EqEcXAAARxgAAAHqbG9jYSh+OoEAAEXoAAAA+G1heHABLg6aAABFyAAAACBuYW1lY0t+hwAAWbAAAASOcG9zdN0D+vwAAF5AAAABb3ByZXBlwgKGAABYoAAAALIAAgAyAAAAyAIVAAMABwAAMxEzESczESMylmQyMgIV/esyAbEAAgBuAAABAAK2ABEAJQAItR0TBgACMisTFhcCBwYGIiYnJicmNTQ3NjMDNjIXFhcWFAcGBwYjJyYnJzQ3NvkFAgwFAw5ODgMDBwYFA0EwBFYEEwUCAgYSBSwrFQYBAgUCtgcG/jMHBQEBBQTpyRIUAwL92gICBRIGVAYTBAIBCBMrKwYTAAACACUBugGkArYAGAAxAAi1JRwMAwIyKxM2MzYzMxYXFQcGBwYjIicmNTQ3NzQjJyc3NjM2MzMWFxUHBgcGIyInJjU0Nzc0IycnJgMEAUFBAwQnJgMCHB8DAhITDw8G7QMEAUFBAwQnJgMCHB8DAhITDw8GAq8GAQQDgzc4AQIGAgMCLi0CAQaEBgEEA4M3OAECBgIDAi4tAgEGAAACAD3/PgNXArYAaABzAAi1cGoiAAIyKxciJjU0NzY2Nzc0IycmNTQ3NzM/AjUjJyY1NDc3Mzc2NzYzMhYVFAcGBgcHFDMzNzY3NjMyFhUUBwYGBwcUMzMXFhUUBwcjBwYHFTMXFhUUBwcjBwYHBiMiJjU0NzY2Nzc0IyMHBgcGATUjIgcGBhQzNzfhEhgiCBIFBE9PIRsGW1wUFXBwIRsG+iUlAwoaEhkiBxMEBUlJICoFDxQSGCIHEwUET1AFGyBcXBQUAeEFGyB9fSEqBQ8UEhgiCBIEBUlIISoFDwEySEkBASdJSBTCGhEHdhk+Dw8CAQseHQoDAUZIAwELHh0KA4GCBRcaEQd1GEEODwJykwcTGhEHdRhBDg8CAwodHA0BRkgBAwMKHRwNAXKTBxMaEQd2GT4PDwJykwcTAgIDAQOMAgFGAAMAMf/IAegC7gBGAFIAVwAKt1dTUEgwDAMyKxMmJjU0NzY3NjMzNTYzMhUVFxYXFhcUBwcGIyInJiciJiMnFRYXFhcWFRQHBxUUBwYjIiYnNSMmJyYnNDY3NjMyFxYXFjMzETQjIgcGFRQXFjMyEzY1NCfnS18zHikeDwMFIy8FRDwSAQkICAMGDC4wAgYCAiAOHxhFmhAaBQ8UEwIHW0MQARIBAwgFCjZEDAECAQcNERMOBAFXJiYBIA9zTmM1Hw0KCiYnCAEJJQsFBTAyCAolCQEBmQoGEBZDZL0dAwkeCAESFAoQLAsEBGcCBgkvEAIBnT4NESAeEw7+phQ3Lx0AAAUAPf/IA8YC7gAKABwAMABBAE8AD0AMSkM/NSYdFw8IAQUyKwEUIyI1NDcyNjMyBxUUFhYzMjc2NTQnJiMiBgYVEyImNTQ3NgA3NjMyFhUUBwYABwYlNDcyNjMyFxYVFAcGBwYjIhMmIgcGFRQXFjI3NjU0Aaaztp0CEAW14gQVFQkHIiIHCRUVBC8SGAYCAh8GDBIRGQoE/eIFCwFcnQESBEIsRiANGSxAtuIMQgcFBQdCDAUCJMnKuBAByhMgIh0EEF9eEAQeIiD9khkRCwkEAtAHDBcSDw0G/TMFCMm4EAEdLX9YLxYQHQEMMCERQEERITASMTAAAwAv/+oDAQLMAEYAWABlAAq3YVtPRykAAzIrATIWFRQHBgcHFBcWFxc2Nzc2MzIXFhYXFAcGBwYzFhcWMzI3NhcVBgcGIyInJicnBwYHIiYnJjU0NzY3PgI3JyY1NDY3NhciBhUUFxYVFjc2NzY1NCYnJgMmJwYVFBYXFjMyNzcBW0lqDh95EiMkLQlmLQYCCAEwJw4BDDBkCwEBHhMfOiwLDAYLOzQYEEhHBRBXXU9sEQY1DyQHEAkEBh9jSRAIHSgSBgEHLxYTFQ8GG0AlHhUQCAkjMwwCzGNKGSBATw0FLS4tCFiWEgYNCgUGCCGOZwwBCwUUBQlrBgMQAgonAggqA0c9ExpHMg8WBQoGAg1QTVVyCQJXNCc2NxABAwYhIR8gHC4IA/4OQzwWOx4vBQIOAwABAFABugDiArYAGAAGswwDATIrEzYzNjMzFhcVBwYHBiMiJyY1NDc3NCMnJ1EDBAFBQQMEJyYDAhwfAwISEw8PBgKvBgEEA4M3OAECBgIDAi4tAgEGAAEAT/8HAW4C7gAbAAazDgIBMisFFAcjJyYnJjQ3Njc2MzYzMxYVFAcGBwYVEBcWAW4HSQmcIggIIpwJAQEkIwcLXxYIfQvuBAcHhO4xkjHwggcBCQMFDnXDPWD+xZoOAAEAPf8GAVwC7gAbAAazDQEBMisTNjMzFxYXFhQHBg8CIiYnJjU0NzYRECcmNTRDAyQjCZwiCAginAkjHQsDAg17ew0C7AIIhO4xkjHuhAcBAgQEAgURmAE6ATibEQMHAAEAQwElAeIC7gBMAAazKAIBMisTNDYzMhYVFRQGFTY3NjY3MhYVFAciBgcXFhUUBiMmJicnFBYVFRQHBiMiJyY3NDY1BgcGBgciJjU0NzI2NycmNTQ2MxYWFxcnJiYnJtciFhgnGhQYJRELHCUYAXIBdBglHAsRJSwaJggNJxEGAhoUGCURCxwlGAFyAXQYJRwLESUsAQIHAw0CvhMdHBQFAXQBExYiDQEmHB8NJAElDR8cJgENIikBdAEGHw0CHg0JAXQBExYiDQEmHB8NJAElDR8cJgENIikHCB0NOgAAAQA9/4sDGgJpACIABrMZBwEyKzc0NyE1NDc2MzIXFhUVIRcWFRQHByMVFAcGIyInJjU1IycmPSEBJAIIHx4LAgEkBRsgkpICCx0eCgKSkiH6GhCQkQYeHgaRkAMKHRwNAZCRBh4eBpGQAQwAAQBQ/5YA4gCSABgABrMMAwEyKzc2MzYzMxYXFQcGBwYjIicmNTQ3NzQjJydRAwQBQUEDBCcmAwIcHwMCEhMPDwaLBgEEA4M3OAECBgIDAi4tAgEGAAABAAwAugExAREAEQAGsw0DATIrNzQ3NjMyFhcWFRQHBgYjIicmDBoEdF0eBxERBx1ddAUa5iIHAgEEDBobDAQBAgcAAAEAUAAAAOIAkgAQAAazBgABMis3FhcVDwIiJicmNTc2MzYz2wMEBANBNBEDAgEDBAFBkgQDhAMDAQEFA0FBBgEAAAEAPf8GAegC7gATAAazCQABMisXIiY1NDc2ADc2MzIWFRQHBgAHBmYSFwECAVcCChoSGQEF/qsEDPoaEQYDBgOTBBcaEQUDEPxxBBIAAAIAK//qAfoCywAZADUACLUpGwwAAjIrATIeAxUUBhUGBwYjIicmJzQmNTQ2NzY2FyYjIgcGBwYVFBYVFhYXFjMyNzY2NzQ2NTQnJgEIPlg1HQoBBCM3iYg3IwQBGCEXWHQUIykUCwQCAQIOFBMZGBMUDgIBAgUCyyU9ZGZIEDEFeURqakR5BTEQa4cyJCxyHC4XRyBmF0QIVkEUExMUQVYIRBdlIlUAAAEATAABAdkCzAAjAAazGwIBMislFAchJiY1NTY3MzU0IwYjIiYnNDc2NzY3Njc2MzIXFhERMxYB2Rv+uBAJBxNbAhw+FhICFwUWYzIPCQQHLAYCVBsrHwsHDhYSEQjy8gsSFiELAgEEMQ4BARkG/tX+1RAAAQAsAAAB7gLMADoABrMvEgEyKwE0JiMiBwYHBiMiJyYnJicmNzYzMhcWFhUUBwYHBgcGFTMyNjMyFxYXFhUUBwYHBiMnJicnNTY3Njc2AVM2KwoGQRkFCgUWCAQgAgQIP44wLkFOMBlBKgRvhBxCBh8GEwUCAgYSBb+9EwgBBJxEHBwB3ThEAQtWERwJBScEBw58EBp1S0Q9HzgkBGQEAQIFEgYeHwYTBAIBBhUdIAikSC8yAAABAC7/6gH3AswAOQAGsxoPATIrATQmIyIHBgcGIicmNTY3NjMyFhUUBxcWFRQGIyInJic0Njc2MzIXFhcyNjU0Ji8DNTYzNjYzNjYBPhkkFQY7IgsMGxoBC01wZm1iDHR+dGxUFgEPAQQFBA9GWDYnGCYvKgYEBAE6AR0lAhsoIAEMKg0mJQYFCk1aWmM9BSh7cXU4DwQDVQQHCjQDNT48OwgCAQZJBgEGB0AAAgAfAAACBgK2ADAANwAItTMxIgoCMislFAYjIxUUBwYHBiMiJyYnJjU1IyInJicmNTQ3Ejc2NzMyNjIyMzIXFhcWFhUVMzIWJzUnBgcHFwIGFSQaAgUTBCcoBBMFAnV1BRMFAgLaCwYKBAMMEBMKQwgGBwQBGiQV2AE8TA5LwiMTNjcGEgUCAgUSBjc2AgUSBiUmBQGmCwcCAQUDCQcwps8TE6egnJAaAQABACX/6gHuArYAOAAGsx8GATIrEyYnETY3NiAXFhcWFRQHBgcGIyMVFDM2NzYzMhcWFRQjIicmNTQ3NjMyFxYWMzI2NTQnJiMiBwYHbRYECBEEAToFEwUCAgUTBWRjAgYWBhlfNTr9YkMnIBYGCQYQQi46IgcLITUfCRABGggUAWQUBwECBRIFGxwFEgUCRUQEAwE1OnX0QSUOAzYiDyUuPU5UFh85EQcAAAIALv/qAfcCzQAmADkACLUxKAoAAjIrBSIuAjU0NzY3NhcyFxUGByInJiMiBgcVNzYzMhcWFhUUBwYHBgYDJiMiBwYGFRQXFjM2NzY1NCcmARdEXzIUBiDkBBU9GwcEBQkfIzlEBwciSk0uJBsPChghTycFFQwLGhoIDjogDhQEBhY3aHhPRin7EQICG1wGAQUSSmkLCTgtJllPSywiHSkjAaQBBQ1PMUIkQAEQF2hAMC0AAAEALv/1AfcCtwArAAazGQABMisXIyImNTQ3NjY3NjcjIgYjIicmJyY0NzY3NjMyFjMyFxYXFhUUBgcGAxQGI9YMKBsBB2ZZEgGKHkQHIAYTBQICBRMEMApiKsYFEgYCAwm/CBUlCxAhEQuI+WQUAQECBRIGPgYSBQIBAgQTBRsZDgrv/tEnEgADAC7/6gH3AssAHgAuAEAACrc2LykiFAIDMisTNDYzMhcWFRQHBgcGFxYXFhcWFRQjIjU0NzY2JyYmJTQmJyIHBgYVFBYzMjc2NQMyNjc0JyYmIyIHBhUeBD1nYy0LqUMSDQIFAgMsGSTk5WoGAwEuNQEbGicbDhQOGS41CgZGMRgCBwQlGzkKBwECCA8bAgZgZQEVsFgnCgQBAgEBER4uSuLifygCAgEPSEspHwIFBiUuOiogDjP+VS4/SBUTFikVSBsbIA0KAAIALv/qAfcCzAAtAEAACLU4LwkBAjIrEzYzMhMWFRQHBiMiJyYnJjc2NzYzMhcWMzI3Njc3IgcGIyInJiYnJjU0NjY1NgUmIyIHBhUUFxYXMjc2NTQnJiZzPGXIFwRvRF1EMA8SBgUjCwMEBQckLD0fFAYDAQQpRy0jIjQKCAEBCgEDERc5DAcNDSMVDDQBAgwClTf+/DY84lczHQsNBwhCCwMHIC0eRigHOhARSSwkSwkXDwRXCxEvHVJtFxkDBht4Fgw2LQAAAgBQAAAA4gHKAA0AHgAItRQOCQICMisTBgcjJyc0Njc2MzMWFwMWFxUPAiImJyY1NzYzNjPiAwSEBgEBBQNBQQMEBwMEBANBNBEDAgEDBAFBAT8CBAZBNRADAgQD/s8EA4QDAwEBBQNBQQYBAAACAFD/lgDiAcoADQAmAAi1GhEJAgIyKxMGByMnJzQ2NzYzMxYXAzYzNjMzFhcVBwYHBiMiJyY1NDc3NCMnJ+IDBIQGAQEFA0FBAwSRAwQBQUEDBCcmAwIcHwMCEhMPDwYBPwIEBkE1EAMCBAP+yAYBBAODNzgBAgYCAwIuLQIBBgAAAgA9AF4DGgGXAAwAGgAItRMNBAACMisTJjQ3NiEhHgIVFAcFJjU0Njc2ISEXFhUUB14hHgUBTQFNCwoLIP1kIRINBQFNAUwFGyABRAw8CQIGCBELHA3mDB0PFgMCAwodHA0AAAIAPQAAAckCwQAmADoACLUyKBwPAjIrATQmIyIHBiMiJyYmNTQ3NjMyFhUUBwYHBgcUBgYjIiYnNTY3Njc2AzYyFxYXFhQHBgcGIycmJyc0NzYBMhQhUS8NCAUEAiAbSVNnbjRREgIBBg4nKAwGAQcVSRJtBFYEEwUCAgYSBSwrFQYBAgUCLyQXNRIEAlgDCA4nR1NMKD5JCyUiCgECBigyGlNSE/6NAgIFEgZUBhMEAgEIEysrBhMAAAIAPf/1Ap8CwAAvAEMACLU8MQ0HAjIrJRYVFQcGBwYjIiY1ECUzMhcWFxYXFhUUBwYjIjU0NzYzMhcXJicmIyIRFBYzMjc3AyYjIgcGBwYUFxYXFjM3NjU0JyYCmAcIR2IdK7G4AUYXMgtpKxgMDwEZvtgmM4EgBgoTIggW4W16ST0OagoGGBgXBwEBCScNEiAyMgprCQQFCEITB7awAVAVAQ9CIzI5bjoMuOdgOE8BAhwMAv7yhYoaBQF/AhQYNApOCkYSCAgSd3IXBgAAAgAqAAACsgK2ACQAMgAItTAqCwECMisBNjIXFhcWEhUUBwYjIicmJyYnJyEUBgcGBwYHIiYnJjU0Ejc2EyYnJjUnBwYHBgcHMzIBIwSOBBcKA9USAzQ1BRYLBBAQ/vciAgoSBi0mDwYJ1AQLukkTBAICCB4HKAtiYgK0AgIFFAT9jQkUBQICBRMHMDECYwISBgIBAgUHDQoCcgQU/jnaTQ4GCAwoXhZ8IAADAFwAAQKfArYAGAAlADQACrcyJh0bBgADMis3JicRNjc2MxYXFhYVFAYHFxYVFAcGBwYjEyYnIxUzMjc2NjU0JgMzMj4DNzQmJyYnIxV3FAcGFAOXniJQYEw8DpkqLWAgrnAHSEQzRBktNTN3BSoqORwWAjY4B05LAQQXAn8SCAEBBQtYTD1LDQMghEwwNg4EAk4BAb0DBzQrJiT+HgIJEyQbNjkKAQHYAAEAPf/1AocCwAAuAAazBQABMisFIiY1ECUzMhYXFhcUDwIGIyInJicmIyIGFBYzMjY3PgI3NzYWFxYWFQYHBgYBp7S2AU4VQkszGgELDAMFAwUJMC4YKW1fYm48Qy0DBgQCAgQLAQEJARI4TAu1sQFTEgsRCQcHPUAEAwgqCwd68HsVIQIEAwECAgUEA2YEBQofEwACAFwAAQLcArYAFAAiAAi1GRcIAAIyKzcmJxE2NzMyNjIyMzIXBBEUBgcGIxMmJyMRMzY3Njc2NTQmdxQHBhQGBxccJRK9FAEejI4Qnn8IS0ZHUhx4EgRLAQQXAn8SCAECG/69nagPAQJOAQH+FAEGF4QoLnNyAAABAFwAAAJTArMAPQAGsxgQATIrJTI2MzIWMjMWFxYVFAcGBwYjJyYnETY3NiAXFhcWFRQHBgciBiIjIiYmIiMnIxUzMhcWFxYVFAcGBwYjIxUBFQX0EggLBQESBgICBhIF394TCAYUAwGsBRMFAgIGEgEFDAkGO01KGRoHhIUFEwUCAgUTBYWEegMBBhIGIB8GEwQCAQYVAnwSCAECBRIFHR4FEgYBAQEBowIFEgUZGAUSBQK1AAEAXAAAAjQCswAsAAazHxcBMisBJyMVMzIXFhcWFRQHBgcGIyMVFAcGBwYjJyYnETY3NiAXFhcWFRQHBgciBiICAP4FdXUFEwUCAgUTBXV1AgYSBTQzEwgGFAMBnAUTBQICBhIBBQwCPAOvAgUSBRkYBRIFAoKCBhMEAgEGFQJ8EggBAgUSBR0eBRIGAQABAD3/9QKTAsEAMQAGsy8CATIrNhA2MzIXFhcUBgYPAgYjIicmJiMiBhQWMzI3MjU1Iy8CNDc2NjMzFhcRBwYHBiMiPbm0cWAOAQMFAwwDBAUEECVHOW1iY20wGwIlJQYBAgMZV2wDBAMCBWt2s6kBZLQuCAUBECIRQAQDDyQgfO58CDQzAQYuLwMFAQQD/vACAwIxAAABAFwAAAK+ArYALgAGsxwDATIrEzY3NjMyFxYXFhUVITU0NzY3NjIXFhcWEAcGBwYiJyYnJjU1IRUUBwYHBiMnJidcBhQCNDIFEwUCAR8CBRMEZgQTBQICBRMEZgQTBQL+4QIGEgU0MxMIApsSCAECBRIGfHx8fAYSBQICBRIG/YgGEgUCAgUSBoqJiYoGEwQCAQYVAAABAFUAAAD2ArYAEgAGsw4DATIrEzY3NjMyFxYXFhAHBgcGIycmJ1UGFAI0MgUTBQICBhIFNDMTCAKbEggBAgUSBv2IBhMEAgEGFQAAAQAu/+oBqwK2ACEABrMMAQEyKwE2MzIXFhcWERAHBgYjIicmJzQ3Njc2FxYzMjY3NhEQNzYBJgQxMgQTBQIBCWRRYk0OAQoKAwsMIEMeKgQBAgUCtAICBRIG/vj+9QdGTSgGBQg2OwMLEjcXFAUBBwEFBhIAAAEAXAAAAr0CtgA3AAazGQIBMislFAcjIicmJwIiBwcVFAcGBwYjJyYnETY3NjMyFxYXFhUXNz4CNzY3NjMzFhUUBw4DBwcBFgK9Ejk4BggL1AIvMAIGEgUsKhMIBhQCKyoFEgYCAZEiTCgBCw8EPDoOAgE2TUscGwELAxcQBwICCQEmLy5cWwYTBAIBBhUCfxIIAQIFEAiGiY8iSScBCAMBDgkBBgI2S0obG/6MBQAAAQBcAAACFgK2ABsABrMRCQEyKyUyFhcVFAcGBwYjJyYnETY3NjMyFxYXFhERNzYB6hQPCQIFEwXBvxMIBhQCNDIFEwUCGYR3ChAeHwYTBQIBBhUCfxIIAQIFEgb+7v7vAQIAAAEAXAAAA3YCtgBEAAazIQMBMisTNjc2MzIXFhcWExYVFDI1NDc2NzY3NjMyFxYXFhAHBgcGIicmJyYREQcGAwYHBgcGIicmJyYnJicnIhUQBwYHBiMnJidcBhQDR0wNEQcJZEkCR18QCBANTUYFEwUCAgUTBE4EEwUCAhKGHQEIEA5ODhEHDFdGCgEBAgYSBSgnEwgCmxIIAQYHERD+9cIWAwMTwf4hEAgGAgUSBv2IBhIFAgIFEgYBBgEGC0j+qUwBEAgGBgcRFuu6MwL//voGEwQCAQYVAAEAXAAAAr4CtgAzAAazHQMBMisTNjc2MzIXFhcWEhcXMhEQNzY3NjIXFhcWEAcGBwYjIiYnJicuAicnIhEQBwYHBiMnJidcBhQDQFgGFg4J4QUIAgIFEwROBBMFAgIFEwVLPhgJDwgHd3ABCAICBhIFKCcTCAKbEggBAgMUDf4gDRQBAgEGBhIFAgIFEgb9iAYSBQICBAcMCf3zAhT+/f76BhMEAgEGFQAAAgA+/+oC2wLMABMAKgAItSAVDgQCMisTECUyNjMzMhYXFhUUBwYhIiYnJiUmIyIGBwYVFBcWFxYzMjY3Njc0NjU0PgEsAhgGBpOlDwQJMv7shKEaDwH6EZtDVAwKDxUsKTUpRhInBAEBVgFhFAGXix81Ry73cm04sL5LPytcYjRHHBsiHTltBSUMNAACAFwAAAKBArYAFwAlAAi1HRkTAwIyKxM2NzYzFhcWFRQHBgcjFRQHBgcGIycmJwEmKwIVMzI3NjY1NCZcBhQDlp0is7kZXlQCBhIFNDMTCAFdHzkrPDtWGiQeEwKbEggBAQUgurcdBAFvbwYTBAIBBhUCJRD2CAo1MTAwAAACAD7/lgLcAswAIwBLAAi1MCURBAIyKxMQJTI2MyARFAcGBwcXFhUUByMiJyYnNCYmJycHIgYjIiYnJiUmIyIHBhUUFxYWFxYzMyY1JjU0NzcyMjMzMjIeBBcXFjc2NTQ+ASwCGAYBUkwUHAdLAxJEQwUHCwgMBhcEBycIhKEaDwHsJX5hLB4FDEE9Dw8COQMRCQkdDSYHCQkDCAMMAxYGFBUBVgFhFAH+iKtbGRMFZgQGEAcCAQkBChQIJAECcm04/HFXPIJHJUhQCwNZAQQGDwcBAwEIBA8FHQIwOHVrAAIAXAAAAo4CtgAwADwACLU4Nh4FAjIrEzY3MzI2MjIzMhcWFxYVFAcGBwceAxcWFRQHBgYjJyYnJicnIxUUBwYHBiMnJicANCYnJicjFTM2NzZcBhQGBxUaIhGtFqQnDmgWEgQqQhsSBQMIBhEuOAoHA1BOXQIGEgUzMRMIAYskLwZMSEdMBy4CmxIIAQIQayUncy8IBgFLdS8gCgQHDAYFAQEDBwSRkIiJBhMEAgEGFQGgYCwHAQHKAQEHAAABADH/6gIlAswARAAGszESATIrJTI1NCcmJyYnJiYnJicmNTQ3NjMyFhcWFxQGBg8CBiMjJyYmIyIVFBcWFhcWFhUUBiMiJyYnJic0NjY/AjYyFxYXFgEwaAENKgo9MiwdVQsBOTx/OlIzEQEDBQMMAwQFBA4iRTVoPgR0BUdafHUoI1dNEwEDBQMMAwUICjxLI2ZWEQQpEgUOCw8SOl8FDmY0OxQZBwcBECIRQAQDDiQeSzMVARwCFnpIb3MGDSwLBQEQIhFABAMJORMJAAEAKAAAArQCsAAsAAazGAEBMisTNiEgFxYXFhUUBwYjIiYjIicjERAHBgcGIycmJwMRIwYjIgYjIicmJyY1NzZDAwEoAScFEwUCAggiAysVTB4cAgYSBTQzEwgBHB5MFSsDFQsIAgIBBgKvAQIFEgUdHgUZAQL+8v7xBhMEAgEGFQEQARACAQkGCwYeHhIAAAEAXP/qAqACtgAqAAazJQMBMisTNjc2MzIXFhcWFRYXFhYzMjc2NzQ3Njc2MzIXFhcWFRYVFQYHBiMiJyY1XAYUAjQyBRIGAgEBCDs+chIEAQIGEgUsMwgFBQYBAQEh/vYnBgKbEggBAgUQCOnxBDowWRfw6AgQBQIGAwYHExVNe+gK1LwdbAABABsAAQLBArYAIwAGsxwBATIrEzYzMhcWFxYXFhcXNhM2NzY3NjMyFxYVFAIHBgcjJicmAjU0LAQ1NgQXDANOVQoEAmFPAQwXBS4tAxLiAgsZlRoLAuICtAICBRYF2/ItDBcBGNsCFQUCAgUUB/2KAhMICBMCAnYHFAAAAQAYAAAD9gK2AEoABrMJAAEyKwEWFxQCAgcGBwYjIicmJyYnAicmFQYHBgcGBwYjIicmJyYCNTQ3NjMyFxYXFhcSFRQ3NhM2NzY3NjMyFxYXFhcSFxU2EzY3Njc2MwPiEwFLVwcLFAY9QwsMCAQyRwcBDUIwBgwVAzs6BhQLAqcUAzMiAxUMBDBNAwhLKAQLFAY7PwsMCQQzRwYXWRAFChcEJgK2ChAH/uT+vx4TBQIGBg4IwgENMwQBSPy+CxQFAQIFEwYCdQQUCAEBBRQIuP7WIgoTPwEglw0TBQIGBQ8Ixv70MAZzAVE/DRQFAQAAAQAlAAACtgK2AEUABrMtDAEyKzcTNCYmJyY1NDczMjYyMjMyMjMXFhcXNjc2NzY3NjMzFhUUBw4CFBIXFhUUByMnJiYnLgQnJwcGBgcGBwYHIyY1NCfsbG4CAg8EBQ4RFQoPIgsLDQeARSkKAwsHBkA/EgQDZ2P6AgERRkYOCE4PFxIMCAICCQkoEEoHBQuGDyABUQGPkwMGAg8HAQEEB7JkPA8DCQECCwsHBQaRiwL+sQQCBAwLAQUIdRYiGxEMAgIPDj0acwcEBAsLAwABABgAAALEArYAMgAGsyQBATIrEzYzFhcWFxYXFhUXNjU2NzY2NzY3NjcyFxYVFAcGDwIVBgcHIiYnJicmNTUnJicmNTQnAz8+BxcRC28lAQEBGhZqBgwbBzU2AxAECHt/AQkRMy0RCAcDAoGBAgICtQEBAgYTDKk8BQIBAgUrIp4GDwkCAQEEEwYGDbS7fn0UBgECCAcJBXt8vr0EAwcQAAABAD0AAAJoArYANAAGsycKATIrAQQjIyImNTc2NzYzMhcWFhcWFRQHBgYHByQzMjIzFxYXFhUUBwYHBiMiJyYmJyY1NDc+AgGb/v0VDhoPAQYUA+3sBQgPAgECAa1WVwETGAgNAwQUBgICBRMF9vcFCA8CAQICrqwCSAMZIhsSCAECAQ8IAxMgBgP0e3oEAQUTBh0eBRIFAgIBDwgDFCMGBPbyAAEAT/8GAT4C7gAdAAazFAEBMisTNjMyFxYVFAcGIyMRMzIXFhUUBwYjIicmJyYQNzZpBFleCRERCCYfHyYIEREJXlgFEwUCAgUC7AIFDBobDAX8xgUMGhsMBQIFEgYDqgYSAAABABj/BgEHAu4AHAAGsw0DATIrEzQ3NjIXFhcWEAcGBwYjIicmNTQ3NjMzESMiJyYYGgSyBRMFAgIFEwVZXQkREQgmHx8hBBoCwiMHAgIFEgb8VgYSBQIFDBobDAUDOgIHAAEAaQIZAbwCtgAYAAazDAQBMisBIgYjBiMnJjc2Njc2MzIXFhYXFgcHIicmARMBVgEBJCMKBQNoAgI2NQIBZQYGCiMkAVICY0kBAQoHBoIBAgEBfwgJCgEBRAAAAQAA/5ICJf/pABEABrMNAwEyKxU0NzYzMhYXFhUUBwYGIyInJhoE9MM4BxERBzfD9AUaQiIHAgEEDBsaDAQBAgcAAgAf//UB2AHbADAAPwAItT01JhMCMisBNCYjIgcGIwYnJjU0NjQ+Ajc2MzIXFhUUBwYHBiMiLgI1NQYGIyImNTQ2NzY3Mwc2PQIHBgcGFRQXFjMyAUEbJ1Q/CwMKAwkBAwIFAk9ivhMBAgUTBCwZFBcGGFUrPVA8LENpDgsLDW8TAiQGDTUBNS4nPgsCCFMKAwUCAwECASaGCZeWBhIFAgIIFBIRICxbQSs7DhYGoBQdFyECCTsICjASAwACADb/9gILArYAGwAoAAi1JR0NAAIyKwUiJwYHBiMnJicRNjc2MzIXFhcWFRc3NjMyFRQlFjMyNzY1NCcmIyIHAUE/NgcTBS8tEwgGFAItKwUSBgIBCT1TqP7BHyc9FRANEzwgLAorGgUCAQYVAn8SCAECBRAId3oGKO3xdR8pH1JRICcaAAEAJf/1AckB2wAuAAazLAQBMis3NDcyNjMyFxYXFxQHBgYHBicmJiMiDgMVFBYXFjMzMjc2NzYXFhYVBgcGIyIlzwIXB0kzKwUDCAcDBgUQHzMrGSMTCwMRHhETCktBDAEMAgEIARJLWuzo4BIBFBMFBgYqJgsDAg0bEw8XKSgePkIOCC8IAQIKA1gEBQgiAAIAJf/1AfsCtgAiADEACLUnIxMBAjIrJQYjIicmNTQ3NjMyFxc1NDc2NzYyFxYXFhAHBgcGIyInJjUnMjc1JiMiBwYHBhUVFBYBZD1GWS80Uis9RTkKAgYSBFgEEwUCAgUTBC0uBBpSLCYeKC8YDwUGIygzNzt8njgcJAd4dQgQBQICBRIG/YgGEgUCAgcbKCb1FxgQFxZEGkE+AAIAHv/2AeAB2gAhACsACLUqJB4CAjIrNzQ3MzIXFhUUBwYjIxUUFhcWMzI3Njc2FxYWFQYHBiMiJiUmJiMiBwYHFTMe1xErCKcaBYqKGRIcK1JHBgUMAgEHARBQWn2DAUMFJi4dGBoKsufkDwEXviYGAgMkQQ4UNQQDAgoDUwMFByV5tTItExY8BAAAAQAdAAABfQLBADgABrMwCwEyKxM2NjczNTQ3NjcyNjIWMzIXFhcVFAcGIyYnJiMiBwYHFTMyFxYVFAcGIyMVFAcGBwYjJyYnJzUjIh0CEBQLBh2MAQgGDwQqIwwFAgUIAwodKi0LAgEeIwoREQohHQIGEgUtLBMIAQkoAaEVEgIsOhluCQEBCQMFMTIDBgIIHR8GPj0FDBobDAWqqgYTBAIBBhWrrAAAAwAR/zICFgHVADsARgBYAAq3VUpBPCwBAzIrEzQzMhc3NjMWFxYXFhUGByInJicWFRQHBiMiJwYVFBcWMxYXFhYXFhUUBgcGIyInJjU0NjcnJjU0NycmFjI2NTQmIyIGFRQDFBYWMzI3NjU0JyYnJiciBwYj0Fg2DDQ7BwMEBgYCCQMKFz4cQDRfRjUCJgZbZghLTA0GbFMSMXRDSiMeBg0UBymmVhcZLyYWKyw3KFgeFgYMOAdXUgUYASypIAYaAQMEJCEGBwIDCgkmQFkrIxcMBCkNAgEBCC8wEhdBQwcCHiJKJzsMCxodIyEILBkrNjknLTM2/sweIQkZERoMDBoIAQECBwAAAQA1AAAB/AK2ADEABrMqDAEyKxM2MzIWFxYVFAcGBwYjIicmJyY1JicmJiMiBgcGFRQHBgcGIycmJxE2NzYzMhcWFxYVyD9iRkcFAQIFEwQuLQQSBgIBAQYXGSk0BAECBhIFLy0TCAYUAi0rBRMFAgGGTzc/CZ2aBhIFAgIFEAibnwUSDTQmBYF+BhMEAgEGFQJ/EggBAgUSBokAAgAuAAAA0AK3ABoALQAItSkeDgACMisTHgUUFhQVFAcGByMmJyY1NzY3MzI2MwM2NzYzMhcWFxYQBwYHBiMnJie1AgoCBwEDAgMEFG0UBAIBCw8ICBsNSwYUAi0rBRMFAgIGEgUtLBMIArcBBwEGAggFCwwIHQkMCgoMBSMiFQMB/vgSCAECBRIG/nQGEwQCAQYVAAL/uf8zAOgCtwATADcACLUuIAsBAjIrEzYyFxYXFhQHBgcGIicmJyY0NzYDFjMyNzY2NTQ3Njc2MzIXFhcXFhUUFRUGBwYjIicmNTQ2NzZgBGYEEwUCAgUTBGYEEwUCAgV2KhsnCwUBAgUTBCwxCAUFAQYBAROFST4OEgEDArUCAgUSBT4FEgUCAgUSBT4FEvz8FRQIOsf3BhIFAgYDBgIGRRQhgvUJhiAHBwNBAgUAAQA/AAAB8AK2ADcABrMhAwEyKxM2NzYzMhcWFxYVFzc3Njc2MzIXFhUUBwcUFhYXFhUUBwciIiMjIicmJycGBgcVFAcGBwYjJyYnPwYUAiUkBBIGAgE7QgwNBzk3BgoDnk9YCAIQCAkZCyEaDgJAPgYXBgIGEgUkIhMIApsSCAECBRAIp6s6PggDAgMFDQcEmwFreAsDBhEFAQsBV1QFFgY8OwYTBAIBBhUAAAEANgAAAMkCtgASAAazDgMBMisTNjc2MzIXFhcWEAcGBwYjJyYnNgYUAi0rBRMFAgIGEgUtLBMIApsSCAECBRIG/YgGEwQCAQYVAAABADUAAAMvAdUARwAGsxEGATIrEzYzMhcXNjMyFhcWFRQHBgcGIycmJycmJyYjIgcGBwYVFAcGBwYjJyYnJyYnJiMiBwYHBhUUBwYHBiMnJicRNjczMhcWFxYVxTtubRkDO2hIRgYBAgYSBS8tEwgBAQEJKzAcFQMBAgYSBS8tEwgBAQEJKzAcFQMBAgYSBS8tEwgFFiosBRIGAgGCUksIVDdAB56aBhMEAgEGFZ6fBR8iGh4FgX4GEwQCAQYVnp8FHyIaHgWBfgYTBAIBBhUBmRALAgQTBRkAAAEANQAAAfwB1AA0AAazGg0BMisTNjczMhcWFxYVFTY3NjMyFhcWFxYVFAcGBwYjIicmJyY1JicmJiMiBgcGFRQHBgcGIycmJzUFFiosBRIGAhgOMUIvNhUfBAECBRMELi0EEgYCAQEGFxkpNAQBAgYSBS8tEwgBtRALAgQTBRkXHQsqDBMdOQmdmgYSBQICBRAIm58FEg00JgWBfgYTBAIBBhUAAgAg//UCBgHaAAsAHwAItRoRBQACMisFIjU0NjczMhcWFRQnNC4DIyIHBhUUFhcWMzI3NjYBEvJqbxEtCcaXAgoVJRs/DwoMEBUsKxUQDAvsd3oIARjg7PQkJywVDjEeSzs3DxUVDzcAAAIANv8+AgsB1gAgAC0ACLUmIRgIAjIrBSInFRQHBgcGIycmJxE2NzMyFxYXNzY3NhcyFxYVFAcGAyIHFRcWMzI3NjU0JgFDRTICBhIFLy0TCAUWLC0FFQYJO0wEE0knKpgcPSUpBhwkMRoXJgssYmIGEwQCAQYVAlUQCwIGHgYmBAICODqDxx4FAYMY9QUaKCVNRU0AAAIAJf8+AfsB1QAmADQACLUsJxgEAjIrNzQ3MjYzMhcXNTQ3NjMyFxYXFhEQBwYHBiMiJyYnJjU1BwYjIicmEwYVFBcWMzI3NS4CIyWzAgsEQzEKEQgxKwUTBQICBRMELS4EEgYCCDZELilm61QUFC8uJg0PHRXs1xEBLwkMGwwFAgUSBv7T/tQGEgUCAgUQCGRnBywTMAE/DIdHJykr0BIQDQAAAQA2AAABZAHVACQABrMgEAEyKxM2NzMyFxYXFhUVNzY2NzI2MzIXFQYHBgYHBhUUBwYHBiMnJic2BRYpKwUSBgIHE0AmAQwDBgoJCjZMBQECBhIFLSwTCAG1EAsCBBMFHRwKHy0FAQdmBgEDOSkFbWsGEwQCAQYVAAABAB7/9gGMAdoAOAAGsyoNATIrNzI1NCcmJicmJjU0NzYzMhYXFhcUBwYGBwYnJiYjIgYVFBcWFxYWFRQHBiMiJyYnNDY3NjMyFxYW2kEmA1QFMUMmKVc7QSsIAggHAwYFDh83Kx4bIQdMN0pyFipcTxABEgEDCAYEIUFSLBwMARECD0s0QyYpDBQDBwYqJgsDAgsaFQ8WGwoEDQ5UN38WBSkIBQRnAgYGIyQAAQAU//YBdQJNADgABrMxDAEyKxMiJjU2NjMzNTc2NzYzMhcWFxYVFTMyFxYVFAcGIyMVFBcWFjM2NzYXFhcWFA4CBwYjIiYnJjU1QhoUAhIZEgEGFAIqKAUTBQIxOAgREQg4MQgFDA8mHgoECAkJAwMJA0xZMzAHBAFzFRkXEjQ0EggBAgUSBjIyBQwaGwwFaIAdEAwDGQcBAiUfBgUCBAIlODUfgHEAAQA0//UB/AHKADIABrMQBgEyKyEiJic1BwYjJiYnJjU3Njc2MzIXFhcWFRYXFjMyNzY/AjQ3Njc2MzIXFhcWEAcGBwYjAZgaFQEINmM/RgoEAQYUAi4tBRIGAgEECCoVBzQQAgECBhIELS4EEwUCAgUTBCwSGQ8JPAIqLxStnhIIAQIFEAilrwkMAg46CoyJCBAFAgIFEgb+dAYSBQIAAAEAGgAAAdkBygAsAAazIgQBMisTNDY3NjMyFxYXFxYXFz4CNzY3NjMzMhYXFhUUBgcHBgcGIyInJicnLgMaDAYEJScEFQwXFhYXCyogBQoXBSkQEA0GAj0fHwsXBD4/BBcLDQwkJRkBswcNAQICBRRHR0hII4ZoDBUFAgUKBgIJy2FiFQUCAgUVKClzdlcAAAEAGAAAAs8BygA7AAazCAABMisBFhcUAgcGBwYjIicmJyYnJic1BwYHBgcGBwYjIicmJyYCNTQ3NjMyFhcTNjY3NjMyFxYTNDY2NzY3NjMCuxMBagMKFQY9QgwNBwYYHAQBAx4YBAgXBikqBhUKA2oUAyAsIAhGCD4ECzIxDQRLJicCChgEJQHKChAG/ncGFAUCBgUPDGFqOQoNLnleBhUFAgIFFAYBiAUTCAEMG/72IusJGxsI/uwBjYoEFQUBAAEAGAAAAeEBygBAAAazDQABMisBFhUUBwYVFxYWFxYHBiMjIicmJicnBw4DBwYHBgcHIicmNTQ3PgInNCYmJyY1NDc2MzMyFx4CFzc2NzYzAbgRBJEoKFICCQ0KDSYvCAkPJSwCAgkKDQcmCAcKMTIDDwEBUU4BSksCAg4DMB8bDQILKRpJAQcKNwHKCwwFB7kBMTJmAw4NBgMDFDlEAwMNEBULPgsHAwEBAxIFAgRoZAEBWl4EAwYPBgELAQ82IGQDBAYAAAEAHf8zAdkBygA0AAazCgABMisBFhUUBgYHBgYHBiMiJyY1NDYXFjMyNzY3NycmNTQ3NjMWFxYXFhcWFRQVMjc2NzY3Njc2MwHGE01UARROMBAaSAUKDwceJicVCQsJXV0RAyoqBRULECslAQEENg0DChgEJgHKChIE7f4DM0cLBA9dBQkFBhUeDCMc1NcIDQkBAQIHERhxYScGAQw1qycGFAUBAAABAB8AAAG6AcoAJgAGsxwJATIrAQYjIicmNTQ3NiAXFhcWFRQHBgIVNjMyFhUUBwYjIicmNTQ3Njc2AQyjDRcGERsDAUwFBwcMBgHksg0bFBoFr64FGgUCD0oBeAIGCh0cCgECAQcKGRUHAv7aAQITGiQHAgIIJRUJAhNhAAABAFoAxgHJAVgAIgAGswQAATIrARYXFAYjIicmJyYjIgcGBwciJicmNzY2MzIXFhcWMzI3NjcBwgYBPzIODh8lHA4XBAEGIx0LAwQEBjstGBYXHBwOFwQBBgFYCAY2TgMIHBQqCgYBAgQIFC1DCAkWFCoJCAAAAgBbAlMBywK3ABUAKwAItScaDAECMisTNjMzFhcUFhUUBgcHIiYnJicmNDc2FzQ2NzYzMhcWFxYVFAcGBwYGIycmJnMFMjEWBAELEDEpEAcJBAICBswLDwQwLwYRBgIDBAgHESkwEAwCtQINDwEQBRcTBwECBQYJBDAEDywWFgYBAgUQCBMWBggHBQIBBRQAAgC5AhoBrwK2ABIAHQAItRsVDAECMisTNjMyFjMyFxYVFAcGIyInJjU0FjQmIyIGFRQWMzK8ElgDDQQyGyhRCCI0Hyi4HSAfHhwhIwJ8OgEOEyw+DwEOEy0LIzAODxcYDwABANYCGQHKArYAEwAGswkBATIrATYzMxYHBgYHBiMiJicmNjY3MjYBOgFEQwgCAZ0DASIcCwMEDFECAQMCtQENBAKIAQEBBQcSeAIDAAABAIv/QAE+/+gAEwAGsw8EATIrFzQ2NzYzMhcWFRQHBgcGByMnJyaLXQUDIiMDBh8HCg8GNDMEA7QGjwUCAgQHA0kRFyMEAQMEAAEANgAAAMkBygASAAazDgMBMisTNjc2MzIXFhcWEAcGBwYjJyYnNgYUAi0rBRMFAgIGEgUtLBMIAa8SCAECBRIG/nQGEwQCAQYVAAAB/7n/MwDoAcoAJQAGsw8BATIrEzYzMhcWFxcWFRQVFQYHBiMiJyY1NDc2NjcyFxYzMjc2NjU0NzZuBCwxCAUFAQYBAROFST4ODAkGBgUGHR8jCgUBAgUByAIGAwYCBkUUIYL1CYYgBwcDIRsLAQQSFAg7x/cGEgABAGkCGQG8ArYAGAAGswwEATIrASIGIwYjJyY3NjY3NjMyFxYWFxYHByInJgETAVYBASQjCgUDaAICNjUCAWUGBgojJAFSAmNJAQEKBwaCAQIBAX8ICQoBAUQAAAEAZwH0AbsCkQAfAAazDAQBMisBMjYzNjMzFgcGBgcGIyInJiYnJjczMjI2OgIWMjMzARIBVgEBJCMJBQZlAQI1NgICaAMHDQIDBwkKCgoJBwICAkdJAQ0HCH8BAQECggYLBgEBAAEATAIwAdkClAAQAAazBgABMisBFhcVDwIjJicmNTc2MzYzAdIDBAQDvm1XAgIBAwQBvwKUBANWAwMBAgQDKioGAQAAAQBQAigB1gK2ABsABrMFAAEyKwEyFRQHBiMiJyY1NDMyFxYVFhcWMzI3Njc0NzYBqytRJ0tNJVEnFg0JARATTEsTEAEJDAK2JUcXCwsXRScJCQUEAgQEAgQFCQkAAAEASAJUAOoCtwAaAAazDwABMisTHgcUFhUUBwYHIyYnJjU0NzY3NjPPAgcCBgIEAQIBAwYSbBMGAgIGEAU1ArcBBQIEAgUEBgcJBRIJEAYHDwYWFQUPBgIAAAIA8wIaAekCtgASAB0ACLUbFQwBAjIrEzYzMhYzMhcWFRQHBiMiJyY1NBY0JiMiBhUUFjMy9hJYAw0EMhsoUQgiNB8ouB0gHx4cISMCfDoBDhMsPg8BDhMtCyMwDg8XGA8AAQBaAiQByQK2ACIABrMEAAEyKwEWFxQGIyInJicmIyIHBgcHIiYnJjc2NjMyFxYXFjMyNzY3AcIGAT8yDg4fJRwOFwQBBiMdCwMEBAY7LRgWFxwcDhcEAQYCtggGNk4DCBwUKgoGAQIECBQuQggJFhQqCQgAAAIAbgIZAcgCtgATACcACLUkGhAGAjIrEzQ2NTY3NjMzFhUUBwYPAiInJjc0NjU2NzYzMxYVFAcGDwIiJyZuDgEGAURDBicpAgIjJAMFtw4BBgFEQwYnKQICIyQDBQIkDHwCBAMBCAQGQkUBAgECAwYMfAIEAwEIBAZCRQECAQIDAAABAFwAAAIWArMAHgAGsxoDATIrEzY3NiAXFhcWFRQHBgYjIiYjIicjERAHBgcGIycmJ1wGFAMBfgUTBQICBRIUAy4YUyomAgYSBTQzEwgCmBIIAQIFEgUdHgUOCwEC/vD+8AYTBAIBBhUAAgA8AAADWAK2ACEALgAItSciEAECMisBNjMyFhcWFxYAFxQHIyIiBioGJiIjIyY1NgA1NhcOAgcUMzI1JicmJwF9BUg6FgsPCwEBFgISDAspNkRIU05TSEQ2KQsMEgIBFw9bBk1bBbSzATpVGgK0AgIFBxEF/ZYNFQUBAQUVCwJvAhiFDrDMDAEBAYS9PwAAAwA+/+oDGQLMAAcAGAAvAAq3JRoPCAUBAzIrExAhIBEQISAlMjY1NCYnJiMiBwYHBhUUFgM2MhcWFxYVFAcGBwYjIicmJyY1NDc2PgFrAXD+k/6SAW5zX1BrCBBXNB8RF1wEBOwFEwUCAgUTBXV2BRMFAgIFAVQBeP6J/pVbhYOKkgsBLhwsOmyKigFfAgIFEgYqKwYSBQICBRIGKyoGEgAAAQApAAACdgK2ACwABrMQAQEyKwE3OgMWMxYXFhIVFAcGBiMiJyYnJicCJxUGBwYHBgYHBiMiJicmNTQSNzYBBwsMIh4iFgEZCgO5CQYRKzUDGAoELVEKBjRGCwIOBQswJA4GCbkDCgK1AQEFFQf9kwsOBwUCAQUVB5sBF1cJOrr9FgUOAgYCBQcOCwJtBxUAAwAuAAACrgKwAB4ANgBUAAq3SjcsIBAAAzIrASImIgYjIyInJicmNTc2NzYhIBcWFxYVFAcGByIiBgU2MzIXFhcWFRQHBgcGIyImJyYnJjU3NgMyFjMyNjMyFjIzFhcWFRQHBgcGISUmJyc0NzY3NgJzFdBAzxYNEAwJAQIBBhQDARwBGwUTBQICBhIBBQz+GQPW1QUTBQICBRMF1aoyBwUFBwEGFRbGIyDXFgkNBQESBgICBhIF/t3+3hUGAQIFEwgCKQICCQkIBiYmEggBAgUSBiQlBhIGAYIBAgUSBiMkBhIFAgEFAwYJLSUS/ugCAgEGEgYkJQYTBAIBCBMlJgYTBQIAAAEAXAAAAr4CswAgAAazDgMBMisTNjc2IBcWFxYREAcGBwYiJyYnJhERIREQBwYHBiMnJidcBhQDAiYFEwUCAgUTBGYEEwUC/uECBhIFNDMTCAKYEggBAgUSBv7F/sYGEgUCAgUSBgEUARP+7f7sBhMEAgEGFQABAD0AAALcArYAOAAGsyMPATIrJSQzMhYyMxYXFhUUBwYHBiElJjU0Nz4CNS4CJyY1NzY3NiAXFhcWFRQHBgciIgYjJRcWFRQGBwFCAUUZCxAGARIGAgIGEgX+zf7PGwMCd3QOflwCBwEGFAMCYgUTBQICBhIBBhEM/pC8CBRGfAMBBhIGICEGEwQCAQccCQYFjYkCEIlmAwkkHBIIAQIFEgUdHgUSBgEDzwkPCxtTAAEAPgAAAxkCywBAAAazLQcBMisTJiY1NDc2NzMyFxYXFhc2NzY3NjYzMhcWFRQGByMmJyYmIyIHBgcGFRQHBgcGIycmJycmNTQmJjUmJyYjIgcGB1gPCycxWQ4ZEEUjEgwCAxIoFS0kZTwnCw9hGgEBHhUZESMEAQIGEgU0MxMIAQEBAQk4AwozAwEaAggHDhM1JzQLAg9JIjMCD0sqFhM/JzUTDgcOFRMUESN1DsO5BhMEAgEGFcxwYQEGCQN4DQEnFQ4AAAMAPgAAAtwCtgA6AEgAUgAKt01MPDshAQMyKwE2MzIXFhcWFRUzMhYWMxYXFhUUBwYHIgYGIyMVFAcGBwYjJyYnJzUjJiYjJicmNTQ3NjcyNjczNTc2AhAjIgcGBhUUFxYXFhc3JicnETY2NzY0AVoCMS8FEwUCAwEEBwLSHAI6PXkCBwQBAwIGEgUxMBMIAQQCCgLSHAE5PXkCCgIEAQYHAQQSKSMTFi8IAf4NTAcsLgYBArUBAgUSBiYmAQEZsBAVX0FADgEBJiYGEwQCAQYVJygBARmxCBxiPkAOAQEoKBL+GAEsBxBCPT8jJQwCAcNUEwL+1A0vLglGAAEAPQAAAxoCtgBQAAazPhcBMisBMzIWFRQHBgcGBwYHBgcGByMVFAcGBwYjJyYnJzUnJicmJyYnJicmNTY2NzMyFxYXFhcWFxYXFjMyNTc2NzYzMhcWFxYVFzc2NzY3Njc2NzYCxBcjHBoIAwYBAQYcmwomBgIGEgUxMBMIAQ/FHAQBAQYDCBoBDA8xOgwjCgcBAQUOLBEHAQEGFAIxLwUSBgIBBjwPBQEBBwwvBAJyDx0hCQEOF0o/IqkqBAcnJwYTBAIBBhUoKQIjwx85SRcOAQojEw8HBhI4IFRLHE0fDufnEggBAgUQCOPnAxxeGUtUIEQLAQAAAQAxAAAC6ALMAFEABrMmDgEyKwEiBhUUFxYXFhcWFRQHBiMnJicnNDc2NzYzMhYzMyYnJicmNTQ3NiEyFxYWFRQHBgcGBzMyNjMyFxYXFhUUBwYHBiMnJicmNTQ3Njc2NzY1NCYBjFlUCQorJg0OGgV6eBMIAQIFEwYTBCgRUBQ0JQ45AyABLJBSNDofFTg3EVARKAQTBhMFAgIGEgV6eBEIAhYLHzQHAlMCdU1UJCMqXVQuMCshBgIBBhUfIAYTBQIBJkQwFVdQFBPVMB5qQz09KklJIQECBRIGHh8GEwQCAQYOBhI0PyBGbjYKIVVLAAABAAAA8AIlAUcAEQAGsw0DATIrETQ3NjMyFhcWFRQHBgYjIicmGgT0wzgHEREHN8P0BRoBHCIHAgEEDBsaDAQBAgcAAAEAAADwBEsBRwAOAAazCgMBMisRNDc2IBcWFRQHBiEgJyYaBAQOBRoaBf35/foFGgEcIgcCAgciIwcCAgcAAQBRAbsA4gK2ABYABrMGAAEyKxMnNTc2NzYzMhcWFRQHBxQzMxYXFQYHVwYmJwICHB8DAhITDw8DBAMEAbsGhDc3AQIGAgMCLi0CBAOEAgQAAAEAUAG6AOICtgAYAAazDAMBMisTNjM2MzMWFxUHBgcGIyInJjU0Nzc0IycnUQMEAUFBAwQnJgMCHB8DAhITDw8GAq8GAQQDgzc4AQIGAgMCLi0CAQYAAgCKAbsCCAK2ABYALQAItR0XBgACMisTJzU3Njc2MzIXFhUUBwcUMzMWFxUGBzMnNTc2NzYzMhcWFRQHBxQzMxYXFQYHkAYmJwICHB8DAhITDw8DBAMEaQYmJwICHB8DAhITDw8DBAMEAbsGhDc3AQIGAgMCLi0CBAOEAgQGhDc3AQIGAgMCLi0CBAOEAgQAAgAlAboBpAK2ABgAMQAItSUcDAMCMisTNjM2MzMWFxUHBgcGIyInJjU0Nzc0IycnNzYzNjMzFhcVBwYHBiMiJyY1NDc3NCMnJyYDBAFBQQMEJyYDAhwfAwISEw8PBu0DBAFBQQMEJyYDAhwfAwISEw8PBgKvBgEEA4M3OAECBgIDAi4tAgEGhAYBBAODNzgBAgYCAwIuLQIBBgAAAQAAAHsAdAAFAAAAAAACAAAAGACNAAAAIA4MAAAAAAAAABIAEgASABIAVQCjAUYBxwJDAt0DCAM4A2gD2AQOBDkEWwR8BKME9wUxBYwF4gY3BowG5gcqB44H8ggpCGoInAj5CWAJtQoKClQKkArrCzILfQvIC+4MKQyBDLMNHw10DboN+Q5pDsgPLw93D7sP+RBxENgRKRF7Ea0R3hIMEi0SixLOExYTZBOqE/4UghTQFRoVchXIFe4WWxatFuIXLRd/F7wYEhhmGLYY/hleGcEaFBpTGo4ajhrWGwcbLhtTG3kbtRvjHBYcOBxnHJQcxR0AHUEddh2+Hg8eVx7aHxUfbR/QIE4gyiFDIWUhhCGtIdgiICJuAAEAAAABAACoidghXw889QAPA+gAAAAAAAAAAAAAAAAAAAAA/7n/BgRLAu4AAAAIAAIAAAAAAAAA+gAyAAAAAAFNAAAA+gAAAW8AbgIuACUDlQA9AiYAMQQFAD0DPwAvATIAUAGsAE8BrAA9AiYAQwNYAD0BMgBQAW8ADAEyAFACJgA9AiYAKwImAEwCJgAsAiYALgImAB8CJgAlAiYALgImAC4CJgAuAiYALgEyAFABMgBQA1gAPQIHAD0C3QA9At0AKgLdAFwCvwA9AxoAXAKCAFwCYwBcAt0APQMaAFwBSwBVAgcALgL8AFwCRQBcA9IAXAMaAFwDGgA+Ar8AXAMaAD4CvwBcAmMAMQLdACgC/ABcAt0AGwQPABgC3QAlAt0AGAKgAD0BVwBPAVcAGAImAGkCJgAAAg0AHwIxADYB6QAlAjEAJQH/AB4BUAAdAiYAEQIxADUBAAAuAR7/uQITAD8BAAA2A2MANQIxADUCJgAgAjEANgIxACUBdAA2AaYAHgGUABQCMQA0AfQAGgLoABgB9AAYAfQAHQHcAB8CJgBaAPoAAAImAFsCaQC5AiYA1gHpAIsBAAA2AR7/uQImAGkCJgBnAiYATAImAFABMgBIAt0A8wImAFoCJgBuAkUAXAOVADwDWAA+AqAAKQLdAC4DGgBcAxoAPQNYAD4DGgA+A1gAPQMaADECJgAABEwAAAEyAFEBMgBQAi4AigAlAAAAAQAAAu7/BgBaBEz/uf/TBEsAAQAAAAAAAAAAAAAAAAAAAHoAAgG7ArwABQAAAooCvAAAAIwCigK8AAAB4AAxAQIAAAAACAAAAAAAAACAAADvEADs7QAAAAAAAAAAUGZFZABAACAgHQMg/zgAWgLuAPogAACPXgMAAAHKArYAAAAgAAEAAAACAAAAAwAAABQAAwABAAAAFAAEAPgAAAA6ACAABAAaADsAPQBbAF8AegB+AKAAqACwALQAuAExAjcCxwLJAtoC3QOUA5gDmwOeA6ADowOmA6kgFCAZIB3//wAAACAAPQA/AF0AYQB+AKAAqACwALQAuAExAjcCxgLJAtgC3AOTA5gDmwOeA6ADowOlA6ggEyAYIBz////j/+L/4f/g/9//3P+7/7T/rf+q/6f/L/4q/Zz9m/2N/Yz81/zU/NL80PzP/M38zPzL4GLgX+BdAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhuQgACABjYyNiGyEhsABZsABDI0SyAAEAQ2BCLbABLLAgYGYtsAIsIyEjIS2wAywgZLMDFBUAQkOwE0MgYGBCsQIUQ0KxJQNDsAJDVHggsAwjsAJDQ2FksARQeLICAgJDYEKwIWUcIbACQ0OyDhUBQhwgsAJDI0KyEwETQ2BCI7AAUFhlWbIWAQJDYEItsAQssAMrsBVDWCMhIyGwFkNDI7AAUFhlWRsgZCCwwFCwBCZasigBDUNFY0WwBkVYIbADJVlSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQ1DRWNFYWSwKFBYIbEBDUNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ACJbAMQ2OwAFJYsABLsApQWCGwDEMbS7AeUFghsB5LYbgQAGOwDENjuAUAYllZZGFZsAErWVkjsABQWGVZWSBksBZDI0JZLbAFLCBFILAEJWFkILAHQ1BYsAcjQrAII0IbISFZsAFgLbAGLCMhIyGwAysgZLEHYkIgsAgjQrAGRVgbsQENQ0VjsQENQ7ACYEVjsAUqISCwCEMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZIVkgsEBTWLABKxshsEBZI7AAUFhlWS2wByywCUMrsgACAENgQi2wCCywCSNCIyCwACNCYbACYmawAWOwAWCwByotsAksICBFILAOQ2O4BABiILAAUFiwQGBZZrABY2BEsAFgLbAKLLIJDgBDRUIqIbIAAQBDYEItsAsssABDI0SyAAEAQ2BCLbAMLCAgRSCwASsjsABDsAQlYCBFiiNhIGQgsCBQWCGwABuwMFBYsCAbsEBZWSOwAFBYZVmwAyUjYUREsAFgLbANLCAgRSCwASsjsABDsAQlYCBFiiNhIGSwJFBYsAAbsEBZI7AAUFhlWbADJSNhRESwAWAtsA4sILAAI0KzDQwAA0VQWCEbIyFZKiEtsA8ssQICRbBkYUQtsBAssAFgICCwD0NKsABQWCCwDyNCWbAQQ0qwAFJYILAQI0JZLbARLCCwEGJmsAFjILgEAGOKI2GwEUNgIIpgILARI0IjLbASLEtUWLEEZERZJLANZSN4LbATLEtRWEtTWLEEZERZGyFZJLATZSN4LbAULLEAEkNVWLESEkOwAWFCsBErWbAAQ7ACJUKxDwIlQrEQAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAQKiEjsAFhIIojYbAQKiEbsQEAQ2CwAiVCsAIlYbAQKiFZsA9DR7AQQ0dgsAJiILAAUFiwQGBZZrABYyCwDkNjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wFSwAsQACRVRYsBIjQiBFsA4jQrANI7ACYEIgYLcYGAEAEQATAEJCQopgILAUI0KwAWGxFAgrsIsrGyJZLbAWLLEAFSstsBcssQEVKy2wGCyxAhUrLbAZLLEDFSstsBossQQVKy2wGyyxBRUrLbAcLLEGFSstsB0ssQcVKy2wHiyxCBUrLbAfLLEJFSstsCssIyCwEGJmsAFjsAZgS1RYIyAusAFdGyEhWS2wLCwjILAQYmawAWOwFmBLVFgjIC6wAXEbISFZLbAtLCMgsBBiZrABY7AmYEtUWCMgLrABchshIVktsCAsALAPK7EAAkVUWLASI0IgRbAOI0KwDSOwAmBCIGCwAWG1GBgBABEAQkKKYLEUCCuwiysbIlktsCEssQAgKy2wIiyxASArLbAjLLECICstsCQssQMgKy2wJSyxBCArLbAmLLEFICstsCcssQYgKy2wKCyxByArLbApLLEIICstsCossQkgKy2wLiwgPLABYC2wLywgYLAYYCBDI7ABYEOwAiVhsAFgsC4qIS2wMCywLyuwLyotsDEsICBHICCwDkNjuAQAYiCwAFBYsEBgWWawAWNgI2E4IyCKVVggRyAgsA5DY7gEAGIgsABQWLBAYFlmsAFjYCNhOBshWS2wMiwAsQACRVRYsQ4GRUKwARawMSqxBQEVRVgwWRsiWS2wMywAsA8rsQACRVRYsQ4GRUKwARawMSqxBQEVRVgwWRsiWS2wNCwgNbABYC2wNSwAsQ4GRUKwAUVjuAQAYiCwAFBYsEBgWWawAWOwASuwDkNjuAQAYiCwAFBYsEBgWWawAWOwASuwABa0AAAAAABEPiM4sTQBFSohLbA2LCA8IEcgsA5DY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2E4LbA3LC4XPC2wOCwgPCBHILAOQ2O4BABiILAAUFiwQGBZZrABY2CwAENhsAFDYzgtsDkssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrI4AQEVFCotsDossAAWsBcjQrAEJbAEJUcjRyNhsQwAQrALQytlii4jICA8ijgtsDsssAAWsBcjQrAEJbAEJSAuRyNHI2EgsAYjQrEMAEKwC0MrILBgUFggsEBRWLMEIAUgG7MEJgUaWUJCIyCwCkMgiiNHI0cjYSNGYLAGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AKQ0awAiWwCkNHI0cjYWAgsAZDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBkNgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA8LLAAFrAXI0IgICCwBSYgLkcjRyNhIzw4LbA9LLAAFrAXI0IgsAojQiAgIEYjR7ABKyNhOC2wPiywABawFyNCsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA/LLAAFrAXI0IgsApDIC5HI0cjYSBgsCBgZrACYiCwAFBYsEBgWWawAWMjICA8ijgtsEAsIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEEsIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEIsIyAuRrACJUawF0NYUBtSWVggPFkjIC5GsAIlRrAXQ1hSG1BZWCA8WS6xMAEUKy2wQyywOisjIC5GsAIlRrAXQ1hQG1JZWCA8WS6xMAEUKy2wRCywOyuKICA8sAYjQoo4IyAuRrACJUawF0NYUBtSWVggPFkusTABFCuwBkMusDArLbBFLLAAFrAEJbAEJiAgIEYjR2GwDCNCLkcjRyNhsAtDKyMgPCAuIzixMAEUKy2wRiyxCgQlQrAAFrAEJbAEJSAuRyNHI2EgsAYjQrEMAEKwC0MrILBgUFggsEBRWLMEIAUgG7MEJgUaWUJCIyBHsAZDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwBENgZCOwBUNhZFBYsARDYRuwBUNgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxMAEUKy2wRyyxADorLrEwARQrLbBILLEAOyshIyAgPLAGI0IjOLEwARQrsAZDLrAwKy2wSSywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSiywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSyyxAAEUE7A3Ki2wTCywOSotsE0ssAAWRSMgLiBGiiNhOLEwARQrLbBOLLAKI0KwTSstsE8ssgAARistsFAssgABRistsFEssgEARistsFIssgEBRistsFMssgAARystsFQssgABRystsFUssgEARystsFYssgEBRystsFcsswAAAEMrLbBYLLMAAQBDKy2wWSyzAQAAQystsFosswEBAEMrLbBbLLMAAAFDKy2wXCyzAAEBQystsF0sswEAAUMrLbBeLLMBAQFDKy2wXyyyAABFKy2wYCyyAAFFKy2wYSyyAQBFKy2wYiyyAQFFKy2wYyyyAABIKy2wZCyyAAFIKy2wZSyyAQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsygAAgAqsQAHQrUbCA8EAgoqsQAHQrUlBhUCAgoqsQAJQrsHAAQAAAIACyqxAAtCuwBAAEAAAgALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbUdCBEEAg4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYArMAAAIVAAACzP/qAhUAAACXAJcAWgBaArYAAAK2AcoAAP8+AhUAAALB/+oCwQHa//b/MwIVAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABAB4AogADAAEECQACAAgAwAADAAEECQADAEgAyAADAAEECQAEACgBEAADAAEECQAFAEIBOAADAAEECQAGACgBEAADAAEECQANAm4BegADAAEECQAOADQD6ABDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGEAbgBzAFMAZQByAGkAZgBCAG8AbABkAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8AUwBhAG4AcwBTAGUAcgBpAGYALQBCAG8AbABkAEsAYQBUAGUAWABfAFMAYQBuAHMAUwBlAHIAaQBmAC0AQgBvAGwAZABWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBhAG4AcwBTAGUAcgBpAGYALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAAAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAB7AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AIAAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAGEBAgCOAIMAjQDeANcBAwDYAOEBBADbANwA3QDZAN8BBQEGAQcBCAEJAQoBCwEMAQ0BDgEPALIAswC2ALcAtAC1B3VuaTAwQTAHdW5pMDIzNwd1bmkwMkM5BUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5AAABAAH//wAP) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAADcgAA4AAAAAV1wAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAr0AAAAFMAAABgRbOJi2NtYXAAACwkAAAAswAAAQQ+LF4HY3Z0IAAANCwAAAA4AAAAWgKnGXpmcGdtAAAs2AAABrwAAA4MYi79fGdhc3AAADcYAAAACAAAAAgAAAAQZ2x5ZgAAAUQAACfGAAA8YHBdKUBoZWFkAAAqKAAAADYAAAA2YvdC2mhoZWEAACuwAAAAHwAAACQHIAKuaG10eAAAKmAAAAFOAAAB7vxHLnhsb2NhAAApLAAAAPoAAAD63IDNzm1heHAAACkMAAAAIAAAACABLw6bbmFtZQAANGQAAAGhAAAEmmTTf8Zwb3N0AAA2CAAAAQ4AAAGBX3BMx3ByZXAAADOUAAAAmAAAALJlwgKGeNrNuwWcHNeVN1rn3OLuqsZq7p5mGuhpHiZJMxoezYilkSyWbMmMGzPFzpoh4Ngb8zqcGMKc5Q0zLwR/G1hwOFbr3VvdPR7Te+/jz21JVTVd5x4+/3PuHQ65Esdxf4cGRziJ48qOsiNTdiRKbzxcKqFx+ucleD/9zrkcB4fwA5yFc3Pycy6bBFjqdNXLJUOUpES8WiO1eqVkSEbiy73FYiA2kMl4NrvhoHEQPnwaLryN/ml8fRUQ9yGldhN8E75FqXm5AqXWHTdURq1GSSQS1UqdkZVEUWJ/EvH6azy/yRqy23SLUiwiCKhay5rf95mXPatY/T74VmAkAUh6CiCJfkvB2GrAK55wlKsdZ0bICn6Q28OdoFydtXdAoVylPIZbSkiiJCbi6WrNyVhZu6vXE5k0ZazMeKQ/iZt3tXK9TlmueT2SiJLE7uizEr2TJG/JywgyASQpo6O73H6X+O32387OEkGVrXidtrrauoapzdt3aLZPpWRDEM6/gFhV8Yor52bRzWuItwGsrk7NoqQpViCbNm/fKqoC71w5K5N+C6TTq6vmW3vfoVgUy0MPEUmTZdD80LwU7r8fFFWTFhydqoooahYR4cGHUOCJYJMa3wcC9z6EDk2R774PULQqAg+wtPQwLixg8x2O+kzfmb/DKv6Km+a2cWdx6gd371qZ7XeTUmd9BKvpTJpqxBS/xMQ0/cXt9Xi9zIz0p4mMJLVVYkP20M28qVatJNIZ+gb9qqtOf2a4PV5PteatpDMSo1Sr/QiDXsKXxlanQxIAEORTSRmsgwULWAQ9kfVZBJ/XGZ9A/eRmlQcCkEqCIuyvi4ZgKU1eiWqiN+gScF/IUwDVSmLpSe11pwBAWxzYdE1QFVSLF7I8oJKUMawnE1YZTp1rdO8NWuaucKBX0HgCCDlAra7VdbXXghGRtw3n/FkZEb8RLkg/ECQ0NnIC98SZvyMFqiMXl+D6uSVuP2cbs+5dnhrsSUUMCwilTqiVW2qQxLYbealDsXsqe7lEJU7VyuY3OPMrFfM7dY6svdl+t/myu2y+VK1k0lR/4E1HY/5iuTphFWOhvOx7b8znduqq5tZ1XxweEkQnwdNPoKjYBHx2oQTFpyrFQjiguvsTWdnu1aMp0TUaIxbdF3Mr1mg3fjVgzywdmF+yYCAzF06cPzTZERwt+CIhzb/6KYJOQSSnRSLZAEH60cExuK4x0duV7Yvkt/UlrNRhZ3p9kf0P13Xf3mK/RSDKVdSXps78G/4cP8dNcDu5U9SXjuxd2ZgB0lRPU0bJQx3BSx2g6vWUmw+8pnrKomSK39RBhumGOhzVJNNGra1NU51et8fwutkXaiSdybSfesrsFapY+LCgVAYciVtcYEidkSuX1GQS/ON7+ogvGC8NSYQX5KnK3Iz7wN7jSREFW4+7vwtR1Fdq9mqOV/052QIAjv6AYT93JCiFU1EZqpKzN5dBIPiPMFXPJadXNVLXVyO7HnGiRRU6L91eFC2ajbg8OVufUtjlCAaN/h5XKqJbsp5gePEyl3TLCIqFaK7PpRCVEF7Lh72pxtDSssPtzyYEx5gGRLPyAALHAfcJmmMXzRwrPmOo8Nr59RNrORNQQFUraa+aMxnN42dE+Dn1Yw+lqQGlCZQUNQKa+vOayZCpFe63plK247cGtWUyp+7uqFxawB+pqO1u/OS9C9PvPUewXvz+49d99c5+ShMpzZspTR+l6SKMZiWTKXs9njWnZhWmXnPVoGtBnlNQxflU6bAvHvdY5vjPbfTAF995tqoSjZx8+2V//oHrIsmYQ+HfA8tnM44fhBL24b9z05R6kmPUTT+S6i86FFtHTCTiLFdlMiwL0Wsqh45S66rpRxUWaBEsl2o0P8GbNY/dcUqSdbdNnM/tk6IuXrKHFZpteUHhbVGbM5quOHii2h12aap7VUk4BZVPJxBcfBj/3anJQ8MTxG1z2cSUe0DSXHGLX3LwfCg2pIQdNudJT1RFYD+XYp5+0WF08BgNX45WH5Xq5Jl3EwmnuASVKmABmmsZm7HqCLbkQiPmcUuxtgROmk6vtNuhB0JRgnZJG4aUzdb4yoAo6LJl+J6fsPqAcOu9FpsqK40foeyTG/+sWS0yDxECdMXRMzdwX+YOcja6okLYis16T1WZYGUwvpsV+0yqqNnCNhs2K/3oSCgxwqxQ5j4Cc0A4hb4tAPPFasxguKFSmwBVlm66SQdATMVxnH57N8eZa8n029K6tYyEucjBFnX6TfGMiDup7zgZV6Y/Nusst2Y5ro4DIlGsgKe/SXhV1hAwh/gLtCryC6NEssoCIeTTyOr/Tpp9UvgkF+R6af3Phh2AJsVyab0vttMzSynptQTt9ZRq7FG1AvneHtI15fAQLZ5d6q3rjg2dBSNS7/qUJzLRmQj7LA7PwKA7n9LwDl8+2T0TDF62/8qxhIqdhWNDZ929bUPetWHw5lMD2ZzDk45tem4yv5HpcCf967OUuxizuYPJKkqVygiyaK6xBGgWVwYopASrnOU6zA3OIhCQRVSJJ744aLHCNcPDtne+E614VRl7nQRQkTQhCaK1gMLpd+E0WHutz3PAMCFm6GpVulrOZkYlFVZHqSX8y3QiuhkTrLgbsdoo1urmB/6q1hstZw07OO3Bhcs371QBLeX4atRqvSciLqUetGPjAp5XJi7wJoPHbAi/KPd5e5PRWAcRMufMTggun3NDPbPBo8iXIMCchE5PprbqCHp2rOhMJ33UYlHK5SbKZWqNS8pPhkZyE3V5TT5Fw0wjTZaZBTM0iulPaOUwjUa/T1FHld0wvj+Rjee3hSUAm67MH5H0kZxT84E87YsSdQfa7zl8akyCEOG9u4uVRRWG5ULBLkxg56SCGInEulIKQLRDWVQgpNs6sijj8ojhRCG3W7Nuu26LshmIkOjaMirqCw4E3IwiyFNdOvVBGi6o4F1cgItTHwwHHQSZ/ztZnkXJKNOISySaMRdjvKZqLtMDF/p+QG93wh57T7fDsU9WHI0GAI9glzaj+x98P58E/yQ2DhKkNl5cSnYtCoJbSSVgC7/lTAcwi1NddtKVh6guw8hi1FUpl6nqWPo1q0VtLWm+CDQYqGvW35YeE2ZIJG7a8s53EB6lMy5eJcgLnZUNW+Kx88btju19FpdkEwMkesAtl8YsUofVLnlcufgWcMGVQMDilpN7PD1WC5LgwemJoaFFC/ZZQjwoTikmbkXLluGMs0J9wl5jUbuP8p2kPtDNjVGNDRQUjmrM24z+lgd4aK5xZ9rByoQot8uLKYtrHTQwZanXfrswEw5dPN1XC3ptMVm2pHu68xvz1pU9gh0Ccd3BO+rh5WzgoSUHX5wR+W7dOdrjsymec/ecdXDvfamQQKyYSABvD3Yd6iAbQUjEO7v83lPjyUGZh7F9oB4Z8Udmg9LG5EKeav/OM7/BrVT7Eap9G0Crt2qCYqnZYjURjRSvUrneLX/pi8y8cuDmlbEQKRX1iXf01v/ySVbBj+aB2TYdvOWRa15nA6X0k0/WCgCiyDq8eaqtPNVWlkb2JoqwxvtKeTdH1jTGPjQYzOv1US65TZDZUlYblNYkM94SYvOWqm12nys86koSEYTZUM/OZGpkxUrsyV0K+ianeifevLcyYYXe/MDsSG+eqFDf3N05mYt69k53ZYazVh0IYHpzoWsubB0r22zpjskkD9ae+aFj8U5MLQyWRGcmN/+fuQLIq5NdPaNl5gFMphg+wWW4fuoB1ZzMPADKpTU0XTNd1JStVq2vR8kvAdnekikDXKY/6Eqc2L1voeBIStFiYrMn4QekSp3fmfN4ghbXxNzbZlLRTm+gIwS6sKmYxif+ZmL7247tKHi65HB3pGuSiIiEH/G4FnqynXs3zLzzpDc6MNufLkuwwEKc1TgIwMf+f/TT71GLRUFgfy02++nbesETpH8ad7f7aVadW9SClJrxmtTWqvXLiLbr9stptys40upzPQnBhZzOeU1+ZXOFWizq9VAtx6LMYwTmKrF0pX4HgREY5q1WvvHZxmeIFc+y20/fqOtwPiIf4s1W81MMckgBidJ+N13Ah5/iklw3pd2VDerYyuSSSCElyzHrepx2MLCn0FYSfCSdn52WQRAdAXWonlWumu80UmlNzGR0x0p/b+N5U3c40uEriOkUqlbeD7YT++tRT2qqHgGtPHlZPnn6hTWNXn7mt/hZ/DRX4zZSnsb73TKbBZTq5XXJr51g1opKu9X1ptvJxvSrlijskrnXfduGt4iJU31KYKw4tX2mcMt8tmv7SsB768z+rPXSeU8w1qEVRa9LPro05RJPQDCd8AdSxdRkYuN4QEhUZDAiN62+7tzpI27LkT27VndfeSCWO/iwT9SLNgTHzi2HO6L7LoO5zmFX4Ghf50higsoTojq+mnYDBhej8tDOmcVIueZylV00FXqNBBMoJomUQpUVynKV3qdD/N/99fGKJSyJJxG9jZ8lXTFHN1zlvitw4YUASQl2w7bGU7MfzXcSp/QmaTQ6GAKcN2pneoAQlf8VxxHm6fghunKEYopJmnE21bMxl5X1dJ52LaEfM6vVXWWPt51xaBZqlh2DBmWruAC9d5dra8WGlW34zfAeYpnuLY0rD7xRVdKOmVvvDJ2KKv7CyZQ8P0P7dEImdiXH8xHR3/hbLMP23XLfDofSER/VFhfhHGWhZlgLS76ACgDdXe9doUIJ3nnDm05v6jgNcK5vSNdRseejUc1WbPwQfwsIIFeTLiMTilqQ1c4rqbd8kXpLN83eiTYO9Xo9lFvK40uKC+XcYEm97UP0Ho7t3r911gZJFPih7R3+5Rvd4uFEoX+2piIR/JXJ/qT1yBVH50J4Rzkswn4EnhREz1sPdSTv7HV4oyK4PHlrwIG2e88/8eEhXzNeOfw51bqLyzEcYWhmvJr6Xavgps6BVmxCb5t6bSv60Zn73yjvPzXb88BO+cL3UK3CdnF5YUCPSPK2bdY/mynY0JeDvVRV4Ljj5HWnpk/IpvLgCDR+OX57IgGAxnmTR52Bie5FhtS2U37eh89wWaqhDA9NTFNhCYrFc4Zlpna9i9OkZcJJL0OT2/Eu+NEPUebJ+94LHu+jj5hl75FHi/CB4A69ZsdGFyK+CxAx6XYDwbOPs/InJwF+iggwL2J7/Ufo+iGGntfWj7aW19GguJlexySGr9ia8CGUCf/UU+Dz3nsfsWDjW9FYpbJ+Kf6Ckwha2frmB8wVrqIV/DvUB8p0hQjD5ynWbsfNdpstY2qcVVaG2UvNhEadvO0dZgFFq8U5MCjLX4Eq8DvGhw7f7FEnz79tEl3i1qmOtCW+qWKoR++14VlbQltrWwHEaIqIfwDV5zi5PdO97eELpwWI2shBtSOEjufO9dn2XdSSnnDUG+KUN4di8uas1uImkmxHniGiEaub3DKkmUABNsDA2Y/RJq1ihtUxGIYp6Og4dg8cR4BhhEcebQUMgcYPgOfvupPA6RWCdMUddNlluqLGejgw0WSLrrneIzOUSqWiqGnmRM23GC36Zg+t5l6WL+ibqhlLJm9reddkt+ZtTn1obYArBg7DJWDfPa4bmwZSsuxAIADRifMMewc8BToRT/+AH1m2oM/Gu93dBAXA0i4yc3urqyJ2ulqaruZlfgFumg4TBUyLzGjGmnpKrKk2J5gMBcGX9/QW6vWFRbgXu7BUMhVULM2sXvD5/vrDS/A4fv6cs+E974VrAL4L2M4r2HgSFw+8F+y3DDd1hDxd29m2CrAlyuX1y8Ly9ZNbH9DJF76gqMwG+Ayc/guATUqbJqWzl8rwCKVTZFMZwewMkYbQi5b1eJ1eowZty9IptrNeoyEnAvV9mkOxCoOpiQAUekw5Xg/aBhICV8ct98AqjI4iINJ2oq+rkwfrOB54R+PvrwJcM/3WxolZ50b4arVpRgTIQw8RCPBdjcn94LJNwF1TLV1jg/KZonxa+Saf60T1uimbXmbSettXGG8ZqOM1bdbugdBlFgL2hD629x64l5DYhRIegNOPrePnWGOuRtUw9/BG6GqypFmvgLd1cchdSn3rT3S+6ON6zA5fR2QToVaT4H5ZbXdVWPJOtKKz3RnAz4lTCCVWDvP6BVv37lse764crd3xm42DTre1tD81v3FAs48On8hodM4nG3efE/Mfea5vuJy6dPKtr5/e1fj9/FENxdHyqTuXztVIYenBSitbP001E+Q6KV+pqPHKbC0lWCtmtNSVarLGiqOZsx+dueMuedOevvDeXs/h1UjIDFn49GhNmpsORRYXteNZezNdW3ZtnN6UrFsEIHjrdU21/b5YE+GWNyCgYznOmXq6wdRTlJug/IxUOhgiE9bDnpfoTIogG/5RnmjHSMteq4y0S9+a8uAz2cLyhKmv2TUlXrIg8aqhpq7YMQTVqtcLPdY5O04OiS63eORtm8ZEwyPKst5WoNJW6kdKvGjkXDMfwesAurqxS993gzWzeI4VQP/+HYvnaADYroQfoboNm3tNubgdkOUU5lvr0x9TtYll6adeeTn4gP+8vFKZSd0bi5Wbsf7ntysb9loR7NPd5T3HtZVln6DzZHan93DCAuONT8IXjj7w1nbYg2WiIuel6b6Y42/mXAiX+CZ0G/L2GTbLq1GfPEB13UejImr23RUTPNDV40yBJm4wP+s8NFMz599rwIh90o88dt6eaRWSAFp92/hqXh+siC7XLLGe2JztvGS3Aill80W1XEmDAbEypncW4Qd77u0U4QBotcViPizbNSJopb0O5+TFPm1UgrNAmYnEhwTrWIBoTsk9y6L4CZptPPg+zmDZhjB+KQexmA0TBGnSYdmlWpWecEAv/cjyC2NjUKnAtVfjWSMOINlk48uNLwMiwR3AA6V3A5WfIZUMmzsAo2fmqXV4iX7oI5TaNbS19fGh8rEjgItuX+cOb4eGpeLes0RPMhLYeWz7eRZAAn//S4KNBNodB3xSTyzbJ/z8J6QxFhnvSbgmD8yjU/DqGpPoESpRB/MQVgNMDki5ZCZNpnG6fKuTItRZqJq/N1iviVLZqoEYX/iSp9CzesEXajVJjpgBluxqfO3g9oiFd47eBXtT8OAnG09CV9f7m+vwFbpOha7jN6uwWyoxSZjETfOa125CEqZRTTHNPoJI9AmyubgTUjzYu5/sp1ZzEj76mcEd7373UbsoIwKglBi5vnKgBHAU/R/aHEQpex4sXCTIH2xsHbCpu+DmS6HxZOMJHr628Fi01CcLQmDu9Y0/HCeID9n5SOO9TB86jZjfUj7ZdNln5uk0mpFNKyMbLDKGaLR0IC0e5myePoSz5L+EoeFcUTPS96cuKP3QDwe8TEdXTG0enLr+QlF6xzycZ4cK4PKBQC73eK72Oz8+l9/n9eE9905suUeUPryVrv0maoscXTtA13abtmALO70sBuu0RHASQ4hVNpF/0/CQdIOMYANeqZYbD0gYjpTKEA7vx2fR1vjXDkQfpCwAjXMk4ZY3AMIbbv0Ck69O5fsEXSPE7GBOz7mqOcaIV5r1XZIIKdfKbgo/q7UN8CM5IK9m36dIzz8vCM//14ePbHU0JGsNi0zj6RQSj6/xk8ZPwbIRsUzp586I8Ha2o9GWoe5qY9sEMZGmIbI8XrnvxPbtJpzN53fvzuft27e/AP/VQq+N3Y1VAXFMRUJ5PvMvlOYBStPFsEITpyC1dqVeLVMg2xz4luDAkbOFd9m3RS6P5DvRQrZvx19iI9ewBtQxvAOrt4NWspp7Q2hDg2rA3p7HM916zCYwI5oGhWp5plSc69ADsJSZi6sjeGNpZQWK7hzOpOPKMGdODCnNM995EeN52ZRyDXkMSn/8gw3++AcEfjaFU4BMMpaRh8/8Fr4NX+B6zYndYLk1Z/eWWoNailDqL2uy6+VmnjNHAmkzJxB3MzvQ52aJhprgGZ6FrH+3XBZqgx4pkhSUwcT02W5ByEiuHeMCgAp+d++pfDQzoaFq6TroDcHnEKeGeJ38zUnEZADdKFfSfnewYAkKfr+96MAeAguoSa7Ge/zhbETI8ggOi53JMUsRf9CMkyKVoyfdrtpsUuteGz2ubekyydrVmwlCn5sJ7v6Zru4hUNW5FUNKdYFleePsVK8kYqGHweN6qTCUk2wRwVOcO8gyDDZ+jMALGVS399vk63dMdkoQEc06rvb25cTNdyhdr+OAcQfPw+e4ArVOp7mLUmE+QmOYplZm6Jd1pqyYuG3I7iXWp8y+8Yi9byAl2m0IAqYTEcNmrcxYsOp0qwvTVoH+p5OxzYv7FXj8vHdpuk/IZACAQAfh0bq60a5PB5SMiNksEhFCZGWzQHU2TTvlORPdV9jJj5jOdLYOmVZNZbVzn6nCitCcLY5i2wVMc389sovCUyUujAwZAquq6lXbtvSLjf8sFhxCT5Lq1uZPqcLQki5i7vYWNg3qbhIB1zF70C0eek9eFH9TqIOSlU+cANHmBWl5MsgsO0V19y2qu7iJx/Iphzn9ocu2jNkejzaTRWwN4bTaOakM7wQZ5MFRp7F4cHjDSV5S75Kx8WXSnVQ888sB7Mr4/YXEt0/hJiBCWCZHl/es7PbAmxJZWwx6RhQsfCRT0D1D1I77aKj9qtVXllymHZ3mPm6dBoUZHO19DhZ6VHOMAdZM60jdjXV1RmLfAsRjshSPEXBR6QdFe9gdQjso4dh0ULDq1SqR+XIFFnYjwClzJw5UaRudRkjACwizPBArlCzDo+CMOwhC415AjnDWMyXsg7/lttATDRfT2c45B/ZuHTHPfqwfv1fpZkzFVBeLb8k0oUQdcD3ipg9Ft7cNctiTtSF0psKuUu0hmhn2hN6YcGD9Fs7VmqqP5RLxDVECgL1GISEjWKN5u6SBAE5Ujo5L7q4kIILumVp2XZpbuCGXKkxIANZ+mQoKsXiH1xNIJiOFwSV5vOhSwhZBVCdzvbssvNX58ZwnHMlucto7CCAg6rzC80mHA0UA+icZ1awThzQwAFCvSADEvqeampMt5Siva/xwVgRQHbbaByNxi3U8G4nPNv4DULDFnRa3L+ZRLE6rm9p7mjog0AjJUXs7VXNPqzVLfGk3qhOp1pxxt3o6eHhJVQtRLRIyM4eDphWiaD59eeZcAUZhVR6A8QHURsK3X/9iQ2rr6r9ofOiAzy80vikgRsE8CTVDfW4Qn+IsnEH936mpPMtsFPNXywatk0ZCrJRaAftxcMNx9sfYvcoIThxGPIw3IzbmKT2BUjvz8JkKLJnU0pSaR3vFdFqqlEzE9+Lmantg7/yBpVyhJqjQJLD7FGpT3aJRzPucDsmTCPTIcD5eUgZfiP6hTTE2QOidVMFN2U2mZK/PQVVDNTpHmYhQjUapRnWOajSWidvIi+0xGuyCVkDKDkuPcPEhzOZstnzehPrb9+ragO9krQqHDoYSY8WvJBObJtvdZmMJrJaSexVg27bh2dcDVZypvfprzz7um6GJq7tbVV45+5hm2JrG0xSbkkWaUyqKfySduA2qjVaYs4+ZftZbv9r2klfexqdhf1enBAhAeP9iqt8blgHEnv5QtO0Zbc9Zd1noQYCPY5hXRebLxBuz2aNAEEDotCnrPUZte9VLbri2L8PfcJ1s6mZ/NXnMcMf/b56HhtucviZ7XZVX44l68yZapy3wec5hzr7D7lfdIXSLtN1/yXmr3y0cjsUvn3DKNt/o9DuXKoWQf9mn1gqbewuWI4sjoxt2y8jrB2bPfRfEi/1q9GA8Vh4cH2fxEz8zggFqx2ir5/QKdEUQjVeAAkMUWctkDiNL3ub6zPVZ9ww0JwsrezQ11ZUqLCVScyXoLfRYLJtzu8/THYWa4SNGZeLsNHw0DUh6UN4yvHdqf9pZIvBDJKUS7PwETGHXyRNi4bKF/DDja3OLr5jJVz5BOJMvNM/c1assvyZetrfhpZEhUcbaaqnXMIC39BQKiHJ4Z9rq1OL5pH+uM+ruHIwgL8YtIz1dy9XOWo/VBn8rnr4G4fsKEVwBSV/uW5wtzTrUUFizhx5aiI0erI71WDe2IuYpylecIWaBRYw5YmCegjThSHozeNac5z8iOym+RZmALI6ddBKfF7u7YX9nXgYCCFdEOnnQSCzML/WJF5+HaLpKUtAkBelqCVrdn6X+MLDWcZuRRetnoj2uN3vuCLZMxXpOhrCZZdb6bbM+HdePLgyVgxEQhOqmuD3usnZKHg3TPeXqvtw2n4xhUAbmRw0xpOTSQtllgdmRjW4rLAAhHbIz7tYkGQUCWl9urFz1OHlxmpfynRbdrwuyjK6sx7BSjg9Qjh/AQXPCF1ZYHJXqHsNoOpFpq3WIoM5Q+HoEwMT5TVc3r/eV3MaggL2QSctSNivLgpjPa/qGDdTTNmwQ8mRjhJ/gBS9PtnvD6o+JiQNi8XAER0eahV/5ml0vscjeTXGcHz5mzvIUDtrxNIJspo9GC5vTkC63CkW9Qp3ryVwCMJ0s9EyHEr1TKozR5hl2y3zsHDWW1UXrM08hNB6T7ZaeOA95hGYRSQIaAXbqibpwiK7ppmu6kGmB0HrkpYpot+g2TLx/06qYQdejBnWIa6+rVER4FjH+pw1+uQ+MNMD3vwdci9YfKa1Bho55RiuN1Uy7Dad9eXvsYN4W6yOk3l6hymxPS1TrZNp9kIY9iHYeAJVKZMy5zUPQ0hmcEt1dXeXRC8tlWTSPnwqh4nZxn0Dg3YRHzL9vORpFRU2cN3J1QvrlYoebiB376rdbMnD4iu+DULy60DcUlNE/fv6jZs9G2TY1Hmt3gPUepPMAL+NSiovm8TvqvBWx3ZLX/9U+UoAjXd3x7MwhBb5yGymXCj3gyRrLh3R9zH/pr/2Hp3F2Np6bVT6P/8zDjp3gy3t36vqI/0JzxTNlU9/M64JrvbinPYoyWipyc61kFjdxXpVBYTaVZLOSU4UCAI9xCXleSuZXQrsb/2idGOOthlOwi6LK89GY3Rug07ce+AiyYwuP7/Q4YjpaQtPLbyjA6YbrhAKEAMACAFrV1KJ06uT3GHchhospd35W1U3uWr071EvuVqvVPC9Ru0565hlBaHzqmmts8NGPivzJb1x+GYE3JwE93sanADcKiH7vOd8AcDDKf8t9GnthiuuglEXmZ6m4ROtTrWxK3jpoJRovQlcY7FDmtI0lfzBhWBWbmk4DKPlg0CfzRij6pwG+sgDeDiSi2oXAQ2JEt4HoMzuNH+Ikhig2Usx9dY8uo4mNqF9T4u447dnoteQ2Zwc/NA6qKhz8rAsOAhGQ7t7j5n2INBXzDHkR0PxqN3MTcKAN/gufo/19iFI1HKKZ580IXTe3zcRFw9xooykNzk8N+NKjQSGcsTnHhEi6yDsxi7ZULOLLg5gIeQx/6KpgIIKWVMzMSGMQOPMzzsImCGb8myfRdJSkA6CHtOoc6j6t8Cn05N3LxJf1LLaREVKbKUyzzGbONRz5lAkf4SNrwBFM3Bih3w60d4JcL8eJ1P08TaT4V210mIvmDYuKxJXy5xT46Iuo0GoXScrhINTS9v95M5Bvw0+xF+8wz0VaOMajGSHUR0TJ3Fz5dvv97GIpnSoV8Y7m+5nFIiyvUAofoWqu4GWclVHgGYURrDZTTfwjIMvPPcvzyrPPYQ5SGQCnkWb5C2qU+zLlXl7HfTPw4b4Ne6UdK3O6HS/YJC0v6E7G50/QBg/R76ttzbsyZYYlE1TeX8mr3Z2YTnf34Nu15WWEqc30jW/BCzhM3/CwNzho+0+93B7M0ktWW+DoyBKBOei0eTKbFTJr752EF5ZHdIdFsPYbymBK5kcq5gnGL+MYLLI+gNnTlLT+YkfxZYva7CNwolRiLQTz4+uplIf+2/z4X/7b/PhvsYPa74kXYx3+h2Idd71msCP39ZbN1GZXZTX7IGj3QXStFy9BzvX0+CK1OQG+unaF58xCqmdFIUutf1t7iDfjM6YX216xr81CawfchfAg20B/4IFr8fj6HezTDyPDx3nWdVC+RM5F+aLNnsmXq+w0YilIVzMiSDEWFQiOX57z7sYbGm+A/yQoNb5owGcI0YRp2AH7T88h4KhBpGBjJGrVKl5IULLcZWf+jSTxH6kX9XADdEJQ6035FHbeTFiHv9ftbbjWHZzxel48WCisaxfh2ivu6kxdM7dxNCXeMhS1B2/ctXhHojMZH68F7bNOz856tTZ/QsfGLvVZmvfZX55Hrljdu3htLAKuK0aX+gcOvK0rjTc6rZ5qyHvqmr7uan8w+xfHnP67vt86ANWqMDjZ2hcgLALKNY4hAqfhTjRRgBkQrQG9FCJwHjkG87W64HSa43heH+27K9Al4LsEnj+9DYG4PvKXfxYNJ1RJz151UeM3vcB0RPWPp/F9pl/kqY5yEbeuEMLyXb0SizGxY1BrWdUdJXTkWR7A2gApx9z0iRF7rxMi9KPIjX9t/NgiwcfQBo2Nt4CD521GJN5dHOyAhKLA6Y/gLtgGCJ35xg9rHQDKZh4afwfLCJDPA66dFHjG3N2xrPlTjC7dbtLqMUKaJySsYKH/HIdrsfHhifG2Z8HprYgIuIeIjc83Ptect5Pu1n5CSAfz5I+3FbJlNj9LNU/YN1ELXYvZGcb5twq/Kijnl76rKI0vNL5425vAysblbF4OJSjyvPwrPCY1pN/Ym+y/5QnQbrtdFAwlA05Phlnw3XTlWfyciWDi5srUldY8zBTItf7UarMnZXhyrTnFn2M4GPCMpyyVNBy3zNo6dYdkaF3aqiIGDg9eKaWKoWp2cJpgp6qEE5bIjZn/eg4QKfLaGaUTXclbiWiViffEHKs9Ad9U3dCogq+kFv+puRO0iVumFl+cG69FBWrxlG7uobFjGIm4OaNdm4CXqu3TB4Z33QFWUSKV9hDXRF5185ek6BZhHM1dk/cLFhGKRbBQcwoKP1WeEG17NgxO8WChCMKDKOLMMV2whh48GFY3H7KA1dfnUSAR/8FoCYkAm+DKkvNsdzUCSLBcRgC9s3/F5xk4GgtbECtlIIcJgLY86AimovMX2eFOAPuuDYIj4etxyo8+cnVlzALQ+Ch4D6SoTd5JbbKdyj5PbTKXYuiK+nOtJSjbNM4wyFNi0rWFKjLJ2a3UygfNT9k8DS1K7Y+J+mArGCBID1lkm0vWSKUiBe22WcLzNIcecOSKIAYGJ5xul0zsmrW/YheDHrcen994REIDDiIcBUCIPJOvZ4PhEI+jKqKlkpyfTZ/sAGS/yEhg/tM/s4Yv3LuXdiweUcRpIB2R0bvnp+zAXmdR1EVlBPxcc47jbJ9LXzOTYbibLVHZW2WbmS071152rN7wrB2qTzCpnfUavnn/ZiM0ccRlDfrFF5xblgGEiE+WP3+D7Np3o1dZ0MqJSFixSWnrFju+AApxP+cS4b82zArWlYFcsXzq+IAeCiCuABBm+vy2yVS+4+p3WmB5Uyiy7QLXRHdnDw/mYXuSlPrBNR0w93q4X2AV+tbNtF5rrwdca5s9zff43Evfi0XZe7Fo8z34NTxvg4a1ob3i3fZvMLlZLjJrs+RuDu1YXfYydUreElQNajYR1UDJ7yW8TQzZbFjfhyiJAbWQ2wqyHNOH4H/Jb0QhOOGbeMTkkZ2zi3otiK/Bp/dVmb/1lcx/5v+XPPiKJ/93/l7t/wPyPtI9AAAAAQAAAHwAdQAFAAAAAAACAAAAGACNAAAAIA4MAAAAAAAAABIAEgASABIAOQCEAR8BsQJFAusDFQM/A24D2QQSBDEESARdBIQE0wUKBV0FxgYDBl8Gwgb2B2AHugfhCBIIQAiKCPIJLwmhCeoKMgpyCqMK8QsqC0cLfgu8C+AMNAx1DMENCQ1vDb8OFw4/DoAOtA8ID0YPeA+oD9IP+RAcEDgQnBDrETYRiRHPEh0SxxMJEzATcBOoE8UULRRwFKkU9RVBFXgV0RYaFlQWehbTFwwXWxeIF74XvhfpGBoYNRhMGHsYnhi/GNoY8hkLGTQZTRl+GbQZ3hoAGi4ajBrAGwYbMBttG7kcNxypHRIdLh1MHXQdnh3lHjAAAAABAAAAAQAAdYd3BV8PPPUADwPoAAAAAAAAAAAAAAAAAAAAAP+g/wYENALvAAAACAACAAAAAAAAeNo9kTPc12EUR7/3/rJtt2Tbdlu2XVs217Zs29aSluymrKXX5vlzOJ/z+LlQttpJko2UGMt6a4mlamvQV2NxF3zc0zXYqumBbdU8cNb3BaW0iLXe3GuPJ7BWDMZFaQddoFd0PAW2w8gwnIfevDHOPum879UKqAMTfL3W+BuN89Ea411hr9b6I43h/FjOtvIb7NXT2GChJrE+zr9qGXcw3oZbqJOfJuZL2szdw8ElHcblYKfPVGdrqKbWsOAbcTyAdvZNPb2ohts9DcdD8WBrF463TGiuBA2z0gWH7J9GiHFQS0ND6+wPxI1giI3hzHo1tvmaznyCPdciP6tF2MJcVR3OP6W+wj9cVpF/psffJhb4DHcs1Trh3/CJnF/7d9sUugvvw3n3VTPqtpxcqJeahWpDvTqzdh6vwWdxi1BuwV+1C/cNeLeSthYCT8B4cwAAeNpjYGRgYHr/n40hivnF/wX/XVhMgCKooBoAovoG0wB42mNgYpzOOIGBlYGBqYtpDwMDQw+EZnzAYMjIxIAEGhgY3gswvHkL4wekuaYwODAoKMgyK/y3YIhies/wS4GBoT+OGah7D9M2oBIFBkYAC20Q/wB42lxLQ0KGARB9/0wnyG6WGZuMe+SOEU+QbdvmOtv2BTrAfE3YhPE8ACAADMDzc7q+txveACRCPi9fpCANWchDEcrQjWFMY9kVRwm0Sbt0Q/dcz83cxp3czX08yCPiKX4SZAZAkIYM5KDgn3ODtumK7rjul3OAh8VDfCXQzF7txZ7tyR7tztZs3iZs0KLfw5w2p9WpdCr0Ss/1VI/1SA90X/eePpb8IOFBHNDtZAIAgKpOkQB42qxW13rbTA4dqrlXlRSmgJnI6zWHitPdC8e0Nt31+8itpCXnfvcqz8B9GVDpd/toC5CSe/mbVTCDMsA5wNBCoQDFvu8FAG9+iNHtN1ja/auPz0ycDsKPEO/7mKtHP/tFv2i15IFpWSgCFFpudIQhdOg6aCiE8KODOSUtaTmYV9D+nK9UhauxrCEM3SRX0W5Sz2vM6b1PgMOSFjpqY2HrUyeXy9ExaB3esVjbGa0a7h2gpXQ7ZaNMNoliyz8MOjWDPR0sKMzbWNU+58Oa1l0HE9qA/9vCwtRfO9PGiPZaHpY838J8Pdj5m0/OZuwDbm2Rao28cY5Xc0EASeZNFU2TqrsDnGX7LHnSqT4QG3EEOLjlh6QBtg3y6gWvXoRmGASBSWzhsG6h2PFRvGFni/bmG7zHq3tvoh/josUeP4riIAjaUYCGHQRdBAG0CY90AweLCqiCQj0iTH16y8c+6WK/dKkDFBI6WErpJiagnfQduMBGhmtm5fM35kKvhcUZi4waYogpVzJbrBND2364ZUY7gS8DKwBc2/XJZhIvvVIc7FM4oO2OyGVt7qetdCWgkG6EuYOPaLSoEOybcXBAAVc7SrAK4gD4BFwLA3YJN9JqB1VnYFRoz52xjgZnSJ0epOHsFMOWpCfoIXixjKDdJVuY3BAEE9eOCKPWymgjSzFySTg+pChBURcFjaoU0OeRYZH3KIsprWCGhnhMJbmch+1ow8FxRa4AOKZf8wG0oA7hOO92aDee9mtC0SolBYiDFmXGCR1CHAJOEG0OTqo3e35SaG8ED3HkUH5ysKzebPtvdjOlaZG+nOorKhGTet9PJic1GpGLE3bAkHJ1Nxnjr3H6QqMmgZBs+QnTR3jdOAZOOz5jSQrrrc3MTiH0STUBIWlS/U3Snm7WJS1MhChL4kujWOkYhpF2q6pEInLeno+T0gUPR6WLI5JGzoXw+82bhpgQZeG6LjNQIZsRJZV+G/9rmw+IrhphrNoO3lCJwfIm8c3ylkryLG+rpMDSVEmR5R2VlFjeVUkfy3sq6Wd5XyUDLG0le/xjKSSmJTTQ+AffFgfVCWPtyPjvzOicME4dGf+TGUEJHLMvxUmgvmZQGedJfBbhA6rrAeFjKQkfy4eEj2Wd8LGcInws/0T4WE4TPpZ/JnwsZwgfy4aCpXRgHylKezMELWmruaUkscEzO6vwkY2P6D4+VgBNuKSbMpqT/GC/0sNk9E96LU5GSx5PHD6eSYpG1fNngxTl04yeK32eKXieVv5cia6Pdz4nGjbVcrFe1L4I/ttYkXPJM6PKWF8QH9C8pH4UOppz8KVq3FhycO46VzR0i9znqUWiVocGNFFIvi2v4rgpmzIC/4D4QEO6nTnDqFaI4QVFZeENcivU6Z26JcPCxSFtH8YNCbAU05mLp92gkZ2HJen2vAFDfqasbfufC1AE83Nhqng7cF0JOKghlmmE3AyxpM9e1xCInuy/UkGHbYlFHbXJXNCRSeuQn3RnYyIJ5D0lN6nHkjJsEk4SaZYQLkoiOYskS0gSi/WIPmed6EQuos5F5Om7+yQ9zkWDsNTjAkhbnOpyIZeIpuWeiTCn9k3Z5KTcxZWeLQWTMY1iz2/AkrRM0vSUdOhRK7BUp92rk79dsiZeNO3dbkke+dUTleheu0L+gXMWcq/Fa0pCg1ncxBva3zJ3Ah+WgkYya1To3q6fsu6YW6es7oWxV0VohQv2VQk3FC7aMdXGM0agLnWlhjZwliI8hpzO51TGfITD0s2g84BKWIKGnOuev6mSwULdpZDfMtLNP2qKGVNE6JYkPapOzIsVdOtsqkQs2D1W/kK7RduSXV7k3GkKXhEF1ezadwTf8HIDX9Atf32J/g0dZ1TK+JLWbxXOk3jHLHpEN2zGMuqx9V7xQOP/e66LtNihIIDCt56gS2DKjLAC3N21cWvctXH3xbRtkDpVIbP/5jtxH1AORYUQOhXDCgEjUUECGFUIGKPpUozTgAkaMEkDpqJiCKFNNa0SUyoqik+bUYlplk7QHJ1pns60QGdaZJ0diiWFgGXWCVYUAlZpuhVrNCBNA9ZpwAbrC+2qTZWYtlifaVslph06Qbt0pj060z6d6UCPcX1yAg9tlGtWHjlblMccdBu16ugkykvcnEJvzqyRuDnXmRuSpV4w8jky0Oe4hJ5f6XLi4Bp6cAM9uNW2MVneHSPP76HnD9DzR50zDp6gB8/Qgxdtm5LlvTLy/A16/g49/9A54+ATevAFPfiOCpX2ZZsrqSr8+/O3Q3+a9DGYaq3JlaVzf6uHM78v69ofY0wBR3jaYvDewXACUKM0HDgQhtE31hqXxWmZNBH9BcQ4zxSQDmKjljF7C0Yfn5p9g6KOA50KRIhQhwaEqvUPGsUYOe/iPUvLKf7hX+kES9VIAItrSLkypRqhfO2YBWAAYnxT60ZfL6/7MdeI8R9zX0QqgAzejb9YCsUxKLa8Vtu5EZfzKT6y9F3Rp84LnT0YNIjFaTwIuQChwiuQeNpjwA0kIJBpMwMDkygQn/n/CkQzxAKhL4Mv0zag2DbGPQwM/y3A8tv+vwLyz/z/CuEDAJVBEDJ42mJgYOBkKGJgZmBk4QSyFwExhM3IIAfkQdhMDDwMByBsIOnDcAbKZmHQYZSAslkZnBhdoGw2JHFepjzGNiibj8GE+QugVbJYrhiKYehZv6/IrszMzMzddR4z89/3lJk7dxzLjq6UscMKRUq0dU2TJEWNgE6idJmHGfRM0YeIISNglThV5FKwOiEqjoujPnvtbCGmn9CXykOMPipP2tuRE0ZVloiKYirmvb8jPhVfcqWfDKrmOOqS0K9mLyeOsq5jwdrs26Qcnehn0DxN8IVS33OtH3HPsU9VrL8+Q/QbM6KaJyGvbi6SklG4n0MDWUwaI3T9cAu9P9iDOszSxGOVJ0xN/Yy5ZX03p3l9/m9fLx2zdyzjOee5c6/eTT1rMgOOZVRxnjSIyw8etiraJ+zt+Jeb7CfkOcV523+ucCJKiJqE5ap0x7jbo7U69651CmYVxX6ZyNtOddd8QAm5z5XtP1dwAx/8Ff3Pv+ylr3WYhpG2Hybi096z2YTR0WkfIbY3rZZ78pTEA56qas7AuibuN9R6mLbvD7y/+5s711nMt8cAAAB42mzB02EkABQAwHlr42zbt2cbse0+8rf/6SXuJGYlSQOZkQCOmhpOMouQkJSSlpGVk1dQVFJWUVVTd8ppZ5x1znkXXHTJZVdcdc0Nt9x2x1333PfAQ4889sRTzzz3wksNr7z2xlvvvPfBR5989sVX3/3w029//PXPfy1atWnXoVOXbj169ek3YNCQYSNGjRk3YSYS5jTtWY+kDYeRinRkbNuxa9N+ZCMX+ShEMUpRjkpUoxZ1CxatWLVkOXu80rxMAwNHAzBtZGwOoZ0tobQjlHZidU/MzU0E84wtTVhDMlJLEtl8EnOTUhKZIjKZAjJZgzPTgQpCC4ozc/LzmAMyMpkDijMhGhwtAV3xPq8AAAABAAH//wAP) format("woff"),url(data:font/ttf;base64,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Ki2wTCywOSotsE0ssAAWRSMgLiBGiiNhOLEwARQrLbBOLLAKI0KwTSstsE8ssgAARistsFAssgABRistsFEssgEARistsFIssgEBRistsFMssgAARystsFQssgABRystsFUssgEARystsFYssgEBRystsFcsswAAAEMrLbBYLLMAAQBDKy2wWSyzAQAAQystsFosswEBAEMrLbBbLLMAAAFDKy2wXCyzAAEBQystsF0sswEAAUMrLbBeLLMBAQFDKy2wXyyyAABFKy2wYCyyAAFFKy2wYSyyAQBFKy2wYiyyAQFFKy2wYyyyAABIKy2wZCyyAAFIKy2wZSyyAQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsygAAgAqsQAHQrUbCA8EAgoqsQAHQrUlBhUCAgoqsQAJQrsHAAQAAAIACyqxAAtCuwBAAEAAAgALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbUdCBEEAg4quAH/hbAEjbECAESzBWQGAEREAAAAAAAA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) format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ADAAMAA5AC0AMgAwADEAMAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5AEsAYQBUAGUAWABfAFMAYQBuAHMAUwBlAHIAaQBmAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBTAGEAbgBzAFMAZQByAGkAZgAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBhAG4AcwBTAGUAcgBpAGYALQBSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAxAC4AMQA7ACAAdAB0AGYAYQB1AHQAbwBoAGkAbgB0ACAAKAB2ADEALgA4AC4AMwApAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMAA5AC0AMgAwADEAMAAsACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuACAAKAA8AHcAdwB3AC4AbQBhAHQAaABqAGEAeAAuAG8AcgBnAD4AKQAKAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQA0AC0AMgAwADEAOAAgAEsAaABhAG4AIABBAGMAYQBkAGUAbQB5ACAAKAA8AHcAdwB3AC4AawBoAGEAbgBhAGMAYQBkAGUAbQB5AC4AbwByAGcAPgApACwACgB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIABLAGEAVABlAFgAXwBTAGEAbgBzAFMAZQByAGkAZgAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAB8AAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AIAAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AQABBAEIARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAGEBAgCOAIMA3gDXAQMA2ADhAQQBBQEGANsA3ADdANkA3wEHAQgBCQEKAQsBDAENAQ4BDwEQAREAsgCzALYAtwC0ALUHdW5pMDBBMAd1bmkwMjM3B3VuaTAyQzkHdW5pMDJDQQd1bmkwMkNCBUdhbW1hB3VuaTAzOTQFVGhldGEGTGFtYmRhAlhpAlBpBVNpZ21hB1Vwc2lsb24DUGhpA1BzaQd1bmkwM0E5AAAAAAEAAf//AA8=) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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WVlZsxAEAQ4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4ALgA7ABoAJAAkAtb/8AIVAAAC1v/vAhUAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABgAogADAAEECQACAA4AugADAAEECQADAEgAyAADAAEECQAEACgBEAADAAEECQAFAEIBOAADAAEECQAGACgBEAADAAEECQANAmgBegADAAEECQAOADQD4gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGMAcgBpAHAAdABSAGUAZwB1AGwAYQByAEYAbwBuAHQARgBvAHIAZwBlACAAMgAuADAAIAA6ACAASwBhAFQAZQBYAF8AUwBjAHIAaQBwAHQALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAFMAYwByAGkAcAB0AC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBjAHIAaQBwAHQALgAKAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoACgBoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAAIAAAAAAAD/gwAyAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAEAAgADACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQECB3VuaTAwQTAAAQAB//8ADw==) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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LbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABYAogADAAEECQACAA4AuAADAAEECQADAEYAxgADAAEECQAEACYBDAADAAEECQAFAEIBMgADAAEECQAGACYBDAADAAEECQANAmYBdAADAAEECQAOADQD2gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGkAegBlADEAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAFMAaQB6AGUAMQAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBpAHoAZQAxAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBpAHoAZQAxAC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAABAAIAAwALAAwAEgA+AD8AQABeAGABAgDYANkBAwEEAQUBBgEHAQgBCQCaAQoAmQClAQsBDACcAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8HdW5pMDBBMAd1bmkwMzAyCXRpbGRlY29tYgd1bmkyMDE2B2Fycm93dXAJYXJyb3dkb3duCmFycm93ZGJsdXAMYXJyb3dkYmxkb3duB3VuaTIyMTAHdW5pMjIyMwd1bmkyMjI1B3VuaTIyMkMHdW5pMjIyRAd1bmkyMjJFB3VuaTIyQzAHdW5pMjJDMQd1bmkyMkMyB3VuaTIyQzMHdW5pMjMwOAd1bmkyMzA5B3VuaTIzMEEHdW5pMjMwQgd1bmkyM0QwB3VuaTI3RTgHdW5pMjdFOQd1bmkyQTAwB3VuaTJBMDEHdW5pMkEwMgd1bmkyQTA0B3VuaTJBMDYAAAABAAH//wAP) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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AKIAAwABBAkAAgAOALgAAwABBAkAAwBGAMYAAwABBAkABAAmAQwAAwABBAkABQBCATIAAwABBAkABgAmAQwAAwABBAkADQJmAXQAAwABBAkADgA0A9oAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACAARABlAHMAaQBnAG4AIABTAGMAaQBlAG4AYwBlACwAIABJAG4AYwAuAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkASwBhAFQAZQBYAF8AUwBpAHoAZQAzAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBTAGkAegBlADMALQBSAGUAZwB1AGwAYQByAEsAYQBUAGUAWABfAFMAaQB6AGUAMwAtAFIAZQBnAHUAbABhAHIAVgBlAHIAcwBpAG8AbgAgADEALgAxADsAIAB0AHQAZgBhAHUAdABvAGgAaQBuAHQAIAAoAHYAMQAuADgALgAzACkAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAwADkALQAyADAAMQAwACwAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4AIAAoADwAdwB3AHcALgBtAGEAdABoAGoAYQB4AC4AbwByAGcAPgApAAoAQwBvAHAAeQByAGkAZwBoAHQAIAAoAGMAKQAgADIAMAAxADQALQAyADAAMQA4ACAASwBoAGEAbgAgAEEAYwBhAGQAZQBtAHkAIAAoADwAdwB3AHcALgBrAGgAYQBuAGEAYwBhAGQAZQBtAHkALgBvAHIAZwA+ACkALAAKAHcAaQB0AGgAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAgAEsAYQBUAGUAWABfAFMAaQB6AGUAMwAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAQACAAMACwAMABIAPgA/AEAAXgBgAQIA2ADZAQMBBAClAQUBBgEHAQgBCQEKB3VuaTAwQTAHdW5pMDMwMgl0aWxkZWNvbWIHdW5pMjMwOAd1bmkyMzA5B3VuaTIzMEEHdW5pMjMwQgd1bmkyN0U4B3VuaTI3RTkAAQAB//8ADw==) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,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ILAKI0IgICBGI0ewASsjYTgtsD4ssAAWsBcjQrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wPyywABawFyNCILAKQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbBALCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrLbBBLCMgLkawAiVGsBdDWFIbUFlYIDxZLrEwARQrLbBCLCMgLkawAiVGsBdDWFAbUllYIDxZIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEMssDorIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEQssDsriiAgPLAGI0KKOCMgLkawAiVGsBdDWFAbUllYIDxZLrEwARQrsAZDLrAwKy2wRSywABawBCWwBCYgICBGI0dhsAwjQi5HI0cjYbALQysjIDwgLiM4sTABFCstsEYssQoEJUKwABawBCWwBCUgLkcjRyNhILAGI0KxDABCsAtDKyCwYFBYILBAUVizBCAFIBuzBCYFGllCQiMgR7AGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsTABFCstsEcssQA6Ky6xMAEUKy2wSCyxADsrISMgIDywBiNCIzixMAEUK7AGQy6wMCstsEkssAAVIEewACNCsgABARUUEy6wNiotsEossAAVIEewACNCsgABARUUEy6wNiotsEsssQABFBOwNyotsEwssDkqLbBNLLAAFkUjIC4gRoojYTixMAEUKy2wTiywCiNCsE0rLbBPLLIAAEYrLbBQLLIAAUYrLbBRLLIBAEYrLbBSLLIBAUYrLbBTLLIAAEcrLbBULLIAAUcrLbBVLLIBAEcrLbBWLLIBAUcrLbBXLLMAAABDKy2wWCyzAAEAQystsFksswEAAEMrLbBaLLMBAQBDKy2wWyyzAAABQystsFwsswABAUMrLbBdLLMBAAFDKy2wXiyzAQEBQystsF8ssgAARSstsGAssgABRSstsGEssgEARSstsGIssgEBRSstsGMssgAASCstsGQssgABSCstsGUssgEASCstsGYssgEBSCstsGcsswAAAEQrLbBoLLMAAQBEKy2waSyzAQAARCstsGosswEBAEQrLbBrLLMAAAFEKy2wbCyzAAEBRCstsG0sswEAAUQrLbBuLLMBAQFEKy2wbyyxADwrLrEwARQrLbBwLLEAPCuwQCstsHEssQA8K7BBKy2wciywABaxADwrsEIrLbBzLLEBPCuwQCstsHQssQE8K7BBKy2wdSywABaxATwrsEIrLbB2LLEAPSsusTABFCstsHcssQA9K7BAKy2weCyxAD0rsEErLbB5LLEAPSuwQistsHossQE9K7BAKy2weyyxAT0rsEErLbB8LLEBPSuwQistsH0ssQA+Ky6xMAEUKy2wfiyxAD4rsEArLbB/LLEAPiuwQSstsIAssQA+K7BCKy2wgSyxAT4rsEArLbCCLLEBPiuwQSstsIMssQE+K7BCKy2whCyxAD8rLrEwARQrLbCFLLEAPyuwQCstsIYssQA/K7BBKy2whyyxAD8rsEIrLbCILLEBPyuwQCstsIkssQE/K7BBKy2wiiyxAT8rsEIrLbCLLLILAANFUFiwBhuyBAIDRVgjIRshWVlCK7AIZbADJFB4sQUBFUVYMFktAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAHQrEAACqxAAdCsQAKKrEAB0KxAAoqsQAHQrkAAAALKrEAB0K5AAAACyq5AAMAAESxJAGIUViwQIhYuQADAGREsSgBiFFYuAgAiFi5AAMAAERZG7EnAYhRWLoIgAABBECIY1RYuQADAABEWVlZWVmxAA4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABABYAogADAAEECQACAA4AuAADAAEECQADAEYAxgADAAEECQAEACYBDAADAAEECQAFAEIBMgADAAEECQAGACYBDAADAAEECQANAmYBdAADAAEECQAOADQD2gBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBTAGkAegBlADQAUgBlAGcAdQBsAGEAcgBGAG8AbgB0AEYAbwByAGcAZQAgADIALgAwACAAOgAgAEsAYQBUAGUAWABfAFMAaQB6AGUANAAtAFIAZQBnAHUAbABhAHIASwBhAFQAZQBYAF8AUwBpAHoAZQA0AC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AUwBpAHoAZQA0AC4ACgAKAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4ACgBUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6AAoAaAB0AHQAcAA6AC8ALwBzAGMAcgBpAHAAdABzAC4AcwBpAGwALgBvAHIAZwAvAE8ARgBMAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAACAAAAAAAA/4MAMgAAAAAAAAAAAAAAAAAAAAAAAAAAADMAAAABAAIAAwALAAwAEgA+AD8AQABeAGABAgDYANkBAwEEAKUBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUHdW5pMDBBMAd1bmkwMzAyCXRpbGRlY29tYgd1bmkyMzA4B3VuaTIzMDkHdW5pMjMwQQd1bmkyMzBCB3VuaTIzOUIHdW5pMjM5Qwd1bmkyMzlEB3VuaTIzOUUHdW5pMjM5Rgd1bmkyM0EwB3VuaTIzQTEHdW5pMjNBMgd1bmkyM0EzB3VuaTIzQTQHdW5pMjNBNQd1bmkyM0E2B3VuaTIzQTcHdW5pMjNBOAd1bmkyM0E5B3VuaTIzQUEHdW5pMjNBQgd1bmkyM0FDB3VuaTIzQUQHdW5pMjNCNwd1bmkyN0U4B3VuaTI3RTkHdW5pRTAwMAd1bmlFMDAxB3VuaUUxNTAHdW5pRTE1MQd1bmlFMTUyB3VuaUUxNTMHdW5pRTE1NAAAAAEAAf//AA8=) format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff"),url(data:font/ttf;base64,AAEAAAAOAIAAAwBgT1MvMkVLjcEAAFT4AAAAYGNtYXCCRhu6AABVWAAAANxjdnQgAmQXfgAAZPQAAABaZnBnbWIu/XwAAFY0AAAODGdhc3AAAAAQAABrnAAAAAhnbHlmWsGnNAAAAOwAAFF8aGVhZGE4QrYAAFOQAAAANmhoZWEFKAEZAABU1AAAACRobXR4FF4PAAAAU8gAAAEMbG9jYTfxI+IAAFKIAAABBm1heHABNQ6iAABSaAAAACBuYW1lZd+DQAAAZVAAAASocG9zdK4hCEoAAGn4AAABpHByZXBlwgKGAABkQAAAALIAAgAyAAAAyAIVAAMABwAAMxEzESczESMylmQyMgIV/esyAbEAAgDOAAABQAJuAA4AGgAItRQPCgICMisSNDYzFhYUBwcGBiImJycTFhYVFAYjIiY1NDbOIRoXHwUGBhEuEAYGNhgfIBoZHyECHDIgAR8ylLAOCAcPsP7rAh4ZGiAfGRsgAAACAHoBTQGSAm8AEgAlAAi1HhULAgIyKxM0NjIWFRQHBgYHBiMiJyYmJyY3NDYyFhUUBwYGBwYjIicmJicmeh4qHwcGAwgIFBMICAMGB7EeKh8HBgMICBQTCAgDBgcCPxQcGxUNYlsZBwgIBxlbYQ4UHBsVDWJbGQcICAcZW2EAAAIAJAAAAekCYwBtAHsACLV2b1QaAjIrNzQ+AzczNTY2NTQjJyY1NDc2MzM2NzY3NjIXFxQGFRQzMzY3Njc2MzIWFxQGFRQzMhcWFRQHByMVBgYVFDMzHgcVFAcGIyMVDgIHBiMiJic0NzQjIxUOAgcGIyImJzQ3NCInJiU0IyMVBgYVFDMzNTY2JAIHAwwBRgERLCwZFwYvLwQECgIJLAkEDzQzBAQKAgoVDRQCDxscBhgaIyIBESssAQcCBgMEAgEYBi8uAQcKAwoVDRQCEDM0AQcKAwoVDRQCEDgGFwEfMzQBETM0ARHGBgoHAwgBAwOJAQIBDBYaBwIfJUYFExMMD20FAh8lRgUTEwwPbQUCAggZFA4BAwOJAQIBBAIFAgYFBgQZCAICAUFGBhMTDBtoAQIBQUYGExMMG2gBAgfNAgMDiQECAwOJAAMAOv+uAdICtgBMAFgAYgAKt15cTk1CHAMyKwEUBiMiJjU0NycmJycVFxcWFxYVFAcGBwcVFAcGIyInJzUnJicmJjQzMhYVFAcWFxc1JyYnJiY1NDc2Njc2NzU0NzYzFhcWFRUzFhcWBjQjBgYHBhUUFxYzFzQmJxUUMzI3NgHSHBoWHA4EETEGAQpaKxY2LEEDCQgVHgcBCxITNz4zFh4PFzMDCxkcMDZVAw0CIB8DCRwTCAkDeiEI8gEYLwgHNhYKpDAnAQcUOwHFGx4dFxQRByELAl1cAxVJJixHMykNARsiCggWHBwCAggTVnIfFhAVNwcB0QIFDRdOLVM2AQcBDgUdGwYSAQgKIRsTXBptqAQiEg0QLRoMxiEyDWBgCx4ABQAj/60B6QK2ABIAIAA0AEYAVQAPQAxRSkI5KiEcFg4FBTIrEzQ2NzI2MxYXFhUUBgcGIyInJjcmIyYHBhUUFxY3NjU0AyImNTQ3NgA3NjMyFhUUBwYABwY3NDY3NjMyFxYVFAYHBiMiJyY3NCcmIyIHBhQXFjMyNzYjJyQBCwMbFSUlHggMHhUlXgQBAgIODwICDhAOFQEBARYCChQPFQEB/uoDCaonJAMIHBUoJCAHDBwUKGcOAQEGBwICBwcBAQ0CMC9NCQECFidHL0gKAxcodAgCAxMiLQoCAxMiHv1fFQ4FAgQCwwUTFQ4FAgX9PgYShTFKCQEVJkouSAwCFCZKKA4BGgkoCRoBEQAAAwAc//UB6gJuAEoAWgBoAAq3ZV1WTjgCAzIrEzQ2MzIXFhYVFAcGBwcWFzY3Njc3NCciJyY1NDY3MzIXFhQHBiMjBwYHBxcWMzI2NTQzMhYVBgcGIycnBwYjIiYnJjU0NzY3NycmNzQnJyIjIgcGFRQXNzY3NgMmJyIGBwYVFBcWNzY3YDw3EhYdIiIVIxAMMQcXHgMKAQEEAggOODYGEhIGGRoQMhsHCCQiCwwkFA8FNhAVaQ0LMzwnPA4KFQkkHAMXkxkDAwIcDQIMCS4IARomGQIXAw0aChMgHAHORVsKDkoyNTEgIxEkSQ02UAceAQEGBRETDAcDBzgHAyuIMQwJKRwQHxIUThsINAwLNTAsIR0wJxIjHAxHUDoNAS0JGi40CTAkBP6wOTEZBBYpPQ8EBAojAAEArwEfAV0CYwAaAAazDAIBMisSNDYzMhcWFhUUBgcGIyYmNTQ3NjY3NSIGIyLNIBoMDxsgPTEPCgodFSAqAwEHAhcCETIgBQs+Kz9mHQkBHAsSDRBCKw4BAAEApv+uAbUCtgAgAAazEAEBMisFFCMiJyYnJiY1NDc2NzY3NjMyFRQHBgcGBwYVFBcWFxYBtSYPBA0ZU11aJjAbCwQPJgIEEYsXAh0rZA81HQIFFD6/bJt5MSQUBQIdBAYKC169FBlTSHJACgAAAQBX/64BZgK2AB4ABrMRBAEyKxMmJjU0MzIXFhcWFhUUBwYHBiMiJjQ2NzY3NjU0JyZtDQknDwMLHFNcTDFIExAVEgkNghwGKyoCewgLCh4CBBU+v2yOcUgxDBIWCwhboyArY1lVAAABAEQAWgHIAggAbgAGszcAATIrEjIWFxQHFBQGFBUVFDMyNjY3NjMyFhUUBwYGBxceAjMWFRQGIyInLgIjIhUVFBQWFBUWFQYGIyImJzQ3NDQ2NDU1NCMiBgYHBiMiJjU0NzY2NycuAiMmNTQ2MzIXHgIzMjU1NDQmNDUmNTb1IBcCAQEBAiwxBAoGEBgPBGEBMQwZDwEPFxAJCAwxIwMBAQECFw8QFgIBAQECLDEECgYQGA8DYAMxDBkPAQ8XEAkIDDEjAwEBAQICCBMOHR0IEQ0LAwMBGR4CBBcSFQsCNQEaBg4JDBQSFwQGHRYBAwMLDREIHR0PExQOHR0IEQ0LAwMBGR4CBBcSFgoBNQIaBg4JDBQSFwQGHRYBAwMLDREIHR0OAAABACYAUQHnAhMAHwAGsxIBATIrJQYjIicnNSMiJyY0NzYzMzU3NjMyFxUzMhcWFAcGIyMBKRIRFQ0BUFAGFxcGUFABDRURElBQBhgYBlBQaxoaUlICBzQHAlJSGhqkAggyCAIAAQCs/3UBYQCMABkABrMNBQEyKyEiJjU0NjMyFhUUBgcGIyImJyY3Njc2NzY3AQkhJyUeKTRGNQkGCxwCAg4BDSEUBQ4lIR8nOy1AWhIDGwsRCgEFCxgFHQAAAQA5AQ8B1AFVAAcABrMGAgEyKxI0NyEWFAchOR0BYB4e/qABGDQJCjIKAAABAMEAAQFMAIwACwAGswgCATIrNzQ2MzIWFRQGIyImwSYbIConHyAlRh4oJiAfJiUAAAEAOv+tAdICtgATAAazCQABMisXIiY1NDc2ADc2MzIWFRQHBgAHBl4QFAICAUoHChYOFQIB/rYIC1MVDgQIBQKyDhUVDgMIBf1ODxUAAAIAKv/2AeICbQAUACYACLUbFQwBAjIrEzYzMhcWFxYVFAYHBiInJicmNTQ2FwYGFRQXFjMyNzY2NTQmJyYjqyktGgY5LFxvUgYqBjcuXEaIN0MkKjoJBTlBPzMODQJRHAELL16iebIQAQELL16iYZgJC4ZQZElSAQyZWU2EDgIAAQBjAAEBwgJvACcABrMaDgEyKxMiJic1NDY3NjM2NzY3NhYXFhcRMzIXFhUUByEmNDc2MzM1NCMGBwaJEg4GDhQOBD4mCw0EEgQKCDY1BhIW/tMXEgY1NgEDBCkBqAoNDhUQAgIPTxUEAgICBRH99wMHHBoLCTgHA8HAAgMdAAABADQAAQHYAm4AOwAGsyQHATIrEyImNTQ2NzYzMzIWFxYVFAcGBgcGFRQzMzU0NjIXFhYVFAcGByEmJjU0NzY2NzY3NjU0JiMiBwcWFRQGaRgdRTMkJwNMcxUKJBM1OHtlZhIwCQcCAgYO/okNCQIEzxc8FhFaQzceAgsbAZceGTZLEg1MPx0hPTYeNC5gBQELEhIJBw4gJAUNBgUOEhAFBq0SNisfIzlFLgUREhgcAAEALP/1Ad8CbgBRAAazHQkBMisTIiY1NjY3NjM2MxYXFhUUBwYHBxYXFhcWFRQHBgYjIiYnJjU0NjMyFhUUBxYzMjc2NTQmJyYjIicmNTQ3NjY3Njc2NTQnJiMiBwYHBhUWFRQGfRcdBFU/BggCGHYwFAIMOQsqBjEMAQINeVRYdAkCHRYVIAkkVVokCUQvBSkjBRMJBQ4hNRQ6ERw+Nx0BAgIGHwG+IBo0OAgBAQVLICAMEkMsCBgFKDgGEhgIRFtDOAwGFx4dFwoUJEcTGC88BQECBx0UCQYDAgQKHjwWESESAQEBARIJFR4AAgAdAAEB7wJwADEANwAItTMyFgACMis3JiY1NDc2NzYzMzUjJyYnJjU3NhI3NjMyFjMzFhcRMzIXFhQHBiMjFTMyFxYXFhUUBycRBgYHF+sNCQIGCQYmKIODEAUCAQffBA0MAhYKKA8HLCoGEhIGKiwoJgYJBgMWlyGDIWIBBQ4SEAUJBQNcAQYNBRkaCwFhBQsBBw/+mwMINggDXAMFCQcOHAnzATY0zjMBAAEANP/2AdgCYwBMAAazOxwBMis3MjY1NCYnJiMiBwYHIyInJicmNTQ3NjczOgI2MjIzMx4HFRQHByMVMjc2MzIXFhYVFAcGBiMiJyY0NjMyFhUUBwYUFhcW9ThWMSUMEEwoBwwSEgULBAEBBg8FBBAVHB4kEZsBBwIFAgMBARZ+fQEKKzonIjVGAQp8XIYvDB4WFR8IAhAFI0FDOS9BCQMxCgUCBwoEnp0EDgUBAQUCBAMGBQgEGgsBrAUVDxRlQg4GS2ZeHTAeHBYSCwQCEAQVAAIALf/1Ad8CbgAzAEcACLU8NCsBAjIrEzYzMhYVFAYjIicmNTQ2NTQmIyIHBgYHBgcVNzYzMhcWFxYXFhUUBgcGBwYjIicmJjU0NhciBgcUFxYXFjMyNjc2NTQmJyYmtkFIO0wcGAwEJAYdCQ8ULkwSCQELQE0SEDcoMwwCHB8tNxofEQdjX0qWM08DGBwxCRMiJhcjERYVJQJDKzo2GBwBDSYFDwYEBgULTjYkBQQIKQIKKDNCEhYuPh8tDgYBDqeCXo3SOS4qLjYNAhIXJTUfJxYVEAABACz/9gHgAnMAKwAGsxcAATIrFyI1NDc2NzY3IxUUBwYjIicmJyY1NDc2MzIXIRYXFhUUBgcGBwYHFBQGFQbMKgYadCgI5gkIGRQECwUCAgcjGgsBTREDAgUQIBOcBgEHCjIsLcCcMggLEgkIAgUMBSwtBBUQDAgHCw8KDyAYu/EGDAgBIAAAAwAt//YB3wJtACsANQBEAAq3PTYzLhkCAzIrEzQ2MzIXFhYVFAYHBgcHFhcWFhcWFRQHBgYiJicmNTQ3NjY3JyYmJyYnJiYlNCYiBhUUFjI2AzI2NTQnJiYjIgYVFBcWOnZOJAhIYD8sAgMEAwYvPwkBAg12qHYNAgEKQzMCAQQCCAwpLgFERmJITFhMeDlNBQtGLzlOCSMBzEBhAQtaOyxDDwEBAgICEkEoBhIXCERaWkQIFxIGKkITAQEBAQIHEz8hJDQyJigyMv6gQi4MESUwRC4WE0cAAgAu//UB3wJuACwAQgAItTkuGQ0CMisBBiMiJicmJyY1NDY3NjMyFxYVFAcGBwYHBiMiJyY1NDYzMhYVFAcWMzI3NjcDJiMiBwYVFBcWFhcWMzI2NzY3NCcmAYg6Yis4HDIMARgdQWRSOE0CEU8vOBwhUCccHRcYHAYLJTIiSRIyISgmGksJCSkTFRsqQw8IAQIMAQMxGRsyQwcZMT0dSDpOthUWfkwtEAkpHCsXHR4WCg8LHDVuAQEhDiZPHxUUKQgJJx4OFQ8JQAAAAgDBAAEBTAGvAAsAFwAItRQOCAICMisTNDYzMhYVFAYjIiYRNDYzMhYVFAYjIibBJhsgKicfICUmGyAqJx8gJQFpHigmIB8mJv78HigmIB8mJQAAAgCv/3UBUQGvAAsAIwAItRcQCAICMisTNDYzMhYVFAYjIiYTJjU0NjMyFhUUBwYjIicmNDY3Njc2NSbBJhsgKicfICU3NyUdJyc5JxsLDg4KDiERBwQBaR4oJiAfJib+tws6Hyc8L043Jw4PGgoHESEOAwEAAAEAOQA3AdQCLQAZAAazDwIBMislFAYjIicmJCcmNDc2JDc2MzIWFRQHBgUFFgHUFg0GCAb+qwQLCwQBUwUICA4WDAL+2AEqDFoPFAMD1wQLHgsD1wMEFA8ODAK8vgwAAAIAJgDDAecBoQAIABQACLUOCQYCAjIrEzQ3IRYUByEmFyY1NDc2MzMWFRQHJh0Bhh4a/nMaHR0YBMbFGh4BfhoJCjIJCaIJGhkJAQ8UGQoAAQA5ADcB1AItABgABrMLAAEyKzciJjQ3NiUlJjU0NjMyFxYEFxYUBwYEBwZbDRULAgEo/tYLEw4IBwYBVQQMDAT+qwYHNxQeCwK8vgsPEBMDA9cEDBwMBNcDAwACAD4AAAHOAmkAKgA1AAi1My0SAgIyKxM0NjMyFxYVFAcGBwYHBgcVBgYjIiYnNTQ3Njc2NzY0JyYjIgcWFRQGIiYTNDYzFhYVFAYiJj5uUXI2KScKE08TAgEIEBcWDgkFF3oPCQICFmZFFwcdLh2AIRoYHyA0HgHtPEAtITEwIQgLKzwJHx4PCAcOHiMUXT8IDQUQBSUXDg0VHx7+ZhkgAh4ZGiAgAAACACz/+gHhAmkANQBHAAi1RDowBAIyKxM0Njc2MzIXFhUUBwYjIiYnJjU0NjMyFyYnJiMiBhUUFhcWMzI3NjMyFxYVFAcGBwYjIicmJiQ0JicmIyIHBgYVFBYXFjI3NiyIZwYNFxWHPCgxM0oOClY/HBIOBxkcU2paSAgVNiUMGxYEEw00SQ8XDgVniwFuIxsFCg4IGh8jGwQYBBwBMnuwCwEGI/92PChONSEoT3oKFAUSj11UhQ8CIgoCBxQNDDQMAwELrlNWRgoCBA1EKStGCgICCwAAAgAcAAEB8AJvAD0ATAAItUdANAYCMislMhYVFAcGIyMmNTQ3NjY3NzU0JycjBwYVBjMyMxYWFxYVFAcjIicmNTQ2MzI1NjYSNzY3NjIXFhcWEhYXFAM0JyIVFAcGBxQyNSYnJgHGGRESBE9OFgIGCxMPBweQBwcBAwILEwsGAhVPTwQSERkTATc5AwUSBjgFFAQDOTcBrAEBGxgEcAQYG0wQFhsIAgceDwQLBwEBAQIgHx8gAgIBBwsEDx0IAggbFhACAfwBBAgPBwICBw8I/vz8AQIBuwcBBxyKewoCAgp7iQAAAwARAAEB4gJjAC0AOgBLAAq3Qj8yLxYAAzIrNyYmNTQ3Njc2MzMRIyInJicmNTQ2NzYzFhcwFxYWFxYVFAYHBxYWFRQHBgYHBwMmIyMVMzY3NjY1NCYTJiYnJiMjFTMyMzY3Njc2NicNCQIGCQYVFxcVBgoFAgkNAYuNDAciOA8RMioLM0kKD0MtCxkHREI+PgciLCY7AjAhBUlFRwkPNg0BAx0jAQUOEhAFCQUDAcsDBQoEEBIOBQEBAwIJLR4hIilGEgUKVjcdGis7CQICFAKzAQIJMyEeLv6gKDoFAcwBBQEBCjAAAAEAKP/1AeQCbgA0AAazBwABMisFIiY1NDY3NjMyFxc2NzY2MzIXFhUUBwYGIyInJjU0JyYjIgcGFRQXFjMyNjU0NjMyFhUGBgEZbIV9XBAIPjMKBQUKDg4WCAICBBAUGQgJEx83NS1JPTA/LTsUFhgSBHQLw3l7tAwCJgYHCRIKEwVaWwUMBwkHCxsmPS1HfHFGOUIuEg0PFkxrAAIAEAABAeUCYwAcACgACLUkIRAAAjIrNyY1NDc2MzMRIyInJjU0NzYzFhcWFxYVFAcGBwcTNCYnJiMjETM3NjYmFhAHExQUEggQFgF/fglDL0ZHMEEKbUw5BjMwNDU8SQEHHhgLAwHLAwsYHgcBAQIPP1yKiVY8DgIBLFmGCgH+NQEOegAAAQATAAEB9gJjAFEABrNDBwEyKxM0NzM6AjYyMjMzFhcWFAcGBwYjIicmJjU1IxUzNTQ2MzIXFhcWFAcGBwYjIicmNTUjFTM1NDc2NzYyFxYXFhQHBgchJjU0Njc2MzMRIyInJhMWBgYVHCYoMBfPEQMCAgULBBQZCAcC33USGBIGCwUCAgULBBQZCAl19QIFCwYkBgsFAgIGDv5JFgYLBhcYGBcGEQI9HgcBDQcFeAUMBQIIBw0fIrQQFxIDBQwFjAUMBQIICRcQyyorBQwFAwMFDAWIBQ0GCB0QDQYDAcsDCgAAAQAWAAEB6gJjAEkABrM7BwEyKxM0NzM6AjYyMjMzFhcWFAcGBwYjIicmJjU1IxUzNTQ2MzIXFhcWFAcGBwYjIicmNTUjFTMeAhUUBgcjJjU0Njc2MzMRIyInJhYWBgYVHSYoMRjTEQMCAgULBBQZCAcC43kSGBIGCwUCAgULBBQZCAl5RgoGBgkNzRYGCwYYGhoYBhECPR4HAQ0HBXgFDAUCCAcNHyK/EBcSAwUMBYwFDAUCCAkXEMAGBA8NEg4FCB0QDQYDAcsDCgAAAQAm//UB8AJuAEoABrMNAQEyKyUGIyImJyY1NDc2Njc2MzIXFzI3NjYzMhcWFRQHBgYjIicmJyYnJiMiBwYGFRQWFxYzMjc2NTQjJyYmNDY3MxYVFAYHIxUGBiMiJgFsJ0FGdRcMDBZlQBAIOS8GAQgKDQ4WCAICBBAUGQgIAgMOGzEIBTxNOzEUFisaFh0dDQkJDaoWEBMMBw4VFw0cJ3NdMzo5M1VwCQIlBA8QChMFWlsFDAcIBxIhHjkBC41VT4EZCjMuIQEBBQ0mDAcNGRQQAq8OCAsAAQAQAAEB/AJjAFwABrMTAAEyKzcmJjU0NzY3NjMzESMiJyY1NDc2MzMeAhUUBwYHBiMjFTM1IyInJicmNTQ2NzMeAhUUBwYHBiMjETMyFxYXFhUUBgcjJiY1NDc2NzYzMzUjFTMyFxYXFhUUBgcnDQkCBQkIExUVEwgRFAVUUwoGBgMFCQgTFcIVFAcJBQIJDakKBgYDBQkIExUVFAcJBQMJDakNCQIFCQcUFcIVFAcJBQMJDQEFDRMRBAkFAwHLAwgZHwcCBgQPDQ8GCQUDs7MDBQkEERMMBwYEDw0PBgkFA/41AwUJBg8SDgUFDRMRBAkFA8zMAwUJBg8SDgUAAAEASAABAcQCYwAoAAazEQABMis3JiY1NDc2MzMRIyInJjU0NzYzMx4FFRQHBiMjETMyFxYVFAYHXw0KEgY9Pz89BhIVBKemAgkDBQECEgY9Pz89BhIJDQEGDhEbCAMBywMIGx4HAQIGAgYGCgYbCAP+NQMIGxIMBwAAAQA5//UB3wJjADIABrMaBwEyKxI0NzM6AjYyMjMzHgIVFAcGIyMVFAYHBgYjIiYnJjU0NjMyFhUUBxYzMjc2NjU1IyfKFgQDDBAVFhsNcwkHBhEIFhgBBRFePkZZCwIcFxUeBCEoPhwFATIyAh88BwEGBg8LGAsDz6g2DS46LyoGEBkdHRcJDg4pCTCmzgEAAQASAAEB7wJjAFAABrMQAAEyKzcmNTQ3NjMzESMiJyY1NDc2MzMWFRQHBiMjFRQUPwImJjU0NzYzMx4CFRQHBiMjBwcWHwIWFxYVFAcjJiY1NDY3LwIGBxUzMhcWFRQHKRcRBxMUFBMHERcBTEsVEAgSFAFZVxEOEgZGRwkHBhEHFBVFRiMqThITBREWgA0JDRMiPBw2GxQSCBAVAQceGAsDAcsDCxgdCAEMGhgLA3JNJAFxcAUOFBsIAwYGDwsYCwNZWT9NjAEBAgsYHAkFDRMVDwM8bjFGInQDCxgdCAABABkAAAHoAmMAMgAGsxwBATIrEzYzMhcWFAcGIyMRMzU0NzY3NjIXFhcWFAcGBwcjIiYmJyYmNDY3NjMzESMiJyYmNDc2LAVpZwYSEgYjJdsCBQwFJAUMBQICBg7QbzorBgUHAwMHCSAZGSAJBwMCBwJhAgMINggD/jUqKwYMBQICBQwGiAUNBgEBAgQHCCAIBwcBywcHCCAFDAABAAwAAQIAAmMAVQAGsyoGATIrEyYmNTQ3NjMyFhcWFxYVFBcyNTQ3Njc2NzYzMhcWFRQGByMRMxYWFRQHBiMiJyY1NDY3MzU0JwYHBgcGIicmJyYnBhUVMxYWFRQHBiMiJyY1NDY3MxEyFhAUBTY9FAYEJikBATgWBQULCz41BhIQFg8PFhASBEJDBBIQFg8BByElBgw8DAYlIQcBDxYQEgRCQwQSEBYPAhcCDxUdBwIMDAd/jBQEAQQbuUgMCgcGAwgbFQ8C/jUCDxUbCAICCBsVDwLi0gcqb4EJGBgJgW8qB9LiAg8VGwgCAggbFQ8CAcsAAQAUAAAB+AJjAEwABrM3EwEyKzcmJjU0NzY3NjMzESMiJyY1NDc2MhcWFxYXEhcXESMiJyYnJjU0NjczHgIVFAcGBwYjIxEGBwYjIicmJyYnAicnETMyFxYXFhUUBgcrDQkCBQkHFBUVFAcRFAV4BRYKAht7CwMVEwgJBQIIDpwKBgYDBQkHFBUICgYaHgQYCQcWegwDFRMICQUDCQ0BBQ0TEQQJBQMBywMIGR8HAgIEGAlL/p0vCwHDAwUJBBETDAcGBA8NDwYJBQP+AhEFAwEFGRRAAWExC/48AwUJBg8SDgUAAgA4//YB1AJtABIAKgAItSEWDAECMisTNjMzMhYXFhUUBwYGIiYnJjU0BSYmJyIGBwYVFBcWFhcWMzI2NzY1NCcmZiVlDkdHGi4uGEeCRxguATMMKilMLAYCCwcbHRgYNDIJCwUFAkwhCxYt7e4tFQwMFS3u7R4TDAItUhRjei0eHAYEHCgtenMhLAACABMAAQHgAmMALgA7AAi1NjQUAAIyKzcmNTQ2NzYzMxEjIicmNTQ3MzIyNjIzMhYyMxYXFhUUBwYGBwYjIxUzMhcWFRQHEzQmJyYnIxUzNjc2NikWBgsGFxgYFwYRFggIGyApEh1CKwFMMycCC1dCBkVCGBcHERauNykGPTw8PQYpNwEIHRANBgMBywMKGR4HAQEHQjRAEQ5AVgkBmgMLGBwJAaQqPAoBAeUBAQo8AAIAOP92AdQCbQAiAEkACLU8IxQCAjIrBRQHIyYnJicnIyYnJicuAjU0NzYzMzIWFxYVFRQHBgcXFic0JjU0NzYzMhcWFhcXMjc+AjU0JyYmJyYiBw4CFRQXFhYXFjMBxg1ABwcCHB0yQRg8FQ0NAi4lZQ5HRxouFQ4nHh68Jw8CIB4EARUKCwIDDAwCAgQSFxx0Fw4OAgIEEhceLXYLCQIHAjo6AQULKhpdR0TtLSELFi3tGJ46KxE7O7EBTgcPBAEDASgTFAUQSz48TBw+MwsLFw5MQD5OGj8zCwwAAAIAEP/1AgoCYwBQAF8ACLVVUzkTAjIrNyYmNTQ3Njc2MzMRIyInJjU0NzYzMhcWFhcWFRQHBgcHFRYWFxYXFhcWFxYzMjY2NzY3NjIXFhcUBiMiJyY1JycmJyYjIxUzMhcWFxYVFAYHEyYnIxUzNjc2Njc2NTQmJw0JAgUJCBMVFRMIERQFa3gaL0YOBxYRGwgBBQEYCgYBAQIEEAUEAQIFCgYkBhACMSddEQIBAw4vBS0qFRQHCQUDCQ00CCwrKywIHCwJBzMBBQ0TEQQJBQMBywMIGR8HAgYMPisUHC4jHhMHAQEFAhkeEz06CRsRGQULBAMDBxQuQWgINTcIKAoBwAMFCQYPEg4FAhMCAb8BAgUhFQ8TJDIAAAEANP/1AdgCbwBWAAazPhkBMis3FjMyNzY0JyYnJiYnJiY1NDc2MzIXFzY3NjMyFxYUBwYHBiInJjU0JyYjIgYHBhUUFxYXFhcWFxYWFQYGBwYjIicmFQ4EIyInJjU1NDY3NjMyFxaIB40qGCkoEA0EgQQ5TEw2L1MwCw8NBgYZBwICAgUIMggJBxhcJzcKAhAJEw9PRwg3RANcQgcRYzoEAQgECQwIFggCAwYJGRgICahmEx5kHgsEAh4BDlY9VDQfIQciBgIUBaYFBgQJCQcKDRNQJh8ICxgWDgsKEhEDE1tBR14JASYEAgISBgoEEwVSKCYPBgkJCAABABoAAQHyAmMAOQAGszcaATIrNjQ2NzMRIxUUBgcGIyInJicmNTc2NzM6AjYyMjMzFhcWFAcGBwYjIicmJjU1IxEzHgIVFAYHIyaBCQ1FbgIHCBkUBAsFAgEIDgYGFh0mKTEY1BEDAgIFCwQUGQgHAm5GCgYGCQ3fDRMmDAcByyIfDQcIAgUMBT0+EQQBDQcFeAUMBQIIBw0fIv41BgQPDRIOBQUAAf/9//UCEAJjAEYABrMQAAEyKwEeAhUUBwYjIxUUBwYGBwYjIiYnJjU1IyInJjU0NzYzMx4CFRQHBiMjFRQVFhcXFhYXFjI3NjY3NjY3NSMiJyY1NDY2NwH6CQcGEQgWGAEGRzYfIElyBwEYFwYRFgFbWQkHBhEHFxgBBAEILh0GIAYdLggEAQEYFwYRBQcKAmMGBg8LGAsDq68HP2IUDG5TB6+rAwoZHgcBBgYPCxgLA7AaKnIPAyIxCAICCDEiECGXsAMKGQ0OBgUAAQAT//kB+QJjAEIABrMtGwEyKxMUBiMjHgIXFhcXNTY1Njc+AjcjIiY1NDY3Mx4DFRQHBgYjIwMCBwYHBiInJicmAwMjIiYnJjU0NzYzMx4C2Q8XDwINEQU5AwEBAzkEEg0CDxYPCA6aBwUHAgIGDRMSPz8CBw4FPgUOBwI/PhMTDQYCFgFNTAoGBgI9Fw8FN0oT9SsKBAMDKvQSSzkFDxcTDAcEBAkMCQ8EDAf+//79BQ4FAgIFDgUBAwEBBwwEDx4HAQYEDwABAAz/+QIAAmMAVwAGsxMGATIrASImNTQ3NjIXFhUUByMDBgYHBgcjIicmJyYnJjU0IwYVFAcGBwYHBiMjJicmJicDIyY1NDc2MzIXFhUUBiMjFRYXFhcVNzY3Njc2MhcWFxYXFzU2NzY3NQF9GhESBn4GEh4IIxwIBg8CFRUFDAgDCSYBASYJAwgMBRUVAg8GCBwjCB4VBEA9BhIRGhUNEw0FAQMTDwUMRgwFDxMDAQUNEw0CFw8XGwgDAwgbIwP+/dU1BwkBAgUNByqwJQgBCCauKgcNBQIBCQc11QEDAyMeBwEDCBsXDwRFuGtLDBI/XUsNFRUNS10/EgxLa7hFBAABABwAAQHvAmMAWQAGsxYAATIrNyY1NDY3NjMzNzY3NicnIyInJjU0NzYzMx4DFRQHIhQWFxc2NzcjJjU0NjczMhcWFRQGIyMHBxQfAjIXFhQHBiMjJjU0NzcmJicnBwYGFRYzFhYVFAYHMhYGCwYWFzo1BwE1NhcVCBEUBU1NBwUHAh0IGw4OCw4ZCSAJDk1MBhISGxcyMT9AFxYGEhIETk4WHgkBJhMTEhIjBAYSDgkNAQgdEA0GA3twDQNoaAMIGR8HAgQECQwJIwMCNRoaGB02AyMRDQgDCBsXD2hoBHp8AQMINggCBx4jAwEBTycnJydPAQECEBQRDgYAAAEAFAABAfkCYwBKAAazFgABMis3JiY1NDc2NzYzMzUmJicjIicmNTQ3NjMzHgIVFAciFRYXFhUUMjU0Nzc0IyYmNTQ2NjczFhYVFAcGIyMGBgcVMzIXFhcWFRQGB7INCQIFCQcUFRZZFxYVBxAWAU5NCQcGIAkEBkgCRgwJEg0FBwqcDAoRBxUWF1kWFRMICQUDCQ0BBQ0TEQQJBQOpMMExAwsYHgcBBgYPCyIEAQoLoBUDAxaaGgECEBQNDgYFBw4RGAsDMcEwqQMFCQYPEg4FAAEAMAABAeECYwA/AAazHgABMis3JiY1NDc2ADc3IxUUBgcGIyInJicmNTc2NzM6AjYyMjMzHgQVFAcGAAcHMzU0NzY3NjIXFhcWFRQHBgdHDgkCAQEqBQzeAgcIGRQECwUCAQgOBQUTGSIjKxW4AgsCBgECAf7WBQzvAgULBiQGCwUCAgYOAQYNExAFBQG+BhIiHw0HCAIFDAU9PhEEAQIHAwgLCBAFBf5CBhIsLAUMBQMDBQwFRUYFDQYAAQDW/64B4wK2AB8ABrMIAAEyKxcmJxEQNzY3NjMzHgcVFAcGIyMRMzIXFhQH7RAHAgUNBW9vAQcCBQIDAQESBlBRUVAGEhZSBBQBawFsBA8EAgEFAgQDBgUIBBwHA/2PAwg2CgAAAQA6/60B0gK2ABMABrMMAgEyKxM0NjMyFxYAFxYVFAYjIicmACcmOhMQFQsHAUoCAhQOFwoI/rYBAgKTDhUVDv1OBQgEDRYVDwKyBQgAAQAp/64BNgK2ABYABrMPAAEyKxcmNDc2MzMRIyInJjU0NzYzMxYXEQYHQBcSBlBRUVAGEhQFb28SBAURUgk4BwMCcQMHHB0HAgkQ/SkSBgABAGAByQGsAmMAIAAGsw8BATIrEzYzFhceAhcWFRQHBgcGJyYnJwYGIwYnJicmNTQ3Njb9AwgHSBAnEwEKCQkKDgsBODgBbwELDgoJCQoDigJhAgEkCBUKAQYQChARBQcGAR8fAT4GBwUREAoQBgJHAAABADn/oQHU/+cABwAGswYCATIrFjQ3IRYUByE5HQFgHh7+oFY0CQoyCgABALABZQFeAqkAHQAGsw0CATIrARQGIyInJiY1NDc2NzYzFhcWFRQHBgYHFTI2MzIWAUAjGA8LGyBEHBoECAwPDRUgKgMBBwIXIwGeGh8FCz8rXUQcCwIBDw4KEg0QQisOASEAAgAw//oCDAG3ADkARwAItUI7IQYCMisTIiY1NDc2MzIXFhYXFhUVFjMWFxYVFAcGIyImJyYmJwcGIyImNTQ+Ajc2MzM1NCYnJiMiByMGBwYXNSMGBwYVFBYzMjY3Nn4WHhUfVTkIO1cIASkGHgcJEgQkLCgQAwcBCj1PQ1orSU0sKg8FLSMJIiMEBgQDDr0IgTkVNiYtQgkCATIfFh0UHwEKRjQFb20FAQgKExsIAggPAwgBBiRXPCM1HxIEAwUZKAcBARYHG4MkAyUOER4oIxwGAAACAAT/+gHsAmMAKgA4AAi1NS0TAAIyKwUiJwYHBiMiJyYnAxEjJyY1NDc2MzIXFhcWFRU3NjMyFxYXFhUUBwYHBgY3NCYjIgYHBxUWFjMyNgElQzQDBwgZFAQMBQEfHxcXAT47BgsFAgk3SDMvOBYHAQofHFNGRTkiOg4EEC8qNE8GLBYHCAIGDgEAAQABBx4dCAEDBQwFX18GIyIsTRsmHARAKicu3TtXJRsHeyw1UwAAAQBC//oB0gG4AC8ABrMKAAEyKwUiJjU0NzY3NjM2MzIWFxYVFAYjIiY1NSciJiMiBwYGFRQWMzI3NjYzMhcWFRQHBgEjWoc1OFcEBwISOEAUFR4WFR8KARsJFw4zQGJAMxIGDxUTBBMKLgZ+YFBBQgsBAQwTFR0WHx4VBQEBAgtOOj9SNA8JAgcUCxRcAAIAH//6AggCYwAmADgACLUzKSEOAjIrNzQ2MzIXFzUjJyY1NDc2MzIXFhcRMxYVFAcjIicmNTUHBiMiJyYmNxQWMzI3NjY3NSYnJiMiBwYGH3BXPjIJHx8XFwE+OwYKCD8WFj4/BBIJNkEnITZCVEUzRCQDCAERPQwRCwUwQdhZhCAGiAEHHh0IAQMFEf4CDRkcCQIIFwkHKhAZbEg6V0gGEwN4MhIDAQhQAAACADD/+gHQAbgAKAAyAAi1LSkeAQIyKxM3MjMWFhcWFRQGBwcjFxYWMzI3Njc2MhcWFRQHBgYjIiYnJjU0Njc2FyYmJyYjIgcGB/gKCgZVYQcBCgyamQMPWjw7FAULBiQGEgsVWzhLehoOQjgjrAklJQYYMScaCwG3AQJoVwcMEQ4HAQovPTgLBQMDCBMKFSoxUUMiKT5tHBGpKy4JAScaIgABACMAAQG1AmkAOwAGsy0JATIrEzY2NzM1NDc2NjMWFxYVFAYjIiYnNSMGBwYVFTMyFxYUBwYjIxEzMhcWFRQGByEmJjU0NzYzMxEjIicmKwEJDW4GD14+LRYRHRUSHQIKNQ4BQ0EGEhIGQUM7OgYSCQ3+vw4JEgY6Ozc2BhIBixELCB4nEis4AxgTFxUcFhAEBSoEHh0DBzgHA/7pAwgbEgwHBg0SGwgDARcDCAADAB3/GwH9AboAQgBNAGEACrdYT0tFMwgDMisTNDYzMhcXNzYzMhYVFAYjIicmIwYjBgcWFRQGIyInJwYVFBYzNhcyMhYzFhcWFhUUBgcGIyInJjU0NzcnJjU0NycmJTQmIyIGFRQWMjYHJiMiBgcGFRQXFjMyNjc2NTQnJjxkSS0mDQkuKyMvGxQbDwMCAQQHFBdiSyklCQQSDwcFAQ8fFEgaQE9oRxkhf0UlOQUEERMGFwEFMyglMDFOMQEIcCIaDxceNks2YAkCEBUBEkReEwcGGiAdFB0aBwEBCCMuQmAQBQoIERsBAgEBBAxEPD5MCwRDJi9BMwQIHSUYKgsmKigwMiYnMDDwAQcPFx0XFCElHAYFFxIYAAABAAQAAQIIAmMARAAGsyULATIrNzQ3MxEjJyY1NDc2MzIXFhcWFRQzMjY3NjMyFxYXFBUVMxYVFAcjJiY1NDc2NzYzMzU0JyYmIyIHBg8CFTMWFRQHIyYEFz4fHxcXAT47BgsFAgIOQg4JHGQXBQE/Fha+DQkCBgkGFBYBAxwfNyUNBwIBPxYW0RcmGwsBywEHHh0IAQMFDAVhXyYCAlkTUh0Teg0ZHAkFDhIQBQkFA3B0BRwYLRIYCl5eDRkcCQcAAAIASAABAc4CZAALACgACLUmFwgCAjIrEzQ2MzIWFRQGIyImAzQ2NzMRIycmNDc2MzMWFxYVFTMyFxYVFAYHISbKIhgWIyIXGSGCCQ2LQkEWFgFhXxEDAj08BhIJDf6mFgIvFx4fFRYfH/4MEQ4HARcBBzwHAQ0HBaWlAwgbEgwHBwACADD/HAF4AmQACgA4AAi1MCQHAgIyKwE0NjMyFhQGIyImAzIWFRUXMzI3Njc2NjU1IycmNTQ3MzoCNjIyMzMWFxYVFAcGBiMmJicmJzQ2AQUiGBYjIhYZIqEXHQghGgcvDQUBSkkWFgMDCw4TFBgMZxEDAgUSYE0yOhAHARwCLxceHyogH/2LHxYGAQIPNA82pMwBCB0eBwENBwXm8xVCSgIWGw8OGSAAAAEADQABAfsCYwBTAAazSR8BMisBIiY1NDc2MzMeAxUUBwcjBgYHFhcXMx4DFRQHIyY1NDY3NycmJicnBwcVMzIXFhQHBiMiJyY0NzYzMxEjIicmNTQ3Njc2MzIXFhcXFRc2NwETGhESBmdpBwUHAhUhIRJGETwKQDsHBQcCFawWDxMMMAsZBgYjIiEgBhISBGZnBBISBiAhISAGEgIICwQ5NgYLBAMBOz4BYw8XGwgDBAQJDAkdCAERQxFQDVUEBAkMCR0IBx4UEQEBPw4iCAghID8DCDYIAgIINggDAcsDCBsPBQ0EAQMECwSwsDw6AAEAMwABAdoCYwAhAAazFQcBMisTNDczOgI2MjIzMxYXETMeAhUUByEmNTQ2NjczESMnJjMWAwMLDhMUGAxnEgSUCQcGFv6FFgUHCpNKSRYCPR4HAQkQ/gIGBg8LHAkIHQ0OBgUBywEIAAAB//QAAQIYAbQAWQAGsxoFATIrNxYWFRQHIyY1NDY3MxEjJicmNTQ3MzIXFhc2MzIXNzYzMhcWFxYXFTMWFhUUByMmJjU0NzM1NCYnJiMiBgcGFRUzFhYVFAcjJiY1NDczNTQmJyYjIgYHBhUVhRcQFYwXEBgRERIFERcpKAYNBTMhOBkGKT0lFhcHAQERFxAVdw0JHAcCBgkRIScEAREXEBV3DQkcBwIGCREhJwQBTAIOFh0IBx4VDwIBFwECCxgbCwMGER8uBSkZFzIEg38CDhYdCAUOEiMDc2UpDQ85KAZdWQIOFh0IBQ4SIwNzZSkNDzkoBl1ZAAEABAABAggBtAA+AAazFwoBMisTNDczMhcWFRczNjMyFxYXFBUVMxYVFAcjJiY1NDc2NzYzMzU0JyYmIyIHBg8CFTMWFRQHIyY1NDczESMnJgQXPjwGEgEBPD9sFwUBPxYWvg0JAgUKBhQWAQMcHzclDQcCAT8WFtEXFz4fHxcBiRsLAwgVBSpZE1IdE3oNGRwJBQ4SEAQKBQNwdAUcGC0SGApeXg0ZHAkHHhsLARcBBwACADT/+gHYAbgAFgAkAAi1HxkNAQIyKxM2MzIXFhcWFRQHBgcGIyInJicmNDc2BTQmIyIGFRQWMzI2NzZ0Q04xKGUTAhkxahAOOzRQEQICDAFCSDc1SEY4HTYOHQF5PxUzdhASOi5hEwIiNGYQJBBMZTlSVDc9XiEXLAAAAgAE/yMB7AG1ACwAOgAItTcvIgoCMisTNDczMhcWFRU3NjIWFxYVFAcGBwYjIicmJiMiFRUzFhUUByMmNTQ3MxEjJyYFNCYjIgYHBxUWFjMyNgQXPjwGEgk3iF4SBwEKHzxjGx4FLgkBPxYW0RcXPh8fFwGVRTkiOg4EEC8qNE8BiRsLAwcUBQYjWkEbJhwEQCpVCgIfW1wNGRwJBx4bCwH1AQeUO1clGwd7LDVTAAACACL/IwIhAbUAKgA7AAi1Ny0YBQIyKzc0NjcyNjMyFxc1NDYzMhYXETMyFxYUBwYiJyY0NzYzMzU0IgcGIyImJyY3FBYzMjc2NzY1NScmIyMGBiJtTwIOBEU1CBIYFQ8GISAGEhIE2gQSEgYgIQIIOkRPbQ0BU1A1Dwg8HgkBH1YJNkrXW3kJASkGCxISCg/90gMINggCAgg2CANfXgYrbU4IGj5TAg09ER0XMGEHTgAAAQAYAAEB5wG1ADMABrMmCwEyKxMeBRQWFRU2MzIXFhUUBiMiJicnBgcGBgcGFRUzMhcWFRQHISY1NDczESMnJjU0N88CBwIFAgMBRGE/GAYcFRMaBAErFScyBQFAPwYSFf7IFxdiMTEXFwGvAQYBBQMGBwkGEkQrDgwVHhYTAwULE0gtBkE+AwgbHQgHHhoMARcBBx4aDAABAEj/+gHKAbgAUQAGszsQATIrJTI1NCcmJyYnJjU0NzY3MjYzFhcXMjc2MzIXFhUUBwYGIyImJyYnJiMiBwYVFBcWFxYXFhcWFRUUBwYGIyInJiMGBwYiJyY1NDY3NjMyFxYXFgEEfCEXSEYVXR8nVwIcCTsbCQEHChAWCAICBBAUFxIBARMTMTUfGg0YL2AeUhECBQ9fSEcvCAEDAwwsCAICBwkZFQgGBxdGOxcRDAsMCCBJKx8oCAEDCwMHChMFMjEFDAcMExUICw8MFA0JEAcQCR4/CBEIChQuMxsFBQYVEwU9NRIHCQYEEEMAAQAZ//oBwAIqADoABrMaBQEyKyUyFhUUBiMiJyYnJjU1IyInJjU2NjczNTc2NjMyFxYXFhUVMx4HFRQHByMVFBcWMzI3Njc2AZcZEGNDOiUjBgExLwYSAQkNYQEHEBQQBgsFArABBwIFAgMBARZYWAEHOjsLAQkItg0VQVklIz4GcWwDCB0RCwgyMw0JAwUMBTExAQUCBAMGBQgEGgsBam0FQU8SBwgAAQAE//sCCAGvADcABrMXCQEyKyUUByMiJyYnBwYjIicmJjU1IycmNTQ3NjMyFxYXFxUXFjMyNzY2NTUjJyY1NDczMhcWFxYVFTMWAggWPj8EDQUJMUJsFwUCHx8XFwE+OwYLBAMBCD5LGQUCHx8XFz48BgsFAj8WJhwJAgYRBRpIDydqgAEHHh0IAQMECwSbmh4xCx1ZawEHHhsLAwUMBaWlDQABABj//AH0Aa8ANQAGswwAATIrARYVFAcHIwcGBwYHByIiIycmJyYnJyMnJjU0NzYzMx4CFRQHBiMjFxc2NzcjIicmNTQ2NjcB3hYWGho0NgIJFAoKDgoKFAkCNjQaGRcUBVNTCQcGEQgTFS0tFRgtFRQGEQUHCgGvDRkcCQGlpgQSBQEBBRIEpqUBBx0eBwIGBg8LGAsDi4s+TYsDChkNDgYFAAEAEP/8AfwBrwBhAAazRwYBMisTIiY1NDc2MzIXFhQHBiMiFRYXFhUVNjc2NzY3NjczMhcWFxYXFhUUMzU0NjU2NzY1NCMiJyY0NzYyFxYVFAYjBxQGBgcGBwYjIicmJyYmNTQHBhUGBgcGBiMnJicnJiY1JjYWEBUEVFEGEhIGICEEBR8BAQMWCAIEFxMSBwwIBAYYAQEDHAchIAYSEgamBhIQFg8cHQIGDAgTFgYVBgkWAQEBGAgHFRsYEgYPDxwHAWMRFR4HAQMINggDARoguhUFAQsgUBoDCA4DBAwHFVQkCAICBgMsqigDAQMINggDAwgbFREBAaWoBAsGAwIHERliGAcHAwQdZg0OCAEJC1VWpQEBAAABAB0AAQHvAa8AYQAGsykJATIrExc3NCMmNTQ3NjMzHgcVFAcGIyMHBhUiFh8CMhcWFxYVFAcjJjU0NjcyNSYnJwcHFjMWFhUUByMmJjU0NjY3Mzc2NSYnJyMiJyYnJjU0Njc2MzMeAxUUByLRMzAHHhIGUVMBBwIFAgMBARIGICEwMQEeGjciIAYJBgMWqhYNEwssDgcfHwUHEw4Vqg0JBgYKQjY1FxsyIiAGCgUCCQ0BU1IHBQcCHAcBYkREAQMjGwgDAQUCBAMGBQgEHAcDQUECKCJIAQMFCQcOHAkIHRQQAgFCFAowMAECDxUdCAUOEg0PBAZJSQEeJEIDBQoEEBIOBQEEBAkMCSMDAAABABr/HAH0Aa8AVQAGs0ELATIrNzQmJicjJyY1NDc2MzMeAhUUBwYHBiMHFRcWFhcWFxU3Njc0IyInJjU0NzMeBxUUBwYjIgcGAgcGBwYjIiY1NDYzMhYVFSMHBhYzNjc2NuwzQxAbGhcXAVRTCgYGAwUJBxISAgIJBEUGAwtDFRMIEBaoAQcCBQIDAQESBhgaAQWKAihIFRYjMB0WFR4SAgMCBzQZBBkBAYawKwEHHh0IAQYEDw0PBgkFAwEBBgYXCrkiBQs5ygEDCxgcCgEFAgQDBgUIBBwHAwIQ/lYFZRkIMyYXHRsVAwUHAgU8CUwAAAEAIgABAdsBrwBEAAazIQABMis3JiY1NDQ+Azc2NjcjFRQHBiMiJyYnJjU3NjczOgI2MjIzMx4FFRQOAgcGBgczNTQ3NjMyFxYXFhUUBwYHOA4IAQECAwIX/RbQCQgZFAQLBQIBCA4GBRMaISQsFbwCCQMFAgEBAQYCIf4L4wkJGBIGCwUCAgYOAQUOFQcHBQQCBQIX7RYVHAkIAgUMBTAwEQQBAgUDBgYLBwoKAwcDIe4LGyEKCQMFDAU0NQUNBgAAAQAy/60B2wK2AD8ABrMnBgEyKwUyFhUUBwYjJicmLwI1JyYnJiYnJicmNTQ3Njc2Njc2Nzc1NzY3NzIzMhcWFAcGIyIHBxQHBgcHFxYXFhUXFgGuGxITBSAoHWsUAgEDD0sENgIKBQICBQoCNgRLDwMBFJoLDAggCAkJCBxuDwECCygICCgLAgENBw8XHQcCAQQQRQplZgUfCQEDAQMKBRIRBQoDAQMBCR8GZWZbBwEJCSgJCR9lYwYuGAUGGC0IYmQgAAEA5P+uASkCtgAJAAazBwEBMisTNjMyFxEHBiIn5A0VERIECSwMApwaGv0rBhMZAAEAMf+tAdsCtgBHAAazJAEBMisTNjMWFxYWFxYUFxYXMhYWFxYVFAcGBw4CIwYHBhQHBwYHBgciJicmNTQ3NjMyNzc1NDc2NzcmJyYnJjU1JyYjIicmNTQ3NkUEIScdOj4JAQEMUAMdGgISAwUKAhodA04OAQECFGscKBwNBwkJCBxsDwMCCygIBAQoCwIDD2wcCAkJBgK0AgEECS0oIociJQkCAgEGHRAHCgMBAgIJJCKHIgpFEAQBAgcJFRQICRsFZGIILRgGAgMYLgZjZQQbCQgUFQkGAAEAVwB0AbUBBQAjAAazEwEBMisTNjMyFxYzMjc2MzMyFxYVBgcGByInJiMiBwYjIyInJjU2NzbRCgUjHA0EDzAQDQQKDg0BF0ErKhoNBA8wEAwECw4NARc9AQMCKRMrEA4ODgsXQQMpEysQDg4OCxc7AAIAaAIHAaUCZAAMAB0ACLUZFAkCAjIrEzQ2MzIXFhUUBiMjIjc0NjcyNjM2MxYWFRQjIyImaBwXFAUlHRYHN8sXEAIFAQEMGB44BxYdAjUWGAELIhQaLhEZAwEBARgWLhsAAgBoAgcBpQJkAAwAHQAItRkUCQICMisTNDYzMhcWFRQGIyMiNzQ2NzI2MzYzFhYVFCMjIiZoHBcUBSUdFgc3yxcQAgUBAQwYHjgHFh0CNRYYAQsiFBouERkDAQEBGBYuGwACALUB8wFXAmsADQAYAAi1Ew4JAgIyKxM0NjMyFxYVFAYjIicmFzI2NTQmIyIGFBa1MiAnGBEyICgXEVEQGBgOEBoaAi4cIRgREhwhGRELEA4MEBAaEAAAAQCb/ywBsgAyACsABrMaAAEyKxcuAjU0NzY2NzY3NjU0JicuAzU0NzY3NjMyFxYfAhYXFhUUBwYHBiOyCgcGCQcOJD4fJSUaCgsIBgEDEAUTDwgQAQELOBUIAhZvHDnUBQUPDRQIBwIBAQcIERATAgEDBwwhIwMPBQIDChYLBBIrEBkRCEUMBAAAAQBIAAEBzgGvABwABrMaCwEyKzc0NjczESMnJjQ3NjMzFhcWFRUzMhcWFRQGByEmSAkNi0JBFhYBYV8RAwI9PAYSCQ3+phYmEQ4HARcBBzwHAQ0HBaWlAwgbEgwHBwAAAQAw/xwBeAGvAC0ABrMlGQEyKxcyFhUVFzMyNzY3NjY1NSMnJjU0NzM6AjYyMjMzFhcWFRQHBgYjJiYnJic0NmQXHQghGgcvDQUBSkkWFgMDCw4TFBgMZxEDAgUSYE0yOhAHARxbHxYGAQIPNA82pMwBCB0eBwENBwXm8xVCSgIWGw8OGSAAAAEAYAHJAawCYwAgAAazDwEBMisTNjMWFx4CFxYVFAcGBwYnJicnBgYjBicmJyY1NDc2Nv0DCAdIECcTAQoJCQoOCwE4OAFvAQsOCgkJCgOKAmECASQIFQoBBhAKEBEFBwYBHx8BPgYHBREQChAGAkcAAAEAYgHBAaoCQQAYAAazEQEBMisTNjMyFxc3NjMyFxYWFRQHBgYiJicmNTQ2cgoJBz48PDwHDQcEDQ8JgxKHBQ8MAjcKGBcXFwgDHgoWBQQtLgMFFgkeAAABAEkB9AHDAkEADgAGswYAATIrEyYmJzQ3NjMzHgIVFAdgDAoBFAWmpQkGBxYB9AUOESEGAgcFEAscCgABAMIB5QGYAmMAEwAGswkAATIrEyImNTQ3NjcyNjMWFhUUBgcGBwbkDxMPCYkBCQMSFgwJA0pIAeUkEBMHBikBAhgQCxYDAxYXAAEAdAHlAUoCYwASAAazDAUBMisTNDY3MjYzFhcWFRQGIyInJicmdBIOAQgDlgUPEw8KSEoDFQI5DxYEASsFBxMQJBcWAwoAAAEATwH4Ab4CYwAcAAazBQABMisBMhUGBwYrAiImJyY1NDYzFhcWFxYyNzY3Njc2AZgmAiMlWxMOPz8ZEhMUGwYDDRKaEg0DBQoGAmMiJRISChUTGRIOAw8EAgQEAgQMAwMAAQA5/6EB1P/nAAcABrMGAgEyKxY0NyEWFAchOR0BYB4e/qBWNAkKMgoAAgC1AfMBVwJrAA0AGAAItRMOCQICMisTNDYzMhcWFRQGIyInJhcyNjU0JiMiBhQWtTIgJxgRMiAoFxFREBgYDhAaGgIuHCEYERIcIRkRCxAODBAQGhAAAAEAVwHSAbUCYwAjAAazEwEBMisTNjMyFxYzMjc2MzMyFxYVBgcGByInJiMiBwYjIyInJjU2NzbRCgUjHA0EDzAQDQQKDg0BF0ErKhoNBA8wEAwECw4NARc9AmECKRMrEA4ODgsXQQMpEysQDg4OCxc7AAEAMf+tAdsCtgBHAAazJAEBMisTNjMWFxYWFxYUFxYXMhYWFxYVFAcGBw4CIwYHBhQHBwYHBgciJicmNTQ3NjMyNzc1NDc2NzcmJyYnJjU1JyYjIicmNTQ3NkUEIScdOj4JAQEMUAMdGgISAwUKAhodA04OAQECFGscKBwNBwkJCBxsDwMCCygIBAQoCwIDD2wcCAkJBgK0AgEECS0oIociJQkCAgEGHRAHCgMBAgIJJCKHIgpFEAQBAgcJFRQICRsFZGIILRgGAgMYLgZjZQQbCQgUFQkGAAEAGQAAAegCYwAwAAazGwEBMisTNjMzFhcWFAcGBwYjIicmJjU1IxEzMhcWFAcGIyImJyYmNDY3NjMzESMiJyYmNDc2LAXR0BEDAgIFCwQUGQgHAtslIwYSEgZmVhsHBwMDBwkgGRkgCQcDAgcCYQINBwV4BQwFAggHDR8i/jUDCDYIAwIFBwggCAcHAcsHBwggBQwAAAIAIwAAAekCbwAYACcACLUjHRADAjIrEzMyNjMzHgMXFhIVFAcGICcmNTQSNzYXJiY1JjEHFAcGBzMmJyboBQUPBx0CCgYHAQOnEAL+XgIQpwMJNQEDAQEyRQT4AShAAm4BAQcEBgQE/c0PCggBAQgKDwIzBA9zBA8BBQMPsPEJAozXAAMAOP/2AdQCbQASACsATwAKt0AuHxQMAQMyKxM2MzMyFhcWFRQHBgYiJicmNTQFJiIHDgIVFBceAjMyPgI3NjU0JyYmBzY2MxYXFhUUMjU0NzYzMhYXFQYGIyInJjU0IhUUBwYjIiYnZiVlDkdHGi4uGEeCRxguARkcdBcODgICBBIuNCctGQgDAgIEErUFExQUCQkCCQgYFQ0IBw4VGAgJAgkIGBUPBQJMIQsWLe3uLRUMDBUt7u0JCxcOTEA+Tho/MxYMJCwsGk5MHD4zpw0JAQgHBwICBwcIBw5kDggIBwcCAgcHCAgOAAEAHgABAe8CbwBDAAazEgABMis3JjU0Njc2MzI1NhISNzY3MzI2MzMWFxYSEhUWMzIXFhUUByMmNTQ3NjcyNTQmJicmNTQnIhUUBw4CFRQzFhcWFRQHNBYGCwYREgE4OQMIEgUFEAceFQQCOjgBEhAIERagFwkHGRMMEgQ1AQE1BBIMExkHCRYBCB0QDQYDAgEBAQEFBQ8FAQ4HBP77/v4BAgMLGBwJCRwTCggBAgE0UhH7JwYBBiX+EVI0AQIBCAoTGwoAAAMAIQABAesCYwAqAEoAZQAKt1xLNS0NAAMyKwEeAxQWFBQVFAYHBiInJjU1IRUUBwYjIicmJyY1NDc2NzM6AjYyMjMDFAcjJicmNDc2NzMWFRUzNTQ3MxYXFhQHBgcjJjU1IwcWFhUVITU0NjIXFhYVFAcGByEmJyY1NDc2NgHRAwgDBQMCBwgyCAn+5gkIGRQECwUCAwcNBgUVGyUmLxdHFyYRBAICBBEmF4oXJhEEAgIEESYXinQXEQEiEjAJBwICBg7+Yw4GAwEGEAJjAgYCBQQGCwsKHA0HCAgJEAgIEAkIAgUMBSEgBg4DAf6yEwsIDAVcBQwICxMFBRMLCAwFXAUMCAsTBaMBDhULCxISCQcNHyIFDQYFDAYiJAQNCAAAAQAQAAEB/AJjAEMABrMTAAEyKzcmJjU0NzY3NjMzESMiJyY1NDc2MzMeAhUUBwYHBiMjETMyFxYXFhUUBgcjJiY1NDc2NzYzMxEjETMyFxYXFhUUBgcnDQkCBQkIExUVEwgRFAXf3goGBgMFCQgTFRUUBwkFAwkNqQ0JAgUJBxQVwhUUBwkFAwkNAQUNExEECQUDAcsDCBkfBwIGBA8NDwYJBQP+NQMFCQYPEg4FBQ0TEQQJBQMBy/41AwUJBg8SDgUAAAEAKAABAeQCYwA9AAazMgcBMisTNjczOgI2MjIzMxYXFhQHBgcGIyInJiY1NSMXFhYXFgcHMzU0Njc2MzIXFhcWFAcGByEmNTQ3NjY1NCYmKAIVBQYUHCMnLhbGEQMCAgULBBQZCAcC9yAgQwIGBX7vAgcJGBIGCwUCAgYO/nEWAgKWmQICPxsIAQ0HBXgFDAUCCAcNHyI0NGwEDQzYIh4OBwkDBQwFegUNBgkVCAUC/AUE9wYAAQAmAAEB5gJuAD0ABrMnCwEyKxM0NjczMhYXNjY3NjMyFhUUBwYjIiYnJiYjIgcGBwYHFTMeAhUUByMmNTQ2NjczNSY1JicmIgcGBwYGIiYmPC0JNS8KAQUBF0kzRhEFExkPAgIQFAkGIAkEATYJBwYWvxYFBwo1AggkBhIFFQMBEDIQAe4xRghEPQQUBmRMNBgJAg0XIB8DD1sjr6MGBg8LHAkIHQ0OBgWjrwR4EQMCDDEXDQ0AAAMAKQABAeMCYwBPAF4AbAAKt2RgXFEwBgMyKxI0NzMyMjYyMzMeAxUUBwcjFTMXMhYzFhYXFhUUBwYGByIGByMjFTMeAxUUByMmNTQ2NzM1IyMmJiMmJicmNTQ3NjY3MjYzNzM1IycXNSMiBgcGFRQXFhcWMzI3JiMiFRQzMjY2NTQnJosWBQYUGCEPZAcFBwIVHh4CAgIFAjhfDQICDV45AgUCAgI8BwUHAhXLFgkNOwICAgQCOV8NAgINXzkCBAICAh4dOwITOQkJBxE4CgQCZAoEAgISOhIHEQIfPAcBBAQJDAkdCAFeAQEIPSgJDxAIKT0IAQFeBAQJDAkdCAceEQ4HXgEBCDwqCBAPCSk8CAEBXgHmOhkKCwwKChoKA3IDOjsZFA0KChoAAAEAJQABAecCYwBdAAazRRUBMisTMhYXFBYVFhYXFjMyNTUjJyY1NDc2MzMeAhUUBwcjFRQzMjc2Njc0NjU2NjMWFxYVFAYHBgcGBwYHBiMjFTMeAhUUByMmNTQ2NjczNSMiJyYnJicmJycmJjU2Nk0kIQYCAhIYEQQBGxoWFgFgXgkHBhYbGwEDEhgSAgIGISQXCAkNDwQBAxQgTwkFAjYJBwYWvxYFBwo1AgUJTyAUAwIBAREMAg8B2x4iAhsKLTIQCo6OAQgdHgcBBgYPCxwJAY6OChAxLgobAiIeAQgJFBIQBQ8UPiZEFANgBgYPCxwJCB0NDgYFYAMURCY+GQMHBRAUFQ8AAAEAIAABAewCbgBbAAazIAIBMisTNDYzMhcWFhUUBwYHBgcGFRQzMzU0MzIXFhYVFAcGBwYjIyYnJjU0NjY3Njc2NTQmJyYjIgYHBhUUFxYXHgIXFAcGBwYjIyYnJzQ3NjMyFRUzMjU0JyYnJicmKH9bGRtJZQQIKxsKChQTJBEJBwICBQsESUkOBgIQERIcCglAMQwNNUgKAwkKHBIQEAICBQsESUkQBgECCRkjFBMKChsxBQEBlFmBBQ9zURgXNGI+HiEGAgskCQcOICQFDAUCBQwEER9HLixFJyQeN0sJAj8wDREeJCdFLStEIREFDAUCBhAlJgUUJAsCBiEePnE9BwAAAQCwAWUBXgKpAB0ABrMNAgEyKwEUBiMiJyYmNTQ3Njc2MxYXFhUUBwYGBxUyNjMyFgFAIxgPCxsgRBwaBAgMDw0VICoDAQcCFyMBnhofBQs/K11EHAsCAQ8OChINEEIrDgEhAAEArwEfAV0CYwAaAAazDAIBMisSNDYzMhcWFhUUBgcGIyYmNTQ3NjY3NSIGIyLNIBoMDxsgPTEPCgodFSAqAwEHAhcCETIgBQs+Kz9mHQkBHAsSDRBCKw4BAAEA0wFOATkCbwAVAAazDgIBMisTNDYzMhcWFRQHBgYHBgYiJicmJicm0x0WHxAEBgYDBQcIIAgHBQMGBgI8Fh0dCA0MYFsYBwcCAgcHGFtUAAABACz/dQHgAPgALgAABQYHISYnJzU8AjY2NDY0Njc2MzIXFjIWFBUVITU8AjY0NjQ3NzYyFxcWFxQVAeAIDf53DwYBAQECAwEJDQsJBAEDAUABAwICCRgJAgUBdhEEBw6qVxIZFQwLBQQBAgEJCQQTICTm5hIYFAsIBQECAgkJAgQsESEAAAEAAACCAHwABQAAAAAAAgAAABgAjQAAACAODAAAAAAAAAASABIAEgASAEMAgwEoAbkCQALbAwgDPwNzBAYEOARlBHsElAS7BPsFOwWTBgkGXwbIBzMHdwfjCEkIcwiuCN4JBgk0CYgJ8wplCtkLJwtqC9wMQgyuDS4Naw2zDiMOcQ7rD10Pow/7EGoQ9xF0EccSLRKRExITkRP6FFgUixSyFNoVExUoFVoVxBYdFmQWuhcLF2IX7xhQGJEY5hleGZMaDxpoGqYa/htXG6McGhxuHMAdEh2eHiUenh7/H2EfeR/lIB4gTyBPIIAgrCDxISEhZSGeIcoh6CINIjEiYiJ3IqMi3CNII5Mj1SRKJK0lPiWgJfsmVybtJ3En8yglKFIoeyi+AAAAAQAAAAEAAJq59PJfDzz1AA8D6AAAAAAAAAAAAAAAAAAAAAD/9P8bAiECtgAAAAgAAgAAAAAAAAD6ADIAAAAAAU0AAAINAAAAzgB6ACQAOgAjABwArwCmAFcARAAmAKwAOQDBADoAKgBjADQALAAdADQALQAsAC0ALgDBAK8AOQAmADkAPgAsABwAEQAoABAAEwAWACYAEABIADkAEgAZAAwAFAA4ABMAOAAQADQAGv/9ABMADAAcABQAMADWADoAKQBgADkAsAAwAAQAQgAfADAAIwAdAAQASAAwAA0AM//0AAQANAAEACIAGABIABkABAAYABAAHQAaACIAMgDkADEAVwBoAAAAaAC1AJsASAAwAGAAYgBJAMIAdABPADkAtQBXADEAGQAjADgAHgAhABAAKAAmACkAJQAgALAArwDTACwAAQAAArb/GwBaAg3/9P/sAiEAAQAAAAAAAAAAAAAAAAAAAAQAAgINAZAABQAAAooCvAAAAIwCigK8AAAB4AAxAQIAAAAAAAAAAAAAAACAAADvEADs7QAAAAAAAAAAUGZFZABAACAkIwMg/zgAWgK2AOUgAACPXgMAAAGvAmMAAAAgAAEAAAACAAAAAwAAABQAAwABAAAAFAAEAMgAAAAuACAABAAOAH8AoACoALAAuAExAjcCxwLLAtoC3QOUA5gDmwOeA6ADowOmA6kgGSAyJCP//wAAACAAoACoALAAuAExAjcCxgLJAtgC3AOTA5gDmwOeA6ADowOlA6ggGCAyJCP////j/8P/vP+1/67/Nv4x/aP9ov2W/ZX84Pzd/Nv82fzY/Nb81fzU4GbgTtxeAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhuQgACABjYyNiGyEhsABZsABDI0SyAAEAQ2BCLbABLLAgYGYtsAIsIyEjIS2wAywgZLMDFBUAQkOwE0MgYGBCsQIUQ0KxJQNDsAJDVHggsAwjsAJDQ2FksARQeLICAgJDYEKwIWUcIbACQ0OyDhUBQhwgsAJDI0KyEwETQ2BCI7AAUFhlWbIWAQJDYEItsAQssAMrsBVDWCMhIyGwFkNDI7AAUFhlWRsgZCCwwFCwBCZasigBDUNFY0WwBkVYIbADJVlSW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCxAQ1DRWNFYWSwKFBYIbEBDUNFY0UgsDBQWCGwMFkbILDAUFggZiCKimEgsApQWGAbILAgUFghsApgGyCwNlBYIbA2YBtgWVlZG7ACJbAMQ2OwAFJYsABLsApQWCGwDEMbS7AeUFghsB5LYbgQAGOwDENjuAUAYllZZGFZsAErWVkjsABQWGVZWSBksBZDI0JZLbAFLCBFILAEJWFkILAHQ1BYsAcjQrAII0IbISFZsAFgLbAGLCMhIyGwAysgZLEHYkIgsAgjQrAGRVgbsQENQ0VjsQENQ7ACYEVjsAUqISCwCEMgiiCKsAErsTAFJbAEJlFYYFAbYVJZWCNZIVkgsEBTWLABKxshsEBZI7AAUFhlWS2wByywCUMrsgACAENgQi2wCCywCSNCIyCwACNCYbACYmawAWOwAWCwByotsAksICBFILAOQ2O4BABiILAAUFiwQGBZZrABY2BEsAFgLbAKLLIJDgBDRUIqIbIAAQBDYEItsAsssABDI0SyAAEAQ2BCLbAMLCAgRSCwASsjsABDsAQlYCBFiiNhIGQgsCBQWCGwABuwMFBYsCAbsEBZWSOwAFBYZVmwAyUjYUREsAFgLbANLCAgRSCwASsjsABDsAQlYCBFiiNhIGSwJFBYsAAbsEBZI7AAUFhlWbADJSNhRESwAWAtsA4sILAAI0KzDQwAA0VQWCEbIyFZKiEtsA8ssQICRbBkYUQtsBAssAFgICCwD0NKsABQWCCwDyNCWbAQQ0qwAFJYILAQI0JZLbARLCCwEGJmsAFjILgEAGOKI2GwEUNgIIpgILARI0IjLbASLEtUWLEEZERZJLANZSN4LbATLEtRWEtTWLEEZERZGyFZJLATZSN4LbAULLEAEkNVWLESEkOwAWFCsBErWbAAQ7ACJUKxDwIlQrEQAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAQKiEjsAFhIIojYbAQKiEbsQEAQ2CwAiVCsAIlYbAQKiFZsA9DR7AQQ0dgsAJiILAAUFiwQGBZZrABYyCwDkNjuAQAYiCwAFBYsEBgWWawAWNgsQAAEyNEsAFDsAA+sgEBAUNgQi2wFSwAsQACRVRYsBIjQiBFsA4jQrANI7ACYEIgYLcYGAEAEQATAEJCQopgILAUI0KwAWGxFAgrsIsrGyJZLbAWLLEAFSstsBcssQEVKy2wGCyxAhUrLbAZLLEDFSstsBossQQVKy2wGyyxBRUrLbAcLLEGFSstsB0ssQcVKy2wHiyxCBUrLbAfLLEJFSstsCssIyCwEGJmsAFjsAZgS1RYIyAusAFdGyEhWS2wLCwjILAQYmawAWOwFmBLVFgjIC6wAXEbISFZLbAtLCMgsBBiZrABY7AmYEtUWCMgLrABchshIVktsCAsALAPK7EAAkVUWLASI0IgRbAOI0KwDSOwAmBCIGCwAWG1GBgBABEAQkKKYLEUCCuwiysbIlktsCEssQAgKy2wIiyxASArLbAjLLECICstsCQssQMgKy2wJSyxBCArLbAmLLEFICstsCcssQYgKy2wKCyxByArLbApLLEIICstsCossQkgKy2wLiwgPLABYC2wLywgYLAYYCBDI7ABYEOwAiVhsAFgsC4qIS2wMCywLyuwLyotsDEsICBHICCwDkNjuAQAYiCwAFBYsEBgWWawAWNgI2E4IyCKVVggRyAgsA5DY7gEAGIgsABQWLBAYFlmsAFjYCNhOBshWS2wMiwAsQACRVRYsQ4GRUKwARawMSqxBQEVRVgwWRsiWS2wMywAsA8rsQACRVRYsQ4GRUKwARawMSqxBQEVRVgwWRsiWS2wNCwgNbABYC2wNSwAsQ4GRUKwAUVjuAQAYiCwAFBYsEBgWWawAWOwASuwDkNjuAQAYiCwAFBYsEBgWWawAWOwASuwABa0AAAAAABEPiM4sTQBFSohLbA2LCA8IEcgsA5DY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2E4LbA3LC4XPC2wOCwgPCBHILAOQ2O4BABiILAAUFiwQGBZZrABY2CwAENhsAFDYzgtsDkssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrI4AQEVFCotsDossAAWsBcjQrAEJbAEJUcjRyNhsQwAQrALQytlii4jICA8ijgtsDsssAAWsBcjQrAEJbAEJSAuRyNHI2EgsAYjQrEMAEKwC0MrILBgUFggsEBRWLMEIAUgG7MEJgUaWUJCIyCwCkMgiiNHI0cjYSNGYLAGQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsARDYGQjsAVDYWRQWLAEQ2EbsAVDYFmwAyWwAmIgsABQWLBAYFlmsAFjYSMgILAEJiNGYTgbI7AKQ0awAiWwCkNHI0cjYWAgsAZDsAJiILAAUFiwQGBZZrABY2AjILABKyOwBkNgsAErsAUlYbAFJbACYiCwAFBYsEBgWWawAWOwBCZhILAEJWBkI7ADJWBkUFghGyMhWSMgILAEJiNGYThZLbA8LLAAFrAXI0IgICCwBSYgLkcjRyNhIzw4LbA9LLAAFrAXI0IgsAojQiAgIEYjR7ABKyNhOC2wPiywABawFyNCsAMlsAIlRyNHI2GwAFRYLiA8IyEbsAIlsAIlRyNHI2EgsAUlsAQlRyNHI2GwBiWwBSVJsAIlYbkIAAgAY2MjIFhiGyFZY7gEAGIgsABQWLBAYFlmsAFjYCMuIyAgPIo4IyFZLbA/LLAAFrAXI0IgsApDIC5HI0cjYSBgsCBgZrACYiCwAFBYsEBgWWawAWMjICA8ijgtsEAsIyAuRrACJUawF0NYUBtSWVggPFkusTABFCstsEEsIyAuRrACJUawF0NYUhtQWVggPFkusTABFCstsEIsIyAuRrACJUawF0NYUBtSWVggPFkjIC5GsAIlRrAXQ1hSG1BZWCA8WS6xMAEUKy2wQyywOisjIC5GsAIlRrAXQ1hQG1JZWCA8WS6xMAEUKy2wRCywOyuKICA8sAYjQoo4IyAuRrACJUawF0NYUBtSWVggPFkusTABFCuwBkMusDArLbBFLLAAFrAEJbAEJiAgIEYjR2GwDCNCLkcjRyNhsAtDKyMgPCAuIzixMAEUKy2wRiyxCgQlQrAAFrAEJbAEJSAuRyNHI2EgsAYjQrEMAEKwC0MrILBgUFggsEBRWLMEIAUgG7MEJgUaWUJCIyBHsAZDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwBENgZCOwBUNhZFBYsARDYRuwBUNgWbADJbACYiCwAFBYsEBgWWawAWNhsAIlRmE4IyA8IzgbISAgRiNHsAErI2E4IVmxMAEUKy2wRyyxADorLrEwARQrLbBILLEAOyshIyAgPLAGI0IjOLEwARQrsAZDLrAwKy2wSSywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSiywABUgR7AAI0KyAAEBFRQTLrA2Ki2wSyyxAAEUE7A3Ki2wTCywOSotsE0ssAAWRSMgLiBGiiNhOLEwARQrLbBOLLAKI0KwTSstsE8ssgAARistsFAssgABRistsFEssgEARistsFIssgEBRistsFMssgAARystsFQssgABRystsFUssgEARystsFYssgEBRystsFcsswAAAEMrLbBYLLMAAQBDKy2wWSyzAQAAQystsFosswEBAEMrLbBbLLMAAAFDKy2wXCyzAAEBQystsF0sswEAAUMrLbBeLLMBAQFDKy2wXyyyAABFKy2wYCyyAAFFKy2wYSyyAQBFKy2wYiyyAQFFKy2wYyyyAABIKy2wZCyyAAFIKy2wZSyyAQBIKy2wZiyyAQFIKy2wZyyzAAAARCstsGgsswABAEQrLbBpLLMBAABEKy2waiyzAQEARCstsGssswAAAUQrLbBsLLMAAQFEKy2wbSyzAQABRCstsG4sswEBAUQrLbBvLLEAPCsusTABFCstsHAssQA8K7BAKy2wcSyxADwrsEErLbByLLAAFrEAPCuwQistsHMssQE8K7BAKy2wdCyxATwrsEErLbB1LLAAFrEBPCuwQistsHYssQA9Ky6xMAEUKy2wdyyxAD0rsEArLbB4LLEAPSuwQSstsHkssQA9K7BCKy2weiyxAT0rsEArLbB7LLEBPSuwQSstsHwssQE9K7BCKy2wfSyxAD4rLrEwARQrLbB+LLEAPiuwQCstsH8ssQA+K7BBKy2wgCyxAD4rsEIrLbCBLLEBPiuwQCstsIIssQE+K7BBKy2wgyyxAT4rsEIrLbCELLEAPysusTABFCstsIUssQA/K7BAKy2whiyxAD8rsEErLbCHLLEAPyuwQistsIgssQE/K7BAKy2wiSyxAT8rsEErLbCKLLEBPyuwQistsIsssgsAA0VQWLAGG7IEAgNFWCMhGyFZWUIrsAhlsAMkUHixBQEVRVgwWS0AS7gAyFJYsQEBjlmwAbkIAAgAY3CxAAdCsygAAgAqsQAHQrUbCA8EAgoqsQAHQrUlBhUCAgoqsQAJQrsHAAQAAAIACyqxAAtCuwBAAEAAAgALKrkAAwAARLEkAYhRWLBAiFi5AAMAZESxKAGIUVi4CACIWLkAAwAARFkbsScBiFFYugiAAAEEQIhjVFi5AAMAAERZWVlZWbUdCBEEAg4quAH/hbAEjbECAESzBWQGAEREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYABgAGAAYAmMAAQIVAAACbv/2AhUAAABUAFQATABMAmMAAQJjAa8AAf8jAhUAAAJk//UCZAG4//r/HAIVAAAAAAAAAAkAcgADAAEECQAAAKIAAAADAAEECQABACAAogADAAEECQACAA4AwgADAAEECQADAFAA0AADAAEECQAEADABIAADAAEECQAFAEIBUAADAAEECQAGADABIAADAAEECQANAnABkgADAAEECQAOADQEAgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAAIABEAGUAcwBpAGcAbgAgAFMAYwBpAGUAbgBjAGUALAAgAEkAbgBjAC4ACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQBLAGEAVABlAFgAXwBUAHkAcABlAHcAcgBpAHQAZQByAFIAZQBnAHUAbABhAHIARgBvAG4AdABGAG8AcgBnAGUAIAAyAC4AMAAgADoAIABLAGEAVABlAFgAXwBUAHkAcABlAHcAcgBpAHQAZQByAC0AUgBlAGcAdQBsAGEAcgBLAGEAVABlAFgAXwBUAHkAcABlAHcAcgBpAHQAZQByAC0AUgBlAGcAdQBsAGEAcgBWAGUAcgBzAGkAbwBuACAAMQAuADEAOwAgAHQAdABmAGEAdQB0AG8AaABpAG4AdAAgACgAdgAxAC4AOAAuADMAKQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADAAOQAtADIAMAAxADAALAAgAEQAZQBzAGkAZwBuACAAUwBjAGkAZQBuAGMAZQAsACAASQBuAGMALgAgACgAPAB3AHcAdwAuAG0AYQB0AGgAagBhAHgALgBvAHIAZwA+ACkACgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEANAAtADIAMAAxADgAIABLAGgAYQBuACAAQQBjAGEAZABlAG0AeQAgACgAPAB3AHcAdwAuAGsAaABhAG4AYQBjAGEAZABlAG0AeQAuAG8AcgBnAD4AKQAsAAoAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACAASwBhAFQAZQBYAF8AVAB5AHAAZQB3AHIAaQB0AGUAcgAuAAoACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAUwBJAEwAIABPAHAAZQBuACAARgBvAG4AdAAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAxAC4AMQAuAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAKAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAAgAAAAAAAP+DADIAAAAAAAAAAAAAAAAAAAAAAAAAAACCAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAQMAjgCDAN4A1wEEANgA4QEFAQYBBwDbANwA3QDZAN8BCAEJAQoBCwEMAQ0BDgEPARABEQESALYAtwETARQHdW5pMDA3Rgd1bmkwMEEwB3VuaTAyMzcHdW5pMDJDOQd1bmkwMkNBB3VuaTAyQ0IFR2FtbWEHdW5pMDM5NAVUaGV0YQZMYW1iZGECWGkCUGkFU2lnbWEHVXBzaWxvbgNQaGkDUHNpB3VuaTAzQTkGbWludXRlB3VuaTI0MjMAAQAB//8ADw==) format("truetype")}.katex{font: 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;position:relative;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.18.2"}.katex .katex-mathml{border:0;-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .katex-vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .katex-thinbox{display:inline-flex;flex-direction:row;max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{display:inline;line-height:0}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .katex-hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.katex-root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .katex-stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}</style>
</head>
<body>
<!--
Android-parity shell: toolbar is a non-scrolling flex child at the top.
Only #editor scrolls. Sticky/fixed toolbars break under WKWebView keyboard
(they jump to the bottom-right of the visual viewport).
-->
<div id="shell">
<div id="toolbar" role="toolbar" aria-label="格式"></div>
<div id="editor"></div>
</div>
</body>
</html>